(57)【要約】【課題】画像のブレに対する信頼度に応じて動きベクトルを演算処理し、高精度に画像のブレを演算および補正できること。【解決手段】撮像装置１は、画像信号を処理する画像処理部３を備え、画像処理部３は、画像のブレを補正する対象となる対象画像およびこの補正の基準となる基準画像を選択する画像選択部３ｂと、対象画像を複数の画素エリアに分割する画素エリア分割部３ｃと、画素エリアから少なくとも２つの対象画素ブロックを抽出する画素ブロック抽出部３ｄと、抽出された画素ブロックの動きベクトルを演算する動きベクトル演算部３ｅと、動きベクトルの信頼度をもとに各対象画素ブロックの重み付け係数を設定する重み設定部３ｆと、画像のブレに対応するアフィン変換の変換係数を演算する変換係数演算部３ｇと、この変換係数をもとに対象画像をアフィン変換してブレを補正する画像補正演算部３ｈと、を備える。【選択図】    図１
2006222933.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置によって撮像された複数の画像の中から、画像のブレを補正する対象となる対象画像および該補正の基準となる基準画像を選択する画像選択ステップと、
前記対象画像から、少なくとも２つの対象画素ブロックを抽出するブロック抽出ステップと、
前記ブロック抽出ステップによって抽出された各対象画素ブロックの位置に対応する前記基準画像上の位置から該各対象画素ブロックの位置までの移動量を示す動きベクトルを演算するベクトル演算ステップと、
前記ベクトル演算ステップによって演算された各動きベクトルの前記画像のブレに対する信頼度をもとに、前記各対象画素ブロックの重み付け係数を設定する重み設定ステップと、
所定の座標原点を基準とした前記各対象画素ブロックの位置ベクトル、前記各動きベクトルおよび前記重み設定ステップによって設定された各重み付け係数をもとに、前記対象画像をアフィン変換するための変換係数を演算する係数演算ステップと、
前記係数演算ステップの演算結果をもとに前記対象画像をアフィン変換して該対象画像のブレを補正する補正演算ステップと、
を含むことを特徴とするブレ補正方法。
【請求項２】
前記対象画像を複数の画素エリアに分割するエリア分割ステップを含み、
前記ブロック抽出ステップは、前記エリア分割ステップによって分割された複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする請求項１に記載のブレ補正方法。
【請求項３】
前記対象画像は、予め複数の画素エリアに分割された画像であり、
前記ブロック抽出ステップは、予め分割された前記複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする請求項１に記載のブレ補正方法。
【請求項４】
前記重み設定ステップは、前記対象画像内の前記対象画素ブロックの位置に対応した前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１〜３のいずれか一つに記載のブレ補正方法。
【請求項５】
前記重み設定ステップは、前記対象画像の略中央部に位置する前記対象画素ブロックに対する前記重み付け係数に比して、前記対象画像内の周辺部に位置する前記対象画素ブロックに対する前記重み付け係数を大きく設定することを特徴とする請求項４に記載のブレ補正方法。
【請求項６】
前記重み設定ステップは、前記動きベクトルの方向および大きさの少なくとも一方に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１〜５のいずれか一つに記載のブレ補正方法。
【請求項７】
前記対象画素ブロック内の画像のコントラストを演算するコントラスト演算ステップを含み、
前記重み設定ステップは、前記コントラスト演算ステップの演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１〜６のいずれか一つに記載のブレ補正方法。
【請求項８】
前記対象画素ブロックの近傍に位置する近傍画素ブロックの前記動きベクトルを演算する近傍ベクトル演算ステップと、
前記対象画素ブロックの動きベクトルに対する前記近傍画素ブロックの動きベクトルのばらつき程度を示す発散度を演算する発散度演算ステップと、
を含み、
前記重み設定ステップは、前記発散度演算ステップの演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１〜７のいずれか一つに記載のブレ補正方法。
【請求項９】
前記係数演算ステップは、前記各対象画素ブロックに対応する前記各位置ベクトル、前記各動きベクトルおよび前記各重み付け係数をそれぞれＸi（ｉ＝１，２，・・・，ｎ）、Ｖi（ｉ＝１，２，・・・，ｎ）およびｗi（ｉ＝１，２，・・・，ｎ）とし、該各重み付け係数の総和をｗとした場合、前記各位置ベクトルの重み付き重心を示す位置重心ベクトルＸcをＸc＝（ｗ1・Ｘ1＋ｗ2・Ｘ2＋・・・＋ｗn・Ｘn）／ｗによって演算し、前記各動きベクトルの重み付き重心を示す動き重心ベクトルＶcをＶc＝（ｗ1・Ｖ1＋ｗ2・Ｖ2＋・・・＋ｗn・Ｖn）／ｗによって演算し、前記変換係数の線形変換成分に対応する回転マトリックスの回転角φを数式１によって演算することを特徴とする請求項１〜８のいずれか一つに記載のブレ補正方法。
【数１】
2006222933.tif 000019
ただし、＃は反時計周りの９０度の回転変換を示す。
【請求項１０】
前記係数演算ステップは、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｘc−Ｖcによって演算し、
前記補正演算ステップは、前記回転マトリックスによって前記位置ベクトルの重み付き重心を中心に前記回転角だけ反時計周りに前記対象画像を回転した後、前記シフトベクトルによって該対象画像をシフトすることを特徴とする請求項９に記載のブレ補正方法。
【請求項１１】
前記ブロック抽出ステップおよび前記重み設定ステップは、前記位置重心ベクトルがゼロベクトルとなるように、それぞれ前記対象画素ブロックを抽出し、前記重み付け係数を設定することを特徴とする請求項９または１０に記載のブレ補正方法。
【請求項１２】
前記係数演算ステップは、前記回転角φだけ反時計回りに回転変換を行う前記回転マトリックスをＲ（φ）として、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｒ（−φ）・（Ｘc−Ｖc）−Ｘcによって演算し、
前記補正演算ステップは、前記シフトベクトルによって前記対象画像をシフトした後、前記回転マトリックスによって前記座標原点を中心に前記回転角だけ反時計方向に該対象画像を回転することを特徴とする請求項９に記載のブレ補正方法。
【請求項１３】
前記係数演算ステップは、前記各動きベクトルの大きさが所定値よりも小さい場合、数式１を近似した数式２によって前記回転角φを演算することを特徴とする請求項９に記載のブレ補正方法。
【数２】
2006222933.tif 000020
【請求項１４】
前記ブロック抽出ステップは、前記対象画像の各隅に位置する隅領域のうち異なる２つの該隅領域のそれぞれから前記対象画素ブロックを抽出し、
前記係数演算ステップは、前記２つの隅領域から抽出された対象画素ブロックのうち一方の対象画素ブロックの位置を前記座標原点とし、該座標原点に位置する前記対象画素ブロックに対応する前記位置ベクトル、前記動きベクトルおよび前記重み付け係数をそれぞれＸ1，Ｖ1およびｗ1とし、前記重み設定ステップによって、前記座標原点に位置する対象画素ブロックに対する前記重み付け係数および他方の対象画素ブロックに対する前記重み付け係数がそれぞれ１および０に限りなく近づけられた場合、数式１を近似した数式３によって前記回転角φを演算することを特徴とする請求項９に記載のブレ補正方法。
【数３】
2006222933.tif 000021
【請求項１５】
前記複数の画像は、動画像であり、
前記各対象画素ブロックは、前記動画像の圧縮符号化処理中に行われるフレーム間予測処理の処理対象となるブロックであり、
前記各動きベクトルは、前記フレーム間予測処理中に演算されることを特徴とする請求項９〜１４のいずれか一つに記載のブレ補正方法。
【請求項１６】
被写体からの光を集光して被写体像を結像する撮像光学系と、
前記被写体像に対応する画像を撮像する撮像手段と、
前記撮像手段によって撮像された複数の画像の中から、画像のブレを補正する対象となる対象画像および該補正の基準となる基準画像を選択する画像選択手段と、
前記対象画像から、少なくとも２つの対象画素ブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段によって抽出された各対象画素ブロックの位置に対応する前記基準画像上の位置から該各対象画素ブロックの位置までの移動量を示す動きベクトルを演算するベクトル演算手段と、
前記ベクトル演算手段によって演算された各動きベクトルの前記画像のブレに対する信頼度をもとに、前記各対象画素ブロックの重み付け係数を設定する重み設定手段と、
所定の座標原点を基準とした前記各対象画素ブロックの位置ベクトル、前記各動きベクトルおよび前記重み設定手段によって設定された各重み付け係数をもとに、前記対象画像をアフィン変換するための変換係数を演算する係数演算手段と、
前記係数演算手段の演算結果をもとに前記対象画像をアフィン変換して該対象画像のブレを補正する補正演算手段と、
を備えたことを特徴とする撮像装置。
【請求項１７】
前記対象画像を複数の画素エリアに分割するエリア分割手段を含み、
前記ブロック抽出手段は、前記エリア分割手段によって分割された複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする請求項１６に記載の撮像装置。
【請求項１８】
前記対象画像は、予め複数の画素エリアに分割された画像であり、
前記ブロック抽出手段は、予め分割された前記複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする請求項１６に記載の撮像装置。
【請求項１９】
前記重み設定手段は、前記動きベクトルの方向および大きさの少なくとも一方に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１６〜１８のいずれか一つに記載の撮像装置。
【請求項２０】
前記対象画素ブロック内の画像のコントラストを演算するコントラスト演算手段を含み、
前記重み設定手段は、前記コントラスト演算手段の演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１６〜１９のいずれか一つに記載の撮像装置。
【請求項２１】
前記対象画素ブロックの近傍に位置する近傍画素ブロックの前記動きベクトルを演算する近傍ベクトル演算手段と、
前記対象画素ブロックの動きベクトルに対する前記近傍画素ブロックの動きベクトルのばらつき程度を示す発散度を演算する発散度演算手段と、
を含み、
前記重み設定手段は、前記発散度演算手段の演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする請求項１６〜２０のいずれか一つに記載の撮像装置。
【請求項２２】
前記係数演算手段は、前記各対象画素ブロックに対応する前記各位置ベクトル、前記各動きベクトルおよび前記各重み付け係数をそれぞれＸi（ｉ＝１，２，・・・，ｎ）、Ｖi（ｉ＝１，２，・・・，ｎ）およびｗi（ｉ＝１，２，・・・，ｎ）とし、該各重み付け係数の総和をｗとした場合、前記各位置ベクトルの重み付き重心を示す位置重心ベクトルＸcをＸc＝（ｗ1・Ｘ1＋ｗ2・Ｘ2＋・・・＋ｗn・Ｘn）／ｗによって演算し、前記各動きベクトルの重み付き重心を示す動き重心ベクトルＶcをＶc＝（ｗ1・Ｖ1＋ｗ2・Ｖ2＋・・・＋ｗn・Ｖn）／ｗによって演算し、前記変換係数の線形変換成分に対応する回転マトリックスの回転角φを数式４によって演算することを特徴とする請求項１６〜２１のいずれか一つに記載の撮像装置。
【数４】
2006222933.tif 000022
ただし、＃は反時計周りの９０度の回転変換を示す。
【請求項２３】
前記係数演算手段は、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｘc−Ｖcによって演算し、
前記補正演算手段は、前記回転マトリックスによって前記位置ベクトルの重み付き重心を中心に前記回転角だけ反時計周りに前記対象画像を回転した後、前記シフトベクトルによって該対象画像をシフトすることを特徴とする請求項２２に記載の撮像装置。
【請求項２４】
前記ブロック抽出手段および前記重み設定手段は、前記位置重心ベクトルがゼロベクトルとなるように、それぞれ前記対象画素ブロックを抽出し、前記重み付け係数を設定することを特徴とする請求項２２または２３に記載の撮像装置。
【請求項２５】
前記係数演算手段は、前記各動きベクトルの大きさが所定値よりも小さい場合、数式４を近似した数式５によって前記回転角φを演算することを特徴とする請求項２２に記載の撮像装置。
【数５】
2006222933.tif 000023
【請求項２６】
前記ブロック抽出手段は、前記対象画像の各隅に位置する隅領域のうち異なる２つの該隅領域のそれぞれから前記対象画素ブロックを抽出し、
前記係数演算手段は、前記２つの隅領域から抽出された対象画素ブロックのうち一方の対象画素ブロックの位置を前記座標原点とし、該座標原点に位置する前記対象画素ブロックに対応する前記位置ベクトル、前記動きベクトルおよび前記重み付け係数をそれぞれＸ1，Ｖ1およびｗ1とし、前記重み設定手段によって、前記座標原点とした対象画素ブロックに対する前記重み付け係数および他方の対象画素ブロックに対する前記重み付け係数がそれぞれ１および０に限りなく近づけられた場合、数式４を近似した数式６によって前記回転角φを演算することを特徴とする請求項２２に記載の撮像装置。
【数６】
2006222933.tif 000024
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のブレを補正するブレ補正方法と、このブレ補正方法を用い、被写体像を撮像するとともに撮像した画像のブレを補正する撮像装置とに関し、特に動画像のブレ補正および撮像に適用して好適なブレ補正方法および撮像装置に関するものである。
【背景技術】
【０００２】
従来、回転を含む位置ずれを検出して２つの画像の位置合わせを行う位置合わせ装置が知られている（たとえば、特許文献１参照）。この位置合わせ装置は、位置合わせの基準となる基準画像を複数の画素ブロックに分割してブロックマッチング処理を行い、基準画像と位置合わせの対象となる対象画像との間の回転を含む位置ずれを検出し、この検出結果をもとに２つの画像の位置合わせを行うようにしている。また、この位置合わせ装置は、分割した各画素ブロックの濃度分布の分散を求め、求めた分散値が所定の閾値以下の画素ブロックではブロックマッチング処理は誤った結果を導く可能性が高いものと判断し、対応する画素ブロックをブロックマッチング処理の対象から除外して、位置ずれの検出精度を向上させるようにしている。
【０００３】
【特許文献１】特開平１１−８６００３号公報
【特許文献２】特開平６−３０３４９０号公報
【特許文献３】特開２０００−１６１９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の位置合わせ装置では、各画素ブロックの濃度分布の分散のみによってブロックマッチング処理に対する信頼度を判断し、信頼度が低いと判断した画素ブロックを処理対象から除外する一方で、信頼度が高いと判断した画素ブロックのすべてを等しい信頼度で処理するようにしているため、撮像する被写体によっては必ずしも高い精度で２つの画像間の位置ずれを検出することができないという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、分割した画素ブロックの種々の特性値をもとに、ブロックマッチング処理等によって演算される各画素ブロックの動きベクトルの信頼度を判断し、この信頼度に応じた動きベクトルの演算処理を行って、常に高い精度で２つの画像間の位置ずれを検出できるようにするとともに、この位置ずれに対応した画像のブレを正確に補正することができるブレ補正方法および撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の請求項１にかかるブレ補正方法は、撮像装置によって撮像された複数の画像の中から、画像のブレを補正する対象となる対象画像および該補正の基準となる基準画像を選択する画像選択ステップと、前記対象画像から、少なくとも２つの対象画素ブロックを抽出するブロック抽出ステップと、前記ブロック抽出ステップによって抽出された各対象画素ブロックの位置に対応する前記基準画像上の位置から該各対象画素ブロックの位置までの移動量を示す動きベクトルを演算するベクトル演算ステップと、前記ベクトル演算ステップによって演算された各動きベクトルの前記画像のブレに対する信頼度をもとに、前記各対象画素ブロックの重み付け係数を設定する重み設定ステップと、所定の座標原点を基準とした前記各対象画素ブロックの位置ベクトル、前記各動きベクトルおよび前記重み設定ステップによって設定された各重み付け係数をもとに、前記対象画像をアフィン変換するための変換係数を演算する係数演算ステップと、前記係数演算ステップの演算結果をもとに前記対象画像をアフィン変換して該対象画像のブレを補正する補正演算ステップと、を含むことを特徴とする。
【０００７】
また、本発明の請求項２にかかるブレ補正方法は、上記の発明において、前記対象画像を複数の画素エリアに分割するエリア分割ステップを含み、前記ブロック抽出ステップは、前記エリア分割ステップによって分割された複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする。
【０００８】
また、本発明の請求項３にかかるブレ補正方法は、上記の発明において、前記対象画像は、予め複数の画素エリアに分割された画像であり、前記ブロック抽出ステップは、予め分割された前記複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする。
【０００９】
また、本発明の請求項４にかかるブレ補正方法は、上記の発明において、前記重み設定ステップは、前記対象画像内の前記対象画素ブロックの位置に対応した前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００１０】
また、本発明の請求項５にかかるブレ補正方法は、上記の発明において、前記重み設定ステップは、前記対象画像の略中央部に位置する前記対象画素ブロックに対する前記重み付け係数に比して、前記対象画像内の周辺部に位置する前記対象画素ブロックに対する前記重み付け係数を大きく設定することを特徴とする。
【００１１】
また、本発明の請求項６にかかるブレ補正方法は、上記の発明において、前記重み設定ステップは、前記動きベクトルの方向および大きさの少なくとも一方に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００１２】
また、本発明の請求項７にかかるブレ補正方法は、上記の発明において、前記対象画素ブロック内の画像のコントラストを演算するコントラスト演算ステップを含み、前記重み設定ステップは、前記コントラスト演算ステップの演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００１３】
また、本発明の請求項８にかかるブレ補正方法は、上記の発明において、前記対象画素ブロックの近傍に位置する近傍画素ブロックの前記動きベクトルを演算する近傍ベクトル演算ステップと、前記対象画素ブロックの動きベクトルに対する前記近傍画素ブロックの動きベクトルのばらつき程度を示す発散度を演算する発散度演算ステップと、を含み、前記重み設定ステップは、前記発散度演算ステップの演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００１４】
また、本発明の請求項９にかかるブレ補正方法は、上記の発明において、前記係数演算ステップは、前記各対象画素ブロックに対応する前記各位置ベクトル、前記各動きベクトルおよび前記各重み付け係数をそれぞれＸi（ｉ＝１，２，・・・，ｎ）、Ｖi（ｉ＝１，２，・・・，ｎ）およびｗi（ｉ＝１，２，・・・，ｎ）とし、該各重み付け係数の総和をｗとした場合、前記各位置ベクトルの重み付き重心を示す位置重心ベクトルＸcをＸc＝（ｗ1・Ｘ1＋ｗ2・Ｘ2＋・・・＋ｗn・Ｘn）／ｗによって演算し、前記各動きベクトルの重み付き重心を示す動き重心ベクトルＶcをＶc＝（ｗ1・Ｖ1＋ｗ2・Ｖ2＋・・・＋ｗn・Ｖn）／ｗによって演算し、前記変換係数の線形変換成分に対応する回転マトリックスの回転角φを数式１によって演算することを特徴とする。
【００１５】
【数１】
2006222933.tif 000003
ただし、＃は反時計周りの９０度の回転変換を示す。
【００１６】
また、本発明の請求項１０にかかるブレ補正方法は、上記の発明において、前記係数演算ステップは、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｘc−Ｖcによって演算し、前記補正演算ステップは、前記回転マトリックスによって前記位置ベクトルの重み付き重心を中心に前記回転角だけ反時計周りに前記対象画像を回転した後、前記シフトベクトルによって該対象画像をシフトすることを特徴とする。
【００１７】
また、本発明の請求項１１にかかるブレ補正方法は、上記の発明において、前記ブロック抽出ステップおよび前記重み設定ステップは、前記位置重心ベクトルがゼロベクトルとなるように、それぞれ前記対象画素ブロックを抽出し、前記重み付け係数を設定することを特徴とする。
【００１８】
また、本発明の請求項１２にかかるブレ補正方法は、上記の発明において、前記係数演算ステップは、前記回転角φだけ反時計回りに回転変換を行う前記回転マトリックスをＲ（φ）として、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｒ（−φ）・（Ｘc−Ｖc）−Ｘcによって演算し、前記補正演算ステップは、前記シフトベクトルによって前記対象画像をシフトした後、前記回転マトリックスによって前記座標原点を中心に前記回転角だけ反時計方向に該対象画像を回転することを特徴とする。
【００１９】
また、本発明の請求項１３にかかるブレ補正方法は、上記の発明において、前記係数演算ステップは、前記各動きベクトルの大きさが所定値よりも小さい場合、数式１を近似した数式２によって前記回転角φを演算することを特徴とする。
【００２０】
【数２】
2006222933.tif 000004
【００２１】
また、本発明の請求項１４にかかるブレ補正方法は、上記の発明において、前記ブロック抽出ステップは、前記対象画像の各隅に位置する隅領域のうち異なる２つの該隅領域のそれぞれから前記対象画素ブロックを抽出し、前記係数演算ステップは、前記２つの隅領域から抽出された対象画素ブロックのうち一方の対象画素ブロックの位置を前記座標原点とし、該座標原点に位置する前記対象画素ブロックに対応する前記位置ベクトル、前記動きベクトルおよび前記重み付け係数をそれぞれＸ1，Ｖ1およびｗ1とし、前記重み設定ステップによって、前記座標原点に位置する対象画素ブロックに対する前記重み付け係数および他方の対象画素ブロックに対する前記重み付け係数がそれぞれ１および０に限りなく近づけられた場合、数式１を近似した数式３によって前記回転角φを演算することを特徴とする。
【００２２】
【数３】
2006222933.tif 000005
【００２３】
また、本発明の請求項１５にかかるブレ補正方法は、上記の発明において、前記複数の画像は、動画像であり、前記各対象画素ブロックは、前記動画像の圧縮符号化処理中に行われるフレーム間予測処理の処理対象となるブロックであり、前記各動きベクトルは、前記フレーム間予測処理中に演算されることを特徴とする。
【００２４】
また、本発明の請求項１６にかかる撮像装置は、被写体からの光を集光して被写体像を結像する撮像光学系と、前記被写体像に対応する画像を撮像する撮像手段と、前記撮像手段によって撮像された複数の画像の中から、画像のブレを補正する対象となる対象画像および該補正の基準となる基準画像を選択する画像選択手段と、前記対象画像から、少なくとも２つの対象画素ブロックを抽出するブロック抽出手段と、前記ブロック抽出手段によって抽出された各対象画素ブロックの位置に対応する前記基準画像上の位置から該各対象画素ブロックの位置までの移動量を示す動きベクトルを演算するベクトル演算手段と、前記ベクトル演算手段によって演算された各動きベクトルの前記画像のブレに対する信頼度をもとに、前記各対象画素ブロックの重み付け係数を設定する重み設定手段と、所定の座標原点を基準とした前記各対象画素ブロックの位置ベクトル、前記各動きベクトルおよび前記重み設定手段によって設定された各重み付け係数をもとに、前記対象画像をアフィン変換するための変換係数を演算する係数演算手段と、前記係数演算手段の演算結果をもとに前記対象画像をアフィン変換して該対象画像のブレを補正する補正演算手段と、を備えたことを特徴とする。
【００２５】
また、本発明の請求項１７にかかる撮像装置は、上記の発明において、前記対象画像を複数の画素エリアに分割するエリア分割手段を含み、前記ブロック抽出手段は、前記エリア分割手段によって分割された複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする。
【００２６】
また、本発明の請求項１８にかかる撮像装置は、上記の発明において、前記対象画像は、予め複数の画素エリアに分割された画像であり、前記ブロック抽出手段は、予め分割された前記複数の画素エリアから少なくとも２つの前記対象画素ブロックを抽出することを特徴とする。
【００２７】
また、本発明の請求項１９にかかる撮像装置は、上記の発明において、前記重み設定手段は、前記動きベクトルの方向および大きさの少なくとも一方に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００２８】
また、本発明の請求項２０にかかる撮像装置は、上記の発明において、前記対象画素ブロック内の画像のコントラストを演算するコントラスト演算手段を含み、前記重み設定手段は、前記コントラスト演算手段の演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００２９】
また、本発明の請求項２１にかかる撮像装置は、上記の発明において、前記対象画素ブロックの近傍に位置する近傍画素ブロックの前記動きベクトルを演算する近傍ベクトル演算手段と、前記対象画素ブロックの動きベクトルに対する前記近傍画素ブロックの動きベクトルのばらつき程度を示す発散度を演算する発散度演算手段と、を含み、前記重み設定手段は、前記発散度演算手段の演算結果に基づいた前記信頼度をもとに、前記対象画素ブロックに対する前記重み付け係数を設定することを特徴とする。
【００３０】
また、本発明の請求項２２にかかる撮像装置は、上記の発明において、前記係数演算手段は、前記各対象画素ブロックに対応する前記各位置ベクトル、前記各動きベクトルおよび前記各重み付け係数をそれぞれＸi（ｉ＝１，２，・・・，ｎ）、Ｖi（ｉ＝１，２，・・・，ｎ）およびｗi（ｉ＝１，２，・・・，ｎ）とし、該各重み付け係数の総和をｗとした場合、前記各位置ベクトルの重み付き重心を示す位置重心ベクトルＸcをＸc＝（ｗ1・Ｘ1＋ｗ2・Ｘ2＋・・・＋ｗn・Ｘn）／ｗによって演算し、前記各動きベクトルの重み付き重心を示す動き重心ベクトルＶcをＶc＝（ｗ1・Ｖ1＋ｗ2・Ｖ2＋・・・＋ｗn・Ｖn）／ｗによって演算し、前記変換係数の線形変換成分に対応する回転マトリックスの回転角φを数式４によって演算することを特徴とする。
【００３１】
【数４】
2006222933.tif 000006
ただし、＃は反時計周りの９０度の回転変換を示す。
【００３２】
また、本発明の請求項２３にかかる撮像装置は、上記の発明において、前記係数演算手段は、前記変換係数のシフト成分に対応するシフトベクトルＳをＳ＝Ｘc−Ｖcによって演算し、前記補正演算手段は、前記回転マトリックスによって前記位置ベクトルの重み付き重心を中心に前記回転角だけ反時計周りに前記対象画像を回転した後、前記シフトベクトルによって該対象画像をシフトすることを特徴とする。
【００３３】
また、本発明の請求項２４にかかる撮像装置は、上記の発明において、前記ブロック抽出手段および前記重み設定手段は、前記位置重心ベクトルがゼロベクトルとなるように、それぞれ前記対象画素ブロックを抽出し、前記重み付け係数を設定することを特徴とする。
【００３４】
また、本発明の請求項２５にかかる撮像装置は、上記の発明において、前記係数演算手段は、前記各動きベクトルの大きさが所定値よりも小さい場合、数式４を近似した数式５によって前記回転角φを演算することを特徴とする。
【００３５】
【数５】
2006222933.tif 000007
【００３６】
また、本発明の請求項２６にかかる撮像装置は、上記の発明において、前記ブロック抽出手段は、前記対象画像の各隅に位置する隅領域のうち異なる２つの該隅領域のそれぞれから前記対象画素ブロックを抽出し、前記係数演算手段は、前記２つの隅領域から抽出された対象画素ブロックのうち一方の対象画素ブロックの位置を前記座標原点とし、該座標原点に位置する前記対象画素ブロックに対応する前記位置ベクトル、前記動きベクトルおよび前記重み付け係数をそれぞれＸ1，Ｖ1およびｗ1とし、前記重み設定手段によって、前記座標原点とした対象画素ブロックに対する前記重み付け係数および他方の対象画素ブロックに対する前記重み付け係数がそれぞれ１および０に限りなく近づけられた場合、数式４を近似した数式６によって前記回転角φを演算することを特徴とする。
【００３７】
【数６】
2006222933.tif 000008
【発明の効果】
【００３８】
本発明にかかるブレ補正方法および撮像装置によれば、分割した画素ブロックの種々の特性値をもとに、ブロックマッチング処理等によって演算される各画素ブロックの動きベクトルの信頼度を判断し、この信頼度に応じた動きベクトルの演算処理を行って、常に高い精度で２つの画像間の位置ずれを検出できるようにするとともに、この位置ずれに対応した画像のブレを正確に補正することができる。
【発明を実施するための最良の形態】
【００３９】
以下、添付図面を参照して、本発明にかかる撮像装置の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付している。
【００４０】
（実施の形態１）
まず、本発明の実施の形態１にかかる撮像装置について説明する。図１は、この実施の形態１にかかる撮像装置の構成を示すブロック図である。また、図２は、この実施の形態１にかかる撮像装置の概要構成を示す斜視図である。図１に示すように、この実施の形態１にかかる撮像装置１は、被写体像を撮像して画像信号を生成する撮像部２と、撮像部２が生成した画像信号を処理する画像処理部３と、各種指示情報が入力される入力部４と、各種情報を表示する表示部５と、音声情報の入出力処理を行う音声入出力部６と、外部装置との間で情報通信を行う通信部７と、各種情報を記憶する記憶部８と、外部装置との間でデータの受け渡しを行うための携帯型記録媒体９と、撮像装置１の全体の処理および動作を制御する制御部Ｃとを備える。撮像部２、画像処理部３、入力部４、表示部５、音声入出力部６、通信部７、記憶部８および携帯型記録媒体９は、制御部Ｃに電気的に接続され、制御部Ｃは、これらの各構成部位を制御する。
【００４１】
撮像部２は、撮像光学系２ａ、撮像素子２ｂおよびＡ／Ｄ変換部２ｃを備える。撮像光学系２ａは、任意の被写体からの光を集光し、撮像素子２ｂ上に被写体像を結像する。撮像手段としての撮像素子２ｂは、ＣＣＤ、ＣＭＯＳ等の個体撮像素子を用いて実現され、撮像光学系２ａが集光した光を光信号として検出して被写体像に対応した画像を撮像し、撮像した画像をアナログ信号である電気信号に変換して出力する。Ａ／Ｄ変換部２ｃは、撮像素子２ｂが出力したアナログ信号をデジタル信号に変換し、画像処理部３に出力する。撮像光学系２ａは、焦点距離が可変なズームレンズで実現され、たとえば図２に示すように、複数のレンズを組み合わせて構成される。また、撮像光学系２ａは、制御部Ｃの制御のもと、不図示の駆動装置により一部または全部のレンズが光軸方向に移動されることによって、焦点距離を変更するとともに撮像する画像のピント合わせを行う。なお、撮像光学系２ａは、焦点距離が固定された単焦点レンズであってもよく、また、筐体に対して着脱可能に取り付けられ、他の撮像光学系と交換可能に構成してもよい。
【００４２】
画像処理部３は、撮像部２から取得した画像信号に対する種々の画像処理の制御を行う画像処理制御部３ａと、撮像部２から取得した画像信号の中から、画像のブレを補正する対象となる対象画像およびこの補正の基準となる基準画像を選択する画像選択部３ｂと、選択された対象画像を複数の画素エリアに分割する画素エリア分割部３ｃと、この分割された各画素エリアの境界を含まないとともに各画素エリアからはみ出さない少なくとも２つの対象画素ブロックを対象画像から抽出する画素ブロック抽出部３ｄと、この抽出された各対象画素ブロックの位置に対応する基準画像上の位置からこの各対象画素ブロックの位置までの移動量を示す動きベクトルを演算する動きベクトル演算部３ｅと、この演算された各動きベクトルの対象画像のブレに対する信頼度をもとに抽出した各対象画素ブロックの重みを示す重み付け係数を設定する重み設定部３ｆと、所定の座標原点を基準とした各対象画素ブロックの位置ベクトル、動きベクトル演算部３ｅによって演算された各動きベクトルおよび重み設定部３ｆによって設定された各重み付け係数をもとに、対象画像をアフィン変換するための変換係数を演算する変換係数演算部３ｇと、この演算結果をもとに対象画像をアフィン変換してこの対象画像のブレを補正する画像補正演算部３ｈと、画像情報を一時的に記憶するフレームメモリ３ｉとを備える。画像処理部３が備えるこれらの各構成部位は、制御部Ｃからの指示に基づいた画像処理制御部３ａからの指示にしたがって画像信号を処理し、処理結果である画像情報、ブレ補正情報、演算結果等を適宜に制御部Ｃまたは記憶部８に出力する。また、画像処理部３は、取得した画像信号に対し、γ補正、Ｙ／Ｃ分離（輝度信号／色信号分離）、色変換等の各種画像処理を行うようにしてもよい。
【００４３】
入力部４は、撮像装置１が行う各種処理および動作の指示情報の入力を外部から受け付けるとともに、入力された指示情報を制御部Ｃに出力する。入力部４が受け付ける指示情報には、撮像装置１の起動／終了、撮影の開始／終了、撮像光学系２ａのピント合わせおよびズームポジションの設定、撮像モードの設定、撮像した画像信号の処理方法の設定等が含まれる。入力部４は、ボタン型、トグル型等の各種スイッチ、入力キー、タッチパネルなどによって実現され、たとえば、図２に示すように、撮影の開始／終了を指示する撮影スイッチ４ａが配置される。
【００４４】
表示部５は、たとえば、液晶ディスプレイ、有機ＥＬ（Electroluminescence）ディスプレイ、ＬＥＤ等を用いた表示装置を備え、制御部Ｃからの指示に基づいて各種情報を表示する。表示部４が表示する情報には、撮像部２が撮像して生成した画像情報、画像処理部３が処理した画像情報、制御部Ｃが制御する各種処理および動作の開始や完了を報知する報知情報、各種処理および動作で発生したエラーを報知するエラー情報等がある。表示部５は、たとえば、図２に示すように、撮像装置１の背面部に液晶ディスプレイで実現した表示モニター５ａを備え、撮像装置１が撮像する画像をほぼリアルタイムで表示する。さらに、表示モニター５ａは、記憶部８に記憶された画像等、各種情報を表示するようにしてもよい。
【００４５】
音声入出力部６は、マイクロフォンおよびスピーカーを用いて実現され、外部から音声情報の入力を受け付け、入力された音声情報を制御部Ｃに出力するとともに、制御部Ｃから入力された音声情報を外部に出力する。音声入出力部６が入出力を行う情報には、撮像部２が撮影した映像に対応する音声情報等がある。なお、音声入出力部６は、各構成部位が行う処理の開始や完了を報知する所定の報知音の出力、あるいは各種処理および動作で発生したエラーを報知する所定の警告音の出力を行うようにしてもよい。
【００４６】
通信部７は、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４等の外部通信用インターフェース、あるいはＩｒＤＡ規格に準拠した赤外線通信インターフェース等を用いて実現され、制御部Ｃからの指示に基づいて外部装置との間で画像情報、音声情報等の各種情報通信を行う。
【００４７】
記憶部８は、所定のＯＳを起動するプログラム、処理プログラム等の各種情報が予め記憶されたＲＯＭと、各処理の各種処理パラメータ、各構成部位に入出力される各種情報等を記憶するＲＡＭとを用いて実現される。記憶部８が記憶する情報には、撮像部２が撮像した画像情報、画像処理部３の処理結果である画像情報、補正情報、演算結果等、画像処理部３で用いる演算パラメータ、撮像部２が撮影した映像に対応する音声情報、撮像装置１の各種設定情報等がある。
【００４８】
携帯型記録媒体９は、不揮発性メモリであるスマートメディア（登録商標）等のフラッシュメモリ、ＤＶＤ（DigitalVersatileDisk）等の光記憶媒体等が用いられ、たとえば図２に示すように、カードインターフェース９ａを介して撮像装置１に着脱可能に接続され、撮像装置１に挿着された場合、画像データ等の各種情報の出力または記録が可能となる。携帯型記録媒体９は、制御部Ｃからの指示に基づいて情報の出力および記録を行う。
【００４９】
制御部Ｃは、記憶部８が記憶する処理プログラムを実行するＣＰＵ等によって実現され、撮像装置１の各構成部位を制御する。特に、制御部Ｃは、画像処理制御部３ａに画像を処理してブレを補正させ、補正した画像情報を表示部５に表示させるとともに、記憶部８に記憶させる。また、制御部Ｃは、撮像部２が撮像した画像情報を通信部７によって外部に出力するか、あるいは携帯型記録媒体９に記録する。なお、制御部Ｃは、画像処理部３の処理結果である画像情報を外部に出力するようにしてもよい。
【００５０】
つぎに、画像処理部３が行う画像のブレの補正処理について説明する。図３−１および図３−２は、撮像装置１によって撮像した動画像の一部の画像であり、それぞれ画像のブレを補正する基準となる基準画像およびブレを補正する対象となる対象画像の一例を示す図である。図３−１および図３−２に示すように、対象画像Ｇ１は、基準画像Ｇ０に対し、撮影時の撮像装置１の動きに対応した画像のブレを生じている。このような画像のブレは、一般にアフィン変換によって表現することが可能であり、逆に、対象画像Ｇ１をアフィン変換することによって画像のブレを補正することができる。ここで、アフィン変換とは、回転変換等の線形変換と、平行移動であるシフト変換との組み合わせによる図形等の変換であり、一般に次式（１）によって表わされる。
Ｘ’＝Ｔ・Ｘ＋Ｓ                                                ・・・（１）
ここで、アフィン変換前後の図形の対応する任意の点を示す位置ベクトルをそれぞれＸおよびＸ’とし、アフィン変換の線形変換部分を示す変換係数であるマトリックスをＴとし、アフィン変換のシフト変換部分を示す変換係数であるベクトルをＳとしている。ただし、図３−２に示すようにシフトおよび回転からなる画像のブレの場合、線形変換を示すマトリックスＴは、回転角がφである反時計回りの回転変換を示す回転マトリックスＲ（φ）に置き換えることができる。なお、対象画像Ｇ１および基準画像Ｇ０の一部の被写体は、基準画像Ｇ０中の被写体像Ｕ０と対象画像Ｇ１中の被写体像Ｕ１の関係に示すように、画像のブレとは別に位置および姿勢を変化させており、この変化は、アフィン変換によって補正されない。
【００５１】
画像処理部３は、たとえば、図３−２に示すように、対象画像Ｇ１から対象画素ブロックＢ１〜Ｂ３を抽出し、抽出した各対象画素ブロックＢ１〜Ｂ３の動きベクトルＶ1〜Ｖ3をブロックマッチング処理によって演算する。そして、画像処理部３は、演算した動きベクトルＶ1〜Ｖ3と、動きベクトルＶ1〜Ｖ3の画像のブレに対する信頼度をもとに設定した各対象画素ブロックＢ１〜Ｂ３の重み付け係数ｗ1〜ｗ3と、各対象画素ブロックＢ１〜Ｂ３の中心位置を指す位置ベクトルＸ1〜Ｘ3とをもとに、対象画像Ｇ１のブレに対応するアフィン変換の変換係数を演算し、演算した変換係数をもとに対象画像Ｇ１をアフィン変換して画像のブレを補正する。ここで、ブロックマッチング処理とは、抽出した各対象画素ブロックＢ１〜Ｂ３の基準画像Ｇ０からの平行移動量を求める処理であり、具体的には、対象画素ブロックＢ１〜Ｂ３のそれぞれに最も一致する画素ブロックＢ０１，Ｂ０２，Ｂ０３を基準画像Ｇ０上で検出し、検出した各画素ブロックＢ０１，Ｂ０２，Ｂ０３の中心位置から、それぞれ対応する対象画素ブロックＢ１〜Ｂ３の中心位置までの移動量を示す動きベクトルＶ1〜Ｖ3を求める処理である。一般に、画素ブロック間の一致度は、画素ブロック内の画素の差分諧調値の絶対値の和、平均諧調値の差の絶対値、諧調値の標準偏差の差の絶対値、諧調値の相互相関関数、諧調値のフーリエ係数等を用いて評価することができる。なお、位置ベクトルＸ1〜Ｘ3を示す基準となる座標原点は、図３−２では対象画像Ｇ１の左上角部の点Ｏ１としているが、これに限らず、対象画像Ｇ１の内部および外部の任意の点でよい。
【００５２】
また、画像処理部３は、最小二乗法によって、対象画像Ｇ１を補正するためのアフィン変換の変換係数を演算する。すなわち、画像処理部３は、次式（２）に示す評価関数Ｆの値が最小となるように、アフィン変換の線形変換成分の変換係数である回転マトリックスＲ（φ）およびシフト変換成分の変換係数であるシフトベクトルＳを演算する。
【００５３】
【数７】
2006222933.tif 000009
ここで、対象画素ブロックＢｉ（ｉ＝１，２，・・・，ｎ）に対応する位置ベクトル、動きベクトルおよび重み付け係数をそれぞれＸi（ｉ＝１，２，・・・，ｎ）、Ｖi（ｉ＝１，２，・・・，ｎ）およびｗi（ｉ＝１，２，・・・，ｎ）とし、対象画像Ｇ１から抽出する対象画素ブロック数をｎとして、表式を一般化している。式（２）において、動きベクトルＶiは、位置ベクトルＸiが基準画像Ｇ０に対して動かされた移動量を示す。したがって、位置ベクトルＸiから動きベクトルＶiを差し引いた位置ベクトル（Ｘi−Ｖi）が、位置ベクトルＸiを厳密に補正した場合の位置ベクトルとなる。これに対して、式（１）のごとく、式（２）のもう一つの項であるベクトル（Ｒ（φ）・Ｘi＋Ｓ）は、位置ベクトルＸiをアフィン変換でもって補正した位置ベクトルを示す。したがって、ベクトル（Ｘi−Ｖi）とベクトル（Ｒ（φ）・Ｘi＋Ｓ）の差分ベクトルの絶対値の二乗を重み付け係数ｗiでもって重み付けした総和Ｆの値が最小になるように、回転マトリックスＲ（φ）とシフトベクトルＳを選択することが、最小二乗法におけるベストな動き補正を意味する。重み付けを考慮した最小二乗法による位置合わせ方法は、例えば特許文献３に開示されている。
【００５４】
評価関数Ｆの値が最小となる場合、回転マトリックスＲ（φ）およびシフトベクトルＳは、次式（３）および式（４）を満足し、それぞれ式（５）および式（６）によって演算される。
【００５５】
【数８】
2006222933.tif 000010
【００５６】
【数９】
2006222933.tif 000011
Ｓ＝Ｘc−Ｖc−Ｒ（φ）・Ｘc                                      ・・・（５）
【００５７】
【数１０】
2006222933.tif 000012
ただし、＃は反時計周りの９０度の回転変換を示す。また、重み付け係数ｗiの総和をｗとし、各位置ベクトルＸiの重み付き重心を示す位置重心ベクトルをＸcとして次式（７）によって演算し、各動きベクトルＶiの重み付き重心を示す動き重心ベクトルをＶcとして式（８）によって演算するものとしている。
Ｘc＝（ｗ1・Ｘ1＋ｗ2・Ｘ2＋・・・＋ｗn・Ｘn）／ｗ              ・・・（７）
Ｖc＝（ｗ1・Ｖ1＋ｗ2・Ｖ2＋・・・＋ｗn・Ｖn）／ｗ              ・・・（８）
また、回転マトリックスＲ（φ）は、次式（９）によって表わされる。
【００５８】
【数１１】
2006222933.tif 000013
【００５９】
なお、あらかじめ回転角φが小さいとわかっている場合、あるいは各動きベクトルＶiの大きさが所定値よりも小さい場合などには、式（６）を近似した次式（１０）によって回転角φを演算するようにしてもよい。これによって、画像処理部３は、回転マトリックスＲ（φ）を求める演算処理を高速化することができる。
【００６０】
【数１２】
2006222933.tif 000014
【００６１】
このようにして求められた回転マトリックスＲ（φ）およびシフトベクトルＳによって、画像処理部３は、対象画像Ｇ１を次式（１１）に示すようにアフィン変換して画像のブレを補正する。
Ｘ’＝Ｒ（φ）・Ｘ＋｛Ｘc−Ｖc−Ｒ（φ）・Ｘc｝              ・・・（１１）
このアフィン変換では、画像処理部３は、座標原点Ｏ１を中心に対象画像Ｇ１を反時計周りに回転角φだけ回転し、この回転した対象画像Ｇ１をシフトベクトルＳ＝Ｘc−Ｖc−Ｒ（φ）・Ｘcによってシフトする。
【００６２】
なお、式（１１）は、次式（１２）に示すように変形することができる。
Ｘ’＝（Ｒ（φ）・（Ｘ−Ｘc）＋Ｘc）−Ｖc                    ・・・（１２）
すなわち、式（１１）に示したアフィン変換は、式（１２）に示すように、位置重心ベクトルＸcが示す各位置ベクトルＸiの重み付き重心を中心に対象画像Ｇ１を反時計回りに回転角φだけ回転し、この回転した対象画像Ｇ１をベクトル（−Ｖc）によってシフトする変換に置き換えることができる。この場合、式（１１）に示したアフィン変換の演算に比して、画像処理部３が行う演算を簡易にすることができ、画像処理部３の処理負荷を軽減して処理速度を向上させることができる。
【００６３】
ここで、画像処理部３が行う画像のブレの補正処理手順について、図４を参照して説明する。図４は、画像処理制御部３ａが制御する画像のブレの補正処理手順を示すフローチャートである。なお、図４に示すフローチャートは、１つの対象画像に対するブレ補正の処理手順を例示しており、たとえば、動画像のブレを補正する場合、この処理手順を連続して繰り返すようにすればよい。
【００６４】
図４に示すように、画像処理制御部３ａの制御のもと、画像選択部３ｂは、撮像部２から取得した画像情報の中からブレ補正の対象画像Ｇｔおよび基準画像Ｇｏを選択し（ステップＳ１０１）、画素エリア分割部３ｃは、選択した対象画像Ｇｔを複数の画素エリアＡｓ（ｓ＝１，２，・・・，ｈ；ｈは分割数）に分割し（ステップＳ１０３）、画素ブロック抽出部３ｄは、分割した各画素エリアＡｓをさらに複数の画素ブロックに分割するとともに（ステップＳ１０５）、分割した全画素ブロックの中から少なくとも２つの画素ブロックを対象画素ブロックＢｉとして抽出するブロック抽出処理を行う（ステップＳ１０７）。そして、動きベクトル演算部３ｅは、ブロックマッチング処理によって、各対象画素ブロックＢｉの動きベクトルＶiを演算し（ステップＳ１０９）、重み設定部３ｆは、演算した各動きベクトルＶiの画像のブレに対する信頼度をもとに、各対象画素ブロックＢｉの重み付け係数ｗiを設定する重み設定処理を行う（ステップＳ１１１）。その後、変換係数演算部３ｇは、対象画像Ｇｔを補正するためのアフィン変換の変換係数を演算し（ステップＳ１１３）、画像補正演算部３ｈは、演算した変換係数をもとに対象画像Ｇｔをアフィン変換して基準画像Ｇｏに対するブレを補正し（ステップＳ１１５）、一連のブレ補正処理を終了する。
【００６５】
ステップＳ１０３では、画素エリア分割部３ｃは、たとえば図５に示すように、画素エリアＡｓとして対象画像Ｇｔの中央部にある内側エリアＩＡと、対象画像Ｇｔ内の周辺部にある外側エリアＯＡとの２つの画素エリアに対象画像Ｇｔを分割する。図５は、具体的に、解像度がＶＧＡ（Video Graphics Array）であり６４０×４８０画素の対象画像Ｇｔに対し、内側エリアＩＡを４８０×３２０画素とした場合を例示している。なお、画素エリア分割部３ｃは、さらに多くの領域に対象画像Ｇｔを分割してもよく、たとえば、１６×１６画素の画素エリア毎に対象画像Ｇｔの全領域を分割するようにしてもよく、この場合、対象画像Ｇｔは、４０×３０個の画素エリアに分割されることになる。また、対象画像Ｇｔの解像度は、ＶＧＡに限らず、ＸＧＡ（Extended Graphics Array）等、任意の解像度でよい。
【００６６】
ステップＳ１０５では、画素ブロック抽出部３ｄは、８×８画素の画素ブロック毎に対象画像Ｇｔ内を分割する。この場合、対象画像Ｇｔは、全体で８０×６０個の画素ブロックに分割され、そのうち内側エリアＩＡは、６０×４０個の画素ブロックに分割される。ここで、８×８画素の画素ブロックは、一般に動画像の圧縮符号化処理中に行われるフレーム間予測処理の処理対象とされる画素ブロックとサイズおよび形状が等しい。このように異なる処理間で分割する画素ブロックの共通化をはかることによって、たとえば、フレーム間予測処理中に演算された各画素ブロックの動きベクトルをこの実施の形態１のブレ補正処理に用いることができ、処理全体の簡易化および処理速度の高速化を促進させることができる。なお、画素エリア分割部３ｃは、画素ブロック抽出部３ｄが分割する８×８画素の画素ブロックの大きさを考慮して、縦横がこの画素ブロックの整数倍の大きさである画素エリアＡｓに分割するようにしている。
【００６７】
ステップＳ１０７では、画素ブロック抽出部３ｄは、たとえば図５に示すように、各画素エリアＩＡ，ＯＡから複数の対象画素ブロックＢｉを抽出する。そして、ステップＳ１１１では、重み設定部３ｆは、対象画素ブロックＢｉが含まれる画素エリアＡｓに応じて、各対象画素ブロックＢｉに重み付け係数ｗiを設定する。この際、重み設定部３ｆは、対象画像Ｇｔの中央部に近い位置にある対象画素ブロックＢｉに比して、対象画像Ｇｔ内の周辺部に位置する対象画素ブロックＢｉに対する重み付け係数ｗiを大きく設定する。すなわち、図５に示した複数の対象画素ブロックＢｉに対し、重み設定部３ｆは、内側エリアＩＡ内に位置する画素ブロックＢｉの重み付け係数ｗiよりも外側エリアＯＡ内に位置する対象画素ブロックＢｉの重み付け係数ｗiを大きく設定する。
【００６８】
通常、回転をともなう画像のブレは、対象画像Ｇｔ内の周辺部で大きなブレを生じるため、外側エリアＯＡ内に位置する対象画素ブロックＢｉの動きベクトルＶiは大きなベクトルとなり、高い精度で演算することができる。一方、対象画像Ｇｔの中央部の回転によるブレは小さく、内側エリアＩＡ内に位置する対象画素ブロックＢｉの動きベクトルＶiは小さくなる。また、対象画像Ｇｔの中央部では、一般に被写体像が集中することが多く、画像のブレと異なる被写体の動きによって動きベクトルＶiが変化しやすいため、内側エリアＩＡ内に位置する対象画素ブロックＢｉの動きベクトルＶiの演算精度は低くなる。このため、対象画像Ｇｔのブレに対する動きベクトルＶiの信頼度は、外側エリアＯＡで高く、内側エリアＩＡで低く判断され、この結果、内側エリアＩＡ内に位置する対象画素ブロックＢｉの重み付け係数ｗiよりも外側エリアＯＡ内に位置する対象画素ブロックＢｉの重み付け係数ｗiが大きく設定される。
【００６９】
このように重み設定部３ｆが、画素エリアＡｓに応じて各対象画素ブロックＢｉの重み付け係数ｗiを設定することにより、この実施の形態１にかかる撮像装置１では、画像のブレと関係ない被写体の動きの影響を軽減することができ、アフィン変換の変換係数である回転マトリックスＲ（φ）およびシフトベクトルＳを高精度に演算して画像のブレを正確に補正することができる。なお、重み設定部３ｆは、同じ画素エリアＡｓ内に位置する複数の対象画素ブロックＢｉに対し、さらに各対象画素ブロックＢｉの位置に応じて画像のブレに対する信頼度を判断し、各重み付け係数ｗiを設定するようにしてもよい。これによって、変換係数３ｇは、一層厳密に回転マトリックスＲ（φ）およびシフトベクトルＳを演算することができるようになる。
【００７０】
なお、画素ブロック抽出部３ｄが分割する画素ブロックは、８×８画素の画素ブロックに限らず、１６×１６画素等、任意サイズの画素ブロックでよい。また、画素ブロック抽出部３ｄが抽出する対象画素ブロックＢｉは、各画素エリアＡｓからはみ出さなければよく、画素エリアＡｓの１つであってもよい。さらに、対象画素ブロックＢｉは、個々に異なるサイズおよび形状であってもよい。なお、画素ブロック抽出部３ｄは、必ずしもすべての画素エリアＡｓから対象画素ブロックＢｉを抽出する必要はなく、たとえば、１つの画素エリアＡｓだけから抽出するようにしてもよい。
【００７１】
ここで、画素ブロック抽出部３ｄが抽出する対象画素ブロックＢｉの他の一例を図６に示す。図６に示すように、画素ブロック抽出部３ｄは、対象画素ブロックＢｉとして、内側エリアＩＡから比較的大きな対象画素ブロックＩＢ1〜ＩＢ4を抽出し、外側エリアＯＡから比較的小さな対象画素ブロックＯＢ1〜ＯＢ8を抽出する。これは、重み設定部３ｆが、内側エリアＩＡ内に位置する対象画素ブロックＢｉの重み付け係数ｗiよりも外側エリアＯＡ内に位置する対象画素ブロックＢｉの重み付け係数ｗiを大きく設定したのと同様の理由による。すなわち、対象画素ブロックＯＢ1〜ＯＢ8の動きベクトルは大きなベクトルとなるため、対象画素ブロックＯＢ1〜ＯＢ8のサイズを小さくしても高い精度で動きベクトルを演算することができ、このサイズを小さくすることによって演算の処理負荷を軽減し、処理速度を向上させることができる。一方、対象画素ブロックＩＢ1〜ＩＢ4の動きベクトルの演算精度は低いため、大きな領域によって平均化した動きベクトルを演算できるように、抽出する対象画素ブロックＩＢ1〜ＩＢ4のサイズを大きくしている。
【００７２】
なお、対象画素ブロックＩＢ1〜ＩＢ4およびＯＢ1〜ＯＢ8は、対象画像Ｇｔの中心点Ｏ２を通る縦横の中心線に対し、各画素エリアＩＡ，ＯＡ内で互いに対称に位置するように抽出されている。このように、対象画素ブロックを対称的に抽出することによって、たとえば、重み設定部３ｆが同じ画素エリアＡｓ内にある対象画素ブロックＢｉに対して均等に重み付け係数ｗiを設定した場合、位置重心ベクトルＸcで示される各位置ベクトルＸiの重み付き重心を中心点Ｏ２と一致させることができる。この場合、さらに対象画像Ｇｔに対する座標原点を中心点Ｏ２に設定することによって、位置重心ベクトルＸcをゼロベクトルにすることができ、式（１２）に示すアフィン変換の演算を次式（１３）に示すように簡略化することができ、これによって画像処理部３の処理負荷を一層軽減し、処理速度をさらに向上させることができる。
Ｘ’＝Ｒ（φ）・Ｘ−Ｖc                                      ・・・（１３）
【００７３】
また、内側エリアＩＡ、外側エリアＯＡ、対象画素ブロックＩＢ1〜ＩＢ4および対象画素ブロックＯＢ1〜ＯＢ8は、いずれも図６に示したように矩形の領域としたが、任意形状でよい。さらに、画像エリアＡｓおよび対象画素ブロックＢｉは、あらかじめ設定された所定の領域であってもよく、対象画像Ｇｔに応じて任意に抽出するようにしてもよく、あるいは対象画像Ｇｔの種々の特性値に応じて抽出するようにしてもよい。
【００７４】
ここで、画素ブロック抽出部３ｄが、対象画像Ｇｔの特性値に応じて対象画素ブロックＢｉを抽出する処理の一例について説明する。図７は、図４に示したステップＳ１０７のブロック抽出処理をサブルーチン化した処理手順を示すフローチャートである。図７に示すように、このブロック抽出処理では、画素ブロック抽出部３ｄは、画像処理制御部３ａの制御のもと、ステップＳ１０５によって分割した各画素ブロックに対してＤＣＴ（Discrete Cosine Transform；離散コサイン変換）処理を行い（ステップＳ２０１）、このＤＣＴ処理結果をもとに、ステップＳ１０３によって分割した各画素エリアＡｓから、画素ブロック内の画像に占める高周波成分の割合が高い複数の画素ブロックを対象画素ブロックＢｉとして抽出し（ステップＳ２０３）、ステップＳ１０７へリターンする。ステップＳ２０３では、画素ブロック抽出部３ｄは、ＤＣＴ処理結果であるＤＣＴ係数をＤuv（ｕ，ｖ＝０，１，・・・，７）として、次式（１４）で定める評価値Ｃr（ｒ＝１，２，・・・，ｈ）を用い、評価値Ｃrが大きいほど画素ブロック内の画像に占める高周波成分の割合が高いものと判断する。
【００７５】
【数１３】
2006222933.tif 000015
ただし、ダイナミックレンジをＤynとしている。このダイナミックレンジＤynは、たとえば、８ビットの諧調表示ではＤyn＝２8＝２５６となる。
【００７６】
このように、画像に占める高周波成分の割合が高い対象画素ブロックＢｉを抽出することによって、ブロックマッチング処理での処理感度が高い対象画素ブロックＢｉを抽出することができ、抽出した各対象画素ブロックＢｉの動きベクトルＶiを高精度に演算することができるようになるとともに、高精度に回転マトリックスＲ（φ）およびシフトベクトルＳを演算できるようになる。なお、ステップＳ２０１によるＤＣＴ処理は、必ずしも分割したすべての画素ブロックに対して行う必要はなく、たとえば、各画素エリアＡｓ内で評価値Ｃrが所定値以上である画素ブロックが８ブロック抽出された時点で処理を終了するようにしてもよい。また、このような場合、対象画像Ｇｔから一様に対象画素ブロックＢｉを抽出するように、たとえば図８に示すように、対象画像Ｇｔ内を中央部および４隅部の５つの画素エリアＡ１〜Ａ５に分割するとよい。なお、図８に示した各画素エリアＡ１〜Ａ５のサイズを示す数値は、解像度をＶＧＡとした対象画像Ｇｔに対して画素エリアＡ１〜Ａ５を設定した一例であり、各画素エリアＡ１〜Ａ５の大きさはこれに限定されるものではない。
【００７７】
つぎに、ステップＳ１１１に示した重み設定処理の変形例について説明する。上述した重み設定処理では、各対象画素ブロックＢｉが含まれる画素エリアＡｓに応じて、各対象画素ブロックＢｉの重み付け係数ｗiを設定するようにしていたが、各対象画素ブロックＢｉの動きベクトルＶiの大きさに応じて重み付け係数ｗiを設定するようにしてもよい。この場合、重み設定部３ｆは、たとえば、各対象画素ブロックＢｉの重み付け係数ｗiをｗi＝Ｖi・Ｖi＝｜Ｖi｜2によって求めるようにすればよい。このような重み設定処理は、動きベクトルＶiが大きいほど画像のブレに対する動きベクトルＶiの信頼度が高いと判断する処理であり、たとえば、木の葉の揺らぎなど細かな動きが多い被写体を撮像した対象画像Ｇｔのブレを補正する場合に有効である。この場合、被写体の動きと同程度に動きベクトルＶiが小さい対象画素ブロックＢｉの重み付け係数ｗiを小さくすることができ、被写体の動きに起因した演算誤差を低減させることができる。
【００７８】
なお、各対象画素ブロックＢｉが含まれる画素エリアＡｓと、各対象画素ブロックＢｉの動きベクトルＶiの大きさとの両方に対応し、たとえば次式（１５）によって、重み付け係数ｗiを設定するようにしてもよい。
ｗi＝ｗarea＋（Ｖi・Ｖi）／ｋ2                              ・・・（１５）
ただし、画素エリアＡｓに応じた重み付け係数をｗareaとし、動きベクトルＶiの大きさを規格化する係数をｋとしている。係数ｋは、動きベクトルＶiの大きさの最大値を画素数単位で想定した数値である。たとえば、動きの激しいスポーツ等を撮影する場合、動きベクトルＶiの大きさが大きくなる可能性が高いので係数ｋの値を大きく設定し、風景等を撮影する場合、動きベクトルＶiの大きさが大きくなる可能性が低いので係数ｋの値を小さく設定するようにすればよく、被写体に応じて適宜変更できるようにするとよい。
【００７９】
また、ステップＳ１１１に示した重み設定処理の別の変形例として、対象画素ブロックＢｉの動きベクトルＶiと、対象画素ブロックＢｉに隣接する各隣接画素ブロックＢｉｊ（ｊ＝１，２，・・・，ｍ）の動きベクトルＶij（ｊ＝１，２，・・・，ｍ）とをもとに、動きベクトルＶiに対する動きベクトルＶijのばらつき程度を示す発散度ｄiを演算し、この発散度ｄiに応じて重み付け係数ｗiを設定するようにしてもよい。ここで、発散度ｄiは、次式（１６）によって演算される特性値である。
【００８０】
【数１４】
2006222933.tif 000016
ただし、＃は反時計周りの９０度の回転変換を示す。また、隣接画素ブロックＢｉｊの個数をｍとしている。この式（１６）によって演算される発散度ｄiは、動きベクトルＶiに対する各動きベクトルＶijの方向のばらつきが大きい場合に大きな値を示し、逆に、動きベクトルＶiと各動きベクトルＶijとの方向が揃っている場合に小さい値を示し、特に、動きベクトルＶiと各動きベクトルＶijとの方向がすべて等しい場合、発散度ｄiの値はゼロとなる。
【００８１】
この発散度ｄiに応じて重み付け係数ｗiを設定する重み設定処理では、重み設定部３ｆは、発散度ｄiが小さいほど重み付け係数ｗiを大きく設定する。すなわち、重み設定部３ｆは、対象画素ブロックＢｉおよびこの周囲近傍の領域の移動方向の統一性が高く、発散度ｄiが小さいほど、画像のブレに対する動きベクトルＶiの信頼度が高いと判断する。このような重み設定処理を用いると、被写体の動きや画像信号のノイズ等に起因する局所的な動きベクトルＶiの演算誤差の影響を軽減することができ、回転マトリックスＲ（φ）およびシフトベクトルＳを高精度に演算して画像のブレを正確に補正することができる。
【００８２】
ここで、発散度ｄiに応じて重み付け係数ｗiを設定する重み設定処理の処理手順の一例を説明する。図９は、図４に示したステップＳ１１１の重み設定処理をサブルーチン化した処理手順を示すフローチャートである。図９に示すように、画像処理制御部３ａの制御のもと、重み設定部３ｆは、重み付け係数ｗiを設定する対象画素ブロックＢｉを選択し（ステップＳ３０１）、選択した対象画素ブロックＢｉに隣接する隣接画素ブロックＢｉｊを抽出する（ステップＳ３０３）。そして、重み設定部３ｆは、ステップ１０９で演算された対象画素ブロックＢｉの動きベクトルＶiを取得し（ステップＳ３０５）、各隣接画素ブロックＢｉｊの動きベクトルＶijを演算し（ステップＳ３０７）、対象画素ブロックＢｉに対する隣接画素ブロックＢｉｊの発散度ｄiを式（１６）によって演算する（ステップＳ３０９）。その後、重み設定部３ｆは、対象画素ブロックＢｉの位置に応じて発散度ｄiの閾値ｄmaxを設定し（ステップＳ３１１）、発散度ｄiと閾値ｄmaxの大きさを比較して（ステップＳ３１３）、発散度ｄiが閾値ｄmaxよりも小さい場合（ステップＳ３１３：Ｙｅｓ）、対象画素ブロックＢｉの位置に対応した重み付け係数ｗareaを設定し（ステップＳ３１５）、対象画素ブロックＢｉの重み付け係数ｗiを式（１５）によって演算して（ステップＳ３１７）、ステップＳ１１１にリターンする。一方、発散度ｄiが閾値ｄmaxよりも小さくない場合（ステップＳ３１３：Ｎｏ）、重み設定部３ｆは、対象画素ブロックＢｉの位置に対応した重み付け係数ｗareaを設定し（ステップＳ３１９）、対象画素ブロックＢｉの重み付け係数ｗiをｗi＝ｗarea／２によって演算して（ステップＳ３２１）、ステップＳ１１１にリターンする。
【００８３】
ステップＳ３０３では、重み設定部３ｆは、たとえば図１０に示すように、隣接画素ブロックＢｉｊを抽出する。すなわち、対象画素ブロックＢｉとしての対象画素ブロックＢ４，Ｂ５，Ｂ６に対し、対象画像Ｇｔの外周エッジに隣接しない対象画素ブロックＢ４では、対象画素ブロックＢ４と同じ大きさの周囲８個の隣接画素ブロックＢ４１〜Ｂ４８を抽出し、対象画素ブロックのエッジに隣接する対象画素ブロックＢ５では、周囲５個の隣接画素ブロックＢ５１〜Ｂ５５を抽出し、対象画像Ｇｔのコーナーに位置する対象画素ブロックＢ６では、周囲３個の隣接画素ブロックＢ６１〜Ｂ６３を抽出する。なお、重み設定部３ｆは、隣接画素ブロックＢｉｊを抽出する代わりに、対象画素ブロックＢｉに隣接しないが周囲近傍にある画素ブロックを近傍画素ブロックとして抽出するようにしてもよい。また、画像処理制御部３ａは、画素ブロック抽出部３ｄに隣接画素ブロックＢｉｊを抽出させ、重み設定部３ｆは、この抽出結果を取得するようにしてもよい。
【００８４】
ステップＳ３１１では、重み設定部３ｆは、ステップＳ３０３で抽出した隣接画素ブロックＢｉｊの個数ｍに応じて閾値ｄmaxを設定し、たとえば、閾値ｄmaxをｄmax＝ｍ・３２2によって設定する。具体的に、図１０に示した対象画素ブロックＢ４，Ｂ５，Ｂ６に対しては、それぞれ閾値ｄmaxをｄmax＝８・３２2，５・３２2，３・３２2に設定する。なお、閾値ｄmaxの設定方法は、これに限定されず、隣接画素ブロックＢｉｊの個数ｍに対応した他の条件式によって設定してもよく、個数ｍ等の隣接画素ブロックＢｉｊの情報を用いずに設定してもよい。また、対象画像の撮像条件等に応じて、閾値ｄmaxの設定条件を適宜変更できるようにしてもよい。
【００８５】
なお、ステップＳ３１３では、重み設定部３ｆは、発散度ｄiと閾値ｄmaxとの関係に応じて、さらに多くの分岐条件を判断するようにしてもよい。また、ステップＳ３１７，Ｓ３２１で用いる重み付け係数ｗiの演算式は、上述した演算式に限定されず、他の演算式を用いてもよい。さらに、ステップＳ３０７では、画像処理制御部３ａは、動きベクトル演算部３ｅに動きベクトルＶijを演算させ、重み設定部３ｆは、この演算結果を取得するようにしてもよい。
【００８６】
また、ステップＳ１１１に示した重み設定処理の他の変形例として、対象画素ブロックＢｉの画像コントラストＣｏｎiに応じて重み付け係数ｗiを設定するようにしてもよい。ここで、画像コントラストＣｏｎiは、種々の方法によって演算し、評価され得るが、たとえば、重み設定部３ｆは、次式（１７）によって画像コントラストＣｏｎiを演算して評価するようにしてもよい。
【００８７】
【数１５】
2006222933.tif 000017
ここで、対象画素ブロックＢｉは８×８画素の画素ブロックであり、この対象画素ブロックの各画素データをｆpq（ｐ，ｑ＝１，２，・・・，８）としている。
【００８８】
また、重み設定部３ｆは、式（１４）に示した評価値ＣrによってＣｏｎi＝Ｃrとして画像コントラストＣｏｎiを評価するようにしてもよい。この場合、ＭＰＥＧ４動画圧縮等、一般の動画像の圧縮符号化処理中に行われるＤＣＴ処理の結果をＤＣＴ係数Ｄuvとして共通に利用することができ、全体処理の簡易化および高速化を促進させることができる。なお、評価値ＣrのようにＤＣＴ係数Ｄuvの高周波成分によって表わした評価値を画像コントラストの評価値として併用する技術は、たとえば、特許文献２に開示されている。
【００８９】
さらに、重み設定部３ｆは、従来の撮像装置が備えるオートフォーカス機構によって処理される画像コントラストを利用して、対象画像Ｂｉの画像コントラストＣｏｎiを評価するようにしてもよい。この場合にも、異なる処理間で評価値を共通に利用することができ、全体処理の簡易化および高速化を促進させることができる。
【００９０】
このように画像コントラストＣｏｎiに応じて重み付け係数ｗiを設定する重み設定処理では、重み設定部３ｆは、対象画素ブロックＢｉの画像コントラストＣｏｎiが高いほど重み付け係数ｗiを大きく設定する。すなわち、重み設定部３ｆは、画像コントラストＣｏｎiが高いほど画像のブレに対する動きベクトルＶiの信頼度が高いと判断する。このような重み設定処理を用いると、ブロックマッチング処理での処理感度が高い対象画素ブロックＢｉほど重み付け係数ｗiを大きく設定することができ、回転マトリックスＲ（φ）およびシフトベクトルＳを高精度に演算して画像のブレを正確に補正することができる。
【００９１】
ここで、画像コントラストＣｏｎiに応じて重み付け係数ｗiを設定する重み設定処理の処理手順の一例を説明する。図１１は、図４に示したステップＳ１１１の重み設定処理をサブルーチン化した処理手順を示すフローチャートである。図１１に示すように、画像処理制御部３ａの制御のもと、重み設定部３ｆは、重み付け係数ｗiを設定する対象画素ブロックＢｉを選択し（ステップＳ４０１）、選択した対象画素ブロックＢｉの画像コントラストＣｏｎiを演算し（ステップＳ４０３）、重み付け係数ｗiをｗi＝ｇ・Ｃｏｎiによって演算し（ステップＳ４０５）、ステップＳ１１１にリターンする。ここで、係数ｇは、ｇ＝１／４程度のゼロより大きな実数値に設定するとよい。ただし、これに限定されず、たとえば、対象画素ブロックＢｉの諸特性値をもとに係数ｇを設定するようにしてもよく、係数ｇを関数値として設定してもよい。
【００９２】
また、ステップＳ１１１に示した重み設定処理の他の変形例として、回転マトリックスＲ（φ）およびシフトベクトルＳの演算精度に対する各対象画素ブロックＢｉの重要度に応じて、画像のブレに対する動きベクトルＶiの信頼度を判断し、この信頼度をもとに重み付け係数ｗiを設定するようにしてもよい。ここで、回転マトリックスＲ（φ）およびシフトベクトルＳの演算精度は、演算に用いる各動きベクトルＶiの信頼度が等しい場合、対応する各対象画素ブロックＢｉの相互間隔が大きいほど向上する。このため、相互間隔が大きな対象画素ブロックＢｉほど演算精度に対する重要度が高く、逆に、この重要度が高い対象画素ブロックＢｉほど重み付け係数ｗiを大きく設定することによって、回転マトリックスＲ（φ）およびシフトベクトルＳを高精度に演算して画像のブレを正確に補正することができる。
【００９３】
さらに、ステップＳ１１１に示した重み設定処理には、ここに示した設定処理方法に限定されず様々な処理方法を用いることができる。また、個々の設定処理方法を組み合わせて各動きベクトルＶiの信頼度を判断し、重み付け係数ｗiを設定するようにしてもよい。
【００９４】
以上説明したこの実施の形態１にかかる撮像装置１では、複数の画像の中から対象画像を選択し、選択した対象画像を画素エリアに分割し、分割した画素エリアから複数の対象画素ブロックを抽出し、抽出した対象画素ブロックの種々の特性値をもとに画像のブレに対する動きベクトルの信頼度を判断し、この信頼度をもとに各画素ブロックの重み付け係数を設定して信頼度に応じた動きベクトルの演算処理を行うため、常に高い精度で対象画像のブレに対応するアフィン変換の変換係数を演算することができ、この演算した変換係数をもとに対象画像をアフィン変換して対象画像のブレを正確に補正することができる。また、対象画素ブロックの位置、動きベクトルの大きさ、画像の高周波成分の割合、画像コントラスト、近傍画素ブロックとの関連性を示す動きベクトルの発散度など、対象画素ブロックの種々の特性値をもとに、対象画素ブロックの抽出および動きベクトルの信頼度の判定を行っているため、被写体あるいは被写体像の様々な動きや状態に適応し、常に高精度で確実に画像のブレを検出して補正することができる。
【００９５】
（実施の形態２）
つぎに、本発明の実施の形態２について説明する。上述した実施の形態１では、対象画像を分割した各画素エリアＡｓから複数の対象画素ブロックＢｉを抽出し、画像のブレに対応するアフィン変換の変換係数を高精度に演算するようにしていたが、この実施の形態２では、対象画像の４つの隅領域から２つの対象画素ブロックＢｉを抽出し、簡易かつ高速にアフィン変換の変換係数を演算するようにしている。
【００９６】
図１２は、対象画像の隅領域から２つの対象画素ブロックを抽出した状態の一例を示す模式図である。図１２に示すように、この実施の形態２では、対象画像Ｇｔの４隅の領域のうち、図上で右下および左上の隅領域から、それぞれ対象画素ブロックＢｉとしての対象画素ブロックＢＳ１，ＢＳ２を抽出している。また、抽出した対象画素ブロックＢＳ１の中心点ＯＳをこの対象画像Ｇｔに対する座標原点に設定して、対象画素ブロックＢＳ２を示す位置ベクトルをＸS2とし、対象画素ブロックＢＳ１，ＢＳ２のそれぞれの動きベクトルをＶS1，ＶS2としている。なお、対象画素ブロックＢＳ１を示す位置ベクトルはゼロベクトルとなる。
【００９７】
対象画素ブロックＢＳ１，ＢＳ２の重み付け係数をそれぞれｗS1，ｗS2とすると、重み付け係数の総和ｗはｗ＝ｗS1＋ｗS2となり、位置重心ベクトルＸcは、式（７）によってＸc＝ｗS2・ＸS2／ｗとなり、動き重心ベクトルＶcは、式（８）によってＶc＝（ＶS1＋ｗS2・ＶS2）／ｗとなる。重み設定処理では、重み設定部３ｆは、各重み付け係数ｗS1，ｗS2の大きさをｗS1≒１、ｗS2≪１とし、それぞれ限りなく「１」および「０」に近づける。この場合、重み付け係数の総和ｗはｗ≒１に近似され、位置重心ベクトルＸcはゼロベクトルに近似され、動き重心ベクトルＶcはＶc≒ＶS1に近似される。これによって、回転マトリックスＲ（φ）の回転角φおよびシフトベクトルＳは、それぞれ式（５）および式（６）を用いた次式（１８）および式（１９）によって表わされる。
Ｓ＝ＶS1                                                      ・・・（１８）
【００９８】
【数１６】
2006222933.tif 000018
【００９９】
このように、この実施の形態２では、対象画像Ｇｔの４隅の領域のうち対角関係にある２つの隅領域から対象画素ブロックＢＳ１，ＢＳ２を抽出し、一方の対象画素ブロックＢＳ１の中心位置を座標原点に設定し、対象画素ブロックＢＳ１，ＢＳ２の重み付け係数ｗS1，ｗS1をそれぞれ限りなく「１」および「０」に近づけることによって、実施の形態１に比して簡易な演算式を用いた回転マトリックスＲ（φ）およびシフトベクトルＳの演算処理を行うことができ、この結果、さらに高速に演算処理を行うことができる。このような高速のブレ補正処理は、たとえば、図２に示した表示モニター５ａによって撮像中の動画像を観察する場合など、リアルタイムで連続してブレを補正する必要がある場合に有効である。
【０１００】
なお、この実施の形態２の重み設定処理では、重み設定部３ｆは、座標原点に設定した対象画素ブロックＢＳ１を重視して演算処理に対する重要度を高く設定し、この重要度に対応して動きベクトルＶS1の信頼度を高く判断した結果として、各重み付け係数ｗS1，ｗS1を限りなく「１」および「０」に近づけるようにしている。
【０１０１】
また、図１２に示した対象画素ブロックＢＳ１，ＢＳ２は、対象画像Ｇｔ内で対角位置にある右下および左上の隅領域から抽出されているが、対象画素ブロックＢｉの抽出方法はこれに限定されず、対象画像Ｇｔ内の４隅の領域のうち任意の２つの隅領域から各１つの対象画素ブロックＢｉを抽出するようにすればよい。すなわち、抽出した２つの対象画素ブロックＢｉは、必ずしも対角位置にある必要はなく、対象画像Ｇｔ内で横方向または縦方向に並んだ位置関係にあってもよい。
【０１０２】
なお、上述した実施の形態１および２では、撮像装置１によって撮像した画像のブレ補正を行うようにしていたが、外部から入力された画像または記憶部８に記憶していた画像のブレ補正を行うようにしてもよい。また、本発明のブレ補正方法を撮像装置１と異なるコンピュータ等の画像処理装置に適用し、この画像処理装置に外部から入力された画像のブレ補正を行うようにしてもよい。この場合、たとえば、撮像装置１によって撮像された画像に対し、表示モニター５ａに出力する場合にブレ補正処理を適用し、携帯型記憶媒体９または通信部７を介して外部に出力する場合にはブレ補正処理を適用せず、出力した外部装置である画像処理装置上でブレ補正処理を行うようにしてもよい。この場合、画像処理部３の処理負荷を軽減し、処理を高速化することができる。
【０１０３】
また、上述した実施の形態１および２の各種ブレ補正処理は、入力部４等から入力されたブレ補正処理のモードの選択情報をもとに、随時選択し切り替えるようにしてもよい。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態１にかかる撮像装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかる撮像装置の概要構成を示す斜視図である。
【図３−１】図１に示した撮像装置によって撮像した動画像の一部の画像である基準画像を示す模式図である。
【図３−２】図１に示した撮像装置によって撮像した動画像の一部の画像である対象画像を示す模式図である。
【図４】図１に示した画像処理部が行う画像のブレの補正処理手順を示すフローチャートである。
【図５】対象画像を分割した画素エリアと対象画素ブロックの一例を示す模式図である。
【図６】対象画像を分割した画素エリアと対象画素ブロックの他の一例を示す模式図である。
【図７】画像に占める高周波成分の割合が高い対象画素ブロックを抽出する処理手順を示すフローチャートである。
【図８】対象画像を分割した画素エリアの他の一例を示す模式図である。
【図９】動きベクトルの発散度に応じて重み付け係数を設定する重み設定処理の処理手順を示すフローチャートである。
【図１０】対象画素ブロックに隣接する隣接画素ブロックの抽出例を示す模式図である。
【図１１】画像コントラストに応じて重み付け係数を設定する重み設定処理の処理手順を示すフローチャートである。
【図１２】対象画像の隅領域から２つの対象画素ブロックを抽出した状態の一例を示す模式図である。
【符号の説明】
【０１０５】
１  撮像装置
２  撮像部
２ａ  撮像光学系
２ｂ  撮像素子
２ｃ  Ａ／Ｄ変換部
３  画像処理部
３ａ  画像処理制御部
３ｂ  画像選択部
３ｃ  画素エリア分割部
３ｄ  画素ブロック抽出部
３ｅ  動きベクトル演算部
３ｆ  重み設定部
３ｇ  変換係数演算部
３ｈ  画像補正演算部
３ｉ  フレームメモリ
４  入力部
４ａ  撮影スイッチ
５  表示部
５ａ  表示モニター
６  音声入出力部
７  通信部
８  記憶部
９  携帯型記録媒体
９ａ  カードインターフェース
Ａ１〜Ａ４  画素エリア
Ｂ１〜Ｂ６，Ｂ０１，Ｂ０２，Ｂ０３，Ｂｉ，ＢＳ１，ＢＳ２，ＩＢ１〜ＩＢ４，ＯＢ１〜ＯＢ８  画素ブロック
Ｇ０，Ｇ１，Ｇｔ  対象画像
Ｏ１，Ｏ２，Ｏｓ  座標原点
Ｖ1〜Ｖ3，ＶS1，ＶS2  動きベクトル
Ｘ，Ｘ1〜Ｘ3  位置ベクトル
【図１】
2006222933.tif 000025
【図２】
2006222933.tif 000026
【図３−１】
2006222933.tif 000027
【図３−２】
2006222933.tif 000028
【図４】
2006222933.tif 000029
【図５】
2006222933.tif 000030
【図６】
2006222933.tif 000031
【図７】
2006222933.tif 000032
【図８】
2006222933.tif 000033
【図９】
2006222933.tif 000034
【図１０】
2006222933.tif 000035
【図１１】
2006222933.tif 000036
【図１２】
2006222933.tif 000037