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