(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022137760
(43)【公開日】2022-09-22
(54)【発明の名称】焦点調節装置および焦点調節方法
(51)【国際特許分類】
G02B 7/28 20210101AFI20220914BHJP
G03B 13/36 20210101ALI20220914BHJP
H04N 5/232 20060101ALI20220914BHJP
【FI】
G02B7/28
G03B13/36
H04N5/232 127
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021037417
(22)【出願日】2021-03-09
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】100109209
【弁理士】
【氏名又は名称】小林 一任
(72)【発明者】
【氏名】星野 友宏
【テーマコード(参考)】
2H011
2H151
5C122
【Fターム(参考)】
2H011BA21
2H151BA01
2H151CE30
2H151DA03
2H151DA04
2H151DA19
5C122EA06
5C122EA65
5C122EA68
5C122FD01
5C122FD07
5C122FD13
5C122FH11
5C122HA88
5C122HB01
5C122HB06
5C122HB09
5C122HB10
(57)【要約】
【課題】主対象物の前を横切るような細い対象物(遮蔽物)を排除して主対象物に合焦させることができるようにした焦点調節装置および焦点調節方法を提供する。
【解決手段】複数のAFエリアAFAを有し、各AFエリアにおいてデフォーカス量を検出し、ボディ範囲BOと外側範囲OSのそれぞれの領域において、デフォーカス量を距離に相当するレンズ位置LDPに変換してデプスマップを作成する。デプスマップができると、ボディ範囲BO内の平均LDPより所定値以上大きい至近側の領域を横切り候補CCCとして抽出する。候補に基づいて不要対象物に対応する領域を判別し、主対象物領域から不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置において、
上記撮像信号に基づいて主対象物の位置を検出する主対象物位置検出部と、
上記撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部と、
上記主対象物の位置に対応する領域の上記距離値の統計値に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定する候補領域設定部と、
上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記主対象物領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部と、
を具備し、
上記候補領域設定部は、上記主対象物領域に対応する領域内の第1の候補領域と、上記主対象物領域以外の領域に対応する領域内の第2の候補領域を設定し、
上記制御部は、上記第1の候補領域に対応する第1の距離値と上記第2の候補領域に対応する第2の距離値に基づいて上記不要対象物に対応する領域を判別する、
ことを特徴とする焦点調節装置。
【請求項2】
上記制御部は、上記第1の距離値と第2の距離値の差が、第1の所定量の範囲内であり、かつ、上記第1の候補領域の面積の上記主対象物領域の面積に対する比率が第2の所定量より小さい場合に、上記第1の候補領域と上記第2の候補領域を上記不要対象物に対応する領域と判別することを特徴とする請求項1に記載の焦点調節装置。
【請求項3】
上記主対象物位置検出部は、主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出し、
上記候補領域設定部は、上記第2の領域内に第3の候補領域を設定し、
上記制御部は、上記第1の距離値と上記第2の距離値と上記第3の候補領域に対応する第3の距離値に基づいて上記不要対象物に対応する領域を判別する、
ことを特徴とする請求項1に記載の焦点調節装置。
【請求項4】
上記制御部は、上記第1の距離値と上記第2の距離値と上記第3の距離値の差が、第3の所定量の範囲内である場合に、上記第1の候補領域と上記第2の候補領域と上記第3の候補領域を上記不要対象物に対応する領域と判別することを特徴とする請求項3に記載の焦点調節装置。
【請求項5】
上記制御部は、さらに上記第3の候補領域の面積の上記第2の領域の面積に対する比率が第4の所定量よりも小さい場合に、上記第1の候補領域と上記第2の候補領域と上記第3の候補領域を上記不要対象物に対応する領域と判別することを特徴とする請求項4に記載の焦点調節装置。
【請求項6】
撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置において、
上記撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出する主対象物位置検出部と、
上記撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部と、
上記第1の領域と上記第2の領域を除く領域にて、上記第1の領域と上記第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定する候補領域設定部と、
上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記第2の領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部と、
を具備し、
上記制御部は、上記不要候補領域が複数フレームにわたり設定され、最新のフレームの上記第1の領域に対応する距離値と過去のフレームの上記第1の領域対応する距離値の差と、上記最新のフレームの上記第2の領域に対応する距離値と上記過去のフレームの上記第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を上記不要対象物に対応する領域と判別する、
ことを特徴とする焦点調節装置。
【請求項7】
上記不要候補領域は、複数の上記AF領域から構成されることを特徴とする請求項1乃至6のいずれか一項に記載の焦点調節装置。
【請求項8】
撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法において、
上記撮像信号に基づいて主対象物の位置を検出し、
上記撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出し、
上記主対象物の位置に対応する領域の上記距離値の統計値に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定し、
上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記主対象物領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御し、
さらに、上記主対象物領域に対応する領域内の第1の候補領域と、上記主対象物領域以外の領域に対応する領域内の第2の候補領域を設定し、
上記第1の候補領域に対応する第1の距離値と上記第2の候補領域に対応する第2の距離値に基づいて上記不要対象物に対応する領域を判別する、
ことを特徴とする焦点調節方法。
【請求項9】
撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法において、
上記撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出し、
上記撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出し、
上記第1の領域と上記第2の領域を除く領域にて、上記第1の領域と上記第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定し、
上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記第2の領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御し、
さらに、上記不要候補領域が複数フレームにわたり設定され、最新のフレームの上記第1の領域に対応する距離値と過去のフレームの上記第1の領域対応する距離値の差と、上記最新のフレームの上記第2の領域に対応する距離値と上記過去のフレームの上記第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を上記不要対象物に対応する領域と判別する、
ことを特徴とする焦点調節方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体を追尾し、この追尾物体にピントを合わせる焦点調節装置および焦点調節方法において、主となる物体を検出すると共に不要な物体を焦点調節対象から排除して、主となる物体に対してピントを合わせるようにした焦点調節装置および焦点調節方法に関する。
【背景技術】
【0002】
従来より、焦点検出機能を備える装置においては、連続して撮像される画像の中から焦点調節の対象を選択し、連続するコマ間でその対象を追尾し続ける機能を有するものがある。このような装置においては、追尾対象物に対して、適切な焦点調節を行うことが可能となっている。
【0003】
追尾機能を有する焦点検出装置において、ユーザが多数の被写体を追尾したい場合には、追尾のための演算が膨大になってしまい時間がかかってしまう。そこで、追尾対象を主被写体とこの主被写体の手前にある被写体(遮蔽被写体)のみとし、主被写体が存在する測距点を合焦時に選択するようにした焦点検出装置が提案されている(特許文献1参照)。すなわち、この焦点検出装置では、主被写体と遮蔽被写体の両方を追尾し、主被写体上であり、遮蔽被写体上ではない測距点において焦点検出を行うようにしている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の特許文献1に開示の焦点検出装置においては、比較的面積の大きい遮蔽物の場合には、焦点検出を有効に行うことができる。しかし、例えば、鳥の顔と重なるように顔から極近い距離にある細い横切り被写体(枝)を、鳥の顔から分離して追尾することは困難である。すなわち、上述の焦点検出装置では、追尾の主対象物の前を横切るような面積の小さい対象物(遮蔽物)を排除して主対象物に合焦させることは困難である。
【0006】
本発明は、このような事情を鑑みてなされたものであり、主対象物の前を横切るような細い対象物(遮蔽物)を排除して主対象物に合焦させることができるようにした焦点調節装置および焦点調節方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため第1の発明に係る焦点調節装置は、撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置において、上記撮像信号に基づいて主対象物の位置を検出する主対象物位置検出部と、上記撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部と、上記主対象物の位置に対応する領域の上記距離値の統計値に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定する候補領域設定部と、上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記主対象物領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部と、を具備し、 上記候補領域設定部は、上記主対象物領域に対応する領域内の第1の候補領域と、上記主対象物領域以外の領域に対応する領域内の第2の候補領域を設定し、上記制御部は、上記第1の候補領域に対応する第1の距離値と上記第2の候補領域に対応する第2の距離値に基づいて上記不要対象物に対応する領域を判別する。
【0008】
第2の発明に係る焦点調節装置は、上記第1の発明において、上記制御部は、上記第1の距離値と第2の距離値の差が、第1の所定量の範囲内であり、かつ、上記第1の候補領域の面積の上記主対象物領域の面積に対する比率が第2の所定量より小さい場合に、上記第1の候補領域と上記第2の候補領域を上記不要対象物に対応する領域と判別する。
第3の発明に係る焦点調節装置は、上記第1の発明において、上記主対象物位置検出部は、主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出し、上記候補領域設定部は、上記第2の領域内に第3の候補領域を設定し、上記制御部は、上記第1の距離値と上記第2の距離値と上記第3の候補領域に対応する第3の距離値に基づいて上記不要対象物に対応する領域を判別する。
【0009】
第4の発明に係る焦点調節装置は、上記第3の発明において、上記制御部は、上記第1の距離値と上記第2の距離値と上記第3の距離値の差が、第3の所定量の範囲内である場合に、上記第1の候補領域と上記第2の候補領域と上記第3の候補領域を上記不要対象物に対応する領域と判別する。
第5の発明に係る焦点調節装置は、上記第4の発明において、上記制御部は、さらに上記第3の候補領域の面積の上記第2の領域の面積に対する比率が第4の所定量よりも小さい場合に、上記第1の候補領域と上記第2の候補領域と上記第3の候補領域を上記不要対象物に対応する領域と判別する。
【0010】
第6の発明に係る焦点調節装置は、撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置において、上記撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出する主対象物位置検出部と、上記撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部と、上記第1の領域と上記第2の領域を除く領域にて、上記第1の領域と上記第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定する候補領域設定部と、上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記第2の領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部と、を具備し、上記制御部は、上記不要候補領域が複数フレームにわたり設定され、最新のフレームの上記第1の領域に対応する距離値と過去のフレームの上記第1の領域対応する距離値の差と、上記最新のフレームの上記第2の領域に対応する距離値と上記過去のフレームの上記第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を上記不要対象物に対応する領域と判別する。
第7の発明に係る焦点調節装置は、上記第1ないし第6の発明において、上記不要候補領域は、複数の上記AF領域から構成される。
【0011】
第8の発明に係る焦点調節方法は、撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法において、上記撮像信号に基づいて主対象物の位置を検出し、上記撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出し、上記主対象物の位置に対応する領域の上記距離値の統計値に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定し、上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記主対象物領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御し、さらに、上記主対象物領域に対応する領域内の第1の候補領域と、上記主対象物領域以外の領域に対応する領域内の第2の候補領域を設定し、上記第1の候補領域に対応する第1の距離値と上記第2の候補領域に対応する第2の距離値に基づいて上記不要対象物に対応する領域を判別する。
【0012】
第9の発明に係る焦点調節方法は、撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、上記撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法において、上記撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出し、上記撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出し、上記第1の領域と上記第2の領域を除く領域にて、上記第1の領域と上記第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定し、上記不要候補領域に基づき不要対象物に対応する領域を判別し、上記第2の領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御し、さらに、上記不要候補領域が複数フレームにわたり設定され、最新のフレームの上記第1の領域に対応する距離値と過去のフレームの上記第1の領域対応する距離値の差と、上記最新のフレームの上記第2の領域に対応する距離値と上記過去のフレームの上記第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を上記不要対象物に対応する領域と判別する。
【発明の効果】
【0013】
本発明によれば、主対象物の前を横切るような細い対象物(遮蔽物)を排除して主対象物に合焦させることができるようにした焦点調節装置および焦点調節方法を提供することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る撮像装置の主として電気的構成を示すブロック図である。
【
図2】本発明の一実施形態に係る撮像装置の電源がオンした際のメイン動作を示すフローチャートである。
【
図3】本発明の一実施形態に係る撮像装置の横切り除外の動作を示すフローチャートである。
【
図4A】本発明の一実施形態に係る撮像装置の横切り除外1用候補抽出の動作を示すフローチャートである。
【
図4B】本発明の一実施形態に係る撮像装置の横切り除外1用候補抽出の動作を示すフローチャートである。
【
図4C】本発明の一実施形態に係る撮像装置の横切り除外1用候補抽出の動作を示すフローチャートである。
【
図5A】本発明の一実施形態に係る撮像装置の横切り除外1の動作を示すフローチャートである。
【
図5B】本発明の一実施形態に係る撮像装置の横切り除外1の動作を示すフローチャートである。
【
図6A】本発明の一実施形態に係る撮像装置の横切り除外2の動作を示すフローチャートである。
【
図6B】本発明の一実施形態に係る撮像装置の横切り除外2の動作を示すフローチャートである。
【
図7】本発明の一実施形態に係る撮像装置において、被写体検出範囲の区分けを示す図である。
【
図8】本発明の一実施形態に係る撮像装置において、被写体検出範囲の区分けの他の例を示す図である。
【
図9】本発明の一実施形態に係る撮像装置において、パーツ領域の比率の一例を説明する図表である。
【
図10】本発明の一実施形態に係る撮像装置において、ボディ範囲とパーツ範囲と横切り被写体の位置関係の例を示す図である。
【
図11】本発明の一実施形態に係る撮像装置において、ボディ範囲の被写体と、パーツ範囲の被写体の距離の時間変化を示すグラフである。
【
図12】本発明の他の実施形態において、焦点調節の対象となる画像の一例を示す図である。
【
図13】本発明の更に他の実施形態において、焦点調節の対象となる画像の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態として、本発明を撮像装置に適用した例について説明する。この撮像装置は、デジタルカメラであり、撮像部を有し、この撮像部によって被写体像(対象物像)を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することによって、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
【0016】
本実施形態に係る撮像装置における焦点調節装置は、撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、この撮像信号に基づいて焦点調節を行う。また、この焦点調節装置は、撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、この撮像信号に基づいて焦点調節を行う。
【0017】
また、本実施形態に係る撮像装置は、被写体を追尾する追尾機能を有し、この追尾機能は人や動物のボディ(体全体)やパーツ(例えば、顔、頭等)を検出でき、検出したボディやパーツを追尾することができる。この追尾機能を利用して主被写体(主対象物)を追尾し、主被写体を含む測距(AF)エリアからの焦点検出信号に基づいて、主被写体に対して、ピントを合わせる(焦点調節を行う)。
【0018】
また、AFエリア内に複数の被写体が存在する場合には、一般的には至近側の被写体にピントを合わせる。このため、野鳥を撮影する際に、鳥の顔が検出されていた場合でも、顔と重なるように顔から極近い距離に細い横切り被写体(例えば枝)があると、細い横切り被写体を排除して鳥の顔に合焦させることは困難となる。
【0019】
そこで、本実施形態においては、撮像装置の制御部は、追尾ブロックから被写体範囲の情報を取得する。また測距部は、複数のAFエリアを有し、各AFエリアにおいてデフォーカス量を検出する。制御部は、ボディ範囲と外側範囲のそれぞれの領域において、デフォーカス量を距離に相当するレンズ位置LDP(Lens Defocus Pulse)に変換してデプスマップを作成する。デプスマップができると、制御部は、ボディ範囲内の平均LDPより所定値以上大きい至近側のAFエリアから成る領域を「横切り候補」として抽出する。次に、制御部は、ボディ範囲と外側範囲のそれぞれに位置する「横切り候補」の平均LDP を比較し、所定範囲内で、かつ、面積比率が小さい「横切り候補」を「横切り被写体」として除外する。制御部は、ボディ範囲内において、除外されずに残っているAFエリアにおけるレンズ位置LDP(またはデフォーカス量)を用いて、焦点調節を実行する。
【0020】
図1は、本発明の一実施形態に係る焦点調節装置を含む撮像装置(具体的にはデジタルカメラ)の構成の一例を示すブロック図である。後述するように本発明に係る焦点調節装置は、デジタルカメラに限定されないが、本実施形態においては、本発明を撮像装置に適用している。なお、
図1中において、矢印付き実線はデータの流れを、矢印付き破線は制御信号の流れをそれぞれ示している。
【0021】
撮像装置1は、交換式レンズ100と、カメラ本体200とを有する。交換式レンズ100は、カメラ本体200に着脱できるように構成されている。交換式レンズ100とカメラ本体200とは、交換式レンズ100がカメラ本体200に装着されたときに、互いに通信できるように接続される。なお、撮像装置1は、必ずしもレンズ交換式の撮像装置でなくてもよい。例えば、撮像装置1は、レンズ一体型の撮像装置であってもよい。また、スマートフォン等、携帯機器内に設けられた撮像装置であってもよい。
【0022】
交換式レンズ100は、撮像光学系102と、駆動部104と、レンズCPU(Central Processing Unit)106と、レンズ側記憶部108とを備える。ここで、交換式レンズ100の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、交換式レンズ100の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。また、交換式レンズとカメラ本体が一体に構成されている場合には、レンズCPU106とCPU216が1つのCPUで構成されていてもよい。
【0023】
撮像光学系102は、被写体からの光束をカメラ本体200の撮像素子208に結像させるための光学系である。撮像光学系102は、フォーカスレンズ102aと、絞り102bとを有する。フォーカスレンズ102aは、光軸方向に移動することによって、撮像光学系102の焦点位置を調節できるように構成されている。
【0024】
絞り102bは、フォーカスレンズ102aの光軸上に配置される。絞り102bの口径は可変である。絞り102bは、フォーカスレンズ102aを通過して撮像素子208に入射する被写体からの光量を調節する。駆動部104は、駆動モータと駆動回路等を有し、レンズCPU106から出力される制御信号に基づいて、フォーカスレンズ102aと絞り102bを駆動する。ここで、撮像光学系102は、ズームレンズとして構成されていてもよい。この場合、駆動部104がズーム駆動も行ってもよく、またユーザが手動操作によって焦点距離を変化させてもよい。レンズCPU106は、駆動部104から焦点距離情報を取得し、CPU216へ送信する。駆動部104は、撮像光学系に含まれる絞りを駆動する絞り駆動部(アクチュエータ、ドライバ)として機能する。
【0025】
レンズCPU106は、CPUとその周辺回路を含むプロセッサであり、レンズ側記憶部108に記憶されているプログラムに従って動作する。レンズCPU106は、インターフェース(I/F)110を通じてカメラ本体200のCPU216との間で通信できるように構成されている。レンズCPU106は、カメラ本体200のCPU216からの制御信号に従って駆動部104を制御する。また、レンズCPU106は、I/F110を通じて、絞り102bの絞り値(F値)及びレンズ側記憶部108に記憶されているレンズ情報等の各種情報をCPU216に送信する。レンズCPU106は、撮像光学系102aに含まれるフォーカスレンズの位置を制御するフォーカスレンズ制御部としての機能を果たす。
【0026】
なお、レンズCPU106は、必ずしもCPUとして構成されていなくてもよい。すなわち、レンズCPU106と同様の機能は、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のプロセッサによって実現されてもよい。また、レンズCPU106と同様の機能は、ソフトウェアによって実現されてもよい。
【0027】
レンズ側記憶部108は、電気的書き換え可能な不揮発性メモリを有し、上述のプログラム以外にも交換式レンズ100に関するレンズ情報等を記憶している。レンズ情報は、例えば撮像光学系102の焦点距離の情報や収差の情報を含む。
【0028】
カメラ本体200は、メカシャッタ202と、駆動部204と、操作部206と、撮像素子208と、撮像制御回路210と、アナログ処理部212と、アナログ・デジタル変換器(以下、ADCと称する)214と、CPU216と、画像処理部218と、画像圧縮展開部220と、焦点検出回路222と、表示部224と、バス226と、DRAM(Dynamic Random Access Memory)228と、本体側記憶部230と、記録媒体232と、追尾回路234を有する。ここで、カメラ本体200の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、カメラ本体200の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。
【0029】
メカシャッタ202は、開閉自在に構成され、撮像素子208への被写体からの光束の入射時間(撮像素子208の露光時間)を調節する。メカシャッタ202としては、例えばフォーカルプレーンシャッタが採用される。このフォーカルプレーンシャッタ以外にも、レンズシャッタをレンズ鏡筒側に設けてもよい。駆動部204は、CPU216からの制御信号に基づいてメカシャッタ202を駆動する。駆動部204は、メカシャッタ202を駆動するアクチュエータと、このアクチュエータの駆動回路等を有し、メカシャッタ202の開閉動作を行う。
【0030】
操作部206は、ユーザの指示を撮像装置1に入力するためのインターフェースであり、焦点調節指示部206aと、その他の操作部材を有する。その他の操作部材としては、電源ボタン、レリーズボタン、動画ボタン、モードダイヤル、再生ボタン、メニューボタン等の各種の操作ボタン及びタッチパネル等の各種の操作部材を含む。焦点調節指示部206aは、焦点調節指示用に単独の操作部材(タッチパネルでも良い)を設けてもよいが、本実施形態においては、レリーズボタンの半押し操作によって、焦点調節の指示がなされる。操作部206は、各種の操作部材の操作状態を検知し、検知結果を示す信号をCPU216に出力する。
【0031】
撮像素子208は、撮像光学系102の光軸上であって、メカシャッタ202の後方で、かつ、撮像光学系102によって被写体からの光束が結像される位置付近に配置されている。撮像素子208は、被写体を撮像して被写体に係る画素信号を生成する。
【0032】
撮像素子208は、複数の画像用画素(撮像用画素)が2次元状に配列された画素部を有する。画像用画素は、各マイクロレンズに対応し、複数の位相差検出用画素に分割された構成となっている。位相差検出用画素は、撮像光学系102の射出瞳を複数に瞳分割した領域を通過する光束をそれぞれ光電変換して光電変換信号を生成する。撮像素子208は、例えば、原色ベイヤ配列のカラーフィルタを備える単板式CMOS撮像素子として構成されているが、もちろんこの構成に限定されるものではない。
【0033】
撮像制御回路210は、撮像素子208の各画素における露光制御(電荷蓄積制御)および電荷の読み出し制御を行う。これらの制御は、CPU216 からの画素信号の読出し方法の設定に従って行われる。
【0034】
アナログ処理部212は、撮像制御回路210の制御に従って撮像素子208から読み出された画素信号を入力する。アナログ処理部212は、画素信号に対して増幅処理等のアナログ処理を行う。アナログ処理部212は、処理後の画素信号をADC214へ出力する。ADC214は、アナログ処理部212から出力された画素信号を、デジタル形式の画素データに変換し、バス226に出力する。なお、以下の説明では、画素データの集まりを画像データと言うことにする。
【0035】
CPU216は、CPUとその周辺回路を含むプロセッサであり、本体側記憶部230に記憶されているプログラムに従ってカメラ本体200の全体制御を行う。CPU216は、例えば、追尾回路234からの主被写体の追尾結果を入力すると、この主被写体を含むAFエリアからの位相差検出信号に基づいて、フォーカスレンズ102aを駆動するための制御信号をレンズCPU106に出力する。ここで、CPU212は、必ずしもCPUとして構成されていなくてもよい。すなわち、CPU212と同様の機能は、ASIC、FPGA等によって実現されてもよい。また、CPU212と同様の機能は、ソフトウェアによって実現されてもよい。
【0036】
CPU216は、候補領域設定部216aと焦点調節制御部216bを有する。これらの候補領域設定部216aと制御部216bの機能は、それぞれハードウェア回路等によって実現してもよいが、本実施形態においては、CPU216が本体側記憶部230に記憶されているプログラムに基づいて実現する。CPU216は、候補領域設定部と制御部を有するプロセッサとして機能する。
【0037】
候補領域設定部216aは、焦点調節の際に考慮しないAFエリアや領域を設定する。本実施形態においては、候補領域設定部216aが主対象物(主被写体)の手前等に横切るような位置にある非主対象物を不要領域として設定する(例えば、
図2のS17、
図3のS37、
図4A~4C参照)。例えば、
図7において、各AFエリアAFAにおいてデフォーカス量に基づいて、距離値(LDP)を算出し(
図2のS15)、この距離値に基づいて、領域(AFエリアによって構成される)を検出し(
図3のS33)、各領域における距離値に基づいて、横切り被写体CCの存在する可能性がある横切り候補CCC(AFエリアによって構成される)を判定する。
【0038】
候補領域設定部216aは、主対象物の位置に対応する領域の距離値の統計値(例えば、平均値)に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定する候補領域設定部として機能する(例えば、
図2のS17,
図3のS37、
図4A~4C参照)。候補領域設定部は、主対象物領域に対応する領域内の第1の候補領域と、主対象物領域以外の領域に対応する領域内の第2の候補領域を設定する。例えば、
図7において、第1の候補領域がボディ範囲BOの場合、主対象領域以外の領域に対応する第2の候補領域はパーツ範囲PA。また、第1の候補領域がパーツ範囲PAの場合、第2の候補領域は外側範囲である。
【0039】
また、候補領域設定部216aは、パーツ範囲PA内において、略同じ程度の距離値を有する領域を多数領域として検出している(例えば、
図3のS33参照)。候補領域設定部216aは、第2の領域内に第3の候補領域を設定する(
図3のS33参照)。
【0040】
また、候補領域設定部216aは、第1の領域と第2の領域を除く領域にて、第1の領域と第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定する候補領域設定部として機能する(例えば、
図6AのS153、S155参照)。上述の不要候補領域は、複数のAF領域から構成される。
【0041】
焦点調節制御部216bは、焦点検出回路222から入力したAFエリア毎の信頼値や距離値に基づいて、フォーカスレンズの駆動制御を行う。この駆動制御を行うにあたって、候補領域設定部が設定した不要候補領域における対象物の距離に基づいて、実際に焦点調節に使用しない除外領域か否かを判断する。そして、主対象物の領域の中で残った領域の距離値に基づいて、フォーカスレンズの駆動制御を行う(例えば、
図2のS17~S23参照)。
【0042】
焦点調節制御部216bは、不要候補領域に基づき不要対象物に対応する領域を判別し、主対象物領域から不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部として機能する(例えば、
図3のS39、
図5Aおよび
図5B参照)。制御部は、第1の候補領域に対応する第1の距離値と第2の候補領域に対応する第2の距離値に基づいて不要対象物に対応する領域を判別する(例えば、
図5BのS133参照)。
【0043】
上述の制御部は、第1の距離値と第2の距離値の差が、第1の所定量の範囲内であり(例えば、
図5Bの133参照)、かつ、第1の候補領域の面積の主対象物領域の面積に対する比率が第2の所定量より小さい場合に、第1の候補領域と第2の候補領域を不要対象物に対応する領域と判別する(例えば、
図4CのS87、S89、S101、S103参照)。
【0044】
上述の制御部は、第1の距離値と第2の距離値(例えば、パーツ範囲の多数領域の平均LDP値)と第3の候補領域に対応する第3の距離値(例えば、パーツ範囲の着目領域の距離値)に基づいて不要対象物に対応する領域を判別する(例えば、
図4CのS87、S89参照)。また、制御部は、第1の距離値と第2の距離値と第3の距離値の差が、第3の所定量の範囲内である場合に、第1の候補領域と第2の候補領域と第3の候補領域を不要対象物に対応する領域と判別する(例えば、
図5BのS133参照)。また、制御部は、さらに第3の候補領域の面積の第2の領域の面積に対する比率が第4の所定量よりも小さい場合に、第1の候補領域と第2の候補領域と第3の候補領域を不要対象物に対応する領域と判別する(例えば、
図4BのS65、
図4CのS89参照)。
【0045】
焦点制御部216bは、不要候補領域に基づき不要対象物に対応する領域を判別し、第2の領域から不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する制御部として機能する(例えば、
図6AのS151参照)。この制御部は、不要候補領域が複数フレームにわたり設定され、最新のフレームの第1の領域に対応する距離値と過去のフレームの第1の領域対応する距離値の差と、最新のフレームの第2の領域に対応する距離値と過去のフレームの上記第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を不要対象物に対応する領域と判別する(例えば、
図6BのS167参照)。
【0046】
画像処理回路218は、画素データに対して各種の画像処理を施す。撮像素子208から読み出され、ADC214によって生成された画像データまたは内部メモリであるDRAM228に保存された画像データに対して露出補正やノイズ処理、WBゲイン補正、輪郭強調、偽色補正等の様々な画像処理を施す。さらに、画像処理部218は、上述の画像処理を施した画像データに対して、記録データ形式に変換する処理(現像処理)も行う。また、画像処理回路218は、静止画撮影(連写も含む)の際には、静止画記録用の画像処理を施し、静止画データを生成する。同様に、画像処理回路218は、動画撮影の際には、動画記録用の画像処理を施し、動画データを生成する。さらに、画像処理回路218は、ライブビュー表示時には、表示用の画像処理を施し、表示画像データを生成する。
【0047】
なお、画像処理部218は、本実施形態においては、画像処理演算を行う演算回路で構成する専用の画像処理プロセッサである。しかし、この構成に限らずに、例えば画像処理演算を画像処理プログラムに基づいて、デジタル信号プロセッサ(DSP)等の汎用の信号処理プロセッサに展開する構成であってもよい。
【0048】
画像圧縮展開部220は、画像圧縮回路および画像伸張回路を有する。画像圧縮展開部220は、画像データの記録時には、画像処理部218で生成された画像データ(静止画データ又は動画データ)を圧縮する。また、画像データの再生時には、記録媒体232に圧縮状態で記録された画像データを伸張する。
【0049】
焦点検出回路222は、撮像素子208からの位相差検出用画素に基づく画像データを用いて、位相差検出法によって、焦点検出を行う。すなわち、撮像素子208の位相差検出画素データを用いた位相差方式によって、フォーカスレンズ102aのデフォーカス量を算出する。このデフォーカス量の算出は、1フレーム分の画像データが出力されるたびに、AFエリア毎に行われる。撮像素子208上の位相差検出用画素は、
図7に示すように、複数のAFエリア毎に検出できるように配置されており、AFエリア毎にデフォーカス量を算出することができる。
【0050】
焦点検出回路222は、信頼性判定部222aと変換部222bを有する。信頼性判定部222aは、信頼性判定回路を有し、AFエリア毎に算出されたデフォーカス量の信頼性が高いか否かを判定する(
図2のS11参照)。信頼性の判定としては、例えば、位相差画素出力のコントラスト量が十分あるか否か、また相関演算値の極小値が十分小さいか否か、また相関演算値の極小値と、その隣接する相関演算値の大きい方の値を結ぶ傾きが、十分大きいか等に基づいて判定する。
【0051】
また、変換部222bは、変換回路を有し、焦点検出回路222によってAFエリア毎に算出されたデフォーカス量を、それぞれフォーカスレンズの位置に変換する。この変換は、1フレーム分の画像データが出力されるたびに、AFエリア毎に算出される。デフォーカス量はフォーカスレンズの現在位置を基準とした場合の合焦位置までの距離であり、相対的な位置を示している。変換部222bは、相対的な合焦位置を、絶対的なレンズ位置に変換する。この絶対的なレンズ位置は、レンズパルス位置(LDP値)を用いて表す。
【0052】
変換部222bは、撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部(距離検出回路)として機能する(例えば、
図2のS15参照)。また、変換部222bは、撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出する距離値検出部(距離検出回路)として機能する(例えば、
図6A、
図6B、
図11参照)。
【0053】
表示部224は、液晶ディスプレイや有機ELディスプレイ等のディスプレイを有し、カメラ本体200の背面等に配置され、または電子ビューファインダとして配置される。この表示部224は、CPU216の制御に従って画像を表示する。表示部224は、ライブビュー表示や記録済み画像の再生表示、またメニュー画像の表示等に使用される。
【0054】
バス226は、撮像制御回路210、ADC214、CPU216、画像処理部218、画像圧縮展開部220、焦点検出回路222、表示部224、DRAM228、本体側記憶部230、記録媒体232、追尾回路234に接続されている。バス226は、これらのブロックで発生した各種のデータを転送するための転送路として機能する。
【0055】
DRAM228は、電気的に書き換え可能な揮発性メモリであり、撮像素子208から出力される画素データに基づく、静止画データ、動画データ、表示画像データを一時的に記憶し、またCPU216における処理データ等の各種データを一時的に記憶する。なお、一時記憶用としてSDRAM(Synchronous Dynamic Random Access Memory)が用いられてもよい。
【0056】
本体側記憶部230は、電気的に書き換え可能な不揮発性メモリである。本体側記憶部230は、CPU216で使用されるプログラムと、カメラ本体200の調整値等の各種データを記憶する。記録媒体232は、電気的に書き換え可能な不揮発性メモリであり、カメラ本体200に内蔵されるか又は装填されるように構成されている。記録媒体232は、記録用の画像データを所定の形式の画像ファイルとして記録する。なお、DRAM228、本体側記憶部230及び記録媒体232は、それぞれ1つのメモリ等で構成されてもよいし、複数のメモリ等が組み合わされて構成されてもよい。
【0057】
追尾回路234は、動きのある子供やペット等、動く被写体を追尾する。追尾回路234は、所定フレーム毎に画像データを入力し、2つの画像データをずらしながらの差分を算出し、差分値が最小となるずらし量が、被写体の移動量となる。この処理によって、同一の被写体の動きを検出し、同一の被写体を追尾する。
【0058】
追尾回路234が人工知能(AI)を有している場合には、このAIによって特定の被写体(例えば、鳥、車、人間、顔等)を検出し、この特定被写体を追尾することができる。この場合、AIは、ディープラーニングによって推論モデルを生成し、推論エンジンに生成した推論モデルを設定する。この推論エンジンに撮像素子208によって取得した画像データを入力することによって、特定被写体の位置が分かり、追尾することができる。この追尾回路234は、追尾対象全体を検出し、追尾するようにしてもよいが、本実施形態においては、追尾対象の本体部分であるボディ(Body)と、本体部分の一部分であるパーツ(Parts)をそれぞれ検出することができる。
【0059】
追尾回路234は、前述したように、推論エンジンによるAIやハードウェア回路等によって主被写体を検出し、この主被写体の移動方向と移動量を検出することによって、主被写体の追尾を行う。主被写体を検出する際に、被写体のボディとパーツを検出することができる。例えば、
図7に示す例では、鳥全体がボディBOであり、鳥の頭の部分がパーツPAである。本実施形態においては、ボディとパーツの2つを検出しているが、これに限らず、3種類以上の部分を検出するようにしてもよい。なお、本実施形態においては、追尾機能は追尾回路234が果たしているが、CPU216が追尾回路234を周辺回路として備えていてもよく、またCPU216が、撮像素子208からの画像データを入力し、ソフトウェアを用いて検出するようにしてもよい。
【0060】
追尾回路234は、撮像信号に基づいて主対象物の位置を検出する主対象物位置検出部(主対象物位置検出回路)として機能する(例えば、
図2のS7参照)。この主対象物位置検出部(主対象物位置検出回路)は、主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出する。例えば、
図7において、第1の領域の位置がボディ範囲Boとすると、第2の領域の位置がパーツ範囲PAとなる(
図2のS7参照)。また、追尾回路234は、撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出する主対象物位置検出部(主対象物位置検出回路)として機能する(例えば、
図6A、
図6B、
図11参照)。
【0061】
なお、追尾回路234内に顔検出回路を設け、被写体に顔が含まれているか否かを検出してもよい。前述したAIによって、顔等のパーツを検出するようにしてもよい。さらに、顔の内部の瞳等のパーツを検出し、追尾回路234がこのパーツを追尾するようにしてもよい。また、主被写体が鳥等の場合に、鳥の顔部分をパーツとして検出し、追尾してもよい。なお、追尾回路234、焦点検出回路222は、撮像素子208の画像データに基づいて検出処理を行うが、同一の被写体を撮像する複数の撮像素子を有し、追尾回路234、焦点検出回路222がそれぞれ別々の撮像素子の画像データに基づいて検出処理を行ってもよい。
【0062】
次に、
図2ないし
図6Bに示すフローチャートを用いて、焦点調節装置を含む撮像装置の動作について説明する。これらのフローは、カメラ本体200内のCPU216が、本体側記憶部230に記憶されたプログラムに従って、カメラ本体200および交換式レンズ100内の各部を制御することによって実現する。
【0063】
ユーザが撮像装置1の電源をオン操作したことが検出されると、
図2に示すカメラ電源オンのフローが開始する。電源のオン操作が検出されると、まず1stレリーズスイッチがオンか否かについて判定する(S1)。ここでは、CPU216は、操作部206の内のレリーズボタンの焦点調節指示部206aとして機能する1stレリーズスイッチがオン状態になったか否かを判定する。ユーザは、被写体にピントを合わせ、露光を決定する場合には、レリーズボタンを半押しする。ユーザがレリーズボタンを半押し操作すると、この操作に応答して1stレリーズスイッチがオン状態となる。
【0064】
ステップS1における判定の結果、1stレリーズスイッチがオンでない場合、スルー画を取り込む(S3)。ここでは、CPU216は、メカシャッタ202を全開状態とするように駆動部204に対して制御信号を出力すると共に、絞り102bを所定量(例えば開放絞り)だけ駆動するように、レンズCPU106に対して制御信号を出力する。その後、CPU216は、所定時間毎に(表示フレームレートで決まる時間)、撮像素子208に対して制御信号を出力し、撮像素子208によるスルー画表示(ライブビュー(LV)表示ともいう)のための撮像を行う。スルー画表示のための撮像が完了する毎に、撮像制御回路210は、各画素から画素信号を読み出す。CPU216は、画像処理部218において生成された表示画像データに基づいて表示部224にスルー画を表示させると、ステップS1に戻る。
【0065】
ステップS1における判定の結果、1stレリーズスイッチがオンの場合には、次に、AF&LV用露光&読出しを行う(S5)。撮像制御回路210は、オートフォーカス(AF)及びLV表示のための撮像と読み出しの制御を行う。ここでは、撮像素子208からの画像データに基づいて、位相差法による相関演算の際に使用される焦点検出用の焦点(位相差)検出用画素データと、スルー画表示用(LV表示用)からなる画像データを生成し、DRAM228に一時記憶する。なお、スルー画表示用の画像データは、追尾回路234における追尾検出にも使用する。
【0066】
続いて、追尾ブロックから被写体情報を取得する(S7)。追尾回路234は、画像データに基づいて、主対象物(主被写体)の位置を検出することができる。そこで、このステップでは、CPU216は、追尾回路234から、追尾対象の被写体情報を取得する。追尾対象は、本実施形態においては、追尾対象の本体(ボディ)と部分(パーツ)であり、被写体情報としては、ボディの中心XY座標とサイズ(幅、高さ)と、パーツの中心XY座標とサイズ(幅、高さ)についての情報を取得する。パーツやボディは、例えば、
図7に示すように、鳥が被写体Subとして検出され、この鳥が追尾対象として検出されると、この鳥の全体がボディBOであり、鳥の顔(頭)の部分がパーツPAである。追尾回路234は、ボディBOとパーツPAについて、前述したような被写体情報を算出し、CPU216に出力する。なお、パーツPAの全範囲がボディBO内にあるとは限らず、
図8に示すように、パーツPAの一部がボディBOの外にはみ出ることがある。
【0067】
次に、測距演算範囲を決定する(S9)。CPU216は、ステップS7において取得した被写体情報に基づいて、焦点検出回路222における測距演算範囲を決定する。ボディ範囲BOは、ボディの中心座標、幅、高さから算出し、パーツ範囲PAは、パーツの中心座標、幅、高さから算出する。ボディ範囲BO内のAFエリアAFAと、パーツ範囲PA内のAFエリアAFAが測距演算範囲として決定される。加えて、ボディ範囲BOとパーツ範囲PAの外側であって、所定範囲内のAFエリアAFAも、測距演算範囲として決定される。この外側の所定範囲内としては、ボディ範囲BOとパーツ範囲PAの外側の定数C1分のAFエリアまでとし、外側範囲とする。
図7に示す例では、定数C1は1であり、
図8に示す例では定数C1は3である。定数C1は、種々の条件、たとえば被写体種類(人、鳥、車等)、焦点距離(ズーム)、対象物大きさ(画面内に占める面積比)、測距信頼性、等に応じて適切に変更する。本体側記憶部230にこの内容を含むテーブルを記憶しておき、CPU216がこのテーブルを参照して定数C1を設定してもよい。
【0068】
測距演算範囲を決定すると、次に、信頼性を判定する(S11)。ここでは、CPU216は、焦点検出回路222によって相関演算を実行させる。焦点検出回路222は、DRAM226に記憶されている対をなす位相差画素データを用いて相関演算を行う。相関演算は、複数の所定のAFエリア(焦点検出領域)内の焦点検出(位相差)画素データに基づいて、位相差に相当する2像間隔値を、AFエリアについてそれぞれ生成する。相関演算が終了すると、次に、焦点検出回路222内の信頼性判定部222aは、焦点検出の信頼性判定を行う。信頼性判定は、画素データから得られる被写体像のコントラストが所定値よりも大きく、かつ相関演算値の極小値が所定値よりも小さく、かつ相関演算値の極小値とその両隣の相関演算値の大きい方で形成される傾きが所定値よりも大きいか否か等、公知の信頼性判定方法に基づいて行う。
【0069】
信頼性を判定すると、次に、ピントずれ量を算出する(S13)。ここでは、ステップ11における判定の結果、信頼性がOKとなったAFエリアにおける2像間隔値(最小となる相関演算結果を示す像ずれ量)に対して、CPU216は、AFエリア毎に異なる感度値を乗算することで、デフォーカス量[mm]に変換する。また、AFエリア毎に異なる補正量である、撮影レンズのコントラストベストずれ補正量(ほぼ撮影レンズの周波数ずれ量)をデフォーカス量に加算する。なお、ステップS11における信頼性判定と、ステップS13におけるピントずれ量については、特願2016-230273に詳述されているので、詳しい説明は省略する。
【0070】
ピントずれ量を算出すると、次に、デフォーカス量をレンズパルス位置に変換する(S15)。前述したように、デフォーカス量はレンズパルス位置基準で算出された相対位置なので、このステップにおいて、CPU216は、常に絶対位置で判断できる様に、各エリアのデフォーカス量をレンズパルス位置(LDP)(絶対位置)に変換する。ステップS15におけるレンズパルス位置への変換については、特願2018-032501に詳述されているので、詳しい説明は省略する。
【0071】
レンズパルス位置に変換すると、次に、横切り除外を行う(S17)。
図7に示すように、主要な被写体Subである鳥より前側(至近側)に、枝のように細い被写体CC(横切り被写体)があると、手前側にある横切り被写体CCに対してピントがあってしまう。これは、測距範囲に2以上の被写体があると、最至近の被写体にピントを合わせてしまうからである。そこで、ステップS17においては、枝のように細い被写体(横切り被写体)が存在した場合には、この横切り被写体が含まれるAFエリアCCCを焦点検出の対象から除外するようにしている。この横切り除外の詳細な動作については、
図3を用いて後述する。
【0072】
横切り除外を行うと、次に、エリア選択を行う(S19)。ステップS9において決定された測距演算範囲中のAFエリアから、焦点検出を行って不要な領域(AFエリア)がステップS17において除外されており、CPU216は、残っているAFエリアの中からピントを合わせるAFエリアを選択する。複数のAFエリアが残っている場合には、所定の基準に沿って選択する。例えば、最も近い被写体距離(最至近)に対応するデフォーカス量を示す焦点検出領域(AFエリア)を選択してもよい。また、エリア選択処理は、最至近被写体に限らず、顔検出による人の顔が存在するエリアを選択してもよく、ユーザがマニュアルで選択したエリアであってもよい。
【0073】
エリア選択を行うと、次に、合焦状態を判定する(S21)。ここでは、CPU216は、フォーカスレンズ102aが合焦状態にあるか否かを判定する。すなわち、ステップS19におけるエリア選択処理において選択された焦点検出領域(AFエリア)におけるピントずれ量が予め定められた許容範囲内であるか否かを判定し、許容範囲内であるときには合焦状態と判定する。
【0074】
ステップS21における判定の結果、合焦状態でない場合には、フォーカスレンズ駆動を実行する(S23)。ここでは、CPU216は、ステップS19において選択されたAFエリアについて算出されたフォーカスレンズ位置に、フォーカスレンズ102aが駆動されるようにレンズCPU106と通信を行い、制御信号を出力する。レンズCPU106は、この制御信号を受けると、駆動部104を通じてフォーカスレンズ102aを指示された位置へ駆動する。フォーカスレンズ102aを駆動すると、S1に戻る。
【0075】
ステップS21における判定の結果、合焦状態であった場合には、次に、1stレリーズがオンか否かを判定する(S25)。ここでは、ステップS1と同様に、CPU216は、操作部206の内のレリーズボタンの焦点調節指示部206aとして機能する1stレリーズスイッチがオンの状態であるか否かを判定する。この判定の結果、1stレリーズスイッチがオンであればステップS1に戻る。
【0076】
一方、ステップS25における判定の結果、1stレリーズスイッチがオフであった場合には、電源オフか否かの判定を行う(S27)。ここでは、CPU216は、操作部206内の電源スイッチの状態を検出し、判定する。ステップS27における判定の結果、電源がオフでない場合には、ステップS1に戻る。また、この判定の結果、電源スイッチがオフであれば、電源オフ処理を行う。なお、ステップS25にて1stレリーズオンの場合(S25、Yes)に、レリーズ釦が全押しされたか否かを判定し、全押しされていた場合には、シャッタを開放して、静止画等の撮影のための露光を行い、露光終了後に撮像素子208によって取得した画像データを記録媒体232に記録する。この処理は、公知であることから、詳しい説明は省略する。
【0077】
次に、
図3に示すフローチャートを用いて、ステップS17(
図2参照)の横切り除外の詳しい動作について説明する。この横切り除外のフローは、
図7に示すような、主被写体の手前にある枝のような細長い(面積が小)被写体の含まれるAFエリアを、焦点調節の対象から除外する。なお、以下の説明においては、パーツ範囲とボディ範囲が重複する範囲を、パーツ範囲として扱う。そして、追尾回路234から出力されるボディ範囲情報のうちパーツ範囲を含まない範囲をボディ範囲として扱って処理を行う。
【0078】
図3に示す横切り除外のフローが開始すると、まず、デプスマップを作成する(S31)。デプスマップは、同程度のデフォーカス量または距離が算出されたAFエリアをグループに分類するために作成する。ステップS13において、焦点検出回路222はAFエリア毎にデフォーカス量を、またデフォーカス量に基づくレンズ位置LDPを算出している。このステップS31では、CPU216は、パーツ範囲内、ボディ範囲内、および外側範囲内においてそれぞれLDP値が降順となるように並べ、各LDPの差分を算出する。LDP(Lens Defocus Pulse)値は、前述したように、フォーカスレンズの位置を示す値であり、LDPが大きい程、至近側であることを意味し、LDPが小さい程、遠距離側、すなわち背景側であることを意味する。
【0079】
ステップS31において、LDP値の各差分値を降順に並べ、差分値が定数C2以上の場合には、そこを領域の境界とする。すなわち、撮像装置1から同程度の離れた距離にある被写体の部分は同程度のLDPとなり、異なる部分または他の被写体のLDPは離れた値となる。従って、LDPの差分値に基づいて、被写体をAFエリア単位の領域に分けることができる。LDPの差分に基づいて領域に分けると、CPU216は、至近側の領域から順に0、1、2、・・・と番号付けする。この番号付けは、パーツ範囲、ボディ範囲、外側範囲のそれぞれについて実施する。なお、本実施形態においては、領域分けの際に降順に並べたが、これに限らず、昇順に行っても領域分けを行うことはできる。また、LDPの差分に基づいてデプスマップを作成したが、デフォーカス量を用いてデプスマップを作成してもよい。定数C2は、種々の条件、例えば被写体種類(人、鳥、車等)、焦点距離、被写体大きさ、測距信頼性等に応じて変更する。
【0080】
デプスマップを作成すると、次に、多数領域の算出を行う(S33)。前述したように、ステップS31において、LDPの差分値に基づいて、領域の境界を定め、AFエリア毎に算出されたLDPに基づいて、至近側から順番に番号付けを行っている。このステップでは、範囲(パーツ、ボディ、外側)毎に、一定AFエリア数以上ある領域を抽出する。すなわち、ステップS31で定めた境界で決まる領域毎にAFエリア数を算出し、このAFエリア数が定数C3以上ある領域を抽出し、この領域を多数領域とする。以後、この多数領域を単純に領域と称す。また、ボディ範囲、パーツ範囲、外側範囲のそれぞれについて、この領域をボディ内領域、パーツ内領域、外側領域とする。定数C3より小さいAFエリア数から成る領域は、信頼性が低いとみなし、以下の処理から除外する。
【0081】
多数領域の算出を行うと、次に、背景領域の除外を行う(S35)。ステップS33において抽出された複数の多数領域は、それぞれ至近側から背景まで様々な距離の被写体に相当している。そこで、このステップでは、CPU216は、算出された多数領域の中から背景に相当する領域を除外する。まず、CPU216は、領域毎にLDPの平均値を算出する。続いて、算出した各領域の平均LDPを降順(近距離順)に並べ、各平均LDP間の差分を算出する。この差分値を降順に見て、差分値が定数C4以上、または差分のmaxが定数C5以上を満たす部分を、背景と背景以外の境界とし、この境界より遠方側(平均LDPが小さい側)の領域を背景領域として除外する。なお、定数C4>定数C5とし、定数C4の処理を優先させる。定数C3、C4、C5は、種々の条件、例えば被写体種類(人、鳥、車等)、焦点距離、被写体大きさ、測距信頼性等に応じて変更する。
【0082】
背景領域除外の処理を行うと、次に、横切り除外1用の候補を抽出する(S37)。ステップS39において、横切り除外1を実行するが、その前に、このステップにおいて横切り除外1の処理の際に候補となるAFエリアを抽出する。なお、横切り除外1は、前述したように、
図7に示すような、主要な被写体の手前にある枝のように細い被写体(横切り被写体)を、焦点検出のためのAFエリアから除外する処理である。この横切り除外1用の候補抽出の詳しい動作については、
図4Aないし
図4Cに示すフローチャートを用いて後述する。
【0083】
横切り除外1用の候補を抽出すると、次に、横切り除外1を行う(S39)。横切り除外1は、ボディ範囲、パーツ範囲、外側範囲を跨って存在するような領域を横切り被写体とし、この横切り被写体が含まれる領域を焦点調節のためのAFエリアから除外する。この処理は、動体画像および静止画像(連写画像を含む)について行ってもよい。この横切り除外1の処理は、ボディ範囲、パーツ範囲、および外側範囲において求められたボディ内領域、パーツ内領域、外側領域の各領域毎に平均LDPを比較し、同程度の平均LDPを算出する領域を抽出することによって行う。横切り除外1の詳しい動作については、
図5Aおよび
図5Bに示すフローチャートを用いて後述する。
【0084】
横切り除外1を実行すると、次に、横切り除外2を行う(S41)。横切り除外1によって、主被写体の前を横切るような面積の小さい被写体を除外し、横切り被写体にピントがあうことを防止できる。しかし、動画像や連写画像の場合には、前のフレームには横切り被写体が存在しなくても、次のフレームに突然横切り被写体が現れ、この突然現れた横切り被写体にピントがあってしまうおそれがある。そこで、横切り除外2では、横切り除外1によって除外できない横切り被写体を、焦点調節の対象から除外する。この横切り除外2では、過去のフレームのデフォーカス量情報も使用し判断する。この判断にあたっては、本実施形態においては、パーツ範囲のみを横切る被写体を除外する。横切り除外2の詳しい動作については、
図6Aおよび
図6Bに示すフローチャートを用いて後述する。横切り除外2の処理が終わると、元のフローに戻る。
【0085】
次に、
図4Aないし
図4Cに示すフローチャートを用いて、ステップS37(
図3参照)に示す横切り除外1用の候補抽出の動作について説明する。
【0086】
図4Aに示す横切り除外1用候補抽出の動作が開始すると、まず、ボディ内平均LDPを算出する(S51)。ここでは、CPU216は、背景以外のボディ範囲内の全AFエリアに関するLDPの平均を算出する。平均は、単純平均や各AFエリアの信頼性度合いに応じた重み付け平均でもよい。
【0087】
ボディ内の平均LDPを算出すると、次に、ステップS53からS63において、ボディ範囲内に含まれる各領域(ボディ内領域)のLDPがボディ内平均LDPより大きい、言い換えると至近側にある領域を抽出する。これは、横切り被写体の可能性が高い至近側の被写体を除外候補として抽出するための処理である。
【0088】
まず、ボディ範囲内の着目領域(ボディ内領域)について領域番号としてnを付与する(S55)。ここで付与する最初の領域番号は、n=0であり、以後、ステップS53~S63を繰り返すたびに、nに1が加算される(後述するステップS61参照)。
【0089】
着目領域に領域番号を付与すると、次に、着目領域のLDPがボディ内平均LDP+定数C6以上であるか否かを判定する(S57)ここでは、CPU216が、着目領域nにおけるLDPが、ステップS51で算出したボディ内平均LDPより、定数C6以上であるか否かを判定する。
【0090】
ステップS57における判定の結果、着目領域のLDPがボディ内平均LDP+定数C6以上であった場合には、着目領域にボディ横切り候補1フラグを立てる(S59)。着目領域nのLDPがボディ内平均LDP+定数C6以上の場合には、着目領域の被写体距離は、ボディ範囲の平均距離よりも至近側にある可能性が高い。そこで、CPU216は、ボディ横切りによる除外を行う候補であることを示すフラグ(ボディ横切り候補1フラグ)設定する。
【0091】
ステップS59において、ボディ横切り候補1フラグを立てると、またはステップS57における判定の結果、着目領域のLDPがボディ内平均LDP+定数C6以上でなかった場合には、次に、領域番号nに1を加算する(S61)。前述したように、領域番号nに1を加算すると、ステップS55に戻り、前述した動作を繰り返す。領域番号nがボディ範囲内の全領域の最終に達すると、ステップS53~S63における繰り返し処理を終了し、ステップS65に進む。
【0092】
次に、パーツ範囲とボディ範囲について、それぞれに含まれる領域の比率(面積比率)を算出する(S65)。ここでは、CPU216は、下記に式(1)(2)に基づいて、パーツ範囲内の各領域(パーツ内領域)の比率Rpと、ボディ範囲内の各領域(ボディ内領域)の比率Rbを算出する。なお、ここで、Npは各パーツ内領域のAFエリア数を、Nbpは背景領域以外のパーツ範囲内のAFエリア数を表す。またNbは各ボディ内領域のAFエリア数を、Npbは背景領域以外のボディ範囲内のAFエリア数を表す。
Rp=Np/Nbp ・・・(1)
Rb=Nb/Npb ・・・(2)
【0093】
次に、比率の順位着けを行う(S67)。ステップS65において、パーツ領域とボディ領域について、それぞれ比率を算出しているので、このステップではCPU216は、パーツ内領域とボディ内領域について、それぞれ比率の大きい順に、0、1、2、・・・と、順位着けを行う。
【0094】
図9にステップS65、S67における比率の算出と、比率順位着けの例を示す。この例では、パーツ範囲内の全AFエリアの数である全体エリア数が30、パーツ範囲内での背景領域と判定されたAFエリアである背景エリア数が5である。またパーツ内領域パーツ領域0からパーツ領域4の5個である。パーツ内領域0のAFエリア数が4であるとすると、比率Rp0は(1)式に数値を代入し、4/(30-5)=0.16となる。同様に、パーツ領域1の比率Rp1は、6/(30-5)=0.24となり、パーツ内領域2の比率Rp2は、3/(30-5)=0.12となる。比率が算出されると、比率順位は、パーツ内領域1、パーツ内領域0、パーツ内領域2の順となる(パーツ内領域3、4は省略)。
【0095】
次に、ステップS69からS83において、横切り被写体を除外する過程において、パーツやボディの有効な領域を除外しないようにする。このため、これらのステップにおいて、パーツとボディのそれぞれの範囲に対する各パーツ内、各ボディ内領域の占める比率を算出し、比率の小さいものを横切り被写体候補とする。横切り被写体が十分に大きい面積を有する場合には、追尾回路234がこのような大きい被写体を検出できるはずである。したがって、追尾回路234が検出しなかった面積が小さい領域は、除去すべき横切り被写体である可能性が高い。
【0096】
まず、ステップS55と同様に、着目領域に領域番号nを付与する(S71)。最初にここで付与する領域番号は、n=0であり、以後、ステップS69~S83を繰り返すたびに、nに1が加算される(後述するステップS83、S95、S109参照)。
【0097】
着目領域に領域番号を付与すると、次に、パーツ範囲のエリア(AFエリア)数が定数C7未満であるか否かを判定する(S73)。パーツ範囲は、鳥の顔のように、ボディ範囲と比較すると小面積な場合が多い。この場合、パーツ範囲が所定よりも小さい場合には、ステップS65において算出した比率そのものは考慮せずに、CPU216が除外の候補にする。
【0098】
ステップS73における判定の結果、パーツ範囲のAFエリア数が定数C7未満であった場合には、次に、着目領域がパーツか否かを判定する(S75)。着目領域は、パーツ範囲であるかボディ範囲であるか否かに関係なく領域番号が付与され記憶されている(S71参照)。このステップでは、CPU216が着目領域の領域番号に基づいて、パーツ範囲内であるか否かを判定する。
【0099】
ステップS75における判定の結果、着目領域がパーツ範囲内にあれば、着目領域にパーツ横切り候補1フラグおよびパーツ横切り候補2フラグを立てる(S77)。一方、ステップS75における判定の結果、着目領域がパーツ範囲内になければ、着目領域にボディ横切り候補3フラグおよびボディ横切り候補4フラグを立てる(S79)。パーツ範囲のAFエリア数が所定値(定数C7)より小さい場合は、横切り被写体の判定をより念入りに行うため、ボディ範囲内の着目領域も横切り候補(ボディ横切り候補3フラグおよびボディ横切り候補4フラグ)とする。
【0100】
ステップS77またはS79において、フラグを立てると、次に、領域番号nに1を加算する(S81)。前述したように、領域番号nに1を加算すると、ステップS69に戻り、前述した動作を繰り返す。領域番号nがボディ範囲およびパーツ範囲の全領域(パーツ内領域、ボディ内領域)の最終に達すると、ステップS69~S83における繰り返し処理を終了し、元のフローに戻る。
【0101】
ステップS73に戻り、このステップにおける判定の結果、パーツ範囲のエリア(AFエリア)数が定数C7よりも小さくない場合には、次に、着目領域がパーツ範囲か否かを判定する(S85)。ここでは、CPU216は、領域番号に基づき、着目領域がパーツ範囲内かボディ範囲内かを判定する。
【0102】
ステップS85における判定の結果、着目領域がパーツ(パーツ範囲内)であった場合には、次に、着目領域の比率が定数C8以下か否かを判定する(S87)。着目領域の比率は、ステップS65において、式(1)に基づいて算出してあるので、CPU216はこの算出結果に基づいて判定する。
【0103】
ステップS87における判定の結果、着目領域の比率が定数C8以下であった場合には、着目領域にパーツ横切り候補1フラグを立てる(S89)。この着目領域の占める割合が少ない、すなわちこの着目領域の面積が狭く、横切り被写体である可能性が高いので、横切り候補1としてフラグを立てる。
【0104】
ステップS89においてフラグを立てると、またはステップS87における判定の結果、着目領域の比率が定数C8以下でない場合には、次に、パーツ内比率順位が定数C9以上か否かを判定する(S91)。パーツ範囲内における着目領域の比率の順位は、ステップS67において求めてあるので、CPU216はこの順位着けの結果に基づいて判定する。
【0105】
ステップS91における判定の結果、着目領域の比率順位の数値が定数C9以上であった場合には、着目領域にパーツ横切り候補2フラグを立てる(S93)。比率順位の数値が大きいことは、着目領域の占める割合が少ないことを意味し、すなわちこの着目領域の面積が狭く、横切り被写体である可能性が高いので、横切り候補2としてフラグを立てる。
【0106】
ステップS93においてフラグを立てると、またはステップS91における判定の結果、着目領域の比率順位が定数C9以上でなかった場合には、次に、領域番号nに1を加算する(S95)。前述したように、領域番号nに1を加算すると、ステップS69に戻り、前述した動作を繰り返す。領域番号nがボディ範囲およびパーツ範囲の全領域の最終に達すると、ステップS69~S97における繰り返し処理を終了し、元のフローに戻る。
【0107】
ステップS85に戻り、着目領域がパーツ(パーツ範囲)でなかった場合には、次に、着目領域の比率が定数C10以下か否かを判定する(S101)。ボディ範囲における着目領域(ボディ内領域)の比率は、ステップS65において、式(2)に基づいて算出してあるので、CPU216はこの算出結果に基づいて判定する。
【0108】
ステップS101における判定の結果、着目領域の比率が定数C10以下であった場合には、着目領域にボディ横切り候補3フラグを立てる(S103)。この着目領域の占める割合が少ない、すなわちこの着目領域の面積が狭く、横切り被写体である可能性が高いので、横切り候補3としてフラグを立てる。
【0109】
ステップS103においてフラグを立てると、またはステップS101における判定の結果、着目領域の比率が定数C10以下でない場合には、次に、ボディ内比率順位が定数C11以上か否かを判定する(S105)。ボディ範囲内における着目領域の比率の順位は、ステップS67において求めてあるので、CPU216はこの順位着けの結果に基づいて判定する。
【0110】
ステップS105における判定の結果、着目領域の比率順位の数値が定数C11以上であった場合には、着目領域にボディ横切り候補4フラグを立てる(S107)。比率順位の数値が大きいことは、着目領域の占める割合が少ないことを意味し、すなわちこの着目領域の面積が狭く、横切り被写体である可能性が高いので、横切り候補4としてフラグを立てる。
【0111】
ステップS107においてフラグを立てると、またはステップS105における判定の結果、着目領域の比率順位が定数C11以上でなかった場合には、次に、領域番号nに1を加算する(S109)。前述したように、領域番号nに1を加算すると、ステップS69に戻り、前述した動作を繰り返す。領域番号nがボディ範囲およびパーツ範囲の全領域(ボディ内領域、パーツ内領域)の最終に達すると、ステップS69~S111における繰り返し処理を終了し、元のフローに戻る。定数C6~C11は、種々の条件、例えば被写体種類(人、鳥、車等)、焦点距離、フォーカス位置、被写体(パーツ、ボディ)大きさ、着目領域のAFエリアの測距信頼性等に応じて変更する。
【0112】
次に、
図5Aおよび
図5Bに示すフローチャートを用いて、ステップS39(
図3参照)に示す横切り除外1の動作について説明する。横切り除外1のフローは、ボディ範囲、パーツ範囲、および外側範囲を横切る被写体を探し、この被写体を焦点検出の対象から排除する。すなわち、ステップS33、S35(
図3参照)において決定した領域(ボディ内領域、パーツ内領域、外側領域)毎に平均LDPを算出し、平均LDPの値がボディ範囲、パーツ範囲、および外側範囲において所定範囲内に入っている場合に、横切り被写体が存在していると判定する。平均LDPの値がボディ範囲やパーツ範囲等において略等しい場合には、同一の物体がこれらの範囲を横切っていると考えられるからである。
【0113】
図5Aに示す横切り除外1のフローが開始すると、まず、パーツ横切り候補フラグ1かつパーツ横切り候補フラグ2が立っている領域に対し、繰り返し処理を開始する(S121)。これらのフラグは、ステップS77、S89、S93において立てられている。続いて、パーツ着目領域を領域番号iとする(S123)。初めてステップS123を実行する際には、i=0とし、以後、iに1を加算する(S147参照)。すなわち、パーツ着目領域を表す領域番号を0から順次加算しながら、ステップS121~S147を実行する。
【0114】
次に、ボディ横切り候補フラグ1かつボディ横切り候補フラグ3かつボディ横切り候補フラグ4が立っている領域に対し、繰り返し処理を開始する(S125)。これらのフラグは、ステップS59、S79、S103、S107において立てられている。続いて、ボディ着目領域(ボディ内領域)を領域番号jとする(S127)。初めてステップS127を実行する際には、j=0とし、以後、jに1を加算する(S145参照)。すなわち、ボディ着目領域を表す領域番号を0から順次加算しながら、ステップS125~S145を実行する。
【0115】
次に、外側領域に対し、繰り返し処理を開始する(S129)。続いて、外側着目領域を領域番号kとする(S131)。初めてステップS173を実行する際には、k=0とし、以後、kに1を加算する(S143参照)。すなわち、外側着目領域を表す領域番号を0から順次加算しながら、ステップS129~S143を実行する。
【0116】
処理ループの構成について説明する。3重のループの始まりと終わりのステップS121~S131、S143~S147において、横切り除外1のフローを実行する際には、まず、パーツ着目領域番号iとボディ着目領域番号jを固定し、外側領域番号kについて、0、1、2、・・・と順次変更しながら、ステップS133~S141を実行する。外側領域番号kが最終の値になると、次に、ボディ着目領域番号jに1を加算し、この加算したjとパーツ着目領域番号iを固定し、外側領域番号kについて、0、1、2、・・・と順次変更しながら、ステップS133~S141を実行する。ボディ着領域番号jが最終の値になると、次に、パーツ着目領域番号iに1を加算し、前述したように、順次、外側着目領域番号kとボディ着目領域番号jを変更しながら、ステップS133~S141を実行する。
【0117】
ステップS131において、外側着目領域を領域番号kとすると、次に、「定数C12<パーツ着目領域平均LDP-ボディ着目領域平均LDP<定数C13、かつ、定数C12<ボディ着目領域平均LDP-外側着目領域平均LDP<定数C13」であるか否かを判定する(S133)。ステップS31において各AFエリアのLDPを算出してデプスマップを作成し、ステップS33において領域を算出しているので、CPU216は算出された各領域、つまり、ボディ内領域、パーツ内領域、外側領域毎に、含まれるAFエリアのLDPを各領域内で平均することにより、各領域の平均LDPが求まる。ここで、定数C12はマイナスの値を想定しており、また定数C13はプラスの値を想定している。
【0118】
ステップS133における判定の結果、各LDPの差分が定数C12と定数C13の範囲内にあれば、該当着目領域を除外する(S135)。パーツ範囲における着目領域の平均LDPとボディ範囲における着目領域の平均LDPの差分が所定範囲内であれば、2つの着目領域の被写体距離は略同一であり、同一物体がパーツ範囲とボディ範囲に跨って存在していると考えられる。同様に、ボディ範囲における着目領域の平均LDPと外側範囲における着目領域の平均LDPの差分が所定範囲内であれば、2つの着目領域の被写体距離は略同一であり、同一物体がボディ範囲と外側範囲に跨って存在していると考えられる。この状態は、
図10(c)に示した状態である。すなわち、
図10(c)は、パーツ範囲PAがボディ範囲BOに対してはみ出すことがなく、またパーツ範囲とボディ範囲の境界が重なっていない状態を示す。この場合に、横切り被写体CCが、外側範囲、ボディ範囲BO、パーツ範囲PAに跨っていると、横切り被写体CCの距離(LDP)は、略同一となる。従って、ステップS133に示した条件を満たす場合には、横切り被写体と考えられるので、ステップS135において、パーツ範囲、ボディ範囲、外側範囲の全ての着目領域(該当領域)を、焦点調節の対象から除外する。
【0119】
ステップS135において、該当着目領域を除外すると、またはステップS133における判定の結果がNoであった場合には、次に、パーツ範囲がボディ範囲に対して重なっているか、またははみ出しているか否かを判定する(S137)。このステップでは、CPU126は、追尾回路234が検出したパーツ範囲とボディ範囲に関するデータに基づいて判定する。パーツ範囲がボディ範囲に対して重なっているとは、
図10(a)に示すように、パーツ範囲の一部が単にボディ範囲BOに重なっているのではなく、パーツ範囲の全部がボディ範囲BO内に含まれ、かつパーツ範囲を区切る少なくとも1辺がボディ範囲BOの境界と重なっていることをいう。また、パーツ範囲がボディ範囲からはみ出しているとは、
図10(b)に示すように、パーツ範囲PAの一部がボディ範囲BOに含まれ、パーツ範囲PAの残りの部分がボディ範囲BOに含まれない場合をいう。
【0120】
ステップS137における判定の結果、パーツ範囲がボディ範囲に対して重なっているか、またははみ出していた場合には、次に、パーツ着目領域の平均LDP≧ボディ内平均LDP+定数C6であるか否かを判定する(S138)。ステップS138における判定がYesであった場合には、次に、定数C14<パーツ着目領域のLDP平均値-外側着目領域の平均LDP値<定数C15であるか否かを判定する(S139)。ステップS137における判定がYesであったことから、
図10(a)または(b)のような場合である。そして、パーツ範囲の着目領域の平均LDPがボディ内平均LDPに定数C6を加算した値以上の場合に、パーツ範囲の着目領域の被写体距離は、ボディ範囲の平均距離よりも至近側の横切り除外の候補の可能性がある。この場合には、パーツ範囲の着目領域と、外側範囲の着目領域のLDPの平均値が略等しいか判定する。
【0121】
ステップS139における判定の結果がYesであれば、該当着目領域を除外する(S141)。この場合は、パーツ範囲と外側範囲における2つの着目領域の平均LDPの差分が所定範囲内であることから、パーツ範囲と外側範囲における2つの着目領域の被写体距離は略同一であり、同一物体がパーツ範囲と外側範囲に跨って存在していると考えられる。そこで、CPU216は、パーツ範囲と外側範囲における該当着目領域を、焦点調節の対象から除外する。
【0122】
ステップS141において、該当着目領域以外を除外すると、またはステップS137またはS138またはS139における判定の結果がNoであった場合には、外側着目領域の領域番号kに1を加算し(S143)、前述のステップS129に戻る。外側着目領域の領域番号の最終の番号について処理が終わると、次に、ボディ着目領域の領域番号jに1を加算し(S145)、前述のステップS125に戻る。パーツ着目領域の領域番号iに1を加算し(S147)、前述のステップS121に戻る。パーツ着目領域の領域番号の最終の番号について処理が終わると、横切り除外1のフローを終了し、元のフローに戻る。定数C6、C12~C15は、種々の条件、例えば被写体種類(人、鳥、車等)、焦点距離、フォーカス位置、被写体(パーツ、ボディ)大きさ、着目領域のAFエリアの測距信頼性等に応じて変更する。
【0123】
次に、
図6Aおよび
図6Bに示すフローチャートを用いて、ステップS41(
図3参照)に示す横切り除外2の動作について説明する。横切り除外2のフローは、被写体検出範囲、範囲周辺のデプス情報を複数フレームに亘りチェックしておき、横切り被写体が検出範囲内に入った瞬間に、横切り被写体の含まれる領域を除外して、焦点調節を行う。
【0124】
図6Aに示す横切り除外2のフローが開始すると、まず、ここまでに除外されていないボディ範囲にある領域(ボディ内領域)のAFエリアについて、中央値を算出する(S151)。横切り除外2は、連続的にフレームが続く動画像や連続する静止画像(連写画像)において、横切り被写体が突然現れても、この横切り被写体にピントが合わないように、横切り被写体が含まれるAFエリアを除外するためのフローである。このステップでは、CPU216は、横切り除外1の処理によってボディ範囲の中で除外されていないボディ内領域のAFエリアのLDPを平均した平均LDPを大きさの順に配列した中央値を算出する。
【0125】
ボディ内領域の平均LDP中央値を算出すると、次に、除外されずに残っているパーツ内領域およびボディ内領域の平均LDPのうちの最至近の平均LDPが、残っている外側範囲内の領域の平均LDPのうちの最至近の平均LDPよりも小さいか否かを判定する(S153)。ここでは、CPU216は、背景に相当する外側領域の最至近距離と、パーツ範囲およびボディ範囲における最至近距離を比較する。
【0126】
ステップS153における判定の結果、Yesであった場合には、フラグout_obj_flgに1を設定する(S155)。この場合には、背景に相当する外側領域の方がボディ範囲・パーツ範囲よりも至近側にある。一方、ステップS153における判定の結果、Noであった場合には、フラグout_obj_flgに0を設定する(S157)。この場合には、ボディ範囲・パーツ範囲の方が背景に相当する外側領域よりも至近側にある。
【0127】
次に、フラグout_obj_flgを時系列データとして保存する(S159)。CPU216は、撮像素子208からフレーム画像を読み出し、ステップS155またはS157においてフラグout_obj_flgを設定すると、このフラグをDRAM228(または不揮発性のメモリ)に、順次、記録する。記録しておくことにより、現フレームのフラグ設定値、1フレーム前のフラグの設定値、2フレーム前のフラグの設定値、・・・・を読み出すことができる。
【0128】
フラグを時系列データとして保存すると、次に、LDP時系列差分を算出する(S161)。パーツ内領域の平均LDPのうちで最至近を示す領域の平均LDPの時系列的な差分Dcを以下のように定義する。差分Dcは、現フレームで残っているパーツ内領域の平均LDPのうちで最至近を示す領域の平均LDPをLpとし、3フレーム前のデータであって横切り除外されなかったパーツ内領域の平均LDPのうちで最至近を示す領域平均LDPをL3とすると、下記の式(3)によって算出することができる。
Dc=Lp-L3 ・・・(3)
【0129】
また、式(3)をより一般化すると、パーツ内領域の平均LDPのうちで最至近からn番目に近い距離を示す領域の平均LDPの差分Dcnを以下のように定義する。差分Dcnは、現フレームで残っているパーツ内領域の平均LDPのうちで最至近からn番目に近い距離を示す領域の平均LDPをLpnとし、3フレーム前のデータであって横切り除外されなかったパーツ内領域の平均LDPのうちで最至近からn番目に近い距離を示す領域の平均LDPをL3nとすると、下記の式(4)によって算出することができる。
Dcn=Lpn-L3n ・・・(4)
【0130】
また、ボディ内領域のうちで中央値を含む領域の平均LDPの差分Dmを以下のように定義する。差分Dmは、現フレームで残っているボディ内領域のうちで中央値を含む領域の平均LDPをLmとし、3フレーム前のデータであって横切り除外されなかったボディ内領域のうちで中央値を含む領域の平均LDPをL3mとすると、下記式(5)によって算出することができる。
Dm=Lm-L3m ・・・(5)
【0131】
なお、上述の式(3)~(5)においては、現フレームと3フレーム前の平均LDPの差分を算出していたが、これに限らず、1フレーム前でも、2フレーム前でも、また4フレーム以上前との差分であってもよい。いずれにしても所定条件を満たす平均LDPの差分を算出できればよい。
【0132】
平均LDPの時系列差分を算出すると、次に、out_obj_flg=1の時系列データがあるか否かを判定する(S163)。out_obj_flg=1は、前述したように、背景に相当する外側領域の方がボディ範囲・パーツ範囲よりも至近側にある場合である。この場合は、横切り被写体が画面内に突然入ってきた可能性がある。ステップS159において、out_obj_flgを保存しているので、CPU216は、保存結果を読み出して過去の所定フレーム数についてout_obj_flg=1のデータが存在するか判定すればよい。この判定の結果、out_obj_flg=1の時系列データがない場合には、このフローを終了する。
【0133】
ステップS163における判定の結果、out_obj_flg=1の時系列データがあった場合には、ステップS165~S171において、最至近に対応するパーツ内領域から、最至近からn番目に近い距離に対応するパーツ内領域までを繰り返し処理する(S165)。
【0134】
まず、(最至近からn番目に近い距離に対応するパーツ内領域の平均LDPの時系列差分Dcn - ボディ内領域のうちで中央値を含む領域の平均LDPの時系列差分Dm)> 定数C16であるか否かを判定する(S167)。ここでは、CPU216は、ステップ161において算出したパーツ内領域の時系列差分Dcnを用いて、この時系列差分Dcnと中央値を含むボディ内領域の平均LDPの時系列差分Dmとの差分値が、定数C16よりも大きいか否かを判定する。
【0135】
ステップS167における算出結果は、追尾している被写体の平均的な距離(ボディ内領域のうちで中央値を含む領域の平均LDP)と、パーツ範囲におけるn番目に近い距離のパーツ内領域の距離(平均LDP)との差分である。この差分値が所定値より大きい場合には、パーツ範囲に突然、横切り被写体が現れたと言える。
図11は、横切り被写体が現れる場合において、最至近を示すパーツ内領域と中央値を含むボディ内領域の各距離(LDPで表す)の時間変化を示す。
図11に示す例では、時刻t1~t3までは、最至近を示すパーツ内領域と中央値を含むボディ内領域の各距離の変化量は略一定である。しかし、時刻t4において、最至近を示すパーツ内領域の距離のみが至近側に大きく変化しており、時刻t4と時刻t1の時系列差分Dcも大きく変化している。この結果、DcとDmの差分は定数C16より大きいと判定される。この場合には、パーツ範囲に横切り被写体が現れたといえる。ステップS167における判定の結果がNoであった場合には、ステップS171に進む。
【0136】
一方、ステップS167における判定の結果がYesであった場合には、該当する領域を除外する(S169)。ここでは、パーツ範囲に横切り被写体が現れたことから、CPU216は、この該当するパーツ領域を、焦点調節を行う対象から除外する。
【0137】
ステップS169において該当する領域を除外すると、パーツ内領域において最至近からの順番を表すnに、1を加算する(S171)。ステップS165~S171においては、パーツ内領域において、最至近から順番にステップS167、S169における処理を実行している。順番を表すnが、最後の領域に達すると、横切り除外2のフローを終了し、元のフローに戻る。なお、ステップS151の中央値の代わりに、ボディ範囲に含まれる除外されていないボディ内領域の平均LDPを平均した平均値を採用してもよい。定数C16は、種々の条件、例えば被写体種類(人、鳥、車等)、焦点距離、フォーカス位置、被写体(パーツ、ボディ)大きさ、着目領域のAFエリアの測距信頼性、被写体の移動速度等に応じて変更する。以上の説明においては、パーツ範囲とボディ範囲が重複する範囲を、パーツ範囲として扱ったが、ボディ範囲として扱ってもよい。例えば、
図10(b)に示すパーツ範囲PA内におけるパーツ範囲PAとボディ範囲BOが重複しない範囲のみをパーツ範囲として扱って処理を行ってもよい。
【0138】
このように、本発明の一実施形態においては、具体的には、まず、対象物検出範囲の情報を追尾ブロックから取得する(例えば、
図2のS7参照)。続いて、複数のAFエリアでデフォーカス量を検出し(例えば、
図2のS13)、ボディ範囲、パーツ範囲、外側範囲のそれぞれの領域のデフォーカス量を距離に相当するレンズ位置LDPに変換してデプスマップを作成する(
図2のS15、
図3のS31参照)。このデプスマップを用いて、被写体検出範囲、範囲周辺で、大きく背景側にある領域は背景と判定し、除外する(例えば、
図3のS35参照)。被写体検出範囲、範囲周辺のデプス情報を比較し、外側範囲、ボディ範囲内、パーツ範囲内に跨る領域を特定し、除外する(例えば、
図3のS39、
図5Aおよび
図5B参照)。被写体検出範囲、範囲周辺のデプス情報を複数フレームに渡りチェックしておき、横切り被写体が検出範囲内に入った瞬間除外する(例えば、
図3のS41、
図6Aおよび
図6B参照)。
【0139】
以上、本発明を撮像装置1に適用した例について説明した。しかし、本発明は撮像装置に限らず種々の装置に適用することが可能である。例えば、
図12は、顕微鏡等の科学機器に本発明を適用した場合を示す。すなわち、
図12は、培養液中で培養されている心筋細胞を顕微鏡によって観察する際の観察画像を示し、観察画像中には、細胞Celがあり、この細胞Ce1手前にゴミDstが漂っている。
【0140】
顕微鏡装置が撮像部、焦点検出部、およびピント調節部を備えている場合には、細胞培養の観察時に、浮遊している細胞Celに自動的にピントを合わせることができる。この状態で、ゴミDstが細胞Celの前を漂ってきた場合には、従来の焦点調節方法では、ゴミDstに対して焦点調節(AF)を行ってしまうために、細胞Celがぼけてしまう。
【0141】
そこで、本発明の一実施形態と同様に、ゴミDSTを焦点調節の対象から除外し、顕微鏡の光学系のピント調節を行えばよい。
図12の例では、培養液中で培養されている細胞Celが本発明の一実施形態における「鳥」に相当し、細胞Celの前に漂ってくるゴミDstが鳥の前にある「枝」に相当する。顕微鏡における撮像部によって取得した画像データについて、
図2ないし
図6Bに類似するようなフローを実行することによって、細胞Celにピントを合わせることができる。また、画像中の細胞の画像部分を追尾可能なように構成される追尾回路を設け、追尾回路によって細胞Celの全体(ボディ)と特徴部分(パーツ)を検出し細胞Celを主対象物として検出すればよい。
【0142】
また、本発明は顕微鏡等の科学機器に限らず、内視鏡等の医療機器に適用することができる。
図13は、病変部であるポリープPoを切除するために内視鏡を体内に挿入し、スネアSnをポリープPoの上から近づけている様子を示す。内視鏡が撮像部、焦点検出部、およびピント調節部を備えている場合には、最初、ポリープPoにピントが合っているが、スネアSnの一部がポリープの手前に入ってくると、スネアSnにピントが合ってしまい、病変部であるポリープPoはぼけてしまう。
【0143】
そこで、本発明の一実施形態と同様に、スネアSnを焦点調節の対象から除外し、内視鏡の光学系のピント調節を行えばよい。
図13の例では、病変部であるポリープPoが本発明の一実施形態における「鳥」に相当し、ポリープPoを切除するためのスネアSnが鳥の前にある「枝」に相当する。内視鏡の撮像部によって取得した画像データについて、
図2ないし
図6Bに類似するようなフローを実行することによって、ポリープPoにピントを合わせることができる。また、画像中のポリープの画像部分を追尾可能なように構成される追尾回路を設け、追尾回路によってポリープPoの全体(ボディ)と特徴部分(パーツ)を検出しポリープPoを主対象物として検出すればよい。なお、焦点調節とは、焦点位置を連続的に変更するだけではなく、複数の離散的な焦点位置に選択的に位置制御することも含む。一般的な内視鏡のように、2焦点の焦点位置を切換える場合も含むものとする。
【0144】
以上説明したように、本発明の一実施形態および適用例は、撮影光学系を通過する対象物からの光を光電変換して撮像信号を出力する撮像素子を有し、撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法である。この焦点調節方法は、撮像信号に基づいて主対象物の位置を検出し(例えば、
図2のS7参照)、撮像信号に基づいて複数のAF領域の被写体距離に応じた距離値を検出し(例えば、
図2のS15参照)、主対象物の位置に対応する領域の距離値の統計値に対して、所定量以上近距離側の距離値を示す領域を不要候補領域と設定し(例えば、
図2のS17、
図3のS37参照)、不要候補領域に基づき不要対象物に対応する領域を判別し、主対象物領域から上記不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する(例えば、
図3のS39)。さらに、主対象物領域に対応する領域内の第1の候補領域と、主対象物領域以外の領域に対応する領域内の第2の候補領域を設定し、第1の候補領域に対応する第1の距離値と第2の候補領域に対応する第2の距離値に基づいて不要対象物に対応する領域を判別する(例えば、
図4AのS57、S59等参照)。このため、主対象物の前を横切るような細い対象物(遮蔽物)を排除して主対象物に合焦させることができる。
【0145】
また、本発明の一実施形態および適用例は、撮影光学系を通過する被写体光を所定のフレームレートで繰り返し撮像して撮像信号を出力する撮像素子を有し、撮像信号に基づいて焦点調節を行う焦点調節装置における焦点調節方法である。この焦点調節方法は、撮像信号に基づきフレーム毎に主対象物の全体を含む第1の領域の位置と主対象物の一部を含む第2の領域の位置を検出し(例えば、
図2のS7参照)、撮像信号に基づきフレーム毎に複数のAF領域の被写体距離に応じた距離値を検出し(例えば、
図2のS15参照)、第1の領域と第2の領域を除く領域にて、第1の領域と第2の領域に対応する距離値のうちで最も近距離を示す距離値よりも近距離を示す領域を不要候補領域と設定し(例えば、
図6AのS153、S155参照)、不要候補領域に基づき不要対象物に対応する領域を判別し、第2の領域から不要対象物に対応する領域を除外した領域に対応する距離値に基づき焦点調節を制御する(例えば、
図6BのS169、
図2のS17~S23等参照)。さらに、不要候補領域が複数フレームにわたり設定され、最新のフレームの第1の領域に対応する距離値と過去のフレームの第1の領域対応する距離値の差と、最新のフレームの第2の領域に対応する距離値と過去のフレームの第2の領域に対応する距離値の差との差分が、第5の所定量よりも大きいことを示す第2の領域内の部分を不要対象物に対応する領域と判別する(
図6BのS167参照)。このため、主対象物の前を横切るような細い対象物(遮蔽物)を排除して主対象物に合焦させることができる。特に、横切るような細い対象物が検出範囲内に入った瞬間的に除外することができる。
【0146】
なお、本発明の一実施形態においては、追尾回路234を設け、被写体を追尾していたが、必ずしも追尾は必要ではなく、主対象物を検出できればよい。また、追尾回路234は、ボディとパーツと外側を検出していたが、これらを検出は必ずしも必要ではなく、主対象物と主対象物以外を検出できればよい。また、追尾回路234は、AIを使用し、特定の対象物を検出していたが、必ずしもAIは必要ではなく、主対象物を検出できればよい。また、撮像装置1は、静止画撮影および動画撮影の両方できることを前提としていたが、いずれか一方だけでも勿論かまわない。また、横切り除外1および横切り除外2の両方を行っていたが、横切り除外1のみであっても構わない。
【0147】
また、本発明の一実施形態においては、画処理部218、画像圧縮展開部220、焦点検出回路222、追尾回路234等の全部または一部を、CPU216およびその周辺回路と一体化してもよい。また、画処理部218、画像圧縮展開部220、焦点検出回路222、追尾回路234等は、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウェア構成でもよく、またDSP(Digital Signal Processor)等のソフトを利用したハードウェア構成を利用してもよく、FPGA(Field Programmable Gate Array)等の集積回路で構成されたプロセッサにおける各回路部であってもよい。また、これらを適宜組み合わせてもよいことは勿論である。または、1つ以上のCPUで構成されるプロセッサが、記録媒体に記録されたコンピュータプログラムを読み込んで実行することによって、各部としての機能を実行するようにしても構わない。
【0148】
また、本発明の一実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ(例えば、医療用内視鏡)、顕微鏡等の科学機器用のカメラ、工業用内視鏡、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、撮像部によって画像を取得し、ピント調節を行う機器であれば、本発明を適用することができる。
【0149】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを通じてダウンロードしたものでもよい。
【0150】
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
【0151】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【0152】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせによって、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0153】
1・・・撮像装置、100・・・交換式レンズ、102・・・撮影レンズ、102a・・・フォーカスレンズ、102b・・・絞り、104・・・駆動部、106・・・レンズCPU、108・・・レンズ側記憶部、110・・・インターフェース(I/F)、200・・・カメラ本体、202・・・メカシャッタ、204・・・駆動部、206・・・操作部、206a・・・焦点調節指示部、208・・・撮像素子、210・・・撮像制御回路、212・・・アナログ処理部、214・・・アナログ・デジタル変換部(ADC)、216・・・CPU、216a・・・候補領域設定部、216b・・・焦点調節制御部、218・・・画像処理部、220・・・画像圧縮展開部、222・・・焦点検出回路、222a・・・信頼性判定部、222b・・・変換部、224・・・表示部、226・・・バス、228・・・DRAM、230・・・本体側記憶部、232・・・記録媒体、234・・・追尾回路