画像処理装置及び画像処理方法
【課題】適切に短時間でボケ修復を行うことのできる画像処理装置及び方法を提供する。
【解決手段】撮影レンズを介して入射した被写体光を光電変換する撮像部により得られた画像データに画像処理によってボケ修復を行う修復部と、撮影レンズに関する情報に基づいて修復部によるボケ修復が可能な被写体距離の範囲を設定する第1の設定部と、画像データの画像内の被写体距離の情報に基づいて、ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定部とを備え、修復部は、第2の設定部によって設定されたボケ修復を行う被写体距離の範囲において画像データのボケ修復を行う。
【解決手段】撮影レンズを介して入射した被写体光を光電変換する撮像部により得られた画像データに画像処理によってボケ修復を行う修復部と、撮影レンズに関する情報に基づいて修復部によるボケ修復が可能な被写体距離の範囲を設定する第1の設定部と、画像データの画像内の被写体距離の情報に基づいて、ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定部とを備え、修復部は、第2の設定部によって設定されたボケ修復を行う被写体距離の範囲において画像データのボケ修復を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像内の被写体距離情報に基づいてボケ修復を行う技術に関するものである。
【背景技術】
【0002】
従来、撮像素子の画素群の間に焦点検出用画素を離散的に分布させ、焦点検出用画素からの信号に基づいて被写体距離を算出することが可能な撮像装置が特許文献1に開示されている。特許文献1に開示されている構成をとることで、撮影画像内の被写体距離分布を取得することが可能である。
【0003】
また、ボケ画像を復元して、ボケを修復した画像を生成する手法として、例えば、ウィーナーフィルタ、一般逆フィルタ、射影フィルタ等を適用する手法がある。このような手法を用いてボケ修復する技術が、特許文献2に開示されている。特許文献2に開示された技術を用いることで、撮影条件等に基づく物理的解析や、撮像装置内の測定装置からの出力に基づく推定等により劣化関数を求め、デコンボリューションと呼ばれる画像復元アルゴリズムによって、ボケ画像を復元することが可能となる。
【0004】
通常、どの被写体距離にピントを合わせるかは、撮影時のフォーカス状態で決まってしまう。そのため、撮影後にピントが合っている被写体距離を変えることはできない。しかし、特許文献1に開示されている技術で撮影画像内の被写体距離分布を取得し、特許文献2に開示されているボケ修復技術でボケ修復を行えば、どの被写体距離にピントを合わせるかを、撮影後に変えることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−156823号公報
【特許文献2】特開2000−20691号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1と特許文献2に開示されている技術を画像処理装置に適用した場合、必要なリソースは大規模になり、高価なハードウェアが必要となったり、ボケ修復処理に時間がかかったりといった問題があった。これは、ボケ修復可能な被写体距離の範囲は、被写体距離に応じたボケ修復フィルタにより設定されると考えられるが、その全範囲のボケ修復を行うと、必要とされる処理の内容が膨大であるためである。また、ボケ修復処理の内容を簡略化するために、ボケ修復フィルタを簡略化すると、ボケ修復後の画像の劣化具合が大きくなるという問題があった。
【0007】
一方で、撮影者が、被写体に、概ねピントを合わせて撮影した場合には、ボケ修復可能な被写体距離の範囲全ては必要なく、撮影画像に対してピント位置を微修正できれば、撮影者の意図する修復を行える。また、撮影者が、撮影画像を拡大表示している場合には、その表示範囲内に表示されている被写体にピントのあう位置近傍でのボケ修復が行えればよい。
【0008】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、適切に短時間でボケ修復を行うことである。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復手段と、撮影レンズに関する情報に基づいて前記修復手段によるボケ修復が可能な被写体距離の範囲を設定する第1の設定手段と、画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定手段とを備え、前記修復手段は、前記第2の設定手段によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする。
【0010】
また、本発明に係わる画像処理方法は、撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復工程と、撮影レンズに関する情報に基づいて前記修復工程によるボケ修復が可能な被写体距離の範囲を設定する第1の設定工程と、画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定工程とを備え、前記修復工程では、前記第2の設定工程によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする。
【発明の効果】
【0011】
本発明によれば、ボケ修復を適切に短時間で行うことが可能となる。
【図面の簡単な説明】
【0012】
【図1】第1の実施形態に係わる画像処理装置の構成を示す図である。
【図2】第1の実施形態の撮像素子の概略的回路構成を示した図である。
【図3】撮像素子の画素部の断面図である。
【図4】撮像素子の撮像用画素の平面図と断面図である。
【図5】撮像素子の焦点検出用画素の平面図と断面図である。
【図6】撮像素子の他の焦点検出用画素の平面図と断面図である。
【図7】撮像素子の瞳分割状況を説明する概念図である。
【図8】被写体の距離情報を示す図である。
【図9】被写体距離とボケ修復可能な距離の関係を示す図である。
【図10】撮影画像のボケが修復される様子を示す図である。
【図11】第1の実施形態の画像処理装置のメインフロー図である。
【図12】被写体距離マップ作成サブルーチンのフロー図である。
【図13】撮影サブルーチンのフロー図である。
【図14】第1の実施形態における撮影画像確認サブルーチンのフロー図である。
【図15】ボケ修復サブルーチンのフロー図である。
【図16】ボケ関数生成サブルーチンのフロー図である。
【図17】撮影画像のピント位置が微修正される様子を示す図である。
【図18】ピント位置の微修正を行う被写体距離とボケ修復可能な距離の関係を示す図である。
【図19】第2の実施形態における撮影画像確認サブルーチンのフロー図である。
【発明を実施するための形態】
【0013】
以下、図1〜図17を参照して、本発明の第1の実施形態に係わる画像処理装置について詳細に説明する。
【0014】
図1は、第1の実施形態に係わる画像処理装置の構成を示す図である。図1において、画像処理装置は、撮像素子を有したカメラ本体138と、別体の撮影レンズ137とで構成されており、カメラ本体138に対して撮影レンズ137が交換可能な電子カメラを示している。
【0015】
まず撮影レンズ137の構成について説明する。101は撮影レンズ先端に配置された第1レンズ群で、光軸方向に進退可能に保持される。102は絞りで、その開口径を調節することで撮影時の光量調節を行う。103は第2レンズ群である。そして絞り102及び第2レンズ群103は一体となって光軸方向に進退し、第1レンズ群101の進退動作との連動により、変倍作用(ズーム機能)をなす。105は第3レンズ群で、光軸方向の進退により、焦点調節を行うフォーカスレンズである。111はズームアクチュエータで、不図示のカム筒を回動することで、第1レンズ群111乃至第2レンズ群103を光軸方向に進退駆動し、変倍操作を行う。112は絞りアクチュエータで、絞り102の開口径を制御して撮影光量を調節する。114はフォーカスアクチュエータで、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。
【0016】
136はカメラ通信回路で、レンズに関する情報をカメラ本体138に渡したり、カメラ本体138に関する情報を受け取ったりする。レンズに関する情報とは、ズーム状態、絞り状態、フォーカス状態、レンズ枠情報、レンズのフォーカス駆動の精度情報等のことである。カメラ通信回路136は、カメラ本体138側に設けられたレンズ通信回路135に、これらの情報を渡す。これらのレンズに関する情報の一部は、カメラ本体138内で記録されていても良い。そうすることにより、レンズとカメラ本体間の通信量を減らすことができ、より高速に情報の処理を行うことができる。
【0017】
次にカメラ本体138について説明する。106は光学的ローパスフィルタで、撮影画像の偽色やモアレを軽減するための光学素子である。107はC−MOSセンサとその周辺回路で構成された撮像素子である。撮像素子107には、横方向m画素、縦方向n画素の受光ピクセル上に、ベイヤー配列の原色カラーモザイクフィルタがオンチップで形成された、2次元単板カラーセンサが用いられる。そして、この撮像素子107は、撮影レンズ137を介して入射した被写体光を光電変換して画像データを出力する。
【0018】
115は撮影時の被写体照明用電子フラッシュで、キセノン管を用いた閃光照明装置が好適であるが、連続発光するLEDを備えた照明装置を用いても良い。116はAF補助光装置で、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影し、暗い被写体あるいは低コントラスト被写体に対する焦点検出能力を向上させる。121は、カメラ本体の種々の制御を司るカメラ内CPUで、演算部、ROM、RAM、A/Dコンバータ、D/Aコンバータ、通信インターフェイス回路等を有する。そして、ROMに記憶された所定のプログラムに基づいて、カメラが有する各種回路を駆動し、AF、撮影、画像処理、記録等の一連の動作を実行する。
【0019】
122は電子フラッシュ制御回路で、撮影動作に同期して電子フラッシュ115を点灯制御する。123は補助光駆動回路で、焦点検出動作に同期してAF補助光装置116を点灯制御する。124は撮像素子駆動回路で、撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。125は画像処理回路で、撮像素子107が取得した画像のγ変換、カラー補間、JPEG圧縮等の処理を行う。
【0020】
126はフォーカス駆動回路で、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動制御し、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。128は絞り駆動回路で、絞りアクチュエータ112を駆動制御して絞り102の開口を制御する。129はズーム駆動回路で、撮影者のズーム操作に応じてズームアクチュエータ111を駆動する。135はレンズ通信回路で、撮影レンズ137内のカメラ通信回路136と通信を行う。139はシャッターユニットで、静止画撮影時の露光時間制御を行う。140はシャッターユニット139を動かすためのシャッターアクチュエータである。145はシャッター駆動回路で、シャッターアクチュエータ140を駆動する。
【0021】
131はLCD等の表示器で、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像等を表示する。132は操作スイッチ群で、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等で構成される。133は着脱可能なフラッシュメモリで、撮影済み画像を記録する。144はカメラ内メモリであり、CPU121で行う演算に必要な各種データが保存されている。
【0022】
図2は第1の実施形態の撮像素子の概略的回路構成を示した図であり、特開平09−046596号報等に開示された技術が好適である。図2は2次元C−MOSエリアセンサの2列×4行画素の範囲を示したものであるが、撮像素子として利用する場合は、当図に示した画素を多数配置し、高解像度画像の取得を可能としている。本実施形態においては、画素ピッチが2μm、有効画素数が横3000列×縦2000行=600万画素、撮像画面サイズが横6mm×縦4mmの撮像素子として説明を行う。図2において、1はMOSトランジスタゲートとゲート下の空乏層からなる光電変換素子の光電変換部、2はフォトゲート、3は転送スイッチMOSトランジスタ、4はリセット用MOSトランジスタである。5はソースフォロワアンプMOSトランジスタ、6は水平選択スイッチMOSトランジスタ、7はソースフォロワの負荷MOSトランジスタ、8は暗出力転送MOSトランジスタ、9は明出力転送MOSトランジスタである。10は暗出力蓄積容量CTN、11は明出力蓄積容量CTS、12は水平転送MOSトランジスタ、13は水平出力線リセットMOSトランジスタ、14は差動出力アンプ、15は水平走査回路、16は垂直走査回路である。
【0023】
図3に画素部の断面図を示す。図3において、17はP型ウェル、18はゲート酸化膜、19は一層目ポリSi、20は二層目ポリSi、21はn+フローティングディフュージョン部(FD)である。FD21は別の転送MOSトランジスタを介して別の光電変換部と接続される。図3において、2つの転送MOSトランジスタ3のドレインとFD部21を共通化して微細化とFD部21の容量低減による感度向上を図っているが、Al配線でFD部21を接続しても良い。
【0024】
図4及び図5は、撮像用画素と焦点検出用画素の構造を説明する図である。本実施形態においては、2行×2列の4画素のうち、対角2画素にG(緑色)の分光感度を有する画素を配置し、他の2画素にR(赤色)とB(青色)の分光感度を有する画素を各1個配置した、ベイヤー配列が採用されている。そして、このベイヤー配列の間に、焦点検出用画素が所定の規則にて分散配置される。撮像用画素の間に、焦点検出用画素を離散的に配置する技術は、特開2000−156823号公報等で開示されていて公知の技術であるため、説明は省略する。
【0025】
図4に撮像用画素の配置と構造を示す。図4(a)は2行×2列の撮像用画素の平面図である。周知のごとく、ベイヤー配列では対角方向にG画素が、他の2画素にRとBの画素が配置される。そしてこの2行×2列の構造が繰り返し配置される。図4(a)の断面A−Aを図4(b)に示す。MLは各画素の最前面に配置されたオンチップマイクロレンズ、CFRはR(Red)のカラーフィルタ、CFGはG(Green)のカラーフィルタである。PDは図3で説明したC−MOSセンサの光電変換部を模式的に示したもの、CLはC−MOSセンサ内の各種信号を伝達する信号線を形成するための配線層である。TLは撮影光学系を模式的に示したものである。
【0026】
ここで、撮像用画素のオンチップマイクロレンズMLと光電変換部PDは、撮影光学系TLを通過した光束を可能な限り有効に取り込むように構成されている。換言すると、撮影光学系TLの射出瞳EPと光電変換部PDは、マイクロレンズMLにより共役関係にあり、かつ光電変換部の有効面積は大面積に設計される。また、図4(b)ではR画素の入射光束について説明したが、G画素及びB(Blue)画素も同一の構造となっている。従って、撮像用のRGB各画素に対応した射出瞳EPは大径となり、被写体からの光束を効率よく取り込んで画像信号のS/Nを向上させている。
【0027】
図5は、撮影画面の水平方向(横方向)に瞳分割を行うための焦点検出用画素の配置と構造を示す。図5(a)は、焦点検出用画素を含む2行×2列の画素の平面図である。撮像信号を得る場合、G画素は輝度情報の主成分をなす。そして人間の画像認識特性は輝度情報に敏感であるため、G画素が欠損すると画質劣化が認められやすい。一方でRもしくはB画素は、色情報を取得する画素であるが、人間は色情報には鈍感であるため、色情報を取得する画素は多少の欠損が生じても画質劣化に気づきにくい。そこで本実施形態においては、2行×2列の画素のうち、G画素は撮像用画素として残し、RとBの画素を焦点検出用画素としている。これを図5(a)においてSHA及びSHBで示す。
【0028】
図5(a)の断面A−Aを図5(b)に示す。マイクロレンズMLと、光電変換部PDは図4(b)に示した撮像用画素と同一構造である。本実施形態においては、焦点検出用画素の信号は画像創生には用いないため、色分離用カラーフィルタの代わりに透明膜CFW(White)が配置される。また、撮像素子で瞳分割を行なうため、配線層CLの開口部はマイクロレンズMLの中心線に対して一方向に偏倚している。具体的には、焦点検出用画素SHAの開口部OPHAは右側に偏倚しているため、撮影レンズTLの左側の射出瞳EPHAを通過した光束を受光する。同様に、焦点検出用画素SHBの開口部OPHBは左側に偏倚しているため、撮影レンズTLの右側の射出瞳EPHBを通過した光束を受光する。よって、画素SHAを水平方向に規則的に配列し、これらの画素群で取得した被写体像をA像とする。また、画素SHBも水平方向に規則的に配列し、これらの画素群で取得した被写体像をB像とすると、A像とB像の相対位置を検出することで、撮影レンズ137のピントずれ量(デフォーカス量)が検出できる。ここで、マイクロレンズMLは、撮影レンズTLの左側の射出瞳EPHAを透過した光束からなるA像と、撮影レンズTLの右側の射出瞳EPHBを透過した光束からなるB像の、一対の光学像を生成するレンズ要素の機能を果たしている。
【0029】
なお、上記焦点検出用画素SHA及びSHBでは、撮影画面の横方向に輝度分布を有した被写体、例えば縦線に対しては焦点検出可能だが、縦方向に輝度分布を有する横線は焦点検出不能である。そこで本実施形態では、後者についても焦点検出できるよう、撮影レンズの垂直方向(縦方向)に瞳分割を行う画素も備えている。
【0030】
図6は、撮影画面の垂直方向に瞳分割を行うための焦点検出用画素の配置と構造を示す。図6(a)は、焦点検出用画素を含む2行×2列の画素の平面図で、図5(a)と同様に、G画素は撮像用画素として残し、RとBの画素を焦点検出用画素としている。これを図6(a)においてSVC及びSVDで示す。図6(a)の断面A−Aを図6(b)に示すが、図5(b)の画素が横方向に瞳分離する構造であるのに対して、図6(b)の画素は瞳分離方向が縦方向になっているだけで、画素の構造としては変わらない。すなわち、焦点検出用画素SVCの開口部OPVCは下側に偏倚しているため、撮影レンズTLの上側の射出瞳EPVCを通過した光束を受光する。同様に、焦点検出用画素SVDの開口部OPVDは上側に偏倚しているため、撮影レンズTLの下側の射出瞳EPVDを通過した光束を受光する。よって、焦点検出用画素SVCを垂直方向に規則的に配列し、これらの画素群で取得した被写体像をC像とする。また、焦点検出用画素SVDも垂直方向に規則的に配列し、これらの画素群で取得した被写体像をD像とすると、C像とD像の相対位置を検出することで、撮影画面の垂直方向に輝度分布を有する被写体像のピントずれ量(デフォーカス量)が検出できる。
【0031】
図7は、第1の実施形態における撮像素子の瞳分割状況を概念的に説明する図である。TLは撮影レンズ、107は撮像素子、OBJは被写体、IMGは被写体像である。撮像用画素は図4で説明したように、撮影レンズの射出瞳全域EPを通過した光束を受光する。一方、焦点検出用画素は図5及び図6で説明したように、瞳分割機能を有している。具体的には、図5の焦点検出用画素SHAは撮像面からレンズ後端を見て左側の瞳を通過した光束、すなわち図7の瞳EPHAを通過した光束を受光する。同様に焦点検出用画素SHB、SVC及びSVDはそれぞれ瞳EPHB、EPVC及びEPVDを通過した光束を受光する。そして、焦点検出用画素を、撮像素子107の全領域に渡って分布させることで、撮像領域全域で焦点検出を可能としている。
【0032】
図8は、CPU121の距離情報取得機能により得られた距離情報を示した図である。第1の実施形態における撮像素子107では、図5及び図6で説明したような焦点検出用画素SHA、SHB、SVC、SVDが、全領域に渡って分布しているため、撮影画面の任意の位置における被写体距離を取得することが可能となる。得られた被写体距離の分布の中で、被写体距離の近い領域をつなぎ合わせてグルーピングすることで、撮影画面中に含まれる被写体の輪郭を抽出することが可能となる。Target1、Target2、Target3は、抽出された被写体領域を示したものであり、BackGround1は、背景領域を示したものである。Dist1、Dist2、Dist3、Dist4は被写体距離である。Dist1は被写体領域Target1における被写体距離の代表値、Dist2は被写体領域Target2における被写体距離の代表値、Dist3は被写体領域Target3における被写体距離の代表値である。また、Dist4は背景領域BackGround1における被写体距離である。Dist1が最も近く、Dist2は2番目に近く、Dist3は3番目に近い。そして、Dist4は最も遠く位置する。図8に示すような距離情報の取得は、CPU121が行う。CPU121は、焦点検出用画素から得られる被写体距離分布から被写体の抽出を行い、各被写体の領域及び距離を取得する。
【0033】
本実施形態の画像処理装置では、この距離情報と撮影レンズのボケ情報に基づいて、撮影画像(撮影画像データ)のボケ修復を行う。ボケの生成過程は、画像処理装置の特性や撮影レンズの特性から推定することが可能である。このボケの生成過程をモデル化したボケ修復フィルタを定義し、ウィーナーフィルタ等の一般にデコンボリューションと呼ばれる画像復元アルゴリズムによってボケ画像を復元処理することで、ボケ修復を行う。ボケ修復方法については、特開2000−20691号公報に記載されているため、詳細な説明は省略する。
【0034】
図9は、被写体距離Dist1、Dist2、Dist3、Dist4と、ある撮影レンズの状態におけるボケ修復可能な距離の関係を示した図である。ボケ修復可能な距離は、画像処理装置が有する撮影レンズごとの被写体距離に応じたボケ修復フィルタによって異なる。そこで、CPU121は、撮影レンズ137のフォーカスレンズの状態に応じてボケ修復可能な距離の範囲を算出する。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタは、第1のボケ修復情報と呼ぶ。ボケ修復可能な最も至近側の距離を第1距離Dist11、最も無限遠側の距離を第2距離Dist12とする。CPU121のボケ修復機能は、第1距離Dist11と第2距離Dist12の範囲の被写体像に対して、ボケ修復が可能となる。図8で説明した被写体距離Dist1、Dist2、Dist3、Dist4のうち、Dist1〜3については、第1距離Dist11と第2距離Dist12の範囲に位置しており、Dist4は範囲外に位置しているとする。
【0035】
図10は、ボケ修復部により撮影画像のボケが修復される様子を示した図である。図10における撮像画像は、図8の撮像画像と同じものである。図10(A)は、被写体領域Target1にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target1における被写体距離Dist1に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target1に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target1はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target1以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(A)に示すような、被写体領域Target1にピントがあった画像を取得することが可能となる。
【0036】
図10(B)は、被写体領域Target2にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target2における被写体距離Dist2に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target2に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target2はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target2以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(B)に示すような、被写体領域Target2にピントがあった画像を取得することが可能となる。
【0037】
図10(C)は、被写体領域Target3にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target3における被写体距離Dist3に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target3に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target3はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target3以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(C)に示すような、被写体領域Target3にピントがあった画像を取得することが可能となる。
【0038】
以上、図10(A)〜図10(C)を用いて説明したように、本実施形態の画像処理装置では、各被写体の領域及び距離を含む距離情報に基づいてボケ修復することで、ピントを合わせる被写体を選択することが可能となる。
【0039】
図11〜図16は、本発明の第1の実施例の画像処理装置の焦点調節及び撮影工程を説明するためのフローチャートである。図11は本実施形態の画像処理装置のメインフローである。メインフローの動作はCPU121が制御する。
【0040】
撮影者がカメラの電源スイッチをオン操作すると(ステップS101)、CPU121はカメラ内の各アクチュエータや撮像素子の動作確認を行い、メモリ内容や実行プログラムの初期化を行うと共に、撮影準備動作を実行する(ステップS102)。ステップS103では、レンズ通信回路135を介して撮影レンズ137内のカメラ通信回路136とレンズ通信を行う。レンズ通信によりレンズの動作確認を行い、レンズ内のメモリ内容や実行プログラムの初期化を行うと共に、準備動作を実行させる。また、焦点検出や撮像に必要なレンズの諸特性データを取得し、カメラ内メモリ144に保存する。ステップS104では撮像素子の撮像動作を開始し、プレビュー用の低画素動画像を出力する。ステップS105では読み出した動画をカメラ背面に設けられた表示器131に表示し、撮影者はこのプレビュー画像を目視して撮影時の構図決定を行う。
【0041】
ステップS106では、プレビュー用動画像に顔が存在するか否かを認識する。そして、プレビュー用動画像から、顔の数、位置、そして大きさを検出し、カメラ内メモリ144に記録しておく。顔を認識する技術は、特開2004−317699号公報に開示されているため、ここでは説明を省略する。ステップS107で撮影領域に顔が存在していると認識された場合には、ステップS108に移行し、焦点調節モードを顔AFモードに設定する。ここで顔AFモードとは、撮影領域の顔の位置とステップS200で作成される被写体距離マップの両方を加味して焦点を合わせるAFモードを指す。一方ステップS107で撮影領域に顔が存在していないと認識された場合は、ステップS107からステップS109に移行し、焦点調節モードを多点AFモードに設定する。ここで多点AFモードとは、撮影領域を例えば3×5=15分割し、ステップS200で作成される被写体距離マップから算出される各分割領域での焦点検出結果と、被写体の輝度情報とに基づき、主被写体を類推し、その領域を合焦させるモードを指す。
【0042】
ステップS108あるいはステップS109でAFモードを決定したら、ステップS110で、撮影準備スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS117に進みメインスイッチがオフされたか否かを判別する。ステップS110で撮影準備スイッチがオン操作されると、ステップS200に移行し、被写体距離マップ作成サブルーチンを実行する。ステップS111では、ステップS200で算出した被写体距離マップに基づき、焦点検出位置を決定する。ここで検出位置決定方法は至近側優先とし、ステップS200で得られた被写体の中で、最も至近側に位置する被写体の位置を、焦点検出位置として設定する。
【0043】
ステップS112では、ステップS111で決定した焦点検出位置における焦点ずれ量をステップS200で得られる被写体距離マップから算出し、得られた焦点ずれ量が許容値以下か否かを判断する。そして焦点ずれ量が許容値より大きい場合は、非合焦と判断し、ステップS113でフォーカスレンズを駆動し、その後ステップS110に戻って撮影準備スイッチが押されたか否かを判別する。そしてステップS112にて合焦状態に達したと判定されると、ステップS114にて合焦表示を行い、ステップS115に移行する。ステップS115では、撮影開始スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS115にて撮影待機状態を維持する。ステップS115で撮影開始スイッチがオン操作されるとステップS300に移行し、撮影サブルーチンを実行する。
【0044】
ステップS300の撮影サブルーチンが終了したら、ステップS116に進み、撮影開始スイッチがオフか否かを判断する。撮影開始スイッチがオンの状態で維持されている場合には、再びステップS300に進み、撮影サブルーチンを行う。いわゆる連写の動作を行う。ステップS116で、撮影開始スイッチがオフであると判断されると、ステップS400に進み、撮影画像確認サブルーチンに進む。撮影画像確認サブルーチンを終えると、ステップS117に進み、メインスイッチがオフされたか否かを判定する。メインスイッチがオフされていない場合には、ステップS103に戻る。メインスイッチがオフされた場合には、一連の動作を終了する。
【0045】
図12は被写体距離マップ作成サブルーチンのフロー図である。被写体距離マップ作成サブルーチンの一連の動作も測距手段、すなわち、CPU121が行う。メインフローのステップS200から当サブルーチンのステップS200にジャンプすると、ステップS201において焦点検出領域の設定を行う。AFモードに基づいて決められた少なくとも1つ以上の焦点検出領域の中から焦点検出領域を決め、ステップS202以降の処理を行う。ステップS202では、ステップS201で設定した焦点検出領域の焦点検出用画素の信号を読み出す。ステップS203では、相関演算用2像の創生を行う。ステップS202にて読み出した各焦点検出画素の信号を並べることで、相関演算用のA像、B像の信号とする。
【0046】
ステップS204では、得られたA像、B像に基づいて相関演算を行い、A像、B像の位相差を算出する。ステップS205では、相関演算結果の信頼性を判定する。ここで信頼性とは、A像、B像の一致度を指し、A像、B像の一致度が良い場合は一般的に焦点検出結果の信頼性が高い。そこで、この一致度が或る閾値を超えているか否かで位相差検出結果の信頼性の判定を行ったり、複数の焦点検出領域が選択されている場合に信頼性の高い情報を優先的に使用したりするなどに用いる。ステップS206では、ステップS204で得られたA像、B像の位相差に対して、位相差を焦点ずれ量に変換する変換係数をかけることで、焦点ずれ量を演算する。
【0047】
ステップS207では、全焦点検出領域について、焦点ずれ量算出が完了したか否かを判別する。全焦点検出領域が完了していないと判別されたときには、ステップS201に戻り、残っている焦点検出領域の中から焦点検出領域を選んで設定する。ステップS207で全焦点検出領域が完了したと判別されたときには、ステップS208に進む。ステップS208では、ステップS201〜207を繰り返すことで得られた全焦点検出領域における焦点ずれ量から、焦点ずれ量マップを作成する。ここで焦点ずれ量マップとは、撮影画面上の位置と焦点ずれ量とを対応させた分布データである。
【0048】
ステップS209では、ステップS208で得られた焦点ずれ量マップに対して、ステップS103のレンズ通信で撮影レンズ137から取得したレンズ情報を考慮して、焦点ずれ量を被写体距離に変換する。これにより、撮影画面上の位置と被写体距離とを対応させた分布データを得ることが可能となる。ステップS210では、被写体距離の分布データに基づき、被写体の抽出を行う。得られた被写体距離の分布の中で、被写体距離の近い領域をつなぎ合わせてグルーピングし、撮影画面中に含まれる被写体の輪郭を抽出する。これにより、各被写体の領域と被写体距離を対応させた被写体距離マップが得られることになる。ステップS210が終わったら、被写体距離マップ作成サブルーチンを終了し、メインフロー内のステップS111に進む。
【0049】
図13は、撮影サブルーチンのフロー図である。撮影サブルーチンの一連の動作も、CPU121が行う。ステップS301では、光量調節絞りを駆動し、露光時間を規定するメカニカルシャッタの開口制御を行う。ステップS302では、高画素静止画撮影のための画像読み出し、すなわち全画素の読み出しを行う。ステップS200では、ステップS302で得られた撮影画像の中に含まれる焦点検出用画素の出力を用いて、ステップS200で説明した被写体距離マップ作成サブルーチンを行う。これにより得られる各被写体の領域と被写体距離を対応させた被写体距離マップから、撮影画像の焦点ずれの量が分かる。図11のステップS110の後に行うステップS200の被写体距離マップ作成サブルーチンと比較すると、得られる画像の画素数が多く、より正確な被写体距離マップを作成することができる。ただし、高画素静止画による被写体距離マップの作成は、処理する画素数が多いため、処理時間がかかったり、コストの高い処理装置が必要となったりする。そのため、ここで、被写体距離マップを作成することは必須ではない。
【0050】
ステップS303では読み出した画像信号の欠損画素補間を行う。すなわち、焦点検出用画素の出力は撮像のためのRGBカラー情報を有しておらず、画像を得る上では欠陥画素に相当するため、周囲の撮像用画素の情報から補間により画像信号を創生する。ステップS304では、画像のγ補正、色変換、エッジ強調等の画像処理を行い、ステップS305において、フラッシュメモリ133に撮影画像を記録する。
【0051】
ステップ306では、ステップS305で記録した撮影画像に対応させて、カメラ本体138の特性情報をフラッシュメモリ133とカメラ内メモリ144に記録する。ここでカメラ本体138の特性情報とは、撮像素子107の撮像用画素及び焦点検出用画素の受光感度分布情報、カメラ本体138内での撮影光束のケラレ情報、カメラ本体138と撮影レンズ137との取り付け面から撮像素子107までの距離情報、製造誤差情報などが含まれる。撮像素子107の撮像用画素及び焦点検出用画素の受光感度分布情報は、オンチップマイクロレンズMLと光電変換部PDによって決まるため、これらの情報を記録しても良い。
【0052】
ステップS307では、ステップS305で記録した撮影画像に対応させて、撮影レンズ137の特性情報をフラッシュメモリ133とカメラ内メモリ144に記録する。ここで撮影レンズ137の特性情報とは、射出瞳EPの情報、枠情報、撮影時のFナンバー情報、収差情報、製造誤差情報、などが含まれる。ステップS308では、撮影した画像に関する画像関連情報をフラッシュメモリ133とカメラ内メモリ144に記録する。画像関連情報とは、撮影前の焦点検出動作に関する情報や、被写体移動情報、焦点検出動作の精度に関わる情報などが含まれる。
【0053】
撮影前の焦点検出動作に関する情報には、被写体距離マップや撮影時のフォーカスレンズの位置情報などが含まれる。これらの情報は、画像に関連付けられ、記録される。また、被写体移動情報は、図11のステップS115において撮影開始スイッチのオフ状態が検出されず、ステップS200に移行する、いわゆる連写動作に移行した場合に得られる複数の被写体距離マップから算出される。具体的には、一定時間の間隔があいた被写体距離マップから、画像内での被写体の移動や、被写体距離の変化、すなわち被写体移動速度を検出する。
【0054】
また、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や、ステップS200で行う被写体距離マップとして記録される被写体の距離情報の精度に関する情報である。この情報により、撮影された画像が、撮影者が意図した画像に対して、どの程度焦点ずれを起こしている可能性があるかを、推測することができる。例えば、レンズのフォーカス駆動の位置精度が悪いレンズで撮影を行った場合には、撮影された画像の焦点ずれ量は、比較的大きい可能性がある。一方、レンズのフォーカス駆動の位置精度が良いレンズで撮影を行った場合には、撮影された画像の焦点ずれ量は、小さい可能性が高い。このような、焦点ずれ量の大小の期待値を、数段階に区別し、焦点検出動作の精度に関わる情報として記録する。
【0055】
ステップS308が終わると、ステップS300の撮影サブルーチンを終了し、メインルーチンのステップS116に進む。
【0056】
図14は、撮影画像確認サブルーチンのフロー図である。撮影画像確認サブルーチンの一連の動作も、CPU121が行う。ステップS401では、ステップS200で作成した被写体距離マップを取得する。ここで取得する被写体距離マップは、プレビュー画像から作成される被写体距離マップでも、高画素静止画撮影により作成される被写体距離マップでもよい。より正確な被写体領域と被写体距離を検出するためには、高画素静止画撮影により作成される被写体距離マップの方が望ましい。
【0057】
ステップS402では、ボケ修復が可能な被写体距離の範囲と、被写体距離に応じてボケ修復に用いるフィルタを設定する。ステップS200の被写体距離マップ作成サブルーチンで説明したように、被写体距離マップから被写体領域と被写体距離を対応させた情報が得られる。また、図9で説明したように、ボケ修復可能な距離は撮影レンズ137の種類により異なり、ボケ修復可能な最も至近側の距離である第1距離Dist11と、最も無限遠側の距離である第2距離Dist12は変わってくる。そこで、撮影レンズ137によって決まるボケ修復可能な距離範囲(第1距離Dist11〜第2距離Dist12)内に位置する被写体の画像内における領域を、ボケ修復可能領域として設定する。これにより、各被写体領域と、その領域をボケ修復する際に用いる被写体距離とボケ修復フィルタを設定することができる。図8においては、Target1、Target2、Target3がボケ修復範囲となり、Dist1、Dist2、Dist3が、被写体距離範囲となる。これらのボケ修復可能領域、被写体距離範囲、ボケ修復の際に用いるボケ修復フィルタを、第1のボケ修復情報と呼ぶ。
【0058】
ステップS403では、ステップS402で設定された第1のボケ修復情報から抽出を行い、第2のボケ修復情報を設定する。この処理も上述の通りCPU121が行う。CPU121は、ボケ修復情報抽出手段として機能する。第2のボケ修復情報の設定に際しては、ステップS308で得られる画像関連情報を用いる。具体的には、撮影前後の焦点検出動作を行わず、被写体距離マップを算出していない場合には、ボケ修復範囲を、全領域適用外とし、実際のボケ修復処理は施さず、撮影された画像をそのままステップS404で表示する。一方、被写体距離マップを算出している場合には、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタを、第2のボケ修復情報と呼ぶ。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、ボケ修復可能領域として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。Dist2は被写体領域Target2における被写体距離の代表値であるため、被写体領域Target2内の全ての領域の距離が一定であるわけではない。そのため、Target2の被写体距離範囲としてDist2を含む一定範囲を設定する。ここで設定する被写体距離範囲は、Target2内の全領域の距離範囲が含まれるものであることが望ましい。
【0059】
図17、図18を用いて、設定する被写体距離範囲について説明する。図17(B)は、図8(B)と同じ物である。図17(A)および図17(C)は、図8(B)のボケ修復画像に対して、ピントを前後に若干ずらしてボケ修復を行った画像である。これらのピントを若干ずらしたボケ修復処理は、被写体距離がDist2とは異なる距離の被写体のピントが合うようにボケ修復を行う処理と等しい。図18は、図17(A)および図17(C)で行ったボケ修復によりピントがあう被写体距離を図9に対して追記したものである。図17(A)のボケ修復は、Dist2fの被写体距離と対応し、図17(C)のボケ修復は、Dist2bの被写体距離と対応する。本実施形態では、被写体距離Dist2f〜Dist2bの範囲内に、被写体Target2の領域全域が含まれるように、被写体距離範囲を設定する。これらの被写体距離範囲、ボケ修復可能領域、ボケ修復の際に用いるボケ修復フィルタを、第2のボケ修復情報と呼ぶ。
【0060】
また、画像関連情報として、被写体移動情報を用いることも可能である。上述した通り被写体移動情報とは、画像内での被写体の移動や、被写体移動速度の情報である。被写体距離マップを取得した一定時間後に、ステップS305の画像信号記録を行った場合、画像内の被写体の位置や距離が変化している可能性がある。被写体移動情報を用いて、画像内の被写体位置や被写体距離の推定変化量を算出し、被写体距離マップを更新する。この更新された被写体距離マップから、上述したように焦点ずれ量の小さい範囲を有する被写体領域をボケ修復可能領域とし、その被写体距離範囲とともに設定される。
【0061】
また、画像関連情報として、焦点検出動作の精度に関わる情報を用いることも可能である。上述した通り、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や被写体距離マップの算出精度の情報である。これらの精度情報から、得られた画像の被写体領域における焦点ずれ量の精度を算出することができる。上述した場合と同様に、画像内の第1の範囲内で、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、第2の範囲として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。このTarget2の被写体距離範囲を設定する際に、焦点ずれ量の精度情報を用いて、被写体距離範囲の設定を行う。具体的には、レンズのフォーカス駆動の位置精度が悪く、所望の位置に対してレンズの位置がばらつく場合には、画像の焦点ずれ量が大きい可能性があるため、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。被写体距離マップの算出精度が悪い場合にも、同様に、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。これにより、焦点検出誤差や焦点調節誤差を含むTarget2内の領域の距離範囲を被写体距離範囲として設定することができる。これらの被写体距離マップや、被写体移動情報や焦点検出動作の精度に関わる情報は、画像関連情報に対応し、また測距動作に関する情報にも対応する。
【0062】
ステップS403で第2のボケ修復情報の設定が終わると、ステップS500のボケ修復サブルーチンに進む。ステップS404では、ステップS500でボケ修復された画像を、表示器131に表示する。ステップS404が終わるとステップS405で、ピント位置微修正の指示の有無を判定する。撮影者の動作によって、ピント位置微修正の指示が出された場合には、ステップS406に進み、ステップS500のボケ修復で使用した被写体距離情報を修正する。被写体距離情報の修正は、ステップS403で設定される被写体距離範囲内で行う。ステップS406で被写体距離情報の修正がなされるとステップS500に戻り、再度ボケ修復処理を行う。
【0063】
ステップS405で、ピント位置微修正の指示がなかった場合には、ステップS407に進み、ボケ修復に使用した情報と共に、ボケ修正画像記録を行う。ステップS407を終えると、撮影後確認画像表示サブルーチンを終了し、撮影サブルーチンに戻る。
【0064】
このように、撮影レンズなどから決定する第1のボケ修復情報を、画像関連情報により限定し、第2のボケ修復情報を設定することにより以下のような利点がある。撮影者が、撮影した画像に対して、ピントの修正を行う場合には、撮影者の意図する被写体にある程度、ピントが合っている可能性が高い。そのため、画像処理装置にとってボケ修復可能な範囲全域にある被写体距離全域で、ボケ修復を行うと、撮影者にとっては無駄な修復領域が多く、処理時間などもかかるため、快適な操作を行うことができない。本実施形態のように、撮影した画像に関連する情報からボケ修復を行う範囲を狭めることによって、撮影者の意図するボケ修復画像を含む、より狭い被写体距離範囲のボケ修復処理のみを行えばよい。そのため、ボケ修復処理の計算負荷を低減させることができる。また、処理時間が少ないため、撮影者にとって快適なピント修正処理を行うことができる。
【0065】
図15は、ボケ修復サブルーチンのフロー図である。ボケ修復サブルーチンの一連の動作も、CPU121が行う。ステップS501では、CPU121は、画像処理回路125における変換処理の内容を示す変換情報を取得する。ステップS502では、CPU121は、画像処理回路125から供給される画像情報を変換する際の変換方法を決定する。具体的には、CPU121は、ステップS501で取得した変換情報(必要に応じて、変換情報の他、ステップS306やステップS307で取得した画像処理装置特性や撮影レンズ特性情報)に基づいて、変換方法を決定する。ここで決定される変換方法は、特開2000−20691号公報に記載されている画像復元処理のアルゴリズムの前提条件である線形性を確保するために、露光値と画素値とが比例関係になるように画像情報を変換する方法である。
【0066】
例えば、画像処理回路125でガンマ補正を実行する場合には、ステップS502ではガンマ補正による変換の逆変換を実行する。これにより変換前の画像を再生することができ、線形性を有する画像を取得することが可能となる。同様に、画像処理回路125で色補正を実行する場合には、ステップS502では色変換による変換の逆変換を実行する。これにより、線形性を有する画像を取得することが可能となる。以上のように、ステップS502では、画像処理回路125による変換処理の逆変換に相当する変換方法を決定する。
【0067】
ステップS503では、画像処理回路125より撮影画像を取得する。そしてステップS504では、ステップS502で決定した変換方法に従って、取得した撮影画像を変換する。ステップS504で変換処理が終わると、ステップS600に進み、ボケ関数の生成を行う。上述したボケ修復フィルタとボケ関数は同義である。ステップS505では、ステップS600で生成したボケ関数の逆変換を行うことで、ステップS504で変換処理した撮影画像に対してボケ修復処理を行う。ここでは、一般的にデコンボリューション処理と呼ばれる画像復元アルゴリズムによってボケ修復処理を行う。これにより、所定被写体のボケが修復されたボケ修復画像を得ることができる。ボケ関数の逆変換処理を行うことによるボケ修復の方法は、特開2000−20691号公報に開示されているため、説明は省略する。ステップS505が終わるとボケ修復サブルーチンを終了し、撮影後確認画像表示サブルーチン内のステップS404に進む。
【0068】
図16は、ボケ関数生成サブルーチンのフロー図である。ボケ関数生成サブルーチンの一連の動作も、CPU121が行う。ステップS601では、撮影時にステップS305でカメラ内メモリ144に記録されたカメラ本体138の特性情報を取得する。ステップS602では、撮影時にステップS306でカメラ内メモリ144に記録された撮影レンズ137の特性情報を取得する。
【0069】
ステップS603では、ボケ関数を定義する際に用いるパラメータを取得する。ボケ関数は、撮影レンズ137と撮像素子107との間の光伝達特性によって決まる。そしてこの光伝達特性は、カメラ本体138の特性情報、撮影レンズ137の特性情報、撮影画像における被写体領域の位置、被写体距離などの要因によって変わる。そこで、これらの要因とボケ関数を定義する際に用いるパラメータとを関連付けたテーブルデータを、カメラ内メモリ144に記憶しておく。そしてステップS603が実行されると、CPU121は、これらの要因に基づいて、カメラ内メモリ144からボケ関数定義の際に用いるパラメータを取得する。
【0070】
ステップS604では、ステップS603で取得したボケパラメータに基づいて、ボケ関数を定義する。ボケ関数の例としては、ボケ現象が正規分布法則に沿うものとして考えたガウシアン分布などがある。中心画素からの距離をr、正規分布法則の任意のパラメータをσ2とすると、ボケ関数h(r)は、下記のように与えられる。
【0071】
h(r)={1/(σ√(2π))}・exp(−r2/σ2)
ステップS604が終わったら、ボケ関数生成サブルーチンを終了し、ボケ修復サブルーチン内のステップS505に進む。
【0072】
第1の実施形態の画像処理装置では、撮影直後の再生時に、ピントの微修正を行う場合を説明したが、ピントの微修正を行う機会は、これに限らない。以前に撮影した画像を再生し、ピント修正を行う場合にも適用可能である。
【0073】
また、第1の実施形態の画像処理装置では、撮影レンズが交換可能なカメラで説明したが、撮影レンズがカメラに備わっている所謂レンズくくり付けタイプのカメラに適用してもよい。レンズくくり付けタイプのカメラにおいても、従来の課題は存在する。そして本実施形態で説明したようにボケ修復を行う画像範囲の絞込みを行うことで、同様の効果を得ることができる。
【0074】
また、第1の実施形態の画像処理装置では、焦点検出を撮像素子で行うカメラで説明したが、他の焦点検出手段を有するカメラに適用してもよい。他の焦点検出手段を有するカメラにおいても、従来の課題は存在する。そして本実施形態で説明したようにボケ修復を行う画像範囲の絞込みを行うことで、同様の効果を得ることができる。
【0075】
(第2の実施形態)
以下、図19を参照して、本発明の第2の実施形態に係わる画像処理装置について説明する。第2の実施形態と第1の実施形態の違いは、第2の画像範囲を設定する際に利用する画像関連情報が異なる点である。第2の実施形態の構成によれば、より正確に、撮影者の意図する被写体を認識することができ、ボケ修復を行う第2の画像範囲を精度よく設定することができる。
【0076】
なお、第1の実施形態における画像処理装置の構成を示すブロック図(図1)、焦点検出の実施方法(図2〜図7)、ボケ修復方法(図8〜図10)、撮影に関する動作(図11〜図13)、ボケ修復処理に関する動作(図15、図16)に関しては、第2の実施形態でも同様の構成であり、同様の動作を行うため、説明は省略する。
【0077】
図11の画像処理装置のメインフローのステップS400にて行われる撮影画像確認サブルーチンについて、図19のフローチャートを用いて詳細に説明する。図19のフローチャートにおいて、第1の実施形態で示した撮影画像確認サブルーチンのフローチャートである図14と同様の処理を行う部分に関しては、同じ番号を付している。
【0078】
ステップS401では、ステップS200で作成した被写体距離マップを取得する。ここで取得する被写体距離マップは、プレビュー画像から作成される被写体距離マップでも、高画素静止画撮影により作成される被写体距離マップでもよい。より正確な被写体領域と被写体距離を検出するためには、高画素静止画撮影により作成される被写体距離マップの方が望ましい。
【0079】
ステップS402では、ボケ修復が可能な被写体距離の範囲と、被写体距離に応じてボケ修復に用いるフィルタを設定する。ステップS200の被写体距離マップ作成サブルーチンで説明したように、被写体距離マップから被写体領域と被写体距離を対応させた情報が得られる。また、図9で説明したように、ボケ修復可能な距離は撮影レンズ137の種類により異なり、ボケ修復可能な最も至近側の距離である第1距離Dist11と、最も無限遠側の距離である第2距離Dist12は変わってくる。そこで、撮影レンズ137によって決まるボケ修復可能な距離範囲(第1距離Dist11〜第2距離Dist12)内に位置する被写体の画像内における領域を、ボケ修復可能領域として設定する。これにより、各被写体領域と、その領域をボケ修復する際に用いる被写体距離とボケ修復フィルタを設定することができる。図8においては、Target1、Target2、Target3がボケ修復範囲となり、Dist1、Dist2、Dist3が、被写体距離範囲となる。これらのボケ修復可能領域、被写体距離範囲、ボケ修復の際に用いるボケ修復フィルタを、第1のボケ修復情報と呼ぶ。
【0080】
ステップS403では、ステップS402で設定された第1のボケ修復情報から抽出を行い、第2のボケ修復情報を設定する。この処理も上述の通りCPU121が行う。CPU121は、ボケ修復情報抽出手段として機能する。第2のボケ修復情報の設定に際しては、ステップS308で得られる画像関連情報を用いる。具体的には、撮影前後の焦点検出動作を行わず、被写体距離マップを算出していない場合には、ボケ修復範囲を、全領域適用外とし、実際のボケ修復処理は施さず、撮影された画像をそのままステップS404で、表示する。一方、被写体距離マップを算出している場合には、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタは、第2のボケ修復情報に対応する。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、ボケ修復可能領域として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。Dist2は被写体領域Target2における被写体距離の代表値であるため、被写体領域Target2内の全ての領域の距離が一定であるわけではない。そのため、Target2の被写体距離範囲としてDist2を含む一定範囲を設定する。
【0081】
ここで設定する被写体距離範囲は、Target2内の全領域の距離範囲が含まれるものであることが望ましい。図17、図18を用いて、設定する被写体距離範囲について説明する。図17(B)は、図8(B)と同じ物である。図17(A)および(C)は、図8(B)のボケ修復画像に対して、ピントを前後に若干ずらしてボケ修復を行った画像である。これらのピントを若干ずらしたボケ修復処理は、被写体距離がDist2とは異なる距離の被写体のピントが合うようにボケ修復を行う処理と等しい。図18は、図17(A)および(C)で行ったボケ修復によりピントがあう被写体距離を図9に対して追記したものである。図17(A)のボケ修復は、Dist2fの被写体距離と対応し、図17(C)のボケ修復は、Dist2bの被写体距離と対応する。本実施形態では、被写体距離Dist2f〜Dist2bの範囲内に、被写体Target2の領域全域が含まれるように、被写体距離範囲を設定する。これらの被写体距離範囲、ボケ修復可能領域、ボケ修復の際に用いるボケ修復フィルタは、第2のボケ修復情報に対応する。
【0082】
また、画像関連情報として、被写体移動情報を用いることも可能である。上述した通り被写体移動情報とは、画像内での被写体の移動や、被写体移動速度の情報である。被写体距離マップを取得した一定時間後に、ステップS305の画像信号記録を行った場合、画像内の被写体の位置や距離が変化している可能性がある。被写体移動情報を用いて、画像内の被写体位置や被写体距離の推定変化量を算出し、被写体距離マップを更新する。この更新された被写体距離マップから、上述したように焦点ずれ量の小さい範囲を有する被写体領域をボケ修復可能領域とし、その被写体距離範囲とともに設定する。
【0083】
また、画像関連情報として、焦点検出動作の精度に関わる情報を用いることも可能である。上述した通り、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や被写体距離マップの算出精度の情報である。これらの精度情報から、得られた画像の被写体領域における焦点ずれ量の精度を算出することができる。上述した場合と同様に、画像内の第1の範囲内で、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、第2の範囲として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。このTarget2の被写体距離範囲を設定する際に、焦点ずれ量の精度情報を用いて、被写体距離範囲の設定を行う。具体的には、レンズのフォーカス駆動の位置精度が悪く、所望の位置に対してレンズの位置がばらつく場合には、画像の焦点ずれ量が大きい可能性があるため、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。被写体距離マップの算出精度が悪い場合にも、同様に、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。これにより、焦点検出誤差や焦点調節誤差を含むTarget2内の領域の距離範囲を被写体距離範囲として設定することができる。これらの被写体距離マップや、被写体移動情報や焦点検出動作の精度に関わる情報は、画像関連情報に対応し、また測距動作に関する情報にも対応する。
【0084】
ステップS403で第2の画像範囲と被写体の距離範囲設定が終わると、ステップS500のボケ修復サブルーチンに進む。ステップS404では、ステップS500でボケ修復された画像を、表示器131に表示する。ステップS404が終わるとステップS405で、ピント位置微修正の指示の有無を判定する。撮影者の動作によって、ピント位置微修正の指示が出された場合には、ステップS406に進み、ステップS500のボケ修復で使用した被写体距離情報を修正する。被写体距離情報の修正は、ステップS403で設定される被写体距離範囲内で行う。
【0085】
ステップS406を終えるとステップS4001に移行し、画像の拡大表示がされているか否かを(表示状態を)判断する。画像処理装置に備えられている画像表示装置は、一般に十分に大きくないため、撮影した画像のピント状況を確認するためには、画像の拡大表示を行うと確認しやすい。画像の拡大表示が行われていた場合は、ステップS4002に進み、第2のボケ修復情報の更新を行う。上述したように画像の拡大が行われている場合には、拡大されて表示されている範囲が、撮影者が望むボケ修復領域と推測することができる。その表示領域が、既に設定されているボケ修復領域より狭い場合には、その領域を更新し、第2のボケ修復情報を再度設定する。ここで使用する画像の拡大表示情報は、画像関連情報に対応し、画像表示関連情報にも対応する。ステップS4001で画像の拡大表示がされていなかった場合や、ステップS4002で第2のボケ修復情報の更新がなされるとステップS500に戻り、再度ボケ修復処理を行う。ステップS405で、ピント位置微修正の指示がなかった場合には、撮影後確認画像表示サブルーチンを終了し、撮影サブルーチンに戻る。
【0086】
このように、撮影レンズなどから決定する第1のボケ修復情報を、画像関連情報により限定し、第2のボケ修復情報を設定することにより以下のような利点がある。撮影者が、撮影した画像を拡大表示して、ピントの修正を行う場合には、撮影者の意図する被写体が、拡大されて表示されている可能性が高い。本実施形態のように、撮影した画像に関連する再生時の拡大情報からボケ修復を行う範囲を狭めることによって、撮影者の意図するボケ修復画像を含む、より狭い被写体距離範囲のボケ修復処理のみを行えばよい。そのため、ボケ修復処理の計算負荷を低減させることができる。また、処理時間が少ないため、撮影者にとって快適なピント修正処理を行うことができる。
【0087】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【技術分野】
【0001】
本発明は、画像内の被写体距離情報に基づいてボケ修復を行う技術に関するものである。
【背景技術】
【0002】
従来、撮像素子の画素群の間に焦点検出用画素を離散的に分布させ、焦点検出用画素からの信号に基づいて被写体距離を算出することが可能な撮像装置が特許文献1に開示されている。特許文献1に開示されている構成をとることで、撮影画像内の被写体距離分布を取得することが可能である。
【0003】
また、ボケ画像を復元して、ボケを修復した画像を生成する手法として、例えば、ウィーナーフィルタ、一般逆フィルタ、射影フィルタ等を適用する手法がある。このような手法を用いてボケ修復する技術が、特許文献2に開示されている。特許文献2に開示された技術を用いることで、撮影条件等に基づく物理的解析や、撮像装置内の測定装置からの出力に基づく推定等により劣化関数を求め、デコンボリューションと呼ばれる画像復元アルゴリズムによって、ボケ画像を復元することが可能となる。
【0004】
通常、どの被写体距離にピントを合わせるかは、撮影時のフォーカス状態で決まってしまう。そのため、撮影後にピントが合っている被写体距離を変えることはできない。しかし、特許文献1に開示されている技術で撮影画像内の被写体距離分布を取得し、特許文献2に開示されているボケ修復技術でボケ修復を行えば、どの被写体距離にピントを合わせるかを、撮影後に変えることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−156823号公報
【特許文献2】特開2000−20691号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1と特許文献2に開示されている技術を画像処理装置に適用した場合、必要なリソースは大規模になり、高価なハードウェアが必要となったり、ボケ修復処理に時間がかかったりといった問題があった。これは、ボケ修復可能な被写体距離の範囲は、被写体距離に応じたボケ修復フィルタにより設定されると考えられるが、その全範囲のボケ修復を行うと、必要とされる処理の内容が膨大であるためである。また、ボケ修復処理の内容を簡略化するために、ボケ修復フィルタを簡略化すると、ボケ修復後の画像の劣化具合が大きくなるという問題があった。
【0007】
一方で、撮影者が、被写体に、概ねピントを合わせて撮影した場合には、ボケ修復可能な被写体距離の範囲全ては必要なく、撮影画像に対してピント位置を微修正できれば、撮影者の意図する修復を行える。また、撮影者が、撮影画像を拡大表示している場合には、その表示範囲内に表示されている被写体にピントのあう位置近傍でのボケ修復が行えればよい。
【0008】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、適切に短時間でボケ修復を行うことである。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復手段と、撮影レンズに関する情報に基づいて前記修復手段によるボケ修復が可能な被写体距離の範囲を設定する第1の設定手段と、画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定手段とを備え、前記修復手段は、前記第2の設定手段によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする。
【0010】
また、本発明に係わる画像処理方法は、撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復工程と、撮影レンズに関する情報に基づいて前記修復工程によるボケ修復が可能な被写体距離の範囲を設定する第1の設定工程と、画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定工程とを備え、前記修復工程では、前記第2の設定工程によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする。
【発明の効果】
【0011】
本発明によれば、ボケ修復を適切に短時間で行うことが可能となる。
【図面の簡単な説明】
【0012】
【図1】第1の実施形態に係わる画像処理装置の構成を示す図である。
【図2】第1の実施形態の撮像素子の概略的回路構成を示した図である。
【図3】撮像素子の画素部の断面図である。
【図4】撮像素子の撮像用画素の平面図と断面図である。
【図5】撮像素子の焦点検出用画素の平面図と断面図である。
【図6】撮像素子の他の焦点検出用画素の平面図と断面図である。
【図7】撮像素子の瞳分割状況を説明する概念図である。
【図8】被写体の距離情報を示す図である。
【図9】被写体距離とボケ修復可能な距離の関係を示す図である。
【図10】撮影画像のボケが修復される様子を示す図である。
【図11】第1の実施形態の画像処理装置のメインフロー図である。
【図12】被写体距離マップ作成サブルーチンのフロー図である。
【図13】撮影サブルーチンのフロー図である。
【図14】第1の実施形態における撮影画像確認サブルーチンのフロー図である。
【図15】ボケ修復サブルーチンのフロー図である。
【図16】ボケ関数生成サブルーチンのフロー図である。
【図17】撮影画像のピント位置が微修正される様子を示す図である。
【図18】ピント位置の微修正を行う被写体距離とボケ修復可能な距離の関係を示す図である。
【図19】第2の実施形態における撮影画像確認サブルーチンのフロー図である。
【発明を実施するための形態】
【0013】
以下、図1〜図17を参照して、本発明の第1の実施形態に係わる画像処理装置について詳細に説明する。
【0014】
図1は、第1の実施形態に係わる画像処理装置の構成を示す図である。図1において、画像処理装置は、撮像素子を有したカメラ本体138と、別体の撮影レンズ137とで構成されており、カメラ本体138に対して撮影レンズ137が交換可能な電子カメラを示している。
【0015】
まず撮影レンズ137の構成について説明する。101は撮影レンズ先端に配置された第1レンズ群で、光軸方向に進退可能に保持される。102は絞りで、その開口径を調節することで撮影時の光量調節を行う。103は第2レンズ群である。そして絞り102及び第2レンズ群103は一体となって光軸方向に進退し、第1レンズ群101の進退動作との連動により、変倍作用(ズーム機能)をなす。105は第3レンズ群で、光軸方向の進退により、焦点調節を行うフォーカスレンズである。111はズームアクチュエータで、不図示のカム筒を回動することで、第1レンズ群111乃至第2レンズ群103を光軸方向に進退駆動し、変倍操作を行う。112は絞りアクチュエータで、絞り102の開口径を制御して撮影光量を調節する。114はフォーカスアクチュエータで、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。
【0016】
136はカメラ通信回路で、レンズに関する情報をカメラ本体138に渡したり、カメラ本体138に関する情報を受け取ったりする。レンズに関する情報とは、ズーム状態、絞り状態、フォーカス状態、レンズ枠情報、レンズのフォーカス駆動の精度情報等のことである。カメラ通信回路136は、カメラ本体138側に設けられたレンズ通信回路135に、これらの情報を渡す。これらのレンズに関する情報の一部は、カメラ本体138内で記録されていても良い。そうすることにより、レンズとカメラ本体間の通信量を減らすことができ、より高速に情報の処理を行うことができる。
【0017】
次にカメラ本体138について説明する。106は光学的ローパスフィルタで、撮影画像の偽色やモアレを軽減するための光学素子である。107はC−MOSセンサとその周辺回路で構成された撮像素子である。撮像素子107には、横方向m画素、縦方向n画素の受光ピクセル上に、ベイヤー配列の原色カラーモザイクフィルタがオンチップで形成された、2次元単板カラーセンサが用いられる。そして、この撮像素子107は、撮影レンズ137を介して入射した被写体光を光電変換して画像データを出力する。
【0018】
115は撮影時の被写体照明用電子フラッシュで、キセノン管を用いた閃光照明装置が好適であるが、連続発光するLEDを備えた照明装置を用いても良い。116はAF補助光装置で、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影し、暗い被写体あるいは低コントラスト被写体に対する焦点検出能力を向上させる。121は、カメラ本体の種々の制御を司るカメラ内CPUで、演算部、ROM、RAM、A/Dコンバータ、D/Aコンバータ、通信インターフェイス回路等を有する。そして、ROMに記憶された所定のプログラムに基づいて、カメラが有する各種回路を駆動し、AF、撮影、画像処理、記録等の一連の動作を実行する。
【0019】
122は電子フラッシュ制御回路で、撮影動作に同期して電子フラッシュ115を点灯制御する。123は補助光駆動回路で、焦点検出動作に同期してAF補助光装置116を点灯制御する。124は撮像素子駆動回路で、撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。125は画像処理回路で、撮像素子107が取得した画像のγ変換、カラー補間、JPEG圧縮等の処理を行う。
【0020】
126はフォーカス駆動回路で、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動制御し、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。128は絞り駆動回路で、絞りアクチュエータ112を駆動制御して絞り102の開口を制御する。129はズーム駆動回路で、撮影者のズーム操作に応じてズームアクチュエータ111を駆動する。135はレンズ通信回路で、撮影レンズ137内のカメラ通信回路136と通信を行う。139はシャッターユニットで、静止画撮影時の露光時間制御を行う。140はシャッターユニット139を動かすためのシャッターアクチュエータである。145はシャッター駆動回路で、シャッターアクチュエータ140を駆動する。
【0021】
131はLCD等の表示器で、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像等を表示する。132は操作スイッチ群で、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等で構成される。133は着脱可能なフラッシュメモリで、撮影済み画像を記録する。144はカメラ内メモリであり、CPU121で行う演算に必要な各種データが保存されている。
【0022】
図2は第1の実施形態の撮像素子の概略的回路構成を示した図であり、特開平09−046596号報等に開示された技術が好適である。図2は2次元C−MOSエリアセンサの2列×4行画素の範囲を示したものであるが、撮像素子として利用する場合は、当図に示した画素を多数配置し、高解像度画像の取得を可能としている。本実施形態においては、画素ピッチが2μm、有効画素数が横3000列×縦2000行=600万画素、撮像画面サイズが横6mm×縦4mmの撮像素子として説明を行う。図2において、1はMOSトランジスタゲートとゲート下の空乏層からなる光電変換素子の光電変換部、2はフォトゲート、3は転送スイッチMOSトランジスタ、4はリセット用MOSトランジスタである。5はソースフォロワアンプMOSトランジスタ、6は水平選択スイッチMOSトランジスタ、7はソースフォロワの負荷MOSトランジスタ、8は暗出力転送MOSトランジスタ、9は明出力転送MOSトランジスタである。10は暗出力蓄積容量CTN、11は明出力蓄積容量CTS、12は水平転送MOSトランジスタ、13は水平出力線リセットMOSトランジスタ、14は差動出力アンプ、15は水平走査回路、16は垂直走査回路である。
【0023】
図3に画素部の断面図を示す。図3において、17はP型ウェル、18はゲート酸化膜、19は一層目ポリSi、20は二層目ポリSi、21はn+フローティングディフュージョン部(FD)である。FD21は別の転送MOSトランジスタを介して別の光電変換部と接続される。図3において、2つの転送MOSトランジスタ3のドレインとFD部21を共通化して微細化とFD部21の容量低減による感度向上を図っているが、Al配線でFD部21を接続しても良い。
【0024】
図4及び図5は、撮像用画素と焦点検出用画素の構造を説明する図である。本実施形態においては、2行×2列の4画素のうち、対角2画素にG(緑色)の分光感度を有する画素を配置し、他の2画素にR(赤色)とB(青色)の分光感度を有する画素を各1個配置した、ベイヤー配列が採用されている。そして、このベイヤー配列の間に、焦点検出用画素が所定の規則にて分散配置される。撮像用画素の間に、焦点検出用画素を離散的に配置する技術は、特開2000−156823号公報等で開示されていて公知の技術であるため、説明は省略する。
【0025】
図4に撮像用画素の配置と構造を示す。図4(a)は2行×2列の撮像用画素の平面図である。周知のごとく、ベイヤー配列では対角方向にG画素が、他の2画素にRとBの画素が配置される。そしてこの2行×2列の構造が繰り返し配置される。図4(a)の断面A−Aを図4(b)に示す。MLは各画素の最前面に配置されたオンチップマイクロレンズ、CFRはR(Red)のカラーフィルタ、CFGはG(Green)のカラーフィルタである。PDは図3で説明したC−MOSセンサの光電変換部を模式的に示したもの、CLはC−MOSセンサ内の各種信号を伝達する信号線を形成するための配線層である。TLは撮影光学系を模式的に示したものである。
【0026】
ここで、撮像用画素のオンチップマイクロレンズMLと光電変換部PDは、撮影光学系TLを通過した光束を可能な限り有効に取り込むように構成されている。換言すると、撮影光学系TLの射出瞳EPと光電変換部PDは、マイクロレンズMLにより共役関係にあり、かつ光電変換部の有効面積は大面積に設計される。また、図4(b)ではR画素の入射光束について説明したが、G画素及びB(Blue)画素も同一の構造となっている。従って、撮像用のRGB各画素に対応した射出瞳EPは大径となり、被写体からの光束を効率よく取り込んで画像信号のS/Nを向上させている。
【0027】
図5は、撮影画面の水平方向(横方向)に瞳分割を行うための焦点検出用画素の配置と構造を示す。図5(a)は、焦点検出用画素を含む2行×2列の画素の平面図である。撮像信号を得る場合、G画素は輝度情報の主成分をなす。そして人間の画像認識特性は輝度情報に敏感であるため、G画素が欠損すると画質劣化が認められやすい。一方でRもしくはB画素は、色情報を取得する画素であるが、人間は色情報には鈍感であるため、色情報を取得する画素は多少の欠損が生じても画質劣化に気づきにくい。そこで本実施形態においては、2行×2列の画素のうち、G画素は撮像用画素として残し、RとBの画素を焦点検出用画素としている。これを図5(a)においてSHA及びSHBで示す。
【0028】
図5(a)の断面A−Aを図5(b)に示す。マイクロレンズMLと、光電変換部PDは図4(b)に示した撮像用画素と同一構造である。本実施形態においては、焦点検出用画素の信号は画像創生には用いないため、色分離用カラーフィルタの代わりに透明膜CFW(White)が配置される。また、撮像素子で瞳分割を行なうため、配線層CLの開口部はマイクロレンズMLの中心線に対して一方向に偏倚している。具体的には、焦点検出用画素SHAの開口部OPHAは右側に偏倚しているため、撮影レンズTLの左側の射出瞳EPHAを通過した光束を受光する。同様に、焦点検出用画素SHBの開口部OPHBは左側に偏倚しているため、撮影レンズTLの右側の射出瞳EPHBを通過した光束を受光する。よって、画素SHAを水平方向に規則的に配列し、これらの画素群で取得した被写体像をA像とする。また、画素SHBも水平方向に規則的に配列し、これらの画素群で取得した被写体像をB像とすると、A像とB像の相対位置を検出することで、撮影レンズ137のピントずれ量(デフォーカス量)が検出できる。ここで、マイクロレンズMLは、撮影レンズTLの左側の射出瞳EPHAを透過した光束からなるA像と、撮影レンズTLの右側の射出瞳EPHBを透過した光束からなるB像の、一対の光学像を生成するレンズ要素の機能を果たしている。
【0029】
なお、上記焦点検出用画素SHA及びSHBでは、撮影画面の横方向に輝度分布を有した被写体、例えば縦線に対しては焦点検出可能だが、縦方向に輝度分布を有する横線は焦点検出不能である。そこで本実施形態では、後者についても焦点検出できるよう、撮影レンズの垂直方向(縦方向)に瞳分割を行う画素も備えている。
【0030】
図6は、撮影画面の垂直方向に瞳分割を行うための焦点検出用画素の配置と構造を示す。図6(a)は、焦点検出用画素を含む2行×2列の画素の平面図で、図5(a)と同様に、G画素は撮像用画素として残し、RとBの画素を焦点検出用画素としている。これを図6(a)においてSVC及びSVDで示す。図6(a)の断面A−Aを図6(b)に示すが、図5(b)の画素が横方向に瞳分離する構造であるのに対して、図6(b)の画素は瞳分離方向が縦方向になっているだけで、画素の構造としては変わらない。すなわち、焦点検出用画素SVCの開口部OPVCは下側に偏倚しているため、撮影レンズTLの上側の射出瞳EPVCを通過した光束を受光する。同様に、焦点検出用画素SVDの開口部OPVDは上側に偏倚しているため、撮影レンズTLの下側の射出瞳EPVDを通過した光束を受光する。よって、焦点検出用画素SVCを垂直方向に規則的に配列し、これらの画素群で取得した被写体像をC像とする。また、焦点検出用画素SVDも垂直方向に規則的に配列し、これらの画素群で取得した被写体像をD像とすると、C像とD像の相対位置を検出することで、撮影画面の垂直方向に輝度分布を有する被写体像のピントずれ量(デフォーカス量)が検出できる。
【0031】
図7は、第1の実施形態における撮像素子の瞳分割状況を概念的に説明する図である。TLは撮影レンズ、107は撮像素子、OBJは被写体、IMGは被写体像である。撮像用画素は図4で説明したように、撮影レンズの射出瞳全域EPを通過した光束を受光する。一方、焦点検出用画素は図5及び図6で説明したように、瞳分割機能を有している。具体的には、図5の焦点検出用画素SHAは撮像面からレンズ後端を見て左側の瞳を通過した光束、すなわち図7の瞳EPHAを通過した光束を受光する。同様に焦点検出用画素SHB、SVC及びSVDはそれぞれ瞳EPHB、EPVC及びEPVDを通過した光束を受光する。そして、焦点検出用画素を、撮像素子107の全領域に渡って分布させることで、撮像領域全域で焦点検出を可能としている。
【0032】
図8は、CPU121の距離情報取得機能により得られた距離情報を示した図である。第1の実施形態における撮像素子107では、図5及び図6で説明したような焦点検出用画素SHA、SHB、SVC、SVDが、全領域に渡って分布しているため、撮影画面の任意の位置における被写体距離を取得することが可能となる。得られた被写体距離の分布の中で、被写体距離の近い領域をつなぎ合わせてグルーピングすることで、撮影画面中に含まれる被写体の輪郭を抽出することが可能となる。Target1、Target2、Target3は、抽出された被写体領域を示したものであり、BackGround1は、背景領域を示したものである。Dist1、Dist2、Dist3、Dist4は被写体距離である。Dist1は被写体領域Target1における被写体距離の代表値、Dist2は被写体領域Target2における被写体距離の代表値、Dist3は被写体領域Target3における被写体距離の代表値である。また、Dist4は背景領域BackGround1における被写体距離である。Dist1が最も近く、Dist2は2番目に近く、Dist3は3番目に近い。そして、Dist4は最も遠く位置する。図8に示すような距離情報の取得は、CPU121が行う。CPU121は、焦点検出用画素から得られる被写体距離分布から被写体の抽出を行い、各被写体の領域及び距離を取得する。
【0033】
本実施形態の画像処理装置では、この距離情報と撮影レンズのボケ情報に基づいて、撮影画像(撮影画像データ)のボケ修復を行う。ボケの生成過程は、画像処理装置の特性や撮影レンズの特性から推定することが可能である。このボケの生成過程をモデル化したボケ修復フィルタを定義し、ウィーナーフィルタ等の一般にデコンボリューションと呼ばれる画像復元アルゴリズムによってボケ画像を復元処理することで、ボケ修復を行う。ボケ修復方法については、特開2000−20691号公報に記載されているため、詳細な説明は省略する。
【0034】
図9は、被写体距離Dist1、Dist2、Dist3、Dist4と、ある撮影レンズの状態におけるボケ修復可能な距離の関係を示した図である。ボケ修復可能な距離は、画像処理装置が有する撮影レンズごとの被写体距離に応じたボケ修復フィルタによって異なる。そこで、CPU121は、撮影レンズ137のフォーカスレンズの状態に応じてボケ修復可能な距離の範囲を算出する。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタは、第1のボケ修復情報と呼ぶ。ボケ修復可能な最も至近側の距離を第1距離Dist11、最も無限遠側の距離を第2距離Dist12とする。CPU121のボケ修復機能は、第1距離Dist11と第2距離Dist12の範囲の被写体像に対して、ボケ修復が可能となる。図8で説明した被写体距離Dist1、Dist2、Dist3、Dist4のうち、Dist1〜3については、第1距離Dist11と第2距離Dist12の範囲に位置しており、Dist4は範囲外に位置しているとする。
【0035】
図10は、ボケ修復部により撮影画像のボケが修復される様子を示した図である。図10における撮像画像は、図8の撮像画像と同じものである。図10(A)は、被写体領域Target1にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target1における被写体距離Dist1に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target1に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target1はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target1以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(A)に示すような、被写体領域Target1にピントがあった画像を取得することが可能となる。
【0036】
図10(B)は、被写体領域Target2にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target2における被写体距離Dist2に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target2に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target2はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target2以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(B)に示すような、被写体領域Target2にピントがあった画像を取得することが可能となる。
【0037】
図10(C)は、被写体領域Target3にピントを合わせるボケ修復を行った様子を示したものである。被写体領域Target3における被写体距離Dist3に対応した画像処理装置の特性情報及び撮影レンズ情報から、ボケ修復フィルタを定義する。被写体領域Target3に対して、このボケ修復フィルタに基づいた修復処理を行うことで、被写体領域Target3はボケ修復されて、ピントの合った画像となる。その際に、被写体領域Target3以外の領域についても、同様に、ボケ修復フィルタを定義し修復処理を行う。こうすることで、図10(C)に示すような、被写体領域Target3にピントがあった画像を取得することが可能となる。
【0038】
以上、図10(A)〜図10(C)を用いて説明したように、本実施形態の画像処理装置では、各被写体の領域及び距離を含む距離情報に基づいてボケ修復することで、ピントを合わせる被写体を選択することが可能となる。
【0039】
図11〜図16は、本発明の第1の実施例の画像処理装置の焦点調節及び撮影工程を説明するためのフローチャートである。図11は本実施形態の画像処理装置のメインフローである。メインフローの動作はCPU121が制御する。
【0040】
撮影者がカメラの電源スイッチをオン操作すると(ステップS101)、CPU121はカメラ内の各アクチュエータや撮像素子の動作確認を行い、メモリ内容や実行プログラムの初期化を行うと共に、撮影準備動作を実行する(ステップS102)。ステップS103では、レンズ通信回路135を介して撮影レンズ137内のカメラ通信回路136とレンズ通信を行う。レンズ通信によりレンズの動作確認を行い、レンズ内のメモリ内容や実行プログラムの初期化を行うと共に、準備動作を実行させる。また、焦点検出や撮像に必要なレンズの諸特性データを取得し、カメラ内メモリ144に保存する。ステップS104では撮像素子の撮像動作を開始し、プレビュー用の低画素動画像を出力する。ステップS105では読み出した動画をカメラ背面に設けられた表示器131に表示し、撮影者はこのプレビュー画像を目視して撮影時の構図決定を行う。
【0041】
ステップS106では、プレビュー用動画像に顔が存在するか否かを認識する。そして、プレビュー用動画像から、顔の数、位置、そして大きさを検出し、カメラ内メモリ144に記録しておく。顔を認識する技術は、特開2004−317699号公報に開示されているため、ここでは説明を省略する。ステップS107で撮影領域に顔が存在していると認識された場合には、ステップS108に移行し、焦点調節モードを顔AFモードに設定する。ここで顔AFモードとは、撮影領域の顔の位置とステップS200で作成される被写体距離マップの両方を加味して焦点を合わせるAFモードを指す。一方ステップS107で撮影領域に顔が存在していないと認識された場合は、ステップS107からステップS109に移行し、焦点調節モードを多点AFモードに設定する。ここで多点AFモードとは、撮影領域を例えば3×5=15分割し、ステップS200で作成される被写体距離マップから算出される各分割領域での焦点検出結果と、被写体の輝度情報とに基づき、主被写体を類推し、その領域を合焦させるモードを指す。
【0042】
ステップS108あるいはステップS109でAFモードを決定したら、ステップS110で、撮影準備スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS117に進みメインスイッチがオフされたか否かを判別する。ステップS110で撮影準備スイッチがオン操作されると、ステップS200に移行し、被写体距離マップ作成サブルーチンを実行する。ステップS111では、ステップS200で算出した被写体距離マップに基づき、焦点検出位置を決定する。ここで検出位置決定方法は至近側優先とし、ステップS200で得られた被写体の中で、最も至近側に位置する被写体の位置を、焦点検出位置として設定する。
【0043】
ステップS112では、ステップS111で決定した焦点検出位置における焦点ずれ量をステップS200で得られる被写体距離マップから算出し、得られた焦点ずれ量が許容値以下か否かを判断する。そして焦点ずれ量が許容値より大きい場合は、非合焦と判断し、ステップS113でフォーカスレンズを駆動し、その後ステップS110に戻って撮影準備スイッチが押されたか否かを判別する。そしてステップS112にて合焦状態に達したと判定されると、ステップS114にて合焦表示を行い、ステップS115に移行する。ステップS115では、撮影開始スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS115にて撮影待機状態を維持する。ステップS115で撮影開始スイッチがオン操作されるとステップS300に移行し、撮影サブルーチンを実行する。
【0044】
ステップS300の撮影サブルーチンが終了したら、ステップS116に進み、撮影開始スイッチがオフか否かを判断する。撮影開始スイッチがオンの状態で維持されている場合には、再びステップS300に進み、撮影サブルーチンを行う。いわゆる連写の動作を行う。ステップS116で、撮影開始スイッチがオフであると判断されると、ステップS400に進み、撮影画像確認サブルーチンに進む。撮影画像確認サブルーチンを終えると、ステップS117に進み、メインスイッチがオフされたか否かを判定する。メインスイッチがオフされていない場合には、ステップS103に戻る。メインスイッチがオフされた場合には、一連の動作を終了する。
【0045】
図12は被写体距離マップ作成サブルーチンのフロー図である。被写体距離マップ作成サブルーチンの一連の動作も測距手段、すなわち、CPU121が行う。メインフローのステップS200から当サブルーチンのステップS200にジャンプすると、ステップS201において焦点検出領域の設定を行う。AFモードに基づいて決められた少なくとも1つ以上の焦点検出領域の中から焦点検出領域を決め、ステップS202以降の処理を行う。ステップS202では、ステップS201で設定した焦点検出領域の焦点検出用画素の信号を読み出す。ステップS203では、相関演算用2像の創生を行う。ステップS202にて読み出した各焦点検出画素の信号を並べることで、相関演算用のA像、B像の信号とする。
【0046】
ステップS204では、得られたA像、B像に基づいて相関演算を行い、A像、B像の位相差を算出する。ステップS205では、相関演算結果の信頼性を判定する。ここで信頼性とは、A像、B像の一致度を指し、A像、B像の一致度が良い場合は一般的に焦点検出結果の信頼性が高い。そこで、この一致度が或る閾値を超えているか否かで位相差検出結果の信頼性の判定を行ったり、複数の焦点検出領域が選択されている場合に信頼性の高い情報を優先的に使用したりするなどに用いる。ステップS206では、ステップS204で得られたA像、B像の位相差に対して、位相差を焦点ずれ量に変換する変換係数をかけることで、焦点ずれ量を演算する。
【0047】
ステップS207では、全焦点検出領域について、焦点ずれ量算出が完了したか否かを判別する。全焦点検出領域が完了していないと判別されたときには、ステップS201に戻り、残っている焦点検出領域の中から焦点検出領域を選んで設定する。ステップS207で全焦点検出領域が完了したと判別されたときには、ステップS208に進む。ステップS208では、ステップS201〜207を繰り返すことで得られた全焦点検出領域における焦点ずれ量から、焦点ずれ量マップを作成する。ここで焦点ずれ量マップとは、撮影画面上の位置と焦点ずれ量とを対応させた分布データである。
【0048】
ステップS209では、ステップS208で得られた焦点ずれ量マップに対して、ステップS103のレンズ通信で撮影レンズ137から取得したレンズ情報を考慮して、焦点ずれ量を被写体距離に変換する。これにより、撮影画面上の位置と被写体距離とを対応させた分布データを得ることが可能となる。ステップS210では、被写体距離の分布データに基づき、被写体の抽出を行う。得られた被写体距離の分布の中で、被写体距離の近い領域をつなぎ合わせてグルーピングし、撮影画面中に含まれる被写体の輪郭を抽出する。これにより、各被写体の領域と被写体距離を対応させた被写体距離マップが得られることになる。ステップS210が終わったら、被写体距離マップ作成サブルーチンを終了し、メインフロー内のステップS111に進む。
【0049】
図13は、撮影サブルーチンのフロー図である。撮影サブルーチンの一連の動作も、CPU121が行う。ステップS301では、光量調節絞りを駆動し、露光時間を規定するメカニカルシャッタの開口制御を行う。ステップS302では、高画素静止画撮影のための画像読み出し、すなわち全画素の読み出しを行う。ステップS200では、ステップS302で得られた撮影画像の中に含まれる焦点検出用画素の出力を用いて、ステップS200で説明した被写体距離マップ作成サブルーチンを行う。これにより得られる各被写体の領域と被写体距離を対応させた被写体距離マップから、撮影画像の焦点ずれの量が分かる。図11のステップS110の後に行うステップS200の被写体距離マップ作成サブルーチンと比較すると、得られる画像の画素数が多く、より正確な被写体距離マップを作成することができる。ただし、高画素静止画による被写体距離マップの作成は、処理する画素数が多いため、処理時間がかかったり、コストの高い処理装置が必要となったりする。そのため、ここで、被写体距離マップを作成することは必須ではない。
【0050】
ステップS303では読み出した画像信号の欠損画素補間を行う。すなわち、焦点検出用画素の出力は撮像のためのRGBカラー情報を有しておらず、画像を得る上では欠陥画素に相当するため、周囲の撮像用画素の情報から補間により画像信号を創生する。ステップS304では、画像のγ補正、色変換、エッジ強調等の画像処理を行い、ステップS305において、フラッシュメモリ133に撮影画像を記録する。
【0051】
ステップ306では、ステップS305で記録した撮影画像に対応させて、カメラ本体138の特性情報をフラッシュメモリ133とカメラ内メモリ144に記録する。ここでカメラ本体138の特性情報とは、撮像素子107の撮像用画素及び焦点検出用画素の受光感度分布情報、カメラ本体138内での撮影光束のケラレ情報、カメラ本体138と撮影レンズ137との取り付け面から撮像素子107までの距離情報、製造誤差情報などが含まれる。撮像素子107の撮像用画素及び焦点検出用画素の受光感度分布情報は、オンチップマイクロレンズMLと光電変換部PDによって決まるため、これらの情報を記録しても良い。
【0052】
ステップS307では、ステップS305で記録した撮影画像に対応させて、撮影レンズ137の特性情報をフラッシュメモリ133とカメラ内メモリ144に記録する。ここで撮影レンズ137の特性情報とは、射出瞳EPの情報、枠情報、撮影時のFナンバー情報、収差情報、製造誤差情報、などが含まれる。ステップS308では、撮影した画像に関する画像関連情報をフラッシュメモリ133とカメラ内メモリ144に記録する。画像関連情報とは、撮影前の焦点検出動作に関する情報や、被写体移動情報、焦点検出動作の精度に関わる情報などが含まれる。
【0053】
撮影前の焦点検出動作に関する情報には、被写体距離マップや撮影時のフォーカスレンズの位置情報などが含まれる。これらの情報は、画像に関連付けられ、記録される。また、被写体移動情報は、図11のステップS115において撮影開始スイッチのオフ状態が検出されず、ステップS200に移行する、いわゆる連写動作に移行した場合に得られる複数の被写体距離マップから算出される。具体的には、一定時間の間隔があいた被写体距離マップから、画像内での被写体の移動や、被写体距離の変化、すなわち被写体移動速度を検出する。
【0054】
また、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や、ステップS200で行う被写体距離マップとして記録される被写体の距離情報の精度に関する情報である。この情報により、撮影された画像が、撮影者が意図した画像に対して、どの程度焦点ずれを起こしている可能性があるかを、推測することができる。例えば、レンズのフォーカス駆動の位置精度が悪いレンズで撮影を行った場合には、撮影された画像の焦点ずれ量は、比較的大きい可能性がある。一方、レンズのフォーカス駆動の位置精度が良いレンズで撮影を行った場合には、撮影された画像の焦点ずれ量は、小さい可能性が高い。このような、焦点ずれ量の大小の期待値を、数段階に区別し、焦点検出動作の精度に関わる情報として記録する。
【0055】
ステップS308が終わると、ステップS300の撮影サブルーチンを終了し、メインルーチンのステップS116に進む。
【0056】
図14は、撮影画像確認サブルーチンのフロー図である。撮影画像確認サブルーチンの一連の動作も、CPU121が行う。ステップS401では、ステップS200で作成した被写体距離マップを取得する。ここで取得する被写体距離マップは、プレビュー画像から作成される被写体距離マップでも、高画素静止画撮影により作成される被写体距離マップでもよい。より正確な被写体領域と被写体距離を検出するためには、高画素静止画撮影により作成される被写体距離マップの方が望ましい。
【0057】
ステップS402では、ボケ修復が可能な被写体距離の範囲と、被写体距離に応じてボケ修復に用いるフィルタを設定する。ステップS200の被写体距離マップ作成サブルーチンで説明したように、被写体距離マップから被写体領域と被写体距離を対応させた情報が得られる。また、図9で説明したように、ボケ修復可能な距離は撮影レンズ137の種類により異なり、ボケ修復可能な最も至近側の距離である第1距離Dist11と、最も無限遠側の距離である第2距離Dist12は変わってくる。そこで、撮影レンズ137によって決まるボケ修復可能な距離範囲(第1距離Dist11〜第2距離Dist12)内に位置する被写体の画像内における領域を、ボケ修復可能領域として設定する。これにより、各被写体領域と、その領域をボケ修復する際に用いる被写体距離とボケ修復フィルタを設定することができる。図8においては、Target1、Target2、Target3がボケ修復範囲となり、Dist1、Dist2、Dist3が、被写体距離範囲となる。これらのボケ修復可能領域、被写体距離範囲、ボケ修復の際に用いるボケ修復フィルタを、第1のボケ修復情報と呼ぶ。
【0058】
ステップS403では、ステップS402で設定された第1のボケ修復情報から抽出を行い、第2のボケ修復情報を設定する。この処理も上述の通りCPU121が行う。CPU121は、ボケ修復情報抽出手段として機能する。第2のボケ修復情報の設定に際しては、ステップS308で得られる画像関連情報を用いる。具体的には、撮影前後の焦点検出動作を行わず、被写体距離マップを算出していない場合には、ボケ修復範囲を、全領域適用外とし、実際のボケ修復処理は施さず、撮影された画像をそのままステップS404で表示する。一方、被写体距離マップを算出している場合には、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタを、第2のボケ修復情報と呼ぶ。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、ボケ修復可能領域として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。Dist2は被写体領域Target2における被写体距離の代表値であるため、被写体領域Target2内の全ての領域の距離が一定であるわけではない。そのため、Target2の被写体距離範囲としてDist2を含む一定範囲を設定する。ここで設定する被写体距離範囲は、Target2内の全領域の距離範囲が含まれるものであることが望ましい。
【0059】
図17、図18を用いて、設定する被写体距離範囲について説明する。図17(B)は、図8(B)と同じ物である。図17(A)および図17(C)は、図8(B)のボケ修復画像に対して、ピントを前後に若干ずらしてボケ修復を行った画像である。これらのピントを若干ずらしたボケ修復処理は、被写体距離がDist2とは異なる距離の被写体のピントが合うようにボケ修復を行う処理と等しい。図18は、図17(A)および図17(C)で行ったボケ修復によりピントがあう被写体距離を図9に対して追記したものである。図17(A)のボケ修復は、Dist2fの被写体距離と対応し、図17(C)のボケ修復は、Dist2bの被写体距離と対応する。本実施形態では、被写体距離Dist2f〜Dist2bの範囲内に、被写体Target2の領域全域が含まれるように、被写体距離範囲を設定する。これらの被写体距離範囲、ボケ修復可能領域、ボケ修復の際に用いるボケ修復フィルタを、第2のボケ修復情報と呼ぶ。
【0060】
また、画像関連情報として、被写体移動情報を用いることも可能である。上述した通り被写体移動情報とは、画像内での被写体の移動や、被写体移動速度の情報である。被写体距離マップを取得した一定時間後に、ステップS305の画像信号記録を行った場合、画像内の被写体の位置や距離が変化している可能性がある。被写体移動情報を用いて、画像内の被写体位置や被写体距離の推定変化量を算出し、被写体距離マップを更新する。この更新された被写体距離マップから、上述したように焦点ずれ量の小さい範囲を有する被写体領域をボケ修復可能領域とし、その被写体距離範囲とともに設定される。
【0061】
また、画像関連情報として、焦点検出動作の精度に関わる情報を用いることも可能である。上述した通り、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や被写体距離マップの算出精度の情報である。これらの精度情報から、得られた画像の被写体領域における焦点ずれ量の精度を算出することができる。上述した場合と同様に、画像内の第1の範囲内で、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、第2の範囲として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。このTarget2の被写体距離範囲を設定する際に、焦点ずれ量の精度情報を用いて、被写体距離範囲の設定を行う。具体的には、レンズのフォーカス駆動の位置精度が悪く、所望の位置に対してレンズの位置がばらつく場合には、画像の焦点ずれ量が大きい可能性があるため、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。被写体距離マップの算出精度が悪い場合にも、同様に、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。これにより、焦点検出誤差や焦点調節誤差を含むTarget2内の領域の距離範囲を被写体距離範囲として設定することができる。これらの被写体距離マップや、被写体移動情報や焦点検出動作の精度に関わる情報は、画像関連情報に対応し、また測距動作に関する情報にも対応する。
【0062】
ステップS403で第2のボケ修復情報の設定が終わると、ステップS500のボケ修復サブルーチンに進む。ステップS404では、ステップS500でボケ修復された画像を、表示器131に表示する。ステップS404が終わるとステップS405で、ピント位置微修正の指示の有無を判定する。撮影者の動作によって、ピント位置微修正の指示が出された場合には、ステップS406に進み、ステップS500のボケ修復で使用した被写体距離情報を修正する。被写体距離情報の修正は、ステップS403で設定される被写体距離範囲内で行う。ステップS406で被写体距離情報の修正がなされるとステップS500に戻り、再度ボケ修復処理を行う。
【0063】
ステップS405で、ピント位置微修正の指示がなかった場合には、ステップS407に進み、ボケ修復に使用した情報と共に、ボケ修正画像記録を行う。ステップS407を終えると、撮影後確認画像表示サブルーチンを終了し、撮影サブルーチンに戻る。
【0064】
このように、撮影レンズなどから決定する第1のボケ修復情報を、画像関連情報により限定し、第2のボケ修復情報を設定することにより以下のような利点がある。撮影者が、撮影した画像に対して、ピントの修正を行う場合には、撮影者の意図する被写体にある程度、ピントが合っている可能性が高い。そのため、画像処理装置にとってボケ修復可能な範囲全域にある被写体距離全域で、ボケ修復を行うと、撮影者にとっては無駄な修復領域が多く、処理時間などもかかるため、快適な操作を行うことができない。本実施形態のように、撮影した画像に関連する情報からボケ修復を行う範囲を狭めることによって、撮影者の意図するボケ修復画像を含む、より狭い被写体距離範囲のボケ修復処理のみを行えばよい。そのため、ボケ修復処理の計算負荷を低減させることができる。また、処理時間が少ないため、撮影者にとって快適なピント修正処理を行うことができる。
【0065】
図15は、ボケ修復サブルーチンのフロー図である。ボケ修復サブルーチンの一連の動作も、CPU121が行う。ステップS501では、CPU121は、画像処理回路125における変換処理の内容を示す変換情報を取得する。ステップS502では、CPU121は、画像処理回路125から供給される画像情報を変換する際の変換方法を決定する。具体的には、CPU121は、ステップS501で取得した変換情報(必要に応じて、変換情報の他、ステップS306やステップS307で取得した画像処理装置特性や撮影レンズ特性情報)に基づいて、変換方法を決定する。ここで決定される変換方法は、特開2000−20691号公報に記載されている画像復元処理のアルゴリズムの前提条件である線形性を確保するために、露光値と画素値とが比例関係になるように画像情報を変換する方法である。
【0066】
例えば、画像処理回路125でガンマ補正を実行する場合には、ステップS502ではガンマ補正による変換の逆変換を実行する。これにより変換前の画像を再生することができ、線形性を有する画像を取得することが可能となる。同様に、画像処理回路125で色補正を実行する場合には、ステップS502では色変換による変換の逆変換を実行する。これにより、線形性を有する画像を取得することが可能となる。以上のように、ステップS502では、画像処理回路125による変換処理の逆変換に相当する変換方法を決定する。
【0067】
ステップS503では、画像処理回路125より撮影画像を取得する。そしてステップS504では、ステップS502で決定した変換方法に従って、取得した撮影画像を変換する。ステップS504で変換処理が終わると、ステップS600に進み、ボケ関数の生成を行う。上述したボケ修復フィルタとボケ関数は同義である。ステップS505では、ステップS600で生成したボケ関数の逆変換を行うことで、ステップS504で変換処理した撮影画像に対してボケ修復処理を行う。ここでは、一般的にデコンボリューション処理と呼ばれる画像復元アルゴリズムによってボケ修復処理を行う。これにより、所定被写体のボケが修復されたボケ修復画像を得ることができる。ボケ関数の逆変換処理を行うことによるボケ修復の方法は、特開2000−20691号公報に開示されているため、説明は省略する。ステップS505が終わるとボケ修復サブルーチンを終了し、撮影後確認画像表示サブルーチン内のステップS404に進む。
【0068】
図16は、ボケ関数生成サブルーチンのフロー図である。ボケ関数生成サブルーチンの一連の動作も、CPU121が行う。ステップS601では、撮影時にステップS305でカメラ内メモリ144に記録されたカメラ本体138の特性情報を取得する。ステップS602では、撮影時にステップS306でカメラ内メモリ144に記録された撮影レンズ137の特性情報を取得する。
【0069】
ステップS603では、ボケ関数を定義する際に用いるパラメータを取得する。ボケ関数は、撮影レンズ137と撮像素子107との間の光伝達特性によって決まる。そしてこの光伝達特性は、カメラ本体138の特性情報、撮影レンズ137の特性情報、撮影画像における被写体領域の位置、被写体距離などの要因によって変わる。そこで、これらの要因とボケ関数を定義する際に用いるパラメータとを関連付けたテーブルデータを、カメラ内メモリ144に記憶しておく。そしてステップS603が実行されると、CPU121は、これらの要因に基づいて、カメラ内メモリ144からボケ関数定義の際に用いるパラメータを取得する。
【0070】
ステップS604では、ステップS603で取得したボケパラメータに基づいて、ボケ関数を定義する。ボケ関数の例としては、ボケ現象が正規分布法則に沿うものとして考えたガウシアン分布などがある。中心画素からの距離をr、正規分布法則の任意のパラメータをσ2とすると、ボケ関数h(r)は、下記のように与えられる。
【0071】
h(r)={1/(σ√(2π))}・exp(−r2/σ2)
ステップS604が終わったら、ボケ関数生成サブルーチンを終了し、ボケ修復サブルーチン内のステップS505に進む。
【0072】
第1の実施形態の画像処理装置では、撮影直後の再生時に、ピントの微修正を行う場合を説明したが、ピントの微修正を行う機会は、これに限らない。以前に撮影した画像を再生し、ピント修正を行う場合にも適用可能である。
【0073】
また、第1の実施形態の画像処理装置では、撮影レンズが交換可能なカメラで説明したが、撮影レンズがカメラに備わっている所謂レンズくくり付けタイプのカメラに適用してもよい。レンズくくり付けタイプのカメラにおいても、従来の課題は存在する。そして本実施形態で説明したようにボケ修復を行う画像範囲の絞込みを行うことで、同様の効果を得ることができる。
【0074】
また、第1の実施形態の画像処理装置では、焦点検出を撮像素子で行うカメラで説明したが、他の焦点検出手段を有するカメラに適用してもよい。他の焦点検出手段を有するカメラにおいても、従来の課題は存在する。そして本実施形態で説明したようにボケ修復を行う画像範囲の絞込みを行うことで、同様の効果を得ることができる。
【0075】
(第2の実施形態)
以下、図19を参照して、本発明の第2の実施形態に係わる画像処理装置について説明する。第2の実施形態と第1の実施形態の違いは、第2の画像範囲を設定する際に利用する画像関連情報が異なる点である。第2の実施形態の構成によれば、より正確に、撮影者の意図する被写体を認識することができ、ボケ修復を行う第2の画像範囲を精度よく設定することができる。
【0076】
なお、第1の実施形態における画像処理装置の構成を示すブロック図(図1)、焦点検出の実施方法(図2〜図7)、ボケ修復方法(図8〜図10)、撮影に関する動作(図11〜図13)、ボケ修復処理に関する動作(図15、図16)に関しては、第2の実施形態でも同様の構成であり、同様の動作を行うため、説明は省略する。
【0077】
図11の画像処理装置のメインフローのステップS400にて行われる撮影画像確認サブルーチンについて、図19のフローチャートを用いて詳細に説明する。図19のフローチャートにおいて、第1の実施形態で示した撮影画像確認サブルーチンのフローチャートである図14と同様の処理を行う部分に関しては、同じ番号を付している。
【0078】
ステップS401では、ステップS200で作成した被写体距離マップを取得する。ここで取得する被写体距離マップは、プレビュー画像から作成される被写体距離マップでも、高画素静止画撮影により作成される被写体距離マップでもよい。より正確な被写体領域と被写体距離を検出するためには、高画素静止画撮影により作成される被写体距離マップの方が望ましい。
【0079】
ステップS402では、ボケ修復が可能な被写体距離の範囲と、被写体距離に応じてボケ修復に用いるフィルタを設定する。ステップS200の被写体距離マップ作成サブルーチンで説明したように、被写体距離マップから被写体領域と被写体距離を対応させた情報が得られる。また、図9で説明したように、ボケ修復可能な距離は撮影レンズ137の種類により異なり、ボケ修復可能な最も至近側の距離である第1距離Dist11と、最も無限遠側の距離である第2距離Dist12は変わってくる。そこで、撮影レンズ137によって決まるボケ修復可能な距離範囲(第1距離Dist11〜第2距離Dist12)内に位置する被写体の画像内における領域を、ボケ修復可能領域として設定する。これにより、各被写体領域と、その領域をボケ修復する際に用いる被写体距離とボケ修復フィルタを設定することができる。図8においては、Target1、Target2、Target3がボケ修復範囲となり、Dist1、Dist2、Dist3が、被写体距離範囲となる。これらのボケ修復可能領域、被写体距離範囲、ボケ修復の際に用いるボケ修復フィルタを、第1のボケ修復情報と呼ぶ。
【0080】
ステップS403では、ステップS402で設定された第1のボケ修復情報から抽出を行い、第2のボケ修復情報を設定する。この処理も上述の通りCPU121が行う。CPU121は、ボケ修復情報抽出手段として機能する。第2のボケ修復情報の設定に際しては、ステップS308で得られる画像関連情報を用いる。具体的には、撮影前後の焦点検出動作を行わず、被写体距離マップを算出していない場合には、ボケ修復範囲を、全領域適用外とし、実際のボケ修復処理は施さず、撮影された画像をそのままステップS404で、表示する。一方、被写体距離マップを算出している場合には、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。ここで算出されるボケ修復可能な距離の範囲、および、ボケ修復に用いるフィルタは、第2のボケ修復情報に対応する。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、ボケ修復可能領域として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。Dist2は被写体領域Target2における被写体距離の代表値であるため、被写体領域Target2内の全ての領域の距離が一定であるわけではない。そのため、Target2の被写体距離範囲としてDist2を含む一定範囲を設定する。
【0081】
ここで設定する被写体距離範囲は、Target2内の全領域の距離範囲が含まれるものであることが望ましい。図17、図18を用いて、設定する被写体距離範囲について説明する。図17(B)は、図8(B)と同じ物である。図17(A)および(C)は、図8(B)のボケ修復画像に対して、ピントを前後に若干ずらしてボケ修復を行った画像である。これらのピントを若干ずらしたボケ修復処理は、被写体距離がDist2とは異なる距離の被写体のピントが合うようにボケ修復を行う処理と等しい。図18は、図17(A)および(C)で行ったボケ修復によりピントがあう被写体距離を図9に対して追記したものである。図17(A)のボケ修復は、Dist2fの被写体距離と対応し、図17(C)のボケ修復は、Dist2bの被写体距離と対応する。本実施形態では、被写体距離Dist2f〜Dist2bの範囲内に、被写体Target2の領域全域が含まれるように、被写体距離範囲を設定する。これらの被写体距離範囲、ボケ修復可能領域、ボケ修復の際に用いるボケ修復フィルタは、第2のボケ修復情報に対応する。
【0082】
また、画像関連情報として、被写体移動情報を用いることも可能である。上述した通り被写体移動情報とは、画像内での被写体の移動や、被写体移動速度の情報である。被写体距離マップを取得した一定時間後に、ステップS305の画像信号記録を行った場合、画像内の被写体の位置や距離が変化している可能性がある。被写体移動情報を用いて、画像内の被写体位置や被写体距離の推定変化量を算出し、被写体距離マップを更新する。この更新された被写体距離マップから、上述したように焦点ずれ量の小さい範囲を有する被写体領域をボケ修復可能領域とし、その被写体距離範囲とともに設定する。
【0083】
また、画像関連情報として、焦点検出動作の精度に関わる情報を用いることも可能である。上述した通り、焦点検出動作の精度に関わる情報とは、レンズのフォーカス駆動の位置精度や被写体距離マップの算出精度の情報である。これらの精度情報から、得られた画像の被写体領域における焦点ずれ量の精度を算出することができる。上述した場合と同様に、画像内の第1の範囲内で、最も焦点ずれ量が小さい範囲を有する被写体領域を、ボケ修復可能な領域とし、この領域の被写体距離範囲の設定を行う。例えば、図8において、被写体Target1〜3のうち、焦点ずれ量が最も小さい被写体が、Dist2の距離にあるTarget2の場合は、第2の範囲として、Target2とその被写体距離範囲としてDist2を中心とした一定範囲が設定される。このTarget2の被写体距離範囲を設定する際に、焦点ずれ量の精度情報を用いて、被写体距離範囲の設定を行う。具体的には、レンズのフォーカス駆動の位置精度が悪く、所望の位置に対してレンズの位置がばらつく場合には、画像の焦点ずれ量が大きい可能性があるため、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。被写体距離マップの算出精度が悪い場合にも、同様に、被写体距離範囲は、Target2の全領域の被写体距離より広い範囲を設定する。これにより、焦点検出誤差や焦点調節誤差を含むTarget2内の領域の距離範囲を被写体距離範囲として設定することができる。これらの被写体距離マップや、被写体移動情報や焦点検出動作の精度に関わる情報は、画像関連情報に対応し、また測距動作に関する情報にも対応する。
【0084】
ステップS403で第2の画像範囲と被写体の距離範囲設定が終わると、ステップS500のボケ修復サブルーチンに進む。ステップS404では、ステップS500でボケ修復された画像を、表示器131に表示する。ステップS404が終わるとステップS405で、ピント位置微修正の指示の有無を判定する。撮影者の動作によって、ピント位置微修正の指示が出された場合には、ステップS406に進み、ステップS500のボケ修復で使用した被写体距離情報を修正する。被写体距離情報の修正は、ステップS403で設定される被写体距離範囲内で行う。
【0085】
ステップS406を終えるとステップS4001に移行し、画像の拡大表示がされているか否かを(表示状態を)判断する。画像処理装置に備えられている画像表示装置は、一般に十分に大きくないため、撮影した画像のピント状況を確認するためには、画像の拡大表示を行うと確認しやすい。画像の拡大表示が行われていた場合は、ステップS4002に進み、第2のボケ修復情報の更新を行う。上述したように画像の拡大が行われている場合には、拡大されて表示されている範囲が、撮影者が望むボケ修復領域と推測することができる。その表示領域が、既に設定されているボケ修復領域より狭い場合には、その領域を更新し、第2のボケ修復情報を再度設定する。ここで使用する画像の拡大表示情報は、画像関連情報に対応し、画像表示関連情報にも対応する。ステップS4001で画像の拡大表示がされていなかった場合や、ステップS4002で第2のボケ修復情報の更新がなされるとステップS500に戻り、再度ボケ修復処理を行う。ステップS405で、ピント位置微修正の指示がなかった場合には、撮影後確認画像表示サブルーチンを終了し、撮影サブルーチンに戻る。
【0086】
このように、撮影レンズなどから決定する第1のボケ修復情報を、画像関連情報により限定し、第2のボケ修復情報を設定することにより以下のような利点がある。撮影者が、撮影した画像を拡大表示して、ピントの修正を行う場合には、撮影者の意図する被写体が、拡大されて表示されている可能性が高い。本実施形態のように、撮影した画像に関連する再生時の拡大情報からボケ修復を行う範囲を狭めることによって、撮影者の意図するボケ修復画像を含む、より狭い被写体距離範囲のボケ修復処理のみを行えばよい。そのため、ボケ修復処理の計算負荷を低減させることができる。また、処理時間が少ないため、撮影者にとって快適なピント修正処理を行うことができる。
【0087】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【特許請求の範囲】
【請求項1】
撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復手段と、
撮影レンズに関する情報に基づいて前記修復手段によるボケ修復が可能な被写体距離の範囲を設定する第1の設定手段と、
画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定手段とを備え、 前記修復手段は、前記第2の設定手段によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする画像処理装置。
【請求項2】
前記修復手段は、前記撮影レンズと前記撮像手段との間の光伝達特性に基づいた復元処理によりボケ修復を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
被写体の距離情報を取得する測距手段をさらに備え、前記画像データの画像内の被写体距離の情報とは、領域ごとの被写体距離を示す情報であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記測距手段は、前記撮像手段に含まれる瞳分割された画素からの出力の位相差に基づいて前記領域ごとの被写体の距離情報を算出することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第2の設定手段は、画像データの画像内の被写体情報に基づいて前記ボケ修復を行う範囲を設定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記被写体情報とは、画像データの画像内に存在する顔の位置の情報であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記第2の設定手段は、前記被写体情報に基づいて、最も焦点ずれ量が小さい被写体を含む被写体距離の範囲を、前記ボケ修復を行う被写体距離の範囲に設定することを特徴とする請求項5または6に記載の画像処理装置。
【請求項8】
撮像手段と、
前記画像データから前記被写体情報を検出する検出手段とを備えることを特徴とする請求項5乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記撮像手段で得られた画像を表示する表示手段をさらに備え、前記第2の設定手段は、前記表示手段による画像の表示状態に基づいて、前記ボケ修復を行う被写体距離の範囲を設定することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記修復手段の行う前記画像処理は、デコンボリューション処理であることを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復工程と、
撮影レンズに関する情報に基づいて前記修復工程によるボケ修復が可能な被写体距離の範囲を設定する第1の設定工程と、
画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定工程とを備え、 前記修復工程では、前記第2の設定工程によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする画像処理方法。
【請求項1】
撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復手段と、
撮影レンズに関する情報に基づいて前記修復手段によるボケ修復が可能な被写体距離の範囲を設定する第1の設定手段と、
画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定手段とを備え、 前記修復手段は、前記第2の設定手段によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする画像処理装置。
【請求項2】
前記修復手段は、前記撮影レンズと前記撮像手段との間の光伝達特性に基づいた復元処理によりボケ修復を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
被写体の距離情報を取得する測距手段をさらに備え、前記画像データの画像内の被写体距離の情報とは、領域ごとの被写体距離を示す情報であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記測距手段は、前記撮像手段に含まれる瞳分割された画素からの出力の位相差に基づいて前記領域ごとの被写体の距離情報を算出することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第2の設定手段は、画像データの画像内の被写体情報に基づいて前記ボケ修復を行う範囲を設定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記被写体情報とは、画像データの画像内に存在する顔の位置の情報であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記第2の設定手段は、前記被写体情報に基づいて、最も焦点ずれ量が小さい被写体を含む被写体距離の範囲を、前記ボケ修復を行う被写体距離の範囲に設定することを特徴とする請求項5または6に記載の画像処理装置。
【請求項8】
撮像手段と、
前記画像データから前記被写体情報を検出する検出手段とを備えることを特徴とする請求項5乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記撮像手段で得られた画像を表示する表示手段をさらに備え、前記第2の設定手段は、前記表示手段による画像の表示状態に基づいて、前記ボケ修復を行う被写体距離の範囲を設定することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記修復手段の行う前記画像処理は、デコンボリューション処理であることを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
撮影レンズを介して入射した被写体光を光電変換する撮像手段により得られた画像データに画像処理によってボケ修復を行う修復工程と、
撮影レンズに関する情報に基づいて前記修復工程によるボケ修復が可能な被写体距離の範囲を設定する第1の設定工程と、
画像データの画像内の被写体距離の情報に基づいて、前記ボケ修復が可能な被写体距離の範囲よりも狭いボケ修復を行う被写体距離の範囲を設定する第2の設定工程とを備え、 前記修復工程では、前記第2の設定工程によって設定された前記ボケ修復を行う被写体距離の範囲において前記画像データのボケ修復を行うことを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図18】
【図19】
【図10】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図18】
【図19】
【図10】
【図17】
【公開番号】特開2013−85291(P2013−85291A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2012−288552(P2012−288552)
【出願日】平成24年12月28日(2012.12.28)
【分割の表示】特願2009−165054(P2009−165054)の分割
【原出願日】平成21年7月13日(2009.7.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願日】平成24年12月28日(2012.12.28)
【分割の表示】特願2009−165054(P2009−165054)の分割
【原出願日】平成21年7月13日(2009.7.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]