(57)【要約】【課題】手振れや被写体振れの影響を抑制した合成画像を得る。【解決手段】画像処理装置１０７は、第１の露光量での第１の撮像を行って生成した第１の画像と、第１の撮像を行う間に複数回、第１の露光量より少ない第２の露光量での第２の撮像を行って生成した複数の第２の画像とに対して処理を行う。該装置は、第１および第２の撮像を行う際の撮像手段１０５または被写体の振れ量を検出し、該振れ量に応じて、第１の画像と複数の第２の画像のうち少なくとも１つの第２の画像とを合成して第１の合成画像を生成するか複数の第２の画像を合成して第２の合成画像を生成するかを選択する。【選択図】図１
2017085337.tif 000002
【特許請求の範囲】
【請求項１】
第１の露光量での第１の撮像を行って第１の画像を生成するとともに、前記第１の撮像を行う間に複数回、前記第１の露光量より少ない第２の露光量での第２の撮像を行って複数の第２の画像を生成する撮像手段から取得した前記第１および第２の画像に対して処理を行う画像処理装置であって、
前記第１および第２の撮像を行う際の前記撮像手段または被写体の振れ量を検出する振れ量検出手段と、
前記振れ量に応じて、前記第１の画像と前記複数の第２の画像のうち少なくとも１つの第２の画像とを合成して第１の合成画像を生成するか前記複数の第２の画像を合成して第２の合成画像を生成するかを選択する画像合成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記第２の露光量における露光時間は、前記第１の露光量における露光時間より短いことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像合成手段は、
前記振れ量が所定値より小さい場合は前記第１の合成画像を生成し、
前記振れ量が前記所定値より大きい場合は前記第２の合成画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記画像合成手段は、
前記振れ量が所定値より小さい場合は、シェーディング補正を行っていない前記第１の画像と前記シェーディング補正を行っていない前記少なくとも１つの第２の画像とを合成して前記第１に合成画像を生成し、
前記振れ量が前記所定値より大きい場合は、前記シェーディング補正を行った前記複数の第２の画像を合成して前記第２の合成画像を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記振れ検出手段は、前記複数の第２の画像間において検出した動きベクトルを用いて前記振れ量を検出することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画像合成手段は、前記複数の第２の画像間において検出した動きベクトルに基づいて、前記複数の第２の画像のうち１つの第２の画像に対して他の第２の画像の位置を合わせるための画像変換処理を行うことを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記画像合成手段は、前記複数の第２の画像における対応位置ごとの信号差分量を用いて前記複数の第２の画像における移動する被写体を含む動体領域を検出し、
前記動体領域では前記複数の第２の画像のうち１つの第２の画像を用いて前記第２の合成画像を生成することを特徴とする請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
前記画像合成手段は、前記第１または第２の合成画像における画素飽和領域に対して前記第２の画像を用いた補正処理を行うことを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
前記画像合成手段は、動画撮像中において前記振れ検出手段により検出される前記振れ量が前記所定値より大きくなる頻度を示す情報を有し、該頻度が所定数より低い期間においては前記振れ量に応じた前記第１または第２の合成画像の生成の選択を制限することを特徴とする請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
請求項１から９のいずれか一項に記載の画像処理装置と、
前記撮像手段とを有することを特徴とする撮像装置。
【請求項１１】
前記撮像手段は、
それぞれ第１のサブ画素と第２のサブ画素を有する画素を複数有する撮像素子を含み、
前記第１のサブ画素により前記第１の撮像を行い、前記第２のサブ画素により前記第２の撮像を行うことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
コンピュータに処理を実行させるコンピュータプログラムとしての画像処理プログラムであって、
前記処理は、
撮像手段から、第１の露光量での第１の撮像を行って生成された第１の画像と、前記第１の撮像を行う間に複数回、前記第１の露光量より少ない第２の露光量での第２の撮像を行って生成された複数の第２の画像とを取得する処理と、
前記第１および第２の撮像を行う際の前記撮像手段または被写体の振れ量を検出する処理と、
前記振れ量に応じて、前記第１の画像と前記複数の第２の画像のうち少なくとも１つの第２の画像とを合成して第１の合成画像を生成するか前記複数の第２の画像を合成して第２の合成画像を生成するかを選択する処理とを含むことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置または被写体の動きに起因して生じる画像間のずれの影響を低減して画像合成を行う画像処理技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置には、互いに露光時間が異なる複数回の撮像によって取得した複数の画像を合成することにより、いわゆる白飛びや暗部のノイズを低減したハイダイナミックレンジな合成画像を生成できる機能を有するものがある。また、撮像装置には、通常の露光時間を分割して複数回の撮像を行うことにより取得した複数の画像を合成することにより、被写体像の振れを軽減した合成画像を生成できる機能（マルチショットノイズリダクション機能）を有するものもある。
【０００３】
ただし、移動している被写体に対して上記のように時系列的に複数回の撮像を行うことで、合成画像における複数の領域に同一の被写体像が現れたりＳ／Ｎが低下したりする等の弊害が生ずる。
【０００４】
このため、特許文献１には、複数の画素のそれぞれに、マイクロレンズと複数のサブ画素とが設けられた撮像素子を備え、サブ画素ごとに露出を異ならせて得られた複数の画像を合成可能な撮像装置が開示されている。この撮像装置によれば、互いに露光時間が異なる撮像を同時に行うことができるため、上述した移動被写体を撮像する場合の弊害を抑制した合成画像を生成することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５６２８９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１にて開示された撮像装置においても、露光時間が長い撮像を行うサブ画素により得られる画像には、撮像装置の手振れや被写体の振れの影響が現れる。この結果、合成画像において被写体像の多重像が現れたりＳ／Ｎが低下したりする。
【０００７】
本発明は、撮像装置の手振れや被写体の振れ等の影響を抑制した高画質な合成画像が得られるようにした画像合成装置および撮像装置等を提供する。
【課題を解決するための手段】
【０００８】
本発明の一側面としての画像処理装置は、第１の露光量での第１の撮像を行って第１の画像を生成するとともに、第１の撮像を行う間に複数回、第１の露光量より少ない第２の露光量での第２の撮像を行って複数の第２の画像を生成する撮像手段から取得した第１および第２の画像に対して処理を行う。該画像処理装置は、第１および第２の撮像を行う際の撮像手段または被写体の振れ量を検出する振れ量検出手段と、振れ量に応じて、第１の画像と複数の第２の画像のうち少なくとも１つの第２の画像とを合成して第１の合成画像を生成するか複数の第２の画像を合成して第２の合成画像を生成するかを選択する画像合成手段とを有することを特徴とする。
【０００９】
なお、上記画像処理装置と上記撮像手段とを有する撮像装置も、本発明の他の一側面を構成する。
【００１０】
また、本発明の他の一側面としての画像処理プログラムは、コンピュータに処理を実行させるコンピュータプログラムである。該処理は、撮像手段から、第１の露光量での第１の撮像を行って生成された第１の画像と、第１の撮像を行う間に複数回、第１の露光量より少ない第２の露光量での第２の撮像を行って生成された複数の第２の画像とを取得する処理と、第１および第２の撮像を行う際の撮像手段または被写体の振れ量を検出する処理と、振れ量に応じて、第１の画像と複数の第２の画像のうち少なくとも１つの第２の画像とを合成して第１の合成画像を生成するか複数の第２の画像を合成して第２の合成画像を生成するかを選択する処理とを含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、振れ量に応じて合成画像の生成方法を選択するため、振れの影響を抑制した高画質な合成画像を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１であるデジタルカメラの構成を示すブロック図。
【図２】実施例１のデジタルカメラに設けられた撮像素子を示す図。
【図３】実施例１の撮像素子における像高を説明する図。
【図４】実施例１における瞳分割を説明する図。
【図５】実施例１における瞳強度分布を説明する図。
【図６】実施例１における周辺像高での瞳分割と瞳強度分布を説明する図。
【図７】実施例１における周辺像高でのサブ画素の明るさを説明する図。
【図８】実施例１におけるシステム制御部が行う処理を示すフローチャート。
【図９】実施例１におけるサブ画素Ａ，Ｂの信号を説明する図。
【図１０】実施例１における振れ判定方法を説明する図。
【図１１】実施例１におけるシェーディング補正に用いるゲイン量を説明する図。
【図１２】実施例１におけるサブ画素の加算合成方法を説明する図。
【図１３】本発明の実施例２における移動被写体判定方法を説明する図。
【図１４】本発明の実施例３における白飛び判定時におけるサブ画素の合成比率を説明する図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１４】
図１には、本発明の実施例である撮像装置としてのデジタルカメラ（以下、単にカメラという）１００の構成を示している。システム制御部１０１は、ＣＰＵ等のコンピュータにより構成され、ＲＯＭ１０２から読み出してＲＡＭ１０３に展開した制御プログラムに従ってデジタルカメラ１００内の後述する各部の動作を制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、上記制御プログラムに加えて各部の制御に必要なパラメータ等を記憶する。焦点検出において必要なレンズ情報である射出瞳距離もＲＡＭ１０２が記憶している。また、ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、各部の動作により出力されたデータの一時的な記憶領域として用いられる。
【００１５】
撮像光学系（以下、単に光学系という）１０４は、変倍レンズ、フォーカスレンズ、振れ補正レンズ等の複数のレンズにより構成され、光学像（被写体像）を撮像素子１０５に形成する。光学系１０４には絞りも含まれており、その開口径を調節することで光量調節を行う。光学系１０４は、カメラ１００に一体に設けられていてもよいし、カメラ１００に対して交換可能（着脱可能）に設けられていてもよい。
【００１６】
撮像素子１０５は、ＣＣＤセンサやＣＭＯＳセンサ等により構成され、光学系１０４により形成された被写体像を光電変換し、該光電変換により得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。撮像素子１０５は、詳しくは後述するが、１つのマイクロレンズと複数の光電変換部としてのサブ画素（瞳分割画素）とを含む画素を複数有する。
【００１７】
Ａ／Ｄ変換部１０６は、撮像素子１０５からのアナログ画像信号をデジタル画像データに変換し、該デジタル画像データをＲＡＭ１０３に出力して記憶させる。
【００１８】
画像処理装置としての画像処理部１０７は、画像処理用コンピュータにより構成され、ＲＡＭ１０３に記憶された画像データに対してブライトネス補正、コントラスト補正、ガンマ変換および色変換等の画像処理を行う。そして、これら画像処理を経た画像データを再びＲＡＭ１０３に出力して記憶させる。また、画像処理部１０７は、後述する画像合成処理も行う。画像処理部１０７は、撮像素子１０５とともに撮像手段を構成し、さらに振れ量検出手段および画像合成手段として機能する。
【００１９】
記録媒体１０８は、カメラ１００に対して着脱可能な半導体メモリや光ディスク等であり、ＲＡＭ１０３に記憶された画像処理後の画像データやＡ／Ｄ変換部１０６からの画像処理前の画像データであるＲＡＷ画像等を撮像画像（記録用画像）として記録する。
【００２０】
なお、ＲＡＭ１０３に記憶された画像データは、所定の表示用処理が行われた後に不図示の表示部（背面モニタ等）にも出力される。これにより、該画像データに対応する表示用画像が表示部上に表示される。バス１０９は、上述した各部間で信号のやり取りを行うために用いられる。
【００２１】
図２（ａ），（ｂ）には、撮像素子１０５の構成を示している。図２（ａ）は、撮像素子１０５の画素配列を示しており、図２（ｂ）は１つの画素２００の構成を拡大して示している。１つの画素２００は、マイクロレンズ２０１と、水平方向（ｘ方向）にて互いに隣り合う２つサブ画素２０３，２０４とを含む。以下の説明において、サブ画素２０３，２０４をそれぞれ、Ａサブ画素（第２のサブ画素）およびＢサブ画素（第１のサブ画素）と称する。そして、このように構成された画素２００が複数、図２（ａ）に示すように水平方向および垂直方向（ｙ方向）に二次元配列されている。ｚ方向は、光学系１０４の光軸方向である。
【００２２】
図３には、撮像素子１０５の撮像面全体を示しており、ここでは図２（ｂ）に示した画素２００が撮像面の中央近傍（中央像高）に配置された画素３００と撮像面の周辺部（周辺像高）に配置された画素３０１であるとする。これらいずれの画素３００，３０１においてもＡサブ画素２０３およびＢサブ画素２０４はそれぞれ独立に受光して光電変換を行うことで生成した信号を出力することが可能である。Ａサブ画素２０３から出力される信号値をＡ（ｘ，ｙ）とし、Ｂサブ画素２０４から出力される信号値をＢ（ｘ，ｙ）とするとき、全開口画素（３００，３０１）からの信号値（全開口画素信号）ｇ（ｘ，ｙ）は（１）式で表される。
【００２３】
【数１】
2017085337.tif 000003
【００２４】
図４を用いて、画素２００による瞳分割について説明する。図４の下側には図２（ｂ）に示した画素２００のＳ−Ｓ断面を＋ｙ方向から見て示しており、図４の上側には光学系１０４の射出瞳面を−ｚ方向から見て示している。
【００２５】
撮像素子１０５は、光学系１０４の結像面の近傍に配置されており、被写体からの光束は、光学系１０４の射出瞳４００を通過して画素２００に向かう。射出瞳４００の大きさは、絞りの開口径や各レンズを保持するレンズ枠等の大きさによって変化する。
【００２６】
射出瞳４００のうち部分瞳領域であるＡ瞳領域４０３を通過した光束はＡサブ画素２０３により受光され、該Ａ瞳領域４０３と水平方向にて隣り合う部分瞳領域であるＢ瞳領域４０４を通過した光束はＢサブ画素２０４に入射する。このように射出瞳４００のうち互いに異なる部分瞳領域（４０３，４０４）を通過した光束が互いに異なるサブ画素（２０３，２０４）により受光されることで、瞳分割が行われる。
【００２７】
マイクロレンズ２０１は、Ａ瞳領域４０３とＡサブ画素２０３の受光面とを概ね共役な関係とし、Ｂ瞳領域４０４とＢサブ画素２０４の受光面とを概ね共役な関係とする。このため、ＡおよびＢ瞳領域４０３，４０４を通過した光束はそれぞれ、共役関係にあるＡ６およびＢサブ画素２０３，２０４により受光される。光学系１０４の射出瞳４００に含まれる部分瞳領域の数（瞳分割数）をＮｐ（＝Ｍ×Ｎ）とし、光学系１０４の絞り値をＦとすると、各瞳部分領域の実効絞り値は、概ね√（Ｍ×Ｎ）Ｆとなる。射出瞳面上の領域４０５は、Ｍ×Ｎ分割されたサブ画素（ＡおよびＢサブ画素２０３，２０４）を全て合わせた画素２００の全体で受光可能な全開口領域である。
【００２８】
本実施例では、瞳分割数Ｍ×Ｎを２×１としているので、各瞳部分領域の実効絞り値は√２Ｆとなる。つまり、１つのサブ画素からの信号を用いて生成される画像（以下、部分瞳画像という）は全開口信号を用いて生成される画像（以下、全開口画像という）と比較して、被写界深度が一段分深くて暗い画像となる。
【００２９】
図５には、画素２００が図３に示した中央像高の画素３００に相当する場合のＡおよびＢサブ画素２０３，２０４のｘ断面での受光特性を示している。横軸は光学系１０４の射出瞳面におけるｘ座標を示し、縦軸は各サブ画素の受光効率を示す。また、縦軸は各開口絞りの透過率分布でもあるので、各サブ画素の光束受光効率とみなすことができる。本実施例では、この光束受光効率の分布を、瞳強度分布という。また、図５中の２本の点線は、射出瞳４００を画素２００に投影したときの幅を示している。
【００３０】
図５に示すように、画素２００が撮像面の中央近傍に位置する場合は、ＡおよびＢサブ画素２０３，２０４が受光する光量は互いに等しい。このため、Ａサブ画素２０３からの信号により生成される部分瞳画像とＢサブ画素２０４からの信号により生成される部分瞳画像の明るさ（信号値または信号強度）は互いに等しい。
【００３１】
Ａサブ画素２０３の瞳強度分布５０３は、＋ｘ側では画素２００の瞳分割性能が十分でないことによる回折ぼけのために緩やかなカーブを描くように変化する。一方、−ｘ側ではケラレによって急なカーブを描くように変化する。このため、瞳強度分布５０３は、強度のピークに対して非対称になっている。サブ画素２０４の瞳強度分布５０４は、瞳強度分布５０３がｘ方向において反転した形状となっているだけで瞳強度分布５０３と同様に変化する。
【００３２】
図６（ａ）には、画素２００が図３に示した周辺像高の画素３０１に相当する場合における光学系１０４の射出瞳面を−ｚ方向から見て示している。６００は射出瞳であり、６０３，６０４はそれぞれＡおよびＢ瞳領域である。領域６０５は、ＡおよびＢサブ画素２０３，２０４を全て合わせた画素２００の全体で受光可能な全開口領域である。
【００３３】
また、図６（ｂ）には、この周辺像高の画素２００におけるＡおよびＢサブ画素２０３，２０４のｘ断面での受光特性を示している。横軸は光学系１０４の射出瞳面におけるｘ座標を示し、縦軸は各サブ画素の受光効率（瞳強度分布）を示す。図６中の２本の点線は、射出瞳６００を画素２００に投影したときの幅を示している。
【００３４】
図６（ａ）に示すように、周辺像高の画素においても、射出瞳６００におけるＡおよびＢ瞳領域６０３，６０４の分割構成は中央像高の画素と同じである。しかし、射出瞳６００の形状が口径食（ケラレ）によって中央像高の画素に対する射出瞳４００の形状とは変化し、射出瞳６００の重心がＡ瞳領域６０３の中心寄りに位置する。この結果、Ａサブ画素２０３からの信号により得られる画像（以下、Ａ画像という）とＢサブ画素２０４からの信号により得られる画像（以下、Ｂ画像という）に明暗、すなわちシェーディングが発生する。具体的には、図６（ｂ）に示すように、Ａサブ画素２０３の方がＢサブ画素２０４よりも受光効率が高くなり、Ａ画像の方がＢ画像よりも明るくなる。また、図３における画素３０１とｘ方向にて反対側の周辺像高の画素ではこれとは逆になる。つまり、Ｂサブ画素２０４の方がＡサブ画素２０３よりも受光効率が高くなり、Ｂ画像の方がＡ画像よりも明るくなる。
【００３５】
ここで、周辺像高におけるＡサブ画素２０３とＢサブ画素２０４の明るさ（受光輝度）の関係を図７に示す。図７には、図３に示した画素３０１をそのｙ像高のままｘ方向（横軸）に移動させたときのＡサブ画素２０３とＢサブ画素２０４の明るさ（縦軸）の変化を示している。実線はＡサブ画素２０３の明るさを、点線はＢサブ画素２０４の明るさを示している。
【００３６】
このように、周辺像高におけるＡサブ画素２０３およびＢサブ画素２０４からの信号により得られるＡ画像およびＢ画像間にはシェーディングが発生する。
【００３７】
以上のような構成を有するカメラ１００が行う処理について、図８のフローチャートを用いて説明する。システム制御部１０１および画像処理部１０７は、Ａサブ画素２０３からの信号を用いて生成されたＡ画像とＢサブ画素２０４からの信号を用いて生成されたＢ画像とを合成して合成画像を生成する画像合成処理を行う。また、システム制御部１０１および画像処理部１０７は、コンピュータプログラムとしての画像処理プログラムに従って本処理を行う。システム制御部１０１は、ユーザにより撮像の指示がなされることに応じて本処理を開始する。
【００３８】
ステップＳ８００では、システム制御部１０１は、画像処理部１０７による測光演算の結果を取得し、該測光結果に応じて撮像素子１０５のＡサブ画素２０３とＢサブ画素２０４のそれぞれに対する露光量（以下、Ａ露光量およびＢ露光量という）を設定する。露光量は、撮像により得られる画像が適切な明るさを持つように露光時間（シャッタスピード）、絞り値およびＩＳＯ感度が選択されることで設定される。本実施例では、Ａ露光量（第２の露光量）がＢ露光量（第１の露光量）よりも少なく、具体的にはＡ露光量における露光時間がＢ露光量における露光時間よりも短い。さらに具体的には、Ａ露光量は、Ａサブ画素２０３によるＡ露光量での複数回の撮像のそれぞれにより得られる信号値の合計がＢサブ画素２０４によるＢ露光量での１回の撮像により得られる信号値と等しくなるように設定される。言い換えれば、Ａ露光量での撮像の回数をＰとするとき、
Ａ露光量における露光時間×Ｐ＝Ｂ露光量における露光時間
となるように各露光時間が設定される。
【００３９】
そして、システム制御部１０１は、Ｂサブ画素２０４にＢ露光量での１回の撮像（第１の撮像）を行わせるとともに、このＢサブ画素２０４による１回の撮像の間にＡサブ画素２０３にＡ露光量でのＰ回の撮像（第２の撮像：以下、分割露光ともいう）を行わせる。これにより、画像処理部１０７は、Ｂサブ画素２０４から信号（以下、Ｂ信号という）を取得するとともに、Ａサブ画素２０３から信号（以下、Ａ信号という）をＰ回取得する。なお、システム制御部１０１は、Ａサブ画素２０３による１回目の撮像とＢサブ画素２０４による撮像とが同時刻に開始され、Ａサブ画素２０３によるＰ回目の撮像とＢサブ画素２０４による撮像とが同時刻に終了するように撮像を制御する。その後、システム制御部１０１は、画像処理部１０７に、Ａサブ画素２０３からＰ回の撮像のそれぞれにより得られるＡ信号から複数（Ｐ）枚のＡ画像を生成させ、Ｂサブ画素２０４からのＢ信号からＢ画像を生成させる。
【００４０】
なお、Ａサブ画素２０３による複数回の撮像の開始と終了の時刻は必ずしもＢサブ画素２０４による撮像の開始と終了の時刻に完全に一致している必要はなく、多少のずれは許容される。このような場合も、Ｂサブ画素２０４による撮像の間にＡサブ画素２０３による複数回の撮像が行われる場合に含まれる。
【００４１】
次にＳ８０１では、システム制御部１０１は、画像処理部１０７に、Ａ画像およびＢ画像のシェーディング補正を行わせる。前述したように、周辺像高のＡおよびＢサブ画素には明るさの差が生じるため、ＡおよびＢ画像間にはシェーディングが発生する。このため、本実施例では、Ａ画像に対するシェーディング補正を行い、後述するステップＳ８０２においてシェーディング補正後のＡ画像を用いて良好な振れ検出処理を行えるようにする。さらに、Ｂ画像に対するシャーディング補正を行い、後述するステップＳ８０５においてシェーディング補正後のＡ画像とＢ画像の画像合成を可能とする。
【００４２】
図１１には、シャーディング補正においてＡおよびＢ画像に乗算するゲインを示す。この図には、ＡおよびＢサブ画素２０３，２０４にそのｘ方向での位置（横軸）によって図７に示すような受光輝度の差が生じることでＡおよびＢ画像にシェーディングが発生する場合のゲイン（縦軸）を示している。ゲインは、図７に示す受光輝度の逆数に対応する。
【００４３】
図９（ａ），（ｂ）にはそれぞれ、シェーディング補正前後のＡ画像およびＢ画像のｘ座標（横軸）での明るさ（縦軸）を示す。９０１はシェーディング補正前のＡ画像の明るさを示し、９０２はシェーディング補正後のＡ画像の明るさを示す。９０３はシェーディング補正前のＢ画像の明るさを示し、９０４はシェーディング補正後のＢ画像の明るさを示す。
【００４４】
次にステップＳ８０２では、システム制御部１０１は、画像処理部１０７に振れ検出処理を行わせる。本実施例にいう振れは、主としてカメラ１００の手振れや被写体の小さな動き(以下、被写体振れという)を指す。手振れや被写体振れの検出には、複数のＡ画像間で検出した動きベクトルを用いる。ただし、動きベクトルを用いる振れ検出方法以外の振れ検出方法を用いてもよい。
【００４５】
図１０を用いて本実施例での振れ検出処理について説明する。図１０中の１００１〜１００４は、Ａサブ画素２０３による１回目からＰ回目（ここではＰ＝４とする）の撮像によりそれぞれ生成され、かつステップＳ８０１でシェーディング補正が行われたＡ画像を示す。画像処理部１０７は、１枚目のＡ画像１００１を基準画像とし、この基準画像１００１と２枚目以降のＡ画像１００２〜１００４との間で動きベクトルの方向と大きさを算出する。そして、画像処理部１０７は、動きベクトルの方向と大きさから、基準画像１００１と２枚目以降のＡ画像１００２〜１００４との間の振れ１００５〜１００７の方向（振れ方向）と大きさ（振れ量）を算出する。振れの種類には、回転、あおりおよびシフトがあり、図１０では振れ１００５，１００６が回転振れを、振れ１００７はシフト振れをそれぞれ示す。
【００４６】
次にステップＳ８０３では、システム制御部１０１は、ステップＳ８０２で検出した振れ量（回転振れ量、あおり振れ量およびシフト振れ量）が所定値以下（所定値と同じかそれよりも小さい）か否かを判定する。振れ量が所定値以下であればステップＳ８０４に進み、所定値より大きければステップＳ８０５に進む。これにより、振れ量に応じて、後述する第１の合成画像の生成と第２の合成画像の生成とを選択する。
【００４７】
ステップＳ８０４では、システム制御部１０１は、画像処理部１０７に、シェーディング補正を行っていないＰ枚のＡ画像とシェーディング補正を行っていないＢ画像とを合成することで合成画像（第１の合成画像）を生成させる。この画像合成について図９および図１２を用いて説明する。
【００４８】
図９（ａ），（ｂ）にはそれぞれ、ステップＳ８０１でＢ露光量における露光時間が１／２５ｓｅｃに、Ａ露光量における露光時間が１／１００ｓｅｃに設定され、Ａサブ画素２０３により４回の分割露光を行った場合のＡ画像とＢ画像の明るさを示す。横軸は各画像のｘ座標を示し、縦軸は各画像の明るさを示す。
【００４９】
これらの図に示すように、シェーディング補正後の１枚のＡ画像９０２は、シェーディング補正後のＢ画像９０４と比べて２段分だけ明るさが異なって（暗くなって）いる。また、それぞれシェーディング補正前のＡ画像９０１とＢ画像９０３は、これらのＡおよびＢ画像が互いに同じ明るさであれば、同じｘ座標でのシェーディング量の和が全ｘ座標にわたって等しくなるシェーディング量が発生している。
【００５０】
このため、ステップＳ８０４では、シェーディング補正を行っていない４枚のＡ画像を加算してＢ画像と明るさを同じにした上で、この加算Ａ画像とシェーディング補正を行っていないＢ画像１３０６とを合成（加算）する。これにより、シェーディングが相殺された全開口画素信号に相当する信号値（前述した式（１）で表される）を有する合成画像を得ることができる。
【００５１】
図１２（ａ）において、１３０１はシェーディング補正を行っていない１枚目のＡ画像の明るさを示している。１３０２〜１３０４はそれぞれ、シェーディング補正を行っていない２枚目、３枚目および４枚目のＡ画像を１枚目のＡ画像と座標（ｘおよびｙ座標）を合わせて加算したときの加算Ａ画像の明るさを示している。
【００５２】
シェーディング補正を行っていないｉ枚目のＡ画像の信号値をＡｉとすると（ｉ＝０，１，２，３，・・・）、加算Ａ画像の信号値Ａａｄｄ（ｘ，ｙ）は（２）式で表される。ただし、Ｐは分割露光数（撮像回数）である。
【００５３】
【数２】
2017085337.tif 000004
【００５４】
そして、図１２（ｂ）に示すように、加算Ａ画像（明るさ１３０５）とシェーディング補正を行っていないＢ画像（明るさ１３０６）とを加算することで合成すると、全開口画素信号に相当する明るさ１３０７を有する合成画像が得られる。このときの合成画像の信号値ｇ（ｘ，ｙ）は、（３）式で表される。
【００５５】
【数３】
2017085337.tif 000005
【００５６】
このようにして、ステップＳ８０４では、画像処理部１０７はそれぞれシェーディング補正を行っていない加算Ａ画像とＢ画像とを合成することで合成画像を生成し、該合成画像を最終的な出力画像とする。
【００５７】
一方、ステップＳ８０５では、システム制御部１０１は、画像処理部１０７に、それぞれシェーディング補正を行った複数のＡ画像を合成することで合成画像（第２の合成画像）を生成させる。ステップＳ８０３にて分割露光により生成された複数のＡ画像間の振れ量が所定値より大きいことが判定されているために、そのままこれらＡ画像を合成して得られる合成画像も振れを含んだ画像になる。このため、本実施例では、振れを低減した最終出力画像を複数のＡ画像のみから作成する。
【００５８】
まず、システム制御部１０１は、シェーディング補正を行ったＡ画像に対して、ステップＳ８０２で求めた動きベクトルに基づいて画像変換係数を算出する。画像変換係数は、例えばステップＳ８０２において各座標で求めた動きベクトルと目標とする動きベクトルとの誤差が最小となる変換係数を最小二乗法で推定する。具体的には、所定誤差内（最小二乗誤差）に収まる動きベクトルが最も多くなるように変換係数の値を求める。画像変換係数として一般的なものとしてアフィン係数や射影変換係数がある。そして、システム制御部１０１は、分割露光により得られたＰ枚のシェーディング補正を行ったＡ画像をそれぞれに対して推定した画像変換係数を用いて変形する画像変換処理を行い、変形後のＡ画像同士を互いの座標（位置）を合わせた上で合成（加算）する。
【００５９】
図１２（ｃ）には、１３０８はシェーディング補正を行った１枚目のＡ画像の明るさを示している。１３０９〜１３１１はそれぞれ、シェーディング補正を行った２枚目、３枚目および４枚目のＡ画像を１枚目のＡ画像と座標（ｘおよびｙ座標）を合わせて加算したときの加算Ａ画像の明るさを示している。
【００６０】
シェーディング補正を行ったｉ枚目のＡ画像の信号値をＡ_shade_distiとすると（ｉ＝０，１，２，３，・・・）、最終出力画像としての合成画像の信号値ｇ’（ｘ，ｙ）は、（４）式で表される。ただし、Ｐは分割露光数である。
【００６１】
【数４】
2017085337.tif 000006
【００６２】
本実施例では、分割露光数Ｐを４としたため、撮像開始時の１枚目のＡ画像から４枚目のＡ画像までを加算することで最終出力画像（ｇ’（ｘ，ｙ））を取得することができる。
【００６３】
本実施例によれば、手振れや被写体振れの影響によって合成画像に被写体像の多重像が現れたりＳ／Ｎが低下したりすることを回避することができ、高画質な合成画像を得ることができる。
【００６４】
なお、上記実施例では、振れ量が所定値以下であるときに分割露光により生成した複数枚のＡ画像の全てをＢ画像に対して合成する場合について説明した。しかし、Ｂ画像に合成するＡ画像の枚数は必ずしも複数枚でなくてもよく、少なくとも１枚（または少なくとも２枚）であってもよい。
【００６５】
上記実施例では、複数回の撮像（分割露光）により得られた複数のＡ画像間で検出した動きベクトルを用いて手振れや被写体振れを検出する場合について説明した。しかし、カメラに搭載されたジャイロセンサ（角速度センサ）等の振れセンサを用いて手振れを検出してもよい。この場合、複数のＡ画像またはＢ画像を取得するための撮像のタイミングでジャイロセンサにより角速度を取得する。そして、角速度が所定角速度以下のときは所定量より大きい手振れは発生していないと判定して図８のステップＳ８０４の処理を行い、角速度が所定角速度より大きいときは所定量より大きい手振れが発生したと判定して図８のステップＳ８０５の処理を行う。これにより、上記実施例と同様に、手振れ等の影響を抑制した高画質な合成画像を得ることができる。
【実施例２】
【００６６】
次に、本発明の実施例２について説明する。本実施例では、Ａ画像のうち被写体の移動（被写体振れよりも大きな動き）を検出した領域については複数のＡ画像の加算を行わないことで合成画像における被写体の移動の影響を抑制する。
【００６７】
図１３には、Ａ画像における移動する被写体の検出方法を示している。分割露光数が４である場合には、４枚のＡ画像１１０１〜１１０４が生成される。１１１１〜１１１４はそれぞれ、４枚のＡ画像１１０１〜１１０４においてｘ方向に移動している被写体である。
【００６８】
被写体の移動を検出するための動き検出方法として、ここではフレーム間差分方法について説明する。フレーム間差分方式では、前後のフレーム間における対応する座標（対応位置）ごとの信号値の差分量を算出する。そして、この信号の差分量（以下、信号差分量という）が所定量より大きい領域を移動する被写体を含む動体領域として検出する。信号差分量は、１画素単位ごとに求めてもよいし、複数の画素を含む領域毎単位ごとに求めてもよい。
【００６９】
本実施例では、画像処理部１０７が、シェーディング補正を行った１枚目のＡ画像１１０１を基準画像とし、該基準画像１１０１とシェーディング補正を行った２枚目以降のＡ画像１１０２,１１０３，１１０４との間での信号差分量を算出する。例えば、図１３に示すように基準画像１１０１と２枚目以降のＡ画像１１０２〜１１０４との間で所定量より大きい信号差分量１１０５，１１０６，１１０７が算出されると、これら信号差分量に対応する動体領域１１０８，１１０９，１１１０が検出される。
【００７０】
そして、本実施例では、図８のステップＳ８０５において、１〜４枚目のＡ画像１１０１〜１１０４のうち動体領域以外の非動体領域を合成（加算）する。一方、１枚目のＡ画像１１０１のうち非動体領域に分割露光数に応じたゲインＰを乗じることで、合成された動体領域との明るさを合わせる。本実施例での最終出力画像としての合成画像（第２の合成画像）の信号値ｇ’（ｘ，ｙ）は、（５）式で表わされる。
【００７１】
【数５】
2017085337.tif 000007
【００７２】
以上により、移動する被写体の影響を抑制した合成画像を生成することができる。
【実施例３】
【００７３】
次に、本発明の実施例３について説明する。実施例１では手振れや被写体振れの影響の抑制した合成画像を生成する場合について説明したが、さらにダイナミックレンジが広い被写体を撮像した場合に撮像画像に発生し易い白飛び（画素飽和領域）を抑制することも可能である。
【００７４】
白飛びの判定は、例えば以下のように行う。画像処理部１０７は、例えば図８のフローチャートで示した処理を行う前に撮像素子１０５を通じたプレ撮像により取得した画像データの明るさのヒストグラムを作成する。ヒストグラムの作成方法には様々な方法があるが、例えば画像データをそれぞれ所定の画素数を含む複数の領域に分割し、各分割領域の明るさの平均値を示すヒストグラムを作成する。そして、システム制御部１０１は、カメラ１００で取得できる最大信号値から所定の信号値範囲にヒストグラムの度数が所定割合含まれている場合に、白飛びが発生していると判定する。
【００７５】
白飛びが発生していると判定した場合には、図８におけるステップＳ８０４およびＳ８０５の後に白飛びを抑制するための補正処理としての画像合成を行う。具体的には、図８におけるステップＳ８０３での振れ量の判定結果に応じてステップＳ８０４またはＳ８０５にて生成された合成画像とシェーディング補正後の１枚目のＡ画像とを用いた画像合成を行う。この際、合成画像との明るさを合わせるため、シェーディング補正後の１枚目のＡ画像に分割露光数に応じたゲインを乗じて生成した画像（以下、明るさ補正Ａ画像という）を用いる。
【００７６】
さらに、画像合成は、図１４に示すように、ステップＳ８０４またはＳ８０５で生成された合成画像の明るさ（信号値または信号強度）に基づく合成比率に応じて行う。図１４中の横軸は、ステップＳ８０４またはＳ８０５で生成された合成画像の信号値を示し、縦軸は該合成画像の合成比率を示す。
【００７７】
ステップＳ８０４またはＳ８０５で生成された合成画像の信号値が低い領域１４０４では、この合成画像を最終出力画像とする。つまり、領域１４０４では、ステップＳ８０４またはＳ８０５で生成された合成画像に明るさ補正Ａ画像を合成しない。一方、ステップＳ８０４またはＳ８０５で生成された合成画像の信号値が高い領域１４０６では、明るさ補正Ａ画像を最終出力画像とする。つまり、領域１４０６では、ステップＳ８０４またはＳ８０５で生成された合成画像を明るさ補正Ａ画像に合成しない。
【００７８】
領域１４０４と領域１４０６の間の信号値が中間範囲である領域１４０５では、ステップＳ８０４またはＳ８０５で生成された合成画像と明るさ補正Ａ画像とを重み１４０２に応じて合成する。重み１４０２は、合成画像の信号値が低いほど該合成画像の合成比率が高くなるように設定されている。
【００７９】
本実施例での白飛び抑制のための画像合成により生成される画像（最終出力画像）の信号値ｆ（ｘ，ｙ）は、ステップＳ８０４またはＳ８０５で生成された合成画像の信号値をＧ（ｘ，ｙ）とし、図１４の合成比率をｗ（ｘ，ｙ）とするとき、（６）式により表される。なお、Ｇ（ｘ，ｙ）＝ｇ（ｘ，ｙ）またはｇ′（ｘ，ｙ）である。
【００８０】
【数６】
2017085337.tif 000008
【００８１】
領域１４０４，１４０５はステップＳ８０４またはＳ８０５で生成された合成画像の信号値では白飛びが発生しない信号値範囲に設定する必要がある。
【００８２】
本実施例によれば、手振れや被写体振れによる影響だけでなく、白飛びの発生をも抑制した高画質の最終出力画像を生成することができる。
【００８３】
上記各実施例では、複数回の撮像（分割露光）によって現在得られた複数のＡ画像を用いて検出した振れ量が所定値以下か否かを判定する場合について説明した。しかし、過去（前）の撮像により得られた又は後の撮像により得られるＡ画像を用いてもよい。例えば、動画撮像中に検出される振れ量がフレームごとに変化すると、フレームごとにステップＳ８０４での画像合成処理とステップＳ８０５での画像合成処理とに切り替わる結果、フレームごとにチラつき等が発生するおそれがある。
【００８４】
このため、過去の撮像により得られた又は未来の撮像により得られるＡ画像から検出された振れ量を用いて所定値より大きい振れ量が検出された頻度を統計値（頻度情報）として保存する。そして、この統計値において所定値より大きい振れ量の検出頻度が所定数より低い複数フレーム期間では振れ量を判定せずにステップＳ８０４での画像合成を行うようにする（つまり、振れ量に応じた第１または第２の合成画像の生成の選択を制限する）。これにより、振れ量の判定結果が頻繁に切り替わらないようにすることができ、フレームごとのチラつき等の発生を抑制することができる。
【００８５】
また、上記各実施例では、撮像素子の各画素に設けられたサブ画素を用いて振れの影響や白飛びの発生を抑制する画像合成について説明したが、２つの撮像光学系を搭載した、いわゆる２眼カメラにおいても本実施例と同様の画像合成を行うことができる。
【００８６】
２眼カメラを用いる場合には、第１の撮像光学系を通して被写体を適切な明るさで撮像するための露光時間（露光量）を求め、第２の撮像光学系を通して該露光時間を分割した複数回の撮像（分割露光）を行う。瞳分割を行うサブ画素を用いることでそれに特有のシェーディングが発生するが、互いに独立した２つの撮像光学系を用いることでシェーディングの問題を回避することができる。したがって、シェーディング補正（図８のステップＳ８０１）を行う必要がなくなる。そして、振れ量の判定（図８のステップＳ８０３）や白飛びの有無の判定を行い、振れ量が所定値より大きい場合や白飛びが検出された場合には分割露光により生成された複数の画像を合成（加算）して出力画像としての合成画像を生成する。一方、所定値より大きい振れ量および白飛びが検出されなかった場合は、第１の撮像光学系を通した撮像により得られた画像を出力画像とするか、第１および第２の撮像光学系を通した撮像により得られた画像を合成して合成画像を出力画像とする。
【００８７】
さらに、上記各実施例では、Ａサブ画素に対して分割露光を行う際の分割露光時間の合計とＢサブ画素による通常の露光時間とが一致する場合について説明したが、これらは必ずしも一致しなくてもよい。この場合は、Ａサブ画素により得られるＡ画像とＢサブ画素により得られるＢ画像とを合成する前に、加算したＡ画像の明るさをＢ画像の明るさに合わせるようにＡ画像またはＢ画像に対してゲイン補正を行えばよい。
【実施例４】
【００８８】
実施例１〜３では、画像処理装置（画像処理部１０７）を搭載した撮像装置について説明したが、実施例１〜３にて説明した画像合成処理は、パーソナルコンピュータにインストールされた画像処理プログラムに従ってパーソナルコンピュータが行うこともできる。この場合、パーソナルコンピュータが本発明の実施例４としての画像処理装置に相当する。パーソナルコンピュータは、撮像装置により生成されたＡ画像およびＢ画像を、該撮像装置から有線／無線通信を介して、または他のパーソナルコンピュータからインターネット等の回線を介して取得する。Ａ画像およびＢ画像が記録された画像記録媒体を介してそれらの画像を取得してもよい。そして、Ａ画像およびＢ画像を取得したパーソナルコンピュータは、画像処理プログラムによって実施例１〜３にて説明した画像合成処理を行い、その結果得られた合成画像を出力する。
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８９】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００９０】
１００  デジタルカメラ
１０１  システム制御部
１０５  撮像素子
１０７  画像処理部
【図１】
2017085337.tif 000009
【図２】
2017085337.tif 000010
【図３】
2017085337.tif 000011
【図４】
2017085337.tif 000012
【図５】
2017085337.tif 000013
【図６】
2017085337.tif 000014
【図７】
2017085337.tif 000015
【図８】
2017085337.tif 000016
【図９】
2017085337.tif 000017
【図１０】
2017085337.tif 000018
【図１１】
2017085337.tif 000019
【図１２】
2017085337.tif 000020
【図１３】
2017085337.tif 000021
【図１４】
2017085337.tif 000022