(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-18
(45)【発行日】2024-10-28
(54)【発明の名称】撮像装置、制御装置、撮像装置の制御方法および制御方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20241021BHJP
H04N 23/63 20230101ALI20241021BHJP
H04N 23/58 20230101ALI20241021BHJP
G03B 5/00 20210101ALI20241021BHJP
G03B 15/00 20210101ALI20241021BHJP
G03B 17/18 20210101ALI20241021BHJP
【FI】
H04N23/60 100
H04N23/63 330
H04N23/58
G03B5/00 J
G03B5/00 L
G03B15/00 Q
G03B15/00 H
G03B17/18
(21)【出願番号】P 2020065610
(22)【出願日】2020-04-01
【審査請求日】2023-03-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】宮澤 仁志
【審査官】村山 絢子
(56)【参考文献】
【文献】特開2018-036366(JP,A)
【文献】国際公開第2012/144195(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
H04N 5/222-5/257
G03B 5/00
G03B 15/00
G03B 17/18
(57)【特許請求の範囲】
【請求項1】
被写体を検出する第1の検出手段と、
前記第1の検出手段が被写体の検出を行う方法とは異なる方法で被写体を検出する第2の検出手段と、
前記第1の検出手段の検出結果と前記第2の検出手段の検出結果のそれぞれに基づいて、被写体ブレの補正を行う補正位置の候補を表示する表示手段と、
前記候補の中から指定された補正位置に基づいて光学的に被写体ブレを補正する制御を行う制御手段と、を備えることを特徴とする撮像装置。
【請求項2】
前記第1の検出手段は、動きベクトルに基づいて被写体を検出することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記表示手段は、前記第1の検出手段が検出した被写体の重心点を算出し、前記重心点に基づいて被写体ブレの補正を行う補正位置の候補を表示することを特徴とする請求項1または2に記載の撮像装置。
【請求項4】
前記表示手段は、前記重心点と、被写体の移動方向、被写体と撮像装置がなす角度、画像の構図のいずれかに基づいて、前記補正位置を決定し表示することを特徴とする請求項3に記載の撮像装置。
【請求項5】
前記第2の検出手段は、画像の色情報、輝度情報、被写体までの距離情報、パターンマッチング、機械学習結果のいずれかに基づいて被写体を検出することを特徴とする請求項1乃至4のいずれか1項に記載の撮像装置。
【請求項6】
前記第2の検出手段は、検出した被写体の特徴を検出することを特徴とする請求項5に記載の撮像装置。
【請求項7】
前記第2の検出手段は、パターンマッチング、機械学習結果のいずれかに基づいて前記被写体の特徴を検出することを特徴とする請求項6に記載の撮像装置。
【請求項8】
前記表示手段は、前記第2の検出手段が被写体の特徴を検出した場合は前記特徴に対応する位置を被写体ブレの補正を行う補正位置の候補として表示し、前記第2の検出手段が被写体の特徴を検出できなかった場合は前記第2の検出手段が検出した被写体に対応する位置を被写体ブレの補正を行う補正位置の候補として表示することを特徴とする請求項6または7に記載の撮像装置。
【請求項9】
前記表示手段は、複数の補正位置の候補を表示している場合、ユーザに指定された補正位置の候補を強調して表示することを特徴とする請求項1乃至8のいずれか1項に記載の撮像装置。
【請求項10】
前記表示手段は、複数の補正位置の候補を表示している場合、ユーザから補正位置の指定を受けるまでは、前記第1の検出手段の検出結果に基づく補正位置を強調して表示することを特徴とする請求項1乃至9のいずれか1項に記載の撮像装置。
【請求項11】
前記制御手段は、ユーザによって前記補正位置が指定されなかった場合、前記第1の検出手段の検出結果に基づく補正位置に基づいて被写体ブレの補正を行うことを特徴とする請求項1乃至10のいずれか1項に記載の撮像装置。
【請求項12】
前記制御手段は、前記指定された被写体ブレの補正位置について算出される被写体角速度に基づいて補正手段を駆動することにより、被写体ブレの補正を行うことを特徴とする請求項1乃至11のいずれか1項に記載の撮像装置。
【請求項13】
被写体を検出する第1の検出手段と、
前記第1の検出手段が被写体の検出を行う方法とは異なる方法で被写体を検出する第2の検出手段と、
前記第1の検出手段の検出結果と前記第2の検出手段の検出結果のそれぞれに基づいて、
撮像装置による光学的な被写体ブレ補正における被写体ブレの補正位置の候補を表示手段に表示させる表示制御手段と、を備えることを特徴とする制御装置。
【請求項14】
撮像装置の制御方法であって、
被写体を検出する第1の検出工程と、
前記第1の検出工程とは異なる方法で被写体を検出する第2の検出工程と、
前記第1の検出工程による検出結果と前記第2の検出工程による検出結果のそれぞれに基づいて、被写体ブレの補正を行う補正位置の候補を表示する表示工程と、
前記候補の中から指定された補正位置に基づいて光学的に被写体ブレを補正する制御を行う制御工程と、を有することを特徴とする制御方法。
【請求項15】
被写体を検出する第1の検出工程と、
前記第1の検出
工程が被写体の検出を行う方法とは異なる方法で被写体を検出する第2の検出工程と、
前記第1の検出工程による検出結果と前記第2の検出工程による検出結果のそれぞれに基づいて、
撮像装置による光学的な被写体ブレ補正における被写体ブレの補正位置の候補を表示手段に表示させる表示制御工程と、を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置およびその制御方法に関する。
【背景技術】
【0002】
近年のカメラには人物や動物の瞳を検出し、瞳に対してオートフォーカス(以下AF)を行う瞳AFという機能が搭載されてきている。ポートレート写真では正確に瞳に対してピントを合わせることが重要であるように、構図やシーンによってピントを合わせたい位置が決まっていることがある。そして、ピントを合わせたい位置では、ブレも抑制することが求められる。
【0003】
画像に発生するブレの種類を簡単に説明する。ブレには、手や身体の振動により発生する手振れと、被写体が動いてしまうことにより発生する被写体ブレの2種類がある。ブレのうち被写体ブレでは、同一被写体においても被写体の位置によって被写体のブレ量が変わる。そのため、被写体ブレ補正を行う場合は、同一被写体のどこか1点を決めて補正することになる。そこで、被写体ブレを補正する位置をユーザーインターフェース表示し、撮影者に対して通知する仕組みが必要である。特許文献1は、撮像光学系のAF用の測距点枠位置の表示を用いて被写体ブレについて表示する方法を開示している。特許文献1では、検出したベクトル情報から被写体ブレを補正する位置のベクトル枠を決定し、決定したベクトル枠のベクトル値と設定したシャッタ速度で駆動させた場合に、駆動量が光学補正系の駆動領域内に収まるか否かで表示内容を変えて表示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、カメラが自動的に被写体ブレを補正する位置と、撮影者の期待する被写体ブレを補正する位置が一致するとは限らない。
【0006】
本発明は、撮影者が期待する被写体ブレの補正位置において被写体ブレ補正を行うことができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の撮像装置は、被写体を検出する第1の検出手段と、前記第1の検出手段が被写体の検出を行う方法とは異なる方法で被写体を検出する第2の検出手段と、前記第1の検出手段の検出結果と前記第2の検出手段の検出結果のそれぞれに基づいて、被写体ブレの補正を行う補正位置の候補を表示する表示手段と、前記候補の中から指定された補正位置に基づいて光学的に被写体ブレを補正する制御を行う制御手段と、を備える。
【発明の効果】
【0008】
本発明によれば、撮影者が期待する被写体ブレの補正位置において被写体ブレ補正を行うことができる撮像装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図2】手振れ補正制御に関する構成の一例を示す図である。
【
図4】被写体ベクトルの検出方法を説明するための図である。
【
図5】撮像装置と被写体とが成す角度を説明する図である。
【
図6】撮像装置と被写体とが成す角度と、被写体角速度および被写体角加速度の関係を説明する図である。
【
図7】被写体ブレの補正位置の候補の表示例を示す図である。
【
図8】被写体ブレの補正位置表示のフローチャートである。
【
図10】被写体の重心点に基づく被写体ブレの補正位置について説明する図である。
【発明を実施するための形態】
【0010】
図1を参照して、本実施形態における撮像装置の構成について説明する。
図1は、撮像装置の構成を示す図である。撮像装置は、カメラ本体130と、レンズ装置である交換レンズ100とを有する。カメラ本体130には、交換レンズ100が着脱可能である。なお、本実施形態では、交換レンズ100がカメラ本体130に対して着脱可能な交換レンズ式の撮像装置を例に説明するが、これに限られるものではなく、レンズとカメラ本体が一体となったレンズ一体型の撮像装置であってもよい。
【0011】
まず、交換レンズ100の構成について説明する。交換レンズ100は、撮影レンズユニット101、位置検出部105、エンコーダ106、角速度検出部111、レンズ制御部112、ドライバ113、アンプ回路(AMP)114、マウント接点部115を有する。
【0012】
撮影レンズユニット101は、撮像光学系102、ズームレンズ群(以下、ズームレンズと記述)103、シフトレンズ群(以下シフトレンズと記述)104を有する。撮像光学系102は、被写体光をズームレンズ103とシフトレンズ104を介して撮像素子132に導く。ズームレンズ103は、焦点距離を変更可能なレンズ群である。シフトレンズ104は、撮像装置に加わる振れにより生じる撮像画像のブレ(像ブレ)を光学的に補正するために用いられる補正手段である。具体的には、レンズ制御部112が、ドライバ113を制御することでシフトレンズ104を光軸と垂直方向に駆動することによって、像ブレが補正される。
【0013】
位置検出部105は、シフトレンズ104の位置を検出する。位置検出部105は、例えばホール素子である。エンコーダ106は、ズームレンズ103の位置を検出するズームエンコーダである。また、角速度検出部111は、撮像装置に加わる振れを検出し、角速度信号を振れ検出信号として出力する。角速度検出部111は、例えばジャイロセンサである。
【0014】
また、ドライバ113は、シフトレンズ104を駆動する。アンプ回路114は、位置検出部105が検出したシフトレンズ104の位置を示す信号(位置検出信号)を増幅してレンズ制御部112に出力する。マウント接点部115は、交換レンズ100とカメラ本体130との通信を中継する。
【0015】
また、レンズ制御部112は、交換レンズ100全体を制御する。レンズ制御部112は、例えば、CPU(Central Processing Unit)である。レンズ制御部112は、手振れ補正制御部121と、流し撮り制御部122とを有する。手振れ補正制御部121は、手振れにより生じる像ブレを補正する制御である手振れ補正制御を実行する。流し撮り制御部122は、流し撮りアシストの制御を実行する。流し撮りアシストの制御は、流し撮り時において、被写体の動きに対する撮像装置の撮影方向のズレに応じた被写体に係る像ブレ(被写体ブレ)を補正光学系で補正する制御である。本実施形態では、補正光学系としてシフトレンズ104を用いるが、補正光学系として撮像素子を用いてもよい。流し撮り制御部122は、被写体ブレの補正に用いるシフトレンズ104の駆動量の算出に、カメラ制御部141が算出する被写体角速度を用いる。
【0016】
レンズ制御部112は、手振れ補正制御と流し撮りアシストの制御の他に、フォーカスレンズ制御、絞り制御等も行うが、図の簡略化のために説明を省略する。また、手振れ補正制御の実行のためには、例えば縦方向と横方向といった、直交する2軸に関する振れの検出および補正が必要であるが、一方の軸に関する処理に必要な構成は、他方の軸に関する処理に必要な構成と同様である。したがって、以下では1軸に関する構成に関して説明する。
【0017】
次に、カメラ本体130の構成について説明する。カメラ本体130は、シャッタ131、撮像素子132、アナログ信号処理回路(AFE)133、カメラ信号処理回路134を備える。シャッタ131は、撮像素子132が受光する光量を調節する。撮像素子132は、例えば、CMOSセンサ等であり、被写体光を光電変換して撮像画像に係る信号を出力する。CMOSは、Complementaly Metal Oxide Semiconductorの略称である。AFE133は、撮像素子132が出力したアナログ信号をデジタル信号に変換してカメラ信号処理回路134に出力する。カメラ信号処理回路134は、AFE133が出力した信号に対して所定の処理を実行する。カメラ信号処理回路134は、撮像画像から動きベクトルを検出する動きベクトル検出部145を備える。動きベクトル検出部145は、撮像素子132から取得した異なるフレーム間における画像の動き量を動きベクトルとして検出する。なお、本実施形態は、ミラーレスカメラを想定しているが、レフレックスミラーが存在する一眼レフカメラにも適用が可能である。一眼レフカメラの場合には、動きベクトル検出部145は、測光センサの映像信号から動きベクトルを検出すればよい。
【0018】
また、カメラ本体130は、タイミングジェネレータ(TG)135、操作部136、メモリカード139、表示パネル(以下、LCDと記述)140を備える。LCD140は、Liquid Crystal Displayの略称である。TG135は、撮像素子132やアナログ信号処理回路133の動作タイミングを設定する。操作部136は、ユーザの操作入力を受け付ける。操作部136は、電源スイッチ、レリーズスイッチ等を有する。メモリカード139には、撮影された映像(撮像画像)が記録される。LCD140は、撮像画像、各種情報等を表示する。また、LCD140は、静電方式や感圧方式等を利用したタッチ操作可能なタッチパネル機能を有し、ユーザの操作を受け付ける。
【0019】
また、カメラ本体130は、ドライバ137、シャッタ駆動用モータ138、角速度検出部171、距離検出部181、マウント接点部144、カメラ制御部141、メモリ142を備える。ドライバ137は、シャッタ駆動用モータ138を駆動する。シャッタ駆動用モータ138は、シャッタ131を駆動する。角速度検出部171は、撮像装置に加わる振れを検出して、角速度信号(振れ検出信号)をカメラ制御部141に出力する。距離検出部181は、被写体までの距離を検出する。マウント接点部144は、カメラ本体130と交換レンズ100との通信を中継する。メモリ142は、画像データを一時的に記憶する他、各種設定情報、演算情報等を記憶する。
【0020】
カメラ制御部141は、CPUを備え、カメラ本体130全体を制御する。例えば、カメラ制御部141は、カメラ信号処理回路134を制御することで撮像画像から取得される動きベクトルに基づいて、像ブレ補正に用いられる被写体の角速度(被写体角速度)を算出する。また、カメラ制御部141は、マウント接点部115およびマウント接点部144を介して、交換レンズ100のレンズ制御部112との間で、各種の情報(例えば流し撮りアシストの制御に必要な被写体角速度の情報など)を通信する。
【0021】
カメラ制御部141は、シャッタ制御部151、被写体角速度算出部152、シャッタ速度算出部153、ズーム流し撮り制御部154を備える。シャッタ制御部151は、ドライバ137に指示して、シャッタ動作を制御する。被写体振れ補正算出部152は、被写体のブレ補正量として被写体角速度を算出する。被写体振れ補正算出部152は、算出した被写体角速度をレンズ制御部112に対して送信する。具体的には、動きベクトル検出部145によって、画像の動き量が動きベクトルとして検出されるので、被写体振れ補正算出部152は、検出された動きベクトルから被写体に対応するベクトル(被写体ベクトル)を正確に検出する。そして、被写体振れ補正算出部152は、検出された被写体ベクトルに基づいて、被写体角速度を算出する。カメラ制御部141は、算出された被写体角速度をレンズ制御部112に対して送信する。シャッタ速度算出部153は、流し撮りに適したシャッタ速度を算出する。ズーム流し撮り制御部154は、フレーム毎に撮影画角に写る被写体を一定の大きさで写すようにズーム位置を制御する。
【0022】
以上の説明したように、本実施形態の撮像システムは、補正手段であるシフトレンズ104を光軸と直交する方向に駆動して像ブレ補正を行う像ブレ補正装置を備えている。そして、カメラ制御部141とレンズ制御部112とが、撮像画像から得られる被写体角速度に基づいて、シフトレンズ104を駆動することにより、流し撮り時の被写体に係る像ブレを補正する制御手段として機能する。カメラ制御部141とレンズ制御部112は、被写体ブレの補正位置に基づき算出される被写体角速度に基づいて、シフトレンズ104を駆動する。
【0023】
図1において、操作部136によりカメラ本体130の電源がONされると、電源がONとなったことをカメラ制御部141が検出し、カメラ制御部141の制御によりカメラ本体130の各回路への電源供給および初期設定が行われる。また、交換レンズ100への電源供給が行われ、レンズ制御部112の制御により、交換レンズ100内の初期設定が行われる。そして、レンズ制御部112とカメラ制御部141との間で所定のタイミングで通信が開始される。カメラ本体130から交換レンズ100へ送られる通信データは、例えば、カメラの状態、撮影設定等である。また、交換レンズ100からカメラ本体130へ送られる通信データは、例えば、レンズの焦点距離情報、角速度情報等である。
【0024】
図2は、手振れ補正制御に関する構成の一例を示す図である。交換レンズ100内では、角速度検出部111が手振れ等によって撮像装置に加わる振れを検出し、手振れ補正制御部121によって、手振れ補正制御が行われる。なお、
図2の説明において、
図1と共通の構成については、同じ符号を付し説明を省略する。
【0025】
手振れ補正制御部121は、オフセット除去部201~パルス幅変調部208を備える。オフセット除去部201は、例えばハイパスフィルタ(以下、HPF)等を有するフィルタ演算部であり、角速度検出部111の出力に含まれている直流成分の除去を行う。利得位相算出部202は、オフセット除去部201によってオフセット成分が除去された角速度信号に対して増幅および位相補償を行う。このために、利得位相算出部202は、オフセット成分が除去された角速度信号を所定のゲインで増幅する増幅器と、角速度信号に対して位相補償を行う位相補償フィルタを備える。
【0026】
積分器203は、任意の周波数帯域でその特性を変更し得る機能を有しており、利得位相算出部202の出力を積分し、シフトレンズ104の駆動量を算出する。積分器203は、角速度検出部111の角速度が一定値以上の大きさで所定時間経過した場合は、パンニング中と判定し、オフセット除去部201のHPFのカットオフ周波数を高周波側に除々に変更する。積分器203が、カットオフ周波数を高周波側へ除々に変更することで、手振れ補正制御の目標信号が除々に小さくなり、補正光学系(シフトレンズ)を光学中心位置に戻す。パンニング中と判定されるほどの大きな角速度を、カットオフ周波数を高周波側へ変更せずに補正光学系で補正してしまうと、補正光学系は補正限界点に達してしまい、撮影者に不自然な画角変化が見えてしまうからである。
【0027】
防振制御判定部204は、積分器203と後述の積分器225の各出力を取得し、いずれかを減算器205に出力する。防振制御判定部204は、カメラ情報取得部226の出力に応じてシフトレンズ104を駆動させるための信号を、以下のように切り替える。例えば、撮影モードが流し撮りアシストモードに設定されている場合は、防振制御判定部204は、流し撮り制御部122で算出された積分器225の出力を選択する。一方、撮影モードが流し撮りアシストモード以外に設定されている場合は、防振制御判定部204は、手振れ補正制御部121で算出された積分器203の出力を選択する。
【0028】
位置検出部105は、シフトレンズ104の位置を検出し、位置検出信号をアンプ114が増幅する。A(アナログ)/D(デジタル)変換器206は、アンプ114が増幅した位置検出信号をデジタル化して減算器205に出力する。
【0029】
減算器205は、防振制御判定部204の出力を正入力とし、A/D変換器206の出力を負入力として減算を行い、減算結果である偏差データを制御器207へ出力する。制御器207は、減算器205の出力する偏差データに対し、所定のゲインで増幅する増幅器、および位相補償フィルタを備える。偏差データは、制御器207において増幅器および位相補償フィルタによって処理された後、パルス幅変調部208に出力される。パルス幅変調部208は、制御器207の出力データを取得し、パルス波のデューティー比を変化させる波形(即ちPWM波形)に変調して、シフトレンズ駆動用のドライバ113へ出力する。
【0030】
ドライバ113は、シフトレンズ104を駆動させる、例えばボイスコイル型モータである。ドライバ113は、パルス幅変調部208の出力にしたがって、シフトレンズ104を撮像光学系の光軸と垂直な方向に移動させる。
【0031】
ここで、流し撮りアシストモードにおける制御と流し撮り制御部122の構成について説明する。ユーザが操作部136により、流し撮りアシストモードに設定する操作を行うと、カメラ制御部141は流し撮りアシストの制御に切り替える。また、その切り替えを示す情報がカメラ制御部141からレンズ制御部112へと送信され、レンズ制御部112が、流し撮りアシストの制御に切り替わる。
【0032】
カメラ情報取得部226は、通信制御部211を介してカメラ制御部141から送信されてくる各種のカメラ情報を取得する。カメラ情報は、流し撮りアシストモードの設定情報やレリーズ情報等である。カメラ情報取得部226は、防振制御判定部204に対し、判定処理に必要な情報を出力する。
【0033】
角速度出力部222は、オフセット除去部201の出力、つまりオフセット成分が除去された角速度信号を取得する。角速度出力部222は、通信制御部211とマウント接点部115を介して、カメラ制御部141へ角速度信号を送信する。被写体角速度取得部223は、カメラ本体部131内の被写体角速度算出部152で算出される被写体角速度を、マウント接点部144,115と通信制御部211を介して取得する。そして、被写体角速度取得部223は、取得した被写体角速度に基づいて、被写体ブレを補正する際の、シフトレンズ104の駆動量の算出に用いられる被写体角速度を出力する。
【0034】
減算器224は、オフセット除去部201の出力を正入力とし、被写体角速度取得部223の出力を負入力として、減算を行う。被写体角速度取得部223が出力する被写体角速度から、オフセット成分が除去された角速度信号が示す角速度が減算されることで、偏差が算出される。減算器224は偏差を積分器225に出力する。積分器225は偏差を積分し、積分演算の結果を防振制御判定部204に出力する。
【0035】
被写体ブレ補正の制御方法について
図3のフローチャートを用いて説明する。
図3は、流し撮りアシストの制御として行われる被写体ブレの補正の一例を説明するフローチャートである。
【0036】
ステップS301において、カメラ制御部141が、交換レンズ100内のシフトレンズ104の位置情報を取得する。動きベクトル検出部145が検出するベクトル値δvは、撮像装置の角速度を撮像面上の変位量δgへ換算した値とシフトレンズ104の駆動量を撮像面上の変位量δoに換算した値を加算したもの(δv=δg+δo)である。
【0037】
ステップS302において、カメラ制御部141が、交換レンズ100内の角速度検出部111とカメラ本体130内の角速度検出部171が出力する角速度情報を取得する。そして、カメラ制御部141は、焦点距離[mm]、フレームレート[frame/sec]、画素ピッチ[um/pixel]を用いて、角速度情報が示す角速度[deg/sec]を撮像面上の移動量[pixel/frame]に換算する。
【0038】
ステップS303において、動きベクトル検出部145が、複数のフレーム間における画像の動き量を示す動きベクトルを検出する。
ステップS304において、カメラ制御部141が、ステップS301乃至ステップS303で取得された情報に基づいて、動きベクトルに関するヒストグラムを算出する。ヒストグラムの詳細に関しては後述する。
【0039】
ステップS305において、カメラ制御部141が、ステップS304で算出したヒストグラムに基づいて、被写体ベクトルが検出できたかを判定する。被写体ベクトルが検出された場合は、処理がステップS306に進む。一方、被写体ベクトルが検出されていない場合は、処理がステップS301に進み、次のフレームを対象に処理が実行されるよう備える。
【0040】
ここで、
図4を用いて被写体ベクトルの検出判定方法について説明する。
図4は、被写体ベクトルの検出を説明する図である。被写体ベクトルの検出判定は、ステップS304で算出されたヒストグラムを用いて行われる。
図4に示すヒストグラムは、
図3のステップS305で算出されるヒストグラムの一例である。横軸は、ベクトル値を示す。縦軸は、度数を示す。
【0041】
動きベクトル検出部145によって、所定位置に配置されたベクトル検出枠内の各ブロックにおいて、1フレーム前のフレームとの動き量がベクトル値として検出される。カメラ制御部141は、動きベクトル検出部145で検出したベクトル値をヒストグラム算出する。動きベクトル検出部145は、検出した各ブロックが被写体のベクトルもしくは背景のベクトルに分類する機能はない。そこで、カメラ制御部141は、ヒストグラムに基づいて、撮像面上の移動量δgに換算した角速度情報401を起点に、背景範囲402内に存在する動きベクトルを背景ベクトル群403であると判定する。カメラ制御部141は、背景範囲402外に存在する動きベクトルであって、度数が所定の閾値404以上を超えているベクトルを被写体ベクトル405であると判定する。なお、背景範囲402については、焦点距離や動きベクトル検出部145による動きベクトルの検出精度に応じて、長さ(背景範囲とみなすベクトル値の幅)を可変としてもよい。
【0042】
また、カメラ制御部141は、以下のようにして被写体ベクトルが検出されたかを判定してもよい。すなわち、カメラ制御部141は、角速度信号に代えて、焦点調節処理(オートフォーカス)で得られるデフォーカス量に基づいて、合焦枠のデフォーカス量を起点に所定範囲の深度差の領域に存在するベクトルを被写体ベクトルと判定してもよい。そして、カメラ制御部は、所定範囲の深度差の領域外に存在するベクトルを背景ベクトル群と判定してもよい。また、カメラ制御部141は、デフォーカス量と角速度信号を併用して被写体ベクトルと背景ベクトル群の判定を行ってもよい。
【0043】
図3の説明に戻る。
ステップS306において、カメラ制御部141が、被写体ブレの補正のためのシフトレンズ104の駆動量の算出に用いる被写体角速度を算出する。具体的には、カメラ制御部141は、ステップS305で検出した被写体ベクトル405のうち、被写体ブレの補正に用いる被写体ベクトルを選択する。その理由は、被写体の位置によってベクトル値は変わる(被写体ブレ量は変わる)場合があるからである。
【0044】
例えば、撮影者が、直線運動をしている電車を流し撮りする場合、電車の車輛前方と車輛後方とでベクトル値が異なる。撮像装置の撮影方向を変えずに、撮像装置を被写体と同じ速度で一緒に動かせば、つまり被写体と撮像装置が平行移動すれば、被写体の前方も後方も同等のベクトル値になる。しかし、実際の流し撮りでは、撮影者は、撮像装置を被写体に対して並行に振るのではなく、角度変化を伴って振る。したがって、撮像装置から被写体を見たときに、被写体の前方と後方のベクトルとが異なる。焦点距離が広角になり、撮影距離が近くなる程、被写体の前方と後方のベクトルとが大きく異なるようになる。逆に、撮影距離が無限に長い場合は、被写体と並走しながら撮影するのと同等となるので、被写体全体が止まりやすくなる。被写体ブレ補正においては被写体の1点のブレを補正するため、ステップS306では、被写体ベクトル405の中から最終的に制御で使う被写体ベクトルを選択し被写体角速度へ換算する。
【0045】
ステップS307において、カメラ制御部141が、ステップS306で算出した被写体角速度と、1フレーム前の被写体角速度の差分を求めることによって、被写体角加速度を算出する。
【0046】
ここで、
図5および
図6を用いて撮影者から見た被写体角速度と被写体角加速度について説明する。
図5は、被写体の移動状態に応じた撮像装置(撮影者)と被写体とが成す角度を説明する図である。
図6(A)は、撮像装置と被写体とが成す角度と、被写体角速度との関係を示す図である。
図6(B)は、撮像装置と被写体とが成す角度と、被写体角加速度との関係を示す図である。
【0047】
被写体の速度をv[m/s]、被写体までの距離をL[m]とすると、被写体と撮影者との成す角度θ[deg]は、下記の式1で表される。
【数1】
ここで、角速度ω[deg/sec]は角度θの1階微分で示せるので、下記の式2で表される。
【数2】
更に、角加速度α[deg/sec
2]は角速度ωの1階微分で示せるので、下位の式3で表される。
【数3】
【0048】
したがって、
図5は、式1で示したカメラから見た被写体との成す角度θを示している。
図6は、被写体との成す角度θに対する、式2、式3で示した被写体角速度ωと被写体角加速度αの関係を示している。
図6(A)に示す被写体角速度601は、ステップS306において算出される被写体角速度である。
図6(B)に示す被写体加速度602は、ステップS307において算出される被写体加速度である。
【0049】
図3の説明に戻る。
ステップS308において、カメラ制御部141の指示によりメモリ142が、フレーム毎に算出した被写体角速度と被写体角加速度の履歴を保持する。被写体角速度と被写体角加速度の履歴は、後述するステップS311において露光期間中の被写体角速度の推定に用いられる。露光期間中に被写体角速度の推定を行うのは、露光期間中には動きベクトルの検出に用いる評価画像が取得できず、被写体角速度と被写体角加速度の算出の基となる動きベクトルの検出ができないためである。
【0050】
ステップS309において、カメラ制御部141の指示によりLCD140が、被写体ブレの補正位置の候補を表示する。被写体ブレの補正位置の候補の表示について、
図7および
図8を用いて詳細に説明する。
図7は、被写体ブレの補正位置のユーザーインターフェース表示の一例を示す図である。ステップS309においては、
図7に示すようにライブビューの画像上に被写体ブレの補正位置の候補となる位置情報を示す枠(枠701および枠702)を重ねて表示する。なお、本実施形態では、枠を用いて被写体ブレの補正位置の候補の位置情報を示す例を説明するが、これに限られるものではなく、候補に挙がっている被写体ブレ補正を行う位置がユーザに認識可能であれば表現方法は問わない。
【0051】
図8は、被写体ブレの補正位置の候補を表示する処理を示すフローチャートである。
ステップS801において、カメラ制御部141は、被写体の重心点Gを算出する。ここで、
図9を用いて重心点Gの算出について説明する。
図9は、重心点の算出について説明する図である。点Aの座標を(x
1、y
1)、点Bの座標を(x
2、y
2)、点Cの座標を(x
3、y
3)、点Aの質量をm
1、点Bの質量をm
2、点Cの質量をm
3とすると、重心点Gの座標(x
g、y
g)は、下記の式4で表される。
【数4】
ここで、画像上においては各点の質量は全て等しいと仮定すると、画像上における重心点Gは下記の式5で算出できる。カメラ制御部141は、被写体ベクトルであると判定されたベクトルを検出した各ベクトル枠の中心座標(x
n、y
n)から、被写体の重心点G(x
g、y
g)を算出する。
【数5】
【0052】
図8の説明に戻る。
ステップS802において、カメラ制御部141が、ステップS801で算出した被写体の重心点を起点にした被写体ブレの補正位置を決定する。この際、カメラ制御部141は、被写体の重心点を起点に構図や被写体情報などに基づいて、被写体ブレの補正位置を決定する。
【0053】
被写体の重心点を起点にした被写体ブレの補正位置の決定方法について
図10を用いて説明する。
図10は、被写体の重心点に基づく被写体ブレの補正位置について説明する図である。
図10(A)は、被写体領域を示す図である。被写体領域は、ステップS305において被写体ベクトルが検出された領域である。
図4を用いて説明したように、カメラ制御部141は、検出したベクトル値から被写体ベクトルと背景ベクトルに分離し、被写体ベクトルを検出する。
図10(A)において斜線で示される領域が被写体領域である。
【0054】
図10(B)は、被写体の重心点に基づく被写体ブレの補正位置を示す図である。カメラ制御部141は、被写体ベクトルであると判定されたベクトルを検出した各ベクトル枠の中心座標、すなわち被写体領域内の各ベクトル枠の中心座標から、被写体領域の重心点Gを算出する。そして、カメラ制御部141は、重心点Gを起点に構図や被写体情報に基づいて、被写体ブレの補正位置を決定する。被写体ブレの補正位置を決定するために用いられる被写体情報には、被写体の移動方向、被写体の移動速度、被写体との成す角度θ等が含まれる。
【0055】
例えば、被写体が画面右上方向へ移動している場合、被写体の移動方向にある重心点G(xg、yg)より右上方向のベクトル枠を被写体ブレの補正位置とする。また、特定の構図の場合、重心点G(xg、yg)から所定の位置にあるベクトル枠を被写体ブレの補正位置とするようにしてもよい。例えば、近づいてくるバイクを撮影している場合において、式1で示した被写体との成す角度θの値が大きい場合には、バイクを正面から見たような構図になる。そのため、バイク前方の側面付近が被写体ブレの補正位置となるよう、重心点Gより進行方向側かつ上側の位置のベクトル枠を被写体ブレの補正位置とする。
【0056】
ステップS803において、カメラ制御部141が指示してLCD140に、ステップS802で決定した被写体の重心点を起点にした被写体ブレの補正位置を示す枠を表示する。
【0057】
ステップS804において、カメラ制御部141が、被写体の検出ができたか否かを判定する。被写体の検出ができた場合はステップS805に進む。一方、被写体の検出ができなかった場合は、ステップS812に進む。ここで、本ステップにおける被写体の検出は、ステップS305の動きベクトルによる被写体検出以外の任意の方法で行う。例えば、あらかじめ登録された被写体モデル情報(パターン)との比較により被写体を検出してもよいし(パターンマッチング)、検出学習モデル(機械学習結果)を用いて被写体検出を行ってもよい。また、画像の色相や彩度等の色情報または輝度情報のヒストグラムに基づいて被写体を検出する方法でもよいし、被写体までの距離情報によって被写体検出を行ってもよい。また、検出される被写体は1つに限られるものではなく、複数の被写体を検出してもよい。
【0058】
ステップS805において、ステップS804で検出した被写体において特徴の検出ができたか否かを判定する。被写体の特徴は、複数検出されてもよい。特徴の検出ができた場合は、ステップS805に進む。一方、特徴の検出ができなかった場合は、ステップS809に進む。
【0059】
被写体の特徴としては、例えば、モータースポーツシーンであればヘルメットやバイク前方のライトなどを指し、被写体が人や動物である場合は、被写体の顔や目などを指す。被写体の特徴の検出方法は、任意の方法で行ってよい。例えば、あらかじめ登録された特徴点モデル情報(パターン)との比較により特徴の検出を行ってもよいし(パターンマッチング)、検出学習モデル(機械学習結果)を用いて特徴の検出を行ってもよい。
【0060】
ステップS806において、カメラ制御部141が指示してLCD140に、ステップS805で決定した被写体の特徴部位に基づいた被写体ブレの補正位置を示す枠を表示する。
ステップS809において、カメラ制御部141が指示してLCD140に、被写体の全体に対して枠を表示する。
【0061】
ステップS807において、ユーザによる枠選択手動設定が行われたか否かの判定を行う。ユーザにより枠が指定された場合は、枠選択手動設定が行われたとしてステップS808に進む。一方、ユーザにより枠が指定されなかった場合は、枠選択手動設定が行わなかったとしてステップS810に進む。
【0062】
ここで、ユーザによる枠選択手動設定の例について
図7を用いて説明する。枠702は、ステップS803で表示される、被写体ベクトルの重心点に基づく被写体ブレの補正位置を示す枠である。枠701は、ステップS806で表示される、被写体の特徴に基づく被写体ブレの補正位置を示す枠である。モーターバイクの場合は、バイク、ライダー、ヘルメットという主に3つの特徴がある。本実施形態では、ヘルメットが被写体の特徴として検出された例を示している。
【0063】
ユーザは複数表示されている枠から被写体ブレを補正したい枠位置を手動で指定する。枠の指定は、例えば、タッチパネルであるLCD140に表示された枠をタッチすることで指定してもよいし、操作部136のジョイスティックやボタンを操作して指定してもよい。
【0064】
ステップS808において、カメラ制御部141が指示してLCD140において、ステップS807でユーザが選択した枠を他の枠よりも強調して表示する。ここで、強調して表示する例としては、枠の色を変える、枠を点滅させる等がある。なお、本実施形態では、ユーザによる枠の選択が行われるまでは、ステップS803で表示した被写体の重心に基づく像ブレ補正候補位置を示す枠を強調表示する。
【0065】
ステップS804で被写体検出ができなかった場合、または、ステップS807において、枠選択手動設定が行われなかった場合は、ステップS810に進む。ステップS810において、カメラ制御部141が指示してLCD140において、被写体ベクトルを検出した領域の重心点に基づく被写体ブレの補正位置を強調して表示する。
【0066】
このように、本実施形態では、被写体ブレ補正を行う位置の候補を画像上に表示し、ユーザが候補の中から指定できるようにする。被写体ブレの補正位置の候補には、被写体ベクトルが検出された領域の重心点を起点とした補正位置(第1の検出手段の検出結果に基づく補正位置)と、被写体の特徴に基づく補正位置(第2の検出手段の検出結果に基づく補正位置)が含まれる。なお、本実施形態では、被写体ベクトルの重心点に基づく被写体ブレの補正位置と、被写体の特徴が検出された位置または被写体全体の位置を、被写体ブレ補正を行う位置の候補として表示する例について説明したが、これに限られるものではない。例えば、候補の中にユーザが事前に指定した位置を含めてもよい。
【0067】
図3の説明に戻る。
ステップS310において、カメラ制御部141が、撮影者によってレリーズ釦が押下げられて露光開始の指示がされたかを判断する。露光開始の指示がされた場合は、処理がステップS311に進む。露光開始の指示がされていない場合は、処理がステップS301に戻る。
【0068】
ステップS311において、レンズ制御部112が露光期間中における被写体角速度を算出(推定)する。具体的には、まず、カメラ制御部141が、ステップS309で決定された被写体ブレの補正位置に応じた露光前の被写体角速度と被写体角加速度とを交換レンズ100のレンズ制御部112に送信する。レンズ制御部112に送信される露光前の被写体角速度と被写体角加速度は、ステップS306およびステップS307で算出され、ステップS308でメモリ142に保持された被写体角速度と被写体角加速度の履歴である。レンズ制御部112は、カメラ制御部141から受信した被写体ブレの補正位置の被写体角速度と被写体角加速度とに基づいて、露光期間中における被写体角速度を算出する。なお、交換レンズ側で算出する被写体角速度は、レリーズ釦を押下してから露光開始までのレリーズタイムラグも考慮し、露光期間中における被写体の動きを推定して被写体角速度を算出する。
【0069】
ステップS312において、レンズ制御部112が、ステップS311で算出した被写体角速度に基づいて、光学的に振れを補正する補正光学系であるシフトレンズ104を駆動させる。これにより、ユーザが選択した被写体ブレの補正位置における被写体ブレが補正される。また、レンズ制御部112は、ユーザが選択した被写体ブレの補正位置で合焦するように、ズームレンズ103を駆動させる。
【0070】
ステップS313において、カメラ制御部141が、所定の露光時間が経過したかを判定する。露光時間が経過した場合は、本処理を終了する。そして、現像完了後、次のフレームから
図3を参照して説明した処理を開始する。一方、露光時間が経過していない場合は、ステップS312に戻り、露光時間が経過するまでシフトレンズ104の駆動を継続する。
【0071】
なお、本実施形態はレフレックスミラーが存在しないミラーレスカメラを想定しているが、一眼レフカメラにも適用が可能である。ミラーレスカメラとの差異は、動きベクトル検出部145に入力する映像信号を撮像素子132ではなく、測光センサの映像信号を入力すれば同等の制御が可能であることは言うまでもない。また、本実施形態では、シフトレンズ104を駆動することにより被写体ブレを補正する例について説明したが、これに限られるものではなく、例えばカメラ本体130内の撮像素子を駆動することで光学的に被写体ブレを補正してもよい。また、被写体ブレ補正を行う位置とAFの対象とする位置のそれぞれをユーザが認識可能なように、被写体ブレ補正を行う位置の候補を示す枠とともにAFの対象とする位置を示す枠もLCD140に表示してもよい。このとき、被写体ブレ補正を行う位置の候補を示す枠とAFの対象とする位置を示す枠とは表示形態(大きさ、形、色など)を異ならせるようにすれば、ユーザがそれぞれをより認識しやすくなる。さらに、被写体ブレ補正を行う位置の候補を示す枠とAFの対象とする位置を示す枠とが重なる場合には、重なっていない場合と枠の表示形態を異ならせてもよい。
【0072】
以上のように、本実施形態によれば、複数の被写体ブレの補正位置の候補を表示し、候補の中からユーザが補正位置を選択できるようにすることで、ユーザから指定を受けた補正位置に対して被写体ブレ補正を行うことができる。これにより、撮影者が期待する被写体ブレの補正位置において被写体ブレ補正を行うことができる撮像装置を提供することができる。
【0073】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0074】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【0075】
100 交換レンズ
104 シフトレンズ
111 レンズ内角速度検出部
112 レンズ制御部
130 カメラ本体
141 カメラ制御部
145 動きベクトル検出部
152 被写体ブレ補正算出部
153 シャッタ速度算出部
171 カメラ内角速度検出部