(57)【特許請求の範囲】
【請求項１】
撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置であって、
撮像素子で受光した被写体光を光電変換することによって画像データを得る撮像部と、
前記画像データの画像領域全体のうち、一部の画像領域を選択する画像領域選択部と、
前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出部と、
前記一部の画像領域を対象として、前記第１の位置ずれ検出部による位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出部と、
前記第１の位置ずれ検出部で検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正する第１の位置ずれ補正部と、
前記第２の位置ずれ検出部で検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正する第２の位置ずれ補正部と、
前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成する第１の合成部と、
前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成する第２の合成部と、
前記第１の合成画像および前記第２の合成画像を表示する表示部と、
を備え、
前記第２の位置ずれ検出部の位置ずれ検出精度は、前記第１の位置ずれ検出部の位置ずれ検出精度よりも高いことを特徴とする撮像装置。
【請求項２】
前記第１の位置ずれ検出部は、画像上の複数の位置に応じた複数の位置ずれを検出し、検出した複数の位置ずれに基づいて、代表となる１つの位置ずれを算出するものであって、前記代表となる１つの位置ずれを算出する際に、前記一部の画像領域における位置ずれの比重を、前記一部の画像領域以外の領域における位置ずれの比重よりも高くすることを特徴とする請求項１に記載の撮像装置。
【請求項３】
撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置であって、
撮像素子で受光した被写体光を光電変換することによって画像データを得る撮像部と、
前記画像データの画像領域全体のうち、一部の画像領域を選択する画像領域選択部と、
前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出部と、
前記一部の画像領域を対象として、前記第１の位置ずれ検出部による位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出部と、
前記第１の位置ずれ検出部で検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正する第１の位置ずれ補正部と、
前記第２の位置ずれ検出部で検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正する第２の位置ずれ補正部と、
前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成する第１の合成部と、
前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成する第２の合成部と、
前記第１の合成画像および前記第２の合成画像を表示する表示部と、
前記複数の画像に基づいて、前記一部の画像領域内の被写体の移動量を検出する移動量検出部と、
を備え、
前記第１の位置ずれ検出部は、前記移動量検出部によって検出された移動量が所定量よりも大きい場合、前記移動量が前記所定量以下の場合よりも位置ずれ検出精度の高い方法にて、前記複数の画像間の位置ずれを検出することを特徴とする撮像装置。
【請求項４】
撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置であって、
撮像素子で受光した被写体光を光電変換することによって画像データを得る撮像部と、
前記画像データの画像領域全体のうち、一部の画像領域を選択する画像領域選択部と、
前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出部と、
前記一部の画像領域を対象として、前記第１の位置ずれ検出部による位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出部と、
前記第１の位置ずれ検出部で検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正する第１の位置ずれ補正部と、
前記第２の位置ずれ検出部で検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正する第２の位置ずれ補正部と、
前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成する第１の合成部と、
前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成する第２の合成部と、
前記第１の合成画像および前記第２の合成画像を表示する表示部と、
前記複数の画像に基づいて、前記一部の画像領域の大きさを検出する大きさ検出部と、
を備え、
前記第１の位置ずれ検出部は、前記大きさ検出部によって検出された一部の画像領域の大きさが所定の大きさよりも大きい場合に、前記一部の画像領域の大きさが前記所定の大きさ以下の場合よりも位置ずれ検出精度の高い方法にて、前記複数の画像間の位置ずれを検出することを特徴とする撮像装置。
【請求項５】
動体を画像上で追尾する動体追尾部をさらに備え、
前記一部の画像領域は、前記動体追尾部によって追尾される動体の一部が少なくとも含まれる領域であることを特徴とする請求項１から請求項４のいずれか一項に記載の撮像装置。
【請求項６】
前記一部の画像領域は、拡大して表示する領域であることを特徴とする請求項１から請求項４のいずれか一項に記載の撮像装置。
【請求項７】
前記表示部は、前記第１の合成画像上に、前記第２の合成画像を拡大した画像を重畳させて表示することを特徴とする請求項６に記載の撮像装置。
【請求項８】
撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置を用いた撮像方法であって、
画像データの画像領域全体のうち、一部の画像領域を選択するステップと、
前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出ステップと、
前記一部の画像領域を対象として、前記第１の位置ずれ検出ステップにおける位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出ステップと、
前記第１の位置ずれ検出ステップで検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正するステップと、
前記第２の位置ずれ検出ステップで検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正するステップと、
前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成するステップと、
前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成するステップと、
前記第１の合成画像および前記第２の合成画像を表示するステップと、
を備え、
前記第２の位置ずれ検出ステップの位置ずれ検出精度は、前記第１の位置ずれ検出ステップの位置ずれ検出精度よりも高いことを特徴とする撮像方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像間の位置ずれを補正し、位置ずれ補正後の画像を合成して合成画像を生成する技術に関する。
【背景技術】
【０００２】
従来、異なる露出条件で撮像された複数の画像間の位置ずれを補正し、位置ずれ補正後の画像を合成することにより、ダイナミックレンジの広い画像を生成する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８１１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、複数の画像間の位置ずれを画一的な方法で補正しており、画像中の被写体領域を考慮した位置ずれ補正は行われていなかった。
【０００５】
本発明は、画像中の領域に応じた位置ずれ補正を行ってから、位置ずれ補正後の画像を合成して、合成画像を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のある態様に係る撮像装置は、撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置であって、撮像素子で受光した被写体光を光電変換することによって画像データを得る撮像部と、前記画像データの画像領域全体のうち、一部の画像領域を選択する画像領域選択部と、前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出部と、前記一部の画像領域を対象として、前記第１の位置ずれ検出部による位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出部と、前記第１の位置ずれ検出部で検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正する第１の位置ずれ補正部と、前記第２の位置ずれ検出部で検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正する第２の位置ずれ補正部と、前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成する第１の合成部と、前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成する第２の合成部と、前記第１の合成画像および前記第２の合成画像を表示する表示部と、を備え、前記第２の位置ずれ検出部の位置ずれ検出精度は、前記第１の位置ずれ検出部の位置ずれ検出精度よりも高い。
【０００７】
本発明の別の態様に係る撮像方法は、撮像により得られる複数の画像を合成して合成画像を生成することができる撮像装置を用いた撮像方法であって、画像データの画像領域全体のうち、一部の画像領域を選択するステップと、前記画像領域全体を対象として、前記複数の画像間の位置ずれを検出する第１の位置ずれ検出ステップと、前記一部の画像領域を対象として、前記第１の位置ずれ検出ステップにおける位置ずれ検出方法とは異なる位置ずれ検出方法にて、前記複数の画像間の位置ずれを検出する第２の位置ずれ検出ステップと、前記第１の位置ずれ検出ステップで検出された位置ずれに基づいて、前記画像領域全体を対象として、前記複数の画像間の位置ずれを補正するステップと、前記第２の位置ずれ検出ステップで検出された位置ずれに基づいて、前記一部の画像領域を対象として、前記複数の画像間の位置ずれを補正するステップと、前記画像領域全体を対象として位置ずれが補正された複数の画像を合成して、第１の合成画像を生成するステップと、前記一部の画像領域を対象として位置ずれが補正された複数の画像を合成して、第２の合成画像を生成するステップと、前記第１の合成画像および前記第２の合成画像を表示するステップと、を備え、前記第２の位置ずれ検出ステップの位置ずれ検出精度は、前記第１の位置ずれ検出ステップの位置ずれ検出精度よりも高い。
【発明の効果】
【０００８】
本発明によれば、画像中の領域に応じた位置ずれ補正を行ってから、位置ずれ補正後の画像を合成して、合成画像を生成することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における撮像装置であるデジタルスチルカメラの構成を示すブロック図である。
【図２】動きベクトル算出部の詳細な構成を示すブロック図である。
【図３】図３（ａ）〜図３（ｈ）は、フレーム全体の動きベクトルを算出する方法を説明するための図である。
【図４】注目画素の近傍に位置する１６個の動きベクトルＢ０〜Ｂ１５の一例を示す図である。
【図５】合成処理部によって、被写体輝度に応じた標準露光時間よりも短い露光時間で撮影された画像データと、標準露光時間よりも長い露光時間で撮影された画像データとを合成して、ダイナミックレンジの広い合成画像を生成する処理の流れを示す図である。
【図６】図６（ａ）、（ｂ）は、追尾対象の注目被写体の決定方法を説明するための図である。
【図７】第１の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。
【図８】追尾領域データを取得する処理の詳細を示すフローチャートである。
【図９】撮影者によって指定された注目被写体を含む追尾領域を示す図である。
【図１０】領域全体の合成画像と追尾領域の合成画像とを合成することによって得られた画像の一例を示す図である。
【図１１】フレーム全体の動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。
【図１２】局所動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。
【図１３】重み付き合成の詳細な処理を示すフローチャートである。
【図１４】相関係数値Ｋと合成比αとの関係を示す図である。
【図１５】図１５（ａ）は、二つの画像データを合成比α＝０．５で単純合成を行った場合の結果、図１５（ｂ）は、０．５より大きい合成比αで重み付き合成を行った場合の結果、図１５（ｃ）は、合成比α＝１で合成した場合の結果を示す図である。
【図１６】図１６（ａ）は、評価フレーム中の追尾領域を示す図であり、図１６（ｂ）は、追尾領域を含むブロックの動きベクトルの一例を示す図である。
【図１７】第３の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。
【図１８】第４の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。
【図１９】追尾領域の合成画像を拡大せずに、領域全体の合成画像上に重畳させて表示する方法の一例を示す図である。
【発明を実施するための形態】
【００１０】
−第１の実施形態−
図１は、第１の実施形態における撮像装置であるデジタルスチルカメラの構成を示すブロック図である。図１に示すデジタルスチルカメラは、カメラ本体１と交換式レンズ２から構成される。
【００１１】
交換式レンズ２は、レンズ１０１０と、Ｆｌａｓｈメモリ１０１１と、マイクロコンピュータ１０１２と、ドライバ１０１３と、絞り１０１４と、を有している。交換式レンズ２は、Ｉ／Ｆ９９９を介して、カメラ本体１と通信可能に接続されている。
【００１２】
カメラ本体１は、メカシャッター１０１と、撮像素子１０２と、アナログ処理部１０３と、アナログ/デジタル変換部１０４（以下、Ａ/Ｄ変換部１０４）と、バス１０５と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、画像圧縮伸長部１１０と、メモリインターフェース１１１（以下、メモリＩ/Ｆ１１１）と、記録媒体１１２と、ＬＣＤドライバ１１３と、ＬＣＤ１１４と、マイクロコンピュータ１１５と、操作部１１６と、Ｆｌａｓｈメモリ１１７と、振動センサ１１８と、動きベクトル算出部１１９と、合成処理部１２０と、動体追尾部１２１とを有している。
【００１３】
レンズ１０１０は、被写体の光学像を撮像素子１０２に集光させる。レンズ１０１０は、単焦点レンズであってもよいし、ズームレンズであってもよい。
【００１４】
マイクロコンピュータ１０１２は、Ｉ／Ｆ９９９、Ｆｌａｓｈメモリ１０１１、および、ドライバ１０１３と接続されていて、Ｆｌａｓｈメモリ１０１１に記憶されている情報の読み込み・書き込みを行うとともに、ドライバ１０１３を制御する。マイクロコンピュータ１０１２は、さらに、Ｉ／Ｆ９９９を介して、マイクロコンピュータ１１５と通信することができ、レンズの焦点距離情報などをマイクロコンピュータ１１５へ送信し、また、マイクロコンピュータ１１５から絞り値等の情報を受信する。
【００１５】
ドライバ１０１３は、マイクロコンピュータ１０１２の指示を受けて、レンズ１０１０を駆動させて、焦点距離やフォーカス位置の変更を行うとともに、絞り１０１４を駆動する。絞り１０１４は、レンズ１０１０の近傍に設けられ、被写体の光量を調節する。
【００１６】
メカシャッター１０１は、マイクロコンピュータ１１５の指示を受けて駆動し、撮像素子１０２に被写体を露光する時間を制御する。
【００１７】
撮像素子１０２は、各画素を構成するフォトダイオードの前面に、ベイヤー配列のカラーフィルタが配置された撮像素子である。ベイヤー配列は、水平方向にＲ画素とＧ（Ｇｒ）画素が交互に配置されたラインと、Ｇ（Ｇｂ）画素とＢ画素が交互に配置されたラインとを有し、さらにその２つのラインを垂直方向にも交互に配置することで構成されている。この撮像素子１０２は、レンズ１０１０により集光された光を、画素を構成するフォトダイオードで受光して光電変換することで、光の量を電荷量としてアナログ処理部１０３へ出力する。なお、撮像素子１０２は、ＣＭＯＳ方式のものでもＣＣＤ方式のものでも良い。
【００１８】
アナログ処理部１０３は、撮像素子１０２から読み出された電気信号（アナログ画像信号）に対し、リセットノイズ等を低減した上で波形整形を行い、さらに目的の明るさとなるように、ゲインアップを行う。Ａ/Ｄ変換部１０４は、アナログ処理部１０３から出力されたアナログ画像信号をデジタル画像信号（以後、画像データという）に変換する。
【００１９】
バス１０５は、デジタルカメラ内部で発生した各種データをデジタルカメラ内の各部に転送するための転送路である。バス１０５は、Ａ/Ｄ変換部１０４と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、画像圧縮伸長部１１０と、メモリＩ/Ｆ１１１と、ＬＣＤドライバ１１３と、マイクロコンピュータ１１５と、振動センサ１１８と、動きベクトル算出部１１９と、合成処理部１２０と、動体追尾部１２１に接続されている。
【００２０】
Ａ/Ｄ変換部１０４から出力される画像データは、バス１０５を介して一旦ＳＤＲＡＭ１０６に記憶される。ＳＤＲＡＭ１０６は、Ａ/Ｄ変換部１０４において得られた画像データや、画像処理部１０７、画像圧縮伸長部１１０、合成処理部１２０、動体追尾部１２１において処理された画像データ等の各種データが一時的に記憶される記憶部である。
【００２１】
画像処理部１０７は、ホワイトバランス補正部１０７１（以下、ＷＢ補正部１０７１）、同時化処理部１０７２、色再現処理部１０７３、および、ノイズ低減処理部１０７４（以下、ＮＲ処理部１０７４）を含み、ＳＤＲＡＭ１０６から読み出した画像データに対して様々な画像処理を施す。ＷＢ補正部１０７１は、画像データのホワイトバランスを補正する処理を行う。同時化処理部１０７２は、ベイヤー配列による画像データから、１画素あたりＲ、Ｇ、Ｂの情報からなる画像データへ同時化する処理を行う。色再現処理部１０７３は、画像の色味を変化させる色再現処理を行い、ＮＲ処理部１０７４は、ノイズを低減する処理を行う。ノイズ低減処理後の画像データは、ＳＤＲＡＭ１０６に記憶される。
【００２２】
振動センサ１１８は、いわゆる手ブレを含むカメラ本体１の動きを検出する。動きベクトル算出部１１９は、連続的な撮影により得られた複数の画像間の動きベクトルを算出する。動きベクトル算出部１１９の詳細な構成については、図２を用いて後述する。
【００２３】
合成処理部１２０は、連続的に撮影された複数の画像を合成する。特に、合成処理部１２０は、被写体輝度に応じた標準露光時間よりも短い露光時間で撮影された画像データと、標準露光時間よりも長い露光時間で撮影された画像データとを合成することによって、ダイナミックレンジの広い合成画像を生成する。
【００２４】
動体追尾部１２１は、動体である注目被写体を既知の方法により追尾する。追尾対象である注目被写体の決定方法については後述する。
【００２５】
ＡＥ処理部１０８は、画像データから被写体輝度を算出する。被写体輝度を算出するためのデータは、専用の測光センサの出力であってもよい。ＡＦ処理部１０９は、画像データから高周波成分の信号を取り出し、ＡＦ（Auto Focus）積算処理により、合焦評価値を取得する。
【００２６】
画像圧縮伸長部１１０は、静止画像データの記録時には、ＳＤＲＡＭ１０６から画像データを読み出し、読み出した画像データをＪＰＥＧ圧縮方式に従って圧縮して、圧縮したＪＰＥＧ画像データを、ＳＤＲＡＭ１０６に一旦記憶する。マイクロコンピュータ１１５は、ＳＤＲＡＭ１０６に記憶されたＪＰＥＧ画像データに対して、ＪＰＥＧファイルを構成するために必要なＪＰＥＧヘッダを付加してＪＰＥＧファイルを作成し、作成したＪＰＥＧファイルを、メモリＩ/Ｆ１１１を介して記録媒体１１２に記録する。
【００２７】
画像圧縮伸長部１１０は、また、動画データの記録時には、ＳＤＲＡＭ１０６から動画データを読み出し、読み出した動画データを、例えば、Ｈ．２６４方式に従って圧縮して、圧縮した動画データをＳＤＲＡＭ１０６に一旦記憶する。画像圧縮伸長部１１０は、さらに、マイクロコンピュータ１１５からの指令に基づいて、圧縮データを展開（伸長）する処理を行う。
【００２８】
記録媒体１１２は、例えばカメラ本体１に着脱可能なメモリカードからなる記録媒体であるが、これに限定されるものではない。
【００２９】
ＬＣＤドライバ１１３は、ＬＣＤ１１４に画像を表示させる。画像の表示には、撮影直後の画像データを短時間だけ表示するレックビュー表示、記録媒体１１２に記録されたＪＰＥＧファイルの再生表示、および、ライブビュー表示等の動画の表示が含まれる。記録媒体１１２に記録された圧縮データを再生する場合、画像圧縮伸長部１１０は、記録媒体１１２に記録されている圧縮データを読み出して展開（伸長）処理を施した上で、展開したデータを一旦ＳＤＲＡＭ１０６に記憶させる。ＬＣＤドライバ１１３は、伸張されたデータをＳＤＲＡＭ１０６から読み出し、読み出したデータを映像信号へ変換した後でＬＣＤ１１４へ出力して表示を行う。
【００３０】
後述するように、本実施形態では、画像中に追尾対象の被写体が存在する場合、画像をＬＣＤ１１４に表示する際に、追尾対象の被写体を拡大して重畳表示する。
【００３１】
制御部としての機能を有するマイクロコンピュータ１１５は、デジタルカメラ本体１の各種シーケンスを統括的に制御する。マイクロコンピュータ１１５には、操作部１１６およびＦｌａｓｈメモリ１１７が接続されている。
【００３２】
操作部１１６は、電源ボタン、レリーズボタン、各種入力キー等の操作部材である。ユーザによって、操作部１１６の何れかの操作部材が操作されることにより、マイクロコンピュータ１１５は、ユーザの操作に応じた各種シーケンスを実行する。電源ボタンは、当該デジタルカメラの電源のオン／オフ指示を行うための操作部材である。電源ボタンが押されると、当該デジタルカメラの電源がオンとなる。再度、電源ボタンが押されると、当該デジタルカメラの電源はオフとなる。レリーズボタンは、ファーストレリーズスイッチとセカンドレリーズスイッチの２段スイッチを有して構成されている。レリーズボタンが半押しされて、ファーストレリーズスイッチがオンされた場合に、マイクロコンピュータ１１５は、ＡＥ処理やＡＦ処理等の撮影準備シーケンスを行う。また、レリーズボタンが全押しされて、セカンドレリーズスイッチがオンされた場合に、マイクロコンピュータ１１５は、撮影シーケンスを実行して撮影を行う。
【００３３】
Ｆｌａｓｈメモリ１１７は、ホワイトバランス補正値やローパスフィルタ係数、デジタルカメラの動作に必要な各種パラメータや、デジタルスチルカメラを特定するための製造番号などを記憶している。また、Ｆｌａｓｈメモリ１１７は、マイクロコンピュータ１１５にて実行する各種プログラムも記憶している。マイクロコンピュータ１１５は、Ｆｌａｓｈメモリ１１７に記憶されているプログラムに従い、またＦｌａｓｈメモリ１１７から各種シーケンスに必要なパラメータを読み込み、各処理を実行する。
【００３４】
図２は、動きベクトル算出部１１９の詳細な構成を示すブロック図である。動きベクトル算出部１１９は、評価フレーム取得部２０と、輝度信号抽出部２１と、評価フレーム領域設定部２２と、比較フレーム取得部２３と、輝度信号抽出部２４と、比較フレーム領域設定部２５と、フレーム間相関処理部２６と、信頼度判定部２７と、領域別動きベクトル算出部２８と、フレーム全体動きベクトル算出部２９と、局所動きベクトル算出部３０とを備える。
【００３５】
ＳＤＲＡＭ１０６には、連続的に撮影された少なくとも２つの画像データが格納されている。この画像データは、例えば、被写体輝度に応じた標準露光時間よりも短い露光時間で撮影された画像データと、標準露光時間よりも長い露光時間で撮影された画像データである。評価フレーム取得部２０は、ＳＤＲＡＭ１０６に格納されている２つの画像データから、動きベクトルを算出する際に基準とする画像データを読み出す。基準とする画像データは、２つの画像データのうち、いずれの画像データでもよい。ここでは、基準とする画像データを評価フレームと呼ぶ。
【００３６】
輝度信号抽出部２１は、評価フレーム取得部２０で取得された評価フレームの輝度信号を抽出する。
【００３７】
評価フレーム領域設定部２２は、評価フレーム取得部２０で取得された評価フレームを所定の大きさのブロックに分割し、分割した複数のブロック内において、所定の大きさの領域を、動きベクトル算出領域に設定する。
【００３８】
図３（ａ）は、評価フレーム領域設定部２２によって複数のブロック３２に分割された評価フレーム３１の一例を示す図である。また、図３（ｃ）は、評価フレーム領域設定部２２によって、１つのブロック３２内に設定された動きベクトル算出領域３５の一例を示す図である。動きベクトル算出領域３５は、評価フレーム内の全てのブロック３２に対して設定する。
【００３９】
比較フレーム取得部２３は、ＳＤＲＡＭ１０６に格納されている複数の画像データから、評価フレームと比較する画像データを読み出す。この画像データは、評価フレームと合成するための画像データである。ここでは、評価フレームと比較する画像データを比較フレームと呼ぶ。
【００４０】
輝度信号抽出部２４は、比較フレーム取得部２３で取得された比較フレームの輝度信号を抽出する。
【００４１】
比較フレーム領域設定部２５は、比較フレーム取得部２３で取得された比較フレームを所定の大きさのブロックに分割するとともに、分割したブロックそのものを、動きベクトル算出領域と比較する比較領域に設定する。比較フレームを分割するブロックの大きさは、評価フレームを分割するブロックの大きさと同じとする。
【００４２】
図３（ｂ）は、比較フレーム領域設定部２５によって複数のブロック３４に分割された比較フレーム３３の一例を示す図であり、図３（ｄ）は、比較領域３４を示す図である。
【００４３】
フレーム間相関処理部２６は、評価フレーム３１の各ブロック３２ごとに、比較フレーム３３との間の相関を求める。ここでは、評価フレーム３１のブロック３２内に設定した動きベクトル算出領域３５を、そのブロック３２と対応する位置に存在する、比較フレーム３３の比較領域３４内で走査しながら相関係数値を演算する。図３（ｅ）は、動きベクトル算出領域３５を、比較フレーム３３の比較領域３４内で走査する様子を示す図である。相関係数値として、例えば、動きベクトル算出領域３５内における各画素の画素値と、比較領域３４内で動きベクトル算出領域３５と比較する領域の各画素の画素値との差分の絶対値和である誤差絶対値和ＳＡＤ(Sum of Absolute intensity Difference)を求める。ＳＡＤが小さいほど、相関関係が高く、ＳＡＤが大きいほど、相関関係が低い。
【００４４】
領域別動きベクトル算出部２８は、フレーム間相関処理部２６で演算された相関係数値のうち、最も値が小さい領域を、動きベクトル算出領域３５の移動先の領域と判断して、その移動量を、動きベクトル算出領域３５が含まれるブロック３２の動きベクトルとする。図３（ｆ）は、比較領域３４内において、動きベクトル算出領域３５に対応する領域３６から、相関係数値が最も小さい領域３７に向かう動きベクトル３８の一例を示す図である。
【００４５】
上述した動きベクトルの算出は、評価フレーム領域設定部２２で分割した全てのブロックに対して行う。図３（ｇ）は、全てのブロックに対して算出された動きベクトルの一例を示す図である。
【００４６】
信頼度判定部２７は、領域別動きベクトル算出部２８で算出された各ブロックの動きベクトルの信頼度を判定する。例えば、動きベクトルを求める際に算出した相関係数値が所定のしきい値以上の場合には、その動きベクトルの信頼度は低いと判定し、相関係数値が所定のしきい値未満の場合には、その動きベクトルの信頼度は高いと判定する。なお、信頼度の判定方法は、上述した方法に限定されることはなく、また、信頼度を２段階ではなく、３段階以上で判定してもよい。
【００４７】
フレーム全体動きベクトル算出部２９は、領域別動きベクトル算出部２８で算出された各ブロックの動きベクトルと、信頼度判定部２７で判定された信頼度に基づいて、フレーム全体の動きベクトルを算出する。ここでは、全てのブロック３２の動きベクトルのうち、信頼度が低いと判定された動きベクトルを除外した他の動きベクトルの平均ベクトルを、フレーム全体の動きベクトルとする。図３（ｈ）は、フレーム全体の動きベクトル３８の一例を示す図である。
【００４８】
なお、信頼度が低いと判定された動きベクトルの重みを低く、信頼度が高いと判定された動きベクトルの重みを高くして、全ての動きベクトルの重み付き加算平均演算を行い、演算によって得られた動きベクトルを、フレーム全体の動きベクトルとしてもよい。
【００４９】
また、全てのブロック３２の動きベクトルのうち、信頼度が低いと判定された動きベクトルを除外した他の動きベクトルを用いてヒストグラムを作成し、最も頻度の高い動きベクトルをフレーム全体の動きベクトルとしても構わない。
【００５０】
局所動きベクトル算出部３０は、領域別動きベクトル算出部２８で算出された各ブロックの動きベクトルに基づいて、例えば、Ｃｕｂｉｃ補間などの方法を用いて、各画素の動きベクトルを算出する。同様に、各画素の相関係数Ｋについても動きベクトル同様に算出する。本実施形態におけるＣｕｂｉｃ補間では、処理対象である注目画素の近傍に位置する１６個の動きベクトルを用いて、注目画素の動きベクトルを算出する。
【００５１】
図４は、注目画素４０の近傍に位置する１６個の動きベクトルＢ０〜Ｂ１５の一例を示す図である。注目画素４０の動きベクトルＢoutは、次式（１）の補間演算によって求められる。ただし、式（１）において、Ｋx0、Ｋx1、Ｋx2、Ｋx3、Ｋy0、Ｋy1、Ｋy2、Ｋy3は、注目画素４０の位置座標に応じて定まる補間係数である。
【００５２】
Ｂout＝Ｋx0（Ｋy0×Ｂ０＋Ｋy1×Ｂ４＋Ｋy2×Ｂ８＋Ｋy3×Ｂ１２）＋Ｋx1（Ｋy0×Ｂ１＋Ｋy1×Ｂ５＋Ｋy2×Ｂ９＋Ｋy3×Ｂ１３）＋Ｋx2（Ｋy0×Ｂ２＋Ｋy1×Ｂ６＋Ｋy2×Ｂ１０＋Ｋy3×Ｂ１４）＋Ｋx3（Ｋy0×Ｂ３＋Ｋy1×Ｂ７＋Ｋy2×Ｂ１１＋Ｋy3×Ｂ１５）                （１）
局所動きベクトル算出部３０は、評価フレーム３１の全ての画素について、上述した方法により、動きベクトルと相関係数値Ｋを算出する。ここでは、各画素の動きベクトルを総称して、局所動きベクトルと呼ぶ。局所動きベクトルの算出では、評価フレーム３１の全ての画素に対して動きベクトルを算出する必要があるため、フレーム全体の動きベクトルを算出する場合に比べて、処理時間が長くなる。ただし、局所動きベクトルの算出精度は、フレーム全体の動きベクトルの算出精度よりも高い。
【００５３】
図５は、合成処理部１２０によって、被写体輝度に応じた標準露光時間よりも短い露光時間（以下、短露光時間）で撮影された画像データと、標準露光時間よりも長い露光時間（以下、長露光時間）で撮影された画像データとを合成して、ダイナミックレンジの広い合成画像を生成する処理の流れを示す図である。本実施の形態における撮像装置は、ダイナミックレンジの広い合成画像を生成する処理モードが設定されている状態での動画撮影時や、ライブビュー表示時に、短露光時間での撮影と、長露光時間での撮影とを交互に繰り返し行う。
【００５４】
合成処理部１２０は、長露光時間で撮影された画像データ５１と、画像データ５１の次に得られる画像データであって、短露光時間で撮影された画像データ５２とを合成することによって、合成画像５７を生成する。また、画像データ５２の次に得られる画像データであって、長露光時間で撮影された画像データ５３と、画像データ５３の次に得られる画像データであって、短露光時間で撮影された画像データ５４とを合成することによって、合成画像５８を生成する。同様に、画像データ５４の次に得られる画像データであって、長露光時間で撮影された画像データ５５と、画像データ５５の次に得られる画像データであって、短露光時間で撮影された画像データ５６とを合成することによって、合成画像５９を生成する。
【００５５】
動体追尾部１２１が追尾処理を行う注目被写体の決定方法について説明する。図６は、追尾対象の注目被写体の決定方法を説明するための図である。ここでは、追尾対象の注目被写体を決定する方法を２通り説明する。
【００５６】
図６（ａ）は、デジタルスチルカメラのＬＣＤ１１４に表示されている画像の中から、ユーザがペン６１を用いて注目被写体６２をタッチすることによって、追尾対象の注目被写体を決定する方法を説明するための図である。すなわち、ＬＣＤ１１４はタッチパネルとなっており、ユーザは、追尾対象の注目被写体をタッチすることによって、追尾対象の注目被写体を決定する。
【００５７】
図６（ｂ）は、追尾対象の注目被写体６４がＬＣＤ１１４の中心にくるように画角を調整した後、所定の操作ボタン６５を操作することによって、追尾対象の注目被写体を決定する方法を説明するための図である。すなわち、所定の操作ボタン６５が操作されたときに、ＬＣＤ１１４の中心に位置している被写体が追尾対象の注目被写体となる。
【００５８】
図７は、第１の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。第１の実施形態における撮像装置は、短露光時間で撮影された画像データと、長露光時間で撮影された画像データとを合成することによって、ダイナミックレンジの広い合成画像を生成する処理を行う。また、動体追尾部１２１で追尾する注目被写体が存在する場合には、異なる露光時間で撮影された複数の画像データのうち、追尾領域の画像データを合成し、合成により得られた追尾領域の画像データを拡大して、画像領域全体の合成画像データに重畳させて表示する処理を行う。以下では、追尾対象の注目被写体が存在するものとして説明する。
【００５９】
ステップＳ１０では、ＡＦ処理およびＡＥ処理を行う。具体的には、まず、ＡＦ処理部１０９において、合焦評価値を算出する。マイクロコンピュータ１１５は、合焦評価値に基づいて、レンズ１０１０を駆動させる指令をドライバ１０１３に出す。ドライバ１０１３は、この指令に基づいて、レンズ１０１０を駆動させて、焦点距離やフォーカス位置の変更を行う。ＡＥ処理では、ＡＥ処理部１０８において、被写体輝度を算出し、算出した被写体輝度に基づいて、Ｆｌａｓｈメモリ１１７に記憶されている露出条件決定テーブルを参照することにより、撮影時のＩＳＯ感度、絞り、および露光時間を決定する。ただし、ステップＳ１０の処理で用いる露出条件決定テーブルでは、被写体輝度に応じた標準の露光時間よりも短い露光時間が定められている。
【００６０】
ステップＳ２０では、撮影を行う。撮影（動画撮影）に関しては、従来から用いられている手法と同様である。ドライバ１０１３は、マイクロコンピュータ１０１２の指示に基づいて、設定された絞り値になるように絞り１０１４を駆動させる。そして、決定した露光時間に基づいて撮影を行い、決定したＩＳＯ感度に応じた画像データを得る。ここでは、この画像データを第１の画像データと呼ぶ。
【００６１】
ステップＳ３０では、合成処理部１２０において、ステップＳ２０の撮影により得られた第１の画像データ（ＲＡＷデータ）をＳＤＲＡＭ１０６から読み込む。
【００６２】
ステップＳ４０では、露光条件を変えて撮影を行うために、ＡＦ処理およびＡＥ処理を再び行う。ＡＦ処理は、ステップＳ１０の処理と同じであるが、ＡＥ処理では、被写体輝度に応じた標準の露光時間よりも長い露光時間が定められた露出条件決定テーブルを用いる。
【００６３】
ステップＳ５０では、撮影（動画撮影）を行う。この撮影により得られた画像データを、第２の画像データと呼ぶ。
【００６４】
ステップＳ６０では、合成処理部１２０において、ステップＳ５０の撮影により得られた第２の画像データ（ＲＡＷデータ）をＳＤＲＡＭ１０６から読み込む。
【００６５】
ステップＳ７０からステップＳ９０までの処理は、画像領域全体を対象とする処理である。一方、ステップＳ１００からステップＳ１４０までの処理は、追尾対象の注目被写体を含む追尾領域を対象とする処理である。ステップＳ７０からステップＳ９０までの処理と、ステップＳ１００からステップＳ１４０までの処理は、並列に同時に行ってもよいし、どちらかの処理を優先して行ってもよい。
【００６６】
ステップＳ７０では、動きベクトル算出部１１９のフレーム全体動きベクトル算出部２９において、ステップＳ３０で読み込んだ第１の画像データと、ステップＳ６０で読み込んだ第２の画像データとの間のフレーム全体の動きベクトルを算出する。
【００６７】
ステップＳ８０では、合成処理部１２０において、第１の画像データと第２の画像データとを合成する。ここでは、ステップＳ７０で算出したフレーム全体動きベクトルに基づいて、第１の画像データと第２の画像データとの間の位置ずれを補正した後、位置ずれ補正後の第１の画像データおよび第２の画像データを、同一の合成比（合成比α＝０．５）で合成する単純合成処理を行う。フレーム全体の動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細については、図１１に示すフローチャートを用いて後述する。
【００６８】
ステップＳ９０では、画像処理部１０７において、ステップＳ８０で生成された合成画像データに対して、ホワイトバランス補正処理、同時化処理、色再現処理、ノイズ低減処理などの様々な画像処理を施す。
【００６９】
一方、ステップＳ１００では、動体追尾部１２１において、ステップＳ３０で読み込んだ第１の画像データから、追尾領域の画像データを取得する。ここでは、第１の画像データから取得する追尾領域の画像データを、第１の追尾領域データと呼ぶ。画像データから、追尾領域データを取得する処理の詳細を図８に示すフローチャートを用いて説明する。
【００７０】
図６を用いて説明したように、撮影者は、ＬＣＤ１１４に表示される画像上において、追尾処理を希望する被写体を指定することができる。ステップＳ８１０では、撮影者によって指定された注目被写体の情報を取得する。ここでは、画像上で撮影者によって指定された位置の画素情報を取得する。
【００７１】
ステップＳ８２０では、追尾領域の設定情報を読み込む。撮影者は、画像上の注目被写体を指定した後、追尾領域の大きさを決定することができる。具体的には、画像上の注目被写体の大きさを考慮して、予め用意されている複数の大きさの追尾領域枠の中から、適切な大きさの追尾領域枠を選択する。選択する追尾領域枠は、追尾対象である注目被写体を含む大きさであることが好ましい。ステップＳ８２０では、撮影者によって選択された追尾領域枠の設定情報を読み込む。
【００７２】
ステップＳ８３０では、撮影者によって指定された注目被写体を中心として、撮影者によって選択された追尾領域枠を設定し、設定した追尾領域内の画像情報を取得する。図９は、撮影者によって指定された注目被写体９０を含む追尾領域９１を示す図である。この場合、追尾領域９１内の画像情報が取得される。
【００７３】
図７に示すフローチャートに戻って説明を続ける。ステップＳ１１０では、動体追尾部１２１において、ステップＳ６０で読み込んだ第２の画像データから、追尾領域の画像データを取得する。ここでは、この画像データを第２の追尾領域データと呼ぶ。画像データから追尾領域データを取得する処理については、図８に示すフローチャートと同様な方法で取得する。
【００７４】
なお、第２の画像データから追尾領域データを取得する際、第１の追尾領域を図３における動きベクトル算出領域３５とし、第１の追尾領域を元に所定のサイズ（例えば、±１００ピクセル）で設定した領域を図３における比較領域３４と考えることで、それらの動きベクトルから第２の追尾領域を割り出し、第２の追尾領域データを取得してもよい。
【００７５】
ステップＳ１２０では、動きベクトル算出部１１９の局所動きベクトル算出部３０において、ステップＳ１００で取得した第１の追尾領域データと、ステップＳ１１０で取得した第２の追尾領域データとの間の局所動きベクトルを算出する。
【００７６】
ステップＳ１３０では、合成処理部１２０において、第１の追尾領域データと第２の追尾領域データとを合成する。ここでは、ステップＳ１２０で算出した局所動きベクトルに基づいて、第１の追尾領域データと第２の追尾領域データとの間の位置ずれを補正した後、位置ずれ補正後の第１の追尾領域データおよび第２の追尾領域データを、それぞれの重みに応じた合成比率で合成する重み付き合成を行う。局所動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細については、図１２に示すフローチャートを用いて後述する。
【００７７】
ステップＳ１４０では、画像処理部１０７において、ステップＳ１３０で生成した合成画像データに対して、ホワイトバランス補正処理、同時化処理、色再現処理、ノイズ低減処理などの様々な画像処理を施す。
【００７８】
ステップＳ１５０では、合成処理部１２０において、ステップＳ９０で画像処理が施された領域全体の合成画像と、ステップＳ１４０で画像処理が施された追尾領域の合成画像とを合成する。ここでは、ステップＳ１４０で画像処理が施された追尾領域の合成画像が所定の大きさとなるように拡大した後、ステップＳ９０で求めた合成画像の所定の位置で合成する。
【００７９】
図１０は、ステップＳ９０で画像処理が施された領域全体の合成画像と、ステップＳ１４０で画像処理が施された追尾領域の合成画像とを合成することによって得られた画像１００の一例を示す図である。図１０では、追尾対象が車１０１であり、車を含む領域１０２が追尾領域に設定されている。追尾領域１０２の画像は、所定の大きさとなるように拡大され、拡大後の画像１０３が画像１００の右下の位置で合成されている。合成位置における拡大画像１０３の合成比は１とする。
【００８０】
ステップＳ１６０では、合成画像データが動画データであるか、または、ライブビュー画像データであるかを判定する。ここで、動画データとは、記録媒体１１２に記録するための動画データである。動画データであると判定すると、ステップＳ１７０に進む。
【００８１】
ステップＳ１７０では、画像圧縮伸長部１１０において、合成画像データを所定の動画圧縮形式に従って圧縮する。ステップＳ１８０では、圧縮されたデータに対して、動画ファイルを構成するために必要なヘッダを付加した後、メモリＩ/Ｆ１１１を介して記録媒体１１２に記録する。
【００８２】
なお、ステップＳ１６０で合成画像データが動画データであると判定した後に、合成画像データに対して、表示用の画像処理を施してからＬＣＤ１１４に表示するようにしてもよい。
【００８３】
ステップＳ１６０において、合成画像データがライブビュー画像データであると判定すると、ステップＳ１９０に進む。ステップＳ１９０では、合成画像データに対して、ライブビュー表示用の画像サイズに変更する処理など、ライブビュー表示用の画像処理を施す。ステップＳ２００では、ライブビュー表示用の画像処理が施された画像データを、ＬＣＤ１１４に表示させる。
【００８４】
図１１は、図７に示すフローチャートのステップＳ８０の処理、すなわち、フレーム全体の動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。
【００８５】
ステップＳ１１００では、フレーム全体の動きベクトル（ｘ、ｙ）を取得する。例えば、動きベクトル算出部１１９のフレーム全体動きベクトル算出部２９によって算出されたフレーム全体の動きベクトルをＳＤＲＡＭ１０６に記憶させておき、ＳＤＲＡＭ１０６から、フレーム全体の動きベクトル（ｘ，ｙ）を読み込む。
【００８６】
ステップＳ１１１０では、処理対象画素の位置座標を示すパラメータｉ，ｊをそれぞれ０に初期化する。パラメータｉは、画像データのｘ軸方向の位置座標を表し、パラメータｊは、ｙ軸方向の位置座標を表す。
【００８７】
ステップＳ１１２０では、第１の画像データから、画素（ｉ，ｊ）の画素値を読み込む。
【００８８】
ステップＳ１１３０では、第２の画像データにおいて、画素（ｉ，ｊ）を動きベクトル（ｘ、ｙ）だけずらした画素（ｉ＋ｘ，ｊ＋ｙ）が第２の画像データ上に存在するか否かを判定する。画素（ｉ＋ｘ，ｊ＋ｙ）が第２の画像データ上に存在すると判定すると、ステップＳ１１４０に進み、存在しないと判定すると、ステップＳ１１５０に進む。
【００８９】
ステップＳ１１４０では、第２の画像データから、画素（ｉ＋ｘ，ｊ＋ｙ）の画素値を読み込む。
【００９０】
一方、ステップＳ１１５０では、第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）の画素値を（０，０）に設定する。
【００９１】
ステップＳ１１６０では、第２の画像データの画素値が（０，０）の場合には、合成比αを１．０とし、それ以外は合成比αを０．５とした上で、第１の画像データの画素（ｉ，ｊ）と、第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）とを、その合成比αで合成する単純合成処理を行う。
【００９２】
ステップＳ１１７０では、パラメータｉに１を加算する。
【００９３】
ステップＳ１１８０では、パラメータｉが第１の画像データのｘ軸方向の画素数Ｍ以上であるか否かを判定する。パラメータｉがＭ未満であると判定するとステップＳ１１２０に戻り、Ｍ以上であると判定すると、ステップＳ１１９０に進む。
【００９４】
ステップＳ１１９０では、パラメータｉを０に設定するとともに、パラメータｊに１を加算する。
【００９５】
ステップＳ１２００では、パラメータｊが第１の画像データのｙ軸方向の画素数Ｎ以上であるか否かを判定する。パラメータｊがＮ未満であると判定するとステップＳ１１２０に戻り、Ｎ以上であると判定すると、フローチャートの処理を終了する。
【００９６】
図１２は、図７に示すフローチャートのステップＳ１３０の処理、すなわち、局所動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。図１１に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【００９７】
ステップＳ１１１０において、処理対象画素の位置座標を示すパラメータｉ，ｊをそれぞれ０に初期化すると、ステップＳ１２１０に進む。ステップＳ１２１０では、画素（ｉ，ｊ）の動きベクトル（ｘ，ｙ）を取得する。ただし、画素（ｉ，ｊ）は、追尾領域データ内の画素である。例えば、動きベクトル算出部１１９の局所動きベクトル算出部３０によって算出された各画素の動きベクトルをＳＤＲＡＭ１０６に記憶させておき、ＳＤＲＡＭ１０６から、画素（ｉ，ｊ）の動きベクトル（ｘ，ｙ）を読み込む。
【００９８】
ステップＳ１２１０に続くステップＳ１１２０Ａでは、第１の追尾領域データから、画素（ｉ，ｊ）の画素値を読み込む。
【００９９】
ステップＳ１１３０Ａでは、第２の追尾領域データにおいて、画素（ｉ，ｊ）を動きベクトル（ｘ、ｙ）だけずらした画素（ｉ＋ｘ，ｊ＋ｙ）が第２の追尾領域データ上に存在するか否かを判定する。画素（ｉ＋ｘ，ｊ＋ｙ）が第２の追尾領域データ上に存在すると判定すると、ステップＳ１１４０Ａに進み、存在しないと判定すると、ステップＳ１１５０Ａに進む。
【０１００】
ステップＳ１１４０Ａでは、第２の追尾領域データから、画素（ｉ＋ｘ，ｊ＋ｙ）の画素値を読み込む。
【０１０１】
ステップＳ１１５０Ａでは、第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）の画素値を（０，０）に設定する。
【０１０２】
ステップＳ１１６０Ａでは、第１の追尾領域データの画素（ｉ，ｊ）と、第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）とを合成する。上述したように、図７に示すフローチャートのステップＳ１３０では、重み付き合成を行う。重み付き合成の詳細な処理については、図１３に示すフローチャートを用いて後述する。
【０１０３】
ステップＳ１１７０以後の処理は、図１１に示すフローチャートの処理と同じである。
【０１０４】
重み付き合成の詳細な処理について、図１３に示すフローチャートを用いて説明する。図１３に示すフローチャートのステップＳ１３１０では、処理対象画素（ｉ，ｊ）の相関係数値Ｋを取得する。
【０１０５】
ステップＳ１３２０では、ステップＳ１３１０で取得した相関係数値Ｋに基づいて、合成比αを算出する。
【０１０６】
図１４は、相関係数値Ｋと合成比αとの関係を示す図である。図１４において、ＴＨは所定のしきい値であり、Ｋ_maxは相関係数値Ｋとして取り得る最大値である。図１４に示すように、相関係数値Ｋが所定のしきい値ＴＨ以下の場合には、合成比αは０．５であり、相関係数値Ｋが所定のしきい値ＴＨよりも大きくなると、合成比αも０．５より大きくなる。ただし、第２の画像データの画素値が（０，０）の場合には、相関係数値Ｋによらず合成比αを１．０とする。
【０１０７】
Ｆｌａｓｈメモリ１１７には、相関係数値Ｋと合成比αとの関係を定めたテーブルが格納されており、このテーブルを参照することによって、合成比αを算出する。
【０１０８】
ステップＳ１３３０では、次式（２）によって、第１の追尾領域データの画素（ｉ，ｊ）と、第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）とを合成する。ただし、Ａは、第１の追尾領域データの画素（ｉ，ｊ）の画素値、Ｂは第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）の画素値、Ｃは、合成後の画素の画素値である。
【０１０９】
Ｃ＝α×Ａ＋（１−α）×Ｂ                      （２）
図１４および式（２）から分かるように、第１の追尾領域データの画素（ｉ，ｊ）と、第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）との間の相関が高く、相関係数値Ｋが所定のしきい値ＴＨ以下の場合には、同一の合成比（合成比α＝０．５）で合成する単純合成処理が行われる。一方、相関係数値Ｋが所定のしきい値ＴＨより大きくなると、第１の画像データの画素（ｉ，ｊ）を合成する比重を大きくして、第２の追尾領域データの画素（ｉ＋ｘ，ｊ＋ｙ）の影響を小さくする。
【０１１０】
図１５は、二つの画像データの間の位置ずれを補正した後でも、自動車の像の位置ずれが残っている状態で、合成処理を行った場合の合成画像の例を示す図である。図１５（ａ）は、合成比α＝０．５で単純合成を行った場合の結果、図１５（ｂ）は、０．５より大きい合成比αで重み付き合成を行った場合の結果、図１５（ｃ）は、合成比α＝１で合成した場合の結果である。図１５（ａ）と図１５（ｂ）とを比較して分かるように、０．５より大きい合成比αで重み付き合成を行った場合には、単純合成を行った場合に比べて、像ブレが軽減される。また、合成比αを１にした場合には、合成比αを１とした画像データだけが用いられることになり、像ブレは無くなる。
【０１１１】
以上、第１の実施形態における撮像装置によれば、画像データの画像領域全体を対象として、複数の画像間の位置ずれを検出し、検出した位置ずれに基づいて、画像領域全体を対象として複数の画像間の位置ずれを補正して、第１の合成画像を生成する。また、一部の画像領域を対象として、画像領域全体を対象とする位置ずれ検出方法とは異なる位置ずれ検出方法にて、複数の画像間の位置ずれを検出し、検出した位置ずれに基づいて、一部の画像領域を対象として複数の画像間の位置ずれを補正して、第２の合成画像を生成する。そして、第１の合成画像と第２の合成画像とを同一の画面上に表示する。これにより、注目被写体が含まれる一部の画像領域に対する位置ずれ検出を、画像領域全体に対する位置ずれ検出とは異なる方法を用いて行うことができるので、被写体が含まれる領域に適した位置ずれ検出を行うことができる。
【０１１２】
特に、第１の実施形態における撮像装置によれば、一部の画像領域を対象とする位置ずれ検出の精度は、画像領域全体を対象とする位置ずれ検出の精度よりも高いので、注目被写体が含まれる一部の画像領域の位置ずれを精度良く行うことができる。また、画像領域全体の位置ずれは、一部の画像領域の位置ずれ検出よりも精度の低い方法を用いて行うので、位置ずれ検出の演算量を減らして、画像表示に要する時間を短縮することができる。
【０１１３】
−第２の実施形態−
第１の実施形態における撮像装置において、フレーム全体動きベクトル算出部２９は、評価フレームの複数のブロックごとに算出された動きベクトルのうち、信頼度が低いと判定された動きベクトルを除外した他の動きベクトルの平均ベクトルを、フレーム全体の動きベクトルとした。第２の実施形態における撮像装置では、信頼度が低いと判定された動きベクトルを除外した他の動きベクトルのうち、追尾領域を含むブロックの動きベクトルの重みを高くして、フレーム全体の動きベクトルを算出する。ここでは、第２の実施形態におけるフレーム全体動きベクトル算出部の符号を２９Ａとする。
【０１１４】
図１６（ａ）は、評価フレーム中の追尾領域を示す図であり、図１６（ｂ）は、追尾領域を含むブロックの動きベクトルの一例を示す図である。ただし、図１６（ａ）、（ｂ）では、画像を複数のブロックに分割した状態を示している。
【０１１５】
図１６（ａ）では、動体追尾部１２１による追尾対象が移動している車であり、車を含む領域１３０、１３１が追尾領域となる。なお、図１６（ａ）では、説明のため、第１の時刻における車を含む追尾領域１３０とともに、第１の時刻より後の時刻における車を含む追尾領域１３１も１つの画像上に示している。
【０１１６】
フレーム全体動きベクトル算出部２９Ａは、第１の実施形態におけるフレーム全体動きベクトル算出部２９と同様に、評価フレームの複数のブロックごとに算出された動きベクトルのうち、信頼度が低いと判定された動きベクトルを除外した他の動きベクトルを用いて、フレーム全体の動きベクトルを算出する。ただし、フレーム全体動きベクトル算出部２９Ａは、追尾領域を含むブロックの動きベクトルの重みを高くして、信頼度が低いと判定された動きベクトルを除外した他の全ての動きベクトルの重み付き加算平均演算を行い、演算によって得られた動きベクトルを、フレーム全体の動きベクトルとする。
【０１１７】
なお、ヒストグラムを用いてベクトルを算出する場合には、追尾領域を含むブロックの動きベクトルにおける頻度を水増ししてカウントすることで、追尾領域の比重を高めたフレーム全体の動きベクトルを算出することができる。図１６に示す例では、追尾領域１３０、１３１を含む６つのブロック１３２〜１３７（図１６（ｂ）参照）の動きベクトルの重みが高くなる。
【０１１８】
以上、第２の実施形態における撮像装置によれば、画像領域全体を対象とする位置ずれを検出する際に、画像上の複数の位置に応じた複数の位置ずれを検出し、検出した複数の位置ずれのうち、一部の画像領域における位置ずれの比重を、一部の画像領域以外の領域における位置ずれの比重よりも高くして、代表となる１つの位置ずれを検出する。これにより、画像領域全体の位置ずれ補正を行う場合でも、注目被写体を重視した位置ずれ補正を行うことができので、合成画像において、注目被写体の像ブレを低減することができる。
【０１１９】
−第３の実施形態−
第１の実施形態における撮像装置では、画像領域全体を対象として、複数の画像間の位置ずれを検出する場合、フレーム全体動きベクトル算出部２９によって、フレーム全体の動きベクトルを算出した。第３の実施形態における撮像装置では、画像領域全体を対象として、複数の画像間の位置ずれを検出する場合でも、動体追尾部１２１の追尾対象である被写体の移動量が所定量Ｌｔｈより大きい場合には、高精度な位置合わせを行うために、局所動きベクトル算出部３０によって、局所動きベクトルを算出する。
【０１２０】
図１７は、第３の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。図７に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１２１】
ステップＳ１７００からステップＳ９０までの処理は、画像領域全体を対象とする処理である。ステップＳ１７００では、マイクロコンピュータ１１５において、追尾対象である被写体の移動量を算出する。動体追尾部１２１は、動体追尾処理を行うため、追尾対象である被写体の動きベクトルを算出する。従って、ステップＳ１７００では、動体追尾部１２１で算出された動きベクトルに基づいて、被写体の移動量を算出する。
【０１２２】
ステップＳ１７１０では、マイクロコンピュータ１１５において、ステップＳ１７００で算出した被写体の移動量が所定量Ｌｔｈより大きいか否かを判定する。被写体の移動量が所定量Ｌｔｈ以下であると判定すると、ステップＳ７０に進み、フレーム全体動きベクトル算出部２９によって、ステップＳ３０で読み込んだ第１の画像データと、ステップＳ６０で読み込んだ第２の画像データとの間のフレーム全体の動きベクトルを算出する。一方、被写体の移動量が所定量Ｌｔｈより大きいと判定するとステップＳ１７２０に進む。
【０１２３】
ステップＳ１７２０では、動きベクトル算出部１１９の局所動きベクトル算出部３０において、ステップＳ３０で読み込んだ第１の画像データと、ステップＳ６０で読み込んだ第２の画像データとの間の局所動きベクトルを算出する。局所動きベクトルの算出方法は説明済みのため、ここでは詳しい説明を省略する。
【０１２４】
ステップＳ１７３０では、ステップＳ１７２０で算出した局所動きベクトルに基づいて、第１の画像データと第２の画像データとの間の位置ずれを補正した後、位置ずれ補正後の第１の画像データおよび第２の画像データを、それぞれの重みに応じた合成比率で合成する重み付き合成を行う。局所動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細については、図１２に示すフローチャートを用いて説明済みのため、ここでは詳しい説明を省略する。
【０１２５】
以上、第３の実施形態における撮像装置によれば、一部の画像領域内の被写体の移動量が所定量Ｌｔｈよりも大きい場合に、移動量が所定量Ｌｔｈ以下の場合よりも位置ずれ検出精度の高い方法にて、複数の画像間の位置ずれを検出する。これにより、注目被写体の移動量が大きくて、合成画像上の像ブレが目立ちやすい状況下でも、複数の画像間の位置ずれを精度良く求めて、合成画像上の被写体の像ブレを低減することができる。
【０１２６】
−第４の実施形態−
第１の実施形態における撮像装置では、画像領域全体を対象として、複数の画像間の位置ずれを検出する場合、フレーム全体動きベクトル算出部２９によって、フレーム全体の動きベクトルを算出した。第４の実施形態における撮像装置では、画像領域全体を対象として、複数の画像間の位置ずれを検出する場合でも、追尾領域の大きさＳが所定の大きさＳｔｈより大きい場合には、高精度な位置合わせを行うために、局所動きベクトル算出部３０によって、局所動きベクトルを算出する。
【０１２７】
図１８は、第４の実施形態における撮像装置によって行われる合成画像生成処理の手順を示すフローチャートである。図７および図１７に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１２８】
ステップＳ１８００からステップＳ９０までの処理は、画像領域全体を対象とする処理である。ステップＳ１８００では、マイクロコンピュータ１１５において、動体追尾部１２１によって設定される追尾領域の大きさＳを取得する。上述したように、撮影者は、画像上で追尾対象である注目被写体を指定するとともに、予め用意されている複数の大きさの追尾領域枠の中から、適切な大きさの追尾領域枠を選択する。ここでは、撮影者によって選択された追尾領域枠の大きさＳの情報を取得する。
【０１２９】
ステップＳ１８１０では、マイクロコンピュータ１１５において、ステップＳ１８００で算出した追尾領域の大きさＳが所定の大きさＳｔｈより大きいか否かを判定する。追尾領域の大きさＳが所定の大きさＳｔｈ以下であると判定するとステップＳ７０に進み、フレーム全体動きベクトル算出部２９によって、ステップＳ３０で読み込んだ第１の画像データと、ステップＳ６０で読み込んだ第２の画像データとの間のフレーム全体の動きベクトルを算出する。一方、追尾領域の大きさＳが所定の大きさＳｔｈより大きいと判定すると、ステップＳ１７２０に進む。ステップＳ１７２０およびステップＳ１７３０の処理は、図１７に示すフローチャートのステップＳ１７２０およびステップＳ１７３０の処理と同じである。
【０１３０】
以上、第４の実施形態における撮像装置によれば、一部の画像領域の大きさが所定の大きさＳｔｈよりも大きい場合に、一部の画像領域の大きさが所定の大きさＳｔｈ以下の場合よりも位置ずれ検出精度の高い方法にて、複数の画像間の位置ずれを検出する。これにより、注目被写体が大きくて、合成画像上の像ブレが目立ちやすい状況下でも、複数の画像間の位置ずれを精度良く求めて、合成画像上の被写体の像ブレを低減することができる。
【０１３１】
なお、上述した第１〜第４の実施形態の説明では、撮像装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、撮像装置は、ＣＰＵ、ＲＡＭ等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを撮像プログラムと呼ぶ。そして、ＣＰＵが上記記憶媒体に記憶されている撮像プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の撮像装置と同様の処理を実現させる。
【０１３２】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、この撮像プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該撮像プログラムを実行するようにしても良い。
【０１３３】
本発明は、上述した第１〜第４の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、第２の実施形態で説明したフレーム全体動きベクトルの算出方法を、第３および第４の実施形態における撮像装置に適用することもできる。
【０１３４】
また、第３の実施形態における特徴と、第４の実施形態における特徴とを組み合わせてもよい。すなわち、被写体の移動量が所定量Ｌｔｈより大きいか、または、追尾領域の大きさＳが所定の大きさＳｔｈより大きい場合に、画像データ間の動きベクトルとして、局所動きベクトルを求めるようにしてもよい。
【０１３５】
また、第３の実施形態における撮像装置では、追尾対象である被写体の移動量が所定量Ｌｔｈより大きい場合に、画像データ間の動きベクトルとして、局所動きベクトルを求めたが、局所動きベクトルに限定されることはない。すなわち、追尾対象である被写体の移動量が所定量Ｌｔｈ以下の場合よりも精度の高い方法で、動きベクトルを求めることができればよい。
【０１３６】
同様に、第４の実施形態における撮像装置でも、追尾領域の大きさが所定の大きさＳｔｈより大きい場合に、画像データ間の動きベクトルとして、局所動きベクトルを求めたが、追尾領域の大きさが所定の大きさＳｔｈ以下の場合よりも精度の高い方法で動きベクトルを求めるのであれば、局所動きベクトルに限定されることはない。
【０１３７】
上述した各実施形態では、追尾領域の合成画像データを拡大して、画像領域全体の合成画像データに重畳させて表示する処理を行った（図１０参照）。しかし、追尾領域の合成画像データを拡大せずに、画像領域全体の合成画像データと合成するようにしてもよい。合成位置は、追尾領域の位置とし、合成位置における追尾領域画像データの合成比は１とする。また、追尾領域の合成画像データは、例えば、矩形の枠で表示する。図１９は、追尾領域の合成画像を拡大せずに、領域全体の合成画像上に重畳させて表示する方法の一例を示す図である。領域全体の合成画像１９０に対して、追尾対象である車１９１を含む追尾領域の合成画像１９２が合成されており、合成画像１９２は、矩形の枠１９３で囲まれて表示されている。
【符号の説明】
【０１３８】
１…カメラ本体
２…交換式レンズ
１０１…メカシャッター
１０２…撮像素子
１０３…アナログ処理部
１０４…アナログ/デジタル変換部
１０６…ＳＤＲＡＭ
１０７…画像処理部
１０８…ＡＥ処理部
１０９…ＡＦ処理部
１１０…画像圧縮伸長部
１１２…記録媒体
１１４…ＬＣＤ
１１５…マイクロコンピュータ
１１７…Ｆｌａｓｈメモリ
１１９…動きベクトル算出部
１２０…合成処理部
１２１…動体追尾部
２９…フレーム全体動きベクトル算出部
３０…局所動きベクトル算出部
【図２】
0005548023.tif 000002
【図４】
0005548023.tif 000003
【図７】
0005548023.tif 000004
【図１１】
0005548023.tif 000005
【図１２】
0005548023.tif 000006
【図１３】
0005548023.tif 000007
【図１４】
0005548023.tif 000008
【図１７】
0005548023.tif 000009
【図１８】
0005548023.tif 000010
【図１】
0005548023.tif 000011
【図３】
0005548023.tif 000012
【図５】
0005548023.tif 000013
【図６】
0005548023.tif 000014
【図８】
0005548023.tif 000015
【図９】
0005548023.tif 000016
【図１０】
0005548023.tif 000017
【図１５】
0005548023.tif 000018
【図１６】
0005548023.tif 000019
【図１９】
0005548023.tif 000020