(57)【要約】【課題】常に同じ組み合わせで画像を合成すると、撮像時のフレームレートによっては、合成画像の表示が不自然になる。【解決手段】露光時間の異なる複数の画像を合成して合成画像を生成する際に、複数の画像を撮像する際のフレームレートに応じて、合成する画像の組み合わせを設定し、設定した組み合わせにて、複数の画像を合成して、合成画像を生成する（Ｓ５０、Ｓ６０、Ｓ７０、Ｓ８０、Ｓ９０）。【選択図】図６
2012010307.tif 000002
【特許請求の範囲】
【請求項１】
露光時間の異なる複数の画像を合成して合成画像を生成することができる撮像装置であって、
撮像素子で受光した被写体光を光電変換することによって画像データを生成する撮像部と、
前記撮像部が複数の画像を撮像する際のフレームレートに応じて、合成する画像の組み合わせを設定する設定部と、
前記設定部で設定された組み合わせにて、前記露光時間の異なる複数の画像を合成して、合成画像を生成する合成部と、
を備えることを特徴とする撮像装置。
【請求項２】
前記撮像部は、露光時間の長い画像と露光時間の短い画像とが交互に得られるように撮像を行い、
前記設定部は、前記フレームレートが第１の閾値以上の場合には、露光時間の長い画像と露光時間の短い画像とが常に同じ順序で合成されるように組み合わせを設定し、前記フレームレートが前記第１の閾値より低い場合には、露光時間の長い画像と露光時間の短い画像とを撮像により得られた順序で互い違いに合成されるように組み合わせを設定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
露光時間の長い画像を対象として、第１の時間に得られた第１の画像、および、前記第１の時間よりも後の第２の時間に得られた第２の画像に基づいて、前記第１の時間および前記第２の時間の間である第３の時間に得られたと想定される第３の画像を生成するとともに、露光時間の短い画像を対象として、第４の時間に得られた第４の画像、および、前記第４の時間よりも後の第５の時間に得られた第５の画像に基づいて、前記第４の時間および前記第５の時間の間である第６の時間に得られたと想定される第６の画像を生成する中間画像生成部をさらに備え、
前記設定部は、前記フレームレートが前記第１の閾値より低い第２の閾値よりも低い場合には、前記中間画像生成部で生成された画像と、露光時間の長い画像および露光時間の短い画像のうちの一方の画像とが常に同じ順序で合成されるように組み合わせを設定することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記フレームレートに応じて、合成対象である複数の画像間の位置ずれを検出する際に用いる位置ずれ検出方法を決定する位置ずれ検出方法決定部と、
前記位置ずれ検出方法決定部によって決定された位置ずれ検出方法で、合成対象である複数の画像間の位置ずれを検出する位置ずれ検出部と、
前記位置ずれ検出部によって検出された位置ずれに基づいて、合成対象である複数の画像間の位置ずれを補正する位置ずれ補正部と、
をさらに備え、
前記合成部は、前記位置ずれ補正部によって位置ずれが補正された複数の画像を合成して、前記合成画像を生成する、
ことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記位置ずれ検出方法決定部は、前記フレームレートが前記第１の閾値以上の場合には、位置ずれ検出を行わないことを決定し、前記フレームレートが前記第１の閾値より低く、かつ、前記第２の閾値以上の場合には、位置ずれ検出方法を第１の位置ずれ検出方法に決定し、前記フレームレートが前記第２の閾値より低い場合には、位置ずれ検出方法を前記第１の位置ずれ検出方法よりも位置ずれ検出精度の高い第２の位置ずれ検出方法に決定する、ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
撮像時の焦点距離を取得する焦点距離取得部と、
前記焦点距離取得部によって取得された焦点距離に基づいて、前記第１の閾値および前記第２の閾値を補正する閾値補正部と、
をさらに備えることを特徴とする請求項３から請求項５のいずれか一項に記載の撮像装置。
【請求項７】
撮像により得られた露光時間の異なる複数の画像を合成して合成画像を生成する撮像方法であって、
撮像素子で受光した被写体光を光電変換することによって画像データを取得する手順と、
前記複数の画像を撮像する際のフレームレートに応じて、合成する画像の組み合わせを設定する手順と、
設定された組み合わせにて、複数の画像を合成して、合成画像を生成する手順と、
を備えることを特徴とする撮像方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる露光時間で撮像された複数の画像を合成して合成画像を生成する技術に関する。
【背景技術】
【０００２】
従来、異なる露出条件で撮像された複数の画像間の位置ずれを補正し、位置ずれ補正後の画像を合成することにより、ダイナミックレンジの広い画像を生成する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８１１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、露光時間の長い画像と露光時間の短い画像とを合成する際に、常に同じ組み合わせで画像を合成すると、撮像時のフレームレートによっては、合成画像の表示が不自然になるという問題が生じる。
【０００５】
本発明は、撮像時のフレームレートに応じて、合成する画像の組み合わせを設定して、合成画像を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のある態様に係る撮像装置は、露光時間の異なる複数の画像を合成して合成画像を生成することができる撮像装置であって、撮像素子で受光した被写体光を光電変換することによって画像データを生成する撮像部と、前記撮像部が複数の画像を撮像する際のフレームレートに応じて、合成する画像の組み合わせを設定する設定部と、前記設定部で設定された組み合わせにて、前記露光時間の異なる複数の画像を合成して、合成画像を生成する合成部と、を備える。
【０００７】
本発明の別の態様に係る撮像方法は、撮像により得られた露光時間の異なる複数の画像を合成して合成画像を生成する撮像方法であって、撮像素子で受光した被写体光を光電変換することによって画像データを取得する手順と、前記複数の画像を撮像する際のフレームレートに応じて、合成する画像の組み合わせを設定する手順と、設定された組み合わせにて、複数の画像を合成して、合成画像を生成する手順と、を備える。
【発明の効果】
【０００８】
本発明によれば、撮像時のフレームレートが異なる場合でも、合成画像を自然に表示することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における撮像装置であるデジタルスチルカメラの構成を示すブロック図である。
【図２】長露光画像データと短露光画像データとを互い違いに合成することによって、合成画像を生成する方法を説明するための図である。
【図３】長露光画像データと短露光画像データとを同じ組み合わせで合成することによって、合成画像を生成する方法を説明するための図である。
【図４】１フレームおきに得られる長露光（または短露光）画像データの中間の画像データを生成し、生成した中間画像データも用いて、長露光画像データと短露光画像データとを同じ組み合わせで合成することによって、合成画像を生成する方法を説明するための図である。
【図５】合成方法（Ａ）、（ｂ）、（ｃ）と、撮像画像入力時のフレームレートとの関係を示す図である。
【図６】第１の実施形態における撮像装置であるデジタルスチルカメラによって行われる撮像処理の手順を示すフローチャートである。
【図７】合成方法（Ｃ）の詳細な処理内容を示すフローチャートである。
【図８】合成方法（Ａ）の詳細な処理内容を示すフローチャートである。
【図９】合成方法（Ｂ）の詳細な処理内容を示すフローチャートである。
【図１０】第２の実施形態における動きベクトル算出部の詳細な構成を示すブロック図である。
【図１１】図１１（ａ）〜（ｈ）は、フレーム全体の動きベクトルを算出する方法を説明するための図である。
【図１２】注目画素の近傍に位置する１６個の動きベクトルＢ０〜Ｂ１５の一例を示す図である。
【図１３】第２の実施形態における撮像装置において、合成方法（Ｃ）の詳細な処理内容を示すフローチャートである。
【図１４】局所動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。
【図１５】重み付き合成の詳細な処理を示すフローチャートである。
【図１６】相関係数値Ｋと合成比αとの関係を示す図である。
【図１７】第１の画像データと第２の画像データとの間の位置ずれを補正した後でも、画像中の自動車の像の位置ずれが残っている状態で、合成処理を行った場合の合成画像の例を示す図である。
【図１８】第２の実施形態における撮像装置において、合成方法（Ａ）の詳細な処理内容を示すフローチャートである。
【図１９】第２の実施形態における撮像装置において、フレーム全体の動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細を示すフローチャートである。
【図２０】第２の実施形態における撮像装置において、合成方法（Ｂ）の詳細な処理内容を示すフローチャートである。
【図２１】第３の実施形態における撮像装置であるデジタルスチルカメラによって行われる撮像処理の手順を示すフローチャートである。
【図２２】第４の実施形態における撮像装置であるデジタルスチルカメラによって行われる撮像処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
−第１の実施形態−
図１は、第１の実施形態における撮像装置であるデジタルスチルカメラの構成を示すブロック図である。図１に示すデジタルスチルカメラは、カメラ本体１と交換式レンズ２から構成される。
【００１１】
交換式レンズ２は、レンズ１０１０と、Ｆｌａｓｈメモリ１０１１と、マイクロコンピュータ１０１２と、ドライバ１０１３と、絞り１０１４と、を有している。交換式レンズ２は、Ｉ／Ｆ９９９を介して、カメラ本体１と通信可能に接続されている。
【００１２】
カメラ本体１は、メカシャッター１０１と、撮像素子１０２と、アナログ処理部１０３と、アナログ/デジタル変換部１０４（以下、Ａ/Ｄ変換部１０４）と、バス１０５と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、画像圧縮伸長部１１０と、メモリインターフェース１１１（以下、メモリＩ/Ｆ１１１）と、記録媒体１１２と、ＬＣＤドライバ１１３と、ＬＣＤ１１４と、マイクロコンピュータ１１５と、操作部１１６と、Ｆｌａｓｈメモリ１１７と、振動検出センサ１１８と、動きベクトル算出部１１９と、合成処理部１２０とを有している。
【００１３】
レンズ１０１０は、被写体の光学像を撮像素子１０２に集光させる。レンズ１０１０は、単焦点レンズであってもよいし、ズームレンズであってもよい。
【００１４】
マイクロコンピュータ１０１２は、Ｉ／Ｆ９９９、Ｆｌａｓｈメモリ１０１１、および、ドライバ１０１３と接続されていて、Ｆｌａｓｈメモリ１０１１に記憶されている情報の読み込み・書き込みを行うとともに、ドライバ１０１３を制御する。マイクロコンピュータ１０１２は、さらに、Ｉ／Ｆ９９９を介して、マイクロコンピュータ１１５と通信することができ、レンズの焦点距離情報などをマイクロコンピュータ１１５へ送信し、また、マイクロコンピュータ１１５から絞り値等の情報を受信する。
【００１５】
ドライバ１０１３は、マイクロコンピュータ１０１２の指示を受けて、レンズ１０１０を駆動させて、焦点距離やフォーカス位置の変更を行うとともに、絞り１０１４を駆動する。絞り１０１４は、レンズ１０１０の近傍に設けられ、被写体の光量を調節する。
【００１６】
メカシャッター１０１は、マイクロコンピュータ１１５の指示を受けて駆動し、撮像素子１０２に被写体を露光する時間を制御する。
【００１７】
撮像素子１０２は、各画素を構成するフォトダイオードの前面に、ベイヤー配列のカラーフィルタが配置された撮像素子である。ベイヤー配列は、水平方向にＲ画素とＧ（Ｇｒ）画素が交互に配置されたラインと、Ｇ（Ｇｂ）画素とＢ画素が交互に配置されたラインとを有し、さらにその２つのラインを垂直方向にも交互に配置することで構成されている。この撮像素子１０２は、レンズ１０１０により集光された光を、画素を構成するフォトダイオードで受光して光電変換することで、光の量を電荷量としてアナログ処理部１０３へ出力する。なお、撮像素子１０２は、ＣＭＯＳ方式のものでもＣＣＤ方式のものでも良い。
【００１８】
アナログ処理部１０３は、撮像素子１０２から読み出された電気信号（アナログ画像信号）に対し、リセットノイズ等を低減した上で波形整形を行い、さらに目的の明るさとなるように、ゲインアップを行う。Ａ/Ｄ変換部１０４は、アナログ処理部１０３から出力されたアナログ画像信号をデジタル画像信号（以後、画像データという）に変換する。
【００１９】
バス１０５は、デジタルカメラ内部で発生した各種データをデジタルカメラ内の各部に転送するための転送路である。バス１０５は、Ａ/Ｄ変換部１０４と、ＳＤＲＡＭ１０６と、画像処理部１０７と、ＡＥ処理部１０８と、ＡＦ処理部１０９と、画像圧縮伸長部１１０と、メモリＩ/Ｆ１１１と、ＬＣＤドライバ１１３と、マイクロコンピュータ１１５と、振動検出センサ１１８と、動きベクトル算出部１１９と、合成処理部１２０に接続されている。
【００２０】
Ａ/Ｄ変換部１０４から出力される画像データは、バス１０５を介して一旦ＳＤＲＡＭ１０６に記憶される。ＳＤＲＡＭ１０６は、Ａ/Ｄ変換部１０４において得られた画像データや、画像処理部１０７、画像圧縮伸長部１１０、合成処理部１２０において処理された画像データ等の各種データが一時的に記憶される記憶部である。
【００２１】
画像処理部１０７は、ホワイトバランス補正部１０７１（以下、ＷＢ補正部１０７１）、同時化処理部１０７２、色再現処理部１０７３、および、ノイズ低減処理部１０７４（以下、ＮＲ処理部１０７４）を含み、ＳＤＲＡＭ１０６から読み出した画像データに対して様々な画像処理を施す。ＷＢ補正部１０７１は、画像データのホワイトバランスを補正する処理を行う。同時化処理部１０７２は、ベイヤー配列による画像データから、１画素あたりＲ、Ｇ、Ｂの情報からなる画像データへ同時化する処理を行う。色再現処理部１０７３は、画像の色味を変化させる色再現処理を行い、ＮＲ処理部１０７４は、ノイズを低減する処理を行う。ノイズ低減処理後の画像データは、ＳＤＲＡＭ１０６に記憶される。
【００２２】
振動検出センサ１１８は、いわゆる手ブレを含むカメラ本体１の動きを検出する。動きベクトル算出部１１９は、連続的な撮影により得られた複数の画像間の動きベクトルを算出する。
【００２３】
合成処理部１２０は、連続的に撮影された複数の画像を合成する。特に、合成処理部１２０は、被写体輝度に応じた標準露光時間よりも短い露光時間で撮影された画像データ（以下、短露光画像データと呼ぶ）と、標準露光時間よりも長い露光時間で撮影された画像データ（以下、長露光画像データと呼ぶ）とを合成することによって、ダイナミックレンジの広い合成画像を生成する。また、合成処理部１２０は、合成処理を行う前に、必要に応じて複数の画像間の位置ずれを補正する。
【００２４】
本実施形態において、合成処理部１２０は、撮影時のフレームレートに応じて、短露光画像データと長露光画像データとを合成する際の合成方法、特に、合成する画像データの組み合わせを変更する。以下では、異なる３種類の合成方法（Ａ）、（Ｂ）、（Ｃ）についてそれぞれ説明する。
【００２５】
（Ａ）露光時間の異なる２つの画像データを互い違いに合成する方法
図２は、長露光画像データと短露光画像データとを互い違いに合成することによって、合成画像データを生成する方法を説明するための図である。長露光画像データと短露光画像データとを合成することによって合成画像を生成するモードでは、長露光時間での撮影と、短露光時間での撮影とが交互に行われる。図２において、画像データ２１〜２５は、連続的な撮像により得られる画像データであって、画像データ２１、２３、２５は長露光画像データであり、画像データ２２、２４は、短露光画像データである。
【００２６】
長露光時間での撮影が先に行われる場合、長露光画像データ２１と短露光画像データ２２とを合成することによって、合成画像ｖ２６を生成する。続いて、短露光画像データ２２と長露光画像データ２３とを合成することによって、合成画像データ２７を生成する。以後、長露光画像データ２３と短露光画像データ２４とを合成することによって、合成画像データ２８を生成し、短露光画像データ２４と長露光画像データ２５とを合成することによって、合成画像データ２９を生成する。
【００２７】
すなわち、長露光画像データと短露光画像データとの合成、および、短露光画像データと長露光画像データとの合成が交互におこなわれる。この合成方法によれば、合成画像出力時のフレームレートを、撮像画像入力時のフレームレートと同一にすることができる。しかし、長露光時間での撮影と短露光時間での撮影との間の間隔、および、短露光時間での撮影と長露光時間での撮影との間の間隔が異なるため、合成画像をＬＣＤ１１４に表示する際に、動画（記録用動画およびライブビュー画像を含む）の表示が不自然になる場合がある。このため、この合成方法（Ａ）は、撮像画像の入力フレームレートが低い場合に用いることは好ましくなく、入力フレームレートが高い場合に用いることが好ましい。
【００２８】
（Ｂ）露光時間の異なる２つの画像データを同じ組み合わせで合成する方法
図３は、長露光画像データと短露光画像データとを同じ組み合わせで合成することによって、合成画像データを生成する方法を説明するための図である。図３において、画像データ３１〜３５は、連続的な撮像により得られる画像データであって、画像データ３１、３３、３５は長露光画像データであり、画像データ３２、３４は短露光画像データである。
【００２９】
長露光時間での撮影が先に行われる場合、長露光画像データ３１と短露光画像データ３２とを合成することによって、合成画像データ３６が生成される。続いて、長露光画像データ３３と短露光画像データ３４とを合成することによって、合成画像データ３７が生成される。
【００３０】
すなわち、同じ組み合わせで、長露光画像データと短露光画像データとの合成が繰り返し行われる。図３に示す例では、長露光時間での撮影が先に行われているが、短露光時間での撮影を先に行って、短露光画像データと長露光画像データとの合成を繰り返し行うようにしてもよい。なお、長露光画像データと短露光画像データとの露光間隔が短い組合せで合成すると、時間差が小さくなり好ましい。この合成方法（Ｂ）によれば、上記合成方法（Ａ）と異なり、露光間隔の違いはないものの、合成画像出力時のフレームレートが撮像画像入力時のフレームレートの半分となってしまうため、合成画像をＬＣＤ１１４に表示する際に、動画の表示が不自然になる場合がある。従って、この合成方法（Ｂ）は、撮像画像の入力フレームレートが低い場合に用いることは好ましくなく、入力フレームレートが高い場合に用いることが好ましい。
【００３１】
（Ｃ）中間画像データを内挿して合成する方法
図４は、１フレームおきに得られる長露光（および短露光）画像データの中間の画像データを生成し、生成した中間画像データも用いて、長露光画像データと短露光画像データとを同じ組み合わせで合成することによって、合成画像データを生成する方法を説明するための図である。図４において、画像データ４１〜４５は、連続的な撮像により得られる画像データであって、画像データ４１、４３、４５は長露光画像データであり、画像データ４２、４４は短露光画像データである。
【００３２】
この方法では、まず始めに、長露光画像データ４１および長露光画像データ４３に基づいて、長露光画像データ４１と長露光画像データ４３の間に撮像されたと仮定した場合の長露光画像データ（中間画像データ）５１を生成する。連続的に撮像された２枚の画像データに基づいて、時間的にそれら２枚の間に撮像されたと仮定した場合の中間画像データは、既知の方法により生成することができる。生成された中間画像データ５１と短露光画像データ４２とを合成することによって、合成画像データ５５を生成する。
【００３３】
続いて、短露光画像データ４２および短露光画像データ４４に基づいて、短露光画像データ４２と短露光画像データ４４の間に撮像されたと仮定した場合の短露光画像データ（中間画像データ）５３を生成する。長露光画像データ４３と、生成された中間画像データ５３とを合成することによって、合成画像データ５６を生成する。
【００３４】
続いて、長露光画像データ４３および長露光画像データ４５に基づいて、長露光画像データ４３と長露光画像データ４５の間に撮像されたと仮定した場合の長露光画像データ（中間画像データ）５２を生成する。生成された中間画像データ５２と短露光画像データ４４とを合成することによって、合成画像データ５７を生成する。
【００３５】
この合成方法（Ｃ）によれば、上記合成方法（Ａ）で生じるような露光間隔の違いはなく、また、合成画像出力時のフレームレートは、撮像画像入力時のフレームレートと同一となる。ただし、合成画像をＬＣＤ１１４に表示する際に、数フレーム（図４に示す例では、１フレーム）遅れることに加え、長露光画像データおよび短露光画像データのそれぞれに対して中間画像データを生成する処理が必要になるため、処理負荷が大きくなる。
【００３６】
従って、合成方法（Ｃ）は、撮像画像の入力フレームレートが低い場合に用いることが好ましく、入力フレームレートが高い場合に用いることは好ましくない。
【００３７】
上述した合成方法（Ａ）、（Ｂ）、（Ｃ）のデメリットは、撮像画像入力時のフレームレートと関連しており、まとめると、図５のように表すことができる。図５において、入力フレームレートは、「低速」、「高速」、「超高速」の３段階に区分けされており、入力フレームレートに対する各合成方法の相性を◎、○、△、×の４段階で表している。◎が最も相性が良く、以下、○、△、×の順に相性が悪くなる。ここで、相性とは、合成処理により得られる動画をＬＣＤ１１４に表示した際に、自然に表示されるか否かを意味しており、◎が最も自然に表示されることを表している。
【００３８】
図５に示すように、合成方法（Ａ）は、入力フレームレートが「高速」または「超高速」の場合に用いることが好ましい。また、合成方法（Ｂ）は、入力フレームレートが「超高速」の場合に用いることが好ましく、合成方法（Ｃ）は、入力フレームレートが「低速」の場合に用いることが好ましい。
【００３９】
図１に戻って説明を続ける。ＡＥ処理部１０８は、画像データから被写体輝度を算出する。被写体輝度を算出するためのデータは、専用の測光センサの出力であってもよい。ＡＦ処理部１０９は、画像データから高周波成分の信号を取り出し、ＡＦ（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は相関係数値Ｋとして取り得る最大値である。図１６に示すように、相関係数値Ｋが所定のしきい値ＴＨ以下の場合には、合成比αは０．５であり、相関係数値Ｋが所定のしきい値ＴＨよりも大きくなると、合成比αも０．５より大きくなる。ただし、第２の画像データの画素値が（０，０）の場合には、相関係数値Ｋによらず合成比αを１．０とする。Ｆｌａｓｈメモリ１１７には、相関係数値Ｋと合成比αとの関係を定めたテーブルが格納されており、このテーブルを参照することによって、合成比αを算出する。
【０１５９】
ステップＳ１５３０では、次式（２）によって、第１の画像データの画素（ｉ，ｊ）と、第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）とを合成する。ただし、Ａは、第１の画像データの画素（ｉ，ｊ）の画素値、Ｂは第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）の画素値、Ｃは、合成後の画素の画素値である。
【０１６０】
Ｃ＝α×Ａ＋（１−α）×Ｂ                      （２）
図１６および式（２）から分かるように、第１の画像データの画素（ｉ，ｊ）と、第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）との間の相関が高く、相関係数値Ｋが所定のしきい値ＴＨ以下の場合には、同一の合成比（合成比α＝０．５）で合成する単純合成処理が行われる。一方、相関係数値Ｋが所定のしきい値ＴＨより大きくなると、第１の画像データの画素（ｉ，ｊ）を合成する比重を大きくして、第２の画像データの画素（ｉ＋ｘ，ｊ＋ｙ）の影響を小さくする。
【０１６１】
図１７は、第１の画像データと第２の画像データとの間の位置ずれを補正した後でも、画像中の自動車の像の位置ずれが残っている状態で、合成処理を行った場合の合成画像の例を示す図である。図１７（ａ）は、合成比α＝０．５で単純合成を行った場合の結果、図１７（ｂ）は、０．５より大きい合成比αで重み付き合成を行った場合の結果、図１７（ｃ）は、合成比α＝１で合成した場合の結果である。図１７（ａ）と図１７（ｂ）とを比較して分かるように、０．５より大きい合成比αで重み付き合成を行った場合には、単純合成を行った場合に比べて、像ブレが軽減される。また、合成比αを１にした場合には、第１の画像データだけが用いられることになり、像ブレは無くなる。
【０１６２】
図１３に示すフローチャートに戻って説明を続ける。ステップＳ７８５に続くステップＳ１３２０では、ステップＳ７８５で生成された中間画像データ（長露光画像データ）と、直近に得られた短露光画像データとの間の局所動きベクトルを算出する。
【０１６３】
ステップＳ１３３０では、ステップＳ１３２０で算出した局所動きベクトルに基づいて、ステップＳ７８５で生成された中間画像データ（長露光画像データ）と、直近に得られた短露光画像データとの間の位置ずれを補正した後、位置ずれ補正後の中間画像データおよび短露光画像データを、それぞれの重みに応じた合成比率で合成する重み付き合成を行う。この処理は、ステップＳ１３１０の処理と同じである。
【０１６４】
図１８は、第２の実施形態における撮像装置において、図６に示すフローチャートのステップＳ７０でフレームレートＦＲが閾値ＴＨ２より低いと判定した後に行う処理、すなわち、ステップＳ８０Ａの処理内容を示すフローチャートである。このフローチャートは、合成方法（Ａ）の合成処理の詳細な処理内容を示しており、図８に示すフローチャートに対応するものである。図１８に示すフローチャートにおいて、図８に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１６５】
図１８に示すフローチャートが図８に示すフローチャートと異なるのは、ステップＳ１８００の処理が追加されていることと、ステップＳ１８１０の合成処理の内容である。
【０１６６】
ステップＳ８７５に続くステップＳ１８００では、長露光画像データと短露光画像データとの間のフレーム全体の動きベクトルを算出する。フレーム全体の動きベクトルの算出は、動きベクトル算出部１１９のフレーム全体動きベクトル算出部１５９によって行われる。
【０１６７】
ステップＳ１８１０では、ステップＳ１８００で算出したフレーム全体の動きベクトルに基づいて、長露光画像データと短露光画像データとの間の位置ずれを補正した後、位置ずれ補正後の長露光画像データおよび短露光画像データを、同一の合成比（合成比α＝０．５）で合成する単純合成処理を行う。フレーム全体の動きベクトルに基づいて位置ずれを補正してから、画像データを合成する処理の詳細については、図１９に示すフローチャートを用いて説明する。
【０１６８】
なお、図１９に示すフローチャートでも、説明の便宜上、合成対象の２つの画像データをそれぞれ、第１の画像データ、第２の画像データと呼ぶ。長露光画像データと短露光画像データとを合成する場合、第１の画像データは、長露光画像データであり、第２の画像データは、短露光画像データである。また、短露光画像データと長露光画像データとを合成する場合、第１の画像データは、短露光画像データであり、第２の画像データは、長露光画像データである。
【０１６９】
図１９に示すフローチャートにおいて、図１４に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１７０】
ステップＳ１９００では、フレーム全体の動きベクトル（ｘ，ｙ）を取得して、ステップＳ１４００に進む。例えば、動きベクトル算出部１１９のフレーム全体動きベクトル算出部１５９によって算出されたフレーム全体の動きベクトルをＳＤＲＡＭ１０６に記憶させておき、ＳＤＲＡＭ１０６から、フレーム全体の動きベクトル（ｘ，ｙ）を読み込む。
【０１７１】
ステップＳ１４００では、処理対象画素の位置座標を示すパラメータｉ，ｊをそれぞれ０に初期化して、ステップＳ１４２０に進む。ステップＳ１４２０以後の処理は、図１４に示すフローチャートと同じである。ただし、ステップＳ１４６０では、合成比α＝０．５で第１の画像データと第２の画像データとを合成する。
【０１７２】
図２０は、第２の実施形態における撮像装置において、図６に示すフローチャートのステップＳ７０でフレームレートＦＲが閾値ＴＨ２以上であると判定した後に行う処理、すなわち、ステップＳ９０Ａの処理内容を示すフローチャートである。このフローチャートは、合成方法（Ｂ）の合成処理の詳細な処理内容を示しており、図９に示すフローチャートに対応するものである。図２０に示すフローチャートにおいて、図９に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１７３】
図２０に示すフローチャートが図８に示すフローチャートと異なるのは、ステップＳ２０００の合成処理の内容である。すなわち、ステップＳ２０００では、長露光画像データと短露光画像データとを同一の合成比（合成比α＝０．５）で合成する単純合成処理を行う。
【０１７４】
以上、第２の実施形態における撮像装置によれば、撮像時のフレームレートに応じて、合成する画像の組み合わせを設定するとともに、フレームレートに応じて、位置ずれ検出方法を決定する。これにより、フレームレートに応じた適切な位置ずれ検出方法にて、長露光画像および短露光画像の位置ずれを検出し、検出した位置ずれに基づいて、長露光画像および短露光画像間の位置ずれを補正することができる。
【０１７５】
特に、第２の実施形態における撮像装置によれば、フレームレートが第２の閾値ＴＨ１より低い場合には、検出精度の高い第１の位置ずれ検出方法を選択し、フレームレートが第２の閾値ＴＨ１以上であって、かつ、第１の閾値ＴＨ２より低い場合には、第１の位置ずれ検出方法よりも検出精度の低い第２の位置ずれ検出方法を選択する。また、フレームレートが第１の閾値ＴＨ２以上の場合には、位置ずれ検出を行わない。これにより、フレームレートが第２の閾値ＴＨ１より低い場合には、画像間の位置ずれが大きいことが予想されるため、検出精度の高い位置ずれ検出方法にて位置ずれ検出を行って、合成画像の像ブレを抑制することができる。また、フレームレートが第２の閾値ＴＨ１以上であって、かつ、第１の閾値ＴＨ２より低い場合には、画像間の位置ずれがそれ程大きくないことが予想されるため、処理負荷の小さい位置ずれ検出方法にて位置ずれ検出を行って、処理負荷を軽減することができる。さらに、フレームレートが第１の閾値ＴＨ２以上の場合には、画像間の位置ずれが小さいことが予想されるため、位置ずれ検出を行わないで、処理負荷をさらに軽減することができる。
【０１７６】
−第３の実施形態−
第２の実施形態における撮像装置では、撮影時のフレームレートに応じて、複数の画像間の位置ずれを検出する方法および合成方法を変更して、像ブレの少ない合成画像を生成するようにした。ここで、合成画像の像ブレ量は、撮影時のフレームレートだけでなく、焦点距離にも依存する。従って、第３の実施形態における撮像装置では、撮影時のレンズの焦点距離も考慮して、複数の画像間の位置ずれを検出する方法および合成方法を変更する。
【０１７７】
図２１は、第３の実施形態における撮像装置であるデジタルスチルカメラによって行われる撮像処理の手順を示すフローチャートである。図６に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１７８】
ステップＳ４０に続くステップＳ２１００では、撮影時の焦点距離ｆのデータを取得する。例えば、Ｆｌａｓｈメモリ１０１１に撮影時の焦点距離ｆのデータを格納しておき、Ｆｌａｓｈメモリ１０１１から焦点距離ｆのデータを読み出す。
【０１７９】
ステップＳ２１１０では、ステップＳ２１００で取得した焦点距離ｆに応じた閾値シフト量ｔｈｆ１，ｔｈｆ２を読み出す。Ｆｌａｓｈメモリ１１７には、焦点距離ｆと閾値シフト量ｔｈｆ１，ｔｈｆ２との関係を定めたテーブルが格納されており、このテーブルを参照することによって、ステップＳ２１００で取得した焦点距離ｆに応じた閾値シフト量ｔｈｆ１，ｔｈｆ２を読み出す。
【０１８０】
なお、焦点距離ｆが短いほど、閾値シフト量ｔｈｆ１，ｔｈｆ２は小さく、また、焦点距離ｆが長いほど、閾値シフト量ｔｈｆ１，ｔｈｆ２は大きくなるように、焦点距離ｆと閾値シフト量ｔｈｆ１，ｔｈｆ２との関係は定められている。
【０１８１】
ステップＳ２１２０では、ステップＳ３０で算出したフレームレートＦＲがステップＳ４０で読み出した閾値ＴＨ１とステップＳ２１１０で読み出した閾値シフト量ｔｈｆ１とを加算した値より低いかを判定する。フレームレートＦＲが（ＴＨ１＋ｔｈｆ１）よりも低いと判定するとステップＳ６０Ａに進み、フレームレートＦＲが（ＴＨ１＋ｔｈｆ１）以上であると判定すると、ステップＳ２１３０に進む。
【０１８２】
ステップＳ２１３０では、ステップＳ３０で算出したフレームレートＦＲがステップＳ４０で読み出した閾値ＴＨ２とステップＳ２１１０で読み出した閾値シフト量ｔｈｆ２とを加算した値より低いかを判定する。フレームレートＦＲが（ＴＨ２＋ｔｈｆ２）よりも低いと判定するとステップＳ８０Ａに進み、フレームレートＦＲが（ＴＨ２＋ｔｈｆ２）以上であると判定すると、ステップＳ９０Ａに進む。
【０１８３】
ステップＳ６０Ａ、ステップＳ８０Ａ、および、ステップＳ９０Ａで行われる処理はそれぞれ、第２の実施形態で行われる処理と同じである。
【０１８４】
以上、第３の実施形態における撮像装置によれば、撮像時の焦点距離を取得し、取得した焦点距離に基づいて、第１の閾値ＴＨ２および第２の閾値ＴＨ１を補正する。これにより、フレームレートだけでなく焦点距離も考慮して、最適な位置ずれ検出方法を決定することができる。例えば、焦点距離が長くなると、手ブレの影響が大きくなるため、検出精度の高い位置ずれ検出方法により位置ずれ検出を行って、合成画像の像ブレを抑制することができる。
【０１８５】
−第４の実施形態−
第２の実施形態における撮像装置では、撮影時のフレームレートＦＲと閾値ＴＨ１、ＴＨ２との比較結果に応じて、複数の画像間の位置ずれを検出する方法および合成方法を変更して、像ブレの少ない合成画像を生成するようにした。第４の実施形態における撮像装置では、撮影モード（静止画、動画、ライブビュー）に応じた閾値ＴＨ１、ＴＨ２を設定して、撮影時のフレームレートＦＲと比較する。
【０１８６】
第４の実施形態における撮像装置において、Ｆｌａｓｈメモリ１１７には、静止画撮影モードに応じた閾値ＴＨ_still1、ＴＨ_still2、動画撮影モードに応じた閾値ＴＨ_mov1、ＴＨ_mov2、ライブビュー撮影モードに応じた閾値ＴＨ_lv1、ＴＨ_lv2が格納されている。各閾値の間には、ＴＨ_still1＞ＴＨ_mov1＞ＴＨ_lv1、および、ＴＨ_still2＞ＴＨ_mov2＞ＴＨ_lv2の関係が成り立つ。各閾値は、撮影モードごとに適切な値を予め求めておく。
【０１８７】
図２２は、第４の実施形態における撮像装置であるデジタルスチルカメラによって行われる撮像処理の手順を示すフローチャートである。図６に示すフローチャートの処理と同一の処理を行うステップについては、同一の符号を付して詳しい説明は省略する。
【０１８８】
ステップＳ３０に続くステップＳ２２００では、撮影モードが静止画撮影モード、動画撮影モード、ライブビュー撮影モードのうちのいずれであるかを判定する。撮影モードが静止画撮影モードであると判定すると、ステップＳ２２１０に進み、動画撮影モードであると判定すると、ステップＳ２２２０に進み、ライブビュー撮影モードであると判定すると、ステップＳ２２３０に進む。
【０１８９】
ステップＳ２２１０では、静止画撮影モードに応じた閾値ＴＨ_still1、ＴＨ_still2をＦｌａｓｈメモリ１１７から読み出して、ステップＳ２２４０に進む。
【０１９０】
ステップＳ２２２０では、動画撮影モードに応じた閾値ＴＨ_mov1、ＴＨ_mov2をＦｌａｓｈメモリ１１７から読み出して、ステップＳ２２４０に進む。
【０１９１】
ステップＳ２２３０では、ライブビュー撮影モードに応じた閾値ＴＨ_lv1、ＴＨ_lv2をＦｌａｓｈメモリ１１７から読み出して、ステップＳ２２４０に進む。
【０１９２】
ステップＳ２２４０では、ステップＳ２２１０、ステップＳ２２２０、または、ステップＳ２２３０で読み出した閾値に基づいて、フレームレートＦＲと比較する閾値ＴＨ１、ＴＨ２を設定する。具体的には、閾値の最後の数字がそれぞれ一致するように、閾値ＴＨ１、ＴＨ２を設定する。例えば、ステップＳ２２３０で閾値ＴＨ_lv1、ＴＨ_lv2を読み出した場合には、ＴＨ１＝ＴＨ_lv1、ＴＨ２＝ＴＨ_lv2とする。
【０１９３】
ステップＳ５０以後の処理は、第２の実施形態で行われる処理と同じである。
【０１９４】
以上、第４の実施形態における撮像装置によれば、静止画撮影モード、動画撮影モード、ライブビュー撮影モードのそれぞれの撮像モードに応じて、フレームレートＦＲと比較する閾値を設定する。これにより、撮像モードごとに、フレームレートに応じた適切な位置ずれ検出方法および合成方法を決定することができる。
【０１９５】
なお、上述した第１〜第３の実施形態の説明では、撮像装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、撮像装置は、ＣＰＵ、ＲＡＭ等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを撮像プログラムと呼ぶ。そして、ＣＰＵが上記記憶媒体に記憶されている撮像プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の撮像装置と同様の処理を実現させる。
【０１９６】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、この撮像プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該撮像プログラムを実行するようにしても良い。
【０１９７】
本発明は、上述した第１〜第４の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、第１の実施形態における撮像装置では、フレームレートＦＲを２つの閾値ＴＨ１、ＴＨ２と比較したが、１つの閾値ＴＨと比較するようにしてもよい。この場合、フレームレートＦＲが閾値ＴＨより低い場合には、露光時間の長い画像と露光時間の短い画像とを撮像により得られた順序で互い違いに合成するようにし、フレームレートＦＲが閾値ＴＨ以上の場合には、露光時間の長い画像と露光時間の短い画像とを常に同じ順序で合成するようにすればよい。
【０１９８】
第２の実施形態において、位置ずれの検出方法を決定するためにフレームレートＦＲと比較する閾値ＴＨ１、ＴＨ２を、合成する画像の組み合わせを決定するためにフレームレートＦＲと比較する閾値ＴＨ１、ＴＨ２と同じとしたが、異なる閾値を設定するようにしてもよい。同様に、第３および第４の実施形態において、位置ずれの検出方法を決定するためにフレームレートＦＲと比較する閾値を、合成する画像の組み合わせを決定するためにフレームレートＦＲと比較する閾値と異なる値に設定してもよい。
【０１９９】
また、第３の実施形態では、撮像時の焦点距離ｆに応じて、閾値ＴＨ１、ＴＨ２を補正するための閾値シフト量ｔｈｆ１，ｔｈｆ２を求めたが、撮像時のフレームレートＦＲおよび焦点距離ｆと閾値との関係を定めたテーブルを予め用意しておいて、撮像時のフレームレートＦＲおよび焦点距離ｆに応じた閾値を求めるようにしてもよい。
【符号の説明】
【０２００】
１…カメラ本体
２…交換式レンズ
１０１…メカシャッター
１０２…撮像素子
１０３…アナログ処理部
１０４…アナログ/デジタル変換部
１０６…ＳＤＲＡＭ
１０７…画像処理部
１０８…ＡＥ処理部
１０９…ＡＦ処理部
１１２…記録媒体
１１４…ＬＣＤ
１１５…マイクロコンピュータ
１１７…Ｆｌａｓｈメモリ
１１９…動きベクトル算出部
１２０…合成処理部
１５９…フレーム全体動きベクトル算出部
１６０…局所動きベクトル算出部
【図１】
2012010307.tif 000003
【図５】
2012010307.tif 000004
【図６】
2012010307.tif 000005
【図７】
2012010307.tif 000006
【図８】
2012010307.tif 000007
【図９】
2012010307.tif 000008
【図１０】
2012010307.tif 000009
【図１１】
2012010307.tif 000010
【図１２】
2012010307.tif 000011
【図１３】
2012010307.tif 000012
【図１４】
2012010307.tif 000013
【図１５】
2012010307.tif 000014
【図１６】
2012010307.tif 000015
【図１８】
2012010307.tif 000016
【図１９】
2012010307.tif 000017
【図２０】
2012010307.tif 000018
【図２１】
2012010307.tif 000019
【図２２】
2012010307.tif 000020
【図２】
2012010307.tif 000021
【図３】
2012010307.tif 000022
【図４】
2012010307.tif 000023
【図１７】
2012010307.tif 000024