画像処理装置、画像処理方法、および、画像処理プログラム
【課題】異なる露光条件で撮影された複数枚の画像を用いて位置合わせ処理を行う際に、画像間の露光段差が大きいと位置合わせが不安定となる。
【解決手段】異なる露光条件での連続的な撮影により得られた第1、第2、及び、第3の画像の少なくとも3つの画像間の動きベクトルを求める画像処理装置は、第1の画像上の複数の位置において、第1及び第2の画像間の第1の動きベクトルと、第1及び第3の画像間の第2の動きベクトルを算出する。また、動きベクトルの信頼性の高低を判定し、信頼性が低い第1の動きベクトルについて、対応する位置で算出された第2の動きベクトル、及び、画像間の撮影間隔に基づいて、第1及び第2の画像間の推定動きベクトルを算出する。そして、信頼性が低い第1の動きベクトルと対応する位置において算出された第2の動きベクトルの信頼性が高い場合に、信頼性が低い第1の動きベクトルを、推定動きベクトルに置き換える。
【解決手段】異なる露光条件での連続的な撮影により得られた第1、第2、及び、第3の画像の少なくとも3つの画像間の動きベクトルを求める画像処理装置は、第1の画像上の複数の位置において、第1及び第2の画像間の第1の動きベクトルと、第1及び第3の画像間の第2の動きベクトルを算出する。また、動きベクトルの信頼性の高低を判定し、信頼性が低い第1の動きベクトルについて、対応する位置で算出された第2の動きベクトル、及び、画像間の撮影間隔に基づいて、第1及び第2の画像間の推定動きベクトルを算出する。そして、信頼性が低い第1の動きベクトルと対応する位置において算出された第2の動きベクトルの信頼性が高い場合に、信頼性が低い第1の動きベクトルを、推定動きベクトルに置き換える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像を合成することによって、ダイナミックレンジを拡大した画像を生成する技術に関する。
【背景技術】
【0002】
ディジタルスチルカメラまたはデジタルビデオカメラにおいて、シャッタ速度、絞り値などの露光条件を変えながら連写撮影し、得られた複数枚の画像データを合成することによって、ダイナミックレンジを拡大した画像を生成する画像合成技術が知られている。このような連写画像の合成技術では、連写撮影中に発生する手ブレや被写体ブレの影響を低減するため、画像間の位置合わせ・位置ずれ補正技術が重要となる。
【0003】
位置合わせ手法としては様々なものがあるが、組込み機器においては、テンプレートマッチング法が一般的である。テンプレートマッチング法とは、位置合わせ処理を行う2枚の画像のうち、一方の画像(基準画像)において所定の大きさの領域(テンプレート)を定義し(例えば8画素×8ライン)、他方の画像(比較対象画像)の所定範囲(サーチ領域)内でテンプレートをずらしながら、テンプレートと比較対象画像との一致度を表す一致指標値を逐次計算する。そして、その一致指標値が最も大きくなる(一致指標値によっては、最も小さくなる)場所を求めることで、画像間の相対的な位置ずれを求める。一致指標値としては、自乗誤差SSD(Sum of Squared intensity Difference)、誤差の絶対値SAD(Sum of Absolute intensity Difference)、正規化相互相関NCC(Normalized Cross-Correlation)などがある。
【0004】
SSDは、次式(1)で定義され、値が小さいほど一致度が高いと判断する。ただし、式(1)において、テンプレートの大きさはM×N[画素]であり、T(i,j)、I(i,j)はそれぞれ、テンプレート位置(i,j)におけるテンプレートの輝度値、比較対象画像の輝度値である。
【0005】
【数1】
【0006】
SADは、次式(2)で定義され、値が小さいほど一致度が高いと判断する。
【0007】
【数2】
【0008】
NCCは、次式(3)で定義され、値が大きいほど一致度が高いと判断する。
【0009】
【数3】
【0010】
正規化相互相関は、指標値のなかに正規化項が含まれているため、明るさの異なる画像をそのまま処理画像として用いることができるが、計算量が多くなる欠点がある。一方、SADやSSDは、基本的に明るさレベルの一致した画像が入力されることを前提としているが、計算量が比較的少ないため、広く用いられている。
【0011】
異なる露光条件で撮影された連写画像に対して位置合わせ処理、合成処理を行って、広ダイナミックレンジ画像を得る手法として、特許文献1〜4がある。
【0012】
特許文献1には、異なる露光条件で撮影された複数枚の画像を合成することによってダイナミックレンジを拡大した画像を得る撮像方法において、経時的な位置ずれを補正した後に合成処理を行う内容が開示されている。
【0013】
特許文献2には、短露光画像と長露光画像を交互に撮影し、短露光画像を基準として前後で撮影された長露光画像のうち、差分絶対値が小さい方の長露光画像が合成に適していると判断して、合成用の画像として選択する方法が開示されている。
【0014】
特許文献3には、短露光画像と長露光画像間の位置ずれを補正した後の合成処理において、 2枚の差分画像から閾値によってエッジ・ブレとノイズを切り分けて、画像の合成比率を変化させることで、 ブレを抑制した合成画像を得る技術が開示されている。
【0015】
特許文献4には、異なる露光条件で撮影された複数枚の画像を合成することによってダイナミックレンジを拡大する撮像装置において、画像間の相対的な変位に基づいて当該変位の信頼性を求め、求めた信頼性に基づいて、合成に用いる複数の画像を選択し、選択した複数の画像を、画像間の変位に基づいて位置合わせしてから合成する技術が開示されている。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開平5−7336号公報
【特許文献2】特開2008−277896号公報
【特許文献3】特開2007−202098号公報
【特許文献4】特開2007−272459号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
異なる露光条件の画像を用いてテンプレートマッチングを行う場合、上述したSAD、SSD,NCCのいずれの指標値を用いる場合でも、何らかの正規化処理が必要となる。NCCの場合は、画像の輝度平均が一致するように正規化を行うが、SADやSSDの場合、指標値に正規化項が含まれていないので、予め露光条件の比率に応じたゲインを乗算することによって信号レベルを揃える必要がある。
【0018】
画像間の露光段差が小さいときは、露光比率に応じた正規化処理によって信号レベルをほぼ一致させることが可能である。しかし、画像間の露光段差が大きくなると、ノイズやセンサの非線形性などの影響が大きくなるため、このような露光比率に応じた正規化処理では誤差が増大してしまう。
【0019】
合成画像のダイナミックレンジを拡大するためには、各画像の露光段差を大きくすることが有効であるが、上述した誤差の影響によって正規化後の画像間の信号レベルの乖離が大きくなると、位置合わせが不安定となる。上記特許文献1〜4では、異なる露光条件で撮影された画像を用いて位置合わせ処理を行うことについての記述はあるが、画像間の露光段差が大きくなるにつれて位置合わせが不安定となる課題に対する解決法については記載がない。
【0020】
本発明は、上記の課題に鑑みてなされたものであり、異なる露光条件で撮影された複数枚の画像を合成する技術において、露光段差が大きい場合においても位置合わせを安定化させることを目的とする。
【課題を解決するための手段】
【0021】
本発明のある態様に係る画像処理装置は、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理装置であって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出する第1の動きベクトル算出部と、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出する第2の動きベクトル算出部と、前記第1の動きベクトルの信頼性の高低を判定する第1の信頼性判定部と、前記第2の動きベクトルの信頼性の高低を判定する第2の信頼性判定部と、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出する推定動きベクトル算出部と、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換える動きベクトル置換部と、を備える。
【0022】
本発明の別の態様に係る画像処理方法は、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理方法であって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、前記第1の動きベクトルの信頼性の高低を判定するステップと、前記第2の動きベクトルの信頼性の高低を判定するステップと、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、を備える。
【0023】
本発明のさらに別の態様に係る画像処理プログラムは、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求めるための画像処理プログラムであって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、前記第1の動きベクトルの信頼性の高低を判定するステップと、前記第2の動きベクトルの信頼性の高低を判定するステップと、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、をコンピュータに実行させる。
【発明の効果】
【0024】
本発明によれば、異なる露光条件で撮影された複数枚の画像間の露光段差が大きい場合でも、位置合わせを精度良く行うことができる。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態における画像処理装置を備えたデジタルカメラの構成を示すブロック図である。
【図2】第1の実施形態における画像処理装置を備えたデジタルカメラによって行われる合成画像生成処理の内容を示すフローチャートである。
【図3】テンプレートマッチングで用いるテンプレートおよびサーチ範囲の設定方法を説明するための図である。
【図4】テンプレートマッチングによって求められた動きベクトルの一例を示す図である。
【図5】動きベクトル信頼性判定処理部によって行われる動きベクトルの信頼性判定処理の詳細な内容を示すフローチャートである。
【図6】図5に示すフローチャートのステップS207及びステップS208の詳細な処理内容を示すフローチャートである。
【図7】推定動きベクトルの算出方法を説明するための図である。
【図8】推定動きベクトルの別の算出方法を説明するための図である。
【図9】輝度値に応じた合成比率の決定方法を説明するための図である。
【図10】長露光画像と短露光画像との間の輝度差に応じた合成比率の決定方法を説明するための図であり、図10(a)は、動きベクトルの信頼性が高いと判定された場合の図、図10(b)は、動きベクトルの信頼性が低いと判定された場合の図である。
【図11】第1の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図12】第2の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図13】第3の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図14】第4の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図15】第4の実施形態における推定動きベクトルの算出方法を説明するための図である。
【図16】第4の実施形態における推定動きベクトルの別の算出方法を説明するための図である。
【図17】第5の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図18】第6の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【発明を実施するための形態】
【0026】
<第1の実施形態>
図1は、第1の実施形態における画像処理装置10を備えたデジタルカメラ1の構成を示すブロック図である。デジタルカメラ1は、レンズと本体が一体型のカメラでもよいし、レンズ交換式のカメラでもよい。デジタルカメラ1は、光学系100と、撮像素子101と、画像処理装置10とを備える。
【0027】
画像処理装置10は、フレームメモリ102と、正規化処理部103と、動きベクトル演算部(第1の動きベクトル算出部、第2の動きベクトル算出部とも呼ぶ)104と、動きベクトル信頼性判定処理部(第1の信頼性判定部、第2の信頼性判定部とも呼ぶ)105と、動きベクトル補正処理部(推定動きベクトル算出部、動きベクトル置換部とも呼ぶ)106と、合成処理部(第1の位置ずれ補正部、第1の合成部、第2の位置ずれ補正部、第2の合成部とも呼ぶ)107と、画像処理部108と、制御部109とを備える。図中、実線の矢印はデータの流れを表しており、点線は制御信号を表している。
【0028】
撮像素子101は、例えば、CCDやCMOSであり、レンズなどの光学系100を介して入力される被写体光を光電変換することによって、電気信号として出力する。撮像素子101から出力される電気信号は、画像データとして、フレームメモリ102に格納される。フレームメモリ102に格納される画像データは、ベイヤ配列に基づいて画素ごとに、R(Red)信号、G(Green)信号、B(Blue)信号のうちのいずれか一つの情報を有するRaw形式の画像データである。
【0029】
正規化処理部103は、フレームメモリ102から画像データ120と撮影パラメータ121を読み出して、位置合わせ処理および合成処理を行う対象の複数の画像データ間の信号レベル(輝度レベル)を一致させるための正規化処理を行う。撮影パラメータ121には、画像撮影時の露光時間が少なくとも含まれる。正規化処理後の画像データ122は、フレームメモリ102に格納される。
【0030】
動きベクトル演算部104は、正規化処理後の複数枚の画像データ122について、画像間の位置ずれを表す動きベクトルを求める。動きベクトル演算部104によって求められた動きベクトル123および動きベクトル演算の中間データ124は、フレームメモリ102に格納される。動きベクトル演算の中間データ124については、後述する。
【0031】
動きベクトル信頼性判定処理部105は、動きベクトル演算部104で求めた動きベクトル123の信頼性の高低を、動きベクトル演算中間データ124に基づいて判定する。求めた信頼性判定結果125は、フレームメモリ102に格納される。
【0032】
動きベクトル補正処理部106は、信頼性判定結果125に基づいて、動きベクトル123を補正する。求めた補正後の動きベクトル126は、フレームメモリ102に格納される。
【0033】
合成処理部107は、正規化処理後の複数枚の画像データ122について、動きベクトル123または補正後の動きベクトル126に基づいて、画像データ間の位置ずれを補正した後に合成することによって合成画像データ127を生成し、フレームメモリ102に格納する。
【0034】
画像処理部108は、合成画像データ127の各画素に、R信号、G信号、B信号を割り当てる現像処理(デモザイク処理)を行う。また、画像処理部108は、ノイズ低減処理やエッジ強調処理など、所望の画像を得るために必要な各種画像処理を行う。現像処理を含む各種画像処理が施された画像は、例えば、図示しないディスプレイに表示される。
【0035】
制御部109は、デジタルカメラ1の全体制御を行う。
【0036】
本実施の形態における画像処理装置10では、露光時間の異なる複数枚の画像データを合成することによって、ダイナミックレンジを拡大した合成画像を生成する。このため、デジタルカメラ1は、露光条件を変えて連写撮影を行う。
【0037】
図2は、第1の実施形態における画像処理装置を備えたデジタルカメラ1によって行われる合成画像生成処理の内容を示すフローチャートである。例えば、デジタルカメラ1が合成画像を生成するための合成画像生成モードに設定されており、ユーザによってレリーズボタンの押圧操作が行われると、ステップS201の処理を開始する。
【0038】
ステップS201では、露光条件を変更しながら連写撮影を行う。ここでは、撮影シーンの明るさに応じて、露光アンダー側から露光オーバー側まで撮影できるように、露光条件を設定する。本実施形態では、絞り、ISO感度を一定に保ち、露光時間(シャッタ速度)を変えながら撮影する。なお、露光時間、ISO感度を一定に保ち、絞りを変えながら撮影しても、同様の効果を得ることができる。第1の実施形態では、短露光画像(高速シャッタ)・長露光画像(低速シャッタ)・中間露光画像(中速シャッタ)の順に画像が得られるように、3枚撮影する。撮影により得られた画像は、フレームメモリ102に格納される。
【0039】
ステップS202〜S204は、短露光画像と中間露光画像の間の位置ずれ量を表す動きベクトルを求める処理である。
【0040】
ステップS202において、正規化処理部103は、撮影時の撮影パラメータ121を用いて、短露光画像に対する中間露光画像の露光時間の比率を演算し、この比率に応じた係数を短露光画像の各画素値に乗算することにより、短露光画像と中間露光画像の信号レベルを一致させる正規化処理を行う。正規化処理後の画像は、フレームメモリ102に格納される。
【0041】
ステップS203において、動きベクトル演算部104は、低露光画像と中間露光画像の正規化後の画像データ122を用いて、テンプレートマッチング処理を行い、動きベクトル123を演算する。テンプレートマッチングで用いるテンプレートおよびサーチ範囲の設定方法を図3に示す。
【0042】
ステップS203では、低露光画像を位置合わせの基準座標系とする基準画像とし、中間露光画像を基準画像に対する位置ずれ量を求める位置合わせ対象画像とする。ここでは、基準画像30において、テンプレート301を格子状に複数個設定し(図3(a)参照)、位置合わせ対象画像31において、サーチ範囲302を格子状に複数個設定する。サーチ範囲302は、テンプレート301を含む所定の大きさの範囲である。テンプレートマッチングは既知の処理であるため、詳細な説明は省略するが、位置合わせ対象画像31のサーチ範囲302内で基準画像30のテンプレート301をずらしながら一致指標値を演算し、最も一致指標値が大きくなる(一致指標値によっては最も小さくなる)位置を探索する。
【0043】
図4は、テンプレートマッチングによって求められた動きベクトルの一例を示す図である。位置合わせ対象画像31において、一致指標値が最大(一致指標値によっては最小)となるテンプレート位置304を求め、求めたテンプレート位置304とテンプレートの設定位置303との間の位置ずれ量を動きベクトル123として求める。動きベクトル123は、設定されたテンプレート301ごとに求める。
【0044】
また、ステップS203において、動きベクトル演算部104は、画像間の位置ずれ量と一致指標値の分布を表すデータを動きベクトル演算の中間データ124として求める。求めた動きベクトル123及び動きベクトル演算の中間データ124は、フレームメモリ102に格納される。
【0045】
ステップS204において、動きベクトル信頼性判定処理部105は、動きベクトル演算の中間データ124を用いて、求めた動きベクトル123の信頼性を判定する。低コントラストの画像領域や、繰り返しパターンが存在する領域などでは、動きベクトル123を精度良く求めることは困難である。そこで、ステップS203で求めた動きベクトル123の確からしさを示す信頼性を判定する。動きベクトル123の信頼性を判定する方法について、図5を用いて説明する。
【0046】
図5は、動きベクトル信頼性判定処理部105によって行われる動きベクトルの信頼性判定処理の詳細な内容を示すフローチャートである。
【0047】
ステップS501では、ステップS203で求めた動きベクトル演算の中間データ124をフレームメモリ102から読み込む。
【0048】
ステップS502では、動きベクトル演算の中間データ124を用いて、各動きベクトルについて信頼性を定量化する指標値を算出する。具体的には、下記(1)〜(3)の特性を用いて、信頼性を定量化する指標値を算出する。
【0049】
(1)エッジ構造が鮮鋭な領域の場合、動きベクトルの信頼性が高い。この場合、位置ずれが除去できたときに、一致指標値は、一致度が高いことを意味する大きな値(指標値によっては、小さな値)を示すのに対して、位置ずれが残っている場合、一致指標値は小さな値(指標値によっては、大きな値)を示す。従って、テンプレートマッチングを行った際に、一致指標の変動が大きい。
【0050】
(2)テクスチャや平坦な構造の場合、位置ずれが除去できた場合と位置ずれが残っている場合との間で一致指標値の変動が少なく、信頼性は低い。
【0051】
(3)繰り返し構造の場合、一致指標値も周期的に変動し、信頼性は低い。
【0052】
ただし、信頼性を判定する指標値は、低コントラスト領域や繰り返しパターン領域等のような位置合わせの手がかりが少ない領域を検出できるものであれば、任意の指標値でよい。例えば、特許第3164121号に記載されているように、各ブロックのエッジの量に基づいて信頼性の指標値を定義してもよい。
【0053】
ステップS503では、ステップS502で求めた動きベクトル信頼性指標値を所定のしきい値と比較することにより、信頼性の高低を2段階で判定する。所定のしきい値は、動きベクトルの信頼性を判定するためのしきい値であり、予め適切な値を設定しておく。信頼性が高いと判定するとステップS504に進み、信頼性が低いと判定するとステップS505に進む。
【0054】
ステップS504では、動きベクトル123の信頼性が高いという判定結果をフレームメモリ102に格納する。
【0055】
一方、ステップS505では、動きベクトル123の信頼性が低いという判定結果をフレームメモリ102に格納する。
【0056】
ステップS506では、全ての動きベクトルについて、信頼性判定処理を終了したか否かを判定する。全ての動きベクトルについて信頼性判定処理を終了していないと判定すると、ステップS501に戻り、未処理の動きベクトルを対象として、信頼性判定処理を行う。一方、全ての動きベクトルについて信頼性判定処理を終了したと判定すると、図2に示すフローチャートのステップS205に進む。
【0057】
ステップS205〜S208は、短露光画像と長露光画像の間の位置ずれ量を表す動きベクトルを求める処理である。
【0058】
ステップS205において、正規化処理部103は、撮影時の撮影パラメータ121を用いて、短露光画像に対する長露光画像の露光時間の比率を演算し、この比率に応じた係数を短露光画像の各画素値に乗算することにより、短露光画像と長露光画像の信号レベルを一致させる正規化処理を行う。正規化処理後の画像は、フレームメモリ102に格納される。
【0059】
ステップS206において、動きベクトル演算部104は、短露光画像を基準画像とし、長露光画像を位置合わせ対象画像としてテンプレートマッチングを行い、両画像間の動きベクトルを求める。この処理は、ステップS203で行う処理と同様であるため、その詳しい説明は省略する。
【0060】
ステップS207において、動きベクトル信頼性判定処理部105は、ステップS206で求めた動きベクトルの信頼性を高低の2段階で判定する。
【0061】
ステップS208において、動きベクトル補正処理部106は、ステップS207で信頼性が低いと判定された動きベクトルについて、低露光画像と中間露光画像の位置合わせ処理結果に基づいた置換処理を行う。
【0062】
図6は、図5に示すフローチャートのステップS207及びステップS208の詳細な処理内容を示すフローチャートである。
【0063】
ステップS601では、図2のステップS206で求めた動きベクトル演算の中間データ124をフレームメモリ102から読み込む。
【0064】
ステップS602では、動きベクトル演算の中間データ124を用いて、各動きベクトルについて信頼性を定量化する指標値を算出する。この処理は、図5のステップS502で行う処理と同様である。
【0065】
ステップS603では、ステップS602で求めた動きベクトル信頼性指標値を所定のしきい値と比較することにより、信頼性の高低を2段階で判定する。信頼性が高いと判定すると、ステップS604に進み、信頼性が低いと判定すると、ステップS605に進む。
【0066】
ステップS604では、信頼性が高いと判定された動きベクトルをそのまま出力して、フレームメモリ102に格納する。
【0067】
一方、ステップS605では、ステップS202〜S204で求めた短露光画像と中間露光画像の間の動きベクトル、動きベクトルの信頼性判定結果、撮影間隔・撮影順序・露光時間情報をフレームメモリ102から読み込む。
【0068】
ステップS606では、撮影間隔、撮影順序、短露光画像と中間露光画像の間の動きベクトルを用いて、短露光画像と長露光画像との間の推定動きベクトルを算出する。
【0069】
図7は、推定動きベクトルの算出方法を説明するための図である。第1の実施形態では、短露光画像、長露光画像、中間露光画像の順で連写撮影しており、短露光画像と中間露光画像間の動きベクトルは、図2のステップS202〜S204で既に求めている。短露光画像と長露光画像の間の撮影間隔をT0、長露光画像と中間露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と中間露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から、短露光画像と長露光画像の間の推定動きベクトルは、次式(4)で表される。
【0070】
【数4】
【0071】
なお、図7を用いた計算方法では、撮影画像の代表的な時刻を露光開始時刻としている。
【0072】
図8は、推定動きベクトルの別の算出方法を説明するための図である。図8を用いた計算例では、撮影画像の代表的な時刻を露光期間の中心とし、時間的により厳密にモデル化している。短露光画像、長露光画像、中間露光画像の露光時間をそれぞれt0、t1、t2とし、短露光画像と長露光画像の間の撮影間隔をT0、長露光画像と中間露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と中間露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から、短露光画像と長露光画像の間の推定動きベクトルは、次式(5)で表される。
【0073】
【数5】
【0074】
ステップS607では、短露光画像と中間露光画像の間の動きベクトルのうち、ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルの信頼性が高いか、低いかを判定する。ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルとは、設定されたテンプレートの位置が同じ位置にある動きベクトルのことである。動きベクトルの信頼性が高いと判定すると、ステップS608に進む。
【0075】
ステップS608では、短露光画像と中間露光画像との間の動きベクトルの信頼性が高いので、ステップS606で求めた短露光画像と長露光画像との間の推定動きベクトルも信頼できると判断して、推定動きベクトルの置換処理を行う。すなわち、ステップS603で信頼性が低いと判定された短露光画像と長露光画像との間の動きベクトルを、ステップS606で求めた推定動きベクトルに置き換える。
【0076】
ステップS609では、動きベクトルの信頼性が高いという判定結果をフレームメモリ102に格納する。
【0077】
一方、ステップS607において、短露光画像と中間露光画像の間の動きベクトルのうち、ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルの信頼性が低いと判定すると、ステップS610に進む。ステップS610では、動きベクトルの信頼性が低いという判定結果をフレームメモリ102に格納する。
【0078】
ステップS611では、全ての動きベクトルについて、ステップS601〜S603の処理を行ったか否かを判定する。全ての動きベクトルについての処理が完了していないと判定すると、ステップS601に戻り、未処理の動きベクトルについて、ステップS601以降の処理を行う。一方、全ての動きベクトルについての処理が完了したと判定すると、図2に示すフローチャートのステップS209に進む。
【0079】
ステップS209において、合成処理部107は、ステップS202〜S204で求めた動きベクトルに基づいて、短露光画像と中間露光画像との間の位置ずれを補正し、位置ずれを補正した短露光画像と中間露光画像とを合成することによって、ダイナミックレンジを拡大した合成画像を生成する。画像の合成比率は、輝度値に応じた合成比率係数と、長露光画像と短露光画像の間の輝度差に応じた合成比率係数の2つの係数を用いて決定する。
【0080】
図9は、輝度値に応じた合成比率の決定方法を説明するための図である。図9において、横軸は短露光画像の輝度値を示し、縦軸は輝度値に応じた長露光画像または中間露光画像の合成比率係数Wvalueを示す。また、輝度値の最小値を0、最大値を255とし、合成比率係数Wvalueの最小値を0、最大値を1としている。
【0081】
画像の輝度が低い領域では、合成対象の中間露光画像または長露光画像の合成比率を高くすることにより、暗部ノイズを抑制し、輝度が高い領域では、短露光画像の合成比率を高くすることにより、白飛び(飽和)を抑制するように制御する。従って、図9に示すように、輝度が低い領域では、合成比率係数Wvalueを大きくし、輝度が高い領域では、合成比率係数Wvalueを小さくしている。
【0082】
なお、図9では、短露光画像の輝度値と合成比率係数Wvalueとの関係を定めているが、長露光画像の輝度値と合成比率係数Wvalueとの関係を定めるようにしてもよい。
【0083】
図10は、長露光画像と短露光画像との間の輝度差に応じた合成比率の決定方法を説明するための図であり、図10(a)は、動きベクトルの信頼性が高いと判定された場合の図、図10(b)は、動きベクトルの信頼性が低いと判定された場合の図である。図10(a)及び図10(b)において、横軸は、正規化後の長露光画像(または中間露光画像)と、短露光画像との間の輝度差を示し、縦軸は、輝度差に応じた長露光画像(または中間露光画像)の合成比率Wdiffを示す。
【0084】
図10(a)および図10(b)に示すように、輝度差が小さい場合には、合成比率係数Wdiffを大きくし、輝度が大きい場合には、合成比率係数Wdiffを小さくする。本実施形態では、基準画像を短露光画像としているので、輝度差が小さい場合には、合成比率係数Wdiffを大きくして、長露光画像との合成を促進し、輝度差が大きい場合には、合成比率係数Wdiffを小さくして、長露光画像との合成を抑制する。基準画像を長露光画像とした場合も同様に、輝度差が小さい場合には合成を促進し、輝度差が大きい場合には合成を抑制するように、合成比率係数Wdiffを設定する。
【0085】
ここで、動きベクトルの信頼性が高い領域では、輝度差が大きくなるに従って合成比率係数Wdiffが低下する割合は比較的緩慢となるようにする(図10(a)参照)。一方、動きベクトルの信頼性が低い領域では、輝度差が大きくなるに従って合成比率係数Wdiffが比較的急峻に低下するようにする(図10(b)参照)。すなわち、輝度差が同じでも、動きベクトルの信頼性が低い領域では、動きベクトルの信頼性が高い領域に比べて合成比率係数Wdiffを小さくすることによって、合成を抑制するようにする。
【0086】
連写撮影中に被写体が動いた場合、繰返しパターンや低コントラスト領域等では、正しい動きベクトル求めることは困難となる。正しい対応点が求められていない状態で合成処理を行うと、二重像などのアーティファクトが発生することがある。従って、動きベクトルの信頼性の高低に応じて、輝度差に応じた長露光画像の合成比率係数Wdiffを設定することにより、上記アーティファクトの発生を抑制することができる。
【0087】
上述した方法により求めた合成比率係数Wvalueと、合成比率係数Wdiffとを用いて、次式(6)より、長露光画像の合成比率Wlongと短露光画像の合成比率Wshortを求める。
【0088】
【数6】
【0089】
長露光画像の信号値をPlong、短露光画像の信号値をPshortとすると、合成画像の信号値Paddは次式(7)で与えられる。
【0090】
【数7】
【0091】
以上の処理により、ダイナミックレンジを拡大した合成画像を得ることができる。
【0092】
図2のステップS210において、合成処理部107は、ステップS205〜S208で求めた動きベクトルを用いて、ステップS209で生成した合成画像と長露光画像との間の位置ずれを補正し、位置ずれを補正した合成画像と長露光画像とを合成する。画像の合成方法は、ステップS209で行う合成方法と同じである。なお、ステップS209では、短露光画像を基準として中間露光画像の位置ずれを補正している。従って、短露光画像と長露光画像間の動きベクトルは、短露光画像と中間露光画像とを合成して得られた合成画像と長露光画像間の動きベクトルと等しいので、ステップS205〜S208で求めた短露光画像と長露光画像間の動きベクトルを用いて、ステップS209で生成した合成画像と長露光画像との間の位置ずれを補正することができる。
【0093】
ステップS211において、画像処理部108は、ステップ210の画像合成処理で得られた合成画像データ127の各画素に、R信号、G信号、B信号を割り当てる現像処理を行う。
【0094】
図11は、第1の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。上述したように、短露光画像111、長露光画像112、中間露光画像113の順に撮影を行う。まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像114を作成し、正規化処理後の画像114と中間露光画像113との間で位置合わせ処理を行う。次に、短露光画像111の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像115を作成し、正規化処理後の画像115と長露光画像112との間で位置合わせ処理を行う。
【0095】
以上、第1の実施形態における画像処理装置は、異なる露光条件での連続的な撮影により得られた短露光画像、長露光画像、中間露光画像間の動きベクトルを求める装置であって、短露光画像上の複数の位置において、短露光画像と長露光画像間の動きベクトルである第1の動きベクトルを算出するとともに、第1の動きベクトルを算出した短露光画像上の複数の位置において、短露光画像と中間露光画像間の動きベクトルである第2の動きベクトルを算出する。第1の動きベクトルの信頼性の高低と、第2の動きベクトルの信頼性の高低を判定し、短露光画像上の複数の位置において算出された第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された第2の動きベクトル、および、画像間の撮影間隔に基づいて、短露光画像と長露光画像間の推定動きベクトルを算出する。そして、信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された第2の動きベクトルの信頼性が高い場合に、信頼性が低いと判定された第1の動きベクトルを、推定動きベクトルに置き換える。これにより、短露光画像と長露光画像間の露光段差が大きい場合でも、信頼性の高い短露光画像と中間露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、短露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0096】
また、第2の動きベクトルに基づいて、短露光画像と中間露光画像間の位置ずれを補正し、位置ずれが補正された2つの画像を合成するとともに、推定動きベクトルの置き換えが行われている場合には、置き換え後の第1の動きベクトルに基づいて、また、置き換えが行われていない場合には、算出した第1の動きベクトルに基づいて、短露光画像と中間露光画像を用いて合成された画像と、長露光画像間の位置ずれを補正する。そして、位置ずれが補正された2つの画像を合成して、合成画像を生成する。これにより、像ぶれが抑制された広ダイナミックレンジ画像を生成することができる。
【0097】
<第2の実施形態>
図12は、第2の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第2の実施形態では、中間露光画像(中速シャッタ)、短露光画像(高速シャッタ)、長露光画像(低速シャッタ)の順に画像が得られるように撮影する。中間露光画像と短露光画像との間の露光段差(輝度差)は、中間露光画像と長露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0098】
第2の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0099】
まず初めに、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像116を作成し、正規化処理後の画像116と長露光画像112との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像117を作成し、正規化処理後の画像117と中間露光画像113との間で位置合わせ処理を行う。
【0100】
中間露光画像113と短露光画像111との間の位置合わせは、中間露光画像113と長露光画像112との間の位置合わせに比べて、ノイズの影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と短露光画像111との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と長露光画像112の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。
【0101】
以上、第2の実施形態における画像処理装置によれば、中間露光画像、短露光画像、長露光画像の順に撮影され、中間露光画像と短露光画像との間の露光段差が中間露光画像と長露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と長露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と短露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0102】
<第3の実施形態>
図13は、第3の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第3の実施形態では、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) 、短露光画像(高速シャッタ)の順に画像が得られるように撮影する。中間露光画像と長露光画像との間の露光段差(輝度差)は、中間露光画像と短露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0103】
第3の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0104】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像118を作成し、正規化処理後の画像118と中間露光画像113との間で位置合わせ処理を行う。また、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像119を作成し、正規化処理後の画像119と長露光画像112との間で位置合わせ処理を行う。
【0105】
中間露光画像113と長露光画像112との間の位置合わせは、中間露光画像113と短露光画像111との間の位置合わせに比べて、飽和の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と短露光画像111の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。
【0106】
以上、第3の実施形態における画像処理装置によれば、中間露光画像、長露光画像、短露光画像の順に撮影され、中間露光画像と長露光画像との間の露光段差が中間露光画像と短露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と短露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0107】
<第4の実施形態>
図14は、第4の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第4の実施形態では、短露光画像(高速シャッタ)、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) の順に画像が得られるように撮影する。
【0108】
第4の実施形態における位置合わせ処理の順序について説明する。本実施形態では、短露光画像が位置合わせの基準画像となる。
【0109】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像131を作成し、正規化処理後の画像131と中間露光画像113との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像132を作成し、正規化処理後の画像132と長露光画像112との間で位置合わせ処理を行う。
【0110】
短露光画像111と長露光画像112との間の位置合わせは、短露光画像111と中間露光画像113との間の位置合わせに比べて、センサの非線形性の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、短露光画像111と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、短露光画像111と中間露光画像113との位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様であるが、推定動きベクトルの算出方法が第1の実施形態で行った算出方法と異なる。従って、以下では、第4の実施形態における推定動きベクトルの算出方法について説明する。
【0111】
図15は、第4の実施形態における推定動きベクトルの算出方法を説明するための図である。第4の実施形態では、短露光画像、中間露光画像、長露光画像の順で連写撮影しており、短露光画像と中間露光画像間の動きベクトルは、先に求めている。短露光画像と中間露光画像の間の撮影間隔をT0、中間露光画像と長露光画像との間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と長露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から短露光画像と長露光画像の推定動きベクトルは次式(8)で表される。
【0112】
【数8】
【0113】
なお、式(8)による計算方法では、撮影画像の代表的な時刻を露光開始時刻としている。
【0114】
図16は、推定動きベクトルの別の算出方法を説明するための図である。図16を用いた計算例では、撮影画像の代表的な時刻を露光期間の中心とし、時間的により厳密にモデル化している。短露光画像、中間露光画像、長露光画像の露光時間をそれぞれt0、t1、t2とし、短露光画像と中間露光画像の間の撮影間隔をT0、中間露光画像と長露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と長露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から短露光画像と長露光画像の推定動きベクトルは次式(9)で表される。
【0115】
【数9】
【0116】
以上、第4の実施形態における画像処理装置によれば、短露光画像、中間露光画像、長露光画像の順に撮影され、短露光画像と長露光画像間の露光段差が大きい場合でも、信頼性の高い短露光画像と中間露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、短露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0117】
<第5の実施形態>
図17は、第5の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第5の実施形態では、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) 、短露光画像(高速シャッタ)の順に画像が得られるように撮影する。中間露光画像と短露光画像との間の露光段差(輝度差)は、中間露光画像と長露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0118】
第5の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0119】
まず初めに、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像133を作成し、正規化処理後の画像133と長露光画像112との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像134を作成し、正規化処理後の画像134と中間露光画像113との間で位置合わせ処理を行う。
【0120】
中間露光画像113と短露光画像111との間の位置合わせは、中間露光画像113と長露光画像112との間の位置合わせに比べて、ノイズの影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と短露光画像111との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と長露光画像112の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同じである。また、推定動きベクトルの算出方法は、第4の実施形態で説明した推定動きベクトルの算出方法と同様である。
【0121】
以上、第5の実施形態における画像処理装置によれば、中間露光画像、長露光画像、短露光画像の順に撮影され、中間露光画像と短露光画像との間の露光段差が中間露光画像と長露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と長露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と短露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0122】
<第6の実施形態>
図18は、第6の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第6の実施形態では、中間露光画像(中速シャッタ)、短露光画像(高速シャッタ) 、長露光画像(低速シャッタ)の順に画像が得られるように撮影する。中間露光画像と長露光画像との間の露光段差(輝度差)は、中間露光画像と短露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0123】
第6の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0124】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像135を作成し、正規化処理後の画像135と中間露光画像113との間で位置合わせ処理を行う。また、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像136を作成し、正規化処理後の画像136と長露光画像112との間で位置合わせ処理を行う。
【0125】
中間露光画像113と長露光画像112との間の位置合わせは、中間露光画像113と短露光画像111との間の位置合わせに比べて、飽和の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と短露光画像111の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。また、推定動きベクトルの算出方法は、第4の実施形態で説明した推定動きベクトルの算出方法と同様である。
【0126】
以上、第6の実施形態における画像処理装置によれば、中間露光画像、短露光画像、長露光画像の順に撮影され、中間露光画像と長露光画像との間の露光段差が中間露光画像と短露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と短露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0127】
なお、上述した第1〜第6の実施形態の説明では、画像処理装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、コンピュータでソフトウェア処理を行う構成も可能である。この場合、コンピュータは、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の画像処理装置と同様の処理を実現させる。
【0128】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
【0129】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。
【0130】
上述した実施の形態では、画像処理装置を搭載したカメラをデジタルカメラとして説明したが、連写撮影により得られた複数の画像を合成して合成画像を生成するカメラであれば、ビデオカメラやムービーカメラでもよく、さらに、携帯電話や携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでもよい。
【0131】
上述した実施形態では、短露光画像、長露光画像、中間露光画像の3枚の画像を合成することによって、ダイナミックレンジを拡大した合成画像を生成する例について説明した。しかし、4枚以上の画像を合成することによって、ダイナミックレンジを拡大した合成画像を生成することもできる。この場合でも、4枚以上の画像のうちの3枚の画像を合成する際に、上述した実施形態で説明した位置合わせ方法および合成方法を用いればよい。
【符号の説明】
【0132】
1…デジタルカメラ
10…画像処理装置
103…正規化処理部
104…動きベクトル演算部
105…動きベクトル信頼性判定処理部
106…動きベクトル補正処理部
107…合成処理部
108…画像処理部
109…制御部
【技術分野】
【0001】
本発明は、複数の画像を合成することによって、ダイナミックレンジを拡大した画像を生成する技術に関する。
【背景技術】
【0002】
ディジタルスチルカメラまたはデジタルビデオカメラにおいて、シャッタ速度、絞り値などの露光条件を変えながら連写撮影し、得られた複数枚の画像データを合成することによって、ダイナミックレンジを拡大した画像を生成する画像合成技術が知られている。このような連写画像の合成技術では、連写撮影中に発生する手ブレや被写体ブレの影響を低減するため、画像間の位置合わせ・位置ずれ補正技術が重要となる。
【0003】
位置合わせ手法としては様々なものがあるが、組込み機器においては、テンプレートマッチング法が一般的である。テンプレートマッチング法とは、位置合わせ処理を行う2枚の画像のうち、一方の画像(基準画像)において所定の大きさの領域(テンプレート)を定義し(例えば8画素×8ライン)、他方の画像(比較対象画像)の所定範囲(サーチ領域)内でテンプレートをずらしながら、テンプレートと比較対象画像との一致度を表す一致指標値を逐次計算する。そして、その一致指標値が最も大きくなる(一致指標値によっては、最も小さくなる)場所を求めることで、画像間の相対的な位置ずれを求める。一致指標値としては、自乗誤差SSD(Sum of Squared intensity Difference)、誤差の絶対値SAD(Sum of Absolute intensity Difference)、正規化相互相関NCC(Normalized Cross-Correlation)などがある。
【0004】
SSDは、次式(1)で定義され、値が小さいほど一致度が高いと判断する。ただし、式(1)において、テンプレートの大きさはM×N[画素]であり、T(i,j)、I(i,j)はそれぞれ、テンプレート位置(i,j)におけるテンプレートの輝度値、比較対象画像の輝度値である。
【0005】
【数1】
【0006】
SADは、次式(2)で定義され、値が小さいほど一致度が高いと判断する。
【0007】
【数2】
【0008】
NCCは、次式(3)で定義され、値が大きいほど一致度が高いと判断する。
【0009】
【数3】
【0010】
正規化相互相関は、指標値のなかに正規化項が含まれているため、明るさの異なる画像をそのまま処理画像として用いることができるが、計算量が多くなる欠点がある。一方、SADやSSDは、基本的に明るさレベルの一致した画像が入力されることを前提としているが、計算量が比較的少ないため、広く用いられている。
【0011】
異なる露光条件で撮影された連写画像に対して位置合わせ処理、合成処理を行って、広ダイナミックレンジ画像を得る手法として、特許文献1〜4がある。
【0012】
特許文献1には、異なる露光条件で撮影された複数枚の画像を合成することによってダイナミックレンジを拡大した画像を得る撮像方法において、経時的な位置ずれを補正した後に合成処理を行う内容が開示されている。
【0013】
特許文献2には、短露光画像と長露光画像を交互に撮影し、短露光画像を基準として前後で撮影された長露光画像のうち、差分絶対値が小さい方の長露光画像が合成に適していると判断して、合成用の画像として選択する方法が開示されている。
【0014】
特許文献3には、短露光画像と長露光画像間の位置ずれを補正した後の合成処理において、 2枚の差分画像から閾値によってエッジ・ブレとノイズを切り分けて、画像の合成比率を変化させることで、 ブレを抑制した合成画像を得る技術が開示されている。
【0015】
特許文献4には、異なる露光条件で撮影された複数枚の画像を合成することによってダイナミックレンジを拡大する撮像装置において、画像間の相対的な変位に基づいて当該変位の信頼性を求め、求めた信頼性に基づいて、合成に用いる複数の画像を選択し、選択した複数の画像を、画像間の変位に基づいて位置合わせしてから合成する技術が開示されている。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開平5−7336号公報
【特許文献2】特開2008−277896号公報
【特許文献3】特開2007−202098号公報
【特許文献4】特開2007−272459号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
異なる露光条件の画像を用いてテンプレートマッチングを行う場合、上述したSAD、SSD,NCCのいずれの指標値を用いる場合でも、何らかの正規化処理が必要となる。NCCの場合は、画像の輝度平均が一致するように正規化を行うが、SADやSSDの場合、指標値に正規化項が含まれていないので、予め露光条件の比率に応じたゲインを乗算することによって信号レベルを揃える必要がある。
【0018】
画像間の露光段差が小さいときは、露光比率に応じた正規化処理によって信号レベルをほぼ一致させることが可能である。しかし、画像間の露光段差が大きくなると、ノイズやセンサの非線形性などの影響が大きくなるため、このような露光比率に応じた正規化処理では誤差が増大してしまう。
【0019】
合成画像のダイナミックレンジを拡大するためには、各画像の露光段差を大きくすることが有効であるが、上述した誤差の影響によって正規化後の画像間の信号レベルの乖離が大きくなると、位置合わせが不安定となる。上記特許文献1〜4では、異なる露光条件で撮影された画像を用いて位置合わせ処理を行うことについての記述はあるが、画像間の露光段差が大きくなるにつれて位置合わせが不安定となる課題に対する解決法については記載がない。
【0020】
本発明は、上記の課題に鑑みてなされたものであり、異なる露光条件で撮影された複数枚の画像を合成する技術において、露光段差が大きい場合においても位置合わせを安定化させることを目的とする。
【課題を解決するための手段】
【0021】
本発明のある態様に係る画像処理装置は、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理装置であって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出する第1の動きベクトル算出部と、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出する第2の動きベクトル算出部と、前記第1の動きベクトルの信頼性の高低を判定する第1の信頼性判定部と、前記第2の動きベクトルの信頼性の高低を判定する第2の信頼性判定部と、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出する推定動きベクトル算出部と、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換える動きベクトル置換部と、を備える。
【0022】
本発明の別の態様に係る画像処理方法は、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理方法であって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、前記第1の動きベクトルの信頼性の高低を判定するステップと、前記第2の動きベクトルの信頼性の高低を判定するステップと、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、を備える。
【0023】
本発明のさらに別の態様に係る画像処理プログラムは、異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求めるための画像処理プログラムであって、前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、前記第1の動きベクトルの信頼性の高低を判定するステップと、前記第2の動きベクトルの信頼性の高低を判定するステップと、前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、をコンピュータに実行させる。
【発明の効果】
【0024】
本発明によれば、異なる露光条件で撮影された複数枚の画像間の露光段差が大きい場合でも、位置合わせを精度良く行うことができる。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態における画像処理装置を備えたデジタルカメラの構成を示すブロック図である。
【図2】第1の実施形態における画像処理装置を備えたデジタルカメラによって行われる合成画像生成処理の内容を示すフローチャートである。
【図3】テンプレートマッチングで用いるテンプレートおよびサーチ範囲の設定方法を説明するための図である。
【図4】テンプレートマッチングによって求められた動きベクトルの一例を示す図である。
【図5】動きベクトル信頼性判定処理部によって行われる動きベクトルの信頼性判定処理の詳細な内容を示すフローチャートである。
【図6】図5に示すフローチャートのステップS207及びステップS208の詳細な処理内容を示すフローチャートである。
【図7】推定動きベクトルの算出方法を説明するための図である。
【図8】推定動きベクトルの別の算出方法を説明するための図である。
【図9】輝度値に応じた合成比率の決定方法を説明するための図である。
【図10】長露光画像と短露光画像との間の輝度差に応じた合成比率の決定方法を説明するための図であり、図10(a)は、動きベクトルの信頼性が高いと判定された場合の図、図10(b)は、動きベクトルの信頼性が低いと判定された場合の図である。
【図11】第1の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図12】第2の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図13】第3の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図14】第4の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図15】第4の実施形態における推定動きベクトルの算出方法を説明するための図である。
【図16】第4の実施形態における推定動きベクトルの別の算出方法を説明するための図である。
【図17】第5の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【図18】第6の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。
【発明を実施するための形態】
【0026】
<第1の実施形態>
図1は、第1の実施形態における画像処理装置10を備えたデジタルカメラ1の構成を示すブロック図である。デジタルカメラ1は、レンズと本体が一体型のカメラでもよいし、レンズ交換式のカメラでもよい。デジタルカメラ1は、光学系100と、撮像素子101と、画像処理装置10とを備える。
【0027】
画像処理装置10は、フレームメモリ102と、正規化処理部103と、動きベクトル演算部(第1の動きベクトル算出部、第2の動きベクトル算出部とも呼ぶ)104と、動きベクトル信頼性判定処理部(第1の信頼性判定部、第2の信頼性判定部とも呼ぶ)105と、動きベクトル補正処理部(推定動きベクトル算出部、動きベクトル置換部とも呼ぶ)106と、合成処理部(第1の位置ずれ補正部、第1の合成部、第2の位置ずれ補正部、第2の合成部とも呼ぶ)107と、画像処理部108と、制御部109とを備える。図中、実線の矢印はデータの流れを表しており、点線は制御信号を表している。
【0028】
撮像素子101は、例えば、CCDやCMOSであり、レンズなどの光学系100を介して入力される被写体光を光電変換することによって、電気信号として出力する。撮像素子101から出力される電気信号は、画像データとして、フレームメモリ102に格納される。フレームメモリ102に格納される画像データは、ベイヤ配列に基づいて画素ごとに、R(Red)信号、G(Green)信号、B(Blue)信号のうちのいずれか一つの情報を有するRaw形式の画像データである。
【0029】
正規化処理部103は、フレームメモリ102から画像データ120と撮影パラメータ121を読み出して、位置合わせ処理および合成処理を行う対象の複数の画像データ間の信号レベル(輝度レベル)を一致させるための正規化処理を行う。撮影パラメータ121には、画像撮影時の露光時間が少なくとも含まれる。正規化処理後の画像データ122は、フレームメモリ102に格納される。
【0030】
動きベクトル演算部104は、正規化処理後の複数枚の画像データ122について、画像間の位置ずれを表す動きベクトルを求める。動きベクトル演算部104によって求められた動きベクトル123および動きベクトル演算の中間データ124は、フレームメモリ102に格納される。動きベクトル演算の中間データ124については、後述する。
【0031】
動きベクトル信頼性判定処理部105は、動きベクトル演算部104で求めた動きベクトル123の信頼性の高低を、動きベクトル演算中間データ124に基づいて判定する。求めた信頼性判定結果125は、フレームメモリ102に格納される。
【0032】
動きベクトル補正処理部106は、信頼性判定結果125に基づいて、動きベクトル123を補正する。求めた補正後の動きベクトル126は、フレームメモリ102に格納される。
【0033】
合成処理部107は、正規化処理後の複数枚の画像データ122について、動きベクトル123または補正後の動きベクトル126に基づいて、画像データ間の位置ずれを補正した後に合成することによって合成画像データ127を生成し、フレームメモリ102に格納する。
【0034】
画像処理部108は、合成画像データ127の各画素に、R信号、G信号、B信号を割り当てる現像処理(デモザイク処理)を行う。また、画像処理部108は、ノイズ低減処理やエッジ強調処理など、所望の画像を得るために必要な各種画像処理を行う。現像処理を含む各種画像処理が施された画像は、例えば、図示しないディスプレイに表示される。
【0035】
制御部109は、デジタルカメラ1の全体制御を行う。
【0036】
本実施の形態における画像処理装置10では、露光時間の異なる複数枚の画像データを合成することによって、ダイナミックレンジを拡大した合成画像を生成する。このため、デジタルカメラ1は、露光条件を変えて連写撮影を行う。
【0037】
図2は、第1の実施形態における画像処理装置を備えたデジタルカメラ1によって行われる合成画像生成処理の内容を示すフローチャートである。例えば、デジタルカメラ1が合成画像を生成するための合成画像生成モードに設定されており、ユーザによってレリーズボタンの押圧操作が行われると、ステップS201の処理を開始する。
【0038】
ステップS201では、露光条件を変更しながら連写撮影を行う。ここでは、撮影シーンの明るさに応じて、露光アンダー側から露光オーバー側まで撮影できるように、露光条件を設定する。本実施形態では、絞り、ISO感度を一定に保ち、露光時間(シャッタ速度)を変えながら撮影する。なお、露光時間、ISO感度を一定に保ち、絞りを変えながら撮影しても、同様の効果を得ることができる。第1の実施形態では、短露光画像(高速シャッタ)・長露光画像(低速シャッタ)・中間露光画像(中速シャッタ)の順に画像が得られるように、3枚撮影する。撮影により得られた画像は、フレームメモリ102に格納される。
【0039】
ステップS202〜S204は、短露光画像と中間露光画像の間の位置ずれ量を表す動きベクトルを求める処理である。
【0040】
ステップS202において、正規化処理部103は、撮影時の撮影パラメータ121を用いて、短露光画像に対する中間露光画像の露光時間の比率を演算し、この比率に応じた係数を短露光画像の各画素値に乗算することにより、短露光画像と中間露光画像の信号レベルを一致させる正規化処理を行う。正規化処理後の画像は、フレームメモリ102に格納される。
【0041】
ステップS203において、動きベクトル演算部104は、低露光画像と中間露光画像の正規化後の画像データ122を用いて、テンプレートマッチング処理を行い、動きベクトル123を演算する。テンプレートマッチングで用いるテンプレートおよびサーチ範囲の設定方法を図3に示す。
【0042】
ステップS203では、低露光画像を位置合わせの基準座標系とする基準画像とし、中間露光画像を基準画像に対する位置ずれ量を求める位置合わせ対象画像とする。ここでは、基準画像30において、テンプレート301を格子状に複数個設定し(図3(a)参照)、位置合わせ対象画像31において、サーチ範囲302を格子状に複数個設定する。サーチ範囲302は、テンプレート301を含む所定の大きさの範囲である。テンプレートマッチングは既知の処理であるため、詳細な説明は省略するが、位置合わせ対象画像31のサーチ範囲302内で基準画像30のテンプレート301をずらしながら一致指標値を演算し、最も一致指標値が大きくなる(一致指標値によっては最も小さくなる)位置を探索する。
【0043】
図4は、テンプレートマッチングによって求められた動きベクトルの一例を示す図である。位置合わせ対象画像31において、一致指標値が最大(一致指標値によっては最小)となるテンプレート位置304を求め、求めたテンプレート位置304とテンプレートの設定位置303との間の位置ずれ量を動きベクトル123として求める。動きベクトル123は、設定されたテンプレート301ごとに求める。
【0044】
また、ステップS203において、動きベクトル演算部104は、画像間の位置ずれ量と一致指標値の分布を表すデータを動きベクトル演算の中間データ124として求める。求めた動きベクトル123及び動きベクトル演算の中間データ124は、フレームメモリ102に格納される。
【0045】
ステップS204において、動きベクトル信頼性判定処理部105は、動きベクトル演算の中間データ124を用いて、求めた動きベクトル123の信頼性を判定する。低コントラストの画像領域や、繰り返しパターンが存在する領域などでは、動きベクトル123を精度良く求めることは困難である。そこで、ステップS203で求めた動きベクトル123の確からしさを示す信頼性を判定する。動きベクトル123の信頼性を判定する方法について、図5を用いて説明する。
【0046】
図5は、動きベクトル信頼性判定処理部105によって行われる動きベクトルの信頼性判定処理の詳細な内容を示すフローチャートである。
【0047】
ステップS501では、ステップS203で求めた動きベクトル演算の中間データ124をフレームメモリ102から読み込む。
【0048】
ステップS502では、動きベクトル演算の中間データ124を用いて、各動きベクトルについて信頼性を定量化する指標値を算出する。具体的には、下記(1)〜(3)の特性を用いて、信頼性を定量化する指標値を算出する。
【0049】
(1)エッジ構造が鮮鋭な領域の場合、動きベクトルの信頼性が高い。この場合、位置ずれが除去できたときに、一致指標値は、一致度が高いことを意味する大きな値(指標値によっては、小さな値)を示すのに対して、位置ずれが残っている場合、一致指標値は小さな値(指標値によっては、大きな値)を示す。従って、テンプレートマッチングを行った際に、一致指標の変動が大きい。
【0050】
(2)テクスチャや平坦な構造の場合、位置ずれが除去できた場合と位置ずれが残っている場合との間で一致指標値の変動が少なく、信頼性は低い。
【0051】
(3)繰り返し構造の場合、一致指標値も周期的に変動し、信頼性は低い。
【0052】
ただし、信頼性を判定する指標値は、低コントラスト領域や繰り返しパターン領域等のような位置合わせの手がかりが少ない領域を検出できるものであれば、任意の指標値でよい。例えば、特許第3164121号に記載されているように、各ブロックのエッジの量に基づいて信頼性の指標値を定義してもよい。
【0053】
ステップS503では、ステップS502で求めた動きベクトル信頼性指標値を所定のしきい値と比較することにより、信頼性の高低を2段階で判定する。所定のしきい値は、動きベクトルの信頼性を判定するためのしきい値であり、予め適切な値を設定しておく。信頼性が高いと判定するとステップS504に進み、信頼性が低いと判定するとステップS505に進む。
【0054】
ステップS504では、動きベクトル123の信頼性が高いという判定結果をフレームメモリ102に格納する。
【0055】
一方、ステップS505では、動きベクトル123の信頼性が低いという判定結果をフレームメモリ102に格納する。
【0056】
ステップS506では、全ての動きベクトルについて、信頼性判定処理を終了したか否かを判定する。全ての動きベクトルについて信頼性判定処理を終了していないと判定すると、ステップS501に戻り、未処理の動きベクトルを対象として、信頼性判定処理を行う。一方、全ての動きベクトルについて信頼性判定処理を終了したと判定すると、図2に示すフローチャートのステップS205に進む。
【0057】
ステップS205〜S208は、短露光画像と長露光画像の間の位置ずれ量を表す動きベクトルを求める処理である。
【0058】
ステップS205において、正規化処理部103は、撮影時の撮影パラメータ121を用いて、短露光画像に対する長露光画像の露光時間の比率を演算し、この比率に応じた係数を短露光画像の各画素値に乗算することにより、短露光画像と長露光画像の信号レベルを一致させる正規化処理を行う。正規化処理後の画像は、フレームメモリ102に格納される。
【0059】
ステップS206において、動きベクトル演算部104は、短露光画像を基準画像とし、長露光画像を位置合わせ対象画像としてテンプレートマッチングを行い、両画像間の動きベクトルを求める。この処理は、ステップS203で行う処理と同様であるため、その詳しい説明は省略する。
【0060】
ステップS207において、動きベクトル信頼性判定処理部105は、ステップS206で求めた動きベクトルの信頼性を高低の2段階で判定する。
【0061】
ステップS208において、動きベクトル補正処理部106は、ステップS207で信頼性が低いと判定された動きベクトルについて、低露光画像と中間露光画像の位置合わせ処理結果に基づいた置換処理を行う。
【0062】
図6は、図5に示すフローチャートのステップS207及びステップS208の詳細な処理内容を示すフローチャートである。
【0063】
ステップS601では、図2のステップS206で求めた動きベクトル演算の中間データ124をフレームメモリ102から読み込む。
【0064】
ステップS602では、動きベクトル演算の中間データ124を用いて、各動きベクトルについて信頼性を定量化する指標値を算出する。この処理は、図5のステップS502で行う処理と同様である。
【0065】
ステップS603では、ステップS602で求めた動きベクトル信頼性指標値を所定のしきい値と比較することにより、信頼性の高低を2段階で判定する。信頼性が高いと判定すると、ステップS604に進み、信頼性が低いと判定すると、ステップS605に進む。
【0066】
ステップS604では、信頼性が高いと判定された動きベクトルをそのまま出力して、フレームメモリ102に格納する。
【0067】
一方、ステップS605では、ステップS202〜S204で求めた短露光画像と中間露光画像の間の動きベクトル、動きベクトルの信頼性判定結果、撮影間隔・撮影順序・露光時間情報をフレームメモリ102から読み込む。
【0068】
ステップS606では、撮影間隔、撮影順序、短露光画像と中間露光画像の間の動きベクトルを用いて、短露光画像と長露光画像との間の推定動きベクトルを算出する。
【0069】
図7は、推定動きベクトルの算出方法を説明するための図である。第1の実施形態では、短露光画像、長露光画像、中間露光画像の順で連写撮影しており、短露光画像と中間露光画像間の動きベクトルは、図2のステップS202〜S204で既に求めている。短露光画像と長露光画像の間の撮影間隔をT0、長露光画像と中間露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と中間露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から、短露光画像と長露光画像の間の推定動きベクトルは、次式(4)で表される。
【0070】
【数4】
【0071】
なお、図7を用いた計算方法では、撮影画像の代表的な時刻を露光開始時刻としている。
【0072】
図8は、推定動きベクトルの別の算出方法を説明するための図である。図8を用いた計算例では、撮影画像の代表的な時刻を露光期間の中心とし、時間的により厳密にモデル化している。短露光画像、長露光画像、中間露光画像の露光時間をそれぞれt0、t1、t2とし、短露光画像と長露光画像の間の撮影間隔をT0、長露光画像と中間露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と中間露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から、短露光画像と長露光画像の間の推定動きベクトルは、次式(5)で表される。
【0073】
【数5】
【0074】
ステップS607では、短露光画像と中間露光画像の間の動きベクトルのうち、ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルの信頼性が高いか、低いかを判定する。ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルとは、設定されたテンプレートの位置が同じ位置にある動きベクトルのことである。動きベクトルの信頼性が高いと判定すると、ステップS608に進む。
【0075】
ステップS608では、短露光画像と中間露光画像との間の動きベクトルの信頼性が高いので、ステップS606で求めた短露光画像と長露光画像との間の推定動きベクトルも信頼できると判断して、推定動きベクトルの置換処理を行う。すなわち、ステップS603で信頼性が低いと判定された短露光画像と長露光画像との間の動きベクトルを、ステップS606で求めた推定動きベクトルに置き換える。
【0076】
ステップS609では、動きベクトルの信頼性が高いという判定結果をフレームメモリ102に格納する。
【0077】
一方、ステップS607において、短露光画像と中間露光画像の間の動きベクトルのうち、ステップS603で信頼性が低いと判定された動きベクトルと対応する動きベクトルの信頼性が低いと判定すると、ステップS610に進む。ステップS610では、動きベクトルの信頼性が低いという判定結果をフレームメモリ102に格納する。
【0078】
ステップS611では、全ての動きベクトルについて、ステップS601〜S603の処理を行ったか否かを判定する。全ての動きベクトルについての処理が完了していないと判定すると、ステップS601に戻り、未処理の動きベクトルについて、ステップS601以降の処理を行う。一方、全ての動きベクトルについての処理が完了したと判定すると、図2に示すフローチャートのステップS209に進む。
【0079】
ステップS209において、合成処理部107は、ステップS202〜S204で求めた動きベクトルに基づいて、短露光画像と中間露光画像との間の位置ずれを補正し、位置ずれを補正した短露光画像と中間露光画像とを合成することによって、ダイナミックレンジを拡大した合成画像を生成する。画像の合成比率は、輝度値に応じた合成比率係数と、長露光画像と短露光画像の間の輝度差に応じた合成比率係数の2つの係数を用いて決定する。
【0080】
図9は、輝度値に応じた合成比率の決定方法を説明するための図である。図9において、横軸は短露光画像の輝度値を示し、縦軸は輝度値に応じた長露光画像または中間露光画像の合成比率係数Wvalueを示す。また、輝度値の最小値を0、最大値を255とし、合成比率係数Wvalueの最小値を0、最大値を1としている。
【0081】
画像の輝度が低い領域では、合成対象の中間露光画像または長露光画像の合成比率を高くすることにより、暗部ノイズを抑制し、輝度が高い領域では、短露光画像の合成比率を高くすることにより、白飛び(飽和)を抑制するように制御する。従って、図9に示すように、輝度が低い領域では、合成比率係数Wvalueを大きくし、輝度が高い領域では、合成比率係数Wvalueを小さくしている。
【0082】
なお、図9では、短露光画像の輝度値と合成比率係数Wvalueとの関係を定めているが、長露光画像の輝度値と合成比率係数Wvalueとの関係を定めるようにしてもよい。
【0083】
図10は、長露光画像と短露光画像との間の輝度差に応じた合成比率の決定方法を説明するための図であり、図10(a)は、動きベクトルの信頼性が高いと判定された場合の図、図10(b)は、動きベクトルの信頼性が低いと判定された場合の図である。図10(a)及び図10(b)において、横軸は、正規化後の長露光画像(または中間露光画像)と、短露光画像との間の輝度差を示し、縦軸は、輝度差に応じた長露光画像(または中間露光画像)の合成比率Wdiffを示す。
【0084】
図10(a)および図10(b)に示すように、輝度差が小さい場合には、合成比率係数Wdiffを大きくし、輝度が大きい場合には、合成比率係数Wdiffを小さくする。本実施形態では、基準画像を短露光画像としているので、輝度差が小さい場合には、合成比率係数Wdiffを大きくして、長露光画像との合成を促進し、輝度差が大きい場合には、合成比率係数Wdiffを小さくして、長露光画像との合成を抑制する。基準画像を長露光画像とした場合も同様に、輝度差が小さい場合には合成を促進し、輝度差が大きい場合には合成を抑制するように、合成比率係数Wdiffを設定する。
【0085】
ここで、動きベクトルの信頼性が高い領域では、輝度差が大きくなるに従って合成比率係数Wdiffが低下する割合は比較的緩慢となるようにする(図10(a)参照)。一方、動きベクトルの信頼性が低い領域では、輝度差が大きくなるに従って合成比率係数Wdiffが比較的急峻に低下するようにする(図10(b)参照)。すなわち、輝度差が同じでも、動きベクトルの信頼性が低い領域では、動きベクトルの信頼性が高い領域に比べて合成比率係数Wdiffを小さくすることによって、合成を抑制するようにする。
【0086】
連写撮影中に被写体が動いた場合、繰返しパターンや低コントラスト領域等では、正しい動きベクトル求めることは困難となる。正しい対応点が求められていない状態で合成処理を行うと、二重像などのアーティファクトが発生することがある。従って、動きベクトルの信頼性の高低に応じて、輝度差に応じた長露光画像の合成比率係数Wdiffを設定することにより、上記アーティファクトの発生を抑制することができる。
【0087】
上述した方法により求めた合成比率係数Wvalueと、合成比率係数Wdiffとを用いて、次式(6)より、長露光画像の合成比率Wlongと短露光画像の合成比率Wshortを求める。
【0088】
【数6】
【0089】
長露光画像の信号値をPlong、短露光画像の信号値をPshortとすると、合成画像の信号値Paddは次式(7)で与えられる。
【0090】
【数7】
【0091】
以上の処理により、ダイナミックレンジを拡大した合成画像を得ることができる。
【0092】
図2のステップS210において、合成処理部107は、ステップS205〜S208で求めた動きベクトルを用いて、ステップS209で生成した合成画像と長露光画像との間の位置ずれを補正し、位置ずれを補正した合成画像と長露光画像とを合成する。画像の合成方法は、ステップS209で行う合成方法と同じである。なお、ステップS209では、短露光画像を基準として中間露光画像の位置ずれを補正している。従って、短露光画像と長露光画像間の動きベクトルは、短露光画像と中間露光画像とを合成して得られた合成画像と長露光画像間の動きベクトルと等しいので、ステップS205〜S208で求めた短露光画像と長露光画像間の動きベクトルを用いて、ステップS209で生成した合成画像と長露光画像との間の位置ずれを補正することができる。
【0093】
ステップS211において、画像処理部108は、ステップ210の画像合成処理で得られた合成画像データ127の各画素に、R信号、G信号、B信号を割り当てる現像処理を行う。
【0094】
図11は、第1の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。上述したように、短露光画像111、長露光画像112、中間露光画像113の順に撮影を行う。まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像114を作成し、正規化処理後の画像114と中間露光画像113との間で位置合わせ処理を行う。次に、短露光画像111の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像115を作成し、正規化処理後の画像115と長露光画像112との間で位置合わせ処理を行う。
【0095】
以上、第1の実施形態における画像処理装置は、異なる露光条件での連続的な撮影により得られた短露光画像、長露光画像、中間露光画像間の動きベクトルを求める装置であって、短露光画像上の複数の位置において、短露光画像と長露光画像間の動きベクトルである第1の動きベクトルを算出するとともに、第1の動きベクトルを算出した短露光画像上の複数の位置において、短露光画像と中間露光画像間の動きベクトルである第2の動きベクトルを算出する。第1の動きベクトルの信頼性の高低と、第2の動きベクトルの信頼性の高低を判定し、短露光画像上の複数の位置において算出された第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された第2の動きベクトル、および、画像間の撮影間隔に基づいて、短露光画像と長露光画像間の推定動きベクトルを算出する。そして、信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された第2の動きベクトルの信頼性が高い場合に、信頼性が低いと判定された第1の動きベクトルを、推定動きベクトルに置き換える。これにより、短露光画像と長露光画像間の露光段差が大きい場合でも、信頼性の高い短露光画像と中間露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、短露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0096】
また、第2の動きベクトルに基づいて、短露光画像と中間露光画像間の位置ずれを補正し、位置ずれが補正された2つの画像を合成するとともに、推定動きベクトルの置き換えが行われている場合には、置き換え後の第1の動きベクトルに基づいて、また、置き換えが行われていない場合には、算出した第1の動きベクトルに基づいて、短露光画像と中間露光画像を用いて合成された画像と、長露光画像間の位置ずれを補正する。そして、位置ずれが補正された2つの画像を合成して、合成画像を生成する。これにより、像ぶれが抑制された広ダイナミックレンジ画像を生成することができる。
【0097】
<第2の実施形態>
図12は、第2の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第2の実施形態では、中間露光画像(中速シャッタ)、短露光画像(高速シャッタ)、長露光画像(低速シャッタ)の順に画像が得られるように撮影する。中間露光画像と短露光画像との間の露光段差(輝度差)は、中間露光画像と長露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0098】
第2の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0099】
まず初めに、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像116を作成し、正規化処理後の画像116と長露光画像112との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像117を作成し、正規化処理後の画像117と中間露光画像113との間で位置合わせ処理を行う。
【0100】
中間露光画像113と短露光画像111との間の位置合わせは、中間露光画像113と長露光画像112との間の位置合わせに比べて、ノイズの影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と短露光画像111との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と長露光画像112の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。
【0101】
以上、第2の実施形態における画像処理装置によれば、中間露光画像、短露光画像、長露光画像の順に撮影され、中間露光画像と短露光画像との間の露光段差が中間露光画像と長露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と長露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と短露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0102】
<第3の実施形態>
図13は、第3の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第3の実施形態では、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) 、短露光画像(高速シャッタ)の順に画像が得られるように撮影する。中間露光画像と長露光画像との間の露光段差(輝度差)は、中間露光画像と短露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0103】
第3の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0104】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像118を作成し、正規化処理後の画像118と中間露光画像113との間で位置合わせ処理を行う。また、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像119を作成し、正規化処理後の画像119と長露光画像112との間で位置合わせ処理を行う。
【0105】
中間露光画像113と長露光画像112との間の位置合わせは、中間露光画像113と短露光画像111との間の位置合わせに比べて、飽和の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と短露光画像111の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。
【0106】
以上、第3の実施形態における画像処理装置によれば、中間露光画像、長露光画像、短露光画像の順に撮影され、中間露光画像と長露光画像との間の露光段差が中間露光画像と短露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と短露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0107】
<第4の実施形態>
図14は、第4の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第4の実施形態では、短露光画像(高速シャッタ)、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) の順に画像が得られるように撮影する。
【0108】
第4の実施形態における位置合わせ処理の順序について説明する。本実施形態では、短露光画像が位置合わせの基準画像となる。
【0109】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像131を作成し、正規化処理後の画像131と中間露光画像113との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像132を作成し、正規化処理後の画像132と長露光画像112との間で位置合わせ処理を行う。
【0110】
短露光画像111と長露光画像112との間の位置合わせは、短露光画像111と中間露光画像113との間の位置合わせに比べて、センサの非線形性の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、短露光画像111と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、短露光画像111と中間露光画像113との位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様であるが、推定動きベクトルの算出方法が第1の実施形態で行った算出方法と異なる。従って、以下では、第4の実施形態における推定動きベクトルの算出方法について説明する。
【0111】
図15は、第4の実施形態における推定動きベクトルの算出方法を説明するための図である。第4の実施形態では、短露光画像、中間露光画像、長露光画像の順で連写撮影しており、短露光画像と中間露光画像間の動きベクトルは、先に求めている。短露光画像と中間露光画像の間の撮影間隔をT0、中間露光画像と長露光画像との間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と長露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から短露光画像と長露光画像の推定動きベクトルは次式(8)で表される。
【0112】
【数8】
【0113】
なお、式(8)による計算方法では、撮影画像の代表的な時刻を露光開始時刻としている。
【0114】
図16は、推定動きベクトルの別の算出方法を説明するための図である。図16を用いた計算例では、撮影画像の代表的な時刻を露光期間の中心とし、時間的により厳密にモデル化している。短露光画像、中間露光画像、長露光画像の露光時間をそれぞれt0、t1、t2とし、短露光画像と中間露光画像の間の撮影間隔をT0、中間露光画像と長露光画像の間の撮影間隔をT1とし、手ブレや被写体動作などが短露光画像と長露光画像の撮影時間内で一定であったと仮定すると、撮影間隔の比率から短露光画像と長露光画像の推定動きベクトルは次式(9)で表される。
【0115】
【数9】
【0116】
以上、第4の実施形態における画像処理装置によれば、短露光画像、中間露光画像、長露光画像の順に撮影され、短露光画像と長露光画像間の露光段差が大きい場合でも、信頼性の高い短露光画像と中間露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、短露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0117】
<第5の実施形態>
図17は、第5の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第5の実施形態では、中間露光画像(中速シャッタ)、長露光画像(低速シャッタ) 、短露光画像(高速シャッタ)の順に画像が得られるように撮影する。中間露光画像と短露光画像との間の露光段差(輝度差)は、中間露光画像と長露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0118】
第5の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0119】
まず初めに、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像133を作成し、正規化処理後の画像133と長露光画像112との間で位置合わせ処理を行う。また、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像134を作成し、正規化処理後の画像134と中間露光画像113との間で位置合わせ処理を行う。
【0120】
中間露光画像113と短露光画像111との間の位置合わせは、中間露光画像113と長露光画像112との間の位置合わせに比べて、ノイズの影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と短露光画像111との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と長露光画像112の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同じである。また、推定動きベクトルの算出方法は、第4の実施形態で説明した推定動きベクトルの算出方法と同様である。
【0121】
以上、第5の実施形態における画像処理装置によれば、中間露光画像、長露光画像、短露光画像の順に撮影され、中間露光画像と短露光画像との間の露光段差が中間露光画像と長露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と長露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と短露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0122】
<第6の実施形態>
図18は、第6の実施形態における撮影順序と位置合わせ処理の順序の関係を示す図である。第6の実施形態では、中間露光画像(中速シャッタ)、短露光画像(高速シャッタ) 、長露光画像(低速シャッタ)の順に画像が得られるように撮影する。中間露光画像と長露光画像との間の露光段差(輝度差)は、中間露光画像と短露光画像との間の露光段差(輝度差)よりも大きいものとする。
【0123】
第6の実施形態における位置合わせ処理の順序について説明する。本実施形態では、中間露光画像が位置合わせの基準画像となる。
【0124】
まず初めに、短露光画像111の信号レベルを中間露光画像113の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像135を作成し、正規化処理後の画像135と中間露光画像113との間で位置合わせ処理を行う。また、中間露光画像113の信号レベルを長露光画像112の信号レベルと一致させるための正規化処理を行うことによって、正規化処理後の画像136を作成し、正規化処理後の画像136と長露光画像112との間で位置合わせ処理を行う。
【0125】
中間露光画像113と長露光画像112との間の位置合わせは、中間露光画像113と短露光画像111との間の位置合わせに比べて、飽和の影響を受けやすく、求めた動きベクトルの正確さが低い可能性がある。本実施形態では、中間露光画像113と長露光画像112との間の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、中間露光画像113と短露光画像111の位置合わせ処理結果に基づいた置換処理を行う。置換処理の方法は、第1の実施形態で行った置換処理の方法と同様である。また、推定動きベクトルの算出方法は、第4の実施形態で説明した推定動きベクトルの算出方法と同様である。
【0126】
以上、第6の実施形態における画像処理装置によれば、中間露光画像、短露光画像、長露光画像の順に撮影され、中間露光画像と長露光画像との間の露光段差が中間露光画像と短露光画像との間の露光段差より大きい場合でも、信頼性の高い中間露光画像と短露光画像間の動きベクトルと、画像間の撮影間隔とに基づいた推定動きベクトルを、中間露光画像と長露光画像間の動きベクトルとして求めることができるので、位置合わせを精度良く行うことができる。
【0127】
なお、上述した第1〜第6の実施形態の説明では、画像処理装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、コンピュータでソフトウェア処理を行う構成も可能である。この場合、コンピュータは、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の画像処理装置と同様の処理を実現させる。
【0128】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
【0129】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。
【0130】
上述した実施の形態では、画像処理装置を搭載したカメラをデジタルカメラとして説明したが、連写撮影により得られた複数の画像を合成して合成画像を生成するカメラであれば、ビデオカメラやムービーカメラでもよく、さらに、携帯電話や携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでもよい。
【0131】
上述した実施形態では、短露光画像、長露光画像、中間露光画像の3枚の画像を合成することによって、ダイナミックレンジを拡大した合成画像を生成する例について説明した。しかし、4枚以上の画像を合成することによって、ダイナミックレンジを拡大した合成画像を生成することもできる。この場合でも、4枚以上の画像のうちの3枚の画像を合成する際に、上述した実施形態で説明した位置合わせ方法および合成方法を用いればよい。
【符号の説明】
【0132】
1…デジタルカメラ
10…画像処理装置
103…正規化処理部
104…動きベクトル演算部
105…動きベクトル信頼性判定処理部
106…動きベクトル補正処理部
107…合成処理部
108…画像処理部
109…制御部
【特許請求の範囲】
【請求項1】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理装置であって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出する第1の動きベクトル算出部と、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出する第2の動きベクトル算出部と、
前記第1の動きベクトルの信頼性の高低を判定する第1の信頼性判定部と、
前記第2の動きベクトルの信頼性の高低を判定する第2の信頼性判定部と、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出する推定動きベクトル算出部と、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換える動きベクトル置換部と、
を備えることを特徴とする画像処理装置。
【請求項2】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、短露光画像であり、前記第3の画像は、前記短露光画像よりも露光時間の長い中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の短い短露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の短い短露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、短露光画像であり、前記第3の画像は、前記短露光画像よりも露光時間の長い中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の短い短露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の短い短露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記第2の動きベクトルに基づいて、前記第1の画像と前記第3の画像間の位置ずれを補正する第1の位置ずれ補正部と、
前記第1の位置ずれ補正部によって位置ずれが補正された2つの画像を合成する第1の合成部と、
前記動きベクトル置換部による置き換えが行われている場合には、前記置き換え後の第1の動きベクトルに基づいて、また、前記動きベクトル置換部による置き換えが行われていない場合には、前記第1の動きベクトル算出部によって算出された第1の動きベクトルに基づいて、前記第1の合成部によって合成された画像と前記第2の画像間の位置ずれを補正する第2の位置ずれ補正部と、
前記第2の位置ずれ補正部によって位置ずれが補正された2つの画像を合成して、合成画像を生成する第2の合成部と、
を備えることを特徴とする請求項2に記載の画像処理装置。
【請求項9】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理方法であって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、
前記第1の動きベクトルの信頼性の高低を判定するステップと、
前記第2の動きベクトルの信頼性の高低を判定するステップと、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、
を備えることを特徴とする画像処理方法。
【請求項10】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求めるための画像処理プログラムであって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、
前記第1の動きベクトルの信頼性の高低を判定するステップと、
前記第2の動きベクトルの信頼性の高低を判定するステップと、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、
をコンピュータに実行させるための画像処理プログラム。
【請求項1】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理装置であって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出する第1の動きベクトル算出部と、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出する第2の動きベクトル算出部と、
前記第1の動きベクトルの信頼性の高低を判定する第1の信頼性判定部と、
前記第2の動きベクトルの信頼性の高低を判定する第2の信頼性判定部と、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出する推定動きベクトル算出部と、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換える動きベクトル置換部と、
を備えることを特徴とする画像処理装置。
【請求項2】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、短露光画像であり、前記第3の画像は、前記短露光画像よりも露光時間の長い中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の短い短露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
撮影順序は、前記第1の画像、前記第2の画像、前記第3の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の短い短露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、短露光画像であり、前記第3の画像は、前記短露光画像よりも露光時間の長い中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の短い短露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の長い長露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
撮影順序は、前記第1の画像、前記第3の画像、前記第2の画像の順であって、前記第1の画像は、中間露光画像であり、前記第2の画像は、前記中間露光画像よりも露光時間の長い長露光画像であり、前記第3の画像は、前記中間露光画像よりも露光時間の短い短露光画像である、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記第2の動きベクトルに基づいて、前記第1の画像と前記第3の画像間の位置ずれを補正する第1の位置ずれ補正部と、
前記第1の位置ずれ補正部によって位置ずれが補正された2つの画像を合成する第1の合成部と、
前記動きベクトル置換部による置き換えが行われている場合には、前記置き換え後の第1の動きベクトルに基づいて、また、前記動きベクトル置換部による置き換えが行われていない場合には、前記第1の動きベクトル算出部によって算出された第1の動きベクトルに基づいて、前記第1の合成部によって合成された画像と前記第2の画像間の位置ずれを補正する第2の位置ずれ補正部と、
前記第2の位置ずれ補正部によって位置ずれが補正された2つの画像を合成して、合成画像を生成する第2の合成部と、
を備えることを特徴とする請求項2に記載の画像処理装置。
【請求項9】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求める画像処理方法であって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、
前記第1の動きベクトルの信頼性の高低を判定するステップと、
前記第2の動きベクトルの信頼性の高低を判定するステップと、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、
を備えることを特徴とする画像処理方法。
【請求項10】
異なる露光条件での連続的な撮影により得られた第1の画像、第2の画像、および、第3の画像で、前記第1の画像および前記第2の画像間の露光量差は、前記第1の画像および前記第3の画像間の露光量差より大きい、少なくとも3つの画像間の動きベクトルを求めるための画像処理プログラムであって、
前記第1の画像上の複数の位置において、前記第1の画像と前記第2の画像間の動きベクトルである第1の動きベクトルを算出するステップと、
前記第1の動きベクトルを算出した前記第1の画像上の複数の位置において、前記第1の画像と前記第3の画像間の動きベクトルである第2の動きベクトルを算出するステップと、
前記第1の動きベクトルの信頼性の高低を判定するステップと、
前記第2の動きベクトルの信頼性の高低を判定するステップと、
前記第1の画像上の複数の位置において算出された前記第1の動きベクトルのうち、信頼性が低いと判定された動きベクトルについて、対応する位置において算出された前記第2の動きベクトル、および、画像間の撮影間隔に基づいて、前記第1の画像と前記第2の画像間の推定動きベクトルを算出するステップと、
前記信頼性が低いと判定された第1の動きベクトルと対応する位置において算出された前記第2の動きベクトルの信頼性が高い場合に、前記信頼性が低いと判定された第1の動きベクトルを、前記推定動きベクトルに置き換えるステップと、
をコンピュータに実行させるための画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図15】
【図16】
【図11】
【図12】
【図13】
【図14】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図15】
【図16】
【図11】
【図12】
【図13】
【図14】
【図17】
【図18】
【公開番号】特開2012−235197(P2012−235197A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−100738(P2011−100738)
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]