以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
以下、第1の実施例による、異なる露光量で撮影した3枚の画像を用いて、画像間の移動体を検出、補正しながら、白とび黒つぶれを軽減して見かけ上のダイナミックレンジを広くするハイダイナミックレンジ合成(HDR合成)を行う方法について説明する。
図1は本発明の画像処理装置の一例である撮像装置1の構成を示した図である。
撮像装置1は、測光光学系(レンズ)(1000)、測光部(1010)、露光制御演算部(1020)、露光制御部(1030)、撮影光学系(レンズ)(2000)、撮像素子(2010)、A/D変換部(2020)を有する。また、輝度合わせ部(3000)、輝度制限部(3010)、現像処理部(2030)、移動体補正+HDR合成処理部(2040)を有する。また、圧縮部(2050)、記録部(2060)、メモリ(2070)、制御部(2080)、インターフェースI/F(2090)を有する。撮像装置1の各処理部は制御部(2080)によって制御される。また、場合によってはユーザー指示などの外部操作がインターフェースI/F(2090)を介して撮像装置1へと入力され、外部操作に従って制御部(2080)が処理を行う。さらに、演算処理や条件判定処理などは、必要に応じてメモリ(2070)に格納されているソフトウェアに従って制御部(2080)が行う。この時、メモリ(2070)には、演算処理や条件判定処理に関するソフトウェアや複数通りの現像処理パラメータが格納されている。また、各処理部で用いられる画像データや中間演算データなども適宜格納される。
本実施例では、移動体補正・HDR合成処理部(2040)への入力画像として、第1の露光量で撮影した検出用画像と、第2の露光量で撮影した検出用画像と、第1の露光量で撮影した合成用画像と、第2の露光量で撮影した合成用画像が必要である。検出用画像とは位置ずれ検出や移動体検出を行うのに適した撮影条件で撮影されたり、画像処理等の施されたりする画像を示す。合成用画像とは、本実施例ではHDR合成処理に適した撮影条件で撮影されたり、画像処理等の施されたりする画像を示す。第1の露光量で撮影した検出用画像は、撮像素子(2010)、A/D変換部(2020)、輝度合わせ部(3000)、輝度制限部(3010)、現像処理部(2030)の処理ブロックで順に処理が行われ、メモリ1(2071)に格納される。また、第2の露光量で撮影した検出用画像は、撮像素子(2010)、A/D変換部(2020)、輝度合わせ部(3000)、輝度制限部(3010)、現像処理部(2030)で順に処理され、メモリ2(2072)に格納される。また、第1の露光量で撮影された合成用画像は、撮像素子(2010)、A/D変換部(2020)、現像処理部(2030)で順に処理され、メモリ3(2073)に格納される。また、第2の露光量で撮影された合成用画像は、撮像素子(2010)、A/D変換部(2020)、現像処理部(2030)で順に処理され、メモリ4(2074)に格納される。この時、メモリ1(2071)とメモリ2(2072)とメモリ3(2073)とメモリ4(2074)は、同一の処理ブロックでもよいが、1つの処理ブロック内の別々のメモリ領域であってもよい。
図2は、移動体補正・HDR合成処理部(2040)の構成の詳細を示した図である。ここで、移動体補正・HDR合成処理部(2040)は、露光量の異なる2種類の画像データを用いて、移動体を補正してHDR合成処理を行う。ここで、図2は、撮像素子からの露光量の異なる2種類の出力を用いて処理を行うが、3枚以上の複数枚の画像に対しても、同様の処理を繰り返し行うことで対応することが可能である。
移動体補正・HDR合成処理部(2040)は、位置ずれ検出部(2041)、位置ずれ補正部1(2042)、位置ずれ補正部2(2043)、HDR画像合成部(2044)、移動体検出部(2045)、移動体補正部(2046)を有する。移動体補正・HDR合成処理部(2040)の各処理部は図1の制御部(2080)によって制御される。移動体補正・HDR合成処理部(2040)内には、位置ずれ補正部1(2042)と位置ずれ補正部2(2043)と2つあるが、これらは同一の処理ブロックでもよいし、処理の高速化のために2つの処理ブロックを搭載して並列処理してもよい。
図3は、本実施例で制御部(2080)が制御を行う処理フローを示したフローチャートである。以下、図3を用いて制御部(2080)が制御を行う処理フローを述べる。
ステップS100は、制御部(2080)からの制御により被写体の明るさを測光する測光ステップである。被写体は測光光学系(レンズ)(1000)を経て、被写体像を光電変換する測光部(1010)上に結像する。また、被写体は撮影光学系(レンズ)(2000)を経て、被写体像を光電変換する撮像素子(2010)上に結像する。測光部(1010)と撮像素子(2010)は被写体像を光電変換する複数の素子から成り、各素子からの出力値を得ることができる。測光部(1010)は、被写体の高輝度な領域から低輝度な領域までの測光値を、被写体像を光電変換する素子のダイナミックレンジに応じて1回もしくは複数回の撮像で取得することができる。撮像素子(2010)は、例えば、原色カラーフィルタを備える単板カラー撮像素子とする。本実施形態では、測光部(1010)と撮像素子(2010)は異なる処理ブロックとしている。しかし、撮像素子(2010)の出力から露光制御演算部(1020)で露光制御演算を行うなど、それぞれの機能を達成できるのであれば測光部(1010)と撮像素子(2010)は同じ受光素子でもよい。また、測光光学系(レンズ)(1000)と撮影光学系(レンズ)(2000)も同一の光学系でもよい。
ステップS101は、制御部(2080)からの制御により撮影の中心となる露光量を決定もしくは選択する露光量決定ステップである。撮像装置1が、自動的に中心となる露光量を決定する場合は、公知の中央部重点測光やスポット測光や多分割測光に関するアルゴリズムを用いる。露光制御演算部(1020)で中心となる露光量を決定する演算処理を行う。
ステップS102は、制御部(2080)からの制御により撮影の中心となる露光量と画像のハイライトあるいはシャドウとの露光量差を決定する処理ステップである。撮像装置1が自動的に露光量差を決定する場合は、公知のハイライト(あるいは白とび)やシャドウ(あるいは黒つぶれ)を検出するアルゴリズムを用いて露光量露光制御演算部(1020)で行う。
なお、ステップS101とステップS102では、ユーザーがインターフェースI/F(2090)を介して撮像装置1へと入力した中心となる露光量と中心となる露光量からの露光量差を用いてもよい。
ステップS103は、制御部(2080)からの制御により複数の異なる露光量の画像を撮像する撮像ステップである。本実施例では、露光制御部(1030)において決定した中心となる露光量と中心となる露光量からの露光量差に基づいて、撮像素子(2010)への露光制御を3回行う。この時、露光制御部(1030)は、決定した中心となる露光量と中心となる露光量からの露光量差に基づいて、入射光を撮像素子で蓄積する露光時間、入射光がレンズを通過する量、撮像素子から得られる信号のゲイン量の制御等の各種の露出制御を行う。
ステップS104は、制御部(2080)からの制御により撮像結果を取得する処理である。A/D変換部(2020)では、撮像素子(2010)からアナログ電圧として出力される信号をデジタルの画像データへと変換する。
ステップS105は、制御部(2080)からの制御により位置ずれ検出と移動体検出に適した検出用画像を生成する処理である。A/D変換部(2020)から出力されたデジタルデータに対して輝度合わせ部(3000)と輝度制限部(3010)と現像処理部(2030)で画像処理を行い、検出用画像を生成する。ここで、検出用画像を生成する処理方法は後述する。
ステップS106は、制御部(2080)からの制御により基準画像と比較画像の画像間の差分値に基づいて位置ずれを検出する位置ずれ検出ステップである。具体的には、位置ずれ検出部(2041)では、基準画像の画素値と比較画像の画素値の差の絶対値の総和(SAD:Sum of Absolute Difference)が、最も小さくなる比較画像の位置を調べる公知の位置ずれ検出方法を用いて処理を行う。ただし、位置ずれ検出方法としては、周波数解析から2枚の画像の位置ずれ量を検出するなど、他にもさまざまな方法が公知であるが、位置ずれ検出精度や検出処理負荷、検出処理スピードなど、撮像装置1に適した方法であれば、いずれかに限定するものではない。位置ずれ検出部(2041)で求めた、比較画像をどの方向(移動方向)にどれだけ(移動量)移動させる必要があるかという検出結果を、移動ベクトルを呼ぶことにする。本実施例では、位置ずれ検出、位置合わせの基準画像、移動体検出、移動体補正の基準画像はアンダー露出の画像とする。一方、後述する輝度合わせ処理の基準画像は標準露出の画像とする。
ステップS107は、制御部(2080)からの制御により基準画像と比較画像の画像間の位置ずれを補正する処理である。位置ずれ補正部1(2042)と位置ずれ補正部2(2043)では、メモリ上の比較画像を、位置ずれ検出部(2041)で求めた移動ベクトルの移動量だけ移動方向へ並進移動して、位置ずれ補正画像を生成する、公知の位置ずれ補正処理を行う。位置ずれ補正処理としては、並進方向のずれだけでなく、回転移動やアフィン変換、斜影変換など、他にもさまざまな処理が公知である。しかし位置ずれ補正精度や補正処理負荷、補正処理スピードなど、撮像装置1に適した処理であれば、いずれかに限定するものではない。
ステップS108は、制御部(2080)からの制御によりHDR合成に適した合成用画像を生成する処理である。A/D変換部(2020)から出力した画像データに対して現像処理部(2030)で画像処理を行い、合成用画像を生成する。すなわち、まず、白を白くする処理がなされ、具体的には白くあるべき領域のR,G,Bが同じ値になるようなゲインをR,G,B各々にかけるホワイトバランス処理を行う。次に、飽和領域のカラーバランスが崩れることを防ぐために、R,G,Bが制限値以上の値とならないように、ホワイトクリップ処理を行う。さらに、色モザイク画像を補間することによって、全ての画素においてR、G、Bの色情報が揃ったカラー画像を生成する。生成したカラー画像は、マトリクス変換処理およびガンマ処理を経て基本的なカラー画像を生成する。本実施例では、HDR合成に適したガンマ処理パラメータは、異なる露光量で撮影した複数枚の画像ごとに別々のパラメータである。
ステップS109は、制御部(2080)からの制御によりHDR合成を行う処理である。HDR画像合成部(2044)では、生成した複数の合成用画像を合成してHDR画像を生成する。複数の合成用画像を合成する方法は、領域ごとに、中心となるべき露光量(標準露出)で撮像した画像の明るさに応じて、異なる露光量の複数の画像のいずれの画像を支配的に用いるかを決める。具体的には、標準露出の明るさが明るい領域には標準露出より被写体を暗く撮像する露光量(アンダー露出)で撮像した画像を支配的に(例えばその他の画像より多い割合で)用いる。標準露出の明るさが中間の明るさである領域では標準露出の画像を支配的に用いる。そして、標準露出の明るさが暗い領域には標準露出より被写体を明るく撮像する露光量(オーバー露出)で撮像した画像を支配的に用いてハイダイナミックレンジ画像(HDR画像)を生成する。
ステップS110は、制御部(2080)からの制御により対象の基準画像と比較画像の画像間の移動体を検出する処理である。移動体検出部(2045)では、基準画像の画素値(輝度)と比較画像の画素値(輝度)の差の絶対値の総和(SAD:Sum of Absolute Difference)が、所定のしきい値よりも大きい場合に移動体と判定する処理を行う。この時、この方法を用いる前提として、基準画像と比較画像の移動していない物体の輝度は同じであるということが必要である。
ステップS111は、制御部(2080)からの制御により基準画像と比較画像の画像間の移動体を補正する処理である。移動体補正部(2046)では、移動体検出部(2045)で求めたHDR画像の移動体領域を、基準画像で置き換える処理を行う。
ステップS112は、制御部(2080)からの制御によりHDR画像を記録する処理である。HDR画像をメモリ(1120)に蓄える。もしくは、圧縮部(1100)でHDR画像をJPEG等の方式に従って圧縮(符号化)し、記録部(1110)にてフラッシュメモリ等の記録媒体に記録する。
ここで、ステップS105に関して、位置ずれ検出と移動体検出に適した検出用画像を生成する処理方法の詳細を述べる。
本実施例のような、異なる露光量で撮影した複数枚の画像を用いて差の絶対値から画像間の移動体を検出する場合には、異なる露光量で撮影した基準画像と比較画像であっても、同一の被写体は等しい画素値であることが好ましい。
図4を用いて基準画像と比較画像の明るさを揃える処理の詳細を述べる。ここで、撮像素子(2010)の解像限界値は100とし、出力上限値は1000とする(本実施例では、撮像素子(2010)は理想的なセンサであるとし、オフセット出力(出力下限値)は0である)。本実施例では、解像限界値とは、低輝度領域においてS/Nや解像力などを考慮して、この値以上であれば位置ずれ検出や移動体検出に有効である輝度領域を示している。一方、出力上限値とは、撮像素子(2010)へ飽和露光量を入力した場合の出力値を示している。また、このシーンは、中心となる露光量からの露光量差が±1段であったとする。さらに、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出とオーバー露出で撮影した画像とする。
図4(A)は、HDR撮影(異なる露光量で撮影後合成してHDR画像を生成)するのに適したシーンであり、図4(B)は、そのシーンにおいて異なる露光量で撮影する被写体の明るさの領域を示した図である。このシーンのように、HDR合成に適したシーンは1回の撮影では被写体の明るさの一部しか表現することができない(撮像素子2080のダイナミックレンジがシーン(被写体)に対して狭い)。つまり、1回の撮影において撮像素子のダイナミックレンジより明るい被写体の明るさを示す値は出力上限値に張り付いてしまい、撮像素子のダイナミックレンジより暗い被写体の明るさを示す値は、解像限界値以下になってしまう。
具体的に、図4(A)のシーンにおける3つのポイントのオーバー露出・標準露出・アンダー露出で撮影した場合の、A/D変換部(2020)から出力した撮像素子(2010)の出力を図4(C)に示す。オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまう。また、アンダー露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまう(図4の括弧内の数値は解像限界値を示している)。
次に、図4(A)のシーンにおける3つのポイントの、輝度合わせ部(3000)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図4(D)、標準露出画像とオーバー露出画像を比較する場合は図4(E)に示す。また、輝度制限部(3010)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図4(F)、標準露出画像とオーバー露出画像を比較する場合は図4(G)に示す。
まず、輝度合わせ部(3000)において、基準画像と比較画像の露光量差を補うゲイン処理を行う。つまり、標準露出よりも1段暗く撮影したアンダー露出画像の平均的な明るさを標準露出画像と等しく調整するためには、アンダー露出画像に2(2の1乗)倍のゲインをかける(ゲインアップする)(図4(D))。また、標準露出よりも1段明るく撮影したオーバー露出画像の平均的な明るさを標準露出画像と等しく調整するためには、オーバー露出画像に2(2の1乗)分の1のゲインをかける(ゲインダウンする)(図4(E))。
次に、輝度制限部(3010)において、基準画像と比較画像の同一の被写体が等しい画素値となっているとみなせる輝度値を決定する処理を行う。なぜなら、輝度合わせ部(3000)でのゲイン処理だけでは、撮像素子(2010)からの出力が解像限界値と出力上限値の範囲から外れた被写体の、基準画像の画素値(輝度)と比較画像の画素値(輝度)の差の絶対値を正しく検出できないからである。ここで、オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまったために、2(2の1乗)分の1のゲインをかけたとしても、標準露出で撮影した場合のポイント1の出力値と異なってしまう(図4(E))。また、アンダー露出で撮影した場合のポイント3は、出力値は存在するが、解像限界値以下の値となってしまった(図4の括弧内の数値は解像限界値を示している)。このため、2倍のゲインをかけたとしても、標準露出で撮影した場合のポイント3の出力値は同じとなるが、位置ずれ検出や移動体検出に適切でない輝度領域を含んでしまう(図4(D))。
そこで、輝度制限部3010では、輝度合わせ部(3000)のゲイン量と撮像素子(2010)の解像限界値または出力上限値から、位置ずれ検出や移動体検出に有効な輝度領域を算出する。つまり、輝度合わせ部(3000)から出力したデジタルデータがどのような範囲の値を取り得るか演算し、基準画像と比較画像で共通する範囲を制限すればよい。具体的には、比較画像をα倍することで明るさを基準画像と等しくなるとみなして、次式が成り立つように制限値を設定する。具体的には、輝度制限部3010にて、次式で決まる最小の画素値の制限値以下の画素値の値が全て最小の画素値の制限値の値に変換される。また、次式で決まる最大の画素値の制限値以上の画素値の値が全て最大の画素値の制限値の値に変換される。
(最小の画素値の制限値)=Max(解像限界値,解像限界値×α)
=解像限界値 (α<1)
=解像限界値×α (α≧1)
(最大の画素値の制限値)=Min(出力上限値,出力上限値×α)
=出力上限値×α (α<1)
=出力上限値 (α≧1)
以上から、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、200以上、1000以下と制限する(図4(F))。また、基準画像を標準露出で撮影した画像とし、比較画像をオーバー露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、100以上、500以下と制限する(図4(G))。
その後、輝度制限部(3010)から出力したデジタルデータに対して、公知の処理方法を用いて中間画像を生成することとする。すなわち、まず、白を白くする処理がなされ、具体的には白くあるべき領域のR,G,Bが同じ値になるようなゲインをR,G,B各々にかけるホワイトバランス処理を行う。次に、飽和領域のカラーバランスが崩れることを防ぐために、R,G,Bが制限値以上の値とならないように、ホワイトクリップ処理を行う。さらに、色モザイク画像を補間することによって、全ての画素においてR、G、Bの色情報が揃ったカラー画像を生成する。生成したカラー画像は、マトリクス変換処理およびガンマ処理を経て基本的なカラー画像を生成する。この時、位置ずれ検出と移動体検出に適したガンマ処理パラメータは、異なる露光量で撮影した複数枚の全ての画像に対して同一のパラメータである。
本実施例は、本発明の要旨の範囲内において、ステップS104において撮像結果を外部記憶装置に記録して、ステップS105からステップS112を他の画像処理装置内で行ってもよい。
さらに、三脚などの撮像装置を固定する方法を用いて撮影した場合には、基準画像と比較画像の画像間の位置ずれは発生しないため、ステップS106とステップS107を行わなくてもよい。
また、中間画像データをメモリ(2070)に十分に格納しておく容量がある場合には、ステップS104の処理直後に、中間画像を生成するステップS105とステップS108の処理を行い、その後、位置ずれ検出、移動体検出、HDR合成を行ってもよい。
さらに、ステップS108の処理直後に、HDR合成に適した中間画像に対して移動体補正処理を行うためにステップS110とステップS111の処理を行い、その後、HDR合成を行うという処理順序も可能である。
以上のように、本実施例では、位置合わせや移動体検出に用いる画像の画素値の下限値あるいは上限値を、明るさを合わせた後の出力値を考慮して決定するので、移動体の誤検出を減らすことができる。
本実施例では、画像の白とびを軽減する効果を優先した撮影において異なる露光量で撮影した3枚の画像を用いて画像間の移動体を検出し、検出した移動体を補正しながらHDR合成を行う方法について説明する。この時、位置ずれ検出と移動体検出に適した中間画像は、現像処理部2030によるガンマ処理前のリニアな出力結果を用いることとする。
図5は、あるシーンにおける被写体の明るさを示したヒストグラムと、そのシーンにおいて異なる露光量で撮影する被写体の明るさの領域を示した図である。図5で示すように、画像の白とびをより軽減するためには、そのシーンを通常撮影する場合よりも、つまり適切な露光量よりも中心となる露光量をより暗く撮影すると効果的である。より暗く撮影することで、中心となる露光量からの露光量差が同じであっても、明るい領域をより暗く撮影することができ、HDR画像としても、明るい領域がより暗くなることで白とびが軽減する。
本実施例では、実施例1と同一の図1と図2で示した撮像装置1において、HDR合成を行う。ただし、本実施例では、中心となる露光量をより暗く撮影しているため、輝度合わせ部(3000)と輝度制限部(3010)での処理が実施例1と特に異なる。
図6は、本実施例で制御部(2080)が制御を行う処理フローを示したフローチャートである。以下、図6を用いて制御部(2080)が制御を行う処理フローを述べる。
図6の図3と同じ番号のステップの処理は同一の処理を行うため、ここでは説明を省略する。
ステップS601は、制御部(2080)からの制御により撮影の中心となる露光量を決定もしくは選択する処理ステップである。ここで、撮像装置1が自動的に中心となる露光量を決定する場合は、公知の中央部重点測光やスポット測光や多分割測光に関するアルゴリズムを用いて露光制御演算部(1020)で中心となる露光量を決定する演算処理を行っている。本実施例では、画像の白とびをより軽減するため、通常撮影よりも暗く撮影する補正を行って中心となる露光量を決定する。例えば、通常撮影より1段暗く撮影してもよく、白とびを軽減できる露光量を公知の方法で求めて撮影してもよい。
ステップS602は、制御部(2080)からの制御により位置ずれ検出と移動体検出に適した中間画像を生成する処理である。A/D変換部(2020)から出力したデジタルデータに対して輝度合わせ部(3000)と輝度制限部(3010)で画像処理を行い、位置ずれ検出と移動体検出に適した中間画像を、適した画像処理パラメータを用いて生成する。
ここで、ステップS602に関して、位置ずれ検出と移動体検出に適した中間画像を生成する処理方法の詳細を述べる。
図7を用いて基準画像と比較画像の明るさを揃える処理の詳細を述べる。ここで、撮像素子(2010)の解像限界値は100とし、出力上限値は1000とする(本実施例では、撮像素子(2010)は理想的なセンサであるとし、オフセット出力(出力下限値)は0である)。本実施例では、標準露出画像とアンダー露出画像の輝度合わせにおいて、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出で撮影した画像とする。一方、オーバー露出画像と標準露出画像との輝度合わせにおいて、基準画像をオーバー露出で撮影した画像とし、比較画像を標準露出で撮影した画像とする。なぜなら、位置ずれ検出と移動体検出に適した中間画像の明るさは、その撮影シーンをバランスよく表現していることが望ましい。つまり、画像の白とびをより軽減するため、通常撮影よりも暗く撮影する補正を行って中心となる露光量を決定した場合、基準画像はより明るく撮影した画像とすると良い。
図7(A)は、ハイダイナミックレンジ合成画像を撮影するのに適したシーンであり、図7(B)は、そのシーンにおいて異なる露光量で撮影する被写体の明るさの領域を示した図である。このシーンのように、HDR合成に適したシーンは1回の撮影では被写体の明るさの一部しか表現することができない(ダイナミックレンジがシーンに対して狭い)。つまり、撮像素子のダイナミックレンジより明るい被写体は、出力上限値に張り付いてしまい、撮像素子のダイナミックレンジより暗い被写体は、解像限界値以下になってしまう。
具体的に、図7(A)のシーンにおける3つのポイントのオーバー露出・標準露出・アンダー露出で撮影した場合の、A/D変換部(2020)から出力した撮像素子(2010)の出力を図7(C)に示す。オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまう。また、アンダー露出と標準露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまう(図7の括弧内の数値は解像限界値を示している)。
次に、図7(A)のシーンにおける3つのポイントの、輝度合わせ部(3000)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図7(D)、標準露出画像とオーバー露出画像を比較する場合は図7(E)に示す。また、輝度制限部(3010)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図7(F)、標準露出画像とオーバー露出画像を比較する場合は図7(G)に示す。
まず、輝度合わせ部(3000)において、基準画像と比較画像の露光量差を補うゲイン処理を行う。つまり、標準露出よりも1段暗く撮影したアンダー露出画像の明るさを標準露出画像と等しくするためには、アンダー露出画像に2(2の1乗)倍のゲインをかける(ゲインアップする)(図7(D))。また、オーバー露出よりも1段暗く撮影した標準露出画像の明るさをオーバー露出画像と等しくするためには、標準露出画像に2(2の1乗)倍のゲインをかける(ゲインアップする)(図7(E))。
次に、輝度制限部(3010)において、基準画像と比較画像の同一の被写体が等しい画素値となるような輝度を制限する処理を行う。なぜなら、輝度合わせ部(3000)でのゲイン処理だけでは、撮像素子(2010)からの出力が解像限界値と出力上限値の範囲から外れた被写体の、基準画像の画素値(輝度)と比較画像の画素値(輝度)の差の絶対値を正しく検出できないからだ。ここで、オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまったために、2(2の1乗)倍のゲインをかけたとしても、標準露出で撮影した場合のポイント1の出力値と異なってしまう(図7(E))。また、標準露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまった(図7の括弧内の数値は解像限界値を示している)。このために、2倍のゲインをかけたとしても、オーバー露出で撮影した場合のポイント3の出力値は同じとなるが、位置ずれ検出や移動体検出に適切でない輝度領域を含んでしまう(図7(E))。また、アンダー露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまった(図7の括弧内の数値は解像限界値を示している)。このため、2(2の1乗)倍のゲインをかけたとしても、標準露出で撮影した場合のポイント3の出力値は同じとなるが、位置ずれ検出や移動体検出に適切でない輝度領域を含んでしまう(図7(D))。
そこで、輝度制限部3010では、ゲイン量と解像限界値または出力上限値から、位置ずれ検出や移動体検出に適切な輝度領域を抽出するために、画像領域の輝度値について位置合わせに用いることができる輝度値の範囲を算出する。つまり、輝度合わせ部(3000)から出力したデジタルデータがどのような範囲の値を取り得るか演算し、基準画像と比較画像で共通する範囲を制限すればよい。具体的には、比較画像をα倍(ゲインαを乗算)することで明るさを基準画像と等しくなるとみなして、次式が成り立つように制限値を設定する。具体的には、輝度制限部3010にて、次式で決まる最小の画素値の制限値以下の画素値の値が全て最小の画素値の制限値の値に変換される。また、次式で決まる最大の画素値の制限値以上の画素値の値が全て最大の画素値の制限値の値に変換される。
(最小の画素値の制限値)=Max(解像限界値,解像限界値×α)
=解像限界値 (α<1)
=解像限界値×α (α≧1)
(最大の画素値の制限値)=Min(出力上限値,出力上限値×α)
=出力上限値×α (α<1)
=出力上限値 (α≧1)
以上から、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、200以上、1000以下と制限する(図7(F))。また、基準画像をオーバー露出で撮影した画像とし、比較画像を標準露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、200以上、1000以下と制限する(図7(G))。
以上のように、本実施例では、位置合わせや移動体検出に用いる画像の画素値の下限値あるいは上限値を、明るさを合わせた後の出力値を考慮して決定するので、移動体の誤検出を減らすことができる。
さらに、本実施例では画像の白とびをより軽減するために、通常撮影する場合よりも中心となる露出をより暗く設定して撮影する。
以下、実施例3では、画像の黒つぶれをより軽減する効果を優先した撮影における、異なる露光量で撮影した3枚の画像を用いて、画像間の移動体を検出し、検出した移動体を補正しながらHDR合成を行う方法について説明する。
図8は、あるシーンにおける被写体の明るさを示したヒストグラムと、そのシーンにおいて異なる露光量で撮影する被写体の明るさの領域を示した図である。図7で示すように、画像の黒つぶれをより軽減するためには、そのシーンを通常撮影する場合よりも、つまり適切な露光量よりも中心となる露光量をより明るく撮影すると効果的である。より明るく撮影することで、中心となる露光量からの露光量差が同じであっても、暗い領域をより明るく撮影することができ、HDR画像としても、暗い領域がより明るくなることで黒つぶれが軽減する。
本実施例では、実施例1と同一の図2で示した撮像装置1において、HDR合成を行う。ただし、本実施例では、中心となる露光量をより明るく撮影しているため、輝度合わせ部(3000)と輝度制限部(3010)での処理が実施例1・実施例2と特に異なる。
図9は、本実施例で制御部(2080)が制御を行う処理フローを示したフローチャートである。図9の図3と同じ番号のステップの処理は同一の処理を行うため、ここでは説明を省略する。
ステップS901は、制御部(2080)からの制御により撮影の中心となる露光量を決定もしくは選択する処理ステップである。ここで、撮像装置1が自動的に中心となる露光量を決定する場合は、公知の中央部重点測光やスポット測光や多分割測光に関するアルゴリズムを用いて露光制御演算部(1020)で中心となる露光量を決定する演算処理を行っている。本実施例では、画像の黒つぶれをより軽減するため、通常撮影よりも明るく撮影する補正を行って中心となる露光量を決定する。例えば、通常撮影より1段明るく撮影してもよく、黒つぶれを軽減できる露光量を公知の方法で求めて撮影してもよい。
ステップS902は、制御部(2080)からの制御により位置ずれ検出に適した中間画像を生成する処理である。A/D変換部(2020)から出力したデジタルデータに対して輝度合わせ部(3000)と現像処理部(2030)と輝度制限部(3010)で画像処理を行い、位置ずれ検出と移動体検出に適した中間画像を、適した画像処理パラメータを用いて生成する。
図10を用いて基準画像と比較画像の明るさを揃える処理の詳細を述べる。ここで、撮像素子(2010)の解像限界値は100とし、出力上限値は1000とする(本実施例では、撮像素子(2010)は理想的なセンサであるとし、オフセット出力(出力下限値)は0である)。本実施例では、解像限界値とは、低輝度領域においてS/Nや解像力などを考慮して、この値以下は位置ずれ検出や移動体検出に適切でない輝度領域を示している。一方、出力上限値とは、撮像素子(2010)が飽和露光量を入力した場合の出力値を示している。また、このシーンは、中心となる露光量からの露光量差が±1段であったとする。さらに、基準画像を標準露出で撮影した画像とし、比較画像をオーバー露出で撮影した画像とする。一方、基準画像をアンダー露出で撮影した画像とし、比較画像を標準露出で撮影した画像とする。なぜなら、位置ずれ検出と移動体検出に適した中間画像の明るさは、その撮影シーンをバランスよく表現していることが望ましい。つまり、画像の黒つぶれをより軽減するため、通常撮影よりも明るく撮影する補正を行って中心となる露光量を決定した場合、基準画像はより暗く撮影した画像とすると良い。
図10(A)は、HDR合成画像を撮影するのに適したシーンであり、図10(B)は、そのシーンにおいて異なる露光量で撮影する被写体の明るさの領域を示した図である。このシーンのように、HDR合成に適したシーンは1回の撮影では被写体の明るさの一部しか表現することができない(ダイナミックレンジがシーンに対して狭い)。つまり、撮像素子のダイナミックレンジより明るい被写体は、出力上限値に張り付いてしまい、撮像素子のダイナミックレンジより暗い被写体は、解像限界値以下になってしまう。
具体的に、図10(A)のシーンにおける3つのポイントのオーバー露出・標準露出・アンダー露出で撮影した場合の、A/D変換部(2020)から出力した撮像素子(2010)の出力を図10(C)に示す。オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまう。また、アンダー露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまう(図10の括弧内の数値は解像限界値を示している)。
次に、図10(A)のシーンにおける3つのポイントの、輝度合わせ部(3000)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図10(D)、標準露出画像とオーバー露出画像を比較する場合は図10(E)に示す。また、ガンマ処理後の輝度制限部(3010)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図10(F)、標準露出画像とオーバー露出画像を比較する場合は図10(G)に示す。
まず、輝度合わせ部(3000)において、基準画像と比較画像の露光量差を補うゲイン処理を行う。つまり、アンダー露出よりも1段明るく撮影した標準露出画像の明るさをアンダー露出画像と等しくするためには、標準露出画像に2(2の1乗)分の1のゲインをかける(ゲインダウンする)(図10(D))。また、標準露出よりも1段明るく撮影したオーバー露出画像の明るさを標準露出画像と等しくするためには、オーバー露出画像に2(2の1乗)分の1のゲインをかける(ゲインダウンする)(図10(E))。
次に、輝度合わせ部(3000)から出力したデジタルデータに対して、公知の処理方法を用いて中間画像を生成することとする。すなわち、まず、白を白くする処理がなされ、具体的には白くあるべき領域のR,G,Bが同じ値になるようなゲインをR,G,B各々にかけるホワイトバランス処理を行う。次に、飽和領域のカラーバランスが崩れることを防ぐために、R,G,Bが制限値以上の値とならないように、ホワイトクリップ処理を行う。さらに、色モザイク画像を補間することによって、全ての画素においてR、G、Bの色情報が揃ったカラー画像を生成する。生成したカラー画像は、マトリクス変換処理およびガンマ処理を経て基本的なカラー画像を生成する。この時、位置ずれ検出と移動体検出に適したガンマ処理パラメータは、異なる露光量で撮影した複数枚の全ての画像に対して同一のパラメータである。本実施例で用いたガンマ処理パラメータは、出力信号(y)は入力信号(x)を1/2.2乗する処理パラメータ(y=x^1/2.2=x^0.45)であるとするが、位置ずれ検出と移動体検出に適したガンマ処理パラメータであれば限定するものではない。
その後、ガンマ処理部2035からの出力に対して、輝度制限部(3010)において、基準画像と比較画像の同一の被写体が等しい画素値となるような輝度を制限する処理を行う。なぜなら、輝度合わせ部(3000)でのゲイン処理だけでは、撮像素子(2010)からの出力が解像限界値と出力上限値の範囲から外れた被写体の、基準画像の画素値(輝度)と比較画像の画素値(輝度)の差の絶対値を正しく検出できないからだ。ここで、オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまったために、2(2の1乗)分の1のゲインをかけたとしても、標準露出で撮影した場合のポイント1の出力値と異なってしまう(図10(E))。また、アンダー露出で撮影した場合のポイント3は、出力値は存在するが、解像限界値以下の値となってしまった(図10の括弧内の数値は解像限界値を示している)。このため、2分の1のゲインをかけたとしても、標準露出で撮影した場合のポイント3の出力値は同じとなるが、位置ずれ検出や移動体検出に適切でない輝度領域を含んでしまう(図10(D))。
そこで、輝度制限部3010では、位置ずれ検出や移動体検出に適切な輝度領域を抽出するために、ゲイン量と解像限界値または出力上限値から、画像領域の輝度値について位置合わせに用いることができる輝度値の範囲を算出する。つまり、輝度合わせ部(3000)から出力したデジタルデータがどのような範囲の値を取り得るか演算し、基準画像と比較画像で共通する範囲を制限すればよい。具体的には、比較画像をα倍することで明るさを基準画像と等しくなるとみなして、次式が成り立つように制限値を設定する。具体的には、輝度制限部3010にて、次式で決まる最小の画素値の制限値以下の画素値の値が全て最小の画素値の制限値の値に変換される。また、次式で決まる最大の画素値の制限値以上の画素値の値が全て最大の画素値の制限値の値に変換される。
(最小の画素値の制限値)=Max(解像限界値,解像限界値×α)^0.45
=(解像限界値)^0.45 (α<1)
={(出力上限値)×α}^0.45 (α≧1)
(最大の画素値の制限値)=Min(出力上限値,出力上限値×α)^0.45
={(出力上限値)×α}^0.45 (α<1)
=(出力上限値)^0.45 (α≧1)
以上から、基準画像をアンダー露出で撮影した画像とし、比較画像を標準露出で撮影した画像とした場合、位置合わせに適した中間画像を8以上16以下と制限する(図10(F))。また、基準画像を標準露出で撮影した画像とし、比較画像をオーバー露出で撮影した画像とした場合、位置合わせに適した中間画像を8以上16以下と制限する(図10(G))。
以上のように、本実施例では、位置合わせや移動体検出に用いる画像の画素値の下限値あるいは上限値を、明るさを合わせた後の出力値を考慮して決定するので、移動体の誤検出を減らすことができる。
さらに、本実施例では画像の白とびをより軽減するために、通常撮影する場合よりも中心となる露出をより明るく設定して撮影する。
実施例4では、異なる露光量で撮影し、シャッター精度や絞り精度による露出ムラも含んでいる3枚の画像を用いて、画像間の移動体を検出し、検出した移動体を補正しながらHDR合成を行う方法について説明する。
本実施例の移動体検出方法では、前提として、基準画像と比較画像の移動していない物体の輝度は同じであるということが必要である。よって、意図して設定した中心となる露光量からの露光量差以外に発生した、シャッター精度や絞り精度による露出ムラなどの中心となる露光量からの露光量差に関しては、その露光量差を補正した方が良好な移動体検出結果を得られる。また、露出ムラは画像全体が一律に暗くなる・明るくなるという現象とだけではなく、シャッターの開閉速度ムラなどによって画像の一部が明るくなったり暗くなったりしてしまう現象も含まれている。よって、露出ムラを補正するためには、画像の領域ごとに露出ムラを検出し、画像の領域ごとに検出した露出ムラをゲイン処理で補正する必要がある。
図11は、本発明の実施形態にかかわる、撮像装置1の構成を示した図である。図1と同じ処理ブロックには同じ番号を付しており、説明を省略する。
本実施例では、露出ムラ検出部(4000)、露出ムラ補正部(4010)が設けられ、それぞれ前述した露出ムラを検出、補正する。
図12は、本実施例で制御部(2080)が制御を行う処理フローを示したフローチャートである。以下、図12を用いて制御部(2080)が制御を行う処理フローを述べる。図12の図3と同じ番号のステップの処理は同一の処理を行うため、ここでは説明を省略する。
ステップS1201は、制御部(2080)からの制御により露出ムラを検出する処理である。ここで、本実施例における、露出ムラ検出結果を図14に示す。露出ムラ検出部(4000)では、図13(A)で示したように、ノイズや移動体の影響を軽減するために、画像を複数の大きな領域に分割する。そして、意図して設定した中心となる露光量からの露光量差を考慮した、基準画像と比較画像の撮像素子(2010)からの出力値の比を求める。図13(B)は、基準画像のゲインを1倍とした場合の、ある撮影における比較画像のゲインを示した図である。本実施例では、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出とオーバー露出で撮影した画像とする。
ステップS1202は、制御部(2080)からの制御により露出ムラを補正する処理である。露出ムラ補正部(4010)では、撮像素子(2010)からアナログ電圧として出力された信号をA/D変換部(2020)で変換したデジタルデータに対して、図13(B)で算出したゲインに従って領域ごとにゲイン処理を行う。
ステップS1203は、制御部(2080)からの制御により位置ずれ検出と移動体検出に適した中間画像を生成する処理である。A/D変換部(2020)から出力したデジタルデータに対して輝度合わせ部(3000)と輝度制限部(3010)と現像処理部(2030)で実施例1と基本的には同一な画像処理を行い、位置ずれ検出と移動体検出に適した中間画像を生成する。ただし、輝度制限部(3010)では、本実施例のように露出ムラ補正を行った場合には、輝度合わせ部(3000)のゲイン量だけでなく、露出ムラ補正部(4010)のゲイン量も考慮する必要がある。つまり、輝度制限部では3010では、輝度合わせ部(3000)のゲイン量と露出ムラ補正部(4010)のゲイン量と撮像素子(2010)の解像限界値と出力上限値から、輝度を制限する必要がある。
図14を用いて基準画像と比較画像の明るさを揃える処理の詳細を述べる。ここで、撮像素子(2010)の解像限界値は100とし、出力上限値は1000とする(本実施例では、撮像素子(2010)は理想的なセンサであるとし、オフセット出力(出力下限値)は0である)。本実施例では、解像限界値とは、低輝度領域においてS/Nや解像力などを考慮して、この値以下は位置ずれ検出や移動体検出に適切でない輝度領域を示している。一方、出力上限値とは、撮像素子(2010)が飽和露光量を入力した場合の出力値を示している。また、このシーンは、中心となる露光量からの露光量差が±1段であったとする。さらに、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出とオーバー露出で撮影した画像とする。
図14(A)のシーンのヒストグラムは、図14(B)で示される。このシーンのように、HDR合成に適したシーンは1回の撮影では被写体の明るさの一部しか表現することができない(ダイナミックレンジがシーンに対して狭い)。つまり、撮像素子のダイナミックレンジより明るい被写体は、出力上限値に張り付いてしまい、撮像素子のダイナミックレンジより暗い被写体は、解像限界値以下になってしまう。
具体的に、図14(A)のシーンにおける3つのポイントのオーバー露出・標準露出・アンダー露出で撮影した場合の、A/D変換部(2020)から出力した撮像素子(2010)の出力を図14(C)に示す。オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまう。また、アンダー露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまう(図14の括弧内の数値は解像限界値を示している)。
次に、図14(A)のシーンにおける3つのポイントの、輝度合わせ部(3000)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図14(D)、標準露出画像とオーバー露出画像を比較する場合は図14(E)に示す。また、輝度制限部(3010)からの出力結果を、標準露出画像とアンダー露出画像を比較する場合は図14(F)、標準露出画像とオーバー露出画像を比較する場合は図14(G)に示す。
まず、輝度合わせ部(3000)において、露出ムラ補正部(4010)からの出力に対して、基準画像と比較画像の露光量差を補うゲイン処理を行う。つまり、標準露出よりも1段暗く撮影したアンダー露出画像の明るさを標準露出画像と等しくするためには、アンダー露出画像に2(2の1乗)倍のゲインをかける(ゲインアップする)(図14(D))。また、標準露出よりも1段明るく撮影したオーバー露出画像の明るさを標準露出画像と等しくするためには、オーバー露出画像に2(2の1乗)分の1のゲインをかける(ゲインダウンする)(図14(E))。
次に、輝度制限部(3010)において、基準画像と比較画像の同一の被写体が等しい画素値となるような輝度を制限する処理を行う。なぜなら、輝度合わせ部(3000)でのゲイン処理だけでは、撮像素子(2010)からの出力が解像限界値と出力上限値の範囲から外れた被写体の、基準画像の画素値(輝度)と比較画像の画素値(輝度)の差の絶対値を正しく検出できないからだ。ここで、オーバー露出で撮影した場合のポイント1は、撮像素子(2010)の出力上限値に張り付いてしまったために、2(2の1乗)分の1のゲインをかけたとしても、標準露出で撮影した場合のポイント1の出力値と異なってしまう(図14(E))。また、アンダー露出で撮影した場合のポイント3は、撮像素子(2010)の出力値は存在するが、解像限界値以下の値となってしまった(図14の括弧内の数値は解像限界値を示している)。このため、2倍のゲインをかけたとしても、標準露出で撮影した場合のポイント3の出力値は同じとなるが、位置ずれ検出や移動体検出に適切でない輝度領域を含んでしまう(図14(D))。
そこで、輝度制限部3010では、位置ずれ検出や移動体検出に適切な輝度領域を抽出するために、ゲイン量と解像限界値または出力上限値から、画像領域の輝度値について位置合わせに用いることができる輝度値の範囲を算出する。この時、撮像素子(2010)の解像限界値と出力上限値は画像に対して一意の値である。このため、輝度制限部(3010)の上限の制限値は領域ごとに算出した露出ムラ補正ゲインの最小値を、輝度制限部(3010)の下限の制限値は領域ごとに算出した露出ムラ補正ゲインの最大値を考慮する。つまり、輝度合わせ部(3000)から出力したデジタルデータがどのような範囲の値を取り得るか演算し、基準画像と比較画像で共通する範囲を制限すればよい。具体的には、比較画像をα倍することで明るさを基準画像と等しくなるとみなして、露出ムラ補正ゲインの最小値をβ、露出ムラ補正ゲインの最大値をγとして次式が成り立つように制限値を設定する。
(最小の画素値の制限値)=Max(解像限界値,解像限界値×α×γ)
=解像限界値 (α×γ<1)
=解像限界値×α×γ (α×γ≧1)
(最大の画素値の制限値)=Min(出力上限値,出力上限値×α)
=出力上限値×α×β (α×β<1)
=出力上限値 (α×β≧1)
以上から、基準画像を標準露出で撮影した画像とし、比較画像をアンダー露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、220以下と制限する(図14(F))。また、基準画像を標準露出で撮影した画像とし、比較画像をオーバー露出で撮影した画像とした場合、輝度合わせ部(3000)からの出力を、100以上、495以下と制限する(図14(G))。ただし、輝度制限部(3010)の上限と下限の制限値を画像の領域ごとに設定できる場合は、それぞれの領域のゲイン量に対応する制限値を用いてもよい。
その後、輝度制限部(3010)から出力したデジタルデータに対して、公知の処理方法を用いて中間画像を生成することとする。すなわち、まず、白を白くする処理がなされ、具体的には白くあるべき領域のR,G,Bが同じ値になるようなゲインをR,G,B各々にかけるホワイトバランス処理を行う。次に、飽和領域のカラーバランスが崩れることを防ぐために、R,G,Bが制限値以上の値とならないように、ホワイトクリップ処理を行う。さらに、色モザイク画像を補間することによって、全ての画素においてR、G、Bの色情報が揃ったカラー画像を生成する。生成したカラー画像は、マトリクス変換処理およびガンマ処理を経て基本的なカラー画像を生成する。この時、位置ずれ検出と移動体検出に適したガンマ処理パラメータは、異なる露光量で撮影した複数枚の全ての画像に対して同一のパラメータである。
以上のように、本実施例では、位置合わせや移動体検出に用いる画像の画素値の下限値あるいは上限値を、明るさを合わせた後の出力値を考慮して決定するので、移動体の誤検出を減らすことができる。
また本実施例では露出ムラを補正することで、基準画像と比較画像の輝度をより正確に揃えることができるため、ステップS110において、より正確に移動体を検出できる。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。
また、本発明はデジタルカメラのような撮影を主目的とした機器にかぎらず、携帯電話、パーソナルコンピュータ(ラップトップ型、デスクトップ型、タブレット型など)、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含することが意図されている。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。