(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】画像処理装置、その制御方法及びプログラム
(51)【国際特許分類】
H04N 23/67 20230101AFI20231221BHJP
G02B 7/28 20210101ALI20231221BHJP
G03B 13/36 20210101ALI20231221BHJP
G03B 15/00 20210101ALI20231221BHJP
【FI】
H04N23/67 100
G02B7/28 N
G03B13/36
G03B15/00 Q
(21)【出願番号】P 2019074980
(22)【出願日】2019-04-10
【審査請求日】2022-04-11
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】高橋 遼太朗
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2014-081420(JP,A)
【文献】特開2017-143431(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/67
G02B 7/28
G03B 15/00
G03B 13/36
(57)【特許請求の範囲】
【請求項1】
特定の時刻に対応して、複数の焦点検出領域の各焦点検出領域から、焦点検出結果を得る焦点検出手段と、
前記特定の時刻に対応して得られた複数の焦点検出結果の比較に基づいて、焦点検出領域からなる少なくとも1つのグループを生成するグルーピング手段と、
第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果とを比較することで、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であるか否かを判断する同定手段と、
前記同定手段が前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると同定した場合に、前記第2のグループに対応する焦点検出結果を前記第1のグループ及びその焦点検出結果と紐づけて記憶する記憶手段と、
前記記憶手段によって記憶された複数のグループに対応する焦点検出結果に基づいて、
前記複数のグループに対応する物体の移動を判定する移動判定手段と、
を有し、
前記移動判定手段は、
前記第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と、前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果と、に基づいて、前記第1のグループ及び前記第2のグループに対応する物体が移動しているか否かを判定し、
前記移動判定手段は、前記同定手段によって同じ被写体であると判断された複数のグループに対応する焦点検出結果を比較することで、焦点検出結果の変化の方向が第1の方向であるか第2の方向であるかの比較した結果を複数取得し、
焦点検出結果の変化の方向が第1の方向であるという結果に対する焦点検出結果の変化の方向が第2の方向であるという結果の割合が所定の割合以上である場合には、前記被写体が第2の方向に移動していると判定することを特徴とする画像処理装置。
【請求項2】
前記グルーピング手段は、前記第2のグループに含まれる第1の焦点検出領域の焦点検出結果と、前記第1の焦点検出領域に隣接する第2の焦点検出領域における前記第2の時刻に対応する焦点検出結果と、の差分が第1の閾値未満の場合は、前記第2の焦点検出領域を第2のグループにグルーピングすることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記グルーピング手段は、前記第1の焦点検出領域の焦点検出結果と、前記第2の焦点検出領域における前記第2の時刻に対応する焦点検出結果と、の差分が前記第1の閾値以上の場合には、前記第2の焦点検出領域を第2のグループにグルーピングしないことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記グルーピング手段は、前記第2のグループの焦点検出結果の代表値と、
前記第2の時刻より後の時刻である第3の時刻に対応する焦点検出結果に基づいて生成された第3のグループの前記第2の時刻に対応する焦点検出結果の代表値と、の差分が前記第1の閾値より大きい第2の閾値以上の場合は、前記第3のグループを前記第2のグループにグルーピングしないすることを特徴とする請求項2又は請求項3の記載の画像処理装置。
【請求項5】
前記移動判定手段は前記グルーピング手段によって生成されたグループに含まれる焦点検出領域の数が閾値未満の場合には、当該グループを判定に用いないことを特徴とする請求項1乃至請求項4のいずれか1項に記載の画像処理装置。
【請求項6】
前記同定手段は、前記第1のグループに対応する焦点検出結果と前記第2のグループに対応する焦点検出結果との差分が第3の閾値未満である場合に、記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると判断し、前記第1のグループに対応する焦点検出結果と前記第2のグループに対応する焦点検出結果との差分が前記第3の閾値以上である場合には、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とは異なる被写体であると判断することを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。
【請求項7】
前記同定手段は、前記第1のグループの位置と前記第2のグループの位置との差分が第4の閾値未満である場合に、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると判断し、前記第1のグループの位置と前記第2のグループの位置との差分が前記第4の閾値以上である場合には、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とは異なる被写体であると判断することを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。
【請求項8】
前記同定手段は、前記第1のグループに含まれる焦点検出領域の数と前記第2のグループに含まれる焦点検出領域の数との差分が第5の閾値未満である場合に、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると判断し、前記第1のグループに含まれる焦点検出領域の数と前記第2のグループに含まれる焦点検出領域の数との差分が前記第5の閾値以上である場合には、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とは異なる被写体であると判断することを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。
【請求項9】
前記同定手段は、前記第1のグループに対応する焦点検出結果と前記第2のグループに対応する焦点検出結果との差分が第3の閾値未満であり、前記第1のグループの位置と前記第2のグループの位置との差分が第4の閾値未満であり、前記第1のグループに含まれる焦点検出領域の数と前記第2のグループに含まれる焦点検出領域の数との差分が第5の閾値未満である場合に、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると判断し、これらの条件の1つでも充たさない場合には、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とは異なる被写体であると判断することを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。
【請求項10】
前記同定手段が前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると同定した場合に、前記第2のグループに対応する焦点検出結果を前記第1のグループ及びその焦点検出結果と紐づけて記憶する記憶手段と、
前記移動判定手段は、前記第1のグループに対応する焦点検出結果と前記第2のグループに対応する焦点検出結果とが、動体の運動モデルに対応している場合、前記第1のグループ及び前記第2のグループに対応する物体が移動していると判断することを特徴とする請求項1乃至請求項
5のいずれか1項に記載の画像処理装置。
【請求項11】
特定の時刻に対応して、複数の焦点検出領域の各焦点検出領域から、焦点検出結果を得る焦点検出ステップと、
前記特定の時刻に対応して得られた複数の焦点検出結果の比較に基づいて、焦点検出領域からなる少なくとも1つのグループを生成するグルーピングステップと、
第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果とを比較することで、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であるか否かを判断する同定ステップと、
前記同定ステップが前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると同定した場合に、前記第2のグループに対応する焦点検出結果を前記第1のグループ及びその焦点検出結果と紐づけて記憶する記憶ステップと、
前記記憶手段によって記憶された複数のグループに対応する焦点検出結果に基づいて、
前記複数のグループに対応する物体の移動を判定する移動判定ステップと、を有し、
前記移動判定ステップでは、
前記第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と、前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果と、に基づいて、前記第1のグループ及び前記第2のグループに対応する物体が移動しているか否かを判定
し、
前記移動判定ステップは、前記同定ステップによって同じ被写体であると判断された複数のグループに対応する焦点検出結果を比較することで、焦点検出結果の変化の方向が第1の方向であるか第2の方向であるかの比較した結果を複数取得し、
焦点検出結果の変化の方向が第1の方向であるという結果に対する焦点検出結果の変化の方向が第2の方向であるという結果の割合が所定の割合以上である場合には、前記被写体が第2の方向に移動していると判定することを特徴とする画像処理装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至10の何れか1項に記載の画像処理装置が有する各手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮影対象を検出するための被写体検出装置及びその検出方法、及び画像処理装置に関するものである。
【背景技術】
【0002】
近年、デジタルカメラでは、カメラによって自動選択された焦点検出領域においてピントが合うようにフォーカスレンズの駆動を制御するオートフォーカス(AF)機能が存在する。また、焦点検出領域の自動選択において、撮影の対象となる主要被写体を検出し、当該主要被写体に対応する焦点検出領域を自動選択する技術が知られている。
【0003】
特許文献1では、主要被写体の検出方法として、焦点検出領域ごとにカメラから被写体までの距離情報の時間的変化を検出することで、焦点検出領域ごとに物体の近づき、遠ざかりを検出することが開示されている。そして、焦点検出領域に対応する被写体が動いている場合に、その被写体を主要被写体として検出する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、動いている被写体が主要被写体として検出することで、動いている被写体にピントが合うようにフォーカスレンズの駆動を制御することができる。
【0006】
しかしながら、特許文献1では、次に例示するように、焦点検出領域において物体の動きが正しく検出されない場合があり得るという課題がある。例えば、被写体の輪郭周辺の焦点検出領域においては、被写体と背景が同時に含まれる場合がある。このような場合には当該焦点検出領域から検出される距離情報は信頼度が低く、当該距離情報に基づく動体判定の精度が低下する場合がある。また、例えば、背景等の動いてない部分が焦点検出の誤差により動体と判定されてしまう場合がある。また、例えば、撮像面位相差式の焦点検出においてはピントが合っていない部分から検出される焦点検出結果に誤差が生じる場合があり、当該焦点検出結果に基づく距離情報を用いた動体判定の精度が低下する場合がある。以上に例示したような理由により物体の動きが正しく検出できない場合に、動いていない被写体を動いている被写体であるとして検出してしまうと、実際には動いていない被写体にピントが合うようにフォーカスレンズの駆動を制御してしまう。
【0007】
そこで、本発明は、焦点検出の精度が低下し得る状況においても精度良く動体を検出することができる画像処理装置、その制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、特定の時刻に対応して、複数の焦点検出領域の各焦点検出領域から、焦点検出結果を得る焦点検出手段と、
前記特定の時刻に対応して得られた複数の焦点検出結果の比較に基づいて、焦点検出領域からなる少なくとも1つのグループを生成するグルーピング手段と、
第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果とを比較することで、前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であるか否かを判断する同定手段と、
前記同定手段が前記第1のグループに対応する被写体と前記第2のグループに対応する被写体とが同じ被写体であると同定した場合に、前記第2のグループに対応する焦点検出結果を前記第1のグループ及びその焦点検出結果と紐づけて記憶する記憶手段と、
前記記憶手段によって記憶された複数のグループに対応する焦点検出結果に基づいて、前記複数のグループに対応する物体の移動を判定する移動判定手段と、を有し、
前記移動判定手段は、前記第1の時刻に対応する焦点検出結果に基づいて生成された第1のグループに対応する焦点検出結果と、前記第1の時刻より後の時刻である第2の時刻に対応する焦点検出結果に基づいて生成された第2のグループに対応する焦点検出結果と、に基づいて、前記第1のグループ及び前記第2のグループに対応する物体が移動しているか否かを判定し、
前記移動判定手段は、前記同定手段によって同じ被写体であると判断された複数のグループに対応する焦点検出結果を比較することで、焦点検出結果の変化の方向が第1の方向であるか第2の方向であるかの比較した結果を複数取得し、
焦点検出結果の変化の方向が第1の方向であるという結果に対する焦点検出結果の変化の方向が第2の方向であるという結果の割合が所定の割合以上である場合には、前記被写体が第2の方向に移動していると判定することを特徴とする。
【発明の効果】
【0009】
本発明によれば、焦点検出の精度が低下し得る状況においても精度良く動体を検出することができる。
【図面の簡単な説明】
【0010】
【
図1】デジタルカメラの構成例を示すブロック図である
【
図2】実施例1における動体検出処理のフローチャートである
【
図3】実施例1におけるAF枠統合処理のフローチャートである
【
図4】実施例1におけるAF枠統合処理の説明図である
【
図5】実施例1における同定処理のフローチャートである
【
図6】実施例1における移動判定処理のフローチャートである
【
図7】実施例2における動体検出処理のフローチャートである
【
図8】実施例2における移動判定処理のフローチャートである
【発明を実施するための形態】
【0011】
[実施例1]
以下、図面を参照して本発明の好適な実施形態を説明する。
【0012】
<撮像システムの構成>
図1は、本実施形態によるデジタルカメラ100の構成例を示すブロック図である。なお、本実施形態では、レンズ交換可能な撮像システムを例として説明するが、デジタルカメラ100が固定レンズを有する構成であってもよい。また、PC等の画像処理装置とし、デジタルカメラ100が取得する画像信号に相当する情報は、外部から取得する構成であっても良い。
【0013】
図1において、レンズユニット150は、交換可能な撮影レンズを搭載するレンズユニットである。
【0014】
レンズユニット150は通常、複数枚のレンズから構成されるレンズ群を有するが、ここでは簡略してフォーカスレンズ103のみを示している。通信端子6はレンズユニット150がデジタルカメラ100側と通信を行う為の通信端子であり、通信端子10はデジタルカメラ100がレンズユニット150側と通信を行う為の通信端子である。レンズユニット150は、この通信端子6,10を介してシステム制御部50と通信し、内部のレンズシステム制御回路4によって絞り駆動回路2を介して絞り1の制御を行う。また、通信端子6,10を介してシステム制御部50と通信し、AF駆動回路3を介して、フォーカスレンズ103の位置を変位させることで焦点を合わせる。
【0015】
AEセンサ17は、レンズユニット150を通した被写体の輝度を測光する。
【0016】
焦点検出部11は、位相差式焦点検出のための専用センサ(不図示を有し、公知の二次結像光学系を介して受光した光を当該専用センサによって光電変換し、出力された視差信号に基づいて位相差式焦点検出を実行する。位相差式焦点検出では、視差信号に基づいて像ずれ量を算出し、当該像ずれ量に基づいてデフォーカス量を算出する。焦点検出部11は、位相差式焦点検出によって得られたデフォーカス量を、システム制御部50に出力する。システム制御部50はそれに基づいてレンズユニット150を制御する。
【0017】
クイックリターンミラー12(以下、ミラー12)は、露光、ライブビュー撮影、動画撮影の際にシステム制御部50から指示されて、不図示のアクチュエータによりアップダウンされる。ミラー12は、フォーカスレンズ103を含むレンズ群から入射した光束をファインダ16側と撮像部22側とに切替えるためのミラーである。ミラー12は通常時はファインダ16へと光束を導くよう反射させるように配されているが、撮影が行われる場合やライブビュー表示の場合には、撮像部22へと光束を導くように上方に跳ね上がり光束中から待避する(ミラーアップ)。またミラー12はその中央部が光の一部を透過できるようにハーフミラーとなっており、光束の一部を、焦点検出を行うための焦点検出部11に入射するように透過させる。
【0018】
撮影者は、ペンタプリズム14とファインダ16を介して、フォーカシングスクリーン13を観察することで、レンズユニット150を通して得た被写体の光学像の焦点や構図の確認が可能となる。
【0019】
シャッター101は、システム制御部50の制御で撮像部22の露光時間を自由に制御できるフォーカルプレーンシャッターである。
【0020】
撮像部22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器23は、アナログ信号をデジタル信号に変換する。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換するために用いられる。
【0021】
画像処理部24は、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて焦点検出を含む所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部50が露光制御、焦点調節制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
【0022】
ここで、画像処理部24によって実行される焦点検出制御についてより詳しく説明する。本実施例では、画像処理部24によって公知の撮像面位相差式の焦点検出が可能な構成となっている。すなわち、撮像部22は撮像素子上に瞳分割可能な焦点検出用画素を全画素、または一部の画素に設ける事で視差信号を取得可能な構成である。システム制御部50撮像部22の撮像素子から取得した視差信号に基づいて位相差式の焦点検出を実行することで、デフォーカス量を算出する。画像処理部24は、位相差式焦点検出によって得られたデフォーカス量を、システム制御部50に出力する。システム制御部50はそれに基づいてレンズユニット150を制御する。
【0023】
なお、焦点検出部11または画像処理部24によって実行されると位相差式の焦点検出の一部または全部の処理を、システム制御部20によって実行する構成としても良い。また、レンズユニット150を制御するためのレンズ駆動量の、デフォーカス量に基づく算出処理は、焦点検出部11または画像処理部24において実行してシステム制御部50に出力する構成としても良いし、システム制御部50において実行する構成としても良い。
【0024】
不揮発性メモリ56は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
【0025】
システム制御部50は、少なくとも1つのプロセッサーを有する制御部であり、デジタルカメラ100全体を制御する。システム制御部50はAF枠統合部51、同定判定部52、移動判定部53、を備える。システム制御部50は前述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。55はシステムメモリであり、RAMが用いられる。システムメモリ55には、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等を展開する。また、システム制御部はメモリ32、D/A変換器19、表示部28等を制御することにより表示制御も行う。
【0026】
AF枠統合部51(グルーピング手段とも称する)は焦点検出部11から得られたデフォーカス量を元にAF枠(焦点検出領域とも称する)を統合したグループを生成する。そして、統合された各グループに対応する代表デフォーカス量を算出する。算出された代表デフォーカス量はシステムメモリ55に格納される。AF枠統合部51の処理はデジタルカメラ100の撮影中に継続して行われる。
【0027】
同定処理部52はAF枠統合部51が算出した最新グループの代表デフォーカス量と、システムメモリ55に格納されている過去のグループの代表デフォーカス量との対応付けの処理を行う。対応付けの結果得られた各代表デフォーカス量の時間変化をシステムメモリ55に格納する。
【0028】
移動判定部53はシステムメモリ55に格納された代表デフォーカス量の時間変化の記憶を元に動体の検出を行う。システム制御部50は移動判定部53が検出した動体に基づいて露光制御、測距制御の対象の選択を行う。移動判定部53を、移動判定手段とも称する。
【0029】
<動体検出処理の全体フロー>
以下、本発明の実施例1で行われる動体検出処理の全体フローについて
図2のフローチャート及び
図4を参照して説明する。
【0030】
まず、
図2のステップS201で制御部50は焦点検出部11、または画像処理部24から得られたデフォーカス量を全AF枠について取得する。AF枠は例えば
図4の401の様に格子状に区切られた領域である。ここでは、焦点検出部11もしくは画像処理部24は、特定の時刻に対応して焦点検出部11もしくは撮像部22において得られた画像信号に基づいて、焦点検出部11もしくは撮像部22において得られた画像信号に基づいて、各AF枠からデフォーカス量を取得する。つまり、ステップS201において、特定の時刻に対応して複数の焦点検出結果が取得される。
【0031】
次にステップS202において、AF枠統合部51はS201で取得したデフォーカス量を元にAF枠の統合処理を行う。これにより、
図4の403に示すようにAF枠を構図内の物体毎に切り分けることが出来る。統合処理の詳細については後述する。なお、少なくとも1つのAF枠からなるグループを、以後「クラスタ」とも呼ぶ。
【0032】
また、ステップS202において、制御部50は生成された各クラスタそれぞれに対して各クラスタの焦点検出結果の代表値を算出する。本実施例では一例として、代表値として、代表デフォーカス量の算出を行う。本実施例では各クラスタに含まれるAF枠のデフォーカス量の平均値を代表デフォーカス量として算出する。なお、各クラスタの焦点検出結果の代表値を得ることができれば、この算出方法に限らない。例えばクラスタが有するAF枠から複数のデフォーカス量を検出できる場合には、複数のデフォーカス量の中央値や最頻値を用いても良い。また、クラスタの中央付近のAF枠のデフォーカス量を代表値としても良い。
【0033】
デジタルカメラ100の撮影中、
図2の一連の流れを繰り返し行われるため、ステップS201で算出された代表デフォーカス量はシステムメモリ55に継続して格納される。以降、直前のステップS201よりも前にシステムメモリ55に格納されていた代表デフォーカス量を過去クラスタの代表デフォーカス量と呼ぶ。
【0034】
ステップS203において、同定処理部52はAF枠統合部51がシステムメモリ55に格納した最新の代表デフォーカス量と、過去にシステムメモリ55に格納した過去クラスタの代表デフォーカス量との対応付けの処理を行う。同定処理の詳細については後述する。
【0035】
ステップS204において、制御部50は同定処理部52で対応付けされた全クラスタの代表デフォーカス量の時間変化の記憶をシステムメモリ55に格納する。
【0036】
ステップS205で移動判定部53はシステムメモリ55に格納された代表デフォーカス量の時間変化の記憶を元に各クラスタの移動速度と移動方向の一貫性を算出し、各クラスタが動いているかの判定を行う。移動判定処理の詳細については後述する。
【0037】
<AF枠統合処理>
ここでは
図2のフローチャートにおけるAF枠統合処理(S202)の詳細について、
図3のフローチャート、
図4の説明図を用いて説明する。
【0038】
図3のステップS301において、制御部50は全てのAF枠に対し、ステップS302で選択済みか否かの判定を行う。全てのAF枠が選択済みであればステップS308に、未選択のAF枠が残っていればステップS302に進む。
【0039】
ステップS302において、制御部50は全てのAF枠から一つのAF枠を選択する。例えば
図4の401に示す全AF枠の中から、
図4の402を選択するとする。ここで選択されるAF枠を、以後第1のAF枠とも称する。
【0040】
ステップS303において、制御部50は第1のAF枠に隣接する全てのAF枠について、第1のAF枠と比較済みか否かの判定を行う。隣接する全てのAF枠が比較済みであればステップS308に、未比較のAF枠が残っていればステップS304に進む。
【0041】
ステップS304において、制御部50は第1のAF枠に隣接する全てのAF枠から、未比較のAF枠を一つ選択する。ここで第1のAF枠の比較対象として選択されたAF枠を、以後第2のAF枠とも称する。
【0042】
ステップS305において、制御部50は第1のAF枠のデフォーカス量と第2のAF枠のデフォーカス量との差を計算する。デフォーカス量の差分が予め与えられた第1の閾値未満であればステップS307へ、第1の閾値以上であればステップS306へ進む。
【0043】
第1の閾値の大きさによって、AF枠統合処理がどの程度の粒度でAF枠をクラスタに統合するかの度合いが決定する。第1の閾値が小さい場合は、より大きい場合と比較して、より少数のAF枠で構成される小さいクラスタが、より多数生成される。第1の閾値が大きい場合は、より小さい場合と比較して、より多数のAF枠で構成される大きなクラスタが、より少数生成される。また、第1の閾値は、撮影時のレンズの焦点距離や撮影距離に応じて設定してもよい。例えば、撮影距離の場合は、遠い場合に減らし、近い場合に増やす。例えば焦点距離が短い場合は第1の閾値を小さく、焦点距離が長い場合は第1の閾値を大きくする事でレンズの焦点距離を変えても同じ粒度のクラスタを生成する事が出来る。
【0044】
ステップS306において、制御部50は第1のAF枠と第2のAF枠とを別のクラスタに割り当てる。ただし、既に同じクラスタに統合されていた場合は分離する処理は行わない。ここで、第1のAF枠とまたは第2のAF枠がまだクラスタに属していない場合は、まだクラスタに属していないAF枠に対応して新規クラスタを作成して割り当てる。
【0045】
ステップS307において、制御部50は第2のAF枠を含め、第2のAF枠が所属するクラスタの全AF枠を、第1のAF枠の所属するクラスタと統合する。
【0046】
ステップS308において、制御部50は生成された各クラスタそれぞれに対して各クラスタの焦点検出結果の代表値を算出する。前述のように、本実施例では一例として、代表値として、代表デフォーカス量の算出を行う。各クラスタについて、所属するAF枠のデフォーカス量から代表デフォーカス量の算出を行う。本実施例で、制御部50は、所属するAF枠のデフォーカス量の平均値を求めることで代表デフォーカス量を算出する。前述のように、各クラスタの焦点検出結果の代表値を算出方法はこれに限らない。例えばクラスタが有するAF枠から複数のデフォーカス量を検出できる場合には、複数のデフォーカス量の中央値や最頻値を用いても良い。また、クラスタの中央付近のAF枠のデフォーカス量を代表値としても良い。
【0047】
また、ステップS308において、制御部50は各クラスタの位置を算出する。本実施例では一例として、クラスタを構成する各AF枠のセンサ上の位置の平均値を算出し、クラスタの位置とする。クラスタの位置に相当する値であれば、算出方法は、これに限らない。
【0048】
ステップS309において、制御部50は現在のクラスタの状態が、統合処理の終了条件を満たしているかを判断する。本実施例では統合に用いる第1の閾値が第2の閾値以上であることを終了条件とする。一例として、1fδを第2の閾値として設定することで、合焦状態が同等の深度幅に含まれる被写体は同一と見做す一方で、その深度幅以上に被写体位置に差がある被写体は同じクラスタとして統合しない。第1の閾値が第2の閾値以上である場合には、終了条件を満たしているとして統合処理を終了する。第1の閾値が第2の閾値未満である場合、ステップS310に進む。
【0049】
ここで、前述のレンズ群がズームレンズを有する場合に、現在の焦点距離に応じて終了条件とする第2の閾値の大きさを変えても良い。より具体的には、焦点距離が大きいほど、終了条件とする第2の閾値を小さくしても良い。第1の焦点距離である場合と比較して、第1の焦点距離よりも大きい第2の焦点距離である場合には、同じ1fδの違いに対して、絶対距離としてはより大きな違いとなるためである。
【0050】
また、終了条件として他の条件を用いても良い。例えば、クラスタの代表デフォーカス量の分散の大きさを用いてもよい。クラスタの代表デフォーカス量の分散が十分大きい場合には、各クラスタ同士が異なる被写体である可能性が高いため、統合処理を終了する。
【0051】
ステップS310において、制御部50は、ステップS305で使用する第1の閾値を新たに設定する。この時設定する第1の閾値は、先の統合におけるステップS305で用いた第1の閾値よりも十分大きくする事が望ましい。
【0052】
ステップS310を終えると、制御部50は、AF枠単位で行っていた統合処理に代えて、クラスタ単位の統合処理を、各クラスタの位置と代表デフォーカス量を用いて行う。つまり、クラスタの生成後は、各クラスタをAF枠とみなし、AF枠に対して行った統合処理と同様の処理を、各クラスタに対して行う。このようにして統合処理は、S309において終了判定を満たすと判断されるまで、繰り返し実行される。
【0053】
ここで、第1の閾値を変更する効果を説明する。第1の閾値は大きいほどAF枠を統合しやすくなるが、例えば複数の物体を一つのクラスタと切り分けてしまう場合がある。そこで、本実施例では初期値として設定する第1の閾値を、最終的に求める統合の度合いに対応する第1の閾値よりも小さい値から始め、ステップS310において、第1の閾値がより大きくなるよう変更させながら処理を繰り返す。これにより、最終的に求める統合の度合に適した統合結果を得る。こうすることで、例えば最終的に求める統合の度合いに対応する第1の閾値から統合処理を開始すると遠近競合したAF枠同士を同じクラスタに統合されてしまうようなシーンであっても、異なるクラスタにとして統合することができる。
【0054】
<同定処理>
ここでは
図2のフローチャートにおける同定処理(S203)の詳細について、
図5のフローチャートを用いて説明する。ここで、
図2に示す動体検出処理は実際には継続的に行われている為、過去の動体検出処理によってシステムメモリ55には既に代表デフォーカス量の時間変化の記憶が格納されている。以後、AF枠統合処理から得られた最新のクラスタ群を現在クラスタ群、過去の動体検出処理によって生成済みの代表デフォーカス量の時間変化の記憶に紐付いた過去のクラスタ群を過去クラスタ群とする。ここで、過去クラスタ群に含まれる各クラスタは、第1の時刻に対応して焦点検出部11もしくは撮像部22において得られた画像信号に基づいて、焦点検出部11もしくは画像処理部24によって取得された複数の焦点検出結果に基づいて生成されたクラスタである。また、現在クラスタ群に含まれる各クラスタは、第1の時刻より後の時刻である第2の時刻に対応して焦点検出部11もしくは撮像部22において得られた画像信号に基づいて、焦点検出部11もしくは画像処理部24によって取得された複数の焦点検出結果に基づいて生成されたクラスタである。
【0055】
図5のステップS501において、制御部50は現在クラスタ群に属する全てのクラスタに対し、ステップS502で選択済みか否かの判定を行う。全てのクラスタが選択済みであればステップS511に進む。未選択のクラスタが残っていればステップS502に進む。
【0056】
ステップS502において、制御部50は現在クラスタ群から一つのクラスタを選択する。以後このクラスタを第1のクラスタとする。第1のクラスタを第1のグループとも称する。
【0057】
ここで、第1のクラスタについて、このクラスタを構成するAF枠の枠数が閾値を下回る場合、この第1のクラスタを現在クラスタ群から削除し、新たに第1のクラスタを選択してもよい。閾値を下回るクラスタは、被写体である可能性が低く、これらを以降の処理から除外する事で検出率の向上と誤検出の抑制が期待できる。
【0058】
ステップS503において、制御部50は過去クラスタ群に属する全てのクラスタに対し、ステップS504で選択済みか否かの判定を行う。全てのクラスタが選択済みであればステップS508に、未選択のクラスタが残っていればステップS504に進む。
【0059】
ステップS504において、制御部50は過去クラスタ群から一つのクラスタを選択する。以後このクラスタを第2のクラスタとする。
【0060】
ステップS505において、制御部50は第1のクラスタと第2のクラスタとが類似しているか否かを判断する。類似していると判断した場合ステップS506に進み、類似していないと判断した場合ステップS507に進む。本実施例ではクラスタ間の類似度は、クラスタの位置、デフォーカス量代表デフォーカス量、構成するAF枠数それぞれの差分が閾値未満の場合十分類似していると判断する。第1のクラスタが第2のクラスタと類似しているか、すなわち対応する被写体であるか否かを判断することができればこの方法に限らない。例えば、類似度の判定については当然他の特徴量や算出手法を用いてもよい。
【0061】
ステップS506において、制御部50は第2のクラスタを候補クラスタ群に追加する。候補クラスタ群は、第1のクラスタと同一の物体だと想定されるクラスタを一時的に格納する。
【0062】
ステップS507において、制御部50は過去クラスタ群からまだ第1クラスタと比較を行っていないクラスタを選択し、新たな第2クラスタとする。
【0063】
ステップS508において、制御部50は現在の第1のクラスタと同一の物体だと想定される候補クラスタ群が存在するか判断する。存在する場合はステップS509に進み、存在しない場合はステップS510に進む。
【0064】
ステップS509において、制御部50は候補クラスタ群から最も第1のクラスタに類似したクラスタを選択し、その過去クラスタに紐付いた代表デフォーカス量の時間変化の記憶を改めて第1のクラスタに紐付ける。本実施例では第1のクラスタに類似したクラスタを1つ選択する構成を例示するが、複数選択しても良い。ここで、候補クラスタ群のうち第1のクラスタに最も類似したクラスタとして選択されたクラスタを第2のグループとも称する。
【0065】
ステップS510において、制御部50は新たに代表デフォーカス量の時間変化の記憶を生成し、第1のクラスタに紐付ける。具体的には、S509において選択されたクラスタに対応する代表デフォーカス量と、当該代表デフォーカス量に対応する時刻を、第1のクラスタに紐づけて記憶する。
【0066】
ステップS511において、制御部50はステップS509で現在クラスタのいずれとも一致しなかった過去クラスタ群を削除する。この時システムメモリ55に記憶されている時間が閾値未満である過去クラスタについては削除を行わず、次回以降の動体検出処理においても過去クラスタ群の一部として取り扱う。
【0067】
<移動判定処理>
ここでは
図2のフローチャートにおける移動判定処理(S205)の詳細について、
図6のフローチャートを用いて説明する。
【0068】
図6のステップS601において、制御部50は現在クラスタ群に属する全てのクラスタに対し、確認済みか否かの判定を行う。全てのクラスタが選択済みであれば移動判定処理を終了する。未確認のクラスタが残っていればステップS602に進む。
【0069】
図6のステップS602において、制御部50は代表デフォーカス量の時間変化の記憶に紐付いた現在クラスタ群から、未確認のクラスタ一つを選択する。 ステップS603において、制御部50はS601において選択された選択クラスタの代表デフォーカス量の時間変化の記憶が一定時間以上存続しているかの判定を行う。存続していればステップS604に進み、存続していなければステップS601に戻る。本実施例では一例として、選択クラスタに紐づけられたクラスタが生成された時刻から所定時間以上経過している場合に、代表デフォーカス量の時間変化の記憶が一定時間以上存続していると判断する。なお、ここでは代表デフォーカス量の時間変化の記憶が十分蓄積されていれば良く、代表デフォーカス量の時間変化の記憶が一定時間以上存続していると判断する方法はこれに限らない。例えば、紐づけられたクラスタに対応して検出されたデフォーカス量が所定個数以上蓄積された場合には、代表デフォーカス量の時間変化の記憶が一定時間以上存続していると判断しても良い。
【0070】
ステップS604において、制御部50は、選択クラスタに対応する被写体の移動速度を算出する。本実施例では選択クラスタの代表デフォーカス量の時間変化の記憶に対して単回帰分析を行うことで回帰係数を求め、この回帰係数をクラスタの移動速度とする。なお、択クラスタに対応する被写体の移動速度を算出することができれば、算出方法はこれに限らない。例えば代表デフォーカス量の移動量を、当該移動量に対応する時間によって除算する事で求めてもよい。また、選択クラスタに対応する被写体の移動速度として、被写体にピントが合う像面位置の移動速度である像面移動速度を求めても良いし、被写体の絶対速度を求めても良い。
【0071】
ステップS605において、制御部50はステップS604で求めた移動速度が所定速度以上であるか否かの判定を行う。所定速度以上であればステップS606に進み、所定速度未満であればステップS601に戻る。
【0072】
ステップS606において、制御部50は選択クラスタの代表デフォーカス量時間変化の記憶の単位時間毎の移動方向を求める。移動方向として近づきと遠ざかりの2種を検出し、それぞれの回数を求める。
【0073】
ステップS607において、制御部50はステップS606で求めた近づきと遠ざかりの回数を元に、選択クラスタが同一方向に移動しているか否かを判断する。本実施例では、記憶された時間中同一方向に移動した割合を求め、当該割合が所定割合以上であるか否かの判定を行う。所定値以上であればステップS608に進み、所定値未満であればステップS601に戻る。これは、このクラスタを構成するAF枠の信頼性が低く、誤った測距結果を返す場合、誤りは近づきと遠ざかりの双方向に出るためである。つまり、誤った測距結果によって物体が動いているように見える場合、近づきと遠ざかりがランダムに入り混じる事が予想されるため、同一方向に移動する割合が低いクラスタは不適切であると考えられる。なお、本実施例では選択クラスタが同一方向に移動しているか否かを、同一方向に移動した割合で判定したが、実際にはこれに限らない。例えば、同一方向に連続して移動した割合で判定を行ってもよい。
【0074】
ステップS608において、制御部50は選択クラスタに対応する被写体が動体であると判断する。
【0075】
以上のように、本実施例では、取得したAF枠に対して統合処理を行い誤ったデフォーカス量の影響を軽減し、また同定処理により同一物体のデフォーカス量の時間変化を抽出し、誤検出の抑制を行う事で、より正確な動体の検出を行う事が出来る。
【0076】
[実施例2]
以下、本発明の実施例2で行われる動体検出処理の全体フローについて
図7のフローチャートを参照して説明する。本実施例はAF枠統合後に同定処理部による時間対応付けを行わず、全ての可能な代表デフォーカス量の時間変化の記憶を保持した上で、移動判定処理部の時点で改めて代表デフォーカス量の時間変化の記憶の評価を行う点が実施例1と異なる。なお、実施例1と同じ構成については説明を省略し、以下では実施例1と異なる部分を中心に説明する。
【0077】
ステップS201、S202については実施例1で説明したものと同様の処理を行う。
【0078】
図7のステップS701において、制御部50はステップS202で生成された各現在クラスタに対して、代表デフォーカス量の時間変化の記憶を生成する。実施例1と異なり、一つの現在クラスタに対して一つの代表デフォーカス量の時間変化の記憶を生成するのではなく、全ての過去クラスタを個別に紐付けし、一つの現在クラスタに対して複数の代表デフォーカス量の時間変化の記憶を生成する。このように生成された代表デフォーカス量の時間変化の記憶はシステムメモリ55に格納される。
【0079】
ステップS702で移動判定部53はシステムメモリ55に格納された代表デフォーカス量の時間変化の記憶を元に各クラスタの移動速度と移動方向の変更頻度の算出に加えて、各クラスタの動きが妥当かの判断を行う。移動判定処理の詳細については後述する。
【0080】
<移動判定処理>
ここでは
図7のフローチャートにおける移動判定処理(S702)の詳細について、
図8のフローチャートを用いて説明する。
【0081】
ステップS601からS607においては、実施例1と同様の処理を行うためここでは省略する。ステップS607で選択クラスタの記憶が時間中同一方向に移動した割合が閾値を超えていればステップS801に進み、超えていなければステップS601に戻る。
【0082】
図8のステップS801において、制御部50は代表デフォーカス量の時間変化の記憶を元にその時間変化が物体の移動として妥当か否かの判断を行う。例えばステップS701で全く関係ないクラスタ同士が紐づけられた場合、代表デフォーカス量の時間変化は唐突に非常に大きく変化するものになり、物体の移動として妥当ではないと判断する必要がある。本実施例では妥当性判断として、単回帰分析を用いて物体の動きを直線に当てはめ、決定係数によって妥当性の判断を行う。物体の動きに対応する回帰モデルを、運動モデルとも称する。
【0083】
代表デフォーカス量の時間変化の記憶に格納されている代表デフォーカス量をD={d1,…,dn}、各代表デフォーカス量を取得した時刻をT={t1,…,tn}とおくと、回帰モデルf(t)=αt+βは以下の式で求められる。
【0084】
【0085】
【0086】
【0087】
はTの平均値、
【0088】
【0089】
はDの平均値である。この時決定係数R2は以下の式で求められる。
【0090】
【0091】
制御部50は選択クラスタの決定係数R2が閾値よりも大きい時、このクラスタは動体として妥当であると判断し、ステップS608に進み、閾値以下の時、このクラスタは動体として妥当でないと判断してステップS601に戻る。
【0092】
なお、本実施例では動体の妥当性判断に一次の回帰モデルf(t)=αt+βを用いたが、実際はこれに限らない。例えば動体が等速直線運動に従って動いている場合、得られるデフォーカス量の時間変化は1次式に従わない。そのため、例えば回帰モデルをf(t)=αtn+βt+γとおいて重回帰分析を行い、その決定係数を閾値と比較して妥当性の判断を行えば、このような場面でより正確な妥当性判断を行う事が出来る。
【0093】
以上のように、本実施例では、クラスタ生成後に過去クラスタとの一対一の対応付けを行わない事により、例えば距離からの撮影や、多くの被写体が同時に写るような、安定したAF枠統合出来ないような環境でも精度よく動体の検出を行う事が出来る。
【0094】
[その他の実施例]
上記の実施例は、各種の変形例が考えられる。
【0095】
例えば実施例1において
図3のフローに従ってAF枠を物体毎に統合する処理を行っているが、本発明ではこの手法以外にもk-means法、affinity propagation法、ガウス混合法等の公知の手法を適用した場合も実施可能である。また、同様の統合の判定時にデフォーカス量の差分を用いているが、デフォーカス量以外に色情報やHoG特徴量、ベクトル情報やそれらの組み合わせといった他の特徴量を用いても実施可能である。
【0096】
なお、制御部50が行うものとして説明した上述の各種制御は1つのハードウェアが行ってもよいし、複数のハードウェア(例えば、複数のプロセッサーや回路)が処理を分担することで、装置全体の制御を行ってもよい。
【0097】
また、上述の実施例によって検出された動体が複数であった場合には、より主被写体に相応しい被写体を選択し、その被写体にピントを合わせるようにフォーカスレンズの駆動を制御しても良い。例えば、複数検出された動体のうち、中央に位置する被写体を主被写体として選択しても良い。また、最も至近に位置する被写体を主被写体として選択しても良い。
【0098】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0099】
また、上述した実施形態においては、本発明を位相差方式の撮像装置に適用した場合を例にして説明したが、これはこの例に限定されず複数位置を測距できる撮像装置であれば適用可能である。すなわち、本発明はパーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ゲーム機、などに適用可能である。
【0100】
本発明は、次の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。