(57)【要約】【課題】ダイナミックレンジの大きな画像データを生成する際に行う複数の画像データの位置合わせを精度良く行うようにする。【解決手段】領域抽出部１０６は、複数の画像データの画面をブロック化する。そして、領域抽出部１０６は、動きベクトルの検出対象のブロックと、そのブロックに対する参照画像のブロックとの双方に、位置合わせに不適切な除外画素が含まれていなければ、それらのブロックを共通ブロックとする。レベル補正部１０７は、共通ブロック内の画素値の平均値ａ１、ａ２を求め、その平均値ａ１、ａ２を用いて、共通ブロックの輝度レベルを合わせる。位置ずれ検出部１０８は、輝度レベルが合った共通ブロックを用いて位置のずれを検出し、位置補正部１０９は、その位置のずれ量に応じて、複数の画像データの位置を補正する。画像合成部１１０は、位置の補正を行った複数の画像データを合成する。【選択図】図１
2008118555.tif 000002
【特許請求の範囲】
【請求項１】
異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類手段と、
前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出手段と、
前記抽出手段により抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正手段と、
前記輝度レベル補正手段により輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出手段と、
前記抽出手段により抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正手段と、
前記位置補正手段により位置が補正された複数の画像データに基づいて、合成画像データを生成する生成手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記輝度レベル補正手段は、前記抽出手段により抽出された共通の適正領域の画素値の平均値を、前記複数の画像データ毎に算出する平均値算出手段と、
前記平均値算出手段により算出された平均値に基づいて、前記複数の画像データのそれぞれに対する補正係数を算出する補正係数算出手段と、
前記補正係数算出手段により算出された補正係数を、前記複数の画像データの画素値に乗じる乗算手段とを備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記輝度レベル補正手段は、前記複数の画像データの撮像時に設定された露光条件に関する情報に基づいて、前記複数の画像データのそれぞれに対する補正係数を算出する補正係数算出手段と、
前記補正係数算出手段により算出された補正係数を、前記複数の画像データの画素値に乗じる乗算手段とを備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記抽出手段は、前記複数の画像データの同一位置における画素が共に適正であるときに、その画素を共通の適正画素として抽出することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記抽出手段は、前記複数の画像データの画面全体を縦横１画素以上で構成されるブロックに分割する分割手段と、
前記分割手段により分割されたブロック内の画素が全て前記共通の適正画素であるときに、そのブロックを共通の適正画素領域として抽出することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記検出手段は、前記分割手段により分割されたブロックを用いて動きベクトルを検出する動きベクトル検出手段を備え、
前記抽出手段は、前記動きベクトルの検出対象となるブロックの画素と、そのブロックに対する動きベクトルの検索範囲内にあるブロックの画素との全てが前記共通の適正画素であるときに、そのブロックを共通の適正画素領域として抽出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記検出手段は、前記分割手段により分割された各ブロックが、有効なブロックであるか否かを判定する有効ブロック判定手段と、
前記動きベクトル検出手段により検出された動きベクトルが、有効な動きベクトルであるか否かを判定する有効動きベクトル判定手段と、
前記有効動きベクトル判定手段により有効な動きベクトルであると判定された動きベクトルに基づいて、前記複数の画像データの動き量を算出する動き量算出手段とを備え、
前記動きベクトル検出手段は、前記有効ブロック判定手段により有効なブロックであると判定されたブロックを用いて動きベクトルを検出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記動き量算出手段は、前記有効動きベクトル判定手段により有効な動きベクトルであると判定された動きベクトルに基づいて、前記複数の画像データの動き量を示すアフィンパラメータを算出し、
前記位置補正手段は、前記動き量算出手段により算出されたアフィンパラメータを用いた変換により、前記複数の画像データに生じた相対的なずれ量を補正することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
撮像手段と、
前記撮像手段によって異なる露光条件で撮像された同一被写体の複数の画像データを一時的に記憶する記憶手段と、
前記記憶手段に記憶された複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類手段と、
前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出手段と、
前記抽出手段により抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正手段と、
前記輝度レベル補正手段により輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出手段と、
前記抽出手段により抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正手段と、
前記位置補正手段により位置が補正された複数の画像データに基づいて、合成画像データを生成する生成手段とを備えることを特徴とする撮像装置。
【請求項１０】
異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類ステップと、
前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出ステップと、
前記抽出ステップにより抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正ステップと、
前記輝度レベル補正ステップにより輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出ステップと、
前記抽出ステップにより抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正ステップと、
前記位置補正ステップにより位置が補正された複数の画像データに基づいて、合成画像データを生成する生成ステップとを有することを特徴とする画像処理方法。
【請求項１１】
異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類ステップと、
前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出ステップと、
前記抽出ステップにより抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正ステップと、
前記輝度レベル補正ステップにより輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出ステップと、
前記抽出ステップにより抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正ステップと、
前記位置補正ステップにより位置が補正された複数の画像データに基づいて、合成画像データを生成する生成ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１２】
前記請求項１１に記載のコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、及び画像処理方法に関し、特に、複数の画像データを合成して、画像データのダイナミックレンジを拡大するために用いて好適なものに関する。
【背景技術】
【０００２】
近年、デジタル画像処理技術の発達により、撮影した複数の画像を加工することで、これまでには難しかった様々な処理が行えるようになってきた。露出の異なる複数の画像から、ダイナミックレンジを拡大した合成画像を作るといった処理もそのひとつである。この処理は、同一の被写体に対し、低輝度画像と高輝度画像とを生成し、低輝度領域においては低輝度画像を、高輝度領域においては高輝度画像を夫々用いることにより、全ての輝度領域で、階調性のよい画像を得るものである。
【０００３】
特許文献１には、露光量を互いに変えて撮像した同一被写体の複数の画像データの位置関係を合わせた後、各画像データの輝度の平均値の比に基づいて、各画像データの輝度レベルを合わせ、輝度レベルを合わせた各画像データを合成する技術が開示されている。この特許文献１では、画像データの位置合わせの技術と画像データの合成の技術との組み合わせによって、ダイナミックレンジの大きい画像データを得ることができる。
【０００４】
ところで、露光量を互いに変えて同一被写体に対し複数回の撮影を行う際は、撮影と撮影との間に僅かな時間差が生じる。このため、手ぶれ等により、得られる複数の画像データに相対的な位置のずれが生じる虞がある。従って、複数の画像データを精度よく合成するためには、この位置合わせの技術が極めて重要となる。
【０００５】
【特許文献１】特許第３５５３９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した特許文献１に記載の技術では、位置合わせの精度を確保するための処理については考慮されていない。従って、従来の技術では、撮影条件の異なる２つの画像データ間の位置合わせの精度が低下してしまう虞があるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、ダイナミックレンジの大きな画像データを生成する際に行う複数の画像データの位置合わせを精度良く行うようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類手段と、前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出手段と、前記抽出手段により抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正手段と、前記輝度レベル補正手段により輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出手段と、前記抽出手段により抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正手段と、前記位置補正手段により位置が補正された複数の画像データに基づいて、合成画像データを生成する生成手段とを備えることを特徴とする。
本発明の撮像装置は、撮像手段と、前記撮像手段によって異なる露光条件で撮像された同一被写体の複数の画像データを一時的に記憶する記憶手段と、前記記憶手段に記憶された複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類手段と、前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出手段と、前記抽出手段により抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正手段と、前記輝度レベル補正手段により輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出手段と、前記抽出手段により抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正手段と、前記位置補正手段により位置が補正された複数の画像データに基づいて、合成画像データを生成する生成手段とを備えることを特徴とする。
【０００８】
本発明の画像処理方法は、異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類ステップと、前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出ステップと、前記抽出ステップにより抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正ステップと、前記輝度レベル補正ステップにより輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出ステップと、前記抽出ステップにより抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正ステップと、前記位置補正ステップにより位置が補正された複数の画像データに基づいて、合成画像データを生成する生成ステップとを有することを特徴とする。
【０００９】
本発明のコンピュータプログラムは、異なる露光条件で撮像された同一被写体の複数の画像データを、階調性を保持している適正領域と、階調性を失っている不適正領域とに分類する分類ステップと、前記複数の画像データの適正領域から、前記複数の画像データに共通の適正領域を抽出する抽出ステップと、前記抽出ステップにより抽出された共通の適正領域の輝度レベルを、前記複数の画像データ毎に補正する輝度レベル補正ステップと、前記輝度レベル補正ステップにより輝度レベルが補正された複数の画像データ間における位置のずれを検出する検出ステップと、前記抽出ステップにより抽出された共通の適正領域間における位置のずれに基づいて、前記複数の画像データの位置を補正する位置補正ステップと、前記位置補正ステップにより位置が補正された複数の画像データに基づいて、合成画像データを生成する生成ステップとをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記憶媒体は、前記コンピュータプログラムを記憶したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ダイナミックレンジの大きな画像データを生成する際に行う複数の画像データの位置合わせを、従来よりも精度よく行える。従って、ダイナミックレンジが拡大された画像を従来よりも確実に生成することができる。
【発明を実施するための最良の形態】
【００１１】
（第１の実施形態）
以下、図面を参照して、本発明の第１の実施形態について詳細に説明する。
図１は、本実施形態おける撮像装置の一例であるデジタルカメラの構成の一例を示したブロック図である。
図１において、撮像部１０１は、絞りと、シャッタと、撮像レンズ群と、Ｃ−ＭＯＳやＣＣＤ等の半導体撮像素子とを備える。撮影制御部１０２は、シャッタ駆動、絞り駆動、焦点駆動、及びズーム駆動等を制御する。
【００１２】
Ａ／Ｄ変換部１０３は、撮像部１０１から出力された映像信号を、デジタル画像データに変換して、画像処理部１０４に出力する。画像処理部１０４は、入力されたデジタル画像データに基づく輝度信号や色差信号を形成する等の処理を行うことにより、カラー画像データを生成する。
【００１３】
画像表示部１１１は、画像処理部１０４で生成されたカラー画像データを、例えば、デジタルカメラ本体が備える液晶モニタに表示する。尚、画像処理部１０４で生成されたカラー画像データは、画像記録部１１２によって、例えばデジタルカメラ内部に設けられた記録媒体に記録される。
【００１４】
以下に、画像データのダイナミックレンジを拡大するときの画像処理部１０４における処理の一例について説明する。
ダイナミックレンジを拡大した画像データを生成するためには、撮影制御部１０２によって撮影毎に露出（露光量や露出時間等の露光条件）を変化させて、短い間隔で複数回の撮影を行い、複数の画像データを得るようにする。このような撮影を行う方法としては、ブラケット撮影と呼ばれる方法が一般的である。
【００１５】
このような撮影により得られた映像信号は、Ａ／Ｄ変換部１０３でデジタル画像データに変換される。このデジタル画像データは、一旦メモリ部１０５に蓄えられる。メモリ部１０５に蓄えられたの複数のデジタル画像データは、手ぶれ等を原因とする相対的な位置のずれを伴っている。そこで、位置補正部１０９は、メモリ部１０５に蓄えられたの複数のデジタル画像データに対して、相対的な位置のずれを補正する。
【００１６】
画像合成部１１０は、相対的な位置のずれが補正された複数のデジタル画像データにおける画素の選択を行い、複数のデジタル画像データの合成処理を行う。
位置ずれ検出部１０８は、位置補正部１０９が行う位置のずれの補正に必要な情報として、複数の画像データにおける相対的な位置のずれ量を検出する。複数のデジタル画像データにおける相対的な位置のずれ量を検出するにあたり、その検出の精度を上げるために行う２つの前処理が、領域抽出部１０６とレベル補正部１０７とで行われる処理である。
【００１７】
領域抽出部１０６は、複数のデジタル画像データの中から適正なレンジを持つ共通領域を求める。これにより、複数のデジタル画像データにおける相対的な位置のずれ量を検出するときの誤判定を防ぐことができる。
レベル補正部１０７は、複数のデジタル画像データ間の共通領域における輝度レベルを合致させる。これにより、複数のデジタル画像データにおける相対的な位置のずれ量の検出精度を向上できる。
【００１８】
図２は、画像処理部１０４における処理の概要の一例を説明するフローチャートである。
図２のステップＳ２０１において、メモリ部１０５は、Ａ／Ｄ変換部１０３で得られた複数のデジタル画像データであって、露光条件が互いに異なる複数のデジタル画像データを入力して記憶する。
次に、ステップＳ２０２において、領域抽出部１０６は、メモリ部１０５に記憶された各デジタル画像データから、適正領域を検出する。適正領域とは、後述するように、デジタル画像データの画像領域のうち、黒つぶれや白とび等によって階調性が失われている領域を除いた領域をいう。
【００１９】
次に、ステップＳ２０３において、領域抽出部１０６は、各デジタル画像データに共通する適正領域を検出する。尚、以下の説明では、各デジタル画像データに共通する適正領域を共通領域と称する。
次に、ステップＳ２０４において、レベル補正部１０７は、各デジタル画像データの共通領域における輝度レベルの補正処理を行う。
次に、ステップＳ２０５において、位置ずれ検出部１０８は、輝度レベルが補正された共通領域間における相対的な位置のずれ量を検出する。
尚、ステップＳ２０２〜Ｓ２０５の詳細については後述する。
【００２０】
共通領域間における相対的な位置のずれ量が検出されると、ステップＳ２０６に進む。そして、位置補正部１０９は、ステップＳ２０５で検出されたずれ量に応じて、メモリ部１０５に一時的に記憶されたデジタル画像データ（元のデジタル画像データ）の位置を補正する。例えば、２枚のデジタル画像データがメモリ部１０５に記憶されている場合、２枚目のデジタル画像データの位置を補正して、２枚目のデジタル画像データの位置を、１枚目のデジタル画像データの位置に合わせてもよいし、その逆でも構わない。このようにして、メモリ部１０５に記憶されている複数のデジタル画像データの相対的な位置合わせがなされると、ステップＳ２０７において、画像合成部１１０は、それら複数のデジタル画像データの合成処理を行う。
【００２１】
以下に、図２に示した各ステップの詳細な処理の一例を説明する。
図３は、図２のステップＳ２０２における処理（適正領域を抽出する処理）の一例を説明するフローチャートである。この処理は、デジタル画像データ毎に行われる。
露出がアンダーな状態（露光量が少ない状態）で撮影された画像には、黒つぶれと呼ばれる階調が再現できない領域（暗い領域）が生じる場合がある。この領域では、画像の特徴が失われている。従って、複数のデジタル画像データにおける相対的な位置のずれを、この領域を含めて検出すると、誤判定を引き起こす可能性がある。そこで、この領域を除外するため、ステップＳ３０１において、領域抽出部１０６は、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｌ以上であるか否かを判定する。
【００２２】
この判定の結果、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｌよりも小さければ、その画素を黒つぶれしている領域の画素と判断して、ステップＳ３０２に進む。そして、領域抽出部１０６は、その画素を、複数のデジタル画像データにおける相対的な位置のずれを検出する際に用いる画素から除外する。即ち、黒つぶれしている領域の画素は、位置ずれ検出部１０８での検出対象から除外する。
一方、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｌ以上であれば、ステップＳ３０３に進む。
【００２３】
露出がオーバーな状態（露光量が多い状態）で撮影された画像には、白とびと呼ばれる階調が再現できない領域（明るい領域）が生じる場合がある。この領域では、画像の特徴が失われている。従って、複数のデジタル画像データにおける相対的な位置のずれを、この領域を含めて検出すると、誤判定を引き起こす可能性がある。そこで、この領域を除外するため、ステップＳ３０３において、領域抽出部１０６は、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｈ以下であるか否かを判定する。この判定の結果、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｈよりも大きければ、その画素を白とびしている領域の画素と判断して、前述したステップＳ３０２に進む。そして、ステップＳ３０２において、領域抽出部１０６は、白とびしている領域の画素を、位置ずれ検出部１０８での検出対象から除外する。
【００２４】
一方、入力したデジタル画像データの画素の値が、予め定められた閾値Ｔｈ以上であれば、ステップＳ３０４に進む。そして、領域抽出部１０６は、ステップＳ３０３において値が閾値Ｔｈ以上であると判定した画素を、複数のデジタル画像データにおける相対的な位置のずれを検出する際に用いる画素の候補とする。即ち、領域抽出部１０６は、入力したデジタル画像データの画素のうち、値が閾値Ｔｌ以上閾値Ｔｈ以下の範囲内にある画素のみを、階調性を保持している適正領域の画素とし、その画素を位置ずれ検出部１０８での検出対象の候補とする。
【００２５】
次に、ステップＳ３０５において、領域抽出部１０６は、入力したデジタル画像データの全ての画素に対する処理を終えたか否かを判定する。この判定の結果、入力したデジタル画像データの全ての画素に対する処理を終えていない場合には、入力したデジタル画像データの全ての画素についての処理が終了するまで、ステップＳ３０１〜Ｓ３０５の処理を繰り返し行う。そして、入力したデジタル画像データの全ての画素について処理が終わると、一画面分の適正領域が抽出される。そして、図２のフローチャートに戻る。
【００２６】
図４は、図２のステップＳ２０３における処理（画素単位の共通領域の抽出処理）の一例を説明するフローチャートである。この処理は、適正領域を求めた画像間で行われる。尚、ここでは、説明を簡単にするために、２つのデジタル画像データ間での処理を行う場合を例に挙げて説明する。そして、以下の説明では、これら２つのデジタル画像データを、それぞれ第１の入力画像及び第２の入力画像と称する。
【００２７】
まず、ステップＳ４０１において、領域抽出部１０６は、第１の入力画像の画素が適正領域内の画素であるか否かを判定する。この判定の結果、第１の入力画像の画素が適正領域内の画素でなければ、ステップＳ４０２に進む。そして、領域抽出部１０６は、その画素を、位置ずれ検出部１０８での検出対象から除外する。尚、以下の説明において、位置ずれ検出部１０８での検出対象から除外した画素を、必要に応じて除外画素と称する。
【００２８】
一方、第１の入力画像の画素が適正領域内の画素であれば、ステップＳ４０３に進む。そして、領域抽出部１０６は、第２の入力画像の画素が適正領域内の画素であるか否かを判定する。ここで、領域抽出部１０６は、ステップＳ４０１で判定した第１の入力画像の画素と同一位置の画素を第２の入力画像から抽出し、抽出した画素が適正領域内の画素であるか否かを判定する。この判定の結果、第２の入力画像の画素が適正領域内の画素でなければ、ステップＳ４０２に進み、領域抽出部１０６は、その画素を、位置ずれ検出部１０８での検出対象から除外する。
【００２９】
一方、第２の入力画像の画素が適正領域内の画素であれば、ステップＳ４０４に進む。そして、領域抽出部１０６は、ステップＳ４０１、Ｓ４０３で適正領域内にあると判定した２つの画素を共通領域の画素とし、それら２つの画素を、位置ずれ検出部１０８で検出対象とする。即ち、領域抽出部１０６は、第１の入力画像の画素と、第２の入力画像の画素との両方が、適正範囲の中にある画素である場合に限り、それらの画素を共通領域の画素とし、それら２つの画素を、位置ずれ検出部１０８での検出対象とする。尚、以下の説明において、位置ずれ検出部１０８での検出対象となる画素を、必要に応じて共通画素と称する。
【００３０】
次に、ステップＳ４０５において、領域抽出部１０６は、第１の入力画像と第２の入力画像との全ての画素について処理を終えたか否かを判定する。この判定の結果、第１の入力画像と第２の入力画像との全ての画素について処理を終えていない場合には、第１の入力画像と第２の入力画像との全ての画素についての処理が終了するまで、ステップＳ４０１〜Ｓ４０５の処理を繰り返し行う。そして、第１の入力画像と第２の入力画像との全ての画素について処理が終わると、一組分の共通領域が抽出される。
【００３１】
尚、例えば、３枚の画像を用いてダイナミックレンジの拡大を図る場合には、以下のようにすればよい。まず、１枚目の画像と２枚目の画像との間で図４の処理を行った後、２枚目の画像と３枚目の画像との間で図４の処理を行う。そして、３枚の画像の画素の全てが適正領域である場合に、それらの画素を共通領域の画素とする。
【００３２】
図５は、図４に続く処理（ブロック単位の共通領域の抽出方法）の一例を説明するフローチャートである。図５に示す処理は、後述するようにして複数のデジタル画像データの位置のずれをブロック単位で検出する際に、その位置のずれの検出精度を向上させるための処理であり、図４で求めた共通領域よりも更に検出領域を狭める処理となる。
【００３３】
まず、ステップＳ５０１において、領域抽出部１０６は、画面全体を一定の画素サイズのブロック（縦横１画素以上で構成されるブロック）に分割する。以下の処理は、このブロック単位での処理となる。
次に、ステップＳ５０２において、領域抽出部１０６は、ステップＳ５０１で分割したブロック内に、ステップＳ４０２で決定された除外画素があるか否かを判定する。この判定の結果、ステップＳ５０１で分割したブロック内に、ステップＳ４０２で決定された除外画素がある場合には、ステップＳ５０３に進む。そして、領域抽出部１０６は、そのブロックを、位置ずれ検出部１０８での検出対象から除外する。尚、以下の説明において、位置ずれ検出部１０８での検出対象から除外した画素を、必要に応じて除外ブロックと称する。
【００３４】
一方、ステップＳ５０１で分割したブロック内に、ステップＳ４０２で決定された除外画素がない場合には、ステップＳ５０４に進む。そして、領域抽出部１０６は、ステップＳ５０２で除外画素がないと判定されたブロックに対して検出される動きベクトルのサーチ範囲内のブロック（後述する参照画像のブロック）に、除外画素があるか否かを判定する。この判定の結果、サーチ範囲内に除外画素がある場合には、ステップＳ５０３に進み、領域抽出部１０６は、それら複数のブロックを、位置ずれ検出部１０８での検出対象から除外する。
【００３５】
一方、ステップＳ５０２で除外画素がないと判定されたブロックと、そのブロックに対して検出される動きベクトルのサーチ範囲内のブロックとに除外画素が無い場合には（ステップＳ５０４のＮｏ）、ステップＳ５０５に進む。そして、領域抽出部１０６は、それら複数のブロックを、位置ずれ検出部１０８での検出対象とする。尚、以下の説明において、位置ずれ検出部１０８での検出に用いるブロックを、必要に応じて共通ブロックと称する。
【００３６】
次に、ステップＳ５０６において、領域抽出部１０６は、ステップＳ５０１で分割した全てのブロックに対して処理を終えたか否かを判定する。この判定の結果、ステップＳ５０１で分割した全てのブロックに対して処理を終えていない場合には、処理を終えるまでステップＳ５０２〜５０６を繰り返し行う。そして、ステップＳ５０１で分割した全てのブロックに対してステップＳ５０２〜Ｓ５０６の処理が終わったところで、図２のフローチャートに戻る。
【００３７】
図６は、図２のステップＳ２０４における処理（共通領域のレベル補正処理）の一例を説明するフローチャートである。尚、ここでも、説明を簡単にするために、２つのデジタル画像データ（第１及び第２の入力画像）間での処理を行う場合を例に挙げて説明する。
【００３８】
複数のデジタル画像データの位置のずれの検出は、一般的に、位置のずれの検出対象である複数のデジタル画像データ間の相関値に基づいて行われる。しかしながら、位置のずれの検出対象である複数のデジタル画像データ間で輝度レベルが合致していないと、それら複数のデジタル画像データ間の相関値の算出精度を下げることになる。画像データのダイナミックレンジを拡大する場合には、互いに異なる露出で撮影された複数のデジタル画像データ間で位置ずれを検出するので、対応する画像間の輝度レベルは大きく異なっている。従って、輝度レベルの補正は、位置のずれの検出精度を高めるための重要な処理となる。本実施形態の特徴の１つは、共通ブロック間で輝度レベルを合わせた後に、それら共通ブロックに生じている位置のずれを検出することにある。
【００３９】
まず、ステップＳ６０１において、レベル補正部１０７は、共通ブロック内における第１の入力画像の画素の平均値ａ１を算出する。
同様に、ステップＳ６０２において、レベル補正部１０７は、共通ブロック内における第２の入力画像の画素の平均値ａ２を算出する。
【００４０】
次に、ステップＳ６０３において、レベル補正部１０７は、第１の入力画像のゲインｒ１を算出する。第１の入力画像のゲインｒ１と、平均値ａ１、ａ２との関係は、式（１）で表すことができる。
ｒ１＝（ａ１＋ａ２）／（２×ａ１）  ・・・  （１）
【００４１】
同様に、ステップＳ６０４において、レベル補正部１０７は、第２の入力画像のゲインｒ２を算出する。第２の入力画像のゲインｒ２と、平均値ａ１、ａ２との関係は、式（２）で表すことができる。
ｒ２＝（ａ１＋ａ２）／（２×ａ２）  ・・・  （２）
【００４２】
次に、ステップＳ６０５において、レベル補正部１０７は、第１の入力画像の各画素の画素値に、ゲインｒ１を乗じて輝度レベルの補正値を算出する。即ち、第１の入力画像の各画素の画素値に、ゲインｒ１を乗じた値が輝度レベルの補正値となる。
同様に、ステップＳ６０６において、レベル補正部１０７は、第２の入力画像の各画素の画素値に、ゲインｒ２を乗じて輝度レベルの補正値を算出する。即ち、第２の入力画像の各画素の画素値に、ゲインｒ２を乗じた値が輝度レベルの補正値となる。こうして、一連のレベル補正処理を終えると、図２のフローチャートに戻る。
【００４３】
図７は、図２のステップＳ２０５における処理（位置ずれを検出処理）の一例を説明するフローチャートである。ここでは、ブロック毎に動きベクトルを求め、求めた動きベクトルを用いて、画面全体の動き量をアフィンパラメータとして求める方法を一例として説明する。
【００４４】
ステップＳ８０１において、位置ずれ検出部１０８は、ブロック毎に動きベクトルを求めるための前処理として、有効ブロックの判定を行う。これは、正しい動きベクトルが求まらない可能性のあるブロックを除外する処理である。詳細は後述する。
次に、ステップＳ８０２において、位置ずれ検出部１０８は、ブロックの動きベクトルを算出する。ここでは、一般的なブロックマッチング法を用いてブロックの動きベクトルを算出する場合を例に挙げて説明する。
【００４５】
ブロックマッチング法では、マッチングの評価値としてブロック内の画素間の差分二乗和又は差分絶対値和を用いる。動きベクトルを求める対象ブロックにおける参照画像内のブロックを参照画像のサーチ範囲内で順次動かしなら評価値を求めていく。サーチ範囲内で求めた全ての評価値の中から最小の評価値を持つ位置（参照画像のブロック）が、対象ブロックと最も相関の高い位置（ブロック）となる。そして、対象ブロックと、その対象ブロックと最も相関の高いブロックとの移動量が動きベクトルとなる。ここで、サーチ範囲内で１画素ずつ評価値を求めていく方法をフルサーチと呼ぶ。これに対し、サーチ範囲内の間引かれた画素の中から最小の評価値を求め、求めた最小の評価値を有する画素の近傍の画素に対して細かくサーチする方法を、ステップサーチと呼ぶ。ステップサーチは高速に動きベクトルを求める方法としてよく知られている。
【００４６】
次に、ステップＳ８０３において、位置ずれ検出部１０８は、有効動きベクトルの判定を行う。これは、求めた動きベクトルのうち、算出結果が正しくないと判断されるものを除外する処理である。詳細は後述する。
次に、ステップＳ８０４において、位置ずれ検出部１０８は、全てのブロックに対して処理を終えたか否かを判定する。この判定の結果、全てのブロックに対して処理を終えていない場合には、処理を終えるまでステップＳ８０１〜Ｓ８０４の処理を繰り返し行う。そして、全てのブロックに対して処理を終えると、ステップＳ８０５に進む。そして、位置ずれ検出部１０８は、ステップＳ８０３で得られた有効な動きベクトルを用いて、アフィンパラメータを検出する。
【００４７】
図８は、アフィンパラメータの検出を説明するための図である。
図８に示すように、対象ブロックの中心座標が、（ｘ，ｙ）であるとする。そして、有効な動きベクトルの算出結果から、対象ブロックの中心座標（ｘ，ｙ）が、参照画像におけるブロックの中心座標（ｘ'，ｙ'）に移動したとすると、これらの関係は，式（３）のように表すことができる。
【００４８】
【数１】
2008118555.tif 000003
【００４９】
ここで、式（３）の右辺における３×３の行列がアフィン変換行列である。このアフィン変換行列の各要素がアフィンパラメータである。アフィンパラメータａ、ｂ、ｄ、ｅがそれぞれ１、０、０、１（ａ＝１，ｂ＝０，ｄ＝０，ｅ＝１）のとき、この変換は平行移動となる。このとき、アフィンパラメータｃが水平方向の移動量となり、アフィンパラメータｆが垂直方向の移動量となる。また、回転角をθとすると、回転移動は、式（４）〜（７）のように表すことができる。
【００５０】
ａ＝ｃｏｓθ    ・・・（４）
ｂ＝−ｓｉｎθ  ・・・（５）
ｄ＝ｓｉｎθ    ・・・（６）
ｅ＝ｃｏｓθ    ・・・（７）
【００５１】
また、式（３）は、一般化した行列の形式で、式（８）のように表現することができる。
ｘ'＝Ａ・ｘ  ・・・（８）
ここで、ｘとｘ'は１×３の行列、Ａは３×３の行列である。有効な動きベクトルがｎ個であった場合、対象画像の座標値は、式（９）のようにｎ×３の行列で表現できる。
Ｘ＝（ｘ1ｘ2・・・ｘn）  ・・・（９）
【００５２】
同様に、移動後の座標値も式（１０）のようにｎ×３の行列で表現できる。
Ｘ'＝（ｘ1'ｘ2'・・・ｘn'）  ・・・（１０）
よって、ｎ個の動きベクトルに対しては、式（１１）のような表現となる。
Ｘ'＝Ａ・Ｘ  ・・・（１１）
【００５３】
即ち、式（１１）におけるアフィン変換行列Ａを求めれば、それが画面全体の位置ずれ量になる。式（１１）を変形すると、アフィン変換行列Ａは式（１２）のようにして求まる。
Ａ＝Ｘ'・ＸT・（Ｘ・ＸT）-1  ・・・（１２）
【００５４】
以上のように、複数のデジタル画像データの位置のずれを求める場合には、アフィンパラメータを用いて、複数のデジタル画像データの動き量を表現できる。このため、デジタルカメラを保持しているときに起こるシフトぶれによる動き量以外にも、面内方向で生じるロールぶれや前後方向で生じるズームぶれ等による動き量を求めることが可能である。
【００５５】
ここで、図９のフローチャートを参照しながら、図７のステップＳ８０１における処理（有効ブロックの判定処理）の一例を説明する。
ブロックマッチング法によりブロック間の相関を求めようとする場合、ブロック内の画像が何らかの特徴量を持っている必要がある。平坦で殆ど直流成分しか含んでいないブロックでは正しい動きベクトルを求めることはできない。逆に水平方向や垂直方向にエッジを含んでいると、マッチングがとり易くなると考えられる。図９に示す処理は、このような平坦部のブロックを除外するための処理の一例である。尚、ここでは、説明を簡単にするために、１つのブロックに対して処理を行う場合を例に挙げて説明する。
【００５６】
まず、ステップＳ９０１において、位置ずれ検出部１０８は、ブロック内の水平方向の１つのラインにおける画素値の最大値と最小値との差分値を算出する。例えば、ブロックのサイズが５０×５０の画素で構成されているとすると、ブロック内の水平方向の５０個の画素から最大値と最小値とを求め、その最大値と最小値との差分値を算出する。
【００５７】
次に、ステップＳ９０２において、位置ずれ検出部１０８は、ブロックの全ての水平ラインに対して、ステップＳ９０１の算出を行ったか否かを判定する。前述した例では、ステップＳ９０１の算出を、水平ライン数分、即ち５０回繰り返し行ったか否かを判定する。この判定の結果、ブロックの全ての水平ラインに対して、ステップＳ９０１の算出を行っていない場合には、ブロックの全ての水平ラインに対して、ステップＳ９０１の算出を行うまでステップＳ９０１、Ｓ９０２を繰り返し行う。
【００５８】
そして、ブロックの全ての水平ラインに対して、ステップＳ９０１の算出を行うと、ステップＳ９０３に進む。そして、位置ずれ検出部１０８は、ステップＳ９０１で算出した差分値の中から最大の差分値を求める。前述した例では、５０個の差分値の中から最大の差分値を求める。
【００５９】
次に、ステップＳ９０４において、位置ずれ検出部１０８は、予め設定された閾値Ｔｘよりも、ステップＳ９０３で求めた最大の差分値が大きいか否かを判定する。この判定の結果、予め設定された閾値Ｔｘよりも、ステップＳ９０３で求めた最大の差分値が大きくなければ、位置ずれ検出部１０８は、処理対象のブロックが、水平方向には特徴量を持たないブロックであるとみなしてステップＳ９０５に進む。そして、位置ずれ検出部１０８は、処理対象のブロックを無効ブロックと判定する。
【００６０】
一方、予め設定された閾値Ｔｘよりも、ステップＳ９０３で求めた最大の差分値が大きければ、位置ずれ検出部１０８は、処理対象のブロックが、水平方向に特徴量を持つブロックであるとみなして、垂直方向で水平方向と同様の検証を行う。
まず、ステップＳ９０６において、位置ずれ検出部１０８は、ブロック内の垂直方向の１つのラインにおける画素値の最大値と最小値との差分値を算出する。前述した例では、ブロック内の垂直方向の５０個の画素から最大値と最小値とを求め、その最大値と最小値との差分値を算出する。
【００６１】
次に、ステップＳ９０７において、位置ずれ検出部１０８は、ブロックの全ての垂直ラインに対して、ステップＳ９０６の算出を行ったか否かを判定する。前述した例では、ステップＳ９０６の算出を、垂直ライン数分、即ち５０回繰り返し行ったか否かを判定する。この判定の結果、ブロックの全ての垂直ラインに対して、ステップＳ９０６の算出を行っていない場合には、ブロックの全ての垂直ラインに対して、ステップＳ９０６の算出を行うまでステップＳ９０６、Ｓ９０７を繰り返し行う。
【００６２】
そして、ブロックの全ての垂直ラインに対して、ステップＳ９０６の算出を行うと、ステップＳ９０８に進む。そして、位置ずれ検出部１０８は、ステップＳ９０６で算出した差分値の中から最大の差分値を求める。前述した例では、５０個の差分値の中から最大の差分値を求める。
【００６３】
次に、ステップＳ９０９において、位置ずれ検出部１０８は、予め設定された閾値Ｔｙよりも、ステップＳ９０８で求めた最大の差分値が大きいか否かを判定する。この判定の結果、予め設定された閾値Ｔｙよりも、ステップＳ９０８で求めた最大の差分値が大きくなければ、位置ずれ検出部１０８は、処理対象のブロックが、垂直方向には特徴量を持たないブロックであるとみなしてステップＳ９０５に進む。そして、前述したように、位置ずれ検出部１０８は、処理対象のブロックを無効ブロックと判定する。
【００６４】
一方、予め設定された閾値Ｔｙよりも、ステップＳ９０８で求めた最大の差分値が大きければ、位置ずれ検出部１０８は、処理対象のブロックが、垂直方向及び水平方向の両方向に特徴量を持つブロックであるとみなす。この場合、正確なブロックマッチングを行えることが期待できる。そこで、ステップＳ９１０に進み、位置ずれ検出部１０８は、処理対象のブロックを有効ブロックと判定する。
【００６５】
次に、図１０のフローチャートを参照しながら、図７のステップＳ８０３における処理（有効動きベクトルの判定処理）の一例を説明する。
まず、ステップＳ１００１において、位置ずれ検出部１０８は、図７のステップＳ８０２で検出した動きベクトルを入力する。そうすると、ステップＳ１００２において、位置ずれ検出部１０８は、その動きベクトルの発生頻度を算出する。
【００６６】
次に、ステップＳ１００３において、位置ずれ検出部１０８は、図７のステップＳ８０２で検出した全ての動きベクトルの発生頻度を求め終えたか否かを判定する。この判定の結果、図７のステップＳ８０２で検出した全ての動きベクトルの発生頻度を求め終えていない場合には、求め終えるまでステップＳ１００１〜Ｓ１００３を繰り返し行う。そして、図７のステップＳ８０２で検出した全ての動きベクトルの発生頻度を求め終えると、ステップＳ１００４に進む。そして、位置ずれ検出部１０８は、ステップＳ１００２で求めた動きベクトルの発生頻度に基づいて、最大発生頻度の動きベクトルを求める。
【００６７】
次に、ステップＳ１００５において、位置ずれ検出部１０８は、図７のステップＳ８０２で検出した動きベクトルを再度入力する。そして、ステップＳ１００６において、位置ずれ検出部１０８は、再度入力した動きベクトルが最大発生頻度の動きベクトル、又はその動きベクトルの近傍の動きベクトルであるか否かを判定する。画面全体のぶれが、前述したシフトぶれのみである場合、各ブロックの動きベクトルは、最大発生頻度の動きベクトルに略一致すると考えられる。また、前述したロールぶれを伴う場合には、最大発生頻度の動きベクトルの近傍に多くの動きベクトルが発生すると考えられる。
【００６８】
従って、ステップＳ１００６の判定の結果、再度入力した動きベクトルが、最大発生頻度の動きベクトル、又はその動きベクトルの近傍の動きベクトルである場合には、ステップＳ１００７に進む。そして、位置ずれ検出部１０８は、その動きベクトルを有効動きベクトルと判定する。
一方、再度入力した動きベクトルが、最大発生頻度の動きベクトル、又はその動きベクトルの近傍の動きベクトルでない場合には、ステップＳ１００８に進む。そして、位置ずれ検出部１０８は、その動きベクトルを無効動きベクトルと判定する。
【００６９】
次に、ステップＳ１００９において、位置ずれ検出部１０８は、図７のステップＳ８０２で検出した全ての動きベクトルに対して処理が終わったか否かを判定する。この判定の結果、図７のステップＳ８０２で検出した全ての動きベクトルに対して処理が終わっていなければ、終わるまでステップＳ１００５〜Ｓ１００９を繰り返し行う。
【００７０】
図１１は、図２のステップＳ２０７で行われる画像データの合成処理の一例を説明する図である。画像データの合成は、画素値（画素レベル）がある閾値以下の場合には、低輝度側のデジタル画像データを用い、閾値より大きい場合には、高輝度側のデジタル画像データを用いるというのが基本である。しかしながら実際には、設定された閾値が低輝度側と高輝度側との間の不連続点となってしまうのを避けるための処理を行う。ここでは、低輝度側と高輝度側とが共通に持つ値の範囲内で、２つの閾値Ｔａ、Ｔｂを設定している。本実施形態の画像合成部１１０は、これら２つの閾値Ｔａ、Ｔｂを用いて画素値（画素レベル）を判定することにより、低輝度側から高輝度側へのデジタル画像データの混合比が１から０へ順次（徐々に）変化するように画像データの合成処理を行う。
【００７１】
以上のように本実施形態では、領域抽出部１０６は、複数のデジタル画像データの画素の中から、黒つぶれや白とび等によって階調性が失われた領域の画素を除いた画素を適正画素とする。そして、領域抽出部１０６は、複数のデジタル画像データの同一位置の画素であって、共に適正画素である画素を共通画素とし、そうでない画素を除外画素とする。更に領域抽出部１０６は、複数のデジタル画像データの画面全体をブロック化する。領域抽出部１０６は、動きベクトルの検出対象のブロックと、そのブロックに対する参照画像のブロックとの双方に除外画素が含まれていなければ、それらのブロックを共通ブロックとする。レベル補正部１０７は、共通ブロック内における画素値（輝度レベル）の平均値ａ１、ａ２を求め、求めた平均値ａ１、ａ２を用いて、共通ブロックの輝度レベルを合わせる。位置ずれ検出部１０８は、輝度レベルが合った共通ブロックを用いて位置のずれを検出し、位置補正部１０９は、その位置のずれ量に応じて、複数のデジタル画像データの位置を補正する。
【００７２】
以上のように、互いに輝度レベルを合わせた共通ブロックを用いて動きベクトルを検出することによって、複数のデジタル画像データの位置のずれを検出する。そして、検出したずれの量に応じて、複数のデジタル画像データの位置を合わせてから、複数のデジタル画像データを合成する。従って、ダイナミックレンジの大きな画像データを生成する際に行う複数のデジタル画像データの位置合わせを従来よりも精度よく行うことが可能となる。
【００７３】
また、本実施形態では、水平方向又は垂直方向に特徴量を持たないブロックを処理対象から除外するようにした。また、シフトぶれによる動き量、面内方向で生じるロールぶれ、又は前後方向で生じるズームぶれに起因すると推定される動きベクトルだけを用いて、複数のデジタル画像データの位置のずれを検出するようにした。従って、複数のデジタル画像データの位置合わせの精度をより向上させることが可能になる。
【００７４】
（第２の実施形態）
次に、本発明の第２実施形態について説明する。前述した第１の実施形態では、共通ブロック内における画素値の平均値ａ１、ａ２を求め、求めた平均値ａ１、ａ２を用いて、共通ブロックの輝度レベルを合わせるようにした。これに対し、本実施形態では、撮像制御部１０２で得られた撮像情報を利用して、共通ブロックの輝度レベルを合わせるようにする。このように、本実施形態と前述した第１の実施形態とは、共通ブロックの輝度レベルを合わせるための処理の一部が主として異なる。従って、以下の説明において、前述した第１の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００７５】
図１２は、本実施形態における撮像装置の一例であるデジタルカメラの構成の一例を示したブロック図である。
図１２に示すデジタルカメラと、図１に示した第１の実施形態のデジタルカメラとの違いは、画像処理部１２０１内のレベル補正部１２０２の処理において、撮影制御部１０２で得られる撮像情報を利用することにある。図１３のフローチャートを参照しながら、本実施形態のレベル補正部１２０２の処理（図２のステップＳ２０４における処理（共通領域のレベル補正処理））の一例を説明する。尚、ここでは、説明を簡単にするために、２つのデジタル画像データ（第１及び第２の入力画像）間での処理を行う場合を例に挙げて説明する。
【００７６】
撮影制御部１０２で得られる撮影情報は、具体的には、適正露出からどれだけアンダー又はオーバーの露出で撮影したかという情報である。この情報を用いることで、第１の実施形態の図６で説明した平均値の演算を行うことなく、輝度レベルの補正が可能となる。
まず、ステップＳ７０１において、レベル補正部１２０２は、第１の入力画像の撮影情報を取得する。
同様に、ステップＳ７０２において、レベル補正部１２０２は、第２の入力画像の撮影情報を取得する。
【００７７】
次に、ステップＳ７０３において、レベル補正部１２０２は、第１の入力画像の撮影情報を用いて、第１の入力画像のゲインｒ１を算出する。例えば、第１の入力画像が１段アンダーで撮影されたとすると、第１の入力画像を得た際の露出時間は本来の半分ということになる。従って、適正な明るさにするためのゲインｒ１は「２」となる。
同様に、ステップＳ７０４において、レベル補正部１２０２は、第２の入力画像の撮影情報を用いて、第２の入力画像のゲインｒ２を算出する。例えば、第２の入力画像が１段オーバーで撮影されたとすると、第２の入力画像を得た際の露出時間は本来の２倍ということになる。従って、適正な明るさにするためのゲインｒ２は「１／２」となる。
【００７８】
次に、ステップＳ７０５において、レベル補正部１２０２は、第１の入力画像の各画素の画素値に、ゲインｒ１を乗じて輝度レベルの補正値を算出する。即ち、第１の入力画像の各画素に、ゲインｒ１を乗じた値が輝度レベルの補正値となる。
同様に、ステップＳ７０６において、レベル補正部１２０２は、第２の入力画像の各画素の画素値に、ゲインｒ２を乗じて輝度レベルの補正値を算出する。即ち、第２の入力画像の各画素に、ゲインｒ２を乗じた値が輝度レベルの補正値となる。こうして、一連のレベル補正処理を終え、図２のフローチャートに戻る。
【００７９】
以上のように本実施形態では、適正露出からのずれに関する撮像情報を用いて、共通ブロックの輝度レベルを合わせるようにした。従って、第１の実施形態のように、平均値ａ１、ａ２の演算を行う処理を省略できる。よって、本実施形態では、前述した第１の実施形態で説明した効果に加えて、複数のデジタル画像データの位置合わせを容易に行うことができるという効果を有する。
【００８０】
尚、撮像装置（デジタルカメラ）内で前述した処理を行う場合には、撮像制御部１０２から撮像情報を得ることになる。ただし、ＰＣのアプリケーションソフトウェアで後から処理する場合には、画像ファイル内に記録されている付加情報の中から、撮像情報を得て前述した処理と同様の処理をＰＣ等で行うことになる。
【００８１】
図１４は、前述した第１及び第２の実施形態で説明した処理を実行可能なコンピュータのハードウェアの構成の一例を示す図である。尚、このコンピュータは、例えば、撮像装置とインタフェースを介して相互に接続可能であり、撮像装置で撮像された映像信号を入力して、前述した第１及び第２の実施形態で説明した処理を実行する。
【００８２】
図１４において、バス２００１には、中央処理装置（ＣＰＵ）２００２、ＲＯＭ２００３、ＲＡＭ２００４、ネットワークインタフェース２００５、入力装置２００６、出力装置２００７及び外部記憶装置２００８が接続されている。ＣＰＵ２００２は、データの処理又は演算を行うと共に、バス２００１を介して接続された各種構成要素を制御するものである。ＲＯＭ２００３には、予めＣＰＵ２００２の制御手順（コンピュータプログラム）を記憶させておく。このコンピュータプログラムをＣＰＵ２００２が実行することにより、コンピュータが起動する。
【００８３】
外部記憶装置２００８にコンピュータプログラムが記憶されており、そのコンピュータプログラムがＲＡＭ２００４にコピーされて実行される。ＲＡＭ２００４は、データの入出力や送受信のためのワークメモリとして用いられたり、各構成要素の制御のための一時的な記憶領域として用いられたりする。
【００８４】
外部記憶装置２００８は、例えばハードディスク記憶装置やＣＤ−ＲＯＭ等であり、画像データ等を記憶する。電源を切っても外部記憶装置２００８の記憶内容は消えない。ＣＰＵ２００２は、ＲＡＭ２００４内のコンピュータプログラムを実行することにより、前述した実施形態の処理を行う。ネットワークインタフェース２００５は、ネットワークに接続するためのインタフェースである。入力装置２００６は、例えばキーボード及びマウス等であり、各種指定又は入力等を行うことができる。出力装置２００７は、ディスプレイ及びプリンタ等である。
【００８５】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００８６】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８７】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００８８】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるＣＰＵが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００８９】
前述した各実施形態における処理の内容を前記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００９０】
尚、前述した各実施形態は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００９１】
また、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００９２】
【図１】本発明の第１の実施形態を示し、デジタルカメラの構成の一例を示したブロック図である。
【図２】本発明の第１の実施形態を示し、画像処理部における処理の概要の一例を説明するフローチャートである。
【図３】本発明の第１の実施形態を示し、図２のステップＳ２０２における処理（適正領域を抽出する処理）の一例を説明するフローチャートである。
【図４】本発明の第１の実施形態を示し、図２のステップＳ２０３における処理（画素単位の共通領域の抽出処理）の一例を説明するフローチャートである。
【図５】本発明の第１の実施形態を示し、図４に続く処理（ブロック単位の共通領域の抽出方法）の一例を説明するフローチャートである。
【図６】本発明の第１の実施形態を示し、図２のステップＳ２０４における処理（共通領域のレベル補正処理）の一例を説明するフローチャートである。
【図７】本発明の第１の実施形態を示し、図２のステップＳ２０５における処理（位置ずれを検出処理）の一例を説明するフローチャートである。
【図８】本発明の第１の実施形態を示し、アフィンパラメータの検出を説明するための図である。
【図９】本発明の第１の実施形態を示し、図７のステップＳ８０１における処理（有効ブロックの判定処理）の一例を説明するフローチャートである。
【図１０】本発明の第１の実施形態を示し、図７のステップＳ８０３における処理（有効動きベクトルの判定処理）の一例を説明するフローチャートである。
【図１１】本発明の第１の実施形態を示し、図２のステップＳ２０７で行われる画像データの合成処理の一例を説明する図である。
【図１２】本発明の第２の実施形態を示し、デジタルカメラの構成の一例を示したブロック図である。
【図１３】本発明の第２の実施形態を示し、レベル補正部の処理（図２のステップＳ２０４における処理（共通領域のレベル補正処理））の一例を説明するフローチャートである。
【図１４】本発明の実施形態を示し、コンピュータのハードウェアの構成の一例を示す図である。
【符号の説明】
【００９３】
１０１  撮像部
１０２  撮像制御部
１０３  Ａ／Ｄ変換部
１０４、１２０１  画像処理部
１０５  メモリ部
１０６  領域抽出部
１０７、１２０２  レベル補正部
１０８  位置ずれ検出部
１０９  位置補正部
１１０  画像合成部
１１１  画像表示部
１１２  画像記録部
【図１】
2008118555.tif 000004
【図２】
2008118555.tif 000005
【図３】
2008118555.tif 000006
【図４】
2008118555.tif 000007
【図５】
2008118555.tif 000008
【図６】
2008118555.tif 000009
【図７】
2008118555.tif 000010
【図８】
2008118555.tif 000011
【図９】
2008118555.tif 000012
【図１０】
2008118555.tif 000013
【図１１】
2008118555.tif 000014
【図１２】
2008118555.tif 000015
【図１３】
2008118555.tif 000016
【図１４】
2008118555.tif 000017