IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7451152撮像装置、制御方法及びコンピュータプログラム
<>
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図1
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図2
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図3
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図4
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図5
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図6
  • 特許-撮像装置、制御方法及びコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】撮像装置、制御方法及びコンピュータプログラム
(51)【国際特許分類】
   G03B 5/00 20210101AFI20240311BHJP
   G03B 15/00 20210101ALI20240311BHJP
   H04N 23/55 20230101ALI20240311BHJP
   H04N 23/68 20230101ALI20240311BHJP
【FI】
G03B5/00 J
G03B15/00 H
G03B15/00 Q
H04N23/55
H04N23/68
【請求項の数】 13
(21)【出願番号】P 2019213131
(22)【出願日】2019-11-26
(65)【公開番号】P2021085925
(43)【公開日】2021-06-03
【審査請求日】2022-11-14
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】宮澤 仁志
【審査官】登丸 久寿
(56)【参考文献】
【文献】特開2016-167798(JP,A)
【文献】特開2010-050934(JP,A)
【文献】特開2009-010453(JP,A)
【文献】特開2001-078196(JP,A)
【文献】米国特許出願公開第2016/0261784(US,A1)
【文献】米国特許出願公開第2018/0176470(US,A1)
【文献】特開2018-013602(JP,A)
【文献】特開2012-119875(JP,A)
【文献】特開2018-054698(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 5/00
G03B 15/00
H04N 23/55
H04N 23/68
(57)【特許請求の範囲】
【請求項1】
撮像装置の振れを検出する第1の検出部と、
所定の静止画撮影前の異なるフレーム間で像の動きを検出する第2の検出部と、
第1の検出部と前記第2の検出部の検出結果から静止画露光期間前の被写体角速度を検出する被写体角速度検出部と、
前記静止画露光期間前の前記被写体角速度に基づいて前記静止画露光期間前の被写体角加速度の変曲点を判別するとともに、前記変曲点と前記静止画露光期間前の被写体角速度に基づいて前記静止画露光期間における被写体角速度を予測する被写体角速度予測部と、
前記被写体角速度予測部により予測された被写体角速度に基づき被写体の振れ補正をする振れ補正部と、を有し、
前記撮像装置の加速度が所定値以上の場合に、前記被写体角速度予測部による被写体角速度の予測をおこなわないことを特徴とする撮像装置。
【請求項2】
前記第1の検出部はジャイロセンサを含むことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記第2の検出部は画像の動きベクトルを検出するものであることを特徴とする請求項1または2に記載の撮像装置。
【請求項4】
前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定する撮影シーン判定部を有することを特徴とする請求項1~3のいずれか1項に記載の撮像装置。
【請求項5】
前記撮影シーン判定部は、前記静止画撮影を開始するためのレリーズ操作の際の動画像と、直前の静止画撮影の画像を比較することによって、前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定することを特徴とする請求項4に記載の撮像装置。
【請求項6】
前記撮影シーン判定部は、前記静止画撮影の露光タイミングと、直前の別の静止画撮影の露光タイミングの時間差が所定値より小さいか否かを判定することによって、前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定することを特徴とする請求項4に記載の撮像装置。
【請求項7】
前記撮影シーン判定部によって、前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じと判定されなかった場合には、前記被写体角速度予測部により被写体角速度を予測しないことを特徴とする請求項4~6のいずれか1項に記載の撮像装置。
【請求項8】
前記撮影シーン判定部によって、前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じと判定された場合には、前記静止画撮影の直前の別の静止画撮影により得られた画像の被写体角速度も用いて静止画露光期間における被写体角速度を予測することを特徴とする請求項4~7のいずれか1項に記載の撮像装置。
【請求項9】
前記静止画露光期間前の前記被写体角速度に関する情報の履歴を保存する保存部を有することを特徴とする請求項1~8のいずれか1項に記載の撮像装置。
【請求項10】
前記振れ補正部はレンズを光軸に垂直な方向に移動させるレンズ駆動部を含むことを特徴とする請求項1~9のいずれか1項に記載の撮像装置。
【請求項11】
前記撮像装置を流し撮りモードに設定するための操作部を有し、前記操作部により前記撮像装置が前記流し撮りモードに設定されていない場合には、前記被写体角速度予測部による被写体角速度の予測を行わないことを特徴とする請求項1~10のいずれか1項に記載の撮像装置。
【請求項12】
撮像装置の振れを検出する第1の検出ステップと、
所定の静止画撮影前の異なるフレーム間で像の動きを検出する第2の検出ステップと、
第1の検出ステップと前記第2の検出ステップの検出結果から静止画露光期間前の被写体角速度を検出する被写体角速度検出ステップと、
前記静止画露光期間前の前記被写体角速度に基づいて前記静止画露光期間前の被写体角加速度の変曲点を判別するとともに、前記変曲点と前記静止画露光期間前の被写体角速度に基づいて前記静止画露光期間における被写体角速度を予測する被写体角速度予測ステップと、
前記被写体角速度予測ステップにより予測された被写体角速度に基づき被写体の振れ補正をする振れ補正ステップと、を有し、
前記撮像装置の加速度が所定値以上の場合に、前記被写体角速度予測ステップによる被写体角速度の予測をおこなわないことを特徴とする制御方法。
【請求項13】
請求項1~11のいずれか1項に記載の前記撮像装置の各部としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮像装置及び制御方法等に関する。
【背景技術】
【0002】
カメラ(撮像装置)の撮影方法の一つに、移動している被写体に対してカメラの向きを追従させつつ、スローシャッタで撮影することで、主被写体を静止させながら背景を流すことで躍動感のある写真を撮影する流し撮りがある。しかし、被写体の動きに合わせてカメラの向きを正しく追従させながら撮影することは困難で、正しく追従できなかった場合には、主被写体が静止せずに被写体振れが生じる可能性が高い。
【0003】
そこで、流し撮りを簡単に撮影できるようにするため、様々な撮影アシスト機能が考えられる。第1のアシスト機能は、被写体振れを検出し光学補正系等で補正する機能である。第2のアシスト機能は、シャッタ速度を撮影シーンに応じてカメラが自動で設定する機能である。第3のアシスト機能は、カメラの撮影画角内の被写体の大きさをフレーム間で一定に保つためのズーム操作をカメラが自動で設定する機能である。
【0004】
特許文献1は、等速直線運動をしている被写体を流し撮りするにあたり、被写体は等速であっても撮像装置から見ると角加速度変化を伴うため、被写体の角加速度を算出している。そして、静止画撮影用の露光前までの各動画フレームで算出した被写体角速度の履歴に基づいて静止画撮影用の露光中の被写体角速度を算出し、光学補正系を駆動させて被写体に係る像振れ(被写体振れ)を補正する撮像装置を開示している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-54698号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
即ち、特許文献1が開示する撮像装置は、被写体角速度の履歴を保持し、過去数フレームの動画フレームの被写体角速度の差分から被写体角加速度を算出し、被写体角加速度の符号変化に基づいて静止画撮影用の露光中の被写体角速度の算出方法を制御している。
しかしながら、静止画撮影用の露光期間中は動きベクトルが検出できないため、露光時間が長い場合には、被写体振れを正しく補正することができないという課題があった。
【0007】
そこで本発明の目的は、流し撮り撮影において良好に被写体に係る像振れを補正することが可能な撮像装置等を提供することにある。
【課題を解決するための手段】
【0008】
本発明の撮像装置は、
撮像装置の振れを検出する第1の検出部と、
所定の静止画撮影前の異なるフレーム間で像の動きを検出する第2の検出部と、
第1の検出部と前記第2の検出部の検出結果から静止画露光期間前の被写体角速度を検出する被写体角速度検出部と、
前記静止画露光期間前の前記被写体角速度に基づいて前記静止画露光期間前の被写体角加速度の変曲点を判別するとともに、前記変曲点と前記静止画露光期間前の被写体角速度に基づいて前記静止画露光期間における被写体角速度を予測する被写体角速度予測部と、
前記被写体角速度予測部により予測された被写体角速度に基づき被写体の振れ補正をする振れ補正部と、を有し、
前記撮像装置の加速度が所定値以上の場合に、前記被写体角速度予測部による被写体角速度の予測をおこなわないことを特徴とする。
【発明の効果】
【0009】
本発明によれば、流し撮り撮影において良好に被写体に係る像振れを補正することが可能な撮像装置を実現することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施例のカメラシステムのブロック図である。
図2】実施例における手振れ補正動作等に関する機能ブロック図である。
図3】実施例における流し撮り制御の全体フローチャートである。
図4】実施例における被写体ベクトル群の検出を説明するためのヒストグラムを示す図である。
図5】実施例における被写体角速度と被写体角加速度の例を説明するための図である。
図6】実施例における露光期間中の被写体角速度推定のフローチャートである。
図7】実施例における同一撮影シーンの判定方法を説明するための図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の好適な実施の形態について実施例を用いて説明する。なお、各図において、同一の部材ないし要素については同一の参照番号を付し、重複する説明は省略ないし簡略化する。
図1を参照して、本実施例におけるカメラシステム(撮像装置)の構成について説明する。
図1は、実施例のカメラシステムのブロック図である。図1において、100は交換レンズ、130はカメラ本体である。交換レンズ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】
ドライバ113はレンズを光軸に垂直な方向に移動させるレンズ駆動部として機能し、ドライバ113はレンズマイコン112、カメラマイコン141と共に振れ補正部として機能する。
位置検出部105は、シフトレンズ104の位置を検出する。位置検出部105は、例えばホール素子を含む。ズームエンコーダ106は、ズームレンズ103の位置を検出する。また、角速度検出部111は、撮像装置に加わる振れを検出し、角速度信号を振れ検出信号として出力する。角速度検出部111は、例えばジャイロセンサを含む。
【0014】
また、ドライバ113は、シフトレンズ104を駆動する。アンプ回路114は、位置検出部105が検出したシフトレンズの位置を示す信号(位置検出信号)を増幅してレンズマイコン112に出力する。マウント接点部115は、交換レンズ100とカメラ本体130との通信を中継する。
【0015】
また、レンズマイコン112は、交換レンズ100全体を制御する。レンズマイコン112は、手振れ補正制御部121と、流し撮り制御部122とを有する。手振れ補正制御部121は、手振れにより生じる像振れを補正する制御である手振れ補正制御を実行する。流し撮り制御部122は、流し撮りアシストの制御を実行する。流し撮りアシストの制御は、流し撮り時において、被写体の動きに対する撮像装置の撮影方向のズレに応じた被写体に係る像振れ(被写体振れ)を補正光学系で補正する制御である。
【0016】
本実施例では、補正光学系としてシフトレンズ104を用いるが、補正光学系として撮像素子を光軸に垂直な面内でシフトさせるようにしてもよい。流し撮り制御部122は、被写体振れの補正に用いるシフトレンズ104の駆動量の算出に、カメラマイコン141が算出する被写体角速度を用いる。
【0017】
レンズマイコン112は、手振れ補正制御と流し撮りアシストの制御の他に、フォーカスレンズ制御、絞り制御等も行うが、図の簡略化のために説明を省略する。また、手振れ補正制御の実行のためには、例えば縦方向と横方向といった、直交する2軸に関する振れの検出および補正が必要であるが、一方の軸に関する処理に必要な構成は、他方の軸に関する処理に必要な構成と同様である。したがって、以下では1軸に関する構成に関して説明する。
【0018】
カメラ本体130は、シャッタ131、撮像素子132、アナログ信号処理回路(AFE)133、カメラ信号処理回路134を備える。シャッタ131は、撮像素子132が受光する光量を調節する。撮像素子132は、例えば、CMOSセンサ等であり、被写体光を光電変換して撮像画像に係る信号を出力する。CMOSは、Complementaly Metal Oxide Semiconductorの略称である。AFE133は、撮像素子132が出力したアナログ信号をデジタル信号に変換してカメラ信号処理回路134に出力する。カメラ信号処理回路134は、AFE133が出力した信号に対して所定の処理を実行する。
【0019】
カメラ信号処理回路134は、撮像された動画フレームから動きベクトルを検出する動きベクトル検出部145を備える。ここで、動きベクトル検出部145は、後述するように、所定の静止画撮影前の異なるフレーム間で像の動きを検出する第2の検出部として機能している。
また、カメラ本体130は、タイミングジェネレータ(TG)135、操作部136、メモリカード139、表示パネル(以下、LCDと記述)140を備える。LCD140は、Liquid Crystal Displayの略称である。
【0020】
TG135は、撮像素子132やアナログ信号処理回路133の動作タイミングを設定する。操作部136は、ユーザーの操作入力を受け付ける。
操作部136は、電源スイッチ、レリーズスイッチ等を有する。メモリカード139には、撮影された映像(撮像画像)が記録される。LCD140は、撮像画像を表示する。
また、カメラ本体130は、ドライバ137、シャッタ駆動用モータ138、角速度検出部171、距離検出部181、マウント接点部144、カメラマイコン141を備える。ドライバ137は、シャッタ駆動用モータ138を駆動する。
【0021】
シャッタ駆動用モータ138は、シャッタ131を駆動する。角速度検出部171は角速度情報を取得するためのジャイロセンサ等を含み、角速度検出部111と共に、撮像装置の振れを検出する第1の検出部を構成している。撮像装置に加わる振れを検出して、角速度信号(振れ検出信号)をカメラマイコン141に出力する。距離検出部181は、被写体までの距離を検出する。マウント接点部144は、カメラ本体130と交換レンズ100との通信を中継する。
【0022】
カメラマイコン141は、カメラ本体130全体を制御する。例えば、カメラマイコン141は、カメラ信号処理回路134を制御することで撮像画像から取得される動きベクトルに基づいて、像振れ補正に用いられる被写体の角速度(被写体角速度)を算出する。また、カメラマイコン141は、交換レンズ100のレンズマイコン112との間で、各種の情報(例えば流し撮りアシストの制御に必要な被写体角速度の情報など)を通信する。
【0023】
カメラマイコン141は、シャッタ制御部151、被写体角速度算出部152、シャッタ速度算出部153、ズーム流し撮り制御部154を備える。なお、カメラマイコン141は、不図示のメモリに記憶されたコンピュータプログラムに基づき装置全体の各種動作を実行する制御手段として機能する。
シャッタ制御部151は、ドライバ137に指示して、シャッタ動作を制御する。被写体角速度算出部152は、上述した被写体角速度を算出する。被写体角速度算出部152は、算出した被写体角速度をレンズマイコン112に対して送信する。
【0024】
具体的には、動きベクトル検出部145によって、画像の動き量が動きベクトルとして検出されるので、被写体角速度算出部152は、検出された動きベクトルから被写体に対応するベクトル(被写体ベクトル)を検出する。そして、被写体角速度算出部152は、検出された被写体ベクトルに基づいて、被写体角速度を算出する。カメラマイコン141は、算出された被写体角速度をレンズマイコン112に対して送信する。シャッタ速度算出部153は、流し撮りに適したシャッタ速度を算出する。ズーム流し撮り制御部154は、フレーム毎に撮影画角に写る被写体を一定の大きさで写すようにズーム位置を制御する。
【0025】
以上の説明のように、本実施例の撮像装置は、補正手段を光軸と直交する方向に駆動して像振れ補正を行う像振れ補正装置を備えている。そして、カメラマイコン141とレンズマイコン112とが、撮像画像から得られる被写体角速度に基づいて、シフトレンズ104を駆動することにより、流し撮り時の被写体に係る像振れを補正する制御部として機能する。制御部は、撮影シーンを含む被写体情報に基づいて、撮影シーンに応じた被写体振れの補正位置を決定し、被写体振れの補正位置に基づき算出される被写体角速度に基づいて、シフトレンズ104を駆動する。
【0026】
図1において、操作部136によりカメラ本体130の電源がONされると、電源がONとなったことをカメラマイコン141が検出し、カメラマイコン141の制御によりカメラ本体130の各回路への電源供給および初期設定が行われる。また、交換レンズ100への電源供給が行われ、レンズマイコン112の制御により、交換レンズ100内の初期設定が行われる。そして、レンズマイコン112とカメラマイコン141との間で所定のタイミングで通信が開始される。この通信で、カメラ本体130から交換レンズ100へ送られる通信データは、例えば、カメラの状態、撮影設定等である。また、交換レンズ100からカメラ本体130へ送られる通信データは、例えば、レンズの焦点距離情報、角速度情報等である。
【0027】
次に手振れ補正動作に関して説明する。
図2は手振れ補正動作等に関する機能ブロック図を示しており、交換レンズ100内では、角速度検出部111が手振れ等によって撮像装置に加わる振れを検出し、手振れ補正制御部121によって、手振れ補正制御が行われる。図2の説明において、図1と共通の構成については、同じ符号を付し説明を省略する。
【0028】
図2において手振れ補正制御部121は、オフセット除去部201~パルス幅変調部208を備える。オフセット除去部201は、例えばハイパスフィルタ(以下、HPF)等を有するフィルタ演算部であり、角速度検出部111の出力に含まれている直流成分の除去を行う。利得位相算出部202は、オフセット除去部201によってオフセット成分が除去された角速度信号に対して増幅および位相補償を行う。また、利得位相算出部202は、角速度信号を所定のゲインで増幅する増幅器と、角速度信号に対して位相補償を行う位相補償フィルタを備える。
【0029】
積分器203は、任意の周波数帯域でその特性を変更し得る機能を有しており、利得位相算出部202の出力を積分し、シフトレンズ104の駆動量を算出する。積分器203は、角速度検出部111の角速度が一定値以上の大きさで所定時間経過した場合は、パンニング中と判定し、オフセット除去部201のHPFのカットオフ周波数を高周波側に徐々に変更する。積分器203が、カットオフ周波数を高周波側へ徐々に変更することで、手振れ補正制御の目標信号が徐々に小さくなり、補正光学系(シフトレンズ)を光学中心位置に戻す。
【0030】
パンニング中と判定されるほどの大きな角速度を、カットオフ周波数を高周波側へ変更せずに補正光学系で補正してしまうと、補正光学系は補正限界点に達してしまい、撮影者に不自然な画角変化が見えてしまうからである。
防振制御判定部204は、積分器203と後述の積分器225の各出力を取得し、カメラ情報取得部226の出力に応じてシフトレンズ104を駆動させるための信号を、以下のように切り替える。
【0031】
(1)撮影モードが流し撮りモードに設定されている場合
防振制御判定部204は、流し撮り制御部122で算出された積分器225の出力を選択し、後述のように被写体角速度予測部により被写体角速度を予測して流し撮り用の防振制御を行う。
(2)撮影モードが流し撮りモードに設定されていない場合
防振制御判定部204は、手振れ補正制御部121で算出された積分器203の出力を選択し、被写体角速度予測部による被写体角速度の予測をおこなわずに防振制御を行う。
【0032】
位置検出部105は、シフトレンズ104の位置を検出し位置検出信号を出力し、アンプ回路114は位置検出信号を増幅する。A(アナログ)/D(デジタル)変換器206は、アンプ回路114が増幅した位置検出信号をデジタル化して減算器205に出力する。減算器205は、防振制御判定部204の出力を正入力とし、A/D変換器206の出力を負入力として減算を行い、減算結果である偏差データを制御器207へ出力する。制御器207は、減算器205の出力する偏差データに対し、所定のゲインで増幅する増幅器、および位相補償フィルタを備える。偏差データは、制御器207において増幅器および位相補償フィルタによって処理された後、パルス幅変調部208に出力される。
【0033】
パルス幅変調部208は、制御器207の出力データを取得し、パルス波のデューティー比を変化させる波形(即ちPWM波形)に変調して、シフトレンズ駆動用のドライバ113へ出力する。
シフトレンズ104の駆動にはボイスコイル型モータが使用され、ドライバ113は、パルス幅変調部208の出力にしたがって、シフトレンズ104を撮像光学系の光軸と垂直な方向に移動させる。これによって、前記偏差データがゼロ(手振れゼロ)になるように手振れ補正制御が行われる。
【0034】
次に、流し撮りモードにおける制御について説明する。
図1および図2を参照して、流し撮り制御部122について説明する。ユーザーが操作部136により、流し撮りモードに設定する操作を行うと、カメラマイコン141は流し撮りモードの制御に切り替える。
また、その切り替えを示す情報がカメラマイコン141からレンズマイコン112へと送信され、レンズマイコン112が、流し撮りモード用の制御に切り替わる。カメラ情報取得部226(図2)は、マウント接点部115、通信制御部211を介してカメラマイコン141から送信されてくる各種のカメラ情報を取得する。
【0035】
カメラ情報は、流し撮りモードの設定情報やレリーズ情報等を含む。
カメラ情報取得部226は、防振制御判定部204に対し、判定処理に必要な情報を選択するための制御信号を出力する。即ち、流し撮りモードに設定されている場合には、防振制御判定部204は、流し撮り制御部122で算出された積分器225の出力を選択する。また、流し撮りモード以外に設定されている場合には、防振制御判定部204は、手振れ補正制御部121で算出された積分器203の出力を選択する。
【0036】
角速度出力部222は、オフセット除去部201の出力、つまりオフセット成分が除去された角速度信号を取得する。角速度出力部222は、通信制御部211とマウント接点部115を介して、カメラマイコン141へ角速度信号を送信する。被写体角速度取得部223は、カメラ本体部131内の被写体角速度算出部152で算出される被写体角速度を、マウント接点部144、115、通信制御部211を介して取得する。そして、被写体角速度取得部223は、取得した被写体角速度に基づいて、被写体振れを補正する際の、シフトレンズ104の駆動量の算出に用いられる被写体角速度を出力する。
【0037】
減算器224は、オフセット除去部201の出力を正入力とし、被写体角速度取得部223の出力を負入力として、減算を行う。被写体角速度取得部223が出力する被写体角速度を、オフセット成分が除去された角速度信号が示す角速度から減算することで、偏差が算出される。減算器224は偏差を積分器225に出力する。積分器225は偏差を積分し、積分演算の結果を防振制御判定部204に出力する。
次に、被写体振れ補正の制御方法について図3の流し撮りモードにおけるカメラマイコン141による制御の全体フローチャートを用いて説明する。
【0038】
図3中のSは、流し撮りモードにおけるフローチャートでの各処理工程を示すステップ番号である。なお、流し撮りモードにおいては、静止画撮影のための露光を複数回行うとともに、各静止画撮影のための露光前に少なくとも3フレーム以上の動画を取得するように撮像素子を動作させる。
S301において、カメラマイコン141が、交換レンズ100内のシフトレンズ104の位置情報を取得する。
【0039】
これは式1で示すように、動きベクトル検出部145が検出する動きベクトル値δvが、撮像装置の角速度を撮像面上の変位量δgへ換算した値とシフトレンズ104の駆動量を撮像面上の変位量δoに換算した値を加算したものであるからである。
δv=δg+δo・・・(式1)
【0040】
次に、S302において、カメラマイコン141が、交換レンズ100内の角速度検出部111とカメラ本体130内の角速度検出部171が出力する角速度信号を取得し例えば両者の平均値を撮像装置の角速度として扱う。カメラマイコン141は、焦点距離[mm]、フレームレート[frame/sec]、画素ピッチ[um/pixel]を用いて、撮像装置の角速度信号が示す角速度[deg/sec]を撮像面上の動画フレーム間の変位量δg[pixel/frame]に換算する。
【0041】
次に、S303において、動きベクトル検出部145が、複数の動画フレーム間における画像の動き量を示す動きベクトルδvを検出する。この場合、動きベクトル検出部145は、静止画撮影前の異なるフレーム間で像の動きを検出する第2の検出部として機能している。このようにδgとδvを求めることによって式1に基づきシフトレンズ104の駆動量を撮像面上の変位量δoが算出でき、シフトレンズ104の駆動量を決定できる。
続いて、S304において、カメラマイコン141が、S301~S303までに取得した情報に基づいて、動きベクトルに関して図4のようなヒストグラムを算出する。ヒストグラムの詳細は後述する。
【0042】
S305において、S304で算出したヒストグラムに基づいて被写体ベクトル群が検出可能か判定を行う。被写体ベクトル群の検出が可能である場合はS306に進む。被写体ベクトル群が検出できなかった場合はS301に戻り、次のフレームについてS301~S304の制御を行う。
図4は、被写体ベクトル群の検出を説明するためのヒストグラムを示す図である。
【0043】
図4に示すヒストグラムは、図3のS304で算出されるヒストグラムの一例である。横軸は、ベクトル値を示す。縦軸は、度数を示す。
動きベクトル検出部145は撮像画面内の所定の複数の位置に配置した各ブロックにおいて動画の1フレーム前との動き量をベクトル値として検出する。しかし動きベクトル検出部145の出力だけは、各ブロックのベクトル値が被写体ベクトルなのか背景ベクトルなのかは判断できない。
【0044】
そこで、撮像面上の変位量δgに換算した、撮像装置の角速度情報のベクトル値401を起点に、その起点の周囲の所定のベクトル値範囲(背景範囲)402内に存在する動きベクトルは背景ベクトル群403であると判定する。ここで、背景ベクトル群403はカメラシステムの手振れによる動きベクトルに相当するものとみなすことができる。そして、背景範囲402外に存在する動きベクトルであって、度数が所定の閾値404を超えているベクトルを被写体ベクトル群405であると判定する。
【0045】
ここで被写体ベクトル群405は被写体自身の動きベクトルに対応するものと考えられる。
尚、背景範囲402の幅はレンズの焦点距離や動きベクトル検出部145の検出精度に応じて可変しても良い。更に、被写体ベクトル群の検出判定方法を行うにあたり、上記のように角速度情報を用いなくても良い。そして代わりに、オートフォーカスのデフォーカス量(やコントラスト値)に基づいて、主合焦枠のデフォーカス量(やコントラスト値)を起点に所定の焦点深度範囲内に存在するベクトルを被写体ベクトル群と判定してもよい。また、所定の焦点深度範囲外に存在するベクトルを背景ベクトル群と判定してもよい。また、デフォーカス量(やコントラスト値)と角速度情報を併用して被写体ベクトル群と背景ベクトル群の判定を行っても良い。
【0046】
図3の説明に戻る。S306において、S305で検出した被写体ベクトル群405の中から最終的に制御で使う被写体ベクトルを選択する。その理由は、被写体の位置によってベクトル値は変わる場合があるからである。例えば、直線運動をしている電車を流し撮りする場合、電車の車輛前方と車輛後方でベクトル値は異なる。カメラの向ける方向を全く変えず(つまりカメラを回さず)に、カメラと被写体を同じ速度で一緒に平行に動かせば、被写体の前方も後方も同等のベクトル値になる。
【0047】
しかし、実際のカメラの動かし方は、カメラを被写体に対して平行に移動させるのではなく、角度変化を伴ってカメラを振るので、カメラから被写体を見たときに被写体の前方と後方のベクトルが異なるためである。
これは、焦点距離が広角になる程、また、撮影距離が近くなる程、その影響が顕著に現れる。逆に、撮影距離が無限遠に近い場合は、被写体と並走しながら撮影するのと同様になるので、防振制御によって被写体全体を止めやすくなる。
【0048】
以上のように、S306では焦点距離が広角の場合、また、撮影距離が近い場合には、被写体ベクトル群405の中から最終的に制御で使う被写体ベクトルを選択する。撮影距離が無限遠に近い場合は例えば被写体ベクトルの平均値を選択する。
被写体ベクトルの選択方法としては、フォーカスの設定が1点AF(オートフォーカス)で、撮影者は被写体の狙いたい位置へフォーカス枠を合わせ続けていれば、1点AFの枠近傍に存在する被写体ベクトルを選択すればよい。
【0049】
また、フォーカスの設定が顔認識追従AFであれば、被写体の顔などの、被写体検出位置近傍の被写体ベクトルを選択すればよい。
そして、最終的に選択した被写体ベクトルを、角速度を撮像面上の移動量に換算した逆手法で逆算し被写体角速度を算出する。
【0050】
このS306において、カメラマイコン141は、第1の検出部と第2の検出部の検出結果から静止画露光期間前の被写体角速度を検出する被写体角速度検出部として機能している。
次にS307において、S306で算出した被写体角速度の、隣接する動画フレーム間の差分を演算することによって被写体角加速度を算出する。
S308において、S307で算出した被写体角加速度のデータ履歴を所定フレーム数メモリに保持する。このとき被写体角加速度の代わりに被写体角速度のデータ履歴を保存しても良い。
【0051】
そして保存された被写体角速度のデータ履歴に基づき被写体角加速度を算出するようにしても良い。このように、S308において、カメラマイコン141は、静止画露光期間前の被写体角速度に関する情報(被写体角速度または被写体角加速度)の履歴を保存する保存部として機能する。
次にS309において、撮影者によってシャッタレリーズ釦が押下されたか否か、即ち静止画撮影用の露光開始指示が出されたか否かについて判定を行う。以降、露光とは静止画撮影用の露光を指すものとする。露光開始の指示が出されればS310に進む。露光開始の指示が出されなければ、S301に進み次のフレームの制御についてS301~S309を繰り返す。
【0052】
S310において、S306とS307で算出した露光前の被写体角速度と被写体角加速度及びS308で保持された情報に基づいて、露光期間中における被写体角速度の推定を行う。この推定を行うのは、図1に示すカメラシステムでは露光期間中には、動きベクトル検出部145に撮像素子132からの映像信号が入力できないためである。従って、露光前の各動画フレームにおいて算出した被写体角速度と被写体角加速度から露光期間中の被写体角速度を推定する。
【0053】
ここで、露光期間中の被写体角速度を推定する方法について図5図6を用いて説明する。図5(A)は直線運動している被写体を流し撮りしているシーンの例を表している。図5(B)は、被写体が撮影者の真正面を原点とした場合の、被写体と撮影者の成す角度θに基づく被写体角速度ωと被写体角加速度αを示したグラフである。図5(B)に示されるように、被写体が等速で移動していたとしても、カメラは角度を伴って回転させつつ振っている(被写体に対して平行移動しているわけではない)。従って、カメラから見ると被写体の角速度は加速または減速しており、それに合わせて流し撮りすることになる。
【0054】
図5(B)の縦破線は各動画フレームの境界を示しており、縦破線の間隔501は動画フレーム間隔(例えば60[frame/sec])を表す。前述のように、流し撮りモードにおいては、静止画撮影のための露光を複数回行う(連写する)とともに、各静止画撮影のための露光前に少なくとも3フレーム以上の動画フレームを取得するように撮像素子を動作させる。1回目の露光502が、被写体との成す角度θ=―40[deg]で行われ、露光、現像、その後、動画撮影への復帰、と順次カメラ処理が行われる。なお、本実施例では、静止画用の露光の合間の動画フレームはライブビュー表示にも用いる。
【0055】
1回目の露光(斜線部の期間)502の直前の、動画フレーム503の次の動画フレームは例えば504となる。図5(A)で示すようなシーンの流し撮りでは、背景が流れるように、そして撮像面上で一定の動き量となるようにするため、露光時間を比較的長くする。従って撮影タイミングと露光時間によっては例えば図5(B)の2回目の露光期間505が、被写体角加速度が最初に変曲点(ゼロを通過する点)を迎える期間と重なる。そして、被写体角加速度が変曲点を迎えてこれから加速または減速していくかについての判定が困難となる。
【0056】
そこで、本実施例では、図6のフローチャートに示すような方法で露光期間中の被写体角速度の推定を行う。図6は、図3のS310における、露光中の被写体角速度の推定処理のためのフローチャートでありカメラマイコン141により実行される。
S601において、流し撮りモードにおいては、静止画撮影のための露光を複数回行う(連写する)ので、現在の静止画撮影用の露光フレームが直前の静止画撮影用の露光フレームと同じ撮影シーンであるかの判定を行う。同一撮影シーンであると判定されるとS602に進む。同一撮影シーンでないと判定されるとS603に進む。
【0057】
S601において、この時点では現在の静止画撮影用の露光フレームの画像はまだ得られていないので、例えばシャッタレリーズ釦が押下された直前または直後の動画フレームの画像と、直前の静止画撮影用の露光フレームの画像とを比較する。即ち、静止画撮影を開始するためのレリーズ操作の際の動画像と、直前の静止画撮影の画像を比較することによって、静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定する。
【0058】
具体的には、例えば画像認識によって、両者の画像の間で、画面中央部の主要被写体画像が同じであれば同一撮影シーンであると判定する。あるいは画像認識によって、両者の画像の間で、主要被写体画像の画面に占める割合の変化が所定の範囲内であれば同一撮影シーンであると判定する。あるいは両者の画像の間で、被写体ベクトル群の変化や動きベクトルのヒストグラムの変化が所定範囲内であれば同一シーンであると判定する。あるいは両者の画像の間で、主要被写体画像の色の変化が所定範囲内であれば同一シーンであると判定する。更には、上記の複数の判定基準の一部または全部を組み合わせて判断しても良い。
【0059】
S601で、Noの場合、S603において、前回静止画用撮影の露光終了から次の静止画用撮影の露光開始までの経過時間が所定時間経過したかの判定を行う。所定時間経過していない場合は、直前の静止画撮影と同一のシーンと判断される。即ち、静止画撮影の露光タイミングと、直前の別の静止画撮影の露光タイミングの時間差が所定値より小さいか否かを判定する。それによって、前記静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定する。
【0060】
このS601とS603において、カメラマイコン141は、静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じか否かを判定する撮影シーン判定部として機能している。なお、ステップS603では、流し撮りモードにおける最初の静止画撮影の場合にもNoの判断をするものとする。
次にS603における判定について更に図7を用いて説明する。図7はS603における同一撮影シーンの判定方法を説明するための図である。図7(A)は、レリーズ釦を押下されてから離すまでの期間701に露光が複数回行われた場合を表している。
【0061】
この場合は所謂連写撮影であるが、稀に実際は異なる撮影シーンでもレリーズ釦を押下し続けて連写を行う場合もある。その場合、1回目の露光終了時点702でカメラ内のシステム時間(システムクロック)を取得し、2回目の露光開始703時点で再度カメラ内のシステム時間を取得する。S603ではこの2点間のシステム時間差を算出した結果が、閾値(例えば1[sec])未満であれば同一シーンであると判定を行う。
【0062】
一方、図7(B)はレリーズ釦を離してから再度レリーズ釦を押下し静止画撮影用の露光を複数回行った場合を表している。
この場合は、単写撮影でありながら連写のように小刻みに静止画撮影を行っている。そして、上述した露光間隔の経過時間の判定用の閾値(例えば1[sec])とほぼ合わせるために、レリーズ釦を離した時点から次にレリーズ釦を押下時点までの経過時間704を見る。そして経過時間704が、閾値(例えば0.3[sec])未満であれば同一シーンであると判定を行う。
S603でNoの場合はS602に進む。Yesの場合はS609に進む。
【0063】
次に、S602において、急峻なカメラ動作があるかについてカメラの角速度、加速度変化に基づき判定を行う。急峻なカメラ動作がない(No)と判定されるとS604に進む。
急峻なカメラ動作がある(Yes)と判定されるとS609に進む。即ち、撮像装置の加速度が所定値以上の場合には、S609に進み、被写体角速度予測部による被写体角速度の予測を行わない。ここで、急峻なカメラ動作とは、例えばユーザーが被写体を追従できずLCD画面(ライブビュー画面)に被写体を捉えられていない場合を指す。この場合は、カメラの角速度変化が著しいため急峻なカメラ動作をしているといえる。また、撮影者は被写体を追従できていても急峻なカメラ動作をしているといえる場合がある。
【0064】
それは、例えばモーターバイクの流し撮りで、勾配が急なコーナー(ヘアピンコーナー)では被写体の動きはコーナーに入る前に減速、旋回を行い、旋回を終えると同時に加速して走り抜けるような場合である。このとき、3つの運動を行うため、撮影者が被写体を追従できていたとしても、カメラ内の角速度、加速度変化を見れば急峻なカメラ動作をしているといえる。
このように、急峻なカメラ動作をしている場合は、被写体角速度と被写体角加速度の履歴だけに基づいて制御を行うと被写体角速度の誤算出が生じ、却って像振れ補正を助長してしまうおそれがある。
【0065】
そのため、同一撮影シーンではなかったり、カメラが急峻な動きをしたりしている場合は、正確な動きベクトルが検出できていない場合があるため、S609において、保持していた被写体角加速度の履歴を初期化する。そして、被写体角速度予測部により被写体角速度を予測せず、被写体振れ補正は行わずに図3のS311に進み、通常の手振れ補正に基づく像振れ補正制御を行う。
一方、S602において急峻なカメラ動作がない(No)と判定されるとS604に進み、露光前のライブビュー中の複数動画フレームの被写体角加速度の履歴を読出す。
【0066】
このとき代わりに被写体角速度の履歴が保存されていたらそれを読み出すようにしても良い。そして保存された被写体角速度のデータ履歴に基づき被写体角加速度を算出するようにしても良い。
次にS605において、S604で読み出したライブビュー中の各動画フレームの被写体角加速度(または被写体角速度)の履歴を用いて、露光直前の動画フレームに被写体角加速度の変曲点があるか判定を行う。
【0067】
変曲点は、露光直前の動画フレームをN番目のフレームとしたとき、例えば以下のように求める。即ち、N-2フレームの被写体角加速度αN-2がー2[deg/sec]、N-1フレームの被写体角加速度αN-1がー3[deg/sec]、Nフレームの被写体角加速度αNが1[deg/sec]とする。その場合、N-1フレーム時点の被写体角加速度差分ΔαN-1はー1[deg/sec]で、Nフレーム時点の被写体角加速度差分ΔαNは+2[deg/sec]となる。即ち、角加速度の差分の極性が変わるので露光直前の動画フレームであるNフレームで被写体角加速度の変曲点があると判定する。
【0068】
変曲点があると判定された場合はS606に進む。変曲点がないと判定された場合はS607に進む。
S606において、S605で被写体角加速度の変曲点を見つけているため、露光前の被写体角速度と被写体角加速度と、レリーズ釦押下から露光開始までのレリーズタイムラグ分を考慮して露光期間中の被写体角速度の算出を行う。
【0069】
例えば、露光開始時点の被写体角速度を、直前の露光時の被写体角速度及び複数の動画フレームの被写体角速度の線形補間により求めるとともに、露光直前の動画フレームに存在する変曲点から露光開始時点までの時間に被写体角加速度を乗じる。それによって得た角速度を、前記の線形補間により求めた被写体角速度に加減算することで補正し、露光開始時点の補正後の被写体角速度を算出する。露光終了時点の補正された被写体角速度も同様にして求めることができるので、露光開始時点の補正後の被写体角速度と露光終了時点の補正後の被写体角速度の平均値を露光期間中の被写体角速度とすることができる。
【0070】
このように、静止画撮影の撮影シーンと、直前の別の静止画撮影の撮影シーンが同じと判定された場合には、S606で静止画撮影の直前の別の静止画撮影により得られた画像の被写体角速度も用いて静止画露光期間における被写体角速度を予測する。
なお、流し撮りモードの最初の静止画撮影の場合には、上記において露光開始時点や露光終了時点の被写体角速度を線形補間で算出する際には、複数の動画フレームの被写体角速度だけを用いて線形補間により求める。
【0071】
このように、S606においてカメラマイコン141は、静止画露光期間前の被写体角速度に基づいて静止画露光期間前の被写体角加速度の変曲点を判別する。また、変曲点と静止画露光期間前の被写体角速度に基づいて静止画露光期間における被写体角速度を予測する被写体角速度予測部として機能している。
S607において、直近の動画の2フレームにおいて各々のフレーム時点におけるカメラのシステム時間を取得し、その差分値が閾値(例えば1[sec])を超えているか判定を行う。
【0072】
システム時間の差分値が閾値未満の場合はS608に進む。システム時間の差分値が閾値以上の場合は、線形補間の誤差が大きくなるのでS609に進む。
S608において、露光中(例えば露光期間の中央時点)の被写体角速度を、直前の露光時の被写体角速度及び複数の動画フレームの被写体角速度の線形補間により求める。なお、S306で最終的に選択した被写体ベクトルが図4の閾値404以上であっても例えば所定の閾値(例えば6[pixel])未満の場合には、角速度センサのフレーム毎の角速度情報に基づき露光期間中の疑似的な被写体角速度を算出しても良い。
【0073】
本システムで算出すべき被写体角速度は上述した式1で示す通り、撮像装置の角速度と、撮像装置と被写体との相対的な動き量に依存する。撮影者が被写体を精度よく追従出来ているほど、撮像装置と被写体との相対的な動き量は小さくなる。そのため、撮像面上の移動量において許容できる誤差範囲(例えば20[um])に収まるのであれば、角速度センサの角速度情報で補間して、露光中における被写体角速度を算出しても良い。
図7に示すように、露光期間中705においてもカメラ内の角速度検出部171またはレンズ内の角速度検出部111は常にデータ取得を行っているのでそれを使う。S608、S606、S609のステップの次にS311に進む。
【0074】
図3のS311において、S310で算出した被写体角速度を用いて式1に基づき振れ補正系であるシフトレンズ104を駆動させる。即ち、S311において、カメラマイコン141、レンズマイコン112及びドライバ113は、被写体角速度予測部により予測された被写体角速度に基づき被写体の振れ補正をする振れ補正部として機能している。
S312において、静止画撮影のための所定の露光時間が経過したかの判定を行う。所定の露光時間が経過した場合は処理を終了する。所定の露光時間が経過していない場合は、S311に進み、所定の露光時間が経過するまで、振れ補正系であるシフトレンズ104を駆動し続ける。
【0075】
以上、本発明の好ましい実施形態について図1で示すデジタルカメラシステムを用いて説明したが、本発明は撮像装置本体とレンズ装置とが一体的に構成された撮像システムにも適用可能である。また、デジタルムービーカメラ、カメラ付きのスマートフォン、カメラ付きのタブレットコンピュータ、車載カメラ、ネットワークカメラなど撮像機能を有する電子機器等にも適用可能である。なお、図1で示すデジタルカメラシステムはペンタプリズムやレフレックスミラーが存在しない所謂、ミラーレスカメラを想定しているが、一眼レフカメラにも適用可能である。一眼レフカメラの場合には、レフレックスミラーで反射された像の測光を行うための測光用の撮像素子を設け、測光用の撮像素子からの映像信号を動きベクトル検出部145に入力すれば良い。
【0076】
なお、以上の説明では、振れ補正手段として、レンズを光軸に垂直な面内でシフトすることによって光学的に像振れを補正する例を説明したが、撮像素子を光軸に垂直な面内でシフトすることによって像振れを補正するものであっても良い。或いは像振れ補正手段は、画像信号を画面内でシフトすることによって像振れを補正するものであってもよい。更には上記の複数タイプの一部または全部の像振れ補正手段を組み合わせたものであっても良い。
【0077】
以上、本発明をその好適な実施例に基づいて詳述してきたが、本発明は上記実施例に限定されるものではなく、本発明の主旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。
なお、本実施例における制御の一部または全部を上述した実施例の機能を実現するコンピュータプログラムをネットワーク又は各種記憶媒体を介して撮像装置等に供給するようにしてもよい。そしてその撮像装置等におけるコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行するようにしてもよい。その場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することとなる。
【符号の説明】
【0078】
100 交換レンズ
104 シフトレンズ
111 レンズ内の角速度検出部
112 レンズマイコン
130 カメラ本体
141 カメラマイコン
145 動きベクトル検出部
152 被写体角速度算出部
153 シャッタ速度算出部
154 ズーム流し撮り制御部
171 カメラ内の角速度検出部

図1
図2
図3
図4
図5
図6
図7