≪第1実施形態≫
図1は、第1実施形態の画像処理装置、画像処理方法及び画像処理プログラムを搭載したカメラユニット付き電子機器1の概略構成を示すブロック図である。
電子機器1は、例えば、デジタルカメラ、携帯電話、ゲーム機器等の撮影機能を搭載した各種機器とすることができるが、本実施形態では、電子機器1がデジタルカメラ(撮影装置)である場合を例示して説明する。あるいは、電子機器1は、撮影機能を搭載することなく、画像の入力を受けて当該画像に画像処理を施すPC等の各種機器とすることもできる。詳しくは後述するが、本実施形態の電子機器1は、一例として手振れを利用したマルチショット合成を実行できるので、手振れを起こし易い撮影機能を有する携帯型の電子機器に搭載して好適である。
デジタルカメラ1は、カメラボディCBの内部に、カメラユニット10と、画像処理装置(プロセッサ)20と、メモリ(例えばRAM)30と、記録媒体(例えばUSBメモリ)40と、表示装置(例えばLCD)50と、入力装置60と、センサ70と、防振ユニット(手振れ補正機構、駆動機構)80と、CPU90と、これらの各構成要素を直接的又は間接的に接続するバス100とを有している。なお、画像処理装置(プロセッサ)20とCPU90は、同一のハードウェアにより構成されてもよいし、別々のハードウェアにより構成されてもよい。
カメラユニット10は、撮影光学系(図示略)と、イメージセンサ11(図2)とを有している。撮影光学系による被写体像はイメージセンサ11の受光面上に結像され、マトリックス状に配置された検出色の異なる複数の画素によって電気信号に変換され、画像として画像処理装置20に出力される。またイメージセンサ11は、複数の画像を取得する「取得部」として機能する。画像処理装置20は、カメラユニット10による画像に所定の画像処理を施す。画像処理装置20により画像処理が施された画像は、メモリ30に一時的に記録される。メモリ30に記録された画像は、ユーザの選択・決定に従って、記録媒体40に保存され、表示装置50に表示される。
入力装置60は、例えば、電源スイッチ、レリーズスイッチ、各種機能の選択・設定を実行するためのダイヤルスイッチ、四方向スイッチ、タッチパネル等から構成される。センサ70は、例えば、デジタルカメラ1のボディ本体に加えられる加速度、角速度、角加速度を検出する加速度検出器、角速度検出器、角加速度検出器等から構成される。センサ70による出力は、デジタルカメラ1のボディ本体の振れを示す振れ検出信号として、CPU90に入力される。
防振ユニット80は、カメラユニット10の撮影光学系とイメージセンサ11の少なくとも一方を移動部材(駆動部材)として、当該移動部材を撮影光学系の光軸と異なる方向に(例えば撮影光学系の光軸と直交する平面内で)駆動する。CPU90は、防振ユニット80を駆動制御する。CPU90は、センサ70からデジタルカメラ1のボディ本体の振れを示す振れ検出信号の入力を受けて、防振ユニット80によって移動部材を撮影光学系の光軸と異なる方向に駆動する。これにより、イメージセンサ11における被写体像の結像位置を変位させて、手振れに起因する像振れを補正することができる。なお、防振ユニット80の構成については後に詳細に説明する。
デジタルカメラ1は、防振ユニット80を利用して、カメラユニット10のイメージセンサ11を撮影光学系の光軸と異なる方向に(例えば撮影光学系の光軸と直交する平面内で)微細に移動させながら時系列に複数回の撮影を行い、その画像を1枚に合成(画像の単純な加算ではなくデータ上の画像処理による特殊演算を行っての合成)することで、超高精細(高画質、高精度)な画像を生成する撮影モード(マルチショット合成モード)を搭載している。「マルチショット合成モード」では、1画素あたり1つの色情報のみを取得する従来技術と異なり、1画素毎にRGB各色の情報を得ることで、細部までのディティールや色再現に優れた極めて高精細な画像を描き出すことができる。また、モアレや偽色が発生することが無く、高感度ノイズを低減する効果が得られる。
図2A~図2Dは、本実施形態のマルチショット合成モードの一例を示す概念図である。図2A~図2Dにおいて、イメージセンサ11は、受光面にマトリックス状に所定の画素ピッチで配置された多数の画素を備え、各画素の前面にベイヤ配列のカラーフィルタR、G(Gr、Gb)、Bのいずれかが配置されている。各画素は、前面のカラーフィルタR、G(Gr、Gb)、Bを透過して入射した被写体光線の色を検出、つまり、色成分(色帯域)の光を光電変換し、その強さ(輝度)に応じた電荷を蓄積する。より具体的に、図2Aの基準位置で1枚の画像を撮影し、そこから太枠で囲んだ光束領域をイメージセンサ11に対して1画素ピッチだけ下方に相対移動させた図2Bの位置で1枚の画像を撮影し、そこから太枠で囲んだ光束領域をイメージセンサ11に対して1画素ピッチだけ右方に相対移動させた図2Cの位置で1枚の画像を撮影し、そこから太枠で囲んだ光束領域をイメージセンサ11に対して1画素ピッチだけ上方に相対移動させた図2Dの位置で1枚の画像を撮影し、最後に図2Aの基準位置に戻る。このように、光軸直交平面内で、太枠で囲んだ光束領域をイメージセンサ11に対して1画素ピッチの正方形を描くように駆動しながら時系列に撮影した4枚の画像が、RAW画像データとして、画像処理装置20に入力される。画像処理装置20は、イメージセンサ11が時系列に撮影した4枚の画像を合成して合成画像を得る。画像処理装置20による具体的な処理内容については、後に詳細に説明する。
防振ユニット80を利用したマルチショット合成では、イメージセンサ11の画素単位の移動を保証するために、デジタルカメラ1のボディ本体を三脚等で位置決め固定しなければならない。これに対し、本実施形態では、防振ユニット80を利用することなく(手振れ補正駆動を行うことなく)、且つ、デジタルカメラ1のボディ本体を撮影者が手持ちした状態でも、マルチショット合成を実行可能である。すなわち、イメージセンサ11を能動的に動かすのではなく、撮影者の手振れ(揺らぎ)によるショット毎の画像のずれを利用して、マルチショット合成を行う。以下では、この撮影モードを「手振れ利用マルチショット合成モード」と呼ぶことがある。
デジタルカメラ1の入力装置60を操作することで、「手振れ利用マルチショット合成モード(特定の撮影モード)」とそれ以外の撮影モード(例えば防振ユニット80を利用したマルチショット合成モード)を切り替えることができる。また、デジタルカメラ10の表示装置50は、「手振れ利用マルチショット合成モード(特定の撮影モード)」が設定されていることを表示することができる。また、本実施形態の特定の撮影モード(特定の画像処理モード)は、上述した手振れ利用マルチショット合成モードの他にも、手振れを利用することなく連写撮影によって得た複数の画像、さらに指定のフォルダ、クラウドストレージ、動画等といった記録済みの画像群が存在する中から、構図やアングル、撮影時間、画質的特徴が近しい複数の画像を選択・抽出したものに適用する撮影モード(画像処理モード)を含むものとする。デジタルカメラ1の入力装置60と表示装置50は、この広い概念の特定の撮影モード(特定の画像処理モード)の切り替えと表示を実行することができる。
図3に示すように、画像処理装置(プロセッサ)20は、マルチショット合成を実行するための構成要素として、マッチング部21と、分割部22と、検出部23と、選択部24と、合成部25とを有している。
マッチング部21は、例えば、パターンマッチング等の画像の一致度を評価する手法、及び/又は、センサ70の出力を利用して、カメラユニット10が撮影した複数の画像がマルチショット合成に適しているか否かを判定する。複数の画像の枚数には自由度があり、その具体的な枚数は問わない。例えば、マッチング部21は、所定枚数(例えば4枚)の画像が入力した段階でマッチング処理を実行することができる。例えば、複数の画像が同構図や同アングルで連写モードを利用して撮影されたものである場合(例えば同一の被写体で相関がある場合)、当該複数の画像はマルチショット合成に適していると判定される可能性が高い。一方、複数の画像が構図やアングルを異ならせて時間的にずらして撮影されたものである場合(例えば異なる被写体で相関がない場合)、当該複数の画像はマルチショット合成に適していないと判定される可能性が高い。マッチング部21は、複数の画像がマルチショット合成に適していると判定した場合は当該マルチショット合成を続行し、複数の画像がマルチショット合成に適していないと判定した場合は当該マルチショット合成を中止することができる。
複数の画像(後述する基準画像、比較画像、合成対象画像を含み得る)は、相互に画素の相関があることが好ましい。例えば、複数の画像は、動画や連写で得られるような、撮影の対象や露出が極端に変化しないものであることが好ましい。一方、被写体が移動しない風景や写真等の場合、複数の画像は、一度に撮影した動画や連写に限らず、ある程度の時間をおいて撮影されたものであってもよい。また、被写体が同じであっても、撮影時期が昼と夜のように露出が異なる場合、後述する画像合成に不具合が発生するおそれがあるので、複数の画像は、相互の露出が概ね合っていることが好ましい。露出の異なる複数の画像を使用する場合、いずれかの画像に露出を合わせるような正規化を行うことにより、パターンマッチングの精度を向上させることができる。
複数の画像がマルチショット合成に適していないとマッチング部21が判定した場合、マルチショット合成に適した複数の画像が揃うまで、不要なフレームを捨てながら、カメラユニット10による撮影を繰り返すことができる。その際、マルチショット合成に適した複数の画像を得やすくするために、撮影条件を設定(制限)することができる。例えば、ISO感度、シャッタ速度、絞り開度、焦点距離、撮影距離、環境の明るさ等の撮影条件を設定(制限)することができる。また、信号対雑音比(S/N比)が悪い場合には、カメラユニット10による撮影枚数を増やすことができる。
マッチング部21に入力される複数の画像は、カメラユニット10が撮影した直後のものに限定されない。例えば、指定のフォルダ、クラウドストレージ、動画等といった記録済みの画像群が存在する中から、構図やアングル、撮影時間、画質的特徴が近しい複数の画像を選択・抽出することができる。この選択・抽出の処理を連続的に繰り返す場合は、複数の画像をN枚の独立した組としてもよいし、N-1枚のオーバーラップを持った組としてもよい。
デジタルカメラ1を三脚等に固定せずに撮影を行う場合、画像間の差分がセンサの駆動量と一致せず、従来のマルチショット合成よりも合成に適した画像の抽出が困難となる。また、マッチングが上手くいかない場合、何度もマッチングを繰り返すことにより、処理量や処理時間が増大して、ユーザの操作性が低下するおそれがある。上記のように、画像の抽出を行う閾値・規定・制限を下げながら繰り返し試行することも考えられるが、処理量や処理時間の増大に起因するユーザの操作性の低下が問題となる。
本実施形態では、上記の技術課題を解決するために、合成に適した画像の抽出を画像単位で行うのではなく、分割画像領域に基づく最適な方法で行うことで、当該分割画像領域のペアリングを高精度で実行することができる。すなわち、基準画像に対して合成するための合成対象画像を抽出する際に、基準画像と比較画像を1枚の画像同士として相関を見るよりも、基準画像と比較画像を複数の領域(ブロック)に分割して、領域(ブロック)毎に相関を見る方が、合成対象となり得る画像領域を高精度に抽出する可能性が高くなる。また、詳しくは後述するが、複数の画像がマルチショット合成に適していないと判定された場合に、その旨をユーザに報知することで、マルチショット合成に適した画像を撮影するように促すことができる。
分割部22は、複数の画像を分割パターンに基づいた分割画像領域に分割する。各分割画像領域は、複数の画像において互いに対応している。図4A~図4Dは、複数の画像を分割画像領域に分割する場合の一例を示す図である。図4A~図4Dは、予め定められた分割パターンであって縦横同サイズのマトリクス状の分割画像領域に分割する場合を例示している。図4Aでは、第1の画像が縦横同サイズのマトリクス状の画像領域1-1、1-2、・・・、1-Nに分割されている。図4Bでは、第2の画像が縦横同サイズのマトリクス状の画像領域2-1、2-2、・・・、2-Nに分割されている。図4Cでは、第3の画像が縦横同サイズのマトリクス状の画像領域3-1、3-2、・・・、3-Nに分割されている。図4Dでは、第4の画像が縦横同サイズのマトリクス状の画像領域4-1、4-2、・・・、4-Nに分割されている。各画像領域のブロックサイズには自由度があるが、例えば、各画像領域のブロックサイズを128画素×128画素とすることができる。
検出部23は、複数の画像の分割画像領域毎(例えば互いに対応する分割画像領域毎)の位置ずれ量(画素ずれ量)を検出する。図4A~図4Dの例に沿って説明すると、検出部23は、第1の画像の画像領域1-1と、第2の画像の画像領域2-1と、第3の画像の画像領域3-1と、第4の画像の画像領域4-1との位置ずれ量(画素ずれ量)を計算する。また、検出部23は、第1の画像の画像領域1-2と、第2の画像の画像領域2-2と、第3の画像の画像領域3-2と、第4の画像の画像領域4-2との位置ずれ量(画素ずれ量)を計算する。また、検出部23は、第1の画像の画像領域1-Nと、第2の画像の画像領域2-Nと、第3の画像の画像領域3-Nと、第4の画像の画像領域4-Nとの位置ずれ量(画素ずれ量)を計算する。このように、検出部23は、各画像の同じ位置のブロック同士(分割画像領域同士)で、例えば、サブピクセル推定によって相関を演算する。
検出部23は、マッチング部21によりマルチショット合成に適していると判定された複数の画像の分割画像領域毎の画素ずれ量(位置ずれ量)を検出する。検出部23は、例えば、特許第4760923号公報に開示されているブロックマッチング等の周知技術を用いて、複数の画像の分割画像領域毎の画素ずれ量を確実かつ精密に検出することができる。また検出部23は、以下で説明する各種の手法によっても、複数の画像の分割画像領域毎の画素ずれ量を確実かつ精密に検出することができる。
検出部23は、例えば、センサ70を構成する加速度検出器、角速度検出器、角加速度検出器の少なくとも1つの出力に基づいて、複数の画像の分割画像領域毎の画素ずれ量を検出することができる。
検出部23は、イメージセンサ11の画素出力に基づいて、ピクセル毎又はサブピクセル毎に、複数の画像の分割画像領域毎の画素ずれ量を検出することができる。さらに、検出部23は、イメージセンサ11の画素出力に基づいて、RGBプレーン毎に、複数の画像の分割画像領域毎の画素ずれ量を検出することができる。その際、検出部23は、RGBプレーンのうちの特定のRGBプレーンだけを使用してもよいし、使用するRGBプレーンを変動させてもよい。例えば、第1の画像と第2の画像の分割画像領域毎の画素ずれ量を検出するときにはGプレーンを使用して、第3の画像と第4の画像の分割画像領域毎の画素ずれ量を検出するときにはRプレーンを使用するといった柔軟な対応が可能である。
検出部23は、上述したセンサ70の出力を利用した検出態様とイメージセンサ11の画素出力を利用した検出態様を組み合わせることができる。すなわち、センサ70の出力を利用して画素ずれ量の方向性におおよその見当をつけた後に、イメージセンサ11の画素出力を利用して精密な画素ずれ量を検出することができる。
検出部23は、イメージセンサ11の画素出力に特定用途の画素出力が含まれている場合、当該特定用途の画素出力を除外するか、低い重み付けを与えて画素ずれ量を検出することができる。特定用途の画素出力とは、例えば、撮影に無関係な位相差検出画素などを含むことができる。
選択部24は、検出部23が検出した相関値である位置ずれ量(画素ずれ量)に応じて、複数の画像から合成対象分割画像領域を選択する。例えば、選択部24は、いずれかの画像の分割画像領域を基準分割画像領域に設定し、その他の画像の分割画像領域を比較分割画像領域に設定して、基準分割画像領域との位置ずれ量(画素ずれ量)が所定の閾値以内であり、且つ、最もずれ量が小さく奇数画素分または偶数画素分ずれている比較分割画像領域を合成対象分割画像領域として選択することができる。例えば、図4Aの第1の画像の画像領域1-1~1-Nを基準画像領域に設定した場合、基準画像領域1-1に対する合成対象画像領域として画像領域2-1、3-1、4-1の中から少なくとも1つを選択することができ、基準画像領域1-2に対する合成対象画像領域として画像領域2-2、3-2、4-2の中から少なくとも1つを選択することができ、基準画像領域1-Nに対する合成対象画像領域として画像領域2-N、3-N、4-Nの中から少なくとも1つを選択することができる。
選択部24は、検出部23が検出した複数の画像の分割画像領域の画素ずれ量に応じて、当該複数の画像の分割画像領域から合成対象分割画像領域を選択する。より具体的に、選択部24は、複数の画像のいずれかの画像の分割画像領域を基準分割画像領域に設定するとともに残りの画像の分割画像領域を比較分割画像領域に設定して、基準分割画像領域と比較分割画像領域の画素ずれ量に応じて、比較分割画像領域から合成対象分割画像領域を選択する。
図5は、連写で撮影した4枚の画像の1枚を基準画像に設定するとともに残りの3枚を比較画像1~比較画像3に設定した場合を示す概念図である。図5Aが基準画像を示しており、図5B~図5Dが比較画像1~比較画像3を示している。図5A~図5Dは、画像(基準画像、比較画像)を一単位とした処理を例示しているが、分割画像領域(基準分割画像領域、比較分割画像領域)を一単位とした処理もこれと同様である。見た目で判別するのは難しいが、基準画像と比較画像1~比較画像3(基準分割画像領域と比較分割画像領域)の間には、微小画素(例えば数画素)レベルの画素ずれが存在している。この画素ずれは、例えば、デジタルカメラ1のボディ本体を持つ撮影者の手振れ(揺らぎ)に起因する。本実施形態では、基準画像と比較画像1~比較画像3(基準分割画像領域と比較分割画像領域)の間の画素ずれを、防振ユニット80を利用したマルチショット合成におけるイメージセンサ11の駆動量(図2参照)と同視することにより、防振ユニット80を利用することなくマルチショット合成を実行する。
図5Aの基準画像に対して所定の分割パターン(詳しくは後述)が設定されているが、合成対象画像を探すための図5B~図5D比較画像に対しても同様の分割パターンが設定されるものとする。
選択部24は、基準画像(基準分割画像領域)の画素座標(x、y)を(0、0)と定義したときに、比較画像(比較分割画像領域)への画素ずれ量を示す画素座標(dx、dy)が次のパターンとなるような画像の組み合わせを探す。基準画像は、基準画像に対する画素ずれ量が0のため、便宜上、(dx、dy)=(0、0)と表す。
(A)基準画像:(dx、dy)=(0、0)
(B)比較画像:(dx、dy)=(偶数、奇数)
(C)比較画像:(dx、dy)=(奇数、奇数)
(D)比較画像:(dx、dy)=(奇数、偶数)
理想的には、画素ずれ量である比較画像(比較分割画像領域)の画素座標(dx、dy)は整数画素であることが好ましいが、実際的には、そのようなケースは殆ど存在せず、(A)~(D)を満足する合成対象画像(合成対象分割画像領域)を選択することは困難である。そこで、選択部24は、例えば、-0.25<Eallowable<0.25を満足する1画素以下の許容誤差Eallowableを設定して合成対象画像(合成対象分割画像領域)を選択する。より具体的に、選択部23は、(A)~(D)を次の(A’)~(D’)に置き換えて、合成対象画像(合成対象分割画像領域)を選択する。なお、(A’)~(D’)においてEallowable=0とすれば、(A)~(D)と(A’)~(D’)は等価である。
(A’)基準画像:(dx、dy)=(0、0)
(B’)比較画像:(dx、dy)=(偶数+Eallowable、奇数+Eallowable)
(C’)比較画像:(dx、dy)=(奇数+Eallowable、奇数+Eallowable)
(D’)比較画像:(dx、dy)=(奇数+Eallowable、偶数+Eallowable)
許容誤差Eallowableを-0.25<Eallowable<0.25の範囲内で設定することにより、偶数画素か奇数画素かを問うことなく、整数画素に近い範囲の画素座標だけをピックアップして高精度・高信頼性の合成対象画像を選択することができる。例えば、ある画素座標が「-2.90」や「3.22」であれば、許容誤差Eallowableを適用することで、当該画素座標が「3」に近いと判断して当該画素座標を選択する。一方、ある画素座標が「-2.64」や「3.38」であれば、許容誤差Eallowableを適用しても、当該座標が「3」に近いとは判断せず、当該画素座標を選択しない。なお、許容誤差Eallowableを-0.5<Eallowable<0.5の範囲内で設定することで、奇数画素と偶数画素の中間付近の画素を必ず偶数画素か奇数画素のいずれかに振り分けることができる。例えば、奇数画素と偶数画素の中間値の近傍にある画素座標「3.48」と「3.53」があった場合、「3.48」が「3」に近いと判断され、「3.53」が「4」に近いと判断される。
選択部24は、複数の画像の中から、上記(A’)を満足する基準画像(基準分割画像領域)を設定するとともに、上記(B’)を満足する比較画像(比較分割画像領域)及び/又は上記(D’)を満足する比較画像(比較分割画像領域)を合成対象画像(合成対象分割画像領域)として選択する。これにより、後述する画像合成時に、1画素毎に2つのG(Gr、Gb)を色情報成分として含ませることが可能になる。
より好ましくは、選択部24は、複数の画像の中から、上記(A’)を満足する基準画像(基準分割画像領域)を設定するとともに、上記(B’)を満足する比較画像(比較分割画像領域)、上記(C’)を満足する比較画像(比較分割画像領域)及び上記(D’)を満足する比較画像(比較分割画像領域)を合成対象画像(合成対象分割画像領域)として選択する。これにより、後述する画像合成時に、1画素毎にRGBの各色の色情報成分を含ませることが可能になる。
選択部24は、比較画像(比較分割画像領域)から合成対象画像(合成対象分割画像領域)を選択できなかったとき、Eallowableの境界値(絶対値)を広げて、合成対象画像(合成対象分割画像領域)の選択を再試行することができる。例えば、選択部24は、1回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの絶対値を0.01に設定し、2回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの境界値(絶対値)を0.05に設定し、3回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの境界値(絶対値)を0.10に設定し、4回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの境界値(絶対値)を0.15に設定し、5回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの境界値(絶対値)を0.20に設定し、6回目の合成対象画像(合成対象分割画像領域)の選択ではEallowableの境界値(絶対値)を0.25に設定することができる。選択部24は、Eallowableの境界値(絶対値)を0.25に設定しても合成対象画像(合成対象分割画像領域)を選択できなかったとき、合成対象画像(合成対象分割画像領域)の選択を中止することができる。Eallowableの境界値(絶対値)を段階的に広げていくことにより、合成対象画像(合成対象分割画像領域)の選択の精度を段階的に緩くすることができる。
選択部24は、比較画像から合成対象画像(合成対象分割画像領域)を選択できなかったとき、基準画像及び比較画像(基準分割画像領域及び比較分割画像領域)を再設定して、合成対象画像(合成対象分割画像領域)の選択を再試行することができる。画素ずれ量は基準画像(基準分割画像領域)との関係で規定されるので、複数の画像のいずれを基準画像(基準分割画像領域)に設定するかにより、合成対象画像(合成対象分割画像領域)を選択できる場合と選択できない場合がある。従って、基準画像(基準分割画像領域)を再設定して合成対象画像(合成対象分割画像領域)の選択を再試行すれば、当該合成対象画像(合成対象分割画像領域)の選択が成功する可能性がある。すなわち、ある画像を基準画像(基準分割画像領域)に設定して合成対象画像(合成対象分割画像領域)の選択に失敗した場合であっても、別の画像を基準画像(基準分割画像領域)に設定すれば合成対象画像(合成対象分割画像領域)の選択に成功する場合がある。
選択部24は、画素ずれ量である比較画像(比較分割画像領域)の画素座標(dx、dy)が所定のエラー閾値(例えば数十画素)を超えている場合には、合成対象画像(合成対象分割画像領域)の選択を中止することができる。
合成部25は、検出部23が検出した相関値である位置ずれ量(画素ずれ量)と、選択部24が選択した合成対象画像領域(合成対象分割画像領域)とに基づいて、合成画像を得る。合成部25は、検出部23が検出した相関値である位置ずれ量(画素ずれ量)に応じて、選択部24が選択した合成対象画像領域の画像演算を実行することにより、合成画像を得る。例えば、合成部25は、図4Aの基準分割画像領域1-1に、図4B~図4Dの比較分割画像領域2-1~4-1の中から選択部24が選択した合成対象分割画像領域を合成または置換する。また、合成部25は、図4Aの基準分割画像領域1-2に、図4B~図4Dの比較分割画像領域2-2~4-2の中から選択部24が選択した合成対象分割画像領域を合成または置換する。また、合成部25は、図4Aの基準分割画像領域1-Nに、図4B~図4Dの比較分割画像領域2-N~4-Nの中から選択部24が選択した合成対象分割画像領域を合成または置換する。
このようにして、合成部25は、分割部22が分割した複数の分割画像領域の各々について、検出部23と選択部24が協働して求めた合成対象分割画像領域による画像演算(合成または置換)を実行することにより、1枚の合成画像を得る。
つまり、1枚の基準画像の各基準分割画像領域は、その他の比較画像の各比較分割画像領域から選択された合成対象分割画像領域に基づいて合成または置換される。例えば、基準画像である第1の画像の基準分割画像領域1-1を第2の画像の合成対象分割画像領域2-1で合成または置換し、第1の画像の基準分割画像領域1-2を第3の画像の合成対象分割画像領域3-2で合成または置換し、第1の画像の基準分割画像領域1-Nを第4の画像の合成対象分割画像領域4-Nで合成または置換することができる。
なお、基準画像のある基準分割画像領域について、比較画像の比較分割画像領域から適切な合成対象分割画像領域を選択できなかった場合は、当該基準分割画像領域の合成または置換を行うことなく、当該基準分割画像領域をそのまま利用してもよい。
上述したように、合成部25は、検出部23が検出した画素ずれ量に応じて、選択部24が選択した基準分割画像領域と合成対象分割画像領域(比較分割画像領域から選択した合成対象分割画像領域)を相対移動して合成画像を得る。ここで、「分割画像領域を相対移動する」とは、当該合成対象分割画像領域が基準分割画像領域に対して相対移動するように当該基準分割画像領域のデータを修正することを意味する。別言すると、「分割画像領域を相対移動する」とは、合成対象分割画像領域を基準分割画像領域に対して合成する際に、基準分割画像領域において、合成対象分割画像領域の相対移動を加味した上で、画像データを抽出することを意味する。
あるいは、基準分割画像領域と合成対象分割画像領域の「相対移動」とは、合成対象分割画像領域と基準分割画像領域の相対的な位置合わせを意味する。つまり合成画像は、基準分割画像領域と合成対象分割画像領域の間での画素ずれ量(位置ずれ)を加味した上で、合成対象分割画像領域の相対位置の画像データ(画素)を抽出し、抽出した画素値をもとに当該基準分割画像領域の所望の位置の画像データ(画素)を修正することで得られる。なお、合成画像は、基準分割画像領域の画像データを直接修正(上書き)した画像に限定されず、当該基準分割画像領域の画素データを抽出して、別の画像として生成してもよい。
合成部25は、検出部23が検出した画素ずれ量に応じて、基準分割画像領域と合成対象分割画像領域(基準分割画像領域と比較分割画像領域から選択した合成対象分割画像領域)が重なるように、当該画像を相対移動し、合成処理を行う。
合成部25は、検出部23により検出された画素ずれ量とは異なる単位量で、合成対象分割画像領域を相対移動することができる。例えば、検出部23による画素ずれ量の検出精度をサブピクセル単位とする一方、合成部25による合成対象分割画像領域の移動精度をピクセル単位として、検出部の画素ずれ量と、合成部の移動量が、1単位あたりの量が異なる単位を設定してもよい。このように、合成部25は、検出部23による画素ずれ量の検出ピクセル度合い(検出ピクセル分解能、検出ピクセル刻み、検出ピクセル基準)とは異なる移動ピクセル度合い(移動ピクセル分解能、移動ピクセル刻み、移動ピクセル基準)で、合成対象分割画像領域を相対移動させてもよい。
合成部25によって相対移動させられた基準分割画像領域と合成対象分割画像領域の画素座標は、上記の(A)~(D)と(A’)~(D’)の例に倣うと、例えば、次の(A”)~(D”)により表される。Eallowableを許容誤差として無視すれば、(A”)~(D”)で表される4枚の画像は、防振ユニット80を利用したマルチショット合成で使用される4枚の画像(図2A~図2D)と完全に一致する。勿論、許容誤差としてのEallowableが残存しても、防振ユニット80を利用したマルチショット合成と等価な4枚の画像が得られる。
(A”)基準画像:(dx、dy)=(0、0)
(B”)合成対象画像:(dx、dy)=(0+Eallowable、1+Eallowable)
(C”)合成対象画像:(dx、dy)=(1+Eallowable、1+Eallowable)
(D”)合成対象画像:(dx、dy)=(1+Eallowable、0+Eallowable)
図6は、基準画像と比較画像1~比較画像3(基準分割画像領域と比較分割画像領域)を合成して合成画像を得る場合を示す概念図である。合成部25による合成画像は、1画素毎に2つのG(Gr、Gb)の色情報成分又はRGB各色の色情報成分を含んでいるので、細部までのディティールや色再現に優れた極めて高精細な画像を描き出すことができる。また、モアレや偽色が発生することが無く、高感度ノイズを低減する効果が得られる。
ここで、図4A~図4Dの例では、分割部22が、複数の画像を、予め定められた分割パターンであって縦横同サイズのマトリクス状の分割画像領域に分割する場合(分割パターンを固定的・静的に決定する場合)を例示している。これに対して、複数の画像を分割画像領域に分割するための分割パターンを動的に設定することも可能である。これにより、分割画像領域のブロックサイズやブロック配列をリアルタイムに最適化して、分割画像領域のペアリングをより高精度で実行することができる。
図7は、画像処理装置(プロセッサ)20の内部構成を示す別の機能ブロック図である。図7において、画像処理装置(プロセッサ)20は、図3の各構成要素に加えて、複数の画像に含まれる第1の特徴量と、該第1の特徴量と異なる第2の特徴量の少なくとも一方に基づいて分割パターンを動的に設定(生成)する設定部(生成部)26を有している。ここで、「第1の特徴量」は、画像(画像情報)に含まれる特徴量を示しており、例えば、画像の空間周波数、画像内の対象物の位置や大きさ、画素情報や色情報を含むことができる。また、「第2の特徴量」は、複数の画像の取得時の情報を示す特徴量と、画像処理装置(プロセッサ)20の情報(設定情報)との少なくとも一方を示しており、例えば、撮影時に得られるセンサ情報(センサ70による情報)、撮影モードに関する情報、撮影機能に関する情報等を含むことができる。
図8A~図8Dは、複数の画像を所定の分割画像領域に分割する場合の別の例を示す図である。図8Aでは、図4A~図4Dと同様に、設定部26が、分割画像領域が同サイズのマトリクス状のブロックとなる分割パターンを設定している。図8B~図8Dでは、設定部26が、分割画像領域が少なくとも2つのサイズとなる分割パターンを設定している。図8Bでは、画像中央部に相対的に大きいサイズの単一の分割画像領域を設定するとともに、画像周辺部に相対的に小さいサイズの12の分割画像領域を設定している。図8Cでは、画像の下半分に相対的に大きいサイズの2の分割画像領域を設定するとともに、画像の上半分をさらに上下に分割して、その上側に相対的に中間のサイズの4の分割画像領域を設定し、その下側に相対的に小さいサイズの16の分割画像領域を設定している。図8Dでは、画像中央部に相対的に小さいサイズの4の分割画像領域を設定するとともに、画像周辺部を相対的に大きいサイズの単一の分割画像領域を設定している。
設定部26は、分割画像領域の分割パターンを複数記憶しておき、ペアリング時に分割パターンを変更することができる。一例として、予め何種類かの分割画像領域の分割パターンを記憶しておき、撮影機能、撮影モード、撮影条件、撮影画像の特徴量等(例えば、第1、第2の特徴量)の各種条件に基づいて、採用する分割パターンを決めたり、当該分割パターンを変更したりする。分割画像領域のブロックサイズが細かいほどペアリングの精度が上がるが、計算量が増えて処理時間が長くなるので、ユーザによるスムーズな撮影の妨げとなってしまう。そこで、予めペアリングしやすい画像が得られる撮影では分割画像領域のブロックサイズを大きく設定し、ペアリングしにくい画像が得られる撮影ではブロックサイズを小さく設定する。
一例としては、被写体が多く画面に含まれる画素情報が複雑な場合(例えば街中の雑踏を撮影した写真等)では、ブロックサイズを全体的に小さく設定してペアリングの精度を向上させて、高解像度の画像を取得する。一方、被写体が少なく画面に含まれる画素情報が簡単な場合(例えば単調な模様を撮影した写真等)では、比較的ペアリングしやすいので、ブロックサイズを大きく設定することで処理速度を上げることが好ましい。
すなわち、設定部26は、空間周波数が相対的に高い分割画像領域を相対的に小さいサイズとし、空間周波数が相対的に低い分割画像領域を相対的に大きいサイズとする分割パターンを設定することができる。例えば、設定部26は、空間周波数の高低を分けるための所定の基準値を予め保持しており、当該基準値よりも高い空間周波数を持つ分割画像領域を相対的に小さいサイズに設定し、当該基準値よりも低い空間周波数を持つ分割画像領域を相対的に大きいサイズに設定することができる。
図9、図10を参照して、分割画像領域の設定の別の例について説明する。図9、図10の分割画像領域の設定は、設定部26によって実行されてもよい。
デジタルカメラ1を固定せずに複数の撮影を行う場合、画像の回転方向のずれが大きくなり、ペアリングの精度が下がるという課題がある。これに対し、分割部22によって複数の画像を所定の分割画像領域に分割して、各分割画像領域について位置ずれ量(画素ずれ量)を演算することにより、駆動部材(撮像素子)の回転方向のずれ量の悪影響を低減することができる。
この場合、分割部22により分割された各分割画像領域は、互いに異なるサイズの分割画像領域を含むことが好ましい。より具体的に、分割部22により分割された各分割画像領域のうち、複数の画像の中央側が相対的に大きいサイズの分割画像領域に分割され、複数の画像の周辺側が相対的に小さいサイズの分割画像領域に分割されることが好ましい。
図10は、複数の画像を互いに異なるサイズの分割画像領域に分割する場合の一例を示している。図10では、最小ブロック単位で縦8ブロック×横10ブロックの計80ブロックに相当する画像領域を、画像中央側の最大画像領域ブロックと、最大画像領域ブロックの左右両側に位置する2つの中間画像領域ブロックと、最大画像領域ブロックと2つの中間画像領域ブロックの周囲を取り囲む画像周辺側の最小画像領域ブロックとに分割している。最大画像領域ブロックは、最小画像領域ブロック(最小ブロック単位)が縦横4つずつの16ブロック分のサイズであり、中間画像領域ブロックは、最小画像領域ブロック(最小ブロック単位)が縦横2つずつの4ブロック分のサイズである。
例えば、複数の画像の間で回転方向のずれがある場合、そのずれ量は、画像中心部寄りであるほど小さくなり、画像周辺部寄りであるほど大きくなる(図9を参照)。そこで、回転方向のずれ量が小さい画像中心部の画像領域を大きい(粗い)ブロックに分割する一方、回転方向のずれ量が大きい画像周辺部の画像領域を小さい(細かい)ブロックに分割することで、各画像領域ブロック(特に画像周辺部の画像領域ブロック)において、より高い精度の画像演算を実行して、マルチショット合成の画像品質を向上することができる。また、画像演算の処理負荷及び処理時間を低減することができる。仮に、図10において、全ての画像領域ブロックを最小画像領域ブロック(最小ブロック単位)に分割すると、画像演算の処理負荷及び処理時間が増大してしまう。また、図10において、全ての画像領域ブロックを最大画像領域ブロックに分割すると、回転方向のずれ量が大きい画像周辺部において、画像領域ブロック同士の相関がとれなくなる(画素ずれ量が演算できなくなる)おそれがある。
1枚の画像中で位置ずれ量が異なる場合、画像を同じサイズの分割画像領域(ブロック)に分割して対応するブロック同士を合成すると、ブロック毎のずれ量が不均一となって、ペアリングの精度が低くなってしまう。また、合成後の画像が部分的に解像感を損なっている場合がある。この課題を解決するために、1枚の画像中で位置ずれ量が大きく異なる所定領域を検出して、当該所定領域のブロックサイズを設定してもよい。より具体的に、撮影時に得られる情報(撮影に使用した機能や撮影モード、撮影時の条件等)と、画像の特徴との少なくとも一方に基づいて、所定領域に対して適当なブロックサイズ及び配置を演算し、最適な分割パターンを動的に生成した上で、各画像領域のペアリングを行ってもよい。
図11は、分割画像領域の設定のさらに別の例を示すフローチャートである。図11のフローチャートは、分割画像領域に注目対象が含まれる場合に、当該分割画像領域を更に分割する手法により、各分割画像領域のブロックの配置やサイズを決定するものである。
ステップST1では、デフォルトの分割画像領域を設定する。デフォルトの分割画像領域は、例えば、縦横2×2の4ブロックの分割画像領域(最小数かつ最大サイズの分割画像領域)とすることができる。
ステップST2では、分割画像領域に注目対象が含まれるか否かを判定する。注目対象は、例えば、運動体又は移動体(例えば子供や鳥等の運動又は移動を行うもの)とすることができる。分割画像領域に注目対象が含まれる場合は(ステップST2:YES)、ステップST3に進む。分割画像領域に注目対象が含まれない場合は(ステップST2:NO)、処理を終了する。
ステップST3では、注目対象が含まれる分割画像領域を分割するか否かを判定する。例えば、分割画像領域に含まれる注目対象の位置ずれ量が所定の閾値を超えているときに、注目対象が含まれる分割画像領域を分割すると判定し、分割画像領域に含まれる注目対象の位置ずれ量が所定の閾値を超えていないときに、注目対象が含まれる分割画像領域を分割しないと判定することができる。あるいは、注目対象の内容に応じて、分割画像領域のサイズに制限値を設けた上で、分割してもその制限値の範囲内であれば、注目対象が含まれる分割画像領域を分割すると判定し、分割するとその制限値の範囲を超えるようであれば、注目対象が含まれる分割画像領域を分割しないと判定することができる。注目対象が含まれる分割画像領域を分割する場合は(ステップST3:YES)、ステップST4に進む。注目対象が含まれる分割画像領域を分割しない場合は(ステップST3:NO)、処理を終了する。
ステップST4では、注目対象が含まれる分割画像領域を分割する。
ステップST5では、分割後の分割画像領域のサイズが所定の条件を満足するか否かを判定する。例えば、分割後の分割画像領域のサイズが他の分割画像領域とのペアリングが可能な条件を満足している場合に所定の条件を満足すると判定し、分割後の分割画像領域のサイズが他の分割画像領域とのペアリングが可能な条件を満足していない場合に所定の条件を満足しないと判定することができる。あるいは、分割後の分割画像領域のサイズが分割可能な最小サイズであるか否かにより、所定の条件を満足するか否かを判定してもよい。分割後の分割画像領域のサイズが所定の条件を満足する場合は(ステップST5:YES)、処理を終了する。分割後の分割画像領域のサイズが所定の条件を満足しない場合は(ステップST5:NO)、ステップST2に戻る。
図11のフローチャートに従えば、分割パターンは、注目対象(例えば運動体又は移動体)が含まれる分割画像領域を相対的に小さいサイズに設定し、注目対象(例えば運動体又は移動体)が含まれない分割画像領域を相対的に大きいサイズに設定するものになる。
図11のフローチャートにおいて、ステップST3を省略して、分割画像領域に注目対象が含まれる限りにおいて、当該注目対象が含まれる分割画像領域の分割を繰り返す態様も可能である。また、ステップST3の条件として、予め、画像(分割画像領域)の空間周波数や注目対象(所定領域)の特徴量(例えば、第1の特徴量)からブロックサイズの条件を定めてもよいし、その時点で得られた分割画像領域に基づいてペアリングを行って、合成対象分割画像領域を抽出できるかどうかを判定してもよい。
図11のフローチャートでは、注目対象が明確であることを前提として説明したが、必ずしも、注目対象が明確である必要はない。例えば、分割画像領域に注目対象が含まれないような、ピントを画面全体に合わせたい風景撮影がこれに該当する。この場合、ステップST3における注目対象が含まれる分割画像領域を分割するか否かの判定を、分割画像領域の空間周波数の高低によって行ってもよい。
図12A~図12Dは、分割画像領域の設定のさらに別の例を示す概念図であり、撮影モードや各種条件等に応じて動的に分割パターンを生成する場合に対応している。
図12Aでは、複数の画像を撮影する中で、撮影の対象に運動体(動体)を含む場合を説明する。一般的に動体を含むブロックは、動体を含む領域で画像間でのずれ量が大きくなる。そのため、動体を撮影した画像で合成する場合はペアリングの精度が落ちるという課題がある。そこで、動体を含むブロックは相対的に小さいブロックサイズに分割したり、撮影時に動体を含む撮影であることを検知した場合は、画像全体のブロックサイズを小さくしたりして、ペアリングの精度を向上させる。撮影時のAF用の追尾情報や、撮影モードの種類を参照したり、取得した複数の画像間での動体検知を行ったりすることで、動体の有無の判別や、動体の存在する位置を割り出すことができる。
図12Bでは、複数の画像で、一部がぼけて撮影された場合を説明する。ぼけている領域はペアリングの精度が落ちるという課題がある。そこで、画像の各ブロックをSAD等により相関分析を行う際、分析結果に応じて、ぼけている領域や、ぼけている領域を含むブロックでは画素データの生成処理方法やペアリング方法を変えることが望ましい。また、像高に応じて画素データの生成処理方法やペアリング方法を変えることが望ましい。
図12C、図12Dでは、ポートレイトや風景撮影といった撮影モードや、焦点距離、撮影距離などに特徴のある場合を説明する。これらの場合は撮影の対象が明確であり、対象物をより高解像度化したいという課題がある。そこで、取得された焦点距離、撮影距離に応じて分割領域のサイズ、配置を決定することができる。
図12Cのポートレイト撮影のように、被写体にフォーカスを合わせ、被写体の背景はフォーカスがあっていない状態(ぼやけている状態)でも問題がない撮影モードの場合は、撮影距離が近い領域のみを細かいブロックに分割する。撮影距離が遠い領域は、大きいブロックに分割する。これにより、被写体が撮影されている領域を特に高解像とすることができる。
図12Dの風景のように、撮影距離が長い撮影を行う場合は、空間周波数によって分割領域の大きさを変えることが望ましい。具体的には、遠景にもピントを合わせたい場合や、画面の手前から奥まで画面全体にピントを合わせたい場合は、画像の空間周波数が高くなるため、遠景を細かいブロックサイズに分割してペアリングを行なうことで、遠景まで高解像な画像を取得することができる。一例としては、広角レンズ等を用いた被写界深度が広い写真等を撮影する場合が該当する。他方、山や空を画面奥の背景として、主に画面手前にピントを合わせる場合は、画面奥(風景を撮影した領域)の空間周波数がそれほど高くないため、遠景部分は大きなブロックサイズに分割する。
図13は、対象物(注目対象)を含む所定の領域に対して領域分割を施す場合の一例を示す図である。
図12A~図12Dでは、あらかじめ分割されている領域において、被写体を主に含む領域を更に分割する例を説明した。しかし、これはあくまでも一例であり、図13に示すように、画像中で所定の領域(例えば被写体の検出領域)を規定し、所定の領域に対してブロックサイズを設定してもよい。その場合、所定の領域外の画像領域は、更に領域を分割してペアリングしてもよいし、ペアリング自体を行わなくてもよい。
図14は、対象物を含む所定の領域に対して領域分割を施す場合の一例を示すフローチャートである。
ステップST11では、所定の領域を規定する。例えば、画像中の対象物を検出して、当該対象物を含む画像領域を所定の領域とする。
ステップST12では、所定の領域における特徴量(例えば、第1特徴量)を抽出する。所定の領域における特徴量は、例えば、所定の領域の大きさ、所定の領域の画像的な特徴量、対象物として撮影された物体の種類、撮影時の条件等が含まれる。
ステップST13では、ステップST12で抽出した特徴量(例えば、第1の特徴量)に基づいて、所定の領域を分割するためのブロックサイズを演算して決定する(取得する)。
ステップST14では、ステップST13で決定したブロックサイズに基づいて、対象画像を分割画像領域に分割する。
所定の領域に対してブロックサイズを決定した後は、所定の領域以外の領域に対して、任意のブロックサイズを設定したり、適宜処理を行ったりすることができる。
なお、必ずしもブロックサイズまでを動的に演算する必要はなく、対象物が検出された所定の領域に対してあらかじめ規定したブロックサイズで分割を行うこともできる。ブロックサイズがあらかじめ規定されていたとしても、所定の領域は画像全体の領域よりも小さいため、画像全体に対して分割するブロックサイズよりも相対的に小さく規定しやすく、ずれ量が検出しやすい。
分割パターンの設定は、例えば動体を含む撮影などの、所定の領域の規定が容易な場合に特に有用である。対象物を含む所定の領域のみを合成したい場合は、図14のフローチャートの処理のみを行い、所定の領域以外の領域の検討を行わなくても、所定の領域に対しては高解像度化することができる。
所定の領域を1枚の画像領域全体とした場合は、画像全域の空間周波数のような所定の領域の特徴量(例えば、第1の特徴量)を基に、画像における適当なブロックサイズを演算し、設定することができる。この場合は、1枚の画像に含まれる分割画像領域のサイズは、同一となる。
本実施形態のように分割パターンを動的に生成可能としたことで、ブロック同士で比較したが合成対象画像(合成対象分割画像領域)を抽出できなかったり、最適な合成画像が抽出できなかったりした場合にも、領域のブロックサイズを細かく分割していくなどで、適宜状況に応じた最低限の計算量で最適なペアリングを行うことができる。またユーザがある一部の領域のみを合成したい場合も、最低限の計算量で、ペアリングを行うことができる。
なお、本実施形態では、画像外周部の画像領域サイズを小さくし、画像中央部の画像領域サイズを大きくした分割パターンを用いて、回転方向のぶれによる精度低下を防ぐ方法を説明したが、分割パターンとしてサイズとブロックの配列をすべて規定するのではなく、動的に画像領域のサイズと配列を設定してもよい。例えば、撮影時の手振れ制御機構から得られるセンサ情報や各画像間の画素情報などから画像間の回転量を算出し、分割するブロックサイズを動的に決定してもよい。あるいは、回転量が大きい場合は、全てのブロックサイズを小さく設定してもよい。
上述した複数の分割画像領域の設定態様を組み合わせて、画像処理装置の機能のうちの1つとして一緒に実装してもよい。例えば、ある特定の撮影モードでは動的な分割パターンの設定を採用するが、それ以外の撮影モードでは固定された分割パターンを採用するといった実装例が可能である。
また、分割パターンだけでなく、ペアリング手法(相関の演算方法)も同様に複数種類を規定し、条件によって変更したり、システムが最適な手法を選択するように設定したりしてもよい。上述の実施形態では、(A)~(D)、(A’)~(D’)あるいは(A”)~(D”)においてEallowableを用いてペアリングを行っているが、このようなペアリング手法に限定されない。条件に応じた最適な分割パターンと、画像領域毎の相関と、ペアリング手法の最適化とを組み合わせることで、より高解像な合成画像を生成することが可能になる。また、ペアリングできなかった場合は、処理の途中でペアリングの手法や分割パターンを変更してもよい。
また、主に画像の特徴量(例えば、第1の特徴量)から分割画像領域のブロックサイズを設定する場合を例示して説明したが、これに代えて/加えて、カメラ側の情報をサポートとして用いることにより、ペアリング精度をより一層向上させることができる。
具体的には、複数の画像間で、各ブロック同士を比較する際に、カメラのジャイロ出力(例えばセンサ70の出力)から画像間の相対的な移動量を求め、その情報をオフセットとして動きベクトルを算出する。画像間の位置情報のずれをカメラ(センサ)側の情報で補って計算することで、画像のみに基づいて位置ずれ量を算出するよりも、ペアリングの精度を向上させることができる。また、画像だけに基づいて動きベクトルを算出するときと比較して、処理時間の短縮とメモリ消費量の低減を図ることができる。
図15のフローチャートを参照して、画像処理装置20による画像処理について詳細に説明する。この画像処理は、画像処理装置20の構成要素であるコンピュータに所定のプログラムを実行させることにより実現される。
ステップST21では、画像処理装置20に複数の画像が入力する。この複数の画像は、例えば、カメラユニット10によって連写された複数の画像であってもよいし、指定のフォルダ、クラウドストレージ、動画等といった記録済みの画像群が存在する中から選択・抽出されたものであってもよい。
ステップST22では、マッチング部21が、画像処理装置20に入力した複数の画像が所定枚数(例えば4枚)に到達したか否かを判定する。複数の画像が所定枚数に到達していない場合(ステップST22:NO)、ステップST21に戻って、複数の画像が所定枚数に到達するのを待つ。複数の画像が所定枚数に到達している場合(ステップST22:YES)、ステップST23に進む。
ステップST23では、マッチング部21が、画像処理装置20に入力した複数の画像(所定枚数の画像)がマルチショット合成(例えば手振れ利用マルチショット合成)に適しているか否かを判定する。画像処理装置20に入力した複数の画像がマルチショット合成に適している場合(ステップST23:YES)は、ステップST24に進む。画像処理装置20に入力した複数の画像がマルチショット合成に適していない場合(ステップST23:NO)は、ステップST21に戻って、再度、画像処理装置20に複数の画像(所定枚数の画像)が入力するのを待つ。
ステップST24では、分割部22が、画像処理装置20に入力した複数の画像を分割画像領域に分割する。分割部22による分割画像領域への分割は、例えば、設定部26が設定した分割パターンに従って実行される。
ステップST25では、検出部23が、複数の画像の分割画像領域の画素ずれ量(位置ずれ量)を検出する。検出部23による画素ずれ量の検出は、例えば、センサ70の出力、及び/又は、イメージセンサ11の画素出力を利用して実行することができる。
ステップST26では、選択部24が、検出部23が検出した複数の画像の分割画像領域の画素ずれ量(位置ずれ量)に応じて、当該分割画像領域から合成対象分割画像領域(基準分割画像領域と比較分割画像領域から選択した合成対象分割画像領域)を選択する。選択部24による合成対象分割画像領域の選択処理は、別途、図16、図17のフローチャートを用いてサブルーチンとして説明する。
ステップST27では、合成部25が、検出部23が検出した複数の画像の分割画像領域の画素ずれ量(位置ずれ量)に応じて、選択部24が選択した合成対象分割画像領域(基準分割画像領域と比較分割画像領域から選択した合成対象分割画像領域)を相対移動して合成画像を得る。これにより、検出部23が検出した複数の画像の分割画像領域の画素ずれ量(位置ずれ量)に応じて、合成対象分割画像領域(基準分割画像領域と比較分割画像領域から選択した合成対象分割画像領域)が重ね合わせられる。また、重ね合わせられた各合成対象分割画像領域の画素ずれ量は、例えば、上記(A”)~(D”)で表されるようなピクセル単位の画素ずれ量となる。合成部25による合成画像は、1画素毎に2つのG(Gr、Gb)の色情報成分又はRGB各色の色情報成分を含んでいるので、細部までのディティールや色再現に優れた極めて高精細な画像を描き出すことができる。また、モアレや偽色が発生することが無く、高感度ノイズを低減する効果が得られる。
ここで、合成対象分割画像領域の画素ずれ量が上記の(A”)~(D”)で表されるようなピクセル単位の画素ずれ量となる場合、各合成対象分割画像領域は、水平方向と垂直方向の少なくとも一方に奇数画素分だけずれることが好ましい。例えば1.5画素ずれている場合と5.1画素ずれている場合では、5.1画素ずれている場合の方が5画素に近いので好ましい。より詳しくは、合成対象分割画像領域は、相互に、水平方向に奇数画素分だけずれ且つ垂直方向に偶数画素分だけずれている、あるいは、垂直方向に奇数画素分だけずれ且つ水平方向に偶数画素分だけずれていることが好ましい。これは、仮に、水平方向と垂直方向ともに奇数画素分あるいは偶数画素分だけずれている合成対象分割画像領域である場合、これらを相対移動させたときに殆ど同じ画像になり、2つのG(Gr、Gb)の色情報成分の解像度が上がらないためである。
図16のフローチャートを参照して、選択部24による合成対象分割画像領域の第1の選択処理について詳細に説明する。
ステップST261では、選択部24が、複数の画像のいずれかの分割画像領域を基準分割画像領域に設定するとともに残りの分割画像領域を比較分割画像領域に設定する(基準分割画像領域と比較分割画像領域を設定する)。
ステップST262では、選択部24が、合成対象分割画像領域を選択するための許容誤差Eallowableを初期設定する。選択部24は、例えば、Eallowableの絶対値を0.01に初期設定する。
ステップST263では、選択部24が、所定の条件を満足する合成対象分割画像領域の選択を試行する。ここで、所定の条件を満足するとは、例えば、上記(A’)、(B’)及び/又は(D’)を満足する、あるいは、上記(A’)~(D’)を満足することを意味している。選択部24は、複数の分割画像領域(基準分割画像領域と比較分割画像領域)の全ての組み合わせ毎に、所定の条件を満足する合成対象分割画像領域の選択を試行する。選択部24は、所定の条件を満足する合成対象分割画像領域の選択を複数回に亘り試行することができる。所定の条件を満足する合成対象分割画像領域が選択できた場合(ステップST263:YES)は、合成対象分割画像領域の選択を終了して、処理を終了する。所定の条件を満足する合成対象分割画像領域が選択できなかった場合(ステップST263:NO)は、ステップST264に進む。
ステップST264では、選択部24が、合成対象分割画像領域を選択するための許容誤差Eallowableを緩和する。選択部24は、例えば、Eallowableの絶対値を0.01から0.05に緩和する。
ステップST265では、選択部24が、合成対象分割画像領域を選択するための許容誤差Eallowableの絶対値が臨界値(例えば0.25)を超えているか否かを判定する。合成対象分割画像領域を選択するための許容誤差Eallowableの絶対値が臨界値を超えている場合(ステップST265:YES)は、合成対象分割画像領域の選択を終了して、処理を終了する。合成対象分割画像領域を選択するための許容誤差Eallowableの絶対値が臨界値を超えていない場合(ステップST265:NO)は、ステップST263に戻って、緩和後の許容誤差Eallowableを用いて、所定の条件を満足する合成対象分割画像領域の選択を再試行する。
図17のフローチャートを参照して、選択部24による合成対象画像領域の第2の選択処理について詳細に説明する。
ステップST2610では、選択部24が、複数の画像のいずれかの分割画像領域を基準分割画像領域に設定するとともに残りの分割画像領域を比較分割画像領域に設定する(基準分割画像領域と比較分割画像領域を設定する)。
ステップST2611では、選択部24が、合成対象分割画像領域を選択するための許容誤差Eallowableを初期設定する。選択部24は、例えば、Eallowableの絶対値を0.01に初期設定する。
ステップST2612では、選択部24が、所定の条件を満足する合成対象分割画像領域の選択を試行する。ここで、所定の条件を満足するとは、例えば、上記(A’)、(B’)及び/又は(D’)を満足する、あるいは、上記(A’)~(D’)を満足することを意味している。選択部24は、複数の分割画像領域(基準分割画像領域と比較分割画像領域)の全ての組み合わせ毎に、所定の条件を満足する合成対象分割画像領域の選択を試行する。選択部24は、所定の条件を満足する合成対象分割画像領域の選択を複数回に亘り試行することができる。所定の条件を満足する合成対象分割画像領域が選択できた場合(ステップST2612:YES)は、合成対象分割画像領域の選択を終了して、処理を終了する。所定の条件を満足する合成対象分割画像領域が選択できなかった場合(ステップST2612:NO)は、ステップST2613に進む。
ステップST2613では、選択部24が、基準分割画像領域と比較分割画像領域を再設定する。
ステップST2614では、選択部24が、基準分割画像領域と比較分割画像領域の全ての組み合わせが設定されたか否かを判定する。基準分割画像領域と比較分割画像領域の全ての組み合わせが設定された場合(ステップST2614:YES)は、合成対象分割画像領域の選択を終了して、処理を終了する。基準分割画像領域と比較分割画像領域の全ての組み合わせが設定されていない場合(ステップST2614:NO)は、ステップST2612に戻って、再設定後の基準分割画像領域と比較分割画像領を用いて、所定の条件を満足する合成対象分割画像領域の選択を再試行する。
図16のフローチャートに示した第1の選択処理と図17のフローチャートに示した第2の選択処理は、適宜、組み合わせて実施することができる。すなわち、所定の条件を満足する合成対象分割画像領域が選択できなかった場合に、選択部24が、合成対象分割画像領域を選択するための許容誤差Eallowableを緩和するとともに、基準分割画像領域と比較分割画像領域を再設定することも可能である。
本実施形態のデジタルカメラ1は、防振ユニット80(例えばマルチショット合成用の微小振動)を利用したマルチショット合成モードと、防振ユニット80(例えばマルチショット合成用の微小振動)を利用しないマルチショット合成モード(例えば手振れ利用マルチショット合成モード)とを搭載しており、各撮影モードを設定する設定手段(設定ボタンやタッチパネル等)を具備している。このため、デジタルカメラ1が三脚等で位置決め固定されているにも関わらず防振ユニット80を利用しないマルチショット合成モードが設定されている場合、あるいは、デジタルカメラ1が手持ち状態であるにもかかわらず防振ユニット80を利用したマルチショット合成モードが設定されている場合に、音声や画面による警告を発生させることができる。さらには、デジタルカメラ1が三脚に固定されているか否かを検出して、デジタルカメラ1が三脚に固定されている場合に防振ユニット80を利用したマルチショット合成モードを自動設定し、デジタルカメラ1が三脚に固定されていない場合に防振ユニット80を利用しないマルチショット合成モードを自動設定することができる。
≪第2実施形態≫
第1実施形態では、主に分割画像領域に関する技術について詳細に説明した。第2実施形態では、デジタルカメラ1のユーザーインターフェースに関する技術について説明する。
例えば、第2実施形態では、ユーザが、合成したい画像や画像内の一部領域を直接的に指定することができる。
図18は、第2実施形態によるユーザーインターフェースである表示画面の一例を示す図である。複数の画像を入力する際に、ユーザは表示画面に表示される複数の画像(例えば画像A、B)を確認しながら、合成したい画像領域(選択領域とした破線部分)を指定する(切り出す)ことができる。このモードは、合成したい画像や一部領域を指定したい場合、ユーザが入力した複数の画像でペアリングに失敗した場合(一例としては、連続で撮影した同じ被写体が写っている複数の画像にも関わらず、何らかの理由でペアリングできなかった場合)に好適である。特に領域の指定に用いる選択領域は位置と回転を任意に入力可能とすることで、特に被写体が回転している場合でもペアリングの成功率を向上させることができる。
図18では、複数の画像(例えば画像A、B)を画面に並べて表示する場合を例示して説明したが、基準画像(基準分割画像領域)と合成対象画像(合成対象分割画像領域)を画面に重畳表示させてもよい。ユーザは、表示画面上で合成対象画像(合成対象分割画像領域)を基準画像(基準分割画像領域)の相対位置へ重畳させるように移動させたり、画像を回転させたりして、視覚的な操作で画像同士(分割画像領域同士)の相対的な位置ずれ量をシステムに入力する。システムではその情報を含めて、上述したような領域同士の相関をみることができるので、ペアリングの精度をサポートすることができる。
図19は、第2実施形態による画像処理を示すフローチャートである。
ステップST31では、画像処理装置20に複数の画像が入力する。
ステップST32では、画像処理装置20に入力した複数の画像の画像領域を選択する。ユーザは、表示された各画像上で、合成したい画像領域を選択する(図18を参照)。画像領域の選択は、画像をあらかじめブロックに分けて表示して、合成したいブロックを指定させてもよいし、ユーザが適宜領域の座標と大きさを指定してもよい。あるいは、基準となる1枚の画像の所定の領域を指定し、他の画像は、基準画像の所定領域の画素情報を基にブロックマッチングして探すこともできる。
ステップST33では、ステップST32で選択した画像領域に相関があるか否か(つまり合成が可能であるか否か)を判定する。具体的には、画像領域間の相関の有無を算出し、合成対象分割画像領域として合成できるかを評価する。ここで、画像領域の相関は、上述したパターンマッチング(ブロックマッチングやサブピクセル推定)を行い、マッチング結果に閾値を設けて判断することができる。またマッチング後に、後述するステップST35の位置ずれ量まで算出し、位置ずれ量に基づいて合成に適するか判断してもよい。画像領域に相関がない場合は(ステップST33:NO)、ステップST34に進んで、ユーザに対して、画像合成が不可能であることを、例えば音声又は表示によって報知する。この場合、ユーザによる領域の指定を1枚しか行わず、対応する他画像の領域をシステムにより同定した場合は、ユーザが領域を指定するように促してもよい。画像領域に相関がある場合は(ステップST33:YES)、ステップST35に進む。
ステップST35では、ステップST33で相関があると判定された画像領域に対して、画像領域間の位置ずれ量(画素ずれ量)を検出する。
ステップST36では、ステップST35で検出した位置ずれ量(画素ずれ量)と合成対象画像領域とに基づいて合成画像を得る。このとき、ペアリングされた画像領域を中心に、各画像における画像領域の周辺(画像全体)の合成を試みることで、ユーザの入力なしにマッチングを行うよりも、マッチングにかかる処理時間を短縮することができる。
本実施形態では、入力画像がマルチショット合成に適していないと判定された場合に、その旨をユーザに報知することができる。報知により、ユーザにマルチショット合成に適した画像を撮影するように促し、ペアリングの精度を向上することができる。本実施形態では、三脚等に固定せずに撮影を行うため、特にブレによる各画像の位置ずれ量が大きい場合などは、画像同士のペアリング時に合成対象画像に相当する画像を取得できないという課題があった。
画像領域のペアリング時に相関が低く、合成対象画像(合成対象分割画像領域)を抽出できない場合や、合成に適当な位置ずれ量ではないため合成対象画像(合成対象分割画像領域)として採用できない場合は、ユーザに対して画像取得の失敗と再度の画像取得を促すために、音や画面表示で報知を行うことができる。また合成画像(合成対象分割画像領域)の生成ができなかった場合は、合成を行っていない基準画像(基準分割画像領域)を表示させたり、合成できる一部分の領域のみを合成した画像や欠陥画素の補正を行った画像を表示したりして、撮影した画像を採用するか否かをユーザが判定してもよい。
合成対象画像(合成対象分割画像領域)の取得失敗時に報知するように設定する場合は、取得失敗となった原因を表示させることができる。例えば、全く同じ画像が複数入力された場合や、全くペアリングできない画像が入力された場合は、画像の情報から「同じ画像が入力されています」や、「合成できない画像です」などとエラーとして表示し、再度の撮影や、異なる画像を入力するように促すことができる。
また、連続撮影で得た複数の画像(分割画像領域)から合成対象画像(合成対象分割画像領域)を抽出しようとしても、手振れで位置ずれ量が大きくなり、合成対象画像として抽出できない場合もある。このような場合は、画像同士のペアリング時または画像撮影時に取得失敗の原因が同定できるため、カメラ本体のセンサから得られる情報や位置ずれ情報をもとにぶれ具合を判定し、合成失敗を報知する際に「手振れ度大」「手振れ度中」「手振れ小」などとわかりやすく提示することで、ユーザに再度画像を撮影する際の注意を促し、余分に撮影する手間を減らすことができる。
また、手振れが原因で合成(ペアリング)がうまくいかない状況が続く場合は、画像の位置ずれ情報から手振れしやすい方向や量を特定し、防振ユニット80にフィードバックすることができる。これにより、防振ユニット80の駆動指示信号に補正をかけてもよい。
撮影前に、どのような条件でマルチショット合成を行うかをユーザに設定させてもよい。一例として、ユーザが求める主観的な解像感を設定できるように、マルチショット合成の設定で解像感のレベルをLv.1(超高解像感)、Lv.2(高解像度感)、Lv.3(やや高い解像度感)などから選択できる機能を設けることができる。
ユーザが極めて高い解像感を求める場合は、ユーザはLv.1を選択し、カメラのシステムでは、Lv.1の設定内容に応じて、例えば合成対象画像を抽出する際に位置ずれ量の閾値を小さくしたり、ペアリング時に分割領域を小さくしたり、動体に補正をかける等の調整を行う。撮影回数や処理時間が若干かかるが、解像度を優先したため超高解像度な画像が出力される。
一方で、ユーザがやや高い解像度感で満足する場合は、ユーザはLv.3を選択し、カメラのシステムでは、Lv.3の設定内容に応じて、例えば位置ずれ量の閾値を大きくしたり、すべての分割領域でペアリングされなくても一部の領域で合成できればよいと判断したりすることができる。Lv.1で出力される合成画像よりも解像度の精度は落ちるかもしれないが、解像度と処理時間をある程度のレベル(許容できるレベル)で両立することができ、余分な撮影回数を減らすことができる。
このように、ユーザが求める解像感に合わせてカメラ側の制御を変更することで、ユーザにストレスをかけず、撮影目的に応じた最適なマルチショット合成が可能となる。ここではモードごとに説明したが、より詳しく設定させたい場合は、撮影した画像の合成状況をプレビュー表示させ、どの程度の解像度感にするかをスライダ等でユーザに視認させながら調整させてもよい。
なお、上記は一例であり、これに限定されることはない。マルチショット合成を他の高解像度化の機能(露出を変えて撮影するブラケット撮影など)と組み合わせたり、超高解像感を求めたりする場合は、自動で手振れ補正をオンにする等して制御してもよい。
≪第3実施形態≫
上記の第1、第2実施形態のデジタルカメラ1は、マルチショット合成モードにおいて、防振ユニット80を利用した移動部材(例えばイメージセンサ11)の駆動(例えば像振れ補正駆動)を実行していない。しかし、画像が特定の位置で完全に固定されず(複数の画像の位置ずれを完全に補正せず)、大まかな像振れ位置決め補正を行う程度であれば、防振ユニット80を利用した像振れ補正駆動を実行することができる。
つまり、防振ユニット80による像振れ補正駆動を行った場合であっても厳密な意味で(完全に)像振れをゼロにすることはできない(ミクロン単位のずれ量は発生する)ので、むしろこのずれ量を積極的に利用してマルチショット合成を実行するのが第3実施形態である。これは、防振ユニット80による像振れ補正駆動の駆動量とマルチショット合成に要求される各画像の位置ずれ量(画素ずれ量)を比較したときに、前者が後者よりも格段に大きいという着眼に基づいている。
第3実施形態では、マルチショット合成モード(いわば防振ユニット80による像振れ補正駆動ありの手振れ利用マルチショット合成モード)の設定をした後に、例えば、連写撮影によって複数の画像を得る。そして、複数の画像に基づく画像合成処理によって1枚の合成画像を得る。
例えば、第1実施形態のように、複数の画像を分割パターンに基づいた分割画像領域に分割し、複数の画像の分割画像領域毎の位置ずれ量を検出し、位置ずれ量に応じて複数の画像から合成対象分割画像領域を選択し、位置ずれ量と合成対象分割画像領域に基づいて合成画像を得ることができる。
図20~図23を参照して、防振ユニット80の構成について詳細に説明する。各図において、撮影光学系の光軸Oと平行な方向を第1の方向(Z方向、Z軸方向)、第1の方向と直交する方向を第2の方向(X方向、X軸方向)、第1の方向及び第2の方向の双方と直交する方向を第3の方向(Y方向、Y軸方向)とする。例えば、X軸、Y軸及びZ軸を3次元の直交座標系の座標軸と仮定すると、光軸OをZ軸としたとき、Z軸と直交し、かつ互いに直交する二方向の軸がX軸及びY軸になる。カメラが正位置(横位置)にあるとき、第1の方向(Z方向、Z軸、光軸O)及び第2の方向(X方向、X軸)は水平になり、第3の方向(Y方向、Y軸)は鉛直になる。
デジタルカメラ1は、カメラボディCBの振れ(振動)を検出する検出手段として、ロール(Z方向回りの傾動(回転))検出部、ピッチ(X方向回りの傾動(回転))検出部、ヨー(Y方向回りの傾動(回転))検出部、X方向加速度検出部、Y方向加速度検出部、及びZ方向加速度検出部を備えている。これらの各検出手段は、例えば6軸センサ、または3軸ジャイロセンサと3軸加速度センサによって構成されている。これらの各検出手段は、図1のセンサ70の一部として構成されていてもよい。
撮像ブロック(例えば図1のカメラユニット10)は、撮像素子110と、撮像素子110を支持したステージ装置120とを有している。ステージ装置120は、撮像素子110が搭載された可動ステージ121と、可動ステージ121の前後に位置する前固定ヨーク122と後固定ヨーク123とを備え、少なくとも通電時には、可動ステージ121を前後の固定ヨーク122、123に対して、浮上(重力に抗して浮上させ、静止状態に保持)させることができる。ステージ装置120は、浮上状態の可動ステージ121を、Z方向(第1の方向)並進、Z方向と直交するX方向(第2の方向)並進、Z方向及びX方向の双方と直交するY方向(第3の方向)並進、X方向(第2の方向)回りの傾動(回転)、Y方向(第3の方向)回りの傾動(回転)、及びZ方向(第1の方向)回りの傾動(回転)(6自由度の移動、6軸移動)させることができる。
ボディCPU(例えば図1のCPU90)は、ピッチ(X方向回りの傾動(回転))、ヨー(Y方向回りの傾動(回転))、ロール(Z方向回りの傾動(回転))、X方向加速度、Y方向加速度、及びZ方向加速度に基づいてデジタルカメラ10のぶれ方向、ぶれ速度等を演算する。ボディCPUは、撮像素子110に投影された被写体像が撮像素子110に対して相対移動しないように撮像素子110を駆動する方向、駆動速度、駆動量などを演算し、演算結果に基づいてステージ装置120を並進、傾動、傾動中の並進、傾動後に並進及び並進後に傾動駆動する。
ステージ装置120は、撮像素子110が固定された可動ステージ121を前固定ヨーク122と後固定ヨーク123に対して、並進、傾動、傾動中の並進、及び傾動後に並進自在に保持する。可動ステージ121は、正面視で、撮像素子110より大きい長方形の板状部材である。前固定ヨーク122と後固定ヨーク123は、平面視、外形が可動ステージ121より大きい同一形状の長方形の枠状部材からなり、中央部にそれぞれ、正面視で(Z方向から見て)、撮像素子110の外形より大きい長方形の開口122aと123aが形成されている。
前固定ヨーク122の後面(被写体側と反対側の面)にはY軸を中心線としZ軸を挟んで開口122aの少なくとも左右(X方向)の一方、図示実施形態では左右両側部に位置する態様で、同一仕様の左右一対の永久磁石からなるX方向用磁石MXが固定されている。前固定ヨーク122及び後固定ヨーク123が左右のX方向用磁石MXの磁束を通すことにより、左右のX方向用磁石MXと後固定ヨーク123の対向部の間にX方向(第2の方向)の推力を発生する磁気回路が形成される。
前固定ヨーク122の後面には開口122aの下方にY軸を中心線としてZ軸から離間して位置する態様で、同一仕様の一対の永久磁石からなるY方向用磁石MYAと同一仕様の一対のY方向用磁石MYBが固定されている。前固定ヨーク122及び後固定ヨーク123がY方向用磁石MYAとY方向用磁石MYBの磁束を通すことにより、Y方向用磁石MYA及びY方向用磁石MYBと後固定ヨーク123との間に、Y方向(第3の方向)の推力を発生する磁気回路が形成される。
前固定ヨーク122の後面には、X方向用磁石MX、Y方向用磁石MYAとMYBとは異なる3カ所に、同一仕様の永久磁石からなるZ方向用磁石MZAとMZBとMZCが固定されている。3個のZ方向用磁石MZAとMZBとMZCは、Z軸を中心としてZ軸直交平面内に略等間隔に配置されている。前固定ヨーク122及び後固定ヨーク123がZ方向用磁石MZAとMZBとMZCの磁束を通すことにより、Z方向用磁石MZA、MZB、MZCと後固定ヨーク123との間に、Z方向(第1の方向)の推力を発生する複数の磁気回路が形成される。
可動ステージ121の中央部には正面視長方形の撮像素子取付孔121aが穿設され、撮像素子取付孔121aに撮像素子110が嵌合固定されている。撮像素子110は、撮像素子取付孔121aから可動ステージ121の光軸O方向前方に突出している。
可動ステージ121には、撮像素子110の左右の両辺(短辺)の外方部に位置させて、一対のX駆動用コイルCXが固定され、撮像素子31の下方の一辺(長辺)の下方部に位置させて、左右に離して一対のY駆動用コイルCYAとY駆動用コイルCYBが固定されている。可動ステージ121にはさらに、一対のY駆動用コイルCYAとCYBの間(中間位置)に位置させて円形のZ駆動用コイルCZAが固定され、一対のX駆動用コイルCXより上方に位置させて円形の一対のZ駆動用コイルCZBとZ駆動用コイルCZCが固定されている。
以上のX駆動用コイルCX、Y駆動用コイルCYAとY駆動用コイルCYB、Z駆動用コイルCZAとZ駆動用コイルCZBとZ駆動用コイルCZCは、アクチュエータ駆動回路(図示略)に接続され、当該アクチュエータ駆動回路を介して通電制御される。
可動ステージ121には、X駆動用コイルCXの空芯領域に位置するX方向用ホール素子HXと、Y駆動用コイルCYAとCYBの空芯領域にそれぞれ位置するY方向用ホール素子HYAとY方向用ホール素子HYBと、各Z駆動用コイルCZA、CZB、CZCの空芯領域にそれぞれ位置するZ方向用ホール素子HZA、Z方向用ホール素子HZB、Z方向用ホール素子HZCとが固定されている。
位置検出回路(図示略)は、X方向用ホール素子HX、Y方向用ホール素子HYA、HYB、及びZ方向用ホール素子HZA、HZB、HZCが出力した検出信号により可動ステージ121のX方向位置、Y方向位置、Z方向位置、X方向回りの傾動位置(X方向回りの傾動(回転)角、ピッチ角)、Y方向回りの傾動位置(Y方向回りの傾動(回転)角、ヨー角)、及びZ方向回りの傾動位置(Z方向回りの傾動(回転)角、ロール角)を検出する。
位置検出回路(図示略)の検出結果に応じて、アクチュエータ駆動回路(図示略)が、X駆動用コイルCX、Y駆動用コイルCYAとY駆動用コイルCYB、Z駆動用コイルCZAとZ駆動用コイルCZBとZ駆動用コイルCZCを通電制御することにより、撮像素子110(可動ステージ121)を駆動することができる。例えば、防振ユニット80は、撮影部の少なくとも一部である撮像素子110を駆動部材として、当該駆動部材を光軸O(Z軸)と異なる方向に駆動することで像振れを補正する手ぶれ補正機構(駆動機構)として機能する。なお、駆動対象となる駆動部材は撮像素子110に限定されず、例えば、撮影レンズの一部を像振れ補正レンズとすることも可能である。
以上のように、本実施形態によれば、複数の画像を分割パターンに基づいた分割画像領域に分割する分割部22と、複数の画像の分割画像領域毎の位置ずれ量を検出する検出部23と、位置ずれ量に応じて複数の画像から合成対象分割画像領域を選択する選択部24と、位置ずれ量と合成対象分割画像領域に基づいて合成画像を得る合成部25とを有している。これにより、複数の画像から優れた合成画像を得ることができる。