(57)【特許請求の範囲】
【請求項１】
ぼけ関数が非点対称に表された対象画像と、ぼけ関数が点対称に表された基準画像とを取得するセンサ制御部と、
ぼけを付加した前記対象画像と、前記基準画像との相関に応じて、画像に写る被写体までの距離を算出する距離算出部と
を有する画像処理装置。
【請求項２】
前記距離算出部は、前記対象画像に異なるぼけを付加する複数のぼけ補正カーネルのうち、異なるぼけを付加した前記対象画像と、前記基準画像との相関がより高くなる前記ぼけ補正カーネルを求めることで、前記被写体までの距離を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記ぼけ補正カーネルは、前記対象画像のぼけを前記基準画像のぼけに補正するための畳み込み関数であって、
前記距離算出部は、前記対象画像のぼけ関数と、前記基準画像のぼけ関数とから、任意の距離の前記被写体のぼけを補正する複数のぼけ補正カーネルを求める
請求項２に記載の画像処理装置。
【請求項４】
前記距離算出部は、前記対象画像にぼけを付加した補正画像と、センサ画像にぼけを付加することでぼけを補正した前記基準画像である第２の基準画像との相関に応じて、前記被写体までの距離を算出する
請求項１に記載の画像処理装置。
【請求項５】
前記距離算出部は、
一方向の位置、前記一方向と異なる他方向の位置、および、前記対象画像にぼけを付加した補正画像と前記基準画像との差に基づくコスト、の３次元の情報をそれぞれ含み、前記３次元のうち少なくとも１次元方向の解像度を上位階層になるほど小さくした階層数ｎ（ｎは２以上の整数）のコストボリュームを生成する生成部と、
ｋ階層（ｋは１≦ｋ≦ｎ−１を満たす整数）のコストボリュームを、（ｋ＋１）階層のコストボリュームから求められる第１の距離と前記ｋ階層のコストボリュームから求められる第２の距離との差に基づく正則化項を含む修正コストボリュームに修正する正則化部と、を備え、
前記修正コストボリュームに基づき、前記被写体までの距離を算出する
請求項１に記載の画像処理装置。
【請求項６】
前記正則化部は、ｋ階層（ｋは１≦ｋ≦ｎ−１を満たす整数）のコストボリュームを、前記第１の距離と前記ｋ階層より上位の１以上の階層のコストボリュームから求められる１以上の第３の距離との差に基づく正則化項をさらに含む修正コストボリュームに修正する、
請求項５に記載の画像処理装置。
【請求項７】
前記生成部は、前記一方向の位置および前記他方向の位置の少なくとも一方の次元の解像度を段階的に小さくした階層数ｎのコストボリュームを生成し、
前記距離算出部は、取得された画像から、前記コストボリュームと同じ次元の解像度を段階的に小さくした階層数ｎの画像群を生成し、前記修正コストボリュームに対して、前記画像群のうち対応する階層の画像をガイドとしたフィルタリング処理を適用することにより、ｋ階層での前記被写体までの距離を算出する、
請求項５に記載の画像処理装置。
【請求項８】
請求項１〜７の何れか一つに記載の画像処理装置と、
少なくとも一種類以上のセンサ画像のぼけ関数を非点対称に変更するフィルタ領域を通過した光を受光し、前記フィルタ領域によりぼけ関数が非点対称に変更されたセンサ画像である前記対象画像と、該対象画像とは異なるセンサ画像である前記基準画像とを生成するイメージセンサと
を有する撮影装置。
【請求項９】
前記対象画像のぼけ関数は、開口部の光学中心を点対称の中心として非点対称に変更される
請求項８に記載の撮影装置。
【請求項１０】
前記イメージセンサは、赤色の光を受光するセンサと、緑色の光を受光するセンサと、青色の光を受光するセンサとのうち、二以上のセンサを含み、二以上のセンサに含まれる第１のセンサが前記対象画像を生成し、二以上のセンサに含まれる前記第１のセンサ以外の第２のセンサが前記基準画像を生成する
請求項８に記載の撮影装置。
【請求項１１】
前記フィルタ領域は、任意波長帯域の透過率を変更するフィルタである原色フィルタ、補色フィルタ、色補正フィルタ、赤外線カットフィルタ、紫外線カットフィルタ、ＮＤフィルタ、又は、遮蔽板である
請求項８〜１０の何れか一つに記載の撮影装置。
【請求項１２】
前記フィルタ領域は、任意方向の偏光した光を通過する偏光板、または、任意波長帯域の集光パワーを変更するマイクロレンズである
請求項８〜１０の何れか一つに記載の撮影装置。
【請求項１３】
前記距離算出部は、前記センサ画像の各画素で算出された距離を表す距離画像を生成し、ぼけを付加した前記対象画像と前記基準画像とから、該対象画像のぼけ形状を補正した補正画像を生成し、
前記距離画像の距離情報に基づいて、前記補正画像のぼけを除去、又は、ぼけを付加した出力画像を生成する画像生成部をさらに有する
請求項８〜１２の何れか一つに記載の撮影装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置及び撮影装置に関する。
【背景技術】
【０００２】
従来、撮像光学系のレンズや開口部、イメージセンサの画素を分割することで、レンズの異なる領域を通過した光を撮像した複数視点画像を生成する技術がある。この技術では、複数視点画像間で同一の被写体が写る画素を探索することで、複数視点画像間の位相差量を算出し、位相差量から該当画素に写る被写体までの距離を求めている。複数視点画像は、ぼけの形状（ぼけ関数）が各々異なっている。このため、上記の技術では、算出した位相差量をもとに、画像のぼけを円形等の自然なぼけに補正している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０２６０５１号公報
【特許文献２】特開２０１４−０９６０６２号公報
【非特許文献】
【０００４】
【非特許文献１】Furuta,  R.  ,  Ikehata,  S.  ,  et  al.,  “Coarse-to-fine  strategy  for  efficient  cost-volume  filtering”  2014  IEEE  International  Conference  on  Image  Processing  （ICIP）,  2014  IEEE  Computer  Society  Conference  on,  pp.  3793-3797,  2015.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術は、高精度な距離測定が困難であるという問題がある。具体的には、従来技術は、位相差量を算出するための一致度計算において、使用される複数視点画像のぼけ関数が各々異なっているため、高精度な距離測定が困難である。
【０００６】
本発明が解決しようとする課題は、高精度な距離測定が可能な画像処理装置及び撮影装置を提供することである。
【課題を解決するための手段】
【０００７】
実施形態の画像処理装置は、センサ制御部と、距離算出部とを有する。センサ制御部は、ぼけ関数が非点対称に表された対象画像と、ぼけ関数が点対称に表された基準画像とを、イメージセンサから取得する。距離算出部は、異なるぼけを付加した対象画像と、基準画像との相関に応じて、画像に写る被写体までの距離を算出する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る撮影装置のハードウェア構成を示すブロック図。
【図２】第１の実施形態に係る撮影装置の機能構成を示すブロック図。
【図３】第１の実施形態に係る画像処理の流れを示すフローチャート。
【図４】第１の実施形態に係るフィルタ領域の構成を示す図。
【図５】第１の実施形態に係る第１のフィルタ領域の透過率特性を示す図。
【図６】第１の実施形態に係る被写体までの距離とぼけ関数の形状との関係を説明する図。
【図７】第１の実施形態に係る基準画像のぼけ関数を示す図。
【図８】第１の実施形態に係る対象画像のぼけ関数を示す図。
【図９】第１の実施形態に係るぼけ補正カーネルを示す図。
【図１０】第２の実施形態に係る撮影装置の機能構成を示すブロック図。
【図１１】第２の実施形態に係る画像処理の流れを示すフローチャート。
【図１２】第２の実施形態に係るフィルタ領域の構成を示す図。
【図１３】第２の実施形態に係るフィルタ領域の透過率特性を示す図。
【図１４】第３の実施形態に係る撮影装置の機能構成を示すブロック図。
【図１５】第３の実施形態に係る画像処理の流れを示すフローチャート。
【図１６】第４の実施形態に係る撮影装置の機能構成を示すブロック図。
【図１７】第４の実施形態に係る画像処理の流れを示すフローチャート。
【図１８】第４の実施形態による処理結果の一例を示す図。
【図１９】第４の実施形態による処理結果の一例を示す図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る撮影装置のハードウェア構成例を示すブロック図である。図１に示すように、撮影装置１００は、フィルタ１０と、レンズ２０と、イメージセンサ３０と、ＣＰＵ（Central  Processing  Unit）４０と、メモリ５０と、メモリカードスロット６０と、ディスプレイ７０と、通信Ｉ／Ｆ８０とを有する。イメージセンサ３０、ＣＰＵ４０、メモリ５０、メモリカードスロット６０、ディスプレイ７０及び通信Ｉ／Ｆ８０は、バスにより接続される。撮影装置１００は、任意の被写体が写る画像を撮影して、被写体までの奥行き情報を示す距離画像を生成する。
【００１０】
図１に示す例において、フィルタ１０に向かう矢印は、光の入射を表す。フィルタ１０は、撮影装置１００の光学系の何れかに設置されれば良い。例えば、撮影装置１００の光学系とは、レンズ２０やイメージセンサ３０等を指す。すなわち、フィルタ１０は、レンズ２０の内部や開口部、レンズ２０とイメージセンサ３０との間に設置されても良い。フィルタ１０は、撮影によって被写体で反射した光を入射し、入射した光を透過する。これにより、イメージセンサ３０で撮影される複数種類のセンサ画像のうち、少なくとも一種類以上のセンサ画像のぼけ関数（ＰＳＦ：Point  Spread  Function）が非点対称に変更されたものになる。以下では、レンズ２０の開口部にフィルタ１０を備える場合を例に挙げて説明する。
【００１１】
レンズ２０は、入射した光の集光の際に、開口部に備えるフィルタ１０の色に応じて、特定の波長帯の光を透過する。フィルタ１０及びレンズ２０を通過した光は、イメージセンサ３０に到達する。イメージセンサ３０は、レンズ２０、及び、レンズ２０の開口部に設置されたフィルタ１０を通過した光を受光する。例えば、イメージセンサ３０は、二以上のセンサを有し、フィルタ１０を光が通過することにより、ぼけ関数が非点対称に変更された対象画像と、少なくとも一種類以上のセンサ画像である基準画像とを生成する。二以上のセンサとは、例えばＲＧＢセンサのうち、ＲとＧ、ＧとＢ、ＲとＢ、ＲとＧとＢ等の二以上の組み合わせを指す。例えば、二以上のセンサのうち、いずれかのセンサ（第１のセンサ）が対象画像を生成し、他のセンサ（第２のセンサ）が基準画像を生成する。
【００１２】
例えば、イメージセンサ３０は、ＣＣＤ（Charge  Coupled  Device）イメージセンサや、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサ等である。一つの様態として、イメージセンサ３０は、赤色の光を受光するセンサ（Ｒセンサ）と、緑色の光を受光するセンサ（Ｇセンサ）と、青色の光を受光するセンサ（Ｂセンサ）とを有し、それぞれのセンサで対応する波長帯の光を受光して、撮影画像（Ｒ画像、Ｇ画像、Ｂ画像）を生成する。
【００１３】
ＣＰＵ４０は、撮影装置１００の動作を統括的に制御する。具体的には、ＣＰＵ４０は、メモリ５０等に記憶されたプログラムを実行し、撮影装置１００全体の動作を制御する。メモリ５０は、ＨＤＤ（Hard  Disk  Drive）やＮＡＮＤ型フラッシュメモリ等の書き換え可能な不揮発性の記憶デバイスである。例えば、メモリ５０は、撮影装置１００の制御に関するプログラムや処理に使用される各種データ等を記憶する。メモリカードスロット６０には、ＳＤメモリカードやＳＤＨＣメモリカード等の可搬記憶媒体が挿入可能である。ディスプレイ７０は、液晶ディスプレイやタッチパネル等である。通信Ｉ／Ｆ８０は、外部機器との通信や、ユーザによる各種指示の入力を制御するインタフェースである。
【００１４】
図２は、第１の実施形態に係る撮影装置１００の機能構成例を示すブロック図である。図２に示すように、撮影装置１００は、センサ制御部１１０と、距離算出部１２０とを有する。なお、センサ制御部１１０や距離算出部１２０は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００１５】
センサ制御部１１０は、イメージセンサ３０を制御し、ぼけ関数が非点対称に変更された対象画像と、少なくとも一種類以上のセンサ画像である基準画像とを取得する。距離算出部１２０は、複数のぼけ補正カーネルのうち、ぼけを付加した対象画像である補正画像と、基準画像との相関がより高くなるぼけ補正カーネルを求めることで、画像に写る被写体までの距離を算出し、距離画像を出力する。複数のぼけ補正カーネルは、対象画像に対して、相互に異なるぼけを付加する関数である。以下、フローチャートを用いて、第１の実施形態に係る処理の詳細について説明する。
【００１６】
図３は、第１の実施形態に係る画像処理の流れの例を示すフローチャートである。なお、以下では、イメージセンサ３０がＲＧＢセンサを有する場合を例に挙げて説明するが、イメージセンサ３０の波長帯はこれらに限られるものではない。
【００１７】
まず、撮影によって被写体で反射した光がフィルタ１０を通過することで、イメージセンサ３０で観測されるセンサ画像のうち、少なくとも一種類以上のセンサ画像のぼけ関数が非点対称に変更される。フィルタ１０のフィルタ領域は、イメージセンサ３０で受光される光のうち、任意種類の光を減衰させることや、光線の集光の分布に偏りを生じさせることで、センサ画像のぼけ関数を変更することができる。
【００１８】
図４は、第１の実施形態に係るフィルタ領域の構成例を示す図である。図４に示すように、フィルタ１０のフィルタ領域のうち第１のフィルタ領域は、光学中心であるフィルタ領域の中心点（重心位置の点）を対称点とするときに、点対称形にならないように構成される。図４に示した例では、フィルタ領域のうち、黄色フィルタ（Ｙフィルタ）を第１のフィルタ領域とし、第１のフィルタ領域ではないフィルタ領域を第２のフィルタ領域としている。すなわち、第１のフィルタ領域である黄色フィルタ（Ｙフィルタ）は、光学中心を対称点とするときに、点対称形にならない。
【００１９】
図５は、第１の実施形態に係る第１のフィルタ領域（Ｙフィルタ）の透過率特性の例を示す図である。図５に示すように、第１のフィルタ領域（Ｙフィルタ）は、赤色の光と緑色の光を透過し、青色の光を減衰させる。なお、第１のフィルタ領域は、任意波長帯域の透過率を変更するフィルタや、任意方向の偏光光を通過させる偏光フィルタ（偏光板）、任意波長帯域の集光パワーを変更させるマイクロレンズであっても良い。例えば、任意波長帯域の透過率を変更するフィルタは、原色フィルタ（ＲＧＢ）、補色フィルタ（ＣＭＹ）、色補正フィルタ（ＣＣ−ＲＧＢ／ＣＭＹ）、赤外線・紫外線カットフィルタ、ＮＤフィルタ、遮蔽板であっても良い。第１のフィルタ領域がマイクロレンズである場合は、レンズ２０により光線の集光の分布に偏りが生じることでぼけ関数が変化する。
【００２０】
なお、フィルタ１０には、点対称形にならなければ、任意の領域数のフィルタ領域が存在していても良い。また、フィルタ１０は、複数のセンサ画像のぼけ関数を変更する一つのフィルタ領域により構成されても良い。
【００２１】
また、第１のフィルタ領域は、フィルタ１０を任意の直線で分割した形状であることが好ましく、光学中心を通過する直線であることが好ましい。フィルタ１０を任意の直線で分割した形状であれば、後述するぼけ補正フィルタの次元を削減することができる。また、光学中心を通過する直線であれば、光量調整のための遮蔽物等の絞り機構が挿入された場合であっても、センサ画像のぼけ関数を変更可能な構造とすることができる。
【００２２】
イメージセンサ３０は、フィルタ１０のフィルタ領域を透過した光のうち、何れのフィルタ領域でも減衰せずに通過した光を受光し、基準画像を生成する。これにより、センサ制御部１１０は、イメージセンサ３０によって生成された基準画像を取得する（ステップＳ１０１）。何れのフィルタ領域とは、図４に示した例において、第１のフィルタ領域と第２のフィルタ領域とを指す。基準画像のぼけ関数は、フィルタ領域の通過前後で変化が少ない。図４に示したフィルタ領域の場合は、第１のフィルタ領域である黄色フィルタ（Ｙフィルタ）を減衰せずに通過した赤色の光と緑色の光がイメージセンサ３０で受光されるため、Ｒ画像とＧ画像とが基準画像となる。Ｒ画像とＧ画像とは、円形のぼけ関数を有しており、ぼけ形状は円形状となる。
【００２３】
また、イメージセンサ３０は、フィルタ１０のフィルタ領域を透過した光のうち、第１のフィルタ領域の通過でぼけ関数が変更される光を受光し、対象画像を生成する。これにより、センサ制御部１１０は、イメージセンサ３０によって生成された対象画像を取得する（ステップＳ１０２）。対象画像のぼけ関数は、第１のフィルタ領域により非点対称形に変化している。図４に示したフィルタ領域の場合は、第１のフィルタ領域である黄色フィルタ（Ｙフィルタ）により減衰して通過した青色の光がイメージセンサ３０で受光されるため、Ｂ画像が対象画像となる。すなわち、フィルタ１０のフィルタ領域を通過する青色の光のうち、第１のフィルタ領域を通過した青色の光は吸収され、第２のフィルタ領域を通過した青色の光は吸収されることなく通過する。このため、図４に示したフィルタ１０の場合、対象画像のぼけ関数は、フィルタ領域の通過前後で円形状から半円形状に変更され、半円形状のぼけ形状となる。
【００２４】
図６は、第１の実施形態に係る被写体までの距離とぼけ関数の形状との関係を説明する図である。図６に示すように、画像に写る被写体の位置がピント位置より遠い「ｄ＞０」である場合は、対象画像は基準画像と比較して右側に偏ったぼけが撮像される。また、画像に写る被写体の位置がピント位置よりも近い「ｄ＜０」である場合は、対象画像は基準画像と比較して左側に偏ったぼけが撮像される。また、画像に写る被写体の位置がピント位置にある「ｄ＝０」である場合は、対象画像と基準画像とは、ともにぼけのない画像が撮像される。本実施形態では、このような特性を利用して、撮影シーンの距離を算出する。
【００２５】
また、距離算出部１２０は、センサ制御部１１０によって取得された対象画像と基準画像とをもとに、対象画像に異なるぼけを付加することで、対象画像のぼけ形状を補正した補正画像を生成する（ステップＳ１０３）。上述したように、画像に写る被写体までの距離ｄに応じて、対象画像と基準画像とのぼけ形状が変化する。本実施形態では、画像に写る被写体までの距離が任意の距離ｄであると仮定し、作成した複数のぼけ補正カーネルを用いて、対象画像のぼけ形状を補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離ｄを求めることで、被写体までの距離を算出する。なお、補正画像と基準画像との相関を計算する手法については後述する。
【００２６】
ここで、撮影画像Ｉｘに写る被写体からカメラのピント位置までの距離をｄとすると、撮影画像Ｉｘは、ぼけの少ない理想的な撮影画像Ｉｙと、撮影画像のぼけ関数ｆ（ｄ）を用いて、（数１）で表すことができる。
【００２７】
【数１】
0006608763.tif 000002
【００２８】
撮影画像のぼけ関数ｆ（ｄ）は、撮影装置１００の開口形状と距離ｄとによって決定する。距離ｄについては、上述したように、ピント位置を基準として、被写体がピント位置よりも遠い場合は「ｄ＞０」、被写体がピント位置よりも近い場合は「ｄ＜０」として表す。図７は、第１の実施形態に係る基準画像のぼけ関数の例を示す図である。図７に示すように、図４に示したフィルタ領域の場合は、開口形状が点対称形である円形状であるため、ぼけ関数ｆ（ｄ）の形状はピント位置の前後で変化はなく、ぼけ関数ｆ（ｄ）は距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するガウス関数として表現できる。なお、ぼけ関数ｆ（ｄ）は、距離ｄの大きさ｜ｄ｜によってぼけの幅が変化するピルボックス関数として表現しても良い。
【００２９】
基準画像Ｉｘｒは、（数１）と同様に、開口形状とフィルタ領域との特性から決定するぼけ関数ｆｒ（ｄ）を用いて、（数２）で表すことができる。
【００３０】
【数２】
0006608763.tif 000003
【００３１】
また、対象画像Ｉｘｏは、（数１）と同様に、開口形状とフィルタ領域との特性から決定するぼけ関数ｆｏ（ｄ）を用いて、（数３）で表すことができる。
【００３２】
【数３】
0006608763.tif 000004
【００３３】
図４に示したフィルタ領域の場合、基準画像は、第１のフィルタ領域の影響を受けないため、ｆｒ（ｄ）＝ｆ（ｄ）となる。また、ｆｏ（ｄ）は、第１のフィルタ領域での光減衰の影響により、ピント位置であるｄ＝０の前後で異なる形状に変化する。図８は、第１の実施形態に係る対象画像のぼけ関数の例を示す図である。図８に示すように、対象画像のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも遠方にあるｄ＞０の場合に、ｘ＞０で第１のフィルタ領域での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。また、対象画像のぼけ関数ｆｏ（ｄ）は、被写体がピント位置よりも近方にあるｄ＜０の場合に、ｘ＜０で第１のフィルタ領域での光減衰に応じて、減衰したぼけの幅｜ｄ｜のガウス関数となる。
【００３４】
ここで、対象画像Ｉｘｏにぼけを付与して、対象画像Ｉｘｏのぼけ形状を基準画像Ｉｘｒのぼけ形状と一致させるためのぼけ関数を、ぼけ補正カーネルｆｃ（ｄ）と定義する。ぼけ補正カーネルｆｃ（ｄ）は、（数４）で表すことができる。
【００３５】
【数４】
0006608763.tif 000005
【００３６】
（数４）のぼけ補正カーネルｆｃ（ｄ）は、（数２）〜（数４）により、基準画像Ｉｘｒのぼけ関数ｆｒ（ｄ）と、対象画像Ｉｘｏのぼけ関数ｆｏ（ｄ）とを用いて、（数５）で表すことができる。
【００３７】
【数５】
0006608763.tif 000006
【００３８】
（数５）のｆｏ−１（ｄ）は、対象画像のぼけ関数ｆｏ（ｄ）の逆フィルタである。これらにより、ぼけ補正カーネルｆｃ（ｄ）は、基準画像Ｉｘｒと対象画像Ｉｘｏとのぼけ関数から解析して算出することが可能である。また、対象画像Ｉｘｏのぼけ形状は、ぼけ補正カーネルｆｃ（ｄ）を用いて、任意の距離ｄを想定した様々なぼけ形状に補正することができる。
【００３９】
図９は、第１の実施形態に係るぼけ補正カーネルの例を示す図である。なお、図９に示すぼけ補正カーネルは、図４に示したフィルタ領域を用いた場合のぼけ補正カーネルである。図９に示すように、フィルタ領域を任意の直線で分割した形状に設定した場合、ぼけ補正カーネルｆｃ（ｄ）は、分割した線分の中心点を通り、該線分に対して垂直方向の直線上（直線付近）に分布する。ここで、対象画像Ｉｘｏのぼけ形状を任意の距離ｄにおけるぼけ補正カーネルｆｃ（ｄ）を用いて補正した補正画像Ｉｘ＾ｏ（ｄ）とすると、補正画像Ｉｘ＾ｏ（ｄ）は、（数６）で表すことができる。なお、「Ｉｘ＾」は、数式中のＩｘハットであるものとする。
【００４０】
【数６】
0006608763.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では、撮影画像の対象画素を中心とする局所境域の色分布の分散から、相関関係を表す指標Ｌが算出される。イメージセンサ３０で撮影された基準画像Ｉｘｒと、距離ｄを仮定した補正画像Ｉｘ＾ｏ（ｄ）とから生成されるＲＧＢ画像の各画素を中心とする局所領域で、指標Ｌ（ｄ）を算出する。図４に示したフィルタ領域である場合は、イメージセンサ３０で撮影されたＲ画像とＧ画像とＢ画像とを、距離ｄのぼけ補正カーネルで補正した補正画像Ｂ＾（ｄ）から生成されるカラー画像の各画素において、指標Ｌ（ｄ）を（数７）により算出する。なお、「Ｂ＾」は、数式中のＢハットであるものとする。
【００４４】
【数７】
0006608763.tif 000008
【００４５】
（数７）において、λ０、λ１、λ２は、画像の色分布の主成分軸に沿った分散（画像の共分散行列の固有値）である。また、（数７）において、σＲ２、σＧ２、σＢ２は、画像の色分布のＲ軸、Ｇ軸、Ｂ軸に沿った分散である。従って、指標Ｌ（ｄ）が小さいほど、カラー画像の一致度が高いことを示している。これにより、ステップＳ１０４では、距離算出部１２０は、指標Ｌ（ｄ）が閾値未満であるか否かを判定し、指標Ｌ（ｄ）が閾値未満であれば対象画素での距離推定を終了する。距離算出部１２０は、指標Ｌ（ｄ）が閾値以上であればステップＳ１０３の処理に戻り、異なる距離ｄでの補正画像を生成する。なお、各画素に写る被写体までの距離の算出は、閾値を使用した条件判定ではなく、仮定する全ての距離ｄでの指標Ｌ（ｄ）を算出し、指標Ｌ（ｄ）が最小となる距離ｄを求めるようにしても良い。また、例えば、距離画像は、各被写体までの距離を求めた結果として、手前に存在する被写体ほど明るく、奥に存在する被写体ほど暗くなるような画像として生成することができる。
【００４６】
上述したように、撮影装置１００の光学系に設置したフィルタ領域に応じて変更された対象画像のぼけ形状を、距離ｄを仮定したぼけ補正カーネルにより補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離ｄを求めることで、画像に写る被写体までの距離を算出する。本実施形態によれば、ぼけ関数とサンプリング位置が一致する画像の相関を用いて距離を算出するので、高精度な距離推定を実現できる。また、本実施形態によれば、空間情報の畳み込み結果であるぼけ情報を利用するため、距離推定の結果が安定的であり、繰り返しパターンや陰面問題を生じさせることなく、高精度な距離推定を実現できる。
【００４７】
（第２の実施形態）
図１０は、第２の実施形態に係る撮影装置２００の機能構成例を示すブロック図である。第２の実施形態では、第１の実施形態に係る撮影装置１００と同様の構成については同一の符号を付し、その詳細な説明を省略する場合がある。具体的には、以下で説明する距離算出部２２０の機能が、第１の実施形態とは異なる。なお、第２の実施形態に係る撮影装置２００のハードウェア構成は、第１の実施形態に係る撮影装置１００のハードウェア構成のうち、フィルタ１０のフィルタ領域の構成が異なる。第２の実施形態に係るフィルタ領域については後述する。
【００４８】
図１０に示すように、撮影装置２００は、センサ制御部１１０と、距離算出部２２０とを有する。なお、センサ制御部１１０や距離算出部２２０は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。第１の実施形態と同様に、撮影装置２００は、任意の被写体が写る画像を撮影して、被写体までの奥行き情報を示す距離画像を生成する。
【００４９】
距離算出部２２０は、複数のぼけ補正カーネルのうち、ぼけを付加した対象画像である補正画像と、第２の基準画像との相関がより高くなるぼけ補正カーネルを求めることで、画像に写る被写体までの距離を算出し、距離画像を出力する。第２の基準画像は、複数のセンサ画像のうち、いずれかのセンサ画像にぼけを付加することでぼけを補正した画像である。以下、フローチャートを用いて、第２の実施形態に係る処理の詳細について説明する。
【００５０】
図１１は、第２の実施形態に係る画像処理の流れの例を示すフローチャートである。なお、以下では、イメージセンサ３０がＲＧＢセンサを有する場合を例に挙げて説明するが、イメージセンサ３０の波長帯はこれらに限られるものではない。
【００５１】
まず、撮影によって被写体で反射した光がフィルタ１０を通過することで、イメージセンサ３０で観測されるセンサ画像のうち、少なくとも一種類以上のセンサ画像のぼけ関数が非点対称に変更される。第２の実施形態に係るフィルタ領域は、イメージセンサ３０で受光される光のうち、任意種類の光を減衰させることや、光線の集光の分布に偏りを生じさせることで、センサ画像のぼけ関数を変更することができる。
【００５２】
図１２は、第２の実施形態に係るフィルタ領域の構成例を示す図である。図１２に示すように、第２の実施形態に係るフィルタ領域のうち第１のフィルタ領域は、光学中心であるフィルタ領域の中心点（重心位置の点）を対称点とするときに、点対称形にならないように構成される。同様に、第２の実施形態に係るフィルタ領域のうち第２のフィルタ領域は、光学中心であるフィルタ領域の中心点を対称点とするときに、点対称形にならないように構成される。また、第１のフィルタ領域と第２のフィルタ領域とは、イメージセンサ３０のＲ、Ｇ、Ｂセンサの何れかの波長帯域において、異なる透過率特性を有している。本実施形態では、第１のフィルタ領域を黄色の色補正フィルタ（ＣＣ−Ｙ）とし、第２のフィルタ領域をシアンの色補正フィルタ（ＣＣ−Ｃ）とする場合を例に挙げる。
【００５３】
図１３は、第２の実施形態に係る第１のフィルタ領域及び第２のフィルタ領域の透過率特性の例を示す図である。図１３に示すように、第１のフィルタ領域（ＣＣ−Ｙ）は、赤色の光と、緑色の光と、青色の光との全ての波長帯域の光を透過する。また、第２のフィルタ領域（ＣＣ−Ｃ）は、赤色の光と、緑色の光と、青色の光との全ての波長帯域の光を透過する。但し、第１のフィルタ領域と第２のフィルタ領域とでは、各波長の透過率が異なる。なお、第１のフィルタ領域と第２のフィルタ領域とは、任意波長帯域の透過率を変更するフィルタや、任意方向の偏光光を通過させる偏光フィルタ、任意波長帯域の集光パワーを変更させるマイクロレンズであっても良い。例えば、任意波長帯域の透過率を変更するフィルタは、原色フィルタ（ＲＧＢ）、補色フィルタ（ＣＭＹ）、色補正フィルタ（ＣＣ−ＲＧＢ／ＣＭＹ）、赤外線・紫外線カットフィルタ、ＮＤフィルタ、遮蔽板であっても良い。第１のフィルタ領域や第２のフィルタ領域がマイクロレンズである場合は、レンズ２０により光線の集光の分布に偏りが生じることでぼけ関数が変化する。
【００５４】
イメージセンサ３０は、フィルタ領域を通過した光のうち、第１のフィルタ領域と第２のフィルタ領域とでぼけ関数が変更される光を受光し、対象画像を生成する。これにより、センサ制御部１１０は、イメージセンサ３０によって生成された対象画像を取得する（ステップＳ２０１）。対象画像のぼけ関数は、フィルタ領域により非点対称に変化している。この結果、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）と、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）とで、対象画像のぼけは、非点対称形のぼけとなり、また、ピント位置の前後で異なる形状のぼけとなる。具体的には、Ｒ、Ｇ、Ｂセンサの各波長帯域で観測される光が、第１のフィルタ領域と第２のフィルタ領域とのどちらをより多く通過してきたかで、対象画像のぼけ形状の偏りが決定する。なお、被写体の位置がピント位置に存在する場合（ｄ＝０）に、対象画像は、ぼけのない画像となる。本実施形態では、対象画像の上記特性を利用して、撮影シーンの距離を算出する。
【００５５】
図１２に示したフィルタ領域の場合は、赤色の光と、緑色の光と、青色の光との全てが減衰し、通過してイメージセンサ３０で受光されるため、Ｒ画像、Ｇ画像、Ｂ画像の全てが対象画像となる。但し、Ｒ画像、Ｇ画像、Ｂ画像の全ての画像を対象画像としなくても良い。フィルタ領域を通過する光のうち、青色の光は、ＣＣ−Ｃフィルタ（第２のフィルタ領域）よりもＣＣ−Ｙフィルタ（第１のフィルタ領域）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、円形状と比較して右側に偏ったぼけが撮影され、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、円形状と比較して左側に偏ったぼけが撮影される。
【００５６】
また、フィルタ領域を通過する光のうち、赤色の光は、ＣＣ−Ｙフィルタ（第１のフィルタ領域）よりもＣＣ−Ｃフィルタ（第２のフィルタ領域）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、円形状と比較して左側に偏ったぼけが撮影され、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、円形状と比較して右側に偏ったぼけが撮影される。
【００５７】
また、フィルタ領域を通過する光のうち、緑色の光は、ＣＣ−Ｃフィルタ（第２のフィルタ領域）よりもＣＣ−Ｙフィルタ（第１のフィルタ領域）でより吸収され、減衰する。このため、被写体の位置がピント位置よりも遠くに存在する場合（ｄ＞０）では、円形状と比較して右側に偏ったぼけが撮影され、被写体の位置がピント位置よりも近くに存在する場合（ｄ＜０）では、円形状と比較して左側に偏ったぼけが撮影される。
【００５８】
また、距離算出部２２０は、センサ制御部１１０によって取得された複数のセンサ画像から選択したいずれかのセンサ画像（対象画像）のぼけを、任意形状のぼけに補正した第２の基準画像を生成する（ステップＳ２０２）。センサ画像（対象画像）のぼけを任意形状のぼけに補正する手法は、上述したステップＳ１０３と同様である。また、ステップＳ１０１で上述したように、センサ画像（対象画像）のぼけ形状は、画像に写る被写体までの距離ｄに応じて変化する。距離算出部２２０は、画像に写る被写体までの距離が任意の距離ｄであると仮定し、作成した第２のぼけ補正カーネルを用いて、センサ画像（対象画像）のぼけ形状を補正した第２の基準画像を生成する。本実施形態では、第２の基準画像のぼけ形状を円形状として説明するが、第２の基準画像のぼけ形状は任意のセンサ画像（対象画像）のぼけ形状でも良いし、これとは異なる他の任意の形状のぼけ形状でも良い。以下、図１２に示したフィルタ領域を例に、センサ画像の全てが対象画像である場合を例に挙げて説明する。すなわち、センサ画像に基準画像が含まれている場合であっても、同様の手法により補正することができる。
【００５９】
任意に選択した対象画像Ｉｘｏのぼけを補正し、第２の基準画像のぼけ形状を補正する第２のぼけ補正カーネルｆ’ｃ（ｄ）は、上述した（数５）における基準画像のぼけ関数ｆｒ（ｄ）を、仮定する第２の基準画像のぼけ関数ｆ’ｃ（ｄ）とすることで、（数８）で表すことができる。
【００６０】
【数８】
0006608763.tif 000009
【００６１】
また、（数８）により求めた第２のぼけ補正カーネルｆ’ｃ（ｄ）を用いて、対象画像Ｉｘｏのぼけを補正した第２の基準画像Ｉｘ＾ｒ（ｄ）は、（数９）で表すことができる。これらにより、被写体までの距離がｄであると仮定した場合の第２の基準画像を生成することができる。
【００６２】
【数９】
0006608763.tif 000010
【００６３】
また、距離算出部２２０は、ステップＳ２０２において選択したセンサ画像以外のセンサ画像（対象画像）のぼけを、第２の基準画像のぼけに補正した補正画像を生成する（ステップＳ２０３）。対象画像のぼけを補正画像のぼけに補正する手法は、上述したステップＳ１０３と同様である。距離算出部２２０は、任意に選択した対象画像Ｉｘｏのぼけを補正し、第２の基準画像のぼけ形状を補正するぼけ補正カーネルｆ’ｃ（ｄ）を、上述した（数８）により求める。そして、距離算出部２２０は、求めたぼけ補正カーネルｆ’ｃ（ｄ）を用いて、ステップＳ２０３で選択した対象画像Ｉｘｏのぼけを補正した補正画像を生成する。ここで、対象画像Ｉｘｏのぼけ形状を第２の基準画像のぼけ形状に補正した補正画像をＩｘ＾’ｏ（ｄ）とすると、補正画像は、（数１０）で表すことができる。これらにより、被写体までの距離がｄであると仮定した場合の補正画像を生成することができる。
【００６４】
【数１０】
0006608763.tif 000011
【００６５】
また、距離算出部２２０は、生成した補正画像Ｉｘ＾’ｏ（ｄ）と、第２の基準画像Ｉｘ＾’ｒ（ｄ）とを比較し、補正画像Ｉｘ＾’ｏ（ｄ）と第２の基準画像Ｉｘ＾’ｒ（ｄ）とのぼけ形状が一致しているか否かを判定する（ステップＳ２０４）。距離算出部２２０は、補正画像Ｉｘ＾’ｏ（ｄ）と第２の基準画像Ｉｘ＾’ｒ（ｄ）とのぼけ形状が一致している場合に（ステップＳ２０４：Ｙｅｓ）、処理を終了する。一方、距離算出部２２０は、補正画像Ｉｘ＾’ｏ（ｄ）と第２の基準画像Ｉｘ＾’ｒ（ｄ）とのぼけ形状が一致していない場合に（ステップＳ２０４：Ｎｏ）、ステップＳ２０２の処理を再度実行する。補正画像Ｉｘ＾’ｏ（ｄ）と第２の基準画像Ｉｘ＾’ｒ（ｄ）とのぼけ形状が最も一致する距離ｄを求める手法については、上述したステップＳ１０４と同様である。例えば、本実施形態では、自然画像の色成分が局所的には線形な関係を持つ特性を有することを利用したColor  Alignment  Measureを利用する。
【００６６】
Color  Alignment  Measureでは、撮影画像の対象画素を中心とする局所境域の色分布の分散から相関関係を表す指標Ｌが算出される。すなわち、距離ｄを仮定した第２の基準画像Ｉｘ＾’ｒ（ｄ）と、補正画像Ｉｘ＾’ｏ（ｄ）とから生成されるＲＧＢ画像の各画素を中心とする局所領域で、指標Ｌ（ｄ）を算出する。図１２に示したフィルタ領域である場合は、イメージセンサ３０で撮影されたＲ画像とＧ画像とＢ画像とのそれぞれを、距離ｄの第２のぼけ補正カーネルで補正した第２の基準画像や、ぼけ補正カーネルで補正した補正画像であるＲ＾（ｄ）、Ｇ＾（ｄ）、Ｂ＾（ｄ）から生成されるカラー画像の各画素において、指標Ｌ（ｄ）を（数１１）により算出する。
【００６７】
【数１１】
0006608763.tif 000012
【００６８】
これらにより、ステップＳ２０４では、距離算出部２２０は、指標Ｌ（ｄ）が閾値未満であるか否かを判定し、指標Ｌ（ｄ）が閾値未満であれば対象画素での距離推定を終了する。距離算出部２２０は、指標Ｌ（ｄ）が閾値以上であればステップＳ２０２の処理に戻り、異なる距離ｄでの第２の基準画像と補正画像とを生成する。なお、各画素に写る被写体までの距離の算出方法は、閾値を使用した条件判定に限られるものではない。距離算出部２２０は、仮定する全ての距離ｄでの指標Ｌ（ｄ）を算出し、指標Ｌ（ｄ）が最小となる距離ｄを求めても良い。
【００６９】
上述したように、本実施形態では、フィルタ領域に応じて変更された対象画像のぼけ形状を、距離ｄを仮定した任意のぼけ形状に補正した第２の基準画像と補正画像とを生成する。そして、生成した第２の基準画像と補正画像との相関がより高くなる距離ｄを求めることで、画像に写る被写体までの距離を算出する。本実施形態によれば、ぼけ関数とサンプリング位置が一致する画像の相関を用いて距離を算出するので、高精度な距離推定を実現できる。また、本実施形態によれば、空間情報の畳み込み結果であるぼけ情報を利用するための距離推定の結果が安定的であり、繰り返しパターンや陰面問題を生じさせることなく、高精度な距離推定を実現できる。
【００７０】
（第３の実施形態）
図１４は、第３の実施形態に係る撮影装置３００の機能構成例を示すブロック図である。第３の実施形態では、第１の実施形態に係る撮影装置１００と同様の構成については同一の符号を付し、その詳細な説明を省略する場合がある。具体的には、以下で説明する距離算出部３２０、画像生成部３３０の機能が、第１の実施形態とは異なる。なお、第３の実施形態に係る撮影装置３００のハードウェア構成は、第１の実施形態に係る撮影装置１００のハードウェア構成と同様である。
【００７１】
図１４に示すように、撮影装置３００は、センサ制御部１１０と、距離算出部３２０と、画像生成部３３０とを有する。なお、センサ制御部１１０、距離算出部３２０、及び、画像生成部３３０は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。撮影装置３００は、任意の被写体が写る画像を撮影して、利用者に表示するための表示画像を生成する。
【００７２】
距離算出部３２０は、画像に写る被写体までの距離を表す距離画像に加えて、基準画像との相関が最も高くなるぼけ補正カーネルを用いて、対象画像にぼけを付加した補正画像と、基準画像とから生成されるぼけ補正画像を、画像生成部３３０に対して出力する。画像生成部３３０は、距離算出部３２０によって出力された距離画像と、センサ画像のぼけ形状が補正された補正画像とを用いて、利用者に表示するための表示画像を生成する。画像生成部３３０によって生成された表示画像は、ディスプレイ７０等に表示出力される。
【００７３】
図１５は、第３の実施形態に係る画像処理の流れの例を示すフローチャートである。なお、ステップＳ３０１〜ステップＳ３０４の処理は、上述したステップＳ１０１〜ステップＳ１０４の処理と同様であるため、これらの詳細な処理の説明を省略する。
【００７４】
図１５に示すように、画像生成部３３０は、距離算出部３２０によって出力された、各画素の奥行き情報を表す距離画像と、センサ画像のぼけ形状が一致した補正画像とから、利用者に表示するための表示画像（出力画像）を生成する（ステップＳ３０５）。表示画像は、距離画像であっても良いし、距離画像を疑似カラー表示した画像であっても良い。また、表示画像は、補正画像やセンサ画像であっても良い。補正画像は、対象画像のぼけを基準画像のぼけに補正した画像である。また、表示画像は、距離画像と補正画像とから、被写体の距離に応じて補正画像の各画素の焦点ぼけを除去した全焦点画像であっても良い。また、表示画像は、補正画像と距離画像とから、被写体の距離に応じて、補正画像の任意の距離の被写体のぼけを除去又は付加した、ぼけ強調画像であっても良い。
【００７５】
（第４の実施形態）
コストボリュームフィルタリングを適用することで、マルコフ確立場に基づく一般的な離散値のラベリング問題において高精度な近似解を高速に解く技術が提案されている。このような技術を適用した距離測定方法では、手がかりのない平坦領域で距離が求まらない場合がある。
【００７６】
第４の実施形態では、コストボリュームフィルタリングを適用して、より高精度に距離を測定可能とする。本実施形態では、階層化したコストボリュームの上位階層で決定したラベル（例えば距離）と下位階層のラベルとの差を下位階層のラベル選択の正則化項とすることで、上位階層で最適化したラベルを空間的な制約として、下位階層のラベルを最適化する。これにより、例えば、被写体の細かい凹凸形状を補償しつつ、平坦領域の距離決定が可能となる。また本実施形態では、各階層で最適化した結果を用いた正則化を実施することで、撮像ノイズなどの外乱に対する頑健性を高めることが可能となる。
【００７７】
以下では、主に第１の実施形態に対してコストボリュームフィルタリングを適用する場合を例に説明する。第２および第３の実施形態に対しても同様の手法を適用できる。
【００７８】
図１６は、第４の実施形態に係る撮影装置４００の機能構成例を示すブロック図である。本実施形態では、第１の実施形態に係る撮影装置１００と同様の構成については同一の符号を付し、その詳細な説明を省略する場合がある。本実施形態では、距離算出部４２０の機能が、第１の実施形態とは異なる。なお、本実施形態に係る撮影装置４００のハードウェア構成は、第１の実施形態に係る撮影装置１００のハードウェア構成と同様である。
【００７９】
図１６に示すように、撮影装置４００は、センサ制御部１１０と、距離算出部４２０とを有する。なお、センサ制御部１１０や距離算出部４２０は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。第１の実施形態と同様に、撮影装置４００は、任意の被写体が写る画像を撮影して、被写体までの奥行き情報を示す距離画像を生成する。
【００８０】
距離算出部４２０は、ＣＶ（コストボリューム）生成部４２１と、正則化部４２２と、を有する。
【００８１】
ＣＶ生成部４２１は、３次元のコストボリュームを生成する。コストボリュームは、画像の一方向（例えば水平方向）および画像の一方向と異なる他方向(例えば垂直方向）に加え、ラベル方向の情報を含む３次元のデータである。コストボリュームは、画像の水平方向の位置、画像の垂直方向の位置、および、対象画像と基準画像との差に基づくコスト、の３次元の情報を含む。コストは、例えば、各画素に写る被写体までの想定される距離（ラベル）ごとに算出される。対象画像と基準画像との差は、例えば信号値の差や、類似度評価法で産出した値の差である。この場合は距離がラベルに相当するが、ラベルは距離に限られるものではない。例えば、距離に応じて変化するぼけの程度を表す情報をラベルとしてもよい。ラベルは、例えば、視差方向であってもよい。
【００８２】
また、ＣＶ生成部４２１は、コストボリュームの少なくとも１次元方向の解像度を低くしたコストボリュームを生成する。例えばＣＶ生成部４２１は、上記の３次元の情報のうち少なくとも１次元方向の解像度を上位階層になるほど小さくした階層数ｎ（ｎは２以上の整数）のコストボリューム（コストボリュームピラミッド）を生成する。階層数ｎは任意であり、２以上であればよい。
【００８３】
以下では、主にコストボリュームの水平方向と垂直方向の解像度を低下させる場合を例に説明するが、これ以外の任意の１以上の方向の解像度を低下させてもよい。例えば、水平方向と垂直方向に加えて、ラベル方向の解像度を低下させてもよい。このような構成によれば処理を高速化することができる。
【００８４】
正則化部４２２は、ｋ階層（ｋは１≦ｋ≦ｎ−１を満たす整数）のコストボリュームを、正則化項を含むコストボリューム（修正コストボリューム）に修正する。正則化項は、（ｋ＋１）階層のコストボリュームから求められる距離（第１の距離）と、ｋ階層のコストボリュームから求められる距離（第２の距離）との差に基づく項として求められる。例えば正則化部４２２は、解像度の低いコストボリューム（（ｋ＋１）階層のコストボリューム）から各画素に写る被写体までの距離を決定し、解像度の低いコストボリュームから求めた距離と解像度の高いコストボリューム（ｋ階層のコストボリューム）から求められる距離の差を正則化項として解像度の高いコストボリューム（ｋ階層のコストボリューム）に加えたコストボリュームＣ’（修正コストボリューム）を計算する。
【００８５】
距離算出部４２０は、正則化部４２２により算出されたコストボリュームＣ’から距離画像を算出する。
【００８６】
次に、本実施形態の撮像装置４００の動作の詳細について説明する。図１７は、第４の実施形態に係る画像処理の流れの例を示すフローチャートである。
【００８７】
センサ制御部１１０は、イメージセンサ３０によって生成された基準画像を取得する（ステップＳ４０１）。また、センサ制御部１１０は、イメージセンサ３０によって生成された対象画像を取得する（ステップＳ４０２）。距離算出部４２０は、想定距離に応じて異なるぼけを対象画像に付加することで、対象画像のぼけ形状を補正した複数の補正画像を生成する（ステップＳ４０３）。
【００８８】
ＣＶ生成部４２１は、基準画像と補正画像とからコストボリュームを生成する（ステップＳ４０４）。例えばＣＶ生成部４２１は、異なるぼけを付加して生成した補正画像と、基準画像との差をマッチングコスト（コスト）として計算する。ＣＶ生成部４２１は、例えば上述のステップＳ１０４と同様に、各画素を中心とする任意サイズの矩形領域における補正画像と基準画像との一致度を、当該画素のコストとして求める。各画素について、距離に応じて生成された複数の補正画像に対応する複数のコストが算出される。ＣＶ生成部４２１は、算出した複数のコストからコストボリュームを計算する。例えばＣＶ生成部４２１は、画素の水平方向の位置、画素の垂直方向の位置、および、画素に対して求められたコスト、を含む３次元のコストボリュームを生成する。
【００８９】
ＣＶ生成部４２１は、さらに、コストボリュームを基にコストボリュームピラミッドを生成する（ステップＳ４０５）。ＣＶ生成部４２１は、３次元のコストボリュームの少なくとも１次元方向の解像度を段階的に低くしたコストボリュームを生成することにより、コストボリュームピラミッドを生成する。
【００９０】
例えばＣＶ生成部４２１は、コストボリュームの水平方向と垂直方向の解像度を低下させる。ＣＶ生成部４２１は、コストボリュームの各スライスを、既存の縮小方法（面積平均法、キュービックコンボリューション法、再近傍法、および、バイリニア法など）で縮小する。ＣＶ生成部４２１は、水平方向と垂直方向の解像度を低下させたコストボリュームスライス群を含む、低解像度のコストボリュームを生成する。コストボリュームピラミッドは、このようにして任意の階層数ｎまで段階的に縮小したコストボリュームを含む。
【００９１】
正則化部４２２は、最上位の階層（最も解像度の低い階層）から下位の階層に向けて以下の処理を実行し、被写体までの距離を算出する。まず正則化部４２２は、現在の処理階層（ｋ階層）が最上位階層であるか否かを判定する（ステップＳ４０６）。ｋ階層が最上位階層である場合（ステップＳ４０６：Ｙｅｓ）、正則化部４２２は、ｋ階層のコストボリュームＣｋをＣ’ｋとしてステップＳ４０８に進む。このように、最上位階層の場合は、上位の階層で求められた距離との差を求められないため、コストボリュームを正則化する処理を実行しない。
【００９２】
ｋ階層が最上位階層でない場合（ステップＳ４０６：Ｎｏ）、正則化部４２２は、コストボリュームＣｋを正則化する（ステップＳ４０７）。例えば正則化部４２２は、コストボリュームＣｋへ正則化項を追加することにより修正したコストボリュームＣ’ｋを生成する。正則化部４２２は、（数１２）で示すように、ｋ階層のコストボリュームＣｋをデータ項とし、上位階層で求めた距離ｂ＾ｉ（ｋ＋１）とｋ階層で求める距離ｂとの差を正則化項としてｋ階層の修正コストボリュームＣ’ｋを計算する。
【００９３】
【数１２】
0006608763.tif 000013
【００９４】
なお、λは正則化パラメータである。λは定数でも良いし、上位階層ほど強度を弱めても良い。「Ｌ１」は、正則化手法としてＬ１正則化を適用することを示す。正則化手法はＬ１正則化に限られるものではなく、例えばＬ２正則化など他の正則化手法を使用しても良い。ｉは画素を表し、ｂは距離を表す。（数１２）は、距離ｂの画素ｉごとに（数１２）を適用しコストボリュームを正則化することを表す。各距離ｂ、および、各画素ｉに対して正則化されたコストボリューム全体をＣ’ｋと表す場合がある。
【００９５】
距離算出部４２０は、コストボリュームＣ’ｋに対してコストボリュームフィルタリング（ＣＶＦ）を実施する（ステップＳ４０８）。ＣＶＦは、コストボリュームの各スライスに適応する画像フィルタリング処理である。ＣＶＦでは、コストボリュームの各スライスに、エッジ保存型のＦＧＷＬＳ（Fast  Global  Image  Smoothing  Based  on  Weighted  Least  Squares）フィルタ、ガウスフィルタ、バイラテフィルタ、ボックスフィルタ、ガイデッドフィルタ、および、ε-フィルタなどによるフィルタリング処理が適応される。以下では、ＦＧＷＬＳフィルタを使用した場合を例に説明する。
【００９６】
距離算出部４２０は、（数１３）で示すように、コストボリュームＣ’ｋにＦＧＷＬＳフィルタを適応し、コストボリュームＣ''ｋを算出する。
【００９７】
【数１３】
0006608763.tif 000014
距離算出部４２０は、コストボリュームＣ''ｋから、各画素に写る被写体までの距離ｂ＾ｉｋを算出する（ステップＳ４０９）。例えば距離算出部４２０は、（数１４）に示すように、各画素ｉについて、コストボリュームＣｉ''ｋ（ｂ）のうち、コストが最小となる距離ｂ＾ｉｋを選択する。距離は整数値である必要はなく、距離とコストの値から重み平均を計算し、小数値で保持しても良い。
【００９８】
【数１４】
0006608763.tif 000015
【００９９】
距離算出部４２０は、ユーザ等により指定された階層（指定階層）まで処理したか否かを判定する（ステップＳ４１０）。処理が完了していない場合（ステップＳ４１０：Ｎｏ）、ステップＳ４０７に戻り処理が繰り返される。処理が完了した場合（ステップＳ４１０：Ｙｅｓ）、距離算出部４２０は画像処理を終了する。なお、距離の算出は、最下位の階層まで実行する必要はない。要求される精度等に応じて、途中の階層（指定階層）までで処理を終了してもよい。
【０１００】
距離算出部４２０は、算出した距離を示す距離画像を生成して出力してもよい。図１８は、撮影画像の一例を示す図である。図１９は、図１８の撮影画像に基づき生成される距離画像の一例を示す図である。図１９の距離画像は、図１８に示す撮影画像に基づき被写体までの距離を求めた結果を示している。図１９では、手前にある被写体ほど暗く、奥にある被写体ほど明るく表示されている。距離画像は、指定階層に応じた解像度で生成してもよいし、より高解像度（最下位階層に対応する解像度など）で生成してもよい。
【０１０１】
以上のように、本実施形態によれば、階層化したコストボリュームの上位階層で決定した距離との差を下位階層の距離選択の正則化項とすることで、上位階層で最適化した距離を空間的な制約として、下位階層の距離を最適化することができる。その結果、被写体の細かい凹凸形状を補償しつつ、平坦領域の距離決定が可能となる。本実施形態では、各階層で最適化した結果を用いた正則化を実施することで、撮像ノイズなどの外乱に対する頑健性を向上させることができる。
【０１０２】
（変形例１）
（数１２）では、１つの上位階層で求めた距離との差を正則化項とした。２以上の上位階層で求めた距離それぞれとの差を、それぞれ正則化項としてもよい。例えば、ｋ階層の距離ｂと（ｋ＋１）階層の距離ｂ＾ｉ（ｋ＋１）との差のみでなく、ｋ階層の距離ｂと（ｋ＋２）階層の距離ｂ＾ｉ（ｋ＋２）（第３の距離）との差も正則化項として追加してもよい。この場合、各差に対して同一または異なる正則化パラメータを用いればよい。
【０１０３】
（変形例２）
フィルタリング処理（ステップＳ４０８等）は、撮影画像をガイドとしたフィルタリング処理としてもよい。この場合、例えばＣＶ生成部４２１は、撮影画像をさらに入力し、撮影画像の水平方向と垂直方向の解像度を、コストボリュームピラミッドと同じ解像度に段階的に低くした階層数ｎの画像ピラミッド（画像群）を生成する。距離算出部４２０は、コストボリュームＣ’ｋの各スライスに対して、画像ピラミッドのうちｋ階層の画像をガイドとしたフィルタリング処理を適応して、コストボリュームＣ''ｋを算出する。
【０１０４】
（変形例３）
コストボリュームの解像度を低下させる場合に、特定の情報を重みとする加重平均を用いてもよい。例えば、「１−該当画素のコストの最小値」、該当画素の飽和評価値、該当画素のエッジ強度（例えば水平方向のエッジ強度）、および、該当画素のエッジ勾配方向などの情報を重みαとして用いることができる。これらの情報のうち２以上の組み合わせを重みαとして用いてもよい。また、コストボリュームの解像度を低下させる場合に、撮影画像の画像ピラミッドをガイドに縮小する方法を用いてもよい。
【０１０５】
（変形例４）
これまでは、１つの撮像部（イメージセンサ）により得られる１の視点からの撮影画像を用いて距離を算出する実施形態を説明した。第４の実施形態のようなコストボリュームフィルタリングを用いる方法は、複数の視点からの撮影画像を用いて距離を算出する方式に適用することもできる。本変形例の撮影装置は、例えば、視点の異なる少なくとも２枚以上の撮影画像を入力し、少なくとも１枚以上の撮影画像を対象画像として、対象画像を想定距離に応じた視差移動量で補正した補正画像を複数生成する。本変形例の撮影装置は、生成した補正画像群と対象画像以外の撮影画像である基準画像との差をコストとして計算する。本変形例の撮影装置は、このようにして計算したコストを用いてコストボリュームを生成する。以降の処理は、第４の実施形態と同様である。
【０１０６】
（変形例５）
出力は距離画像に限られるものではなく、以下のような情報を出力するように構成してもよい。
・距離と位置との対応関係を示す情報（表など）
・距離の最大値、最小値、中心値、および、平均値の少なくとも１つ
・距離に応じた領域分割結果（分割した領域を示す画像など）
【０１０７】
算出した距離を用いて撮影画像を処理することにより、以下のような情報を出力してもよい。
・全焦点画像（すべての距離で焦点を合わせた画像）
・リフォーカス画像（指定した距離で焦点を合わせた画像）
・任意距離にある画像の抽出結果
・画像と距離を使った物体認識結果または行動認識結果
【０１０８】
上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に、分散又は統合することができる。
【０１０９】
また、上記実施形態に係る撮影装置の画像処理の機能は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。実行される画像処理プログラムは、上述してきた各機能を含むモジュール構成となっている。また、実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供しても、ＲＯＭ等に予め組み込んで提供しても良い。
【０１１０】
また、上述した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、各実施形態は、内容を矛盾させない範囲で適宜組み合わせることが可能である。また、各実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１１】
１０  フィルタ
２０  レンズ
３０  イメージセンサ
４０  ＣＰＵ
５０  メモリ
６０  メモリカードスロット
７０  ディスプレイ
８０  通信Ｉ／Ｆ
１００  撮影装置
１１０  センサ制御部
１２０  距離算出部
【図１】
0006608763.tif 000016
【図２】
0006608763.tif 000017
【図３】
0006608763.tif 000018
【図４】
0006608763.tif 000019
【図５】
0006608763.tif 000020
【図６】
0006608763.tif 000021
【図７】
0006608763.tif 000022
【図８】
0006608763.tif 000023
【図９】
0006608763.tif 000024
【図１０】
0006608763.tif 000025
【図１１】
0006608763.tif 000026
【図１２】
0006608763.tif 000027
【図１３】
0006608763.tif 000028
【図１４】
0006608763.tif 000029
【図１５】
0006608763.tif 000030
【図１６】
0006608763.tif 000031
【図１７】
0006608763.tif 000032
【図１８】
0006608763.tif 000033
【図１９】
0006608763.tif 000034