(57)【要約】  連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法において、前記第１および第２の画像に基づいてノイズパラメータを検出し、前記ノイズパラメータを小さくするシフト量を算出し、前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、前記第１の画像および前記変換画像を合成して合成画像を生成する。
2011021235.tif 000002
【特許請求の範囲】
【請求項１】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像に基づいてノイズパラメータを検出し、
前記ノイズパラメータを小さくするシフト量を算出し、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【請求項２】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像間で画素値の差分の絶対値が閾値よりも大きい領域を検出し、
前記領域を小さくするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項３】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感を低くするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項４】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像の各画素値の差分が閾値よりも大きい領域を検出すると共に、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感が予め決められた閾値よりも低ければ、前記領域を小さくするシフト量を算出し、前記ノイズ感が予め決められた閾値よりも高ければ、前記ノイズ感を低くするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項５】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像間で画素値の差分が閾値よりも大きい領域を検出し、
前記領域を小さくする第１のシフト量を算出し、
前記ノイズパラメータとして、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感を低くする第２のシフト量を算出し、
前記ノイズ感に対応する重みを算出し、
前記第１のシフト量、前記第２のシフト量、前記重みに基づいてシフト量を算出する
ことを特徴とする画像処理方法。
【請求項６】
請求項１〜３のいずれか１つに記載の画像処理方法であって、
前記第１および第２の画像間の位置ずれ平行移動成分を検出し、
前記シフト量は、前記平行移動成分を初期値として算出される
ことを特徴とする画像処理方法。
【請求項７】
請求項１〜３のいずれか１つに記載の画像処理方法であって、
前記シフト量は、前記ノイズパラメータを利用するフィードバック演算で算出されるものであり
前記フィードバック演算の実行回数は、前記撮影の露光時間に応じて決まる
ことを特徴とする画像処理方法。
【請求項８】
請求項１〜３のいずれか１つに記載の画像処理方法であって、
前記シフト量は、前記第１または第２の画像のサイズおよび前記第１および第２の画像間の位置ずれ回転角度の想定される最大値に基づいて決まる範囲内で算出される
ことを特徴とする画像処理方法。
【請求項９】
請求項１〜３のいずれか１つに記載の画像処理方法であって、
前記ノイズパラメータは、画像内の注目領域において検出される
ことを特徴とする画像処理方法。
【請求項１０】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像間で画素値の差分が閾値よりも大きい領域を特定し、
前記特定された領域内の画素について、前記第１および第２の画像間の動きベクトルを算出し、
前記動きベクトルに従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【請求項１１】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理装置であって、
前記第１および第２の画像に基づいてノイズパラメータを検出するノイズパラメータ検出部と、
前記ノイズパラメータを小さくするシフト量を算出するシフト量算出部と、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する画像シフト部と、
前記第１の画像および前記変換画像を合成して合成画像を生成する画像合成部、
を有する画像処理装置。
【請求項１２】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成するために、コンピュータに、
前記第１および第２の画像に基づいてノイズパラメータを検出する手順、
前記ノイズパラメータを小さくするシフト量を算出する手順、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する手順、
前記第１の画像および前記変換画像を合成して合成画像を生成する手順
を実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像を処理する方法および装置に係わり、例えば、複数の画像を利用して電子カメラの手ぶれを補正する方法に適用可能である。
【背景技術】
【０００２】
近年、手ぶれ補正機能を備えた電子カメラが実用化されている。手ぶれ補正機能は、光学技術または画像処理技術により実現される。そして、手ぶれ幅は、露光時間を短くすることにより小さくすることができる。しかし、露光時間が短くなると、光量が不足するので、画像上のノイズが大きくなってしまう。そこで、画像処理による手ぶれ補正は、露光時間を短くすると共に、例えば、連続撮影により得られる複数の画像を、位置合わせをした後に合成することで実現される。【０００３】
手ぶれは、撮影時にカメラが動くことにより発生する。ここで、カメラの動きは、図１に示す６つの要素により定義される。
（１）ＹＡＷ
（２）ＰＩＴＣＨ
（３）左右平行移動
（４）上下平行移動
（５）ＲＯＬＬ
（６）前後平行移動
ただし、カメラがＹＡＷ方向にぶれたときは、画像は、近似的に水平方向にずれることになる。また、カメラがＰＩＴＣＨ方向にぶれたときは、画像は、近似的に垂直方向にずれることになる。したがって、カメラの動き要素と画像のずれ成分との関係は、図２に示すようになる。【０００４】
手ぶれ補正処理では、例えば、連続撮影により得られる２枚の画像（第１および第２の画像）の間でのぶれ量が検出され、そのぶれ量を補償するように第２の画像が変換（例えば、アフィン変換）される。すなわち、位置合わせが行われる。そして、第１の画像および変換後の第２の画像を合成することにより、手ぶれが補正された画像が得られる。【０００５】
アフィン変換では、元画像の各画素の座標が下記（１）式に従って変換される。【０００６】
【数１】
2011021235.tif 000003
ここで、「dx」は水平方向ずれ量であり、「dy」は垂直方向ずれ量である。「θ」はカメラのＲＯＬＬ方向のずれの回転角である。「Ｓ」は、カメラが遠近方向に動くことにより発生する拡大／縮小率である。（x,y）は変換前の画像の座標であり、（x’,y’）は変換後の画像の座標である。アフィン変換による画像変換の例を図３に示す。図３に示す例では、画像は、アフィン変換により、平行移動すると共に、時計方向に回転している。【０００７】
しかし、アフィン変換では、変換前の画像の各画素および変換後の画像の各画素が１対１に対応するわけではない。すなわち、変換後の画像の各画素は、一般に、変換前の画像の複数の画素により表される。例えば、図４に示す例では、変換後の画像の画素Ｅは、変換前の画像の４つの画素Ａ〜Ｄにより表される。【０００８】
ここで、変換後の画素Ｅの画素値として、例えば、画素Ａ〜Ｄの中の１つ（例えば、画素Ｃ）の画素値を使用することができる。しかし、この方法では、画像の輪郭線にジャギーが発生するおそれがある。【０００９】
この問題を解決するためには、例えば、周辺の画素の画素値を利用して補間を行う方法が知られている。ここで、画素値を線形補間することにより変換後の画像が再生される場合、画素Ｅの画素値Ｐは、下式で計算される。
Ｐ＝Ｓa・Ｐa＋Ｓb・Ｐb＋Ｓc・Ｐc＋Ｓd・Ｐd
Ｐa〜Ｐdは、画素Ａ〜Ｄの画素値
Ｓa〜Ｓdは、画素Ｅが画素Ａ〜Ｄ上に占める面積
なお、関連する技術として、下記の画像処理装置が提案されている。すなわち、基準画像と比較画像の多重解像度画像を作成する。解像度の低い画像に対しては、全範囲マッチングを行って、画像間の２次元のずれを検出する。解像度の比較的高い画像に対しては、ブロックマッチングによって、ブロックごとのずれを検出する。最低解像度から順に高解像度に対して、前段階で求めた動きデータを初期値として用いて、その動きデータをより高解像度の画像によって補正することにより、精度の高いものにしていく。（例えば、特許文献１）
また、他の関連する技術として、特許文献２〜４に記載の画像処理方法が提案されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２２６６４３号公報
【特許文献２】特開２０００−２９８３００号公報
【特許文献３】特開２００４−２３４６２３号公報
【特許文献４】特開２００１−２２３９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、アフィン変換では、回転または拡大／縮小による位置ずれを補正するために、全画素に対して複雑な行列演算を行う必要がある。すなわち、アフィン変換は、計算量が多い。また、アフィン変換を行うと、変換後の画像の各画素値がその周辺の画素値を利用して補間される場合、画像がぼけることがある。この場合、合成画像の画質も劣化してしまう。【００１２】
本発明の課題は、複数の画像を利用して合成画像を生成する処理の演算量を少なくすることである。
【課題を解決するための手段】
【００１３】
本発明の１つの態様に係る画像処理方法は、連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する方法であって、前記第１および第２の画像に基づいてノイズパラメータを検出し、前記ノイズパラメータを小さくするシフト量を算出し、前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、前記第１の画像および前記変換画像を合成して合成画像を生成する。
【発明の効果】
【００１４】
開示の装置または方法によれば、複数の画像を利用して合成画像を生成する処理の演算量が少なくなる。
【図面の簡単な説明】
【００１５】
【図１】カメラの動き要素について説明する図である。
【図２】カメラの動き要素と画像のずれ成分との関係をまとめた表である。
【図３】アフィン変換による画像変換の例を示す図である。
【図４】画素値の線形補間について説明する図である。
【図５】手ぶれ補正処理の一例を示すフローチャートである。
【図６】第１の実施形態の画像処理装置の構成を示す図である。
【図７】第１の実施形態の画像合成方法の概要を説明する図である。
【図８】第１の実施形態においてシフト量を算出する手順を示すフローチャートである。
【図９】第２の実施形態の画像処理装置の構成を示す図である。
【図１０Ａ】合成画像のノイズ成分を抽出する方法を説明する図である。
【図１０Ｂ】スムージングフィルタの実施例である。
【図１１】第２の実施形態においてシフト量を算出する手順を示すフローチャートである。
【図１２】第１および第２の実施形態を利用してシフト量を算出する手順を示すフローチャート（その１）である。
【図１３】第１および第２の実施形態を利用してシフト量を算出する手順を示すフローチャート（その２）である。
【図１４】他の実施形態の画像処理方法を示すフローチャート（その１）である。
【図１５】他の実施形態の画像処理方法を示すフローチャート（その２）である。
【図１６】回転成分に応じたシフト量の選択範囲について説明する図である。
【図１７】他の実施形態の画像処理方法を示すフローチャート（その３）である。
【図１８】画像分割の実施例である。
【図１９】画像処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１６】
デジタルカメラ（または、電子カメラ）は、手ぶれの影響を抑えるための機能が要求されることがある。ここで、画像撮影のための露光時間を短くすれば、手ぶれの影響は抑制される。しかし、露光時間が短いと、画像にノイズが生じる。このため、電子的手ぶれ補正では、一般に、ランダムなノイズを抑制するために、連写撮影により得られる複数の画像が合成される。そして、短時間露光撮影と画像合成により、手ぶれの影響が少なく、かつ、ノイズが抑制された、手ぶれ補正画像を得ることができる。
【００１７】
図５は、手ぶれ補正処理の一例を示すフローチャートである。ここでは、連写撮影により得られる２枚の画像を利用して手ぶれが補正されるものとする。
ステップＳ１では、通常よりも露光時間の短い連写撮影により２枚の画像（第１の画像および第２の画像）が生成される。ステップＳ２では、第１の画像に対する第２の画像のずれ量が算出される。ステップＳ３では、算出されたずれ量を補正するように、第２の画像が変換される。そして、ステップＳ４において、第１の画像と変換された第２の画像とが合成される。これにより、手ぶれ補正画像が生成される。
【００１８】
ここで、従来の技術によれば、図５のステップＳ３において、例えばアフィン変換が行われていた。しかし、上述したように、アフィン変換は演算量が多い。これに対して、実施形態の画像処理方法では、図５のステップＳ３において、第２の画像は、単に平行移動される。画像の平行移動は、各画素の座標をシフトするだけで実現されるので、演算量が少ない。以下、実施形態の画像処理装置および画像処理方法について説明する。なお、実施形態の画像処理方法では、図５のステップＳ２は必須の手順ではない。
【００１９】
図６は、第１の実施形態の画像処理装置の構成を示す図である。この画像処理装置は、特に限定されるものではないが、例えば、デジタルカメラ（または、電子カメラ）に搭載される。
【００２０】
画像撮影部１は、例えば、ＣＣＤイメージセンサまたはＣＭＯＳイメージセンサを含んで構成され、デジタル画像を生成する。なお、画像撮影部１は、連写撮影機能を備えている。この実施例では、画像撮影部１は、１回のシャッタ押圧操作により、短い時間内に撮影される複数の画像（第１の画像および第２の画像）を得ることができる。
【００２１】
画像保持部２Ａ、２Ｂは、それぞれ、画像撮影部１により得られる第１の画像および第２の画像を保持する。画像保持部２Ａ、２Ｂは、例えば、半導体メモリである。ここで、第１および第２の画像は、連写撮影により得られた複数の画像の中の任意の２つの画像である。また、第１の画像は、第２の画像よりも先に撮影された画像であってもよいし、第２の画像よりも後に撮影された画像であってもよい。なお、第２の画像が画像シフト部６により変換されたときは、その変換された第２の画像（変換画像）も画像保持部２Ｂに保持される。
【００２２】
差分算出部３は、画像保持部２Ａ、２Ｂにより保持されている１組の画像の差分を算出する。すなわち、差分画像が生成される。このとき、１組の画像の各画素についてそれぞれ画素値の差分が算出される。画素値は、一般に、輝度データおよび色データを含むが、この実施例では、例えば、各画素の輝度データの差分が算出される。
【００２３】
動き領域検出部４は、差分算出部３の演算結果を参照し、画像間の画素値の差分が予め決められた閾値よりも大きい画素を検出する。以下の説明では、画素値の差分が予め決められた閾値よりも大きい領域を「動き領域」と呼ぶことがある。動き領域は、例えば、撮影時の手ぶれによって発生する。ただし、手ぶれが生じたとしても、同じ画素値が一様に広がっている領域（例えば、風景画像の青空が広がっている領域など）は、画像間で対応する画素の画素値は変化しないので、動き領域にはならない。
【００２４】
シフト量選択部５は、第２の画像を変換するためのシフト量（Ｘ方向移動量およびＹ方向移動量）を選択する。ここで、シフト量は、予め決められた範囲内から選択されるようにしてもよい。また、シフト量は、画素を単位として表される。すなわち、シフト量は、水平方向および垂直方向のシフト量を指示する整数（ゼロ、負の値を含む）により表される。
【００２５】
画像シフト部６は、シフト量選択部５により選択されたシフト量に従って、画像保持部２Ｂに保持されている第２の画像の各画素を、水平方向および／または垂直方向にシフトさせる。このシフト処理は、例えば、各画素のアドレスおよび画素値が対応づけられている画像データにおいて、各画素のアドレスを同じ量だけシフトすることによって実現される。例えば、選択されたシフト量が「dx=10、dy=5」であれば、画像シフト部６は、第２の画像の各画素の座標（アドレス）を、Ｘ方向に１０画素分だけシフトさせると共に、Ｙ方向に５画素分だけシフトさせる。
【００２６】
差分算出部３、動き領域検出部４、シフト量選択部５、画像シフト部６は、後で詳しく説明するが、シフト量を変えながら対応する動き領域を検出する。このとき、シフト量決定部７は、動き領域検出部４により検出される動き領域が所定の条件を満たすシフト量を決定する。そして、シフト量決定部７は、動き領域が所定の条件を満たしたときに、画像合成指示を出力する。
【００２７】
画像合成部８は、シフト量決定部７から画像合成指示を受信すると、画像保持部２Ａ、２Ｂに保持されている１組の画像を合成する。このとき、画像保持部２Ａには、第１の画像が保持されている。また、画像保持部２Ｂには、動き領域が所定の条件を満たすようにシフトされた第２の画像が保持されている。すなわち、第１の画像および第２の画像の変換画像が合成される。
【００２８】
なお、上記１組の画像の各画素値（輝度データ、色データを含む）を互いに足し合わせると、合成画像においては、動き領域の像は２重に写ってしまう。すなわち、像がぶれてしまう。このため、画像合成部８は、動き領域については、画素値の足し算を行うことなく、１組の画像のうちの一方（例えば、第１の画像）の画素値を出力する。
【００２９】
図７は、第１の実施形態の画像合成方法の概要を説明する図である。なお、図７（ａ）は、連写撮影により得られた第１の画像または第２の画像のいずれか一方であるものとする。
【００３０】
図７（ｂ）は、手ぶれに起因する第１、第２の画像間の位置ずれを表す図である。手ぶれは、図１に示すように、６つの要素に起因して発生する。ここで、左右平行移動および上下平行移動に起因する位置ずれは、画像上のすべての座標において同じである。また、ＹＡＷおよびＰＩＴＣＨに起因する位置ずれは、近似的に、画像上のすべての座標において同じである。よって、これら４つの要素に起因する位置ずれは、画像上のすべての座標においてほぼ同じである。すなわち、図７（ｂ）において、第１、第２の画像間での画素Ｐ１〜Ｐ４の位置ずれの平行移動成分（左右方向移動、上下方向移動、ＹＡＷ、ＰＩＴＣＨに起因する位置ずれの和）を表す並進ベクトルＴ１〜Ｔ４は、互いにほぼ同じである。
【００３１】
これに対して、ＲＯＬＬに起因して発生する手ぶれの成分（回転成分）は、画像内の座標により異なる。すなわち、画素Ｐ１〜Ｐ４の手ぶれの回転成分を表す回転ベクトルＲ１〜Ｒ４は、互いに異なっている。図７（ｂ）に示す例では、画素Ｐ１が右方向に移動し、画素Ｐ２が下方向に移動し、画素Ｐ３が左方向に移動し、画素Ｐ４が上方向に移動している。なお、前後平行移動に起因する位置ずれも、ＲＯＬＬに起因する位置ずれと同様に、画像内の座標により異なる。ただし、一般に、前後平行移動に起因する位置ずれは、ＲＯＬＬに起因する位置ずれと比較して小さい。よって、ここでは、前後平行移動に起因する位置ずれは無視するものとする。そうすると、画素Ｐ１〜Ｐ４の位置ずれを表すベクトルＳ１〜Ｓ４は、それぞれ、並進ベクトルＴ１〜Ｔ４と回転ベクトルＲ１〜Ｒ４との和である。
【００３２】
実施形態の画像処理方法では、第１および第２の画像を合成するための位置合わせ処理を簡単にするために、画像の平行移動によって位置合わせが実現される。ここで、位置合わせ処理は、例えば、図７（ｂ）に示す並進ベクトルＴ１〜Ｔ４を補償する平行移動処理が考えられる。
【００３３】
図７（ｃ）は、第１の画像と並進ベクトルＴ１〜Ｔ４が補償された第２の画像との差分画像を示している。図７（ｃ）では、これらの１組の画像間での画素値の差分が閾値よりも大きい領域（すなわち、動き領域）が黒色で表されている。この場合、回転成分が補償されていないので、動き領域が大きい。
【００３４】
ここで、上記１組の画像を合成すると、合成画像において、動き領域の像は２重に写ってしまう。すなわち、像がぶれてしまう。このため、上述したように、画像合成部８は、動き領域については、画素値の足し算を行うことなく、１組の画像のうちの一方（たとえば、第１の画像）の画素値を出力する。ただし、一方の画像のみが使用される領域では、画像合成によるノイズ低減効果が得られないので、画質が劣化する（画質を向上させられない）おそれがある。このため、画像合成処理においては、動き領域が少ないことが好ましい。
【００３５】
第１の実施形態の画像処理方法では、動き領域が小さくなるように第２の画像がシフトされ、第１の画像とシフト後の第２の画像とが合成される。ここで、一般に、動き領域が画像全体に均一に分布していることは稀である。例えば、図７（ｃ）に示す例では、画像内の下部領域に動き領域が多く存在している。この場合、画像内の下部領域で発生する画素の位置ずれを補償するように、第２の画像のシフト量が決定される。図７（ｂ）に示す例では、画素Ｐ３の手ぶれベクトルＳ３を補償するように、第２の画像全体に対してシフト処理が行われる。
【００３６】
図７（ｄ）は、第１の画像と、下部領域の位置ずれを補償するようにシフト処理が行われた第２の画像との差分画像を示している。この差分画像では、図７（ｃ）に示す例と比較して、動き領域（黒色で表されている領域）が小さくなっている。このため、画像が合成される領域が大きくなり、合成画像のノイズが少なくなる。なお、図７（ｄ）に示すように、下部領域の位置ずれを補償するようにシフト処理が行われると、上部領域のずれ量は大きくなることがある。しかし、上部領域は、この例では、動き領域が少ない。すなわち、上部領域は、画素値の変化が小さい領域である。このため、第１、第２の画像間での位置ずれが大きくても、合成画像において画質の劣化は認識されにくい。したがって、第１の実施形態の方法により得られる合成画像は、全体として、認識されるノイズが少なくなる。
【００３７】
図８は、第１の実施形態においてシフト量を算出する手順を示すフローチャートである。ここで、シフト量dx、dyは、各画素の座標のシフト量であり、いずれも整数である。なお、シフト処理（平行移動）による座標変換は、下記（２）式で表される。
【００３８】
【数２】
2011021235.tif 000004
「dx」は水平方向シフト量であり、「dy」は垂直方向シフト量である。（x,y）は、変換前の画像の座標であり、（x’,y’）は、変換後の画像の座標である。ただし、第１の実施形態では、（２）式に示す行列演算を行う必要はなく、例えば、各画素のアドレスおよび画素値が対応づけられている画像データにおいて、各画素のアドレスをシフトすることにより実現される。
【００３９】
ステップＳ１１において、画像撮影部１は、連写撮影により、２枚の画像（第１および第２の画像）を取得する。なお、第１および第２の画像は、それぞれ、画像保持部２Ａ、２Ｂに保持される。
【００４０】
ステップＳ１２において、差分算出部３は、第１の画像と第２の画像との差分画像を生成する。そして、動き領域検出部４は、この差分画像において動き領域を検出する。動き領域は、上述したように、画像間の画素値の差分の絶対値が閾値よりも大きい領域である。なお、ステップＳ１２で得られる動き領域は、画像変換が行われる前の１組の画像から得られる初期動き領域であり、以下の説明では、「動き領域Ａ」と呼ぶことにする。
【００４１】
ステップＳ１３において、シフト量選択部５は、シフト量（平行移動量）を計算するための変数dx、dyを初期化する。続いて、ステップＳ１４において、画像シフト部６は、シフト量選択部５により選択されたシフト量dx、dyだけ、第２の画像の各画素の座標をシフトさせる。すなわち、第２の画像に対して平行移動が実行される。そして、座標シフトが行われた第２の画像は、画像保持部２Ｂに書き込まれる。
【００４２】
シフト量選択部５は、予め決められたアルゴリズムに従って、シフト量dx、dyを選択するようにしてもよい。このとき、シフト量選択部５は、ステップＳ１４〜Ｓ１７が繰り返し実行される毎に、順番に、異なるシフト量dx、dyを出力する。下記に順番に選択されるシフト量の一例を示す。
（dx、dy）＝「０，３」→「０，６」→「０，９」→「０，１２」→「０，−３」→「０，−６」→「０，−９」→「０，−１２」→「３，０」→「３，３」→「３，６」→「３，９」→「３，１２」→「３，−３」→「３，−６」→「３，−９」→「３，−１２」．．．「−１２，−１２」
この例では、dxおよびdyは、それぞれ「−１２から＋１２」の範囲から選択される。また、ステップサイズΔdx、Δdyは、それぞれ「３」である。なお、上記範囲およびステップサイズは、例えば、画像のサイズ（すなわち、画素数）に応じて決定されるようにしてもよい。
【００４３】
ステップＳ１５において、差分算出部３は、第１の画像と座標シフトが行われた第２の画像との差分画像を生成する。そして、動き領域検出部４は、この差分画像において動き領域を検出する。なお、以下の説明では、ステップＳ１５で得られる動き領域を「動き領域Ｂ」と呼ぶことにする。
【００４４】
ステップＳ１６において、シフト量決定部７は、動き領域Ａおよび動き領域Ｂの面積を比較する。動き領域Ｂの面積が動き領域Ａの面積よりも大きいときは、ステップＳ１７において、ステップＳ１４〜Ｓ１６の実行回数が所定値に達したか否かがチェックされる。そして、ステップＳ１４〜Ｓ１６の実行回数が所定値に達していなければ、ステップＳ１４に戻る。
【００４５】
動き領域Ｂの面積が動き領域Ａの面積よりも小さければ、シフト量決定部７は、そのときにシフト量選択部５より選択されているシフト量dx、dyを保持する。すなわち、シフト量dx、dyが決定される。ここで、動き領域Ｂが動き領域Ａよりも小さい状態は、第２の画像をシフトさせることにより、新たな動き領域が初期動き領域よりも小さくなったことを意味する。このように、第１の実施形態の方法では、動き領域を小さくするように、第２の画像のシフト量が決定される。なお、以下の説明では、第１の実施形態の画像処理方法で得られるシフト量を「dx1、dy1」と呼ぶことがある。
【００４６】
シフト量決定部７は、シフト量dx、dyを決定すると、画像合成指示を出力する。そして、画像合成部８は、画像合成指示を受信すると、画像保持部２Ａ、２Ｂに保持されている１組の画像を合成する。このとき、画像保持部２Ａには、第１の画像が保持されている。また、画像保持部２Ｂには、ステップＳ１１〜１８において算出されたシフト量dx、dyだけシフトされた第２の画像が保持されている。すなわち、第１の画像およびシフトされた第２の画像が合成される。
【００４７】
このように、第１の実施形態の画像処理方法においては、第１および第２の画像間の動き領域が小さくなるように第２に画像が変換され、第１の画像および変換された第２の画像が合成される。このとき、第２の画像の変換は、各画素の座標を画素単位でシフトするだけで実現される。したがって、少ない演算量で画像合成が実現され、手ぶれが補正される。
【００４８】
なお、合成画像のノイズは、上述したように、第１および第２の画像間の動き領域の大きさに依存する。すなわち、動き領域の大きさは、合成画像のノイズを表す指標である。したがって、図６に示す差分算出部３および動き領域検出部４は、ノイズパラメータを検出するノイズパラメータ検出部として動作する。また、シフト量選択部５およびシフト量決定部７は、ノイズパラメータ検出部により検出されたノイズパラメータを小さくするようにシフト量を算出するシフト量算出部として動作する。
【００４９】
図９は、第２の実施形態の画像処理装置の構成を示す図である。第２の実施形態の画像処理装置において、画像撮影部１、画像保持部２Ａ、２Ｂ、シフト量選択部５、画像シフト部６、画像合成部８は、基本的に、第１の実施形態と同じである。
【００５０】
ノイズ算出部１１は、画像合成部８により生成される合成画像のノイズ感を算出する。ノイズ感は、合成画像のノイズ成分を抽出することにより算出される。ノイズ成分は、下式により算出される。
ノイズ成分＝元画像−元画像のぼかし画像
ノイズ感は、例えば、各画素について算出されるノイズ成分の総和である。この場合、ノイズ感が高い状態は、元画像と元画像のぼかし画像との差分（すなわち、ノイズ成分）が大きく、ノイズ成分の総和が大きい状態に相当する。また、ノイズ間が低い状態は、元画像と元画像のぼかし画像との差分（すなわち、ノイズ成分）が小さく、ノイズ成分の総和が小さい状態に相当する。ただし、ノイズ感は、この例に限定されるものではなく、他のパラメータで表されてもよい。
【００５１】
図１０Ａは、合成画像のノイズ成分を抽出する方法を説明する図である。図１０Ａに示すように、ぼかし画像は、合成画像に対してスムージングフィルタ演算を実行することにより生成される。スムージングフィルタは、例えば、図１０Ｂに示す演算により実現される。さらに、元画像とスムージングフィルタ演算を施した後のぼかし画像との間で各画素値の差分が計算される。そして、合成画像のノイズ成分は、各画素値の差分の絶対値の総和を計算することにより得られる。
【００５２】
シフト量決定部１２は、ノイズ算出部１１により算出されるノイズ感が所定の条件を満たすシフト量を決定する。そして、シフト量決定部１２は、ノイズ感が所定の条件を満たしたときに、画像合成指示を出力する。
【００５３】
スイッチ１３は、シフト量決定部１２から画像合成指示を受信すると、画像合成部８により生成された合成画像を出力する。すなわち、合成画像のノイズ感が所定の条件を満たしたときに、その合成画像が出力される。
【００５４】
図１１は、第２の実施形態においてシフト量を算出する手順を示すフローチャートである。第２の実施形態においても、シフト量dx、dyが算出される。また、第２の実施形態の手順は、基本的には、第１の実施形態と同じである。ただし、第１の実施形態では動き領域の面積に基づいてシフト量が算出されたが、第２の実施形態ではノイズ感に基づいてシフト量が算出される。
【００５５】
ステップＳ２１において、画像撮影部１は、連写撮影により２枚の画像（第１および第２の画像）を取得する。ステップＳ２２において、ノイズ算出部１１は、第１および第２の画像の合成画像のノイズ感を算出する。なお、以下の説明では、ステップＳ２２で得られるノイズ感のことを「ノイズ感Ｃ」と呼ぶことにする。
【００５６】
ステップＳ２３、Ｓ２４は、第１の実施形態のステップＳ１３、Ｓ１４と同じである。すなわち、ステップＳ２３では、シフト量dx、dyが初期化される。また、ステップＳ２４では、シフト量選択部５により選択されたシフト量dx、dyだけ、第２の画像に対して座標シフトが実行される。このとき、画像合成部８は、第１の画像と座標シフトが行われた第２の画像との合成画像を生成する。
【００５７】
ステップＳ２５において、新たに生成された合成画像のノイズ感を算出する。なお、以下の説明では、ステップＳ２５で得られるノイズ感を「ノイズ感Ｄ」と呼ぶことにする。
ステップＳ２６において、シフト量決定部１２は、ノイズ感Ｃおよびノイズ感Ｄを比較する。そして、ノイズ感Ｄがノイズ感Ｃよりも多ければ、ステップＳ２７において、ステップＳ２４〜Ｓ２６の実行回数が所定値に達したか否かがチェックされる。そして、ステップＳ２４〜Ｓ２６の実行回数が所定値に達していなければ、ステップＳ２４に戻る。
【００５８】
ノイズ感Ｄがノイズ感Ｃよりも少なければ、シフト量決定部１２は、そのときシフト量選択部５より選択されているシフト量dx、dyを保持する。すなわち、第２の画像を変換するためのシフト量dx、dyが決定される。ここで、ノイズ感Ｄがノイズ感Ｃよりも少ない状態は、第２の画像を平行移動することにより、合成画像のノイズが低減したことを意味する。このように、第２の実施形態の方法においては、ノイズ感を少なくするように、第２の画像のシフト量が決定される。なお、以下の説明では、第２の実施形態の画像処理方法で得られるシフト量を「dx2、dy2」と呼ぶことがある。
【００５９】
シフト量決定部１２は、シフト量dx、dyを決定すると、画像合成指示を出力する。そうすると、スイッチ１３は、画像合成部８により生成された合成画像を出力する。このとき、画像合成部８は、ノイズ感が少ない合成画像を生成している。したがって、ノイズ感が少ない合成画像が生成されることになる。
【００６０】
このように、第２の実施形態の画像処理方法においては、第１および第２の画像の合成画像のノイズ感が少なくなるように第２の画像が変換され、第１画像および変換された第２の画像が合成される。このとき、第２の画像の変換は、各画素の座標をシフトするだけで実現される。したがって、少ない演算量で画像合成が実現され、手ぶれが補正される。
【００６１】
なお、上記構成の画像処理装置において、ノイズ算出部１１は、ノイズパラメータを検出するノイズパラメータ検出部として動作する。また、シフト量選択部５およびシフト量決定部１２は、ノイズパラメータ検出部により検出されたノイズパラメータ（第２の実施形態では、ノイズ感）を小さくするようにシフト量を算出するシフト量算出部として動作する。
【００６２】
ところで、画像のノイズは、画像内の画素値の変動が大きい領域よりも、画素値の変動が緩やかな領域の方が目立つ、という性質を有する。この性質は、画素値の変動が大きいと、ノイズが画素値の変動に埋もれ、人間の目がノイズの濃淡を判別しにくくなるためである。したがって、ぼかし画像の階調変動が大きい領域（元画像の画素値変動が大きい領域）の重みを小さくし、階調変動の小さい領域の重みを大きくすることで、下式により画像のノイズ感Ｎrを数値化することができる。
ノイズ感Ｎr＝ΣΣｋx,y ×ｗ[s]
ｘ：画像内の水平方向座標
ｙ：画像内の垂直方向座標
ｋx,y ：座標（x,y）の動き領域判定結果（１：動き領域、０：非動き領域）
ｗ[s] ：階調変動ｓに対する重み係数（例えば、ｗ[0]＝１、ｗ[1]＝２）
ここで、階調変動ｓは、この実施例では、パラメータＪが閾値よりも大きいときに「１」であり、パラメータＪが閾値以下のときに「０」である。
Ｊ＝abs{Y(x,y-1)−Y(x,y)}＋abs{Y(x-1,y)−Y(x,y)}＋abs{Y(x+1,y)−Y(x,y)}＋abs{Y(x,y+1)−Y(x,y)}
ここで、「abs{}」は、絶対値を算出する関数である。また、「Y(i,j)」は、ぼかし画像の座標（i,j）における輝度値である。
【００６３】
上記演算によれば、非動き領域は、ｋx,y がゼロなので、各画素のノイズ指標もゼロである。一方、動き領域のノイズ指標は、階調変動ｓに依存する。すなわち、階調変動ｓが閾値Ｎthよりも大きい領域に属する画素のノイズ指標は「１」であり、階調変動ｓが閾値Ｎth以下の領域に属する画素のノイズ指標は「２」である。そして、ノイズ感Ｎrは、各画素のノイズ指標の総和を計算することにより得られる。図１１に示すフローチャートのステップＳ２２およびＳ２５では、このノイズ感Ｎrを算出するようにしてもよい。
【００６４】
図１２は、第１および第２の実施形態を利用してシフト量を算出する手順を示すフローチャートである。
ステップＳ３１では、図８に示すフローチャートの処理が実行される。すなわち、シフト量dx1、dy1が算出される。ステップＳ３２では、図１１に示すフローチャートの処理が実行される。すなわち、シフト量dx2、dy2、およびノイズ感Ｄが算出される。
【００６５】
ステップＳ３３においては、ノイズ感Ｄおよび閾値Ｎthが比較される。ここで、ノイズ感Ｄは、第１の画像とシフトされた第２の画像との合成画像のノイズ感を表す。そして、ノイズ感Ｄが閾値Ｎthよりも多いときは、ステップＳ３４において、シフト量dx2、dy2が出力される。この場合、第２の画像はシフト量dx2、dy2だけシフトされ、第１の画像とシフトされた第２の画像との合成画像が生成される。一方、ノイズ感Ｄが閾値Ｎth以下であれば、ステップＳ３５において、シフト量dx1、dy1が出力される。この場合、第２の画像はシフト量dx1、dy1だけシフトされ、第１の画像とシフトされた第２の画像との合成画像が生成される。
【００６６】
上記手順によれば、ノイズ感が多い画像においては、ノイズ感の低減が実現されるように画像シフトが行われる。また、ノイズ感が少ない画像では、動き領域の低減が実現されるように（すなわち、合成される面積が大きくなるように）画像シフトが行われる。すなわち、画像の性質に応じて画像合成方法が選択される。したがって、手ぶれ補正の精度が向上する。
【００６７】
図１３は、第１および第２の実施形態を利用してシフト量を算出する他の手順を示すフローチャートである。なお、ステップＳ３１、Ｓ３２は、図１２を参照しながら説明した通りである。
【００６８】
ステップＳ３６では、ノイズ感Ｄに基づいて重み係数Ｗが算出される。重み係数Ｗは、例えば、下記のように決定される。
（１）ノイズ感Ｎrが閾値Ｎthよりも大きいときは、Ｗ＝１
（２）ノイズ感Ｎrが閾値Ｎth以下であるときは、Ｗ＝Ｎr／Ｎth
そして、ステップＳ３７において、ステップＳ３１で得られるシフト量dx1、dy1、ステップＳ３２で得られるシフト量dx2、dy2、およびステップＳ３６で得られる重み係数Ｗに基づいて、第２の画像の変換画像を生成するためのシフト量dx、dyを算出する。シフト量dx、dyの算出は、例えば、下式に従う。
dx＝dx1×(1−W)＋dx2×Ｗ
dy＝dy1×(1−Ｗ)＋dy2×W
このように、図１３に示す手順では、ノイズ感が少ないときには、動き領域およびノイズ感の双方に基づいて、第２の画像のシフト量が決定される。すなわち、この手順によっても、画像の性質に応じて画像合成方法が選択される。したがって、手ぶれ補正の精度が向上する。
【００６９】
なお、図８に示すフローチャートでは、動き領域を小さくするシフト量が算出されたときに、そのシフト量で第２の画像がシフトされる。また、図１１に示すフローチャートでは、ノイズ感を少なくするシフト量が算出されたときに、そのシフト量で第２の画像がシフトされる。しかし、第１および第２の実施形態に係る方法は、この手順に限定されるものではない。すなわち、第１の実施形態の方法は、例えば、動き領域を最小化するシフト量を算出し、そのシフト量で第２の画像がシフトされるようにしてもよい。同様に、第２の実施形態の方法は、例えば、ノイズ感を最小化するシフト量を算出し、そのシフト量で第２の画像がシフトされるようにしてもよい。
【００７０】
また、上述の実施例では、２枚の入力画像が合成されているが、実施形態の画像処理装置は、３枚以上の画像を利用して合成画像を生成することもできる。例えば、第１〜第３の画像が入力され、第１の画像が基準画像であるものとする。この場合、第２の画像および第３の画像それぞれについて座標シフトによる画像変換が行われる。そして、画像合成部８は、第１の画像、変換後の第２の画像、変換後の第３の画像を合成する。あるいは、画像合成部８は、変換後の第２の画像および変換後の第３の画像を合成するようにしてもよい。
【００７１】
さらに、図６または図９に示す画像処理装置は、ハードウェア回路で実現することができる。あるいは、この画像処理装置の一部の機能をソフトウェアで実現するようにしてもよい。例えば、差分算出部３、動き領域検出部４、シフト量選択部５、画像シフト部６、シフト量決定部７、画像合成部８、ノイズ算出部１１、シフト量決定部１２、スイッチ１３の一部または全部がソフトウェアで実現されるようにしてもよい。
【００７２】
＜他の実施形態１＞
図１４は、他の実施形態の画像処理方法を示すフローチャートである。この画像処理方法では、まず、第１および第２の画像間の手ぶれの平行移動成分（左右方向移動、上下方向移動、ＹＡＷ、ＰＩＴＣＨに起因する位置ずれの和）が算出される。そして、第２の画像のシフト量は、画像間の手ぶれの平行移動成分を初期値として算出される。
【００７３】
ステップＳ４１では、第１および第２の画像が取得される。ステップＳ４２では、第１の画像の特徴点が抽出される。このとき、複数の特徴点が抽出される。ステップＳ４３では、第２の画像において特徴点追跡が行われる。上記ステップＳ４１〜Ｓ４３により、第１および第２の画像間のずれ量が算出される。画像間のずれ量は、特に限定されるものではないが、例えば下記の手順で算出されるようにしてもよい。
（１）画像保持部２Ａに保持されている第１の画像において、各画素の特徴量がそれぞれ算出される。各画素の特徴量は、例えば、ＫＬＴ法またはモラベックオペレータにより算出される。そして、予め決められている閾値レベルよりも大きな特徴量を有する１または複数の画素が、特徴点として抽出される。このとき、複数の特徴点が抽出されることが好ましい。
（２）画像保持部２Ｂに保持されている第２の画像において、第１の画像から抽出された各特徴点がそれぞれ探索される。
（３）第１および第２の画像間で、対応する特徴点の移動量（動きベクトル）が算出される。
（４）各特徴点の移動量に基づいて、２枚の画像間の位置ずれの平行移動量（dx,dy）、回転角（θ）、拡大／縮小率Ｓが算出される。なお、平行移動量は、画素を単位として表される。
【００７４】
ステップＳ４４では、変数dxの初期値として、各特徴点のＸ方向移動量の平均が設定される。また、変数dyの初期値として、各特徴点のＹ方向移動量の平均が設定される。ステップＳ４５では、ステップＳ４４で設定されたdx、dyで第２の画像に対して座標シフトが行われる。そして、ステップＳ４６において、第１の画像と座標シフトされた第２の画像との間の動き領域（動き領域Ａ）が検出される。
【００７５】
ステップＳ４７〜Ｓ５１は、基本的に、図８に示すステップＳ１４〜Ｓ１８と同じである。すなわち、動き領域Ｂが検出され、動き領域Ａ、Ｂが比較される。そして、動き領域Ｂが動き領域Ａよりも小さくなると、その時点で選択されているシフト量が出力される。
【００７６】
この手順によれば、第１および第２の画像間の位置ずれのうち、平行移動成分が初期値として設定されるので、動き領域を小さくするシフト量を算出するための処理量が少なくなる。例えば、シフト量の選択範囲が「−１２」から「＋１２」であり、画像間の位置ずれの平行移動成分が「Ｘ方向：＋９、Ｙ方向：＋６」であるものとする。この場合、例えば、シフト量dxの選択範囲は「＋６」から「＋１２」とすることができ、また、シフト量dyの選択範囲は「＋３」から「＋９」とすることができる。
【００７７】
このように、図１４に示す手順においても、第２の画像の座標をシフトするだけで画像合成のための変換画像が生成される。このとき、第２の画像のシフト量は、手ぶれの回転成分および拡大／縮小成分も含んでいる。したがって、画像間の位置ずれの平行移動成分のみを補償する方法よりも、合成画像の画質が向上する。
【００７８】
＜他の実施形態２＞
図１４は、さらに他の実施形態の画像処理方法を示すフローチャートである。この方法では、カメラ（画像撮影部１）の露光時間を考慮して画像処理が行われる。なお、露光時間は、カメラにより自動的に決定されてもよいし、ユーザにより指定されてもよい。
【００７９】
ステップＳ６１では、画像撮影部１の露光時間に従って、実行回数Ｎが決定される。実行回数Ｎは、ステップＳ６５〜Ｓ６８を実行する回数である。ステップＳ６２では、第１および第２の画像が取得される。ステップＳ６３では、第１および第２の画像間の動き領域の面積dMinが算出される。動き領域の面積は、例えば、第１および第２の画像間で画素値の差分が閾値よりも大きい画素の個数に相当する。なお、dMinは、以下の処理においては、より小さい動き領域をサーチするための変数として使用される。ステップＳ６４では、シフト量を算出するための変数dx、dyが初期化される。
【００８０】
ステップＳ６５では、図８のステップＳ１４と同様に、シフト量選択部５により選択されたシフト量で第２の画像がシフトされる。ステップＳ６６では、第１画像とシフトされた第２の画像との間の動き領域の面積d’が算出される。ステップＳ６７では、面積dMinと面積d’とが比較される。
【００８１】
面積d’が面積dMinよりも小さければ、ステップＳ６８において、変数として使用されているdMinにd’が代入される。また、変数dx1、dy1に、ステップＳ６５で選択されたシフト量dx、dyが代入される。なお、面積d’が面積dMin以上であれば、ステップＳ６８はスキップされる。
【００８２】
ステップＳ６９では、ステップＳ６５〜Ｓ６８の実行回数が「Ｎ」に達したか否かがチェックされる。「Ｎ」は、ステップＳ６１において、画像撮影部１の露光時間に応じて決定されている。そして、実行回数が「Ｎ」に達すると、適切なシフト量をサーチする処理を終了する。
【００８３】
このように、図１５に示す方法では、露光時間に応じて決まる実行回数内で、動き領域を最小にするようなシフト量dx、dyが算出される。ここで、露光時間が長いときは、一般に、第１および第２の画像間の位置ずれが大きくなる。したがって、露光時間が長いときは、ステップＳ６５〜Ｓ６８の実行回数を多くすることにより、広い選択範囲から適切なシフト量を得ることができる。一方、露光時間が短いときは、一般に、第１および第２の画像間の位置ずれが小さいので、適切なシフト量も小さくなるはずである。よって、ステップＳ６５〜Ｓ６８の実行回数を少なくしても、適切なシフト量が得られる。これにより、演算量を少なくすることができる。
【００８４】
＜他の実施形態３＞
シフト量を選択する範囲は、カメラの回転または前後方向移動に起因する位置ずれに応じて決定される。例えば、撮影される画像の画素数がHeight×Widthであり、撮影時に想定されるカメラの回転角の最大値がθであるものとする。この場合、図１６に示すように、カメラの回転を補償するための横方向シフト量は「−Height×sin（θ／２）」から「＋Height×sin（θ／２）」の範囲内に存在する。また、カメラの回転を補償するための縦方向シフト量は「−Width×sin（θ／２）」から「＋Width×sin（θ／２）」の範囲内に存在する。したがって、第１および第２の画像を合成する際に、上記範囲内で選択されるシフト量で第２の画像を変換するようにすれば、演算量が少なくなる。なお、シフト量の選択範囲を限定することで演算量を少なくする方法は、カメラの前後方向移動に起因するずれ成分を補償する場合にも有効である。以下、図１７を参照しながら、カメラの回転または前後方向移動に応じて制限された範囲内でシフト量を算出する方法について説明する。
【００８５】
ステップＳ７１では、第１および第２の画像が取得される。ステップＳ７２では、シフト量の選択範囲が指定される。この例では、横方向のシフト量の範囲は−dx0〜＋dx0であり、縦方向のシフト量の範囲は−dy0〜＋dy0である。これらの範囲は、例えば、図１６を参照しながら説明した方法で決定される。また、dx0、dy0は、整数である。
【００８６】
ステップＳ７３では、第１および第２の画像間の動き領域の面積dMinが算出される。dMinは、以下の処理においては、最小の動き領域をサーチするための変数として使用される。ステップＳ７４では、シフト量を算出するための変数を初期化する。初期値としては、各範囲の最小値が与えられる。
【００８７】
ステップＳ７５〜Ｓ７８の処理は、基本的に、図１５に示すステップＳ６５〜Ｓ６８と同じである。ただし、ここでは、dyが固定された状態で、dxについて演算が行われる。すなわち、選択されたシフト量で第２の画像がシフトされ、第１画像とシフトされた第２の画像との間の動き領域の面積d’が算出され、面積dMinと面積d’とが比較される。そして、面積d’が面積dMinよりも小さければ、変数dMinにd’が代入される。また、変数dx1に、ステップＳ７５で選択されたシフト量dxが代入される。なお、面積d’が面積dMin以上であれば、ステップＳ６８はスキップされる。
【００８８】
ステップＳ７９は、縦方向シフト量を固定した状態で、横方向シフト量を「−dx」から「＋dx」までスキャンするために設けられている。また、ステップＳ８０、Ｓ８１は、横方向シフト量を固定した状態で、縦方向シフト量を「−dy」から「＋dy」までスキャンするために設けられている。
【００８９】
このように、図１７に示す方法では、初期値として設定された範囲内で動き領域が最小になるシフト量が算出される。そして、第２の画像がそのシフト量で変換され、第１の画像と変換された第２の画像の合成画像が生成される。したがって、合成画像を生成する際に、合成される領域の面積が最大になり、ノイズが最小化される。なお、図１４および図１７に示す方法を組み合わせて実行することができる。すなわち、カメラの手ぶれに起因する画像間の位置ずれの平行移動成分に基づいてシフト量dx、dyの初期値を設定し、且つ、カメラの回転角の最大値に応じてシフト量の選択範囲を設定するようにしてもよい。
【００９０】
なお、上述した３つの実施形態（他の実施形態１〜３）の説明では、動き領域を小さくするシフト量が算出されているが、いずれの実施形態においても、ノイズ感を少なくするようにシフト量が算出されてもよい。
【００９１】
＜他の実施形態４＞
複数の画像を合成することで手ぶれを補正する画像処理方法では、動き領域の多い領域またはノイズ感の強い領域において画質が劣化しやすい。このため、この実施形態では、まず、注目領域として、動き領域の多い領域またはノイズ感の強い領域が抽出される。そして、その注目領域に対して図８、図１１〜図１５、図１７に示すフローチャートの処理が実行される。この方法によれば、少ない演算量で高画質な合成画像を作成することができる。
【００９２】
注目領域は、例えば、画像を複数のブロックに分割し、各ブロックにおいて動き領域の面積またはノイズ感を算出することにより決定される。図１８（ａ）では画像が上ブロックおよび下ブロックに分割されている。図１８（ｂ）では画像が右ブロックおよび左ブロックに分割されている。図１８（ｃ）では画像が４つのブロックに分割されている。このとき、動き領域の面積が最大のブロックまたはノイズ感が最も強いブロックが注目領域として選択される。あるいは、動き領域の面積またはノイズ感が閾値レベルを超えているブロックが注目領域として選択されるようにしてもよい。
【００９３】
なお、１枚の画像に対して１つのシフト量が算出されてもよいし、ブロック毎にそれぞれシフト量が算出されるようにしてもよい。
また、上述のようにして注目領域が検出される方法では、以下の手順で合成画像を生成するようにしてもよい。
（１）第１および第２の画像間で画素値の差分が閾値よりも大きい領域を特定する。
（２）特定された領域内の画素について、第１および第２の画像間の動きベクトルを算出する。
（３）算出した動きベクトルに従って、第２の画像の各画素の座標をシフトすることにより変換画像を生成する。
（４）第１の画像および変換画像を合成して合成画像を生成する。
【００９４】
＜各実施形態の共通の事項＞
図６〜図１８を参照しながら説明した各実施形態においては、第１および第２の画像に基づいてノイズパラメータが検出される。ここで、ノイズパラメータは、例えば、第１の実施形態では、第１および第２の画像間での動き領域の面積に相当する。第２の実施形態では、ノイズパラメータは、ノイズ感に相当する。
【００９５】
また、各実施形態においては、ノイズパラメータを小さくするシフト量が算出される。ここで、ノイズパラメータを小さくする処理は、少なくとも下記の３つのアルゴリズムの中から選ぶことができる。
（１）第１の画像と変換された第２の画像との合成画像のノイズパラメータが、第１および第２の画像がそのまま合成される場合のノイズパラメータと比較して小さくなった時点で演算を終了する
（２）ノイズパラメータを最小化する
（３）所定の演算回数の中でノイズパラメータを最小化する
さらに、各実施形態の画像処理方法は、手ぶれ補正だけでなく、他の画像合成技術にも適用可能である。例えば、各実施形態の方法は、モザイキング処理に適用することもできる。
【００９６】
また、上述した各実施形態は、処理内容に矛盾の無い限りにおいて、互いに組み合わせることが可能である。
＜ハードウェア構成＞
図１９は、各実施形態の画像処理装置（あるいは、画像処理方法を実行するコンピュータ）のハードウェア構成を示す図である。図１９において、ＣＰＵ１０１は、メモリ１０３を利用して画像処理プログラムを実行する。記憶装置１０２は、画像処理プログラムを格納する。なお、記憶装置１０２は、外部記録装置であってもよい。メモリ１０３は、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含んで構成される。
【００９７】
読み取り装置１０４は、ＣＰＵ１０１の指示に従って可搬型記録媒体１０５にアクセスする。可搬型記録媒体１０５は、例えば、半導体デバイス（ＰＣカード等）、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース１０６は、ＣＰＵ１０１の指示に従って、ネットワークを介してデータを送受信する。入出力装置１０７は、この実施例では、カメラ、表示装置、ユーザからの指示を受け付けるデバイス等に相当する。
【００９８】
実施形態に係わる画像処理プログラムは、例えば、下記の形態で提供される。
（１）記憶装置１０２に予めインストールされている。
（２）可搬型記録媒体１０５により提供される。
（３）プログラムサーバ１１０からダウンロードする。
そして、上記構成のコンピュータで画像処理プログラムを実行することにより、実施形態に係わる画像処理装置が実現される。
【図１】
2011021235.tif 000005
【図２】
2011021235.tif 000006
【図３】
2011021235.tif 000007
【図４】
2011021235.tif 000008
【図５】
2011021235.tif 000009
【図６】
2011021235.tif 000010
【図７】
2011021235.tif 000011
【図８】
2011021235.tif 000012
【図９】
2011021235.tif 000013
【図１０Ａ】
2011021235.tif 000014
【図１０Ｂ】
2011021235.tif 000015
【図１１】
2011021235.tif 000016
【図１２】
2011021235.tif 000017
【図１３】
2011021235.tif 000018
【図１４】
2011021235.tif 000019
【図１５】
2011021235.tif 000020
【図１６】
2011021235.tif 000021
【図１７】
2011021235.tif 000022
【図１８】
2011021235.tif 000023
【図１９】
2011021235.tif 000024
【手続補正書】
【提出日】平成24年1月16日(2012.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像に基づいてノイズパラメータを検出し、
前記ノイズパラメータを小さくするシフト量を算出し、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【請求項２】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像間で画素値の差分の絶対値が閾値よりも大きい領域を検出し、
前記領域を小さくするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項３】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感を低くするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項４】
請求項１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像の各画素値の差分が閾値よりも大きい領域を検出すると共に、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感が予め決められた閾値よりも低ければ、前記領域を小さくするシフト量を算出し、前記ノイズ感が予め決められた閾値よりも高ければ、前記ノイズ感を低くするシフト量を算出する
ことを特徴とする画像処理方法。
【請求項５】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理装置であって、
前記第１および第２の画像に基づいてノイズパラメータを検出するノイズパラメータ検出部と、
前記ノイズパラメータを小さくするシフト量を算出するシフト量算出部と、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する画像シフト部と、
前記第１の画像および前記変換画像を合成して合成画像を生成する画像合成部、
を有する画像処理装置。
【請求項６】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成するために、コンピュータに、
前記第１および第２の画像に基づいてノイズパラメータを検出する手順、
前記ノイズパラメータを小さくするシフト量を算出する手順、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する手順、
前記第１の画像および前記変換画像を合成して合成画像を生成する手順
を実行させる画像処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
実施形態に係わる画像処理プログラムは、例えば、下記の形態で提供される。
（１）記憶装置１０２に予めインストールされている。
（２）可搬型記録媒体１０５により提供される。
（３）プログラムサーバ１１０からダウンロードする。
そして、上記構成のコンピュータで画像処理プログラムを実行することにより、実施形態に係わる画像処理装置が実現される。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
＜付記１＞
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像に基づいてノイズパラメータを検出し、
前記ノイズパラメータを小さくするシフト量を算出し、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
＜付記２＞
付記１に記載の画像処理方法であって、
前記ノイズパラメータとして、前記第１および第２の画像間で画素値の差分が閾値よりも大きい領域を検出し、
前記領域を小さくする第１のシフト量を算出し、
前記ノイズパラメータとして、前記第１および第２の画像の合成画像のノイズ感を算出し、
前記ノイズ感を低くする第２のシフト量を算出し、
前記ノイズ感に対応する重みを算出し、
前記第１のシフト量、前記第２のシフト量、前記重みに基づいてシフト量を算出する
ことを特徴とする画像処理方法。
＜付記３＞
付記１に記載の画像処理方法であって、
前記第１および第２の画像間の位置ずれ平行移動成分を検出し、
前記シフト量は、前記平行移動成分を初期値として算出される
ことを特徴とする画像処理方法。
＜付記４＞
付記１に記載の画像処理方法であって、
前記シフト量は、前記ノイズパラメータを利用するフィードバック演算で算出されるものであり
前記フィードバック演算の実行回数は、前記撮影の露光時間に応じて決まる
ことを特徴とする画像処理方法。
＜付記５＞
付記１に記載の画像処理方法であって、
前記シフト量は、前記第１または第２の画像のサイズおよび前記第１および第２の画像間の位置ずれ回転角度の想定される最大値に基づいて決まる範囲内で算出される
ことを特徴とする画像処理方法。
＜付記６＞
付記１に記載の画像処理方法であって、
前記ノイズパラメータは、画像内の注目領域において検出される
ことを特徴とする画像処理方法。
＜付記７＞
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像間で画素値の差分が閾値よりも大きい領域を特定し、
前記特定された領域内の画素について、前記第１および第２の画像間の動きベクトルを算出し、
前記動きベクトルに従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【手続補正書】
【提出日】平成24年10月15日(2012.10.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理装置であって、
前記第１および第２の画像に基づいて、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出するノイズパラメータ算出部と、
前記ノイズパラメータによって表される前記ノイズ感を低くするシフト量を算出するシフト量算出部と、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する画像シフト部と、
前記第１の画像および前記変換画像を合成して合成画像を生成する画像合成部、
を有する画像処理装置。
【請求項２】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理装置であって、
前記第１および第２の画像に基づいて、前記第１および第２の画像の各画素値の差分が閾値よりも大きい領域を検出すると共に、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出するノイズパラメータ算出部と、
前記ノイズ感が予め決められた閾値よりも低ければ、前記領域を小さくするシフト量を算出し、前記ノイズ感が予め決められた閾値よりも高ければ、前記ノイズ感を低くするシフト量を算出するシフト量算出部と、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する画像シフト部と、
前記第１の画像および前記変換画像を合成して合成画像を生成する画像合成部、
を有する画像処理装置。
【請求項３】
前記第１および第２の画像間の位置ずれ平行移動成分を検出する手段をさらに有し、
前記シフト量算出部は、前記平行移動成分を初期値として前記シフト量を算出する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記シフト量算出部は、前記ノイズパラメータを利用するフィードバック演算を、前記撮影の露光時間に応じて決まる回数だけ実行することにより、前記シフト量を算出する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記シフト量算出部は、前記第１または第２の画像のサイズおよび前記第１および第２の画像間の位置ずれ回転角度の想定される最大値に基づいて決まる範囲内で前記シフト量を算出する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項６】
前記ノイズパラメータ算出部は、画像内の注目領域において前記ノイズパラメータを算出する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項７】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像に基づいて、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出し、
前記ノイズパラメータによって表される前記ノイズ感を低くするシフト量を算出し、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【請求項８】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成する画像処理方法であって、
前記第１および第２の画像に基づいて、前記第１および第２の画像の各画素値の差分が閾値よりも大きい領域を検出すると共に、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出し、
前記ノイズ感が予め決められた閾値よりも低ければ、前記領域を小さくするシフト量を算出し、前記ノイズ感が予め決められた閾値よりも高ければ、前記ノイズ感を低くするシフト量を算出し、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成し、
前記第１の画像および前記変換画像を合成して合成画像を生成する
画像処理方法。
【請求項９】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成するために、コンピュータに、
前記第１および第２の画像に基づいて、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出する手順、
前記ノイズパラメータによって表される前記ノイズ感を低くするシフト量を算出する手順、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する手順、
前記第１の画像および前記変換画像を合成して合成画像を生成する手順
を実行させる画像処理プログラム。
【請求項１０】
連続撮影により得られる複数の画像の中の第１および第２の画像から合成画像を生成するために、コンピュータに、
前記第１および第２の画像に基づいて、前記第１および第２の画像の各画素値の差分が閾値よりも大きい領域を検出すると共に、前記第１および第２の画像の合成画像のノイズ感を表すノイズパラメータを算出する手順、
前記ノイズ感が予め決められた閾値よりも低ければ、前記領域を小さくするシフト量を算出し、前記ノイズ感が予め決められた閾値よりも高ければ、前記ノイズ感を低くするシフト量を算出する手順、
前記シフト量に従って前記第２の画像の各画素の座標をシフトすることにより変換画像を生成する手順、
前記第１の画像および前記変換画像を合成して合成画像を生成する手順
を実行させる画像処理プログラム。
【国際調査報告】
2011021235.tif 000025
2011021235.tif 000026