図1は、本実施形態の画像処理装置、画像処理方法、画像処理プログラム、撮影装置、撮影方法及び撮影プログラムを搭載したカメラユニット付き電子機器1の概略構成を示すブロック図である。本実施形態の画像処理方法、画像処理プログラム、撮影方法及び撮影プログラムは、電子機器1に内蔵されたコンピュータに所定の処理ステップを実行させることにより実現される。
電子機器1は、例えば、デジタルカメラ、携帯電話、ゲーム機器等の撮影機能を搭載した各種機器とすることができるが、本実施形態では、電子機器1がデジタルカメラである場合を例示して説明する。あるいは、電子機器1は、撮影機能を搭載することなく、画像データの入力を受けて当該画像データに画像処理を施すPC等の各種機器とすることもできる。詳しくは後述するが、本実施形態の電子機器1は、一例として手振れを利用したRRS撮影(画素ずらしマルチショット合成モード)を実行できるので、手振れを起こし易い撮影機能を有する携帯型の電子機器に搭載して好適である。
デジタルカメラ1は、カメラユニット(撮影部、取得部)10と、画像処理装置20と、メモリ(例えばRAM)30と、記録媒体(例えばUSBメモリ)40と、表示装置(例えばLCD)50と、入力装置60と、センサ70と、防振ユニット80と、CPU90と、これらの各構成要素を直接的又は間接的に接続するバス100とを有している。
カメラユニット10は、撮影光学系(図示略)と、イメージセンサ(撮像素子)11(図2)とを有している。撮影光学系による被写体像はイメージセンサ11の受光面上に結像され、マトリックス状に配置された検出色の異なる複数の画素によって電気信号に変換され、画像データとして画像処理装置20に出力される。画像処理装置20は、カメラユニット10による画像データに所定の画像処理を施す。画像処理装置20により画像処理が施された画像データは、メモリ30に一時的に記録される。メモリ30に記録された画像データは、ユーザの選択・決定に従って、記録媒体40に保存され、表示装置50に表示される。
入力装置60は、例えば、電源スイッチ、レリーズスイッチ、各種機能の選択・設定を実行するためのダイヤルスイッチ、四方向スイッチ、タッチパネル等から構成される。センサ70は、例えば、デジタルカメラ1のボディ本体に加えられる加速度、角速度、角加速度を検出する加速度検出器、角速度検出器、角加速度検出器等から構成される。センサ70による出力は、デジタルカメラ1のボディ本体の振れを示す振れ検出信号として、CPU90に入力される。
防振ユニット80は、カメラユニット10の撮影光学系とイメージセンサ11の少なくとも一方を移動部材として、当該移動部材を撮影光学系の光軸と異なる方向に(例えば撮影光学系の光軸と直交する平面内で)駆動する。CPU90は、防振ユニット80を駆動制御する。CPU90は、センサ70からデジタルカメラ1のボディ本体の振れを示す振れ検出信号の入力を受けて、防振ユニット80によって移動部材を撮影光学系の光軸と異なる方向に駆動する。これにより、イメージセンサ11における被写体像の結像位置を変位させて、手振れに起因する像振れを補正することができる。
デジタルカメラ1は、防振ユニット80を利用して、カメラユニット10のイメージセンサ11を撮影光学系の光軸と異なる方向に(例えば撮影光学系の光軸と直交する平面内で)微細に移動させながら時系列に複数回の撮影を行い、その画像データを1枚に合成(画像データの単純な加算ではなくデータ上の画像処理による特殊演算を行っての合成)することで、超高精細(高画質、高精度)な画像データを生成する撮影モード(マルチショット合成モード)を搭載している。以下ではこの撮影モードを「RRS(リアル・レゾリューション・システム)撮影モード」、「画素ずらしマルチショット合成モード」又は「マルチショット合成モード」と呼ぶことがある。「RRS撮影モード(画素ずらしマルチショット合成モード、マルチショット合成モード)」では、1画素あたり1つの色情報のみを取得する従来のベイヤ方式と異なり、1画素毎にRGB各色の情報を得ることで、細部までのディティールや色再現に優れた極めて高精細な画像データを描き出すことができる。また、モアレや偽色が発生することが無く、高感度ノイズを低減する効果が得られる。
図2A〜図2Dは、本実施形態の画素ずらしマルチショット合成モード(RRS撮影モード)の一例を示す概念図である。図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枚の画像データを合成して合成画像データを得る。
防振ユニット80を利用したRRS撮影(画素ずらしマルチショット合成)では、イメージセンサ11の画素単位の移動を保証するために、デジタルカメラ1のボディ本体を三脚等で位置決め固定しなければならない。これに対し、本実施形態では、防振ユニット80を利用することなく、且つ、デジタルカメラ1のボディ本体を撮影者が手持ちした状態でも、RRS撮影を実行可能である。すなわち、イメージセンサ11を能動的に動かすのではなく、撮影者の手振れ(揺らぎ)によるショット毎の画像のずれを利用して、RRS撮影を行う。以下では、この撮影モードを「手振れ利用RRS撮影モード(手振れ利用画素ずらしマルチショット合成モード、手振れ利用マルチショット合成モード)」と呼ぶことがある。手振れ利用RRS撮影モードでは、防振ユニット80を利用したRRS撮影と同様に複数枚(例えば4枚)の画像データを得ることができる。
デジタルカメラ1の入力装置60を操作することで、「手振れ利用RRS撮影モード(手振れ利用画素ずらしマルチショット合成モード、手振れ利用マルチショット合成モード)」と「防振ユニット80を利用したRRS撮影モード(画素ずらしマルチショット合成モード、マルチショット合成モード)」、さらにはそれ以外の撮影モードを切り替えることができる。また、デジタルカメラ10の表示装置50は、入力装置60により設定されている撮影モードを表示することができる。
上述したように、デジタルカメラ1のカメラユニット10及び/又は画像処理装置20が取得する複数の画像データは、ベイヤ配列のRGBのカラーフィルタが配置されたイメージセンサ11(図2)により撮影したものとすることができる。このため、複数の画像データは、ベイヤ配列のRGBの色要素を有している。より具体的には、2×2の4つのベイヤ配列に2つのG要素(Gr、Gb)と各1つのR要素とB要素を有している。
ここで、複数の画像データ及び/又はこれを合成した合成画像データにおいて、RGBのいずれかの色要素に欠陥がある場合は、当該欠陥のある色要素を色補完することがある。しかし、複数の画像データを合成する際、ベイヤ配列のRGBの色要素が揃う確率を考慮すると、2×2の4つのベイヤ配列に2つ用意されているG要素(Gr、Gb)と比較して、各1つのR要素とB要素が不安定になりやすい(信頼性が低くなりやすい)という問題がある。
本実施形態の画像処理装置20は、RGBの色要素のいずれに対しても好適な色補間を実行することができる。以下では、この色補間機能を含んだ画像処理装置20の構成及び作用効果について詳細に説明する。なお、以下では、適宜、複数の画像データとして、RRS撮影(画素ずらしマルチショット合成、マルチショット合成)のために取得した4枚の画像データを用いる場合を例示して説明する。
画像処理装置20は、取得部21と、マッチング部22と、分割部23と、演算部24と、第1の選択部25と、第2の選択部26と、合成部27と、色補間部28とを有している。
取得部21は、カメラユニット10(イメージセンサ11)が撮影した複数(4枚)の画像データを取得する。複数の画像データは、それぞれ、ベイヤ配列のRGBの色要素を有している。
取得部21が取得する複数の画像データは、カメラユニット10が撮影したものに限定されることはなく、種々の設計変更が可能である。例えば、複数の画像データは、手振れを利用することなく連写撮影によって得た複数の画像データ、さらに指定のフォルダ、クラウドストレージ、動画等といった記録済みの画像群が存在する中から、構図やアングル、撮影時間、画質的特徴が近しい複数の画像データを選択・抽出することができる。
マッチング部22は、例えば、パターンマッチング等の画像の一致度を評価する手法、及び/又は、センサ70の出力を利用して、取得部21が取得した複数の画像データが手振れ利用RRS撮影(手振れ利用画素ずらしマルチショット合成モード、手振れ利用マルチショット合成モード)に適しているか否かを判定する。複数の画像データの枚数には自由度があり、その具体的な枚数は問わない。例えば、複数の画像データが同構図や同アングルで連写モードを利用して撮影されたものである場合、当該複数の画像データは手振れ利用RRS撮影に適していると判定される可能性が高い。一方、複数の画像データが構図やアングルを異ならせて時間的にずらして撮影されたものである場合、当該複数の画像データは手振れ利用RRS撮影に適していないと判定される可能性が高い。マッチング部22は、複数の画像データが手振れ利用RRS撮影に適していると判定した場合は当該手振れ利用RRS撮影を続行し、複数の画像データが手振れ利用RRS撮影に適していないと判定した場合は当該手振れ利用RRS撮影を中止することができる。
複数の画像データが手振れ利用RRS撮影に適していないとマッチング部22が判定した場合、手振れ利用RRS撮影に適した複数データの画像が揃うまで、不要なフレームを捨てながら、カメラユニット10による撮影を繰り返すことができる。その際、手振れ利用RRS撮影に適した複数の画像データを得やすくするために、撮影条件を設定(制限)することができる。例えば、ISO感度、シャッタ速度、絞り開度、焦点距離、撮影距離、環境の明るさ等の撮影条件を設定(制限)することができる。また、信号対雑音比(S/N比)が悪い場合には、カメラユニット10による撮影枚数を増やすことができる。
マッチング部22は、画像処理装置20から省略することも可能である。
分割部23は、取得部21が取得した複数の画像データまたはマッチング部22による判定処理を受けた複数の画像データの各画像データを複数の領域に分割する。具体的に、分割部23は、各画像データをベイヤ配列のRGBの色要素に対応する複数のブロック領域に分割する。
図3A、図3Bは、画像データのブロック分割の一例を示す概念図である。図3Aでは、画像データをベイヤ配列のRGBの色要素に対応する4×4の16のブロック領域に分割している。図3Bでは、画像データをベイヤ配列のRGBの色要素に対応する8×8の64のブロック領域に分割している。画像データをブロック分割する領域の数は種々の設計変更が可能であり、例えば、16×16の256のブロック領域に分割する態様、32×32の1024のブロック領域に分割する態様が可能である。
演算部24は、取得部21が取得した複数の画像データまたはマッチング部22による判定処理を受けた複数の画像データの各画像データと、分割部23が分割したブロック領域とに基づいた演算を実行する。より具体的に、演算部24は、各画像データの領域毎のずれ量(画素ずれ量、位置ずれ量)を演算する。
演算部24は、例えば、特許第4760923号公報に開示されているブロックマッチング等の技術を用いて、各画像データの領域毎のずれ量を確実かつ精密に演算することができる。また演算部24は、以下で説明する各種の手法によっても、各画像データの領域毎のずれ量を確実かつ精密に演算することができる。
演算部24は、例えば、センサ70を構成する加速度検出器、角速度検出器、角加速度検出器の少なくとも1つの出力に基づいて、各画像データの領域毎のずれ量を演算することができる。
演算部24は、イメージセンサ11の画素出力に基づいて、ピクセル毎又はサブピクセル毎に、各画像データの領域毎のずれ量を演算することができる。さらに、演算部24は、イメージセンサ11の画素出力に基づいて、RGBプレーン毎に、各画像データの領域毎のずれ量を演算することができる。その際、演算部24は、RGBプレーンのうちの特定のRGBプレーンだけを使用してもよいし、使用するRGBプレーンを変動させてもよい。例えば、第1の画像データと第2の画像データの領域毎のずれ量を演算するときにはGプレーンを使用して、第3の画像データと第4の画像データの領域毎のずれ量を演算するときにはRプレーンを使用するといった柔軟な対応が可能である。
演算部24は、上述したセンサ70の出力を利用した演算態様とイメージセンサ11の画素出力を利用した演算態様を組み合わせることができる。すなわち、センサ70の出力を利用して各画像データの領域毎のずれ量の方向性におおよその見当をつけた後に、イメージセンサ11の画素出力を利用して各画像データの領域毎の精密なずれ量を検出することができる。
演算部24は、イメージセンサ11の画素出力に特定用途の画素出力が含まれている場合、当該特定用途の画素出力を除外するか、低い重み付けを与えて各画像データの領域毎のずれ量を検出することができる。特定用途の画素出力とは、例えば、撮影に無関係な位相差検出画素などを含むことができる。
第1の選択部25は、演算部24が演算した各画像データの領域毎のずれ量に基づいて、複数の画像データから合成対象画像データを選択する。より具体的に、第1の選択部25は、複数の画像データのいずれかの画像データを基準画像データに設定するとともに残りの画像を比較画像データに設定して、基準画像データと比較画像データの画素ずれ量に応じて、比較画像データから合成対象画像データを選択する。
図4は、連写で撮影した4枚の画像データの1枚を基準画像データに設定するとともに残りの3枚を比較画像データ1〜比較画像データ3に設定した場合を示す概念図である。図4Aが基準画像データを示しており、図4B〜図4Dが比較画像データ1〜比較画像データ3を示している。見た目で判別するのは難しいが、基準画像データと比較画像データ1〜比較画像データ3の間には、微小画素(例えば数画素)レベルの画素ずれが存在している。この画素ずれは、例えば、デジタルカメラ1のボディ本体を持つ撮影者の手振れ(揺らぎ)に起因する。本実施形態では、基準画像データと比較画像データ1〜比較画像データ3の間の画素ずれを、防振ユニット80を利用したRRS撮影におけるイメージセンサ11の駆動量(図2参照)と同視することにより、防振ユニット80を利用することなく手振れ利用RRS撮影を実行する。
第1の選択部25は、基準画像データの画素座標(dx、dy)を(0、0)と定義したときに、画素ずれ量である比較画像データの画素座標(dx、dy)が次のパターンとなるような画像の組み合わせを探す。
(A)基準画像データ:(dx、dy)=(0、0)
(B)比較画像データ:(dx、dy)=(偶数、奇数)
(C)比較画像データ:(dx、dy)=(奇数、奇数)
(D)比較画像データ:(dx、dy)=(奇数、偶数)
理想的には、画素ずれ量である比較画像データの画素座標(dx、dy)は整数画素であることが好ましいが、実際的には、そのようなケースは殆ど存在せず、(A)〜(D)を満足する合成対象画像データを選択することは困難である。そこで、第1の選択部25は、例えば、−0.25<Eallowable<0.25を満足する1画素以下の許容誤差Eallowableを設定して合成対象画像データを選択する。より具体的に、第1の選択部25は、(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」に近いと判断される。
第1の選択部25は、複数の画像データの中から、上記(A’)を満足する基準画像データを設定するとともに、上記(B’)を満足する比較画像データ及び/又は上記(D’)を満足する比較画像データを合成対象画像データとして選択する。これにより、後述する画像合成時に、1画素毎に2つのG(Gr、Gb)を色情報成分として含ませることが可能になる。
より好ましくは、第1の選択部25は、複数の画像データの中から、上記(A’)を満足する基準画像データを設定するとともに、上記(B’)を満足する比較画像データ、上記(C’)を満足する比較画像データ及び上記(D’)を満足する比較画像データを合成対象画像データとして選択する。これにより、後述する画像合成時に、1画素毎にRGBの各色の色情報成分を含ませることが可能になる。
第1の選択部25は、比較画像データから合成対象画像データを選択できなかったとき、Eallowableの境界値(絶対値)を広げて、合成対象画像データの選択を再試行することができる。例えば、第1の選択部25は、1回目の合成対象画像の選択ではEallowableの絶対値を0.01に設定し、2回目の合成対象画像の選択ではEallowableの境界値(絶対値)を0.05に設定し、3回目の合成対象画像の選択ではEallowableの境界値(絶対値)を0.10に設定し、4回目の合成対象画像の選択ではEallowableの境界値(絶対値)を0.15に設定し、5回目の合成対象画像の選択ではEallowableの境界値(絶対値)を0.20に設定し、6回目の合成対象画像の選択ではEallowableの境界値(絶対値)を0.25に設定することができる。第1の選択部25は、Eallowableの境界値(絶対値)を0.25に設定しても合成対象画像データを選択できなかったとき、合成対象画像データの選択を中止することができる。Eallowableの境界値(絶対値)を段階的に広げていくことにより、合成対象画像データの選択の精度を段階的に緩くすることができる。
第1の選択部25は、比較画像データから合成対象画像データを選択できなかったとき、基準画像データ(及び比較画像データ)を再設定して、合成対象画像データの選択を再試行することができる。画素ずれ量は基準画像データとの関係で規定されるので、複数の画像データのいずれを基準画像データに設定するかにより、合成対象画像データを選択できる場合と選択できない場合がある。従って、基準画像データを再設定して合成対象画像データの選択を再試行すれば、当該合成対象画像データの選択が成功する可能性がある。すなわち、ある画像データを基準画像データに設定して合成対象画像データの選択に失敗した場合であっても、別の画像データを基準画像データに設定すれば合成対象画像データの選択に成功する場合がある。
第1の選択部25は、画素ずれ量である比較画像データの画素座標(dx、dy)が所定のエラー閾値(例えば数十画素)を超えている場合には、合成対象画像データの選択を中止することができる。
第1の選択部25は、画像処理装置20から省略することも可能である。
第2の選択部26は、演算部24が演算した各画像データの領域毎のずれ量に基づいて、各画像データから色補間に用いる基準画像データと補助画像データを選択する。第2の選択部26は、演算部24が演算した各画像データの中から、上記(A)及び/又は(A’)を満足する基準画像データと、上記(B)及び/又は(B’)を満足する補助画像データを選択する。あるいは、第2の選択部26は、演算部24が演算した各画像データの中から、上記(A)及び/又は(A’)を満足する基準画像データと、上記(D)及び/又は(D’)を満足する補助画像データを選択する。
図5、図6は、基準画像データと補助画像データの撮影範囲の一例を示す概念図である。
図5は、基準画像データの撮影範囲の一部である画素座標が(0、0)であるときに(図5A)、補助画像データの撮影範囲の一部である画素座標が(1、0)である場合を描いている(図5B)。つまり、基準画像データにおいて太線で囲った撮影範囲の一部が、補助画像データでは、1画素分だけ右側にシフトしている(図5A、図5B)。
図6は、基準画像データの撮影範囲の一部である画素座標が(0、0)であるときに(図6A)、補助画像データの撮影範囲の一部である画素座標が(0、−1)である場合を描いている(図6B)。つまり、基準画像データにおいて太線で囲った撮影範囲の一部が、補助画像データでは、1画素分だけ下側にシフトしている(図6A、図6B)。
合成部27は、演算部24が演算した各画像データの領域毎のずれ量に応じて、第1の選択部25が選択した合成対象画像データ(基準画像データと比較画像データから選択した合成対象画像データ)を相対移動して合成画像データを得る。ここで、「合成対象画像データを相対移動する」とは、当該合成対象画像データが相対移動するように当該合成対象画像データを修正することを意味する。
合成部27は、演算部24が演算した各画像データの領域毎のずれ量に応じて、合成対象画像データ(基準画像データと比較画像データから選択した合成対象画像データ)が重なるように、当該画像データを相対移動させることができる。
合成部27は、演算部24による各画像データの領域毎のずれ量の演算精度とは異なる移動精度で、合成対象画像データ(基準画像データと比較画像データから選択した合成対象画像データ)を相対移動させることができる。例えば、演算部24によるずれ量の演算精度をサブピクセル単位とする一方、合成部27による合成対象画像データ(基準画像データと比較画像データから選択した合成対象画像データ)の移動精度をピクセル単位としてもよい。
合成部27によって相対移動させられた基準画像データと比較画像データ(合成対象画像データ)の画素座標は、上記の(A)〜(D)と(A’)〜(D’)の例に倣うと、例えば、次の(A”)〜(D”)により表される。Eallowableを許容誤差として無視すれば、(A”)〜(D”)で表される4枚の画像データは、防振ユニット80を利用したRRS撮影で使用される4枚の画像データ(図2A〜図2D)と完全に一致する。勿論、許容誤差としてのEallowableが残存しても、防振ユニット80を利用したRRS撮影と等価な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)
図7は、基準画像データと比較画像データ1〜比較画像データ3を合成して合成画像データを得る場合を示す概念図である。合成部27による合成画像データは、1画素毎に2つのG(Gr、Gb)の色情報成分又はRGB各色の色情報成分を含んでいるので、細部までのディティールや色再現に優れた極めて高精細な画像を描き出すことができる。また、モアレや偽色が発生することが無く、高感度ノイズを低減する効果が得られる。
色補間部28は、複数の画像データ及び/又はこれを合成した合成画像データにおいて、RGBのいずれかの色要素に欠陥がある場合に、当該欠陥のある色要素を色補完する。色補間部28は、演算部24が演算した各画像データの領域毎のずれ量に基づいて、RGBの色要素の少なくとも1つについての色補間を行う。
色補間部28は、G要素の色補間を行う場合とR要素及び/又はB要素の色補間を行う場合で色補間の態様を切り替える。以下、RGBの色要素のそれぞれの色補間を行う場合に分けて説明する。
色補間部28は、G要素の色補間を行う場合、基準画像データのG要素と補助画像データのG要素のずれ量に基づいてG要素の総和を求めることによりG要素の色補間を行う。
図8A〜図8Cは、G要素の色補間の一例を示す概念図である。図8Aは、図5A、図6Aに示す基準画像データにおいて太線で囲った撮影範囲の一部のG要素だけを抜粋して描いたものである。図8Bは、図5B、図6Bに示す補助画像データにおいて太線で囲った撮影範囲の一部のG要素だけを抜粋して描いたものである。図8Cは、図8AのG要素と図8BのG要素の総和を描いたものである。図8CのG要素によれば、複数の画像データ及び/又はこれを合成した合成画像データにおいて、G要素に欠陥がある場合であっても、当該欠陥のあるG要素を好適に色補間することができる。このように、基準画像データと補助画像データにR要素とB要素が揃っていなくても、G要素が揃っていれば、G要素を好適に色補間することができる。
色補間部28は、R要素の色補間を行う場合、基準画像データのR要素と補助画像データのR要素のずれ量に基づいてR要素の総和を求め、R要素の総和に基づいた重み付け加算及び/又は複製加算によりR要素の色補間を行う。
図9A〜図9Eは、R要素の色補間の一例を示す第1の概念図である。図9Aは、図5Aに示す基準画像データにおいて太線で囲った撮影範囲の一部のR要素だけを抜粋して描いたものである。図9Bは、図5Bに示す補助画像データにおいて太線で囲った撮影範囲の一部のR要素だけを抜粋して描いたものである。図9Cは、図9AのR要素と図9BのR要素の総和を描いたものである。図9Cにおいて、太線で囲った撮影範囲の一部を上方から下方に向かって第1列、第2列、第3列、第4列(各列は左右方向に延びている)に分割したとき、R要素の総和は、第1列と第3列にのみ位置している。図9Dでは、第1列のR要素に重み付けを行って又はそのまま複製して第2列に加算するとともに、第3列のR要素に重み付けを行って又はそのまま複製して第4列に加算する。図9Eは、重み付け加算及び/又は複製加算を行った後のR要素の総和を描いたものである。図9EのR要素によれば、複数の画像データ及び/又はこれを合成した合成画像データにおいて、R要素に欠陥がある場合であっても、当該欠陥のあるR要素を好適に色補間することができる。
図10A〜図10Eは、R要素の色補間の一例を示す第2の概念図である。図10Aは、図6Aに示す基準画像データにおいて太線で囲った撮影範囲の一部のR要素だけを抜粋して描いたものである。図10Bは、図6Bに示す補助画像データにおいて太線で囲った撮影範囲の一部のR要素だけを抜粋して描いたものである。図10Cは、図10AのR要素と図10BのR要素の総和を描いたものである。図10Cにおいて、太線で囲った撮影範囲の一部を左方から右方に向かって第1列、第2列、第3列、第4列(各列は上下方向に延びている)に分割したとき、R要素の総和は、第1列と第3列にのみ位置している。図10Dでは、第1列のR要素に重み付けを行って又はそのまま複製して第2列に加算するとともに、第3列のR要素に重み付けを行って又はそのまま複製して第4列に加算する。図10Eは、重み付け加算及び/又は複製加算を行った後のR要素の総和を描いたものである。図10EのR要素によれば、複数の画像データ及び/又はこれを合成した合成画像データにおいて、R要素に欠陥がある場合であっても、当該欠陥のあるR要素を好適に色補間することができる。
図11A〜図11Eは、B要素の色補間の一例を示す第1の概念図である。図11Aは、図5Aに示す基準画像データにおいて太線で囲った撮影範囲の一部のB要素だけを抜粋して描いたものである。図11Bは、図5Bに示す補助画像データにおいて太線で囲った撮影範囲の一部のB要素だけを抜粋して描いたものである。図11Cは、図11AのB要素と図11BのB要素の総和を描いたものである。図11Cにおいて、太線で囲った撮影範囲の一部を上方から下方に向かって第1列、第2列、第3列、第4列(各列は左右方向に延びている)に分割したとき、B要素の総和は、第2列と第4列にのみ位置している。図11Dでは、第2列のB要素に重み付けを行って又はそのまま複製して第1列に加算するとともに、第4列のB要素に重み付けを行って又はそのまま複製して第3列に加算する。図11Eは、重み付け加算及び/又は複製加算を行った後のB要素の総和を描いたものである。図11EのB要素によれば、複数の画像データ及び/又はこれを合成した合成画像データにおいて、B要素に欠陥がある場合であっても、当該欠陥のあるB要素を好適に色補間することができる。
図12A〜図12Eは、B要素の色補間の一例を示す第2の概念図である。図12Aは、図6Aに示す基準画像データにおいて太線で囲った撮影範囲の一部のB要素だけを抜粋して描いたものである。図12Bは、図6Bに示す補助画像データにおいて太線で囲った撮影範囲の一部のB要素だけを抜粋して描いたものである。図12Cは、図12AのB要素と図12BのB要素の総和を描いたものである。図12Cにおいて、太線で囲った撮影範囲の一部を左方から右方に向かって第1列、第2列、第3列、第4列(各列は上下方向に延びている)に分割したとき、B要素の総和は、第2列と第4列にのみ位置している。図12Dでは、第2列のB要素に重み付けを行って又はそのまま複製して第1列に加算するとともに、第4列のB要素に重み付けを行って又はそのまま複製して第3列に加算する。図12Eは、重み付け加算及び/又は複製加算を行った後のB要素の総和を描いたものである。図12EのB要素によれば、複数の画像データ及び/又はこれを合成した合成画像データにおいて、B要素に欠陥がある場合であっても、当該欠陥のあるB要素を好適に色補間することができる。
色補間部28は、R要素及び/又はB要素の重み付け加算及び/又は複製加算を行うにあたり、重み付け加算及び/又は複製加算の方向を統一する。
図13A〜図13Bは、重み付け加算及び/又は複製加算の方向の一例を示す概念図である。図13A〜図13B中の“X”は、重み付け加算及び/又は複製加算を行う前後の色要素の座標(実数で表される画素座標)を示している。図13Aでは、座標Xの色要素に重み付けを行って又はそのまま複製して下方に加算している。図13Bでは、座標Xの色要素に重み付けを行って又はそのまま複製して上方に加算している。図13Cは、座標Xの色要素に重み付けを行い又はそのまま複製する点は図13A、図13Bと共通であるが、その加算方向が上方と下方に分散している。色補間部28は、図13A、図13Bのように、座標Xの色要素の重み付け加算及び/又は複製加算の方向を統一する。
複数のベイヤ画像から全てのピクセルのRGBの各要素を色補完する場合、基準画像データと補助画像データの2枚があればG成分は必要な状態を満たせるが、R成分とB成分は欠落し易い傾向がある。このとき、補助画像データの理想的な位置は、基準画像データに対する相対位置が「水平方向が奇数画素かつ垂直方向が偶数画素だけずれている位置(上記の式(D)、式(D’)、式(D”)、図5A、図5B)」あるいは「水平方向が偶数画素かつ垂直方向が奇数画素だけずれている位置(上記の式(B)、式(B’)、式(B”)、図6A、図6B)」となる。R要素とB要素がベイヤ画像のどこで不足(欠落)しているかは、補助画像データが上記のいずれの位置に近いものであるかによって決まる。
R要素とB要素を色補完する方法として、隣接画素(いずれかの画素)を重み付け加算及び/又は複製加算することが挙げられる。画素の複製による色補間を行う場合、G要素の理想位置とのずれ量は最大で1画素分であるが、R要素とB要素の理想位置とのずれ量は2画素分になることが考えられる。領域毎に補助画像データの理想的な位置とのずれ量が変化すると、領域によって偽色の強さが変わってしまい、領域の変わり目(境界部)で不自然な画像データとなってしまう。
本実施形態では、補助画像データの理想位置に対するずれの方向に応じて、R要素とB要素の色補間の方向を、例えば、縦方向であれば上下の画素のうちより近いものを参照し、横方向であれば左右の画素のうちより近いものを参照するように制御する。理想位置とのずれ量を抑えることで、偽色による画像データの不自然さを低減することが可能になる。仮に、R要素とB要素の重み付け加算及び/又は複製加算の方向が1ピクセル毎に変わると、合成画像データにギザギザや縞などが生じてしまう。そこで、基準画像データの隣接位置については、距離が等しく色要素のずれは同等なので、補助画像データの複製方向に合わせている(図13A〜図13C)。
このように本実施形態では、取得部21が、ベイヤ配列のRGBの色要素を有する複数の画像データを取得し、分割部23が、各画像データを複数の領域に分割し、演算部24が、各画像データの領域毎のずれ量を演算し、色補間部28が、各画像データの領域毎のずれ量に基づいてRGBの色要素の少なくとも1つについての色補間を行う。これにより、高品質な合成画像データを得ることができる。
本実施形態では、解像感・輝度に対して支配的なG要素については、基準画像データのG要素と補助画像データのG要素のずれ量に基づいてG要素の総和を求めることによりG要素の色補間を行い、その他のR要素/B要素については、基準画像データのR要素/B要素と補助画像データのR要素/B要素のずれ量に基づいてR要素/B要素の総和を求め、R要素/B要素の総和に基づいた重み付け加算/複製加算によりR要素/B要素の色補間を行う。このように、G要素の色補間を行う場合とR要素/B要素の色補間を行う場合で色補間の態様を切り替えている。これにより、撮影枚数が少なくても、基準画像データと補助画像データの最低2ショットあれば、RGBの色要素の全てについて好適な色補間が可能になり、解像感に優れた高品質なショットを揃えることで高品質な合成画像データを得ることができる。
以上の実施形態では、複数の画像データにおけるRGBの色要素がベイヤ配列となっている場合を例示して説明したが、複数の画像データにおけるRGBの色要素がベイヤ配列以外であってもよい。