(57)【要約】【課題】像高に応じたぼけ関数の変化にも関わらず、距離情報の、像高に応じた誤差を低減する。【解決手段】画像が対角線によって４個のエリアに分割され、中心付近の円形のエリアが低像高のエリアとされ、４個のエリアから低像高のエリアを除いた４個のエリアが高像高のエリアとされる。像高に応じてぼけ関数の形状が変化する。ぼけ関数の変化に合わせて距離を求めるためのぼけ付加用のガウスフィルタ標準偏差を変化させる。一例として、低像高エリアに対して標準の２次元ガウスフィルタが適用され、上下の高像高エリア、並びに左右の高像高エリアに対してぼけ関数の変化を相殺するような２次元ガウスフィルタが適用される。【選択図】図１２
2012003233.tif 000002
【特許請求の範囲】
【請求項１】
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力される入力部と、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算する距離情報生成部とを備え、
前記距離情報生成部は、前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理装置。
【請求項２】
前記距離情報生成部は、前記第１の画像データに対してフィルタによってぼけを付加するぼかし処理を行い、ぼけが付加された第１の画像データと前記第２の画像データとの類似度を判定し、前記類似度が最大となるぼかし処理の回数を検出し、
検出された前記ぼかし処理の回数から前記距離情報を求め、
前記ぼかし処理において、前記光学系の像高によるぼけの変化を補正する請求項１に記載の画像処理装置。
【請求項３】
前記ぼかし処理の回数は、ぼかしを付加しない処理を回数０とする請求項２に記載の画像処理装置。
【請求項４】
前記第１の光学系の状態および前記第２の光学系の状態は、フォーカス位置が互いに異なる状態である請求項１に記載の画像処理装置。
【請求項５】
前記第１の光学系の状態および前記第２の光学系の状態は、絞りが互いに異なる状態である請求項１に記載の画像処理装置。
【請求項６】
前記フィルタが２次元ガウスフィルタであり、前記２次元ガウスフィルタの標準偏差が像高によるぼけの変化を補正するように設定される請求項２に記載の画像処理装置。
【請求項７】
前記ぼかし処理の回数を物理距離に変換する請求項２に記載の画像処理装置。
【請求項８】
前記距離情報生成部は、前記像高によるぼけの変化に応じて異なる特性のフィルタを使用して、前記距離情報を演算する請求項１に記載の画像処理装置。
【請求項９】
前記フィルタは、第１のフィルタと、前記第１のフィルタと特性の異なる第２のフィルタとを含み、
前記距離情報生成部は、
前記ぼかし処理において、前記第１のフィルタと前記第２のフィルタとを選択的に用いてぼけを付加する請求項２に記載の画像処理装置。
【請求項１０】
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算し、
前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理装置における画像処理方法。
【請求項１１】
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算し、
前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理方法をコンピュータ装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、例えば撮像画像に対してユーザの好みのぼかしを付加できる画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、コンパクトデジタルスチルカメラは、その小型化の要求から、小型の面積の撮像素子を用いられることが多い。例えば１／２．３３型ＣＣＤ（６．２×４．６）が使用される。一方、大判の撮像素子としては、３５mmフィルムサイズ（３６×２４）、ＡＰＳ−Ｃサイズ（２３．４×１６．７）等が知られている。
【０００３】
このような画面サイズの小さいコンパクトデジタルスチルカメラでは、被写界深度が深くなり、従来の銀塩カメラや、大判の撮像素子を用いたデジタル１眼レフカメラで得られるようなぼけ効果がきわめて少ないものとなる。ぼけ効果は、背景をぼかして人物を浮き立たせるポートレート撮像において求められる。このような背景により、従来から、特許文献１に記載されているように、小型の撮像素子を用いたデジタルスチルカメラでも、大きなぼけ効果が得られる手法が提案されている。
【０００４】
特許文献１に記載の方法は、ポートレート撮像画像において、顔検出および人体検出を行い、顔および人体以外の個所は背景であると見なしてぼかし処理を行うものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６６１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の方法は、背景に対して一律のぼかし処理が適用されている。しかしながら、背景部に含まれる距離が異なる被写体に対しては、本来、異なるぼけ量が付加されるべきであり、特許文献１に記載の方法は、自然なぼけを付加する点で問題があった。さらに、特許文献１に記載の方法は、人物以外の被写体には適用することができないという問題があった。
【０００７】
さらに、光学系の状態例えばフォーカスの状態を変更しながら複数枚の画像を撮像し、複数枚の撮像画像から距離情報を演算し、求められた距離情報を基にぼかし処理を行う手法も提案されている。例えばその距離情報の取得に関しては、異なるレンズパラメータによって２枚の画像を撮像し、撮像画像から推定した錯乱円径とレンズパラメータから、演算により、被写体距離を求める手法が提案されている。
【０００８】
この方法において、デフォーカスにおけるぼけ関数は、２次元等方ガウス分布であることを前提としている。しかしながら、実レンズでは、像高におうじでぼけ関数の形状が大きく変化するため、等方性を前提とすると、像高に応じた距離推定値に誤差が発生する。その結果、最終的なぼかし処理の精度の劣化が不可避である。なお、像高とは、画像の中心からの高さのことである。画像の中心は、通常、レンズの光軸と一致する。
【０００９】
本開示の目的は、像高によりぼけ関数の形状変化にもかかわらず、像高による距離推定値の誤差を低減し、より精度の高い、観賞に適したぼかし処理が適用された画像を提供できる画像処理装置、画像処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本開示は、例えば、撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、第１の画像データとぼけの状態が異なる第２の画像データとが入力される入力部と、
第１の画像データと第２の画像データとに基づき、被写体の奥行き方向の位置に応じた距離情報を演算する距離情報生成部とを備え、
距離情報生成部は、光学系の像高によるぼけの変化を補正して距離情報を演算する画像処理装置である。
【００１１】
本開示は、例えば、撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
第１の画像データと第２の画像データとに基づき、被写体の奥行き方向の位置に応じた距離情報を演算し、
光学系の像高によるぼけの変化を補正して距離情報を演算する画像処理装置における画像処理方法である。
【００１２】
本開示は、例えば、撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
第１の画像データと第２の画像データとに基づき、被写体の奥行き方向の位置に応じた距離情報を演算し、
光学系の像高によるぼけの変化を補正して距離情報を演算する画像処理方法をコンピュータ装置に実行させるためのプログラムである。
【００１３】
好ましい態様は、以下の通りである。
距離情報生成部は、第１の画像データに対してフィルタによってぼけを付加するぼかし処理を行い、ぼけが付加された第１の画像データと第２の画像データとの類似度を判定し、類似度が最大となるぼかし処理の回数を検出し、検出されたぼかし処理の回数から距離情報を求め、ぼかし処理において、光学系の像高によるぼけの変化を補正する。
ぼかし処理の回数は、ぼかしを付加しない処理を回数０とする。
第１の光学系の状態および第２の光学系の状態は、フォーカス位置が互いに異なる状態である。
第１の光学系の状態および第２の光学系の状態は、絞りが互いに異なる状態である。
フィルタが２次元ガウスフィルタであり、２次元ガウスフィルタの標準偏差が像高によるぼけの変化を補正するように設定される。
ぼかし処理の回数を物理距離に変換する。
距離情報生成部は、像高によるぼけの変化に応じて異なる特性のフィルタを使用して、距離情報を演算する。
フィルタは、第１のフィルタと、第１のフィルタと特性の異なる第２のフィルタとを含み、距離情報生成部は、ぼかし処理において、第１のフィルタと第２のフィルタとを選択的に用いてぼけを付加する。
【発明の効果】
【００１４】
本開示によれば、像高に応じたぼけ関数の変化にも関わらず、距離情報の像高に応じた誤差を低減することにより、より誤差が小さく精度の高い距離情報を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】本開示における画像処理装置の一例である撮像装置の構成例を示すブロック図である。
【図２】本開示の第１の実施の形態のブロック図である。
【図３】本開示の第１の実施の形態のぼかし処理の全体的な説明に用いるフローチャートである。
【図４】本開示の第１の実施の形態における距離情報を求める処理の流れを示すフローチャートである。
【図５】本開示の第１の実施の形態における距離情報を求める処理を説明するための略線図である。
【図６】Pill Box関数の説明に用いる略線図である。
【図７】ガウスフィルタの説明に用いる略線図である。
【図８】本開示の第１の実施の形態における距離情報を求める方法の説明に用いる略線図である。
【図９】像高によるぼけ関数の変化を説明するための図である。
【図１０】像高によるぼけ関数の変化を説明するための図である。
【図１１】距離マップの一例を説明するための図である。
【図１２】ガウスフィルタの像高に応じた切り替え方法の一例を説明するための略線図である。
【図１３】像高によるぼけ関数の形状の変化を説明するための略線図である。
【図１４】低像高エリアに対して、２次元等方ガウス関数を用いた畳み込み演算を行う処理の一例を説明するための略線図である。
【図１５】高像高エリアに対して、２次元等方ガウス関数を用いた畳み込み演算を行う処理の一例を説明するための略線図である。
【図１６】第１の実施形態において、２次元非等方ガウス関数を用いた畳み込み演算を行う処理を説明するための略線図である。
【図１７】第１の実施形態の変形例における処理の一例を説明するための略線図である。
【図１８】第１の実施形態の変形例における、ガウスフィルタの像高に応じた切り替え方法の一例を説明するための略線図である。
【図１９】第１の実施形態の変形例における処理の一例を示すフローチャートである。
【図２０】第１の実施形態の変形例における処理の他の例を示すフローチャートである。
【図２１】処理のループ回数と類似度との関係の一例を示す略線図である。
【発明を実施するための形態】
【００１６】
以下、本開示の実施の形態について説明する。なお、説明は、以下の順序で行う。
＜１．第１の実施の形態＞
＜２．第１の実施の形態における変形例＞
＜３．第２の実施の形態＞
＜４．変形例＞
なお、以下に説明する実施の形態および変形例は、本開示の好適な具体例であり、技術的に好ましい種々の限定が付されているが、本開示の範囲は、以下の説明において、特に本開示を限定する旨の記載がない限り、これらの実施の形態および変形例に限定されないものとする。
【００１７】
＜１．第１の実施の形態＞
「撮像装置」
本開示の第１の実施の形態について説明する。図１を参照して本開示を適用できる撮像装置の一例を図１を参照して説明する。撮像装置は、カメラ部１と、デジタル信号処理部２と、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）３と、媒体インターフェース（以下、媒体Ｉ／Ｆという。）４と、制御部５と、操作部６と、ＬＣＤ（Liquid Crystal Display）コントローラ７と、ＬＣＤ８と、外部インターフェース（以下、外部Ｉ／Ｆという。）９からなり、媒体Ｉ／Ｆ４に対して記録媒体１０が着脱可能とされている。さらに、画像ファイルを蓄積するために大容量の記録媒体であるハードディスクドライブ１７が備えられている。
【００１８】
記録媒体１０は、例えば半導体メモリを用いたいわゆるメモリカードである。メモリカード以外に、ハード・ディスク装置、記録可能なＤＶＤ（Digital Versatile Disc）や記録可能なＣＤ（Compact Disc）等の光記録媒体、磁気ディスクなどを用いることができる。
【００１９】
カメラ部１は、光学ブロック１１、ＣＣＤ（Charge Coupled Device)、ＣＭＯＳ(Complementary Metal Oxide Semiconductor) 等の撮像素子１２、前処理回路１３、光学ブロック用ドライバ１４、ＣＣＤ用ドライバ１５、タイミング生成回路１６とを備えたものである。ここで、光学ブロック１１は、レンズ、フォーカス機構、シャッター機構、絞り（アイリス）機構などを備えている。
【００２０】
制御部５は、ＣＰＵ（Central Processing Unit ）５１、ＲＡＭ（Random Access Memory）５２、フラッシュＲＯＭ（Read Only Memory）５３、時計回路５４が、システムバス５５を通じて接続されて構成されたマイクロコンピュータであり、この第１の実施の形態の撮像装置の各部を制御する。ＲＡＭ５２は、処理の途中結果を一時記憶するなど主に作業領域として用いられるものである。フラッシュＲＯＭ５３は、ＣＰＵ５１において実行する種々のプログラムや、処理に必要になるデータなどが記憶されたものである。時計回路５４は、現在年月日、現在曜日、現在時刻、撮影日時などを提供すると共に、撮影日時等の日時情報を撮影画像ファイルに付与する機能を有する。
【００２１】
撮影時においては、光学ブロック用ドライバ１４は、制御部５からの制御に応じて、光学ブロック１１を動作させるための駆動信号を形成し、駆動信号を光学ブロック１１に供給して、光学ブロック１１を動作させる。光学ブロック１１では、ドライバ１４からの駆動信号に応じて、フォーカス機構、シャッター機構、絞り機構が制御され、被写体像が取り込まれ、被写体像が撮像素子１２に対して提供される。
【００２２】
撮像素子１２は、光学ブロック１１からの被写体像を光電変換して出力する。撮像素子ドライバ１５からの駆動信号に応じて撮像素子１２が動作し、被写体像が取り込まれ、制御部５によって制御されるタイミング生成回路１６からのタイミング信号に基づいて、取り込まれた被写体の画像が電気信号として前処理回路１３に供給される。
【００２３】
なお、タイミング生成回路１６は、制御部５からの制御に応じて、所定のタイミングを提供するタイミング信号を形成する。また、撮像素子ドライバ１５は、タイミング生成回路１６からのタイミング信号に基づいて、撮像素子１２に供給する駆動信号を形成する。
【００２４】
前処理回路１３は、供給された撮像信号に対して、ＣＤＳ（Correlated Double Sampling）処理を行って、Ｓ／Ｎ比を良好にし、ＡＧＣ（Automatic Gain Control）処理を行って、利得を制御し、そして、Ａ／Ｄ（Analog/Digital）変換によって、デジタル信号とされた撮像データを形成する。
【００２５】
前処理回路１３からのデジタル撮像データがデジタル信号処理部２に供給される。デジタル信号処理部２は、撮像データに対して、デモザイク処理、ＡＦ（Auto Focus）、ＡＥ（Auto Exposure ）、ＡＷＢ（Auto White Balance）などのカメラ信号処理を施す。カメラ信号処理がなされた画像データが所定の圧縮方式でデータ圧縮され、システムバス５５、媒体Ｉ／Ｆ４を通じて装填された記録媒体１０および／またはハードディスクドライブ１７に供給され、記録媒体１０および／またはハードディスクドライブ１７に例えばＤＣＦ（Design rule for Camera File system）規格に準じた画像ファイルとして記録される。
【００２６】
また、記録媒体１０に記録された画像データは、操作部６を通じて受け付けたユーザからの操作入力に応じて、目的とする画像データが媒体Ｉ／Ｆ４を通じて記録媒体１０から読み出され、これがデジタル信号処理部２に供給される。操作部６には、シャッタレリーズボタン等の各種ボタンやレバー、ダイヤル等が含まれる。ＬＣＤ８をタッチパネルと構成とし、ユーザが画面上を指や指示具で押圧することで入力操作を行うことが可能としても良い。
【００２７】
デジタル信号処理部２は、記録媒体１０から読み出され、媒体Ｉ／Ｆ４を通じて供給された圧縮されている画像データに関して、その圧縮の解凍処理（伸張処理）を行い、解凍後の画像データをシステムバス５５を通じて、ＬＣＤコントローラ７に供給する。ＬＣＤコントローラ７は、画像データからＬＣＤ８に供給する表示画像信号を形成し、表示画像信号をＬＣＤ８に供給する。これにより、記録媒体１０に記録されている画像データに応じた画像がＬＣＤ８の画面に表示される。さらに、制御部５およびＬＣＤコントローラ７の制御によって、ＬＣＤ８の画面上にメニュー等のテキスト、グラフィックスの表示が行うことが可能とされている。なお、画像の表示の形態は、ＲＯＭに記録された表示処理プログラムに従う。
【００２８】
また、撮像装置には、外部Ｉ／Ｆ９が設けられている。この外部Ｉ／Ｆ９を通じて、例えば外部のパーソナルコンピュータが接続され、パーソナルコンピュータから画像データの供給を受けて、これを自身に装填された記録媒体に記録したり、また、自身に装填された記録媒体に記録されている画像データを外部のパーソナルコンピュータに供給することが可能とされている。
【００２９】
また、外部Ｉ／Ｆ９に通信モジュールを接続することにより、例えば、インターネットなどのネットワークと接続して、ネットワークを通じて種々の画像データやその他の情報を取得し、自身に装填された記録媒体に記録したり、あるいは、自身に装填された記録媒体に記録されているデータを、ネットワークを通じて目的とする相手先に送信することが可能とされている。
【００３０】
また、外部のパーソナルコンピュータやネットワークを通じて取得し、記録媒体に記録した画像データなどの情報についても、読み出して再生し、ＬＣＤ８に表示することが可能とされている。
【００３１】
なお、外部Ｉ／Ｆ９は、ＩＥＥＥ（Institute of Electrical and Electronics Engineers ）１３９４、ＵＳＢ（Universal Serial Bus）などの有線用インターフェースとして設けることも可能であるし、光や電波による無線インターフェースとして設けることも可能である。すなわち、外部Ｉ／Ｆ９は、有線、無線のいずれのインターフェースであってもよい。外部Ｉ／Ｆ９を通じて、例えば図示しない外部のコンピュータ装置と接続して、コンピュータ装置から画像データの供給を受けて、画像データを記録媒体１０および／またはハードディスクドライブ１７に記録できる。記録媒体１０および／またはハードディスクドライブ１７に記録されている画像データを外部のコンピュータ装置等に供給することもできる。
【００３２】
上述した撮像装置によって、被写体の画像（静止画および動画）を撮影して、装填された記録媒体１０および／またはハードディスクドライブ１７に記録することができる。さらに、記録媒体１０および／またはハードディスクドライブ１７に記録された画像データを読み出して、画像を表示し、任意に閲覧、編集することが可能である。画像データの管理のためにインデックスファイルが記録媒体１０および／またはハードディスクドライブ１７の特定領域に記録されている。
【００３３】
ここで、上述した撮像装置の動作について概略的に説明する。撮像素子１２によって受光され、光電変換された信号が前処理回路１３に供給され、ＣＤＳ処理、ＡＧＣ処理が行われてデジタル信号に変換され、デジタル信号処理部２に供給される。デジタル信号処理部２では、画像データが画質補正処理され、カメラスルー画像の画像データとして制御部５に供給される。制御部５から入力された画像データがＬＣＤコントローラ７に供給され、カメラスルー画像がＬＣＤ８に表示される。ＬＣＤ８に表示されたカメラスルー画像を見ながら画角合わせを行うことが可能となる。
【００３４】
そして、操作部６のシャッタレリーズボタンが押下されると、ＣＰＵ５１がカメラ部１に制御信号を出力して、光学ブロック１１のシャッターを動作させる。これとともに、デジタル信号処理部２によって、前処理回路１３から供給された１フレーム分の画像データ（記録画像データ）が処理されて後、ＳＤＲＡＭ３に記憶される。さらに、この記録画像データがデジタル信号処理部２によって圧縮符号化され、符号化データがハードディスク１７に記憶されると共に、システムバス５５および媒体インターフェース４を通じて記録媒体１０に記憶される。
【００３５】
なお、静止画像データに対して、ＣＰＵ５１が撮影時の日時や時刻を時計回路５４から取得し、データに付加してハードディスク１７および記録媒体１０に記憶する。さらに、静止画像についてはさらに、静止画像の縮小画像のデータが生成され、縮小画像のデータが元の静止画像と対応付けてハードディスク１７および記録媒体１０に記憶される。
【００３６】
一方、ハードディスク１７および記録媒体１０に記憶された記録画像データを再生する場合には、操作部６からの操作入力に応じて、ＣＰＵ５１が選択された記録画像データがＳＤＲＡＭ３に読み込まれる。そして、デジタル信号処理部２によって復号される。復号された画像データがＬＣＤコントローラ７を通じてＬＣＤ８に供給され、ＬＣＤ８に再生画像が表示される。
【００３７】
「ぼかし処理のための構成」
上述した本開示の第１の実施の形態において、制御部５のＣＰＵ５１によって、ぼかし処理がなされる。ぼかし処理に関連する構成は、図２に示すものとなる。光学ブロック１１内のレンズ１１ａがフォーカス制御部１４ａによって制御され、フォーカスが制御される。フォーカス制御部１４ａは、ＣＰＵ５１および光学ドライバ１４によって構成される。フォーカス制御部１４ａの制御によって、フォーカスが互いに異なる複数の撮像画像が取得される。
【００３８】
最初に、被写体例えば前景の人物に合焦した１枚の画像（第１画像と称する）が取得される。次に、第１画像に対して所定の距離ファー側にフォーカスをずらして同一の被写体が撮像され、１枚の画像（第２画像と称する）が取得される。さらに、第１画像に対して同一の所定の距離ニア側にフォーカスをずらして１枚の画像（第３画像と称する）を取得する。これらの３枚の画像がデータ記憶部としてのＲＡＭ５２に一時的に記憶される。
【００３９】
３枚の画像は、互いにぼけの程度が異なる画像である。第１画像では、前景にフォーカスが合っているので、第２画像および第３画像のそれぞれにおける前景のフォーカスのずれの程度は、等しいものとなる。第２画像における背景のぼけに比して、第３画像における背景のぼけの程度が大きいものとなる。
【００４０】
３枚の画像の中で２枚の画像を使用して距離マップ生成部５６が距離情報を生成する。距離情報は、被写体の奥行き方向の位置に応じた距離であり、例えば前景と背景との距離である。距離マップは、例えば画像の全画素のそれぞれに関する距離の情報である。
【００４１】
第１画像に対してデジタル信号処理部２によって、ホワイトバランス、デモザイク、輪郭強調等の信号処理がなされる。デジタル信号処理部２の出力信号がぼかし処理適用部５７において、距離マップ生成部５６の距離情報出力に応じて、ぼかし処理が行われる。ぼかし処理は、前景以外の被写体に対してのみなされる。
【００４２】
ぼかし処理適用部５７から最終的な観賞用の画像が出力される。鑑賞用の画像が記録媒体１０および／またはハードディスクドライブ１７に記録される。距離マップ生成部５６およびぼかし処理適用部５７は、制御部５内のＣＰＵ５１が予め設計されているプログラムによって機能する処理を意味している。なお、フォーカスが互いに異なる画像が、外部の装置から外部Ｉ／Ｆ９を介して供給されるようにしてもよい。
【００４３】
「ぼかし処理の全体的流れ」
次に、図３を参照して、フォーカス制御部１４ａ、距離マップ生成部５６、ぼかし処理適用部５７の動作を説明する。最初のステップＳ１において、１枚目の画像（第１画像）を撮影する。例えばポートレートなら、前景の人物にフォーカスが合うように撮影を行う。第１画像がＲＡＭ５２に記憶される。次に、ステップＳ２において、フォーカス位置が第１画像に対してファー側に所定の量変化される。そして、ステップＳ３において、２枚目の画像（第２画像）が撮影される。
【００４４】
次に、ステップＳ４において、フォーカス位置が第１画像に対してニア側に所定の量変化される。フォーカス位置の変化は、第２画像を取得する場合と等しいものとされる。そして、ステップＳ５において、３枚目の画像（第３画像）が撮影される。次に、ステップＳ６において、第２画像と第３画像から、それぞれの画素に対応する被写体の距離を画素数分保持した情報、いわゆる距離マップが生成される。最後に、ステップＳ７において、距離マップを参照しながら第１画像にたいしてぼかし処理が適用される。
【００４５】
ぼかし処理には、ローパスフィルタを利用することができ、距離に応じてローパスフィルタの適用可否、並びに強度（カットオフ周波数がより低いほど、より強度が大きい）を変化させる。すなわち、例えば前景（人物）に対しては、ローパスフィルタを適用せず、背景に対しては、前景との距離に応じた強度のローパスフィルタが適用される。このぼかし処理によって、観賞用に好ましい背景のぼけたポートレート画を生成することができる。
【００４６】
「距離マップ生成」
ステップＳ６（距離マップ生成）について、図４および図５を参照してより詳細を説明する。図５は、第２画像および第３画像を示す。先ず、図５に示すように、第２画像中の任意の画素を選択し、その座標を(x0,y0)とする。(x0,y0)を中心とし、後述するｑの値に対して十分大きな値であるｐにより(p×p)の範囲を規定する。第２画像の(p×p)の範囲に含まれる画素値に対して、所定のガウスフィルタの畳込み演算を行う（図４中のステップＳ１１）。ガウスフィルタとは、ガウス関数を使用したぼかしフィルタのことである。すなわち、ガウスフィルタにおいては、画素を合成する時の重みが中心の画素からの距離に応じてガウス関数で決定される。
【００４７】
次に、ステップＳ１２において、ステップＳ１１の結果の画素値の(x0,y0)を中心とし
た(q×q)の範囲の画素値と、第３画像の(x0,y0)を中心とした(q×q)の範囲の画素値との
、類似度を計算する。類似度としては、ＳＡＤ（Sum of Absolute Difference) 等を用いることができる。例えば、第２画像の(q×q)の範囲と、第３画像の(q×q)の範囲との間で、同位置に対応する２つの画素値の差分の絶対値を求め、差分の絶対値を、(q×q)画素分積算した値がＳＡＤである。類似度が大きいほどＳＡＤの値が小さくなる。
【００４８】
ステップＳ１２の後の判断処理（ステップＳ１３）において、類似度の計算と、類似度の値の保存の処理がＭ回なされたか否かが判定される。Ｍは、充分大きな値である。類似度の計算と、類似度の値の保存の処理がＭ回なされたと判定されると、処理がステップＳ１４に移る。ステップＳ１４において、記憶されているＭ回分の類似度値の中から類似度の最大値（類似度としてＳＡＤを使用した場合には、最小値）を検索する。類似度の最大値に対応するステップＳ１１およびステップＳ１２の繰り返し回数ｋが距離情報とされる。なお、類似度の計算を行う場合に、ガウスフィルタによるぼかし処理がなされていない段階での比較もなされる。
【００４９】
第２画像および第３画像内の前景のエリアでは、ほぼ同様のぼけが付加されているために、ＳＡＤが小となり、類似度が大きいと判定される。背景のエリアでは、第２画像における背景のぼけに比して、第３画像における背景のぼけの程度が大きいので、第２画像に対してぼけを付加する処理を行うことによって、類似度が大きくなる。
【００５０】
なお、類似度の最大値を求める方法として、予め定めたＭ回の処理を繰り返さない方法も可能である。例えばＳＡＤを使用している場合において、ＳＡＤの極小値を検出し、ＳＡＤの極小値が生じるまでの回数ｋを距離情報としても良い。さらに、類似度としては、差分の絶対値の代わりに差分の自乗を使用しても良い。さらに、ＳＡＤ以外のパラメータを使用して類似度を検出しても良い。
【００５１】
上述したように、画像内の全画素のそれぞれについてｋが求められる。求められたｋの値が画素毎に存在するのが距離マップである。この場合、演算量を減少させるために、全画素ではなく、水平および／または垂直方向に所定の間隔でサンプリングされた画素毎に、ｋの値を求めた距離マップを作成しても良い。
【００５２】
次に、ｋの値が何故距離情報たりえるかを説明する。まず、下記の表記を定義する。
Img ：デフォーカスによるぼけ関数が適用されていない、フォーカスの合った画像
σ2，σ3：第２画像および第３画像のそれぞれにおける、ぼけ関数（２次元等方ガウス関数）の標準偏差
σf ：ステップＳ１１において適用するガウスフィルタの標準偏差
【００５３】
デフォーカスにおけるぼけ関数は、幾何光学的には、図６に示すようなある錯乱円径を持ったPill Box関数として求まる。点の像にフォーカスが合っている時は、撮像面で点の像が生じるが、フォーカスが合っていないと、ぼけによって円形の像が発生する。この円のことが錯乱円と呼ばれる。
【００５４】
しかしながら、実際のレンズでは収差の影響などを考慮して、図７のような２次元等方ガウス関数に近似されることが多い。図７において、中心の位置が処理の対象の画素（注目画素）の位置である。注目画素の位置に近いほど平均値を計算する場合の重みを大きくし、注目位置の画素から遠くなるほど重みを小さくする分布（ガウス分布の関数）を持つのがガウスフィルタである。標準偏差が小さく分布の幅が狭くなるほど、平滑化の効果が小さくなる。
【００５５】
本開示の第１の実施の形態においても、第２画像および第３画像のデフォーカスにおけるぼけ関数を２次元等方ガウス関数であると近似し、その標準偏差がσ2，σ3であるとする。このとき、図４に示される処理において、kを求めるプロセスは、下記の式（１）
にてｋを求めることに相当する（G(μ,σ）は、平均μ、標準偏差σの２次元等方ガウス
関数）。さらに、分散は、平均からのずれの自乗期待値である。
【００５６】
【数１】
2012003233.tif 000003
【００５７】
ここで、一般的に、ガウス関数の畳込みはガウス関数となり、また畳込む２つのガウス関数の分散の和（σ22＋σ32）が、畳込み結果のガウス関数の分散に一致することを利用すると、下記の式（２）でｋを記述することができる。
【００５８】
【数２】
2012003233.tif 000004
【００５９】
式（２）からｋは、下記の関係を有する。
（１）ｋは、σfの自乗に反比例する。σfを一定値とすれば、式（２）の分母が一定値となる。
【００６０】
（２）ｋは（σ3−σ2）に比例する。（σ3−σ2）は、近似的に、第２画像と第３画像におけるデフォーカスのぼけ関数における、錯乱円径の差と解釈することができる。この値は、第１画像に対する第２画像および第３画像のデフォーカス量を一定にしておけば、一定値となる。つまり、例えば、第１画像に対して第２画像は、ファー側に２ＤｏＦ(Depth of field：被写界深度）デフォーカスさせ、第１画像に対して第３画像は、ニア側に２ＤｏＦデフォーカスさせるように設定すれば、（σ3−σ2）は、許容錯乱円の４倍の値の一定値となる。
【００６１】
（３）ｋは、（σ3＋σ2）に比例する。（σ3＋σ2）は、近似的に、第２画像と第３画像におけるデフォーカスのぼけ関数における、錯乱円径の和もしくは平均値の２倍の値と解釈することができる。
【００６２】
例えば上述したように、第１画像に対して第２画像はファー側に２ＤｏＦデフォーカスさせ、第１画像に対して第３画像はニア側に２ＤｏＦデフォーカスさせる。また、第１画像取得時にフォーカスを合わせる前景位置と背景位置の相対距離がｎＤｏＦであるとすれば、σ2は、許容錯乱円の（ｎ−２）倍の値、σ3は、許容錯乱円の（ｎ＋２）倍の値となるので、（σ3＋σ2）は許容錯乱円の２ｎ倍の値となり、よって（σ3＋σ2）は前景位置と背景位置の相対距離ｎに比例する。
【００６３】
上述した関係から、結局ｋは、前景位置と背景位置の相対距離ｎに比例する性質を有する。この性質により、ｋを計算することによって、前景および背景間の相対距離に比例する距離情報を得ることができる。ｋ、ｎ、（σ3＋σ2）の関係を、図８に示す。すなわち、図８は、ｋ∝σ3＋σ2∝ｎ（∝は、∝関係を表す）の関係があることを概略的に示している。
【００６４】
「ぼかし処理」
図３におけるステップＳ７において、画像中算出されたそれぞれの画素位置でのｋの値に応じて、ぼかし処理がなされる。すなわち、ｋの値が大きい場合にはより強度なぼかし処理を施し、ｋの値が小さい場合には、より弱度なぼかし処理を施すか、またはぼかし処理を行わない。このようなぼかし処理によって、背景が適切にぼけた観賞に好ましい画像を得ることが可能となる。
【００６５】
算出されたｋを用いて、以下に説明するように、前景位置と背景位置の相対的な物理距離ｓfを求め、ｓfを使用してステップＳ７におけるぼかし処理を行うようにしても良い。まず、薄肉レンズの幾何光学による式により、一般的に下記の式（３）が導かれる。
【００６６】
【数３】
2012003233.tif 000005
【００６７】
式（３）において、ｆが焦点距離であり、ＦがＦナンバーであり、ｓが合焦距離であり、δが錯乱円径であり、ｓfが遠側被写体距離である。ｆ、Ｆ、ｓは、レンズの制御値であるから既知であり、δが分かれば、ｓfが求められる。幾何光学的には、ぼけ関数は、ある錯乱円径をPill Box関数として表されるが、ここでは、式（２）から求まるσ3とσ2の平均値を近似的に錯乱円径とみなす。式（３）におけるδとして式（４）を代入する。
【００６８】
【数４】
2012003233.tif 000006
【００６９】
【数５】
2012003233.tif 000007
【００７０】
この式（５）により求めた、前景位置と背景位置の相対的別離距離Ｓｆを用いて、ステップＳ７におけるぼかし処理を行うようにしても良い。
【００７１】
「像高による影響」
さて、ここまでにおいて導かれた、ｋまたはｓfは、いずれも前提条件として、式（１）で表わされているように、ぼけ関数が２次元等方ガウス関数であることが含まれている。前述したように、ぼけ関数は、幾何光学的にはPill Box関数にて求まるものの、実レンズにおける回折や収差の影響を考慮して、２次元等方ガウス関数にて近似的に表わされることが多い。
【００７２】
しかしながら、実レンズのぼけ関数は２次元等方ガウス関数から乖離している。さらに、光軸中心に相当する画像中心では２次元等方性を保つものの、像高が高い画像周辺においては、２次元等方性が大きくくずれる。実レンズのぼけ関数は、レンズの設計によって決まるので、予めぼけ関数の変化を推定できる。ぼけ関数の場所による変化がｋまたはｓfの推定誤差の発生に影響し、よって、最終的にぼかし処理が適用された画像の品質を劣化させる。この影響について、以下に説明する。
【００７３】
図９は、実レンズの像高０割でのデフォーカス時のＰＳＦ(Point Spread Function)の一例であり、図１０は、実レンズの高像高での、デフォーカス時のＰＳＦの一例である。ＰＳＦは、点被写体の像面上での広がりを表わすので、ぼけ関数そのものを表わす。
【００７４】
像高０割では、２次元ガウス関数ではないものの等方性をもつが、高像高では非等方である。特に一般的に、高像高では、周辺部の減光（Vignetting）の影響により、ＰＳＦの広がり幅に関して、サジタル方向に比べてメリディオナル方向が小さくなる傾向を持つことが多い。メリディオナル方向は、光軸に対して放射線方向のことであり、サジタル方向は、メリディオナル方向と直交する、光軸に対して同心円方向のことである。
【００７５】
ここで、このようなぼけ関数における距離推定の誤差を考える。先に述べたように、距離推定は式（２）によって行われる。式（２）中のσ3およびσ2は、ぼけ関数を２次元ガウス関数とみなしたときの標準偏差である。ぼけ関数の形状がガウス関数から乖離がある場合も、概略、ぼけ関数の広がり幅は、σ3およびσ2に相当すると考えることができる。
【００７６】
ここにおいて、像高０割の場合と高像高の場合との比較を、図９および図１０を参照して考える。高像高の場合は特にメリディオナル方向のぼけ関数の広がりが小さくなることから、像高０割よりも高像高の場合の方が、σ3およびσ2の値が小さくなることに相当する現象が起こる。結果として、像高０割の場合よりも高像高の場合の方が、推定された距離情報ｋの値が小さくなる。
【００７７】
このような状況において推定される距離マップの例を図１１に示す。被写体としては、遠距離には同一距離にある平面的な背景が配置され、近距離には四角の物体（前景）が配置されている画像を想定する。距離マップは、濃度が高いほどニア側であることを示す。
【００７８】
低像高に位置する、近距離の物体および画像中央付近の背景は、距離マップ上での濃度が高く、適切に距離推定されている。一方、高像高に位置する画像周辺では、背景に対する距離推定値が上述した誤差の影響により小さくなる。このような誤差を含んだ距離マップをもとに、ステップＳ７おいてぼかし処理を行った場合、本来、適切にぼかし処理がかかるべき背景部において、画像周辺部では、そのぼかし量が適切値より少なくなる。結果として、観賞用に不適切な画像が生成されてしまう。
【００７９】
「第１の実施の形態による処理」
上述したぼけ関数の形状に起因する距離推定の誤差の影響を受けないようにするために、本開示の第１の実施の形態では、以下に述べる処理を行う。
【００８０】
先ず、ステップＳ１１（図４参照）において使用するガウスフィルタとして、例えば下記の式（６）に示すフィルタ係数を有するものを使用する。
【００８１】
【数６】
2012003233.tif 000008
【００８２】
図９および図１０におけるぼけ関数を、ガウス関数として近似した場合のそれぞれの標準偏差を下記のものとする。
σcenter：図９の像高０割ぼけ関数を２次元ガウス関数と近似した場合の標準偏差
σmer ：図１０の高像高ぼけ関数のメリディオナル方向形状を１次元ガウス関数と近
似した場合の標準偏差
σsag ：図１０の高像高ぼけ関数のサジタル方向形状を１次元ガウス関数と近似し
た場合の標準偏差
ここで、σcenter≒σsag＞σmerであるとする。
【００８３】
式（６）で表される２次元等方フィルタを画像全体に一律に適用した場合、上述したように、高像高の場合は、σ3およびσ2の値が小さくなり、一方、σf の値は、画像全体で一定であるために、高像高においてｋの値が小さくなり、誤差が発生する。
【００８４】
このような高像高におけるｋの減少による誤差を回避するために、式（２）において、σ3およびσ2の値が小さくなるのに対応させて、σf の値も減少させ、減少の影響を相殺する。その結果、ｋの減少による誤差を低減することができる。
【００８５】
σ(161)：［１ ６ １］フィルタ係数の標準偏差
であるとする。標準偏差が
σ(161)×（σmer／σcenter）
となるようなガウスフィルタが［１ １４ １］である場合、［１ ６ １］フィルタがサジタル方向に適用され、［１ １４ １］フィルタがメリディオナル方向に適用される。つまり、下記の式（７）の２次元フィルタＧ2aおよびＧ2bが図１０で示されるような高像高の場合に適用される。結果として、ｋの値がＧ1を用いた場合よりも大きくなり、ｋの誤差を減少させることができる。
【００８６】
【数７】
2012003233.tif 000009
【００８７】
図１２に示すように、画像が対角線によって４個のエリアに分割され、中心付近の円形のエリアが低像高のエリアとされ、４個のエリアから低像高のエリアを除いた４個のエリアが高像高のエリアとされる。低像高エリアに対して２次元ガウスフィルタＧ1が適用され、上下の高像高エリアに対して２次元ガウスフィルタＧ2aが適用され、左右の高像高エリアに対して２次元ガウスフィルタＧ2bが適用される。
【００８８】
ガウスフィルタを方向によって切り替えているのは、高像高のぼけ関数の変化が、図１３に示すように回転対称となるため、そのぼけ関数の変化とフィルタの切り替えとを合わせていることに対応する。すなわち、サジタル方向にはＧ2aおよびＧ2bの２種類のフィルタが切り替えられ、メリディオナル方向にはＧ1およびＧ2a（またはＧ2b）の２種類のフィルタが切り替えられる。
【００８９】
なお、このようなフィルタの切り替え方法に限らず、像高に従って変化するぼけ関数により細かく対応させるように、サジタル方向やメリディオナル方向に、より多種類のフィルタを用いて切り替えるようにしても良い。その結果、ｋの誤差をより減少させることが可能となる。
【００９０】
さらに、上述した例では、サジタル方向に対して適用されるフィルタに対して、メリディオナル方向に適用されるフィルタの標準偏差を小さくすることにより、σf を小さくする効果を得ている。しかしながら、Ｇ1よりも標準偏差の小さい２次元等方ガウス関数を用いても同様の効果が得られる。
【００９１】
この場合は、
σhigh：図１０の高像高ぼけ関数を２次元ガウス関数と近似した場合の標準偏差
σ(161)×（σhigh／σcenter）
となるような２次元等方ガウスフィルタを用いれば良い。
【００９２】
＜２．第１の実施形態における変形例＞
第１の実施形態における変形例について説明する。理解を容易にするために、第１の実施形態における処理等の概要をあわせて説明する。
【００９３】
図１４は、低像高エリアでの距離情報を生成するために行われる畳み込み演算の処理を、模式的に示したものである。画像２および画像３のぼけ関数を、ガウス関数として近似した場合のそれぞれの標準偏差を下記のものとする。
σ2_center：画像２の像高０割ぼけ関数を２次元ガウス関数と近似した場合の標準偏差
σ3_center：画像３の像高０割ぼけ関数を２次元ガウス関数と近似した場合の標準偏差
【００９４】
上述したように、画像２の低像高エリアにおけるぼけ関数は、等方性をもつ。低像高エリアのぼけ関数に対して、２次元等方ガウス関数を使用した畳み込み演算が行われると、ぼけが拡大していく。ぼけが拡大していくことで、σ2_centerの値が大きくなる。結果的に、σ2_centerの値がσ3_centerの値と略一致し、精度の高い類似度が得られる。
【００９５】
図１５は、高像高エリアでの距離情報を生成するために行われる畳み込み演算の処理を、模式的に示したものである。図１５に示す画像２および画像３のぼけ関数は一例である。例えば、図１３において、画像の中心付近（低像高エリア）に対して、図面に向かって下側の高像高エリアにおけるぼけ関数である。
【００９６】
図１５に示す画像２および画像３のぼけ関数を、ガウス関数として近似した場合のそれぞれの標準偏差を下記のものとする。
σ2_mer ：画像２の高像高ぼけ関数のメリディオナル方向形状を１次元ガウス関数と近似した場合の標準偏差
σ2_sag ：画像２の高像高ぼけ関数のサジタル方向形状を１次元ガウス関数と近似した場合の標準偏差
σ3_mer ：画像３の高像高ぼけ関数のメリディオナル方向形状を１次元ガウス関数と近似した場合の標準偏差
σ3_sag ：画像３の高像高ぼけ関数のサジタル方向形状を１次元ガウス関数と近似した場合の標準偏差
上述したように、高像高エリアでは、ぼけ関数は非等方である。図１５に示すぼけ関数の例では、σ2_mer＜σ2_sagであり、σ3_mer＜σ3_sagである。
【００９７】
画像２の高像高エリアにおけるぼけ関数に対して、２次元等方ガウス関数を使用した畳み込み演算が行われる。畳み込み演算が行われると、ぼけが拡大し、σ2_merの値とσ2_sag の値が均等の割合で大きくなる。所定回数、畳み込み演算が行われると、より小さい標準偏差の値であるσ2_merの値が、σ3_mer の値と略一致する。このタイミングで類似度が最大とされる。しかしながら、σ2_sagの値とσ3_sagとは一致しない。すなわち、誤差が生じている。誤差を含んだ状態で距離推定が行われると、ぼかし処理を適切に行うことができず、不適切な画像が生成されてしまう。
【００９８】
そこで、第１の実施形態では、画像２の高像高エリアにおけるぼけ関数に対して、例えば、２次元非等方ガウス関数を使用した畳み込み演算が行われる。図１６に示すように、２次元非等方ガウス関数を使用した畳み込み演算が行われることにより、σ2_merの値とσ2_sag の値とを適切に大きくしていくことができる。σ2_merの値およびσ2_sag の値が、σ3_merの値およびσ3_sag の値とそれぞれ略一致するところで類似度が最大となり、誤差が生じない。このため、精度の高い距離推定を行うことができる。
【００９９】
変形例では、高像高エリアのぼけ関数に対して、例えば、２次元等方ガウス関数と１次元ガウス関数とを使用した畳み込み演算が行われる。図１７は、画像２の高像高エリアにおけるぼけ関数に対して、２次元等方ガウス関数を用いた畳み込み演算と、１次元ガウス関数を用いた畳み込み演算とが行われる処理を模式的に示したものである。
【０１００】
例えば、始めに、画像２のぼけ関数に対して２次元等方ガウス関数を使用した畳み込み演算が行われる。２次元等方ガウス関数を使用した畳み込み演算が行われることで、σ2_merの値とσ2_sag の値とが増加する。２次元等方ガウス関数を用いた畳み込み演算が、例えば、Ｍ回行われたタイミングでσ2_merの値とσ3_merの値とが一致する。このタイミング以降は、使用されるフィルタが２次元ガウスフィルタから１次元ガウスフィルタに切り替えられ、１次元ガウス関数を使用した畳み込み演算が行われる。すなわち、２次元等方ガウス関数を使用した畳み込み演算が行われたぼけ関数に対して、１次元ガウス関数を使用した畳み込み演算が行われる。
【０１０１】
１次元ガウス関数を使用した畳み込み演算が行われることにより、サジタル方向の画像成分のみにぼかし処理が行われる。このぼかし処理により、σ2_sag のみ値が増加し、σ2_merの値は変化しない。１次元ガウス関数を使用した畳み込み演算が、例えば、Ｎ回行われたタイミングで、σ2_sag の値とσ3_sag の値とが略一致する。このタイミングで、画像２のぼけ関数と画像３のぼけ関数との類似度が最大となる。そして、２次元等方ガウス関数を使用した畳み込み演算が行われた回数と、１次元ガウス関数を使用した畳み込み演算が行われた回数の合計（（Ｍ＋Ｎ）回）が距離情報ｋとされる。このように、例えば、始めに、２次元等方ガウス関数を使用した畳み込み演算が行われ、その後に１次元ガウス関数を使用した畳み込み演算が行われるようにしてもよい。この処理により精度の高い類似度が得られ、結果的に、より精度の高い距離情報が得られる。
【０１０２】
なお、図１４〜図１７で示したぼけ関数は、一例である。例えば、σ2_mer＞σ2_sagであるぼけ関数の場合には、２次元等方ガウス関数を使用した畳み込み演算がＭ回行われた後は、メリディオナル方向の画像成分のみにぼかし処理が行われる。ぼかし処理は、１次元ガウス関数を使用した畳み込み演算により行われる。
【０１０３】
このように、像高によるぼけの変化に応じて異なる特性のフィルタが使用される。第１の実施形態では、異なる特性のフィルタの一例として、例えば、低像高エリアおよび高像高エリアのそれぞれにおいて、係数の異なる２次元ガウスフィルタが使用される。第１の実施形態における変形例では、異なる特性のフィルタの一例として、例えば、低像高エリアでは２次元ガウスフィルタが使用される。高像高エリアでは、低像高エリアで使用される２次元ガウスフィルタと１次元ガウスフィルタとが使用される。このように、１次元ガウスフィルタと、２次元ガウスフィルタとが選択的に使用されてぼかし処理が行われる。
【０１０４】
図１８は、画像のエリアに応じて適用するフィルタの係数例を示す。画像が例えば４個のエリアに分けられる。画像中心付近が低像高エリアであり、４個のエリアから低像高エリアを除いたエリアが高像高エリアとされる。低像高エリアには、２次元ガウスフィルタが適用される。高像高エリアには、２次元ガウスフィルタおよび１次元ガウスフィルタが適用される。１次元ガウスフィルタとしては、例えば、高像高エリアの図面に向かって上下のエリアには、水平フィルタが適用される。高像高エリアの図面に向かって左右のエリアには、垂直フィルタが適用される。
【０１０５】
図１９は、変形例における処理の流れの一例を示すフローチャートである。以下に説明する処理は、例えば、ＣＰＵ５１により行われる。図１９に示す処理は、例えば、画像２における所定画素を中心としたブロック毎に対して行われる。画像２の全てのブロックに対して処理が行われ、最終的に画素毎の距離情報が取得される。
【０１０６】
図１９のステップＳ２１おいて、画像２の所定のブロックに対して２次元ガウスフィルタが適用される（畳み込まれる）。そして、処理がステップＳ２２に進む。ステップＳ２２において、２次元ガウスフィルタが適用された画像２のブロックと、画像３における同一ブロックとの類似度が計算される。計算された類似度が保存される。
【０１０７】
ステップＳ２１およびステップＳ２２の処理と並列的に、ステップＳ２３およびステップＳ２４の処理が行われる。ステップＳ２３では、画像２の所定ブロックに対して、１次元ガウスフィルタが適用される。そして、処理がステップＳ２４に進む。ステップＳ２４において、１次元ガウスフィルタが適用された画像２のブロックと、画像３における同一ブロックとの類似度が計算される。計算された類似度が保存される。
【０１０８】
そして、処理がステップＳ２５に進む。ステップＳ２５では、ステップＳ２２で計算された類似度が前回計算された類似度（はじめてステップＳ２２の処理が行われるときは、ステップＳ２１のぼかし処理が行われていない画像に対する類似度）より減少したか否かが判断される。さらに、ステップＳ２４で計算された類似度が前回計算された類似度（はじめてステップＳ２４の処理が行われるときは、ステップＳ２３のぼかし処理が行われていない画像に対する類似度）より減少したか否かが判断される。そして、双方の類似度が減少していない場合は、処理がステップＳ２６に進む。
【０１０９】
ステップＳ２６では、ステップＳ２２とステップＳ２４の類似度のうち、大きい類似度を出力した画像が選択される。例えば、ステップＳ２２で計算された類似度がステップＳ２４で計算された類似度より大きい場合は、２次元ガウスフィルタが適用された画像が選択される。選択された画像が、ガウスフィルタ適用画像として出力される。出力されたガウスフィルタ適用画像が入力画像とされる。入力画像に対して、ステップＳ２１、ステップＳ２２、ステップＳ２３、ステップＳ２５、ステップＳ２６の処理を行い、ステップＳ２１〜ステップＳ２６の処理のループを巡回させる。
【０１１０】
ステップＳ２５において、ステップＳ２２で計算された類似度が前回計算された類似度より減少し、且つ、ステップＳ２４で計算された類似度が前回計算された類似度より減少した場合には、処理がステップＳ２７に進む。ステップＳ２７では、ステップＳ２１〜ステップＳ２６の処理のループを巡回させたループ回数が求められる。求められたループ回数が、距離情報ｋとして出力される。
【０１１１】
ここで、上述した方法によって、良好に誤差低減が行われる理由を説明する。上述したように、高像高でのＰＳＦ形状は、減光(Vignetting)により、画像中心での回転対象なＰＳＦ形状から乖離が発生する。σ_center≒σ_sag>σ_merであることから、２次元ガウスフィルタのみを用いて距離推定した場合には、画像中央での推定距離に比べて小さい値が推定値として求まる。ここで、σ_center≒σ_sagであることに着目し、サジタル方向の画像成分に対してのみぼかし処理を行う１次元ガウスフィルタを同時に用いることにより、より類似度として小さい値が求まる。従って精度の高い距離推定値が得られる。
【０１１２】
なお、図１９に示す処理では、双方の類似度が減少したときのループ回数を距離情報ｋとした。ここで、（双方の類似度が減少したときのループ回数−１）を距離情報ｋとしてもよい。このように距離情報ｋを求めることで、類似度が最大となるタイミングでのループ回数を距離情報ｋとして出力できる。
【０１１３】
なお、変形例における処理は、図２０のフローチャートに示す処理によっても実現できる。以下に説明する処理は、例えば、ＣＰＵ５１により行われる。図２０に示す処理は、例えば、画像２における所定画素を中心としたブロック毎に対して行われる。画像２の全てのブロックに対して処理が行われ、最終的に画素毎の距離情報が取得される。
【０１１４】
ステップＳ３１において、画像２の所定のブロックに対して、２次元ガウスフィルタが適用される。そして、処理がステップＳ３２に進む。ステップＳ３２において、２次元ガウスフィルタが適用された画像と、画像３における同一ブロックの画像との類似度が計算される。計算された類似度が保存される。そして、処理がステップＳ３３に進む。
【０１１５】
ステップＳ３３において、ステップＳ３２で計算された類似度が前回、計算された類似度（はじめてステップＳ３２の処理が行われるときは、ステップＳ３１のぼかし処理が一度も行われていない画像に対する類似度）より減少したか否かが判断される。判断の結果、類似度が減少していない場合は、ステップＳ３１でぼかし処理が行われた画像を入力画像として、ステップＳ３１、ステップＳ３２、ステップＳ３３の処理のループを巡回させる。ステップＳ３３において、ステップＳ３２で計算された類似度が前回、計算された類似度より減少した場合は、処理がステップＳ３４に進む。
【０１１６】
ステップＳ３４では、入力画像に対して、１次元ガウスフィルタが適用される。ステップＳ３４における入力画像は、ステップＳ３３で類似度が減少したと判断された時点でのぼかし画像である。言い換えれば、最後に２次元ガウスフィルタが適用された画像が入力画像とされる。入力画像に対して、１次元ガウスフィルタが適用されると、処理がステップＳ３５に進む。
【０１１７】
ステップＳ３５では、ステップＳ３４において１次元ガウスフィルタが適用された画像と、画像３における同一ブロックの画像との類似度が計算される。計算された類似度が保存される。そして、処理がステップＳ３６に進む。ステップＳ３６では、ステップＳ３５で計算された類似度が、前回、計算された類似度（初めてステップＳ３５の処理が行われるときは、ステップＳ３４のぼかし処理が一度も行われていない画像に対する類似度）より減少した否かが判断される。
【０１１８】
判断の結果、類似度が減少していない場合は、ステップＳ３４でぼかし処理が行われた画像を入力画像として、ステップＳ３４、ステップＳ３５、ステップＳ３６の処理のループを巡回させる。ステップＳ３６において、ステップＳ３５で計算された類似度が前回、計算された類似度より減少した場合は、ループ回数の合計が距離情報ｋとして出力される。すなわち、ステップＳ３１〜ステップＳ３３の処理のループ回数と、ステップＳ３４〜ステップＳ３６の処理のループ回数との合計が、距離情報ｋとして出力される。
【０１１９】
なお、前回、２次元ガウスフィルタが適用された画像をメモリに保存するようにしてもよい。そして、ステップＳ３３からステップＳ３４に続く処理において、メモリに保存された画像が入力画像とされ、メモリに保存された画像に対して１次元ガウスフィルタが適用されてもよい。例えば、画像２に対して、２次元ガウスフィルタがＭ回適用された段階で、類似度が前回の類似度より減少したとする。このとき、ステップＳ３３における判断がＹｅｓとなる。続くステップＳ３４の処理において、メモリに記憶されている前回の画像、すなわち、２次元ガウスフィルタが（Ｍ−１）回、適用された画像が入力される。入力される画像に対して、１次元ガウスフィルタが適用されてもよい。
【０１２０】
画像２に対して２次元ガウスフィルタが適用されていくと、類似度が大きくなる。ステップＳ３３の判定において類似度が減少するということは、その時点より１回前に、２次元ガウスフィルタが適用された画像２が、画像３と最も類似していることになる。この最も類似している画像に対して１次元ガウスフィルタが適用されることで、より精度の高い類似度が得られ、結果的に精度の高い距離情報が得られる。
【０１２１】
ステップＳ３４〜ステップＳ３６における処理についても同様のことが言える。例えば、ステップＳ３４〜ステップＳ３６の処理のループ回数がＮ回のときに、ステップＳ３６の判定がＹｅｓとなったとする。上述した理由と同様の理由で、入力画像に対して、１次元ガウスフィルタが（Ｎ−１）回、適用された画像が、画像３と最も類似していることになる。そして、（Ｍ−１）回と（Ｎ−１）回との合計の回数を、距離情報ｋとして出力してもよい。それぞれの処理において、類似度が最も大きくなるときのループ回数の合計を距離情報とするため、精度の高い距離情報が得られる。
【０１２２】
なお、低像高エリアにおけるぼけ関数に２次元ガウスフィルタが適用され、高像高エリアにおけるぼけ関数に対しては、異なる係数の１次元ガウスフィルタが適用されてもよい。例えば、高像高エリアのぼけ関数に対して、水平フィルタが適用される。類似度が最大となったところで、水平フィルタが適用された画像に対して、垂直フィルタが適用される。類似度が最大となったところで、水平フィルタが適用された回数と垂直フィルタが適用された回数との合計が距離情報ｋとされてもよい。
【０１２３】
図２１は、処理のループ回数と類似度との関係の一例を示したものである。処理のループが開始された当初は、１次元ガウスフィルタを使用するよりも２次元ガウスフィルタを使用した方が、類似度が大きくなる。したがって、２次元ガウスフィルタが使用される。処理を続けていくと、ある時点から、１次元フィルタを使用するよりも２次元フィルタを使用した方が、大きな類似度が算出される。したがって、１次元ガウスフィルタが使用される。最終的に類似度が最大値を示したところで処理のループが終了し、距離情報ｋが出力される。
【０１２４】
＜３．第２の実施の形態＞
以上、第１の実施の形態、第１の実施の形態の変形例では、空間フィルタによる距離マップ検出に適用する例を示したが、次に、第２の実施の形態として、周波数領域での距離マップ検出に適用する例を示す。
【０１２５】
第２の実施の形態の全体ブロック図および全体的な処理フローは、図１、図２および図３に示された第１の実施の形態のものと同じであり、ステップＳ６（距離マップ生成）の方法が以下のように異なる。
【０１２６】
取得された第２画像および第３画像の、各画素の座標をx,y とし、取得された画像をｄ2(x,y)，ｄ3(x,y)とし、ぼけ関数をｈ2(x,y)，ｈ3(x,y)とし、ぼけていないフォーカスの合った画像をｆ(x,y)とする。これらの関係は下記の式（８）および式（９）ように表わされる。
【０１２７】
【数８】
2012003233.tif 000010
【数９】
2012003233.tif 000011
【０１２８】
ここで、ｈ2(x,y)およびｈ3(x,y)は、第１の実施の形態と同様に、それぞれ標準偏差がσ2およびσ3のガウス関数であると近似する。
【０１２９】
式（８）および式（９）を周波数領域で記述すると、取得された第２画像および第３画像の、ｘ，ｙに対応する周波数軸をω，νとし、取得された画像を周波数変換（ＤＦＴ：Discrete Fourier Transform)したものをＤ2(ω, ν)，Ｄ3(ω, ν) とし、ぼけ関数を周波数変換したものをＨ2(ω, ν)，Ｈ3(ω, ν)とし、ぼけていないフォーカスの合った画像を周波数変換したものをＦ(ω, ν) として、それぞれの関係は下記のように表わされる。
【０１３０】
【数１０】
2012003233.tif 000012
【数１１】
2012003233.tif 000013
【０１３１】
式（１０）および式（１１）よりＦ(ω，ν) を消去すれば、次式が求まる。
【０１３２】
【数１２】
2012003233.tif 000014
【０１３３】
被写体距離は、画像中で画素ごとに被写体によって変動する。第２画像および第３画像の、ある画素位置（注目画素位置）(x0,y0) を中心としたｑ×ｑ画素のエリアにおいて、式（１２）により求まるｋ'の値を、式（２）においてｋを距離情報としたのと類似して、(x0,y0) における距離情報とみなすことができる。ここで、式（１２）によるｋ'の算出において、ある特定のω, νの値にて計算された値を用いても良い。さらに、推定精度をより高くするために、式（１３）で表される各周波数それぞれにおいて計算された値の平均値を、距離情報として用いることも可能である。
【０１３４】
【数１３】
2012003233.tif 000015
【０１３５】
ここで推定されたｋ'は、式（１２）で表わされるように、第３画像および第２画像のガウスぼけ関数の標準偏差の２乗差であるため、第１の実施の形態の場合と同様に、ぼけ関数の像高依存に起因する誤差が発生する。すなわち、低像高より高像高の方がｋ'の値が小さくなり誤差が発生する。
【０１３６】
本開示の第２の実施の形態では、かかる誤差を低減するために、像高によって、下記の式（１４）に示すように、距離情報推定計算の切り替えを行う。すなわち、切り替えは、２段階で行われ、低像高時に対して高像高時には、補正用係数αを乗じる。
【０１３７】
【数１４】
2012003233.tif 000016
【０１３８】
ここで、αは、式（１５）に示すように、低像高でのぼけ関数を２次元等方ガウス関数として近似した場合の標準偏差を、高像高でのぼけ関数を２次元等方ガウス関数として近似した場合の標準偏差で除算した値とする。
【０１３９】
【数１５】
2012003233.tif 000017
【０１４０】
この補正用係数αによって、高像高でのｋ’の誤差が低減され、距離推定の精度が上がり、最終的にステップＳ７においてぼかし処理がおこなわれた画像の品質を向上することができる。
【０１４１】
なお、ここでは、低像高と高像高での２段階の切り替えの例を示したが、さらに切り替え段階数を増やしてより精度を高くする方法も可能である。
【０１４２】
＜４．変形例＞
以上、本開示の一実施形態について具体的に説明したが、本開示は、上述の一実施形態に限定されるものではなく、本開示の技術的思想に基づく各種の変形が可能である。例えば低像高と高像高でのガウスフィルタの切り替えの例を示したが、さらにレンズのばらつきに起因するぼけ関数のばらつきによる距離推定精度ばらつきを低減することも可能である。この場合には、１台ずつぼけ関数を測定し、第１実施の形態におけるＧ2a，Ｇ2bもしくは第２実施の形態におけるαの値を１台ずつ調整することも可能である。
【０１４３】
さらに、上述した実施の形態では、フォーカス位置を変更して複数枚の画像を取得し、それらの画像のぼけ関数の違いから距離マップを生成している。しかしながら、絞りを変更して複数枚の画像を取得し、それらの画像のぼけ関数の違いから距離マップを生成するようにしても良い。さらに、上述した実施の形態では、距離マップをぼかし処理に用いる例である。他に距離マップを用いて、複数の視差画像によるステレオ画像を生成する処理、もしくは距離に応じたデコンボリューションよる被写界深度拡大画像の生成処理を行うようにしても良い。
【０１４４】
なお、本開示は、以下の構成をとることもできる。
（１）
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力される入力部と、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算する距離情報演算部とを備え、
前記距離情報生成部は、前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理装置。
（２）
前記距離情報生成部は、
前記距離情報生成部は、前記第１の画像データに対してフィルタによってぼけを付加するぼかし処理を行い、ぼけが付加された第１の画像データと前記第２の画像データとの類似度を判定し、前記類似度が最大となるぼかし処理の回数を検出し、
検出された前記ぼかし処理の回数から前記距離情報を求め、
前記ぼかし処理において、前記光学系の像高によるぼけの変化を補正する（１）に記載の画像処理装置。
（３）
前記ぼかし処理の回数は、ぼかしを付加しない処理を回数０とする（２）に記載の画像処理装置。
（４）
前記第１の光学系の状態および前記第２の光学系の状態は、フォーカス位置が互いに異なる状態である（１）乃至（３）のいずれか１に記載の画像処理装置。
（５）
前記第１の光学系の状態および前記第２の光学系の状態は、絞りが互いに異なる状態である（１）乃至（３）のいずれか１に記載の画像処理装置。
（６）
前記フィルタが２次元ガウスフィルタであり、前記２次元ガウスフィルタの標準偏差が像高によるぼけの変化を補正するように設定される（２）乃至（５）のいずれか１に記載の画像処理装置。
（７）
前記ぼかし処理の回数を物理距離に変換する（１）乃至（６）のいずれか１に記載の画像処理装置。
（８）
前記距離情報生成部は、前記像高によるぼけの変化に応じて異なる特性のフィルタを使用して、前記距離情報を演算する（１）乃至（７）のいずれか１に記載の画像処理装置。
（９）
前記フィルタは、第１のフィルタと、前記第１のフィルタと特性の異なる第２のフィルタとを含み、
前記距離情報生成部は、
前記ぼかし処理において、前記第１のフィルタと前記第２のフィルタとを選択的に用いてぼけを付加する（２）乃至（７）のいずれか１に記載の画像処理装置。
（１０）
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算し、
前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理装置における画像処理方法。
（１１）
撮像部の第１の光学系の状態で被写体を撮像することにより得られる第１の画像データと、撮像部の第２の光学系の状態で被写体を撮像することにより得られ、前記第１の画像データとぼけの状態が異なる第２の画像データとが入力され、
前記第１の画像データと前記第２の画像データとに基づき、前記被写体の奥行き方向の位置に応じた距離情報を演算し、
前記光学系の像高によるぼけの変化を補正して前記距離情報を演算する画像処理方法をコンピュータ装置に実行させるためのプログラム。
【符号の説明】
【０１４５】
１・・・カメラ部
２・・・デジタル信号処理部
５・・・制御部
６・・・操作部
８・・・ＬＣＤ
１１・・・光学ブロック
１１ａ・・・レンズ
１２・・・撮像素子
１４ａ・・・フォーカス制御部
５６・・・距離マップ生成部
５７・・・ぼかし処理適用部
【図１】
2012003233.tif 000018
【図２】
2012003233.tif 000019
【図３】
2012003233.tif 000020
【図４】
2012003233.tif 000021
【図５】
2012003233.tif 000022
【図６】
2012003233.tif 000023
【図７】
2012003233.tif 000024
【図８】
2012003233.tif 000025
【図１２】
2012003233.tif 000026
【図１３】
2012003233.tif 000027
【図１４】
2012003233.tif 000028
【図１５】
2012003233.tif 000029
【図１６】
2012003233.tif 000030
【図１７】
2012003233.tif 000031
【図１８】
2012003233.tif 000032
【図１９】
2012003233.tif 000033
【図２０】
2012003233.tif 000034
【図２１】
2012003233.tif 000035
【図９】
2012003233.tif 000036
【図１０】
2012003233.tif 000037
【図１１】
2012003233.tif 000038