(57)【要約】【課題】連続する撮像にて背景振れを検出して像ブレ補正を行い、撮像された複数の画像を合成した画像の画質を向上させること。【解決手段】パノラマ撮影時に、角速度センサ１１１，１５２は撮像装置の振れの角速度を検出し、動きベクトル検出部１４８は撮像画像の動きベクトルを検出する。カメラ制御部１４２は、検出された振れの角速度と動きベクトルを用いて背景の振れ量を算出し、背景振れの補正量を算出する。カメラ制御部１４２は、動きベクトルの検出信頼度と連写速度に応じて、振れの角速度検出信号に基づく背景角速度、または角速度検出信号および背景領域に対応する動きベクトルに基づく背景角速度をレンズ制御部１１２に送信する。レンズ制御部１１２はシフトレンズ１０４の駆動によって、背景振れの補正制御を行う。パノラマ信号処理回路１４９は像ブレ補正された複数の撮像画像を合成してパノラマ画像のデータを生成する。【選択図】  図１
2019125880.tif 000002
【特許請求の範囲】
【請求項１】
連続して撮像された複数の画像を合成することが可能な撮像装置であって、
前記撮像装置の振れを検出する第１の検出手段と、
撮像手段により撮像された撮像画像の動き量を検出する第２の検出手段と、
前記撮像装置の振れによる画像の像ブレを補正する補正手段と、
前記第１の検出手段により検出された振れ検出信号および前記第２の検出手段により検出された前記動き量から、撮像画像内の背景の振れ量を算出して前記補正手段による像ブレ補正の制御を行う制御手段と、
像ブレ補正が行われた複数の撮像画像を合成して画像データを生成する生成手段と、を備える
ことを特徴とする撮像装置。
【請求項２】
前記制御手段は、前記動き量の検出信頼度または連写速度により、前記振れ検出信号から算出した補正量で前記補正手段の制御を行う第１の制御と、前記振れ検出信号および動き量から算出した補正量で前記補正手段の制御を行う第２の制御とを切り替える
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記制御手段は、前記第１の制御にて、前記第２の検出手段の検出期間に同期して前記第１の検出手段により検出される前記振れ検出信号の平均値を用いて、前記背景の振れ量を算出する
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記制御手段は、前記第２の制御にて、前記第２の検出手段の検出期間に同期して前記第１の検出手段により検出される前記振れ検出信号の平均値と、前記第２の検出手段により検出される動き量を用いて、前記背景の振れ量を算出する
ことを特徴とする請求項２または請求項３に記載の撮像装置。
【請求項５】
前記第２の検出手段は、複数の撮像画像のデータから動きベクトルを検出し、
前記制御手段は、複数の前記動きベクトルから、前記撮像画像内の背景領域に対応する背景ベクトルを抽出する処理を行う
ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記制御手段は、前記動き量の検出信頼度が閾値より低い場合に前記第１の制御を行い、前記動き量の検出信頼度が閾値以上である場合に前記第２の制御を行う
ことを特徴とする請求項２から４のいずれか１項に記載の撮像装置。
【請求項７】
前記制御手段は、前記連写速度が閾値未満である場合に前記第１の制御を行い、前記連写速度が閾値以上である場合に前記第２の制御を行う
ことを特徴とする請求項２から５のいずれか１項に記載の撮像装置。
【請求項８】
前記制御手段は、連続する撮像において前記背景の振れ量の変化が閾値より小さい場合、前記第２の検出手段が動き量を検出する検出回数を変更する
ことを特徴とする請求項１から７のいずれか１項に記載の撮像装置。
【請求項９】
前記制御手段は、１回目の撮像で前記第２の検出手段が行う動き量の検出回数よりも、２回目以降の撮像で前記第２の検出手段が行う動き量の検出回数を少なくする
ことを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記制御手段は、検出された前回の背景の振れ量と今回の背景の振れ量との差分の大きさが閾値以上である場合、前記動き量の検出回数を第１の検出回数に設定し、前記差分の大きさが閾値より小さい場合、前記動き量の検出回数を前記第１の検出回数よりも少ない第２の検出回数に設定する
ことを特徴とする請求項８に記載の撮像装置。
【請求項１１】
前記制御手段は、前記第２の検出手段の検出期間に対応するフレームレートと、前記撮像手段の露光時間と、連写速度により、前記動き量の検出回数を決定する
ことを特徴とする請求項８から１０のいずれか１項に記載の撮像装置。
【請求項１２】
連続して撮像された複数の画像を合成することが可能な撮像装置にて実行される制御方法であって、
前記撮像装置の振れを第１の検出手段によって検出し、撮像手段が撮像した撮像画像の動き量を第２の検出手段によって検出する工程と、
前記第１の検出手段により検出された振れ検出信号および前記第２の検出手段により検出された前記動き量から撮像画像内の背景の振れ量を算出して、補正手段を制御して前記撮像装置の振れによる画像の像ブレを補正する工程と、
像ブレが補正された複数の撮像画像を合成して画像データを生成する工程と、を有する
ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像の像ブレを補正する技術に関する。
【背景技術】
【０００２】
パノラマ撮影では、撮影方向を変化させながら複数枚の単位画像を撮像する処理が行われ、撮像後の単位画像の一部を構成する所定サイズの画像領域を互いに重複領域が生じるように切り出す処理が実行される。切り出された画像領域を順次重ね合わせて１枚の画像（以下、パノラマ画像という）が生成される。
【０００３】
パノラマ画像を上手に撮影する上で重要なことは、次の２点である。１点目は、撮像後に複数の画像を合成する際、正確に合成位置を決めることである。２点目は、合成するための撮像画像内で背景の振れ（以下、背景振れという）が発生しないように、背景振れを正確に補正することである。複数の画像の合成が正確に行われたとしても、各画像で背景振れが残っていてはパノラマ画像としては失敗写真となる。特許文献１には、パノラマ画像を生成するための複数の画像を取得する場合に、撮像装置の動きによって生じる振れを補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１―１４７０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パノラマ撮影における背景振れの補正では、背景振れを角速度として正確に検出することが必要である。検出された背景角速度を積分して、シフトレンズや撮像素子等による像ブレ補正部を駆動させることにより、背景振れのない画像を撮影できる。
【０００６】
特許文献１に開示の装置では背景振れを正確に補正できない可能性がある。ジャイロセンサによって背景振れを検出する場合、ジャイロセンサの出力は低周波なノイズ成分を有するので、振れ量の検出が正確でないことがあり得る。またカメラ本体部内には可動ミラーやメカニカルシャッタ等の駆動機構部がある。駆動機構部が作動して、その振動が検出された場合、振れ量の誤検出が発生する可能性がある。このような場合、正確でない背景角速度の検出値が像ブレ補正制御に用いられると、いわゆる背景振れ残りが発生し得る。
本発明の目的は、連続する撮像にて背景振れを検出して像ブレ補正を行い、撮像された複数の画像を合成した画像の画質を向上させることである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の装置は、連続して撮像された複数の画像を合成することが可能な撮像装置であって、前記撮像装置の振れを検出する第１の検出手段と、撮像手段により撮像された撮像画像の動き量を検出する第２の検出手段と、前記撮像装置の振れによる画像の像ブレを補正する補正手段と、前記第１の検出手段により検出された振れ検出信号および前記第２の検出手段により検出された前記動き量から、撮像画像内の背景の振れ量を算出して前記補正手段による像ブレ補正の制御を行う制御手段と、像ブレ補正が行われた複数の撮像画像を合成して画像データを生成する生成手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、連続する撮像にて背景振れを検出して像ブレ補正を行い、撮像された複数の画像を合成した画像の画質を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る撮像装置の構成を示す図である。
【図２】本発明の実施形態における像ブレ補正の制御を説明するブロック図である。
【図３】パノラマ画像の合成を説明する概念図である。
【図４】本発明の実施形態における背景ベクトル検出の説明図である。
【図５】本発明の実施形態における露光重心期間での角速度平均値を説明する図である。
【図６】本発明の実施形態におけるパノラマ撮影のフローチャートである。
【図７】第１実施形態における背景振れ補正のフローチャートである。
【図８】第２実施形態における背景角速度の安定性について説明する図である。
【図９】第２実施形態における連続撮影時のシーケンスを説明する図である。
【図１０】第２実施形態における背景振れ補正のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を添付図面に基づいて詳細に説明する。各実施形態では、撮像装置として一眼レフカメラを用いて説明するが、本発明はミラーレスカメラやコンパクトデジタルカメラ等の、撮像部を有する各種電子機器に適用可能である。連続した撮像により取得される撮像画像データを合成して画像データを生成する例として、パノラマ撮影を説明する。
【００１１】
［第１実施形態］
図１は本実施形態の撮像装置の構成例を示すブロック図である。図２は本実施形態の像ブレ補正制御を説明するためのブロック図である。図３はパノラマ撮影の説明図である。まず、図３を参照して、パノラマ撮影について説明する。図３（Ａ）は撮影の様子を模式的に示す図である。図３（Ｂ）は撮像された複数の撮像画像を示す図である。図３（Ｃ）はパノラマ画像を示す図である。
【００１２】
図３（Ａ）に示すようにパノラマ撮影は、ユーザが角速度ω［degree/sec］で撮像装置３０１を動かして撮影方向を変更しながら連続撮影を行うことで実施される。図３（Ｂ）にて、撮像された各画像（３０２〜３０４参照）には、被写体の共通領域が含まれるように撮影動作が行われる。この際、背景振れを正確に検出して補正することで、振れによる画質劣化の少ない良質な画像を生成することができる。
【００１３】
図３（Ｂ）に示す各画像（３０２〜３０４参照）に対し、撮影レンズの歪曲補正を行い、さらに撮影レンズの焦点距離を半径とする仮想円筒にマッピングする処理が行われる。そして、各画像の共通領域の特徴点が抽出され、その特徴点の動き量が動きベクトルとして検出される。動きベクトルから、例えばアフィン変換の係数に変換し、対応する特徴点同士が一致するように各画像３０２〜３０４を重ね合わせる合成処理が実行される。こうすることで、共通領域以外の部分が拡張された画像が得られる。これらの処理を複数回に亘って実施することで、１枚の画像よりも撮影範囲が広範囲な画像、すなわち図３（Ｃ）に示すパノラマ画像３０５を生成することができる。
【００１４】
図１を参照して、本実施形態の撮像装置の構成を説明する。図１の撮像装置は、交換レンズ１００とカメラ本体部１３１からなるレンズ交換式カメラの例である。交換レンズ１００は、撮影レンズ群１０１を備える。撮影レンズ群１０１は、主撮像光学系１０２、ズームレンズ１０３、シフトレンズ１０４を有する。ズームレンズ１０３は焦点距離を変更可能な可動光学部材である。シフトレンズ１０４は、撮像装置の手振れ等による、光軸に対する像のブレを、光軸と垂直方向に移動することにより光学的に補正する補正レンズである。ズームエンコーダ１０６は、ズームレンズ１０３の位置を検出し、位置検出信号をレンズ制御部１１２に出力する。位置検出センサ１０５は、例えばホール素子によってシフトレンズ１０４の位置を検出し、アンプ１１４を介して位置検出信号をレンズ制御部１１２に出力する。撮影レンズ群１０１における、その他の光学部材（フォーカスレンズ、絞り等）の図示は省略する。
【００１５】
交換レンズ１００は振れを検出する角速度センサ１１１を備える。角速度センサ１１１は振れ検出信号として角速度信号をレンズ制御部１１２に出力する。レンズ制御部１１２はレンズシステム制御用マイクロコンピュータを備え、交換レンズ１００内の各構成部を制御する。交換レンズ１００は、カメラ本体部１３１と接続されるマウント接点部１１５を備える。レンズ制御部１１２は、交換レンズ１００がカメラ本体部１３１に装着された状態において、後述のカメラ制御部１４２と通信可能である。
【００１６】
ドライバ１１３は、レンズ制御部１１２からの制御指令にしたがってシフトレンズ１０４を駆動する。つまり、レンズ制御部１１２は、位置検出センサ１０５の出力を増幅するアンプ１１４から位置情報を取得し、シフトレンズ１０４の駆動目標値を算出する。駆動目標値を示す制御指令の信号がドライバ１１３に出力され、シフトレンズ１０４の移動によって像ブレ補正が行われる。本実施形態の撮像装置は、光学素子（補正レンズ）を撮像光学系の光軸と直交する方向に駆動して像ブレ補正を行う像ブレ補正装置を備えている。この例に限らず、撮像素子の移動制御により像ブレ補正を行う像ブレ補正装置がある。また、補正レンズの移動制御と撮像素子の移動制御とを併用した像ブレ補正装置を使用してもよい。
【００１７】
レンズ制御部１１２は、手振れ補正制御部１２１および背景振れ補正制御部１２２を備える。手振れ補正制御部１２１は、ユーザの手振れ等による画像ブレを補正する像ブレ補正制御を行う。背景振れ補正制御部１２２は、パノラマ撮影時の背景振れの補正制御を行う。ユーザ操作によりパノラマ撮影が指示されたモード（以下、パノラマモードという）の場合、レンズ制御部１１２は、カメラ本体部１３１から送信される背景角速度のデータを取得する。背景振れ補正制御部１２２は、背景角速度に基づいて背景振れ補正動作の制御を行う。一方、パノラマモードが選択されていない場合、手振れ補正制御部１２１は角速度センサ１１１による振れ検出信号を取得し、手振れ補正動作の制御を行う。
【００１８】
レンズ制御部１１２は、その他にもフォーカスレンズ制御、絞り制御等も行うが、図示の簡略化のため、詳細な説明を省略する。また、手振れ補正のためには、例えば縦方向と横方向といった、直交する２軸に関して検出および補正が行われるが、各軸に関する検出および補正は同様であるので、１軸分のみ説明する。
【００１９】
次に、カメラ本体部１３１の構成を説明する。レフレックスミラー１３２は、操作部１４１のレリーズ釦が押されるまでの間、被写体からの光を反射させ、ペンタプリズム１３３を通してファインダ部１３４へ導く。レリーズ釦が押されると、レフレックスミラー１３２が跳ね上がり、被写体からの光が撮像素子１３８へ到達して受光される。ＡＥ（自動露出）センサ１３５は、ペンタプリズム１３３を通して光を検出し、測光信号をアナログ信号処理回路（ＡＦＥ）１３６ａに出力する。
【００２０】
シャッタ１３７は、露光時間を制御するためのメカニカルシャッタである。撮像素子１３８は、ＣＭＯＳ（相補型金属酸化膜半導体）イメージセンサ等であり、被写体の光像を光電変換して電気信号を出力する。アナログ信号処理回路（ＡＦＥ）１３６ｂは、撮像素子１３８の出力するアナログ信号を処理してカメラ信号処理回路１３９に出力する。
【００２１】
カメラ信号処理回路１３９は、動きベクトル検出部１４８とパノラマ信号処理回路１４９を備える。動きベクトル検出部１４８は、アナログ信号処理回路１３６ｂを介して撮像素子１３８の出力を取得し、撮像画像の動きベクトルを検出する。動きベクトル検出部１４８は、基準となるＮ枚目のフレームの画像とＮ−１枚目のフレームの画像から、画像の動きを動きベクトルとしてピクセル単位で検出する。パノラマ信号処理回路１４９は複数の画像からパノラマ画像のデータを生成する。パノラマ信号処理回路１４９は、連続して撮像された複数の画像の位置合わせを行う位置合わせ回路、円筒座標変換やレンズ群の歪曲補正を行う幾何学変換回路、画像サイズの変倍回路を備える。またパノラマ信号処理回路１４９は、画像の一部を切り出すトリミング回路、複数の画像を合成する合成回路等を備える。各回路の動作については公知であるため、詳細な説明を省略する。
【００２２】
タイミングジェネレータ（ＴＧ）１４０は、カメラ信号処理回路１３９からの信号にしたがって撮像素子１３８と、アナログ信号処理回路１３６ａおよび１３６ｂの動作タイミングを設定する。
【００２３】
カメラ制御部１４２はカメラシステム制御用マイクロコンピュータを備え、各種動作の制御を統括する。カメラ制御部１４２は、シャッタ制御部１５０と背景角速度算出部１５１を備える。シャッタ制御部１５０はドライバ１４３に制御信号を出力し、シャッタ駆動用モータ１４４の駆動制御により、シャッタ１３７の動作を制御する。また背景角速度算出部１５１は、背景振れを補正するための背景角速度を算出する。
【００２４】
操作部１４１は、電源スイッチ、レリーズスイッチ等の操作部材を備え、ユーザの操作指示をカメラ制御部１４２に伝達する。メモリカード１４５は撮像画像データ等を記録する。表示部１４６は液晶パネル等の表示用デバイスを備え、カメラ信号処理回路１３９からの画像データにしたがって画像のモニタリングを行い、また撮像画像を画面に表示する。
【００２５】
カメラ本体部１３１は、交換レンズ１００と接続されるマウント接点部１４７を備える。レンズ制御部１１２とカメラ制御部１４２は、マウント接点部１１５および１４７を介して所定のタイミングでシリアル通信を行う。角速度センサ１５２は、カメラ本体部１３１の振れの角速度を検出し、検出信号をカメラ制御部１４２に出力する。
【００２６】
次に、撮像装置の動作および機能について説明する。
ユーザが操作部１４１によりカメラ電源のＯＮ操作を行うと、その状態変化をカメラ制御部１４２が検出する。カメラ制御部１４２は、カメラ本体部１３１の各回路への電源供給および初期設定を行う。カメラ本体部１３１に装着された交換レンズ１００への電源供給が行われ、レンズ制御部１１２は、交換レンズ１００内の初期設定を行う。そしてレンズ制御部１１２とカメラ制御部１４２との間で所定のタイミングで通信が開始する。カメラ制御部１４２はレンズ制御部１１２にカメラ状態、撮影設定等のデータを送信し、レンズ制御部１１２はカメラ制御部１４２に撮影レンズの焦点距離、振れの角速度等のデータを送信する。
【００２７】
図２を参照して、本実施形態の手振れ補正機能を説明する。手振れ補正制御部１２１は、オフセット除去部２０１乃至パルス幅変調部２０８を備える。図１と同じ構成要素については既に使用した符号を用いることで、それらの詳細な説明を省略する。
【００２８】
オフセット除去部２０１は、例えばハイパスフィルタ（以下、ＨＰＦと略記する）等を有するフィルタ演算部であり、角速度センサ１１１の出力に含まれている直流成分を除去する。利得位相算出部２０２は、オフセット除去部２０１によりオフセット成分が除去された角速度信号を所定のゲインで増幅する増幅器、および位相補償フィルタを備える。第１の積分器２０３は、任意の周波数帯域でその特性を変更し得る機能を有する。積分器２０３は利得位相算出部２０２の出力を積分し、シフトレンズ１０４の駆動量を算出する。
【００２９】
角速度センサ１１１により検出された角速度が所定の閾値以上の大きさであって、かつ所定時間が経過した場合、レンズ制御部１１２はパンニング（またはチルティング）中であると判定する。この場合、オフセット除去部２０１のＨＰＦのカットオフ周波数を高周波側に徐々に変更する処理が行われる。この変更によって、手振れ補正制御の目標信号が徐々に小さくなり、シフトレンズ１０４を可動範囲の中心位置に戻すことができる。例えばパンニング中であると判定されるほどの大きな角速度が検出された場合に、ＨＰＦのカットオフ周波数を高周波側へ変更せずに像ブレ補正が行われてしまうと、シフトレンズ１０４が補正限界点に到達する。このとき、撮影者に不自然な画角変化が映像として見える現象の発生を防ぐために、ＨＰＦのカットオフ周波数が変更される。
【００３０】
像ブレ補正制御判定部（以下、制御判定部という）２０４は、第１の積分器２０３と第２の積分器２２５の各出力を取得し、カメラ情報取得部２２６の出力に応じてシフトレンズ１０４を駆動させるための制御信号を切り替える。撮影モードがパノラマモードである場合、第２の積分器２２５による積分値が採用され、撮影モードがパノラマモード以外である場合、第１の積分器２０３による積分値が採用される。背景振れ補正制御部１２２における積分器２２５とカメラ情報取得部２２６については後述する。
【００３１】
位置検出センサ１０５はシフトレンズ１０４の位置を検出し、アンプ１１４で増幅された検出値はＡ／Ｄ（アナログ／デジタル）変換器２０６によってデジタル化される。減算器２０５は、制御判定部２０４の出力データから、Ａ／Ｄ変換器２０６にてデジタル化された検出データを減算する。減算器２０５は、減算によって得た偏差データを制御器２０７へ出力する。制御器２０７は、減算器２０５からの偏差データを所定のゲインで増幅する増幅器と、位相補償フィルタを備える。偏差データは、増幅器および位相補償フィルタによる信号処理が行われた後、パルス幅変調部２０８に出力される。パルス幅変調部２０８は、制御器２０７の出力にしたがって、パルス波のデューティー比を変化させるＰＷＭ波形への変調を行い、ＰＷＭ信号をシフトレンズ駆動用のドライバ１１３へ出力する。ドライバ１１３はボイスコイル型モータを備え、パルス幅変調部２０８の出力にしたがってシフトレンズ１０４を、撮像光学系の光軸と垂直な方向に移動させる。
【００３２】
ここで、背景角速度の算出方法について説明する。第１の方法は、交換レンズ１００内の角速度センサ１１１の出力、またはカメラ本体部１３１内の角速度センサ１５２の出力により背景角速度を算出する方法である。第２の方法は、動きベクトル検出部１４８によって得られる動きベクトルを使用し、角速度センサの出力信号と併せて背景角速度を算出する方法である。
【００３３】
まず、第２の方法を説明した後で、第１の方法を説明する。そして、２つの方法の使い分けについて説明する。図４（Ａ）はパノラマ撮影時に動きベクトル検出部１４８が行う処理の説明図である。主被写体である静止した被写体４０２と、動体４０３とが存在するシーンにおいて、矢印４０４で示すように撮影者が画面の水平方向に所定の角速度でカメラのパンニングを行っている状況を想定する。動きベクトル検出部１４８は、ブロックマッチング法に基づいて、入力画像信号に対し、適当な大きさを有する複数のブロック領域４０１に分割する処理を行う。ブロック単位にて前回のフレームと今回のフレームとの間で一定範囲の画素の差を計算し、この差の絶対値の和が最小となる前回のフレームでのブロック領域を探索する処理が行われる。比較される２つの画像間での相対的なズレ量はブロック領域の動きベクトルを示している。
【００３４】
図４（Ｂ）は、動きベクトル検出部１４８により検出された動きベクトルの度数分布（ヒストグラム）を示す。横軸は動き量をｐｉｘｅｌ単位で表わし、縦軸は動きベクトルの度数を表わす。図４（Ａ）のシーンでは、動体４０３の動き量と、パンニング（矢印４０４参照）に伴う動き量にそれぞれ対応する、２種類のベクトルが検出される。動きベクトル検出部１４８は、動きベクトルを検出した時点で、それが被写体（動体）領域に対応するベクトル（被写体ベクトル）であるか、背景領域に対応するベクトル（背景ベクトル）であるかを認識してはいない。このため、図４（Ｂ）に示すように検出された全ベクトル４０５から、所望のベクトルを抽出できるようにするための処理が行われる。所望のベクトルとは、パノラマモードの場合、主被写体が背景であるため、背景ベクトルである。背景ベクトルを抽出できるように、例えば角速度センサ１５２の出力を併用してクラスタリングが行われる。クラスタリングに用いる角速度センサ１５２の出力としては、動きベクトル検出部１４８の検出期間（以下、露光重心期間という）と同期した角速度センサ出力の平均値が使用される。図５を用いて具体的に説明する。
【００３５】
図５は、垂直同期信号ＶＤ、撮像素子の動作、角速度センサの出力を共通の時間軸でそれぞれ示す。垂直同期信号ＶＤはフレームを合わせるための信号であり、その前縁５０１の時点から、次の前縁の時点までの期間５０２が１フレーム期間を示す。例えば、フレームレートが６０ｆｐｓ（frames per second）であれば、１フレーム期間の長さは約１６．７ｍｓ（ミリ秒）である。撮像素子については、図示の平行四辺形にて蓄積時間５０３と読出し時間５０４を示している。期間５０７は、垂直同期信号ＶＤの前縁５０１の時点から図示の平行四辺形の重心に相当する時点までの期間である。露光重心期間５０６は、隣り合う平行四辺形の重心同士の時間間隔に相当する。角速度センサについては、その出力５０５の時間的変化を示す。露光重心期間５０６に同期した角速度の平均値が採用される。角速度センサとしては、交換レンズ１００内の角速度センサ１１１、またはカメラ本体部１３１内の角速度センサ１５２が用いられる。あるいは２つの角速度センサを併用してもよい。
【００３６】
背景角速度算出部１５１は、撮像光学系の焦点距離、フレームレート、画素ピッチ等の情報を用いて、露光重心期間５０６における角速度の平均値を、撮像面上の移動量に変換する。撮像面上の移動量を、図４（Ｂ）に動き量４０６で示す。角速度から撮像面上の移動量へ変換する際には、角速度センサのノイズ成分、レフレックスミラー１３２やシャッタ１３７の振動による外乱、焦点距離のばらつき、フレームレートのばらつき等により誤差が生じ得る。このため、変換後の撮像面の移動量を起点に、図４（Ｂ）に示す背景範囲４０７を設定する処理が行われる。ユーザが一定以上の角速度でパンニングを行った場合、背景ベクトルは、動き量がゼロ［ｐｉｘｅｌ］である位置から離れ、その位置の近傍には撮像面上の移動量、つまり動き量４０６が位置する。こうして、背景範囲４０７内にあるベクトルを背景ベクトルとし、背景範囲４０７外にあるベクトルを被写体（動体）ベクトルとしてクラスタリングが行われる。角速度を撮像面上の移動量に変換する方法とは逆の方法で、背景ベクトルは背景角速度に変換される。このようにして背景角速度算出部１５１は、動きベクトルから背景角速度を算出する。尚、クラスタリングの一例として角速度センサ出力を用いる方法を説明しているが、画角内の距離情報（深度情報）を用いてクラスタリングを行ってもよい。
【００３７】
続いて、角速度センサの検出出力だけで背景角速度を算出する第１の方法について説明する。第１の方法では、レフレックスミラー１３２やシャッタ１３７の振動による影響を緩和するために、ある一定期間における角速度の平均値が使用される。ある一定期間とは、例えば露光重心期間５０６における角速度の平均値であり、この平均値から背景角速度が算出される。露光重心期間ごとの平均値を用いる方法と、移動平均値を用いる方法、または過去の平均値に対する重み付けを行った加重平均値を用いる方法等がある。
【００３８】
上述の第１および第２の方法を使い分ける場合の選択条件について説明する。本実施形態では、基本的に第２の方法で求めた背景角速度を選択するが、動きベクトル検出部１４８の検出信頼度が閾値より低い場合、または連写速度が閾値未満の場合において、第１の方法で求めた背景角速度を選択する。その理由は、第１の方法のみで背景角速度を算出すると、ミラーやメカニカルシャッタの振動を検出する可能性があり、検出出力に誤差が発生することが懸念されるからである。また、非常にゆっくりとしたパンニングが行われた場合、角速度センサ出力のノイズ成分と、振れによる検出成分との区別がつかず、正しい角速度検出が難しくなる。
【００３９】
一方、第２の方法では、前回の撮影と今回の撮影との間で動きベクトルを検出するための画像を取得する上で、駒間フレームを表示することが必要になる。駒間フレーム数が増える程、次回の撮影まで露光開始のタイミングを待つ必要があるので、連写速度が低下する。例えば、フレームレートを６０［ｆｐｓ］とする場合、動きベクトル検出のためには、少なくとも約３３［ｍｓ］の処理時間がかかる。そのため、パノラマ撮影時の連写速度が低下することが懸念される。一例として、ＥＶ１３のような、晴れた屋外でのパノラマ撮影において、プログラム線図に基づくシャッタ速度が１／２５０［ｓ］となる場合を想定する。連写間に動きベクトル検出のための処理時間がかかると、次回の撮影まで待ち時間が発生して連写速度が遅くなる。つまり、連写速度が遅くなるということは、１フレームにおける撮像面上での移動量が大きくなるということである。これでは、画像の合成過程において複数の画像の重なる領域のエッジを検出して合成処理を行う際に、複数の画像の重なる領域が少なくなるので、合成の成功率が低下する。そこで、本実施形態では、連写速度が閾値未満であるという条件判断結果により、第１の方法を採用する。
【００４０】
図２を参照して、背景振れ補正制御部１２２の構成について説明する。通信制御部２１１は、マウント接点部１１５を介してカメラ制御部１４２へ情報を送信し、またカメラ制御部１４２から制御に必要な情報を受信する。角速度出力部２２２は、オフセット除去部２０１によりオフセット成分が除去された角速度検出信号を取得する。角速度出力部２２２は、通信制御部２１１を介してカメラ制御部１４２へ角速度検出信号を出力する。
【００４１】
背景角速度取得部２２３は、通信制御部２１１から、背景角速度算出部１５１により算出された背景角速度のデータを取得して減算器２２４に出力する。減算器２２４はオフセット除去部２０１の出力から背景角速度取得部２２３の出力を減算し、差分データを積分器２２５へ出力する。積分器２２５は差分データの示す角速度を積分して角度を算出し、角度データを手振れ補正制御部１２１内の制御判定部２０４へ出力する。
【００４２】
カメラ情報取得部２２６は、通信制御部２１１を介して制御に必要な情報を取得し、制御判定部２０４へ出力する。必要な情報とは撮影モード、撮影指示や露光タイミング、露光時間等の情報である。制御判定部２０４は、カメラ情報取得部２２６から取得した情報に基づき、現在の撮影モードがパノラマモードであるか否かを判定する。撮影モードがパノラマモードである場合、制御判定部２０４は積分器２２５による積分値を採用する。こうして、背景角速度に基づく像ブレ補正が行われる。
【００４３】
図６および図７のフローチャートを参照して、撮像動作について説明する。図６はパノラマモード時の全体の処理を説明するフローチャートである。図７はパノラマモード時の背景振れ補正を説明するフローチャートである。まず図６の処理を説明する。
【００４４】
（Ｓ６０１）レンズ情報取得
カメラ制御部１４２は、レンズ制御部１１２からレンズ情報を取得する。レンズ情報とは焦点距離や絞り値等の情報であり、歪曲補正や円筒座標変換等に使用される。
（Ｓ６０２）手振れ補正
パノラマモードにて手振れ補正制御部１２１は、露光開始前まで手振れ補正制御を行う。この制御と並行して動きベクトル検出部１４８は、露光開始前まで撮像画像の動きベクトルを検出している。
【００４５】
（Ｓ６０３）露光開始判断
カメラ制御部１４２は露光開始の判断処理を実行する。露光が開始された場合、Ｓ６０４の処理に進む。露光が開始されるまでの間、Ｓ６０２に戻って手振れ補正が続行される。
（Ｓ６０４）背景振れ補正
カメラ制御部１４２は背景振れ補正制御に切り替える。その詳細については図７のフローチャートを用いて後述する。
（Ｓ６０５）角速度から撮像面上の移動量算出
カメラ制御部１４２は、フレームレートや焦点距離、撮像素子の画素ピッチの情報を用いて、取得された振れの角速度を、画素単位での撮像面上の移動量［ｐｉｘｅｌ］へ換算する処理を行う。
【００４６】
（Ｓ６０６）歪曲補正
パノラマ信号処理回路１４９は、現像後の画像に対して幾何学変換回路により、レンズの歪曲補正を行う。
（Ｓ６０７）円筒座標の仮想円筒半径算出
パノラマ信号処理回路１４９またはカメラ制御部１４２は、焦点距離と撮像面上の移動量により、円筒座標変換を行うための仮想円筒半径を算出する。
（Ｓ６０８）円筒座標変換
パノラマ信号処理回路１４９は、Ｓ６０７で算出された仮想円筒半径を用いて円筒座標変換を行う。
【００４７】
（Ｓ６０９）アフィン係数算出
パノラマ信号処理回路１４９はアフィン係数を算出する。例えば、動きベクトルを用いて異なる３点の特徴点１から３が検出される。特徴点１の座標を（ｘ１，ｙ１）、特徴点２の座標を（ｘ２，ｙ２）、特徴点３の座標を（ｘ３，ｙ３）と表記する。特徴点１が座標（ｘ１，ｙ１）から座標（ｕ１，ｖ１）に移動し、特徴点２が座標（ｘ２，ｙ２）から座標（ｕ２，ｖ２）に移動し、特徴点３が座標（ｘ３，ｙ３）から座標（ｕ３，ｖ３）に移動した場合を想定する。この場合、（１）式と（２）式の連立方程式が成り立つ。
【数１】
2019125880.tif 000003
連立方程式を解くことにより、アフィン係数ａ〜ｆを算出することができる。４点以上の特徴点が検出された場合には相互の距離が近い特徴点を除外して最小二乗法で正規化すればよい。
【００４８】
（Ｓ６１０）位置合わせ
パノラマ信号処理回路１４９内の位置合わせ回路は、Ｓ６０９で算出されたアフィン係数に基づいて、撮像された複数枚の画像の位置合わせを行う。
（Ｓ６１１）画像合成
パノラマ信号処理回路１４９内の合成回路は、Ｎ−１枚目の画像とＮ枚目の位置合わせ後の画像を合成する。尚、Ｎ枚目（Ｎ＞２）の処理を行っている場合には、これまでの合成結果と、Ｎ枚目の位置合わせ後の画像を合成する処理が行われる。撮像画像内に動体領域を含む場合、合成結果の品位低下を抑制するため、撮像画像の境界部分での合成比率を変更する処理が行われる。
【００４９】
（Ｓ６１２）撮影終了判断
カメラ制御部１４２は、撮影動作が継続していると判断した場合、Ｓ６０２に戻って引き続き処理を行う。また撮影動作が終了したと判断された場合にはＳ６１３に進む。
（Ｓ６１３）画像圧縮・保存
カメラ制御部１４２は、現像画像データをＪＰＥＧ（Joint Photographic Experts Group）形式等の汎用フォーマットのデータに圧縮し、外部メモリ（記録媒体）に画像データを保存する制御を行う。
【００５０】
次に図７を参照して、背景振れ補正制御について説明する。
（Ｓ７０１）露光時間取得
カメラ制御部１４２はプログラム線図に基づき、露光時間を取得する。
（Ｓ７０２）角速度取得
カメラ制御部１４２は角速度センサ１１１または１５２により検出された角速度を取得する。
【００５１】
（Ｓ７０３）連写速度閾値取得
カメラ制御部１４２はパノラマ画像を生成する過程で、画像の位置合わせや合成を行うことができる限界の連写速度閾値（例えば、５［毎／秒］）を取得する。
（Ｓ７０４）動きベクトル取得
カメラ制御部１４２は、動きベクトル検出部１４８により検出された、画像の動きベクトルを取得する。
【００５２】
（Ｓ７０５）動きベクトルの検出信頼度の判定
カメラ制御部１４２は、Ｓ７０４で取得した動きベクトルの検出信頼度を判定する。動きベクトルの検出信頼度は、動きベクトル検出部１４８による検出の確からしさを表す。例えばＥＶ３の低輝度な環境では、低コントラストの場合や、一面に続く真白な壁のような特徴的な模様がない場合等において検出信頼度が低くなる。検出信頼度が閾値以上である場合、Ｓ７０６に進み、検出信頼度が閾値未満である場合、Ｓ７０９に進む。
【００５３】
（Ｓ７０６）連写速度の閾値比較
カメラ制御部１４２は、動きベクトルを併用する第２の方法の場合に、Ｓ７０３で取得した連写速度（連続撮影の速度）閾値以上の連写速度の設定ができるか否かを判定する。閾値以上の連写速度の設定ができる場合、Ｓ７０７に進み、閾値以上の連写速度の設定ができない場合にはＳ７０９に進む。
（Ｓ７０７）背景ベクトル検出
背景角速度算出部１５１は、Ｓ７０２で取得された角速度と、Ｓ７０４で取得された動きベクトルからクラスタリングを行い、全ての動きベクトルから背景ベクトルを抽出する処理を行う。次にＳ７０８に進む。
【００５４】
（Ｓ７０８）背景角速度算出（第２の方法）
背景角速度算出部１５１は、焦点距離やフレームレート、撮像素子の画素ピッチの情報を用いて、Ｓ７０７で検出した背景ベクトルを、画素単位から角速度単位に換算して背景角速度を算出する。
（Ｓ７０９）背景角速度算出（第１の方法）
背景角速度算出部１５１は、Ｓ７０５で動きベクトルの検出精度が十分でなく検出信頼度が低い場合や、Ｓ７０６で閾値以上の連写速度が設定できない場合、Ｓ７０２で取得された角速度センサの出力のみで背景角速度を算出する。
【００５５】
（Ｓ７１０）積分
背景角速度取得部２２３は、Ｓ７０８またはＳ７０９で算出された背景角速度を取得する。背景振れ補正制御部１２２内の積分器２２５は減算器２２４の出力を積分し、制御判定部２０４は積分器２２５による積分値を採用する。こうして、シフトレンズ１０４を含む像ブレ補正系の指令値となる背景振れ補正量が算出される。
【００５６】
（Ｓ７１１）シフトレンズ駆動
レンズ制御部１１２は、Ｓ７１０で算出された背景振れ補正量に基づき、ドライバ１１３に制御信号を出力し、シフトレンズ１０４を駆動して背景振れを補正する。
本実施形態では、パノラマ撮影において背景角速度を正確に検出して像ブレ補正を行うことで、背景振れが抑制された綺麗なパノラマ画像を取得できる。
【００５７】
［第２実施形態］
次に、本発明の第２実施形態を説明する。本実施形態において、第１実施形態と同様の事項については説明を省略し、第１実施形態との相違点を主に説明する。本実施形態では、動きベクトルを併用して求めた背景角速度を選択して像ブレ補正を行う。ミラーやメカニカルシャッタ等の駆動機構部の作動による振動の影響を受けにくいので、背景振れ量をより正確に検出できる。撮像装置はフレームごとに検出された背景領域に対応する背景ベクトルから背景角速度を算出し、最小二乗法を用いて背景角速度を決定する。この際、連写の２回目以降において撮影間の駒間フレーム数によっては連写速度が低速になる場合がある。連写速度が低速になる程、パノラマ画像の位置合わせや合成の精度が低下することが懸念される。
【００５８】
動体をカメラで追いながら撮影を行う流し撮りと異なり、パノラマ撮影では、静止した被写体（例えば、風景や静止した建物）が主な撮像対象であるため、ユーザは安定してパンニングまたはチルティングを行い易い。本実施形態では、フレームごとに算出される背景角速度を監視し、その安定性の度合いに応じて連写の２回目以降の駒間フレーム数を変化させる制御を行う。
【００５９】
図８を参照して、背景角速度の安定性について説明する。横軸はフレームを表わし、縦軸は背景角速度をｄｐｓ（degree per second）単位で表わす。グラフ曲線８０１は、毎フレームで検出された背景角速度の変化を示している。あるフレームをＮと表記したときに、Ｎフレーム８０２と、その次のＮ＋１フレーム８０３を図示する。カメラ制御部１４２は、Ｎフレーム８０２での背景角速度と、Ｎ＋１フレーム８０３での背景角速度との差分８０４を算出し、差分値を閾値と比較する。閾値の大きさは、例えば３ｄｐｓ程度である。カメラ制御部１４２は、背景角速度の差分８０４の大きさが閾値未満である場合に安定と判定し、閾値以上である場合に不安定と判定する。
【００６０】
図９を参照して、背景角速度の安定性の度合いに基づいて、連写時の２回目以降に駒間フレーム数を変更する制御について説明する。本実施形態では、連続する撮像において背景の振れ量の変化が閾値未満である場合に動きベクトルの検出回数を変更する処理が行われる。図９は駒間フレーム、露光、シャッタ１３７の閉動作、レフレックスミラー１３２のミラーダウン動作の各期間を模式的に示す。駒間フレームの数は動きベクトルの検出回数に相当する。１回目の露光開始時点から２回目の露光開始時点までの期間を期間９０３に示す。期間９０３には、１回目の露光期間９０２と、複数の駒間フレームの期間９０１を示す。
【００６１】
カメラ制御部１４２は、背景角速度の安定性が十分でないと判断した場合、駒間フレーム総数（期間９０１参照）を所定数（例えば５駒）とし、背景角速度の安定性があると判断した場合には、駒間フレーム数を所定値より少ない値に設定する。背景角速度が不安定な状態では、撮影者がパンニングまたはチルティングの動作を速くしたり、遅くしたりしている。この場合、露光時に補正すべき背景振れ量を正しく算出するためには、最小二乗法で使用するサンプル数を多くする必要がある。カメラ制御部１４２は、以下の情報から、駒間フレーム数を決定する。
・１回目の露光期間９０２の長さ（露光時間）
・動きベクトルの検出期間に対応するフレームレート
・連写設定のシーケンスに基づく、期間９０３に対応する連写速度。
【００６２】
例えば、背景角速度が安定しており、露光時間が１／２５０［ｓ］の場合、駒間フレーム総数は２駒に設定される。フレームレート６０［ｆｐｓ］の場合には、約５０［ｍｓ］のシーケンスの短縮化に繋がるので、連写速度を上げることができる。
【００６３】
図１０のフローチャートを参照して、本実施形態の背景振れ補正制御について説明する。Ｓ１００１、Ｓ１００２の処理はそれぞれ、図７のＳ７０１、Ｓ７０２の処理と同じである。Ｓ１００３では、動きベクトル検出部１４８により検出された、撮像画像の動きベクトルが取得される。
【００６４】
Ｓ１００４では、Ｓ１００２で取得された角速度と、Ｓ１００３で取得された動きベクトルからクラスタリングを行い、検出された全ての動きベクトルから背景ベクトルを抽出する処理が行われる。Ｓ１００５では、焦点距離やフレームレート、撮像素子の画素ピッチの情報を用いて、Ｓ１００４で抽出された背景ベクトルが、画素単位から角速度単位へ換算されて、背景角速度が算出される。そして、以下に示すＳ１００６からＳ１０１０の処理が実行される。
【００６５】
（Ｓ１００６）画像合成信頼度取得
カメラ制御部１４２は、パノラマ画像を生成する過程で、画像の位置合わせや合成の信頼度を取得する。この信頼度は、露光時に画像の位置合わせや合成が成功するか否かを示す。信頼度は、Ｓ１００２で取得された角速度、またはＳ１００５で算出された背景角速度と、Ｓ１００３で検出された動きベクトルの検出信頼度に基づいて算出される。例えば、撮像装置の振れが、動きベクトルの検出最大値以上である場合、つまり角速度の検出値が所定の閾値以上である場合、画像の位置合わせの精度が十分でない可能性がある。この場合には、信頼度が低い値となる。
【００６６】
（Ｓ１００７）背景角速度の変化量の閾値判定
カメラ制御部１４２は、Ｓ１００５で算出された背景角速度をフレームごとに監視し、今回の背景角速度値と前回の背景角速度値との差分（変化量）の大きさが閾値未満であるか否かを判定する。背景角速度の差分の大きさが閾値未満である場合、撮影者により安定してパンニングまたはチルティングが行われていると判断され、Ｓ１００８の処理に進む。また、背景角速度の差分の大きさが閾値以上である場合、安定したパンニングまたはチルティングが行われていないと判断され、Ｓ１００９の処理に移行する。
【００６７】
（Ｓ１００８）駒間フレーム数変更
カメラ制御部１４２は、連続撮影時の２回目以降の駒間フレーム数を減少させる処理を実行する。つまり、動きベクトルの検出回数は、背景角速度の差分の大きさが閾値以上である場合の検出回数よりも低減される。
【００６８】
（Ｓ１００９）積分
背景角速度取得部２２３は、Ｓ１００５で算出された背景角速度を取得し、制御判定部２０４は積分器２２５による積分値を採用する。像ブレ補正系の指令値となる背景振れ補正量が算出される。
【００６９】
（Ｓ１０１０）シフトレンズ駆動
レンズ制御部１１２は、Ｓ１００９で算出された背景振れ補正量に基づいてシフトレンズ１０４を駆動して背景振れを補正する。
本実施形態によれば、連写速度を保ちつつ背景振れを精度良く検出して像ブレ補正を行い、パノラマ画像の画質を向上させることができる。
【符号の説明】
【００７０】
１０４  シフトレンズ
１１１  交換レンズ内の角速度センサ
１１２  レンズ制御部
１４２  カメラ制御部
１４８  動きベクトル検出部
１４９  パノラマ信号処理回路
１５２  カメラ本体部内の角速度センサ
【図１】
2019125880.tif 000004
【図２】
2019125880.tif 000005
【図３】
2019125880.tif 000006
【図４】
2019125880.tif 000007
【図５】
2019125880.tif 000008
【図６】
2019125880.tif 000009
【図７】
2019125880.tif 000010
【図８】
2019125880.tif 000011
【図９】
2019125880.tif 000012
【図１０】
2019125880.tif 000013