(57)【要約】【課題】画像処理において、複数の画素を含む領域の特徴量を求めること。【解決手段】平均勾配演算部１、勾配積演算部２および特徴量演算部３を備える。平均勾配演算部１は、複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均を前記領域単位で求める。同様にして、平均勾配演算部１は、第１方向と交差する第２方向の勾配の平均を前記領域単位で求める。平均勾配演算部１は、第１方向の勾配の平均と第２方向の勾配の平均との相関を求める。勾配積演算部２は、前記領域に含まれる各画素のそれぞれの位置での第１方向の勾配と第２方向の勾配との相関の和を求める。特徴量演算部３は、平均勾配演算部１の演算結果と勾配積演算部２の演算結果とに基づいて、前記領域単位における画像の特徴量を求める。【選択図】図１
2010204718.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算部、
前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算部、
前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算部、
として機能させることを特徴とする画像処理プログラム。
【請求項２】
前記特徴量演算部は、前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果との差が小さい場合に、前記領域単位における画像の特徴量が大きいと判定することを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
前記勾配積演算部は、前記第１方向の勾配と前記第２方向の勾配との相関として、前記第１方向の勾配と前記第２方向の勾配との積を求めることを特徴とする請求項１または２に記載の画像処理プログラム。
【請求項４】
前記平均勾配演算部は、前記第１方向の勾配の平均として、前記領域の前記第１方向の一方の端部に位置する画素の値と前記領域の前記第１方向の他方の端部の外側に隣接する画素の値との差分の和を求め、前記第２方向の勾配の平均として、前記領域の前記第２方向の一方の端部に位置する画素の値と前記領域の前記第２方向の他方の端部の外側に隣接する画素の値との差分の和を求めることを特徴とする請求項１〜３のいずれか一つに記載の画像処理プログラム。
【請求項５】
前記平均勾配演算部は、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関として、前記第１方向の勾配の平均と前記第２方向の勾配の平均との積を求めることを特徴とする請求項１〜４のいずれか一つに記載の画像処理プログラム。
【請求項６】
前記特徴量演算部は、前記領域単位における画像の特徴量として、前記勾配積演算部の演算結果に対してビットサーチを行った結果と前記平均勾配演算部の演算結果に対してビットサーチを行った結果との差分を求めることを特徴とする請求項１〜５のいずれか一つに記載の画像処理プログラム。
【請求項７】
複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算部と、
前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算部と、
前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算部と、
を備えることを特徴とする画像処理装置。
【請求項８】
前記勾配積演算部は、
前記第１方向の勾配と前記第２方向の勾配との積を求める第１乗算部と、
該第１乗算部の出力結果を累積する第１累積部と、
を備えることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記平均勾配演算部は、
前記領域の前記第１方向の一方の端部に位置する画素の値と前記領域の前記第１方向の他方の端部の外側に隣接する画素の値との差分の和を求める第２累積部と、
前記領域の前記第２方向の一方の端部に位置する画素の値と前記領域の前記第２方向の他方の端部の外側に隣接する画素の値との差分の和を求める第３累積部と、
前記第２累積部の出力結果と前記第３累積部の出力結果との積を求める第２乗算部と、
備えることを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算ステップと、
前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算ステップと、
前記平均勾配演算ステップでの演算結果と前記勾配積演算ステップでの演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算ステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理プログラム、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来、画像の特徴量を求める方法の一つとしてＫａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ（ＫＬＴ）法が知られている。ＫＬＴ法では、座標（ｉ，ｊ）の特徴量Ｒi,jは、次の（１）式で求められる。ただし、ｉおよびｊは、それぞれ縦方向および横方向の座標値であり、ともに整数である。
【０００３】
【数１】
2010204718.tif 000003
【０００４】
上記（１）式において、Ｘi,jおよびＹi,jは、それぞれ座標（ｉ，ｊ）の画素に対する画素値の横方向の勾配ｘの二乗和および縦方向の勾配ｙの二乗和である。また、ＸＹi,jは、座標（ｉ，ｊ）の画素に対する画素値の横方向の勾配ｘと縦方向の勾配ｙとの積の和である。対象とする画像の領域が７画素×７画素である場合、横方向の勾配ｘおよび縦方向の勾配ｙは、対象画素に対してそれぞれ７×１のフィルタおよび１×７のフィルタをかけてノイズの影響を小さくした後に、算出される。
【０００５】
Ｘi,j、Ｙi,jおよびＸＹi,jは、それぞれ次の（２）式、（３）式および（４）式で表される。
【０００６】
【数２】
2010204718.tif 000004
【０００７】
【数３】
2010204718.tif 000005
【０００８】
【数４】
2010204718.tif 000006
【０００９】
上記（１）式より、Ｘi,jまたはＹi,jが０である場合、特徴量Ｒi,jが０となる。また、上記（２）〜（４）式より、横方向の勾配ｘと縦方向の勾配ｙが同じである場合には、次の（５）式が成り立つので、上記（１）式より、特徴量Ｒi,jが０となる。つまり、ＫＬＴ法では、縦方向の傾きと横方向の傾きがともにあり、かつ縦方向の傾きと横方向の傾きとで大きさが異なる点を画像の特徴点としている（例えば、非特許文献１、非特許文献２参照）。
【００１０】
【数５】
2010204718.tif 000007
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Ｂｒｕｃｅ  Ｄ．Ｌｕｃａｓ、外１名、「Ａｎ  Ｉｔｅｒａｔｉｖｅ  Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｗｉｔｈ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｓｔｅｒｅｏ  Ｖｉｓｉｏｎ」、Ｐｒｏｃ  ７ｔｈ  Ｉｎｔｌ  Ｊｏｉｎｔ  Ｃｏｎｆ  ｏｎ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ（ＩＪＣＡＩ）、１９８１年８月２４〜２８日、Ｖａｎｃｏｕｖｅｒ、Ｂｒｉｔｉｓｈ  Ｃｏｌｕｍｂｉａ、ｐ．６７４−６７９
【非特許文献２】Ｃａｒｌｏ  Ｔｏｍａｓｉ、外１名、「Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｔｒａｃｋｉｎｇ  ｏｆ  Ｐｏｉｎｔ  Ｆｅａｔｕｒｅｓ」、Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＣＭＵ−ＣＳ−９１−１３２、１９９１年４月、ｐ．１−２０
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来の技術では、対象とする画像の領域を５画素×５画素や３画素×３画素と小さくしても、横方向や縦方向の勾配の二乗和を計算したり、平方根を計算するため、演算量が多くなり、特徴量を求めるのに時間がかかるという問題点がある。また、作業領域として記憶容量の大きいメモリが必要になるという問題点がある。
【課題を解決するための手段】
【００１３】
この画像処理プログラム、画像処理装置および画像処理方法は、複数の画素を含む領域に対して求めた第１方向の勾配の平均と第２方向の勾配の平均との相関と、前記領域に含まれる各画素のそれぞれの位置での第１方向の勾配と第２方向の勾配との相関の和とに基づいて、前記領域の画像の特徴量を求めるものである。
【発明の効果】
【００１４】
この画像処理プログラム、画像処理装置および画像処理方法によれば、複数の画素を含む領域の特徴量を求めることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１におけるブロック図である。
【図２】本発明の実施の形態１におけるブロック図である。
【図３】本発明の実施の形態１におけるフローチャートである。
【図４】本発明の実施の形態２におけるフローチャートである。
【図５】本発明の実施の形態２におけるフローチャートである。
【図６】本発明の実施の形態２におけるフローチャートである。
【図７】本発明の実施の形態２におけるフローチャートである。
【図８】本発明の実施の形態２におけるフローチャートである。
【図９】縦縞の画像例の説明図である。
【図１０】斜め縞の画像例の説明図である。
【図１１】孤立点の画像例の説明図である。
【図１２】斜め直線の画像例の説明図である。
【図１３】斜めの画像例の説明図である。
【図１４】角の画像例の説明図である。
【図１５】三角の画像例の説明図である。
【図１６】ランダムな画像例の説明図である。
【図１７】実施の形態２とＫＬＴ法とで計算量を比較した図表である。
【図１８】本発明の実施の形態３におけるブロック図である。
【図１９】本発明の実施の形態３におけるブロック図である。
【図２０】本発明の実施の形態３における画像例の説明図である。
【図２１】本発明の実施の形態３におけるタイミングチャートである。
【図２２】本発明の実施の形態３におけるタイミングチャートである。
【図２３】本発明の実施の形態４におけるブロック図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この画像処理プログラム、画像処理装置および画像処理方法の好適な実施の形態を詳細に説明する。
【００１７】
（実施の形態１）
図１は、本発明の実施の形態１におけるブロック図である。図１に示すように、画像処理装置は、平均勾配演算部１、勾配積演算部２および特徴量演算部３を備えている。平均勾配演算部１は、複数の画素を含む領域内の各画素の値に基づいて、該領域の第１方向の勾配の平均と、第１方向と交差する第２方向の勾配の平均との相関を求める。勾配積演算部２は、前記領域内の各画素の値に基づいて、該領域の各画素位置での第１方向の勾配と第２方向の勾配との相関の和を求める。特徴量演算部３は、第１方向の勾配の平均と第２方向の勾配の平均との相関と、第１方向の勾配と第２方向の勾配との相関の和とに基づいて、前記領域における画像の特徴量を求める。
【００１８】
図２は、本発明の実施の形態１におけるブロック図である。図２に示すように、画像処理装置は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１１などの演算処理装置、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１２などの読み出し専用メモリ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１３などの作業用メモリおよびバス１４を備えている。ＣＰＵ１１は、バス１４を介してＲＯＭ１２およびＲＡＭ１３に接続されている。図１に示す画像処理装置において、平均勾配演算部１、勾配積演算部２および特徴量演算部３は、例えば、ＣＰＵ１１がＲＡＭ１３を作業用メモリとして、ＲＯＭ１２に格納されている画像処理プログラムを実行することにより、実現される。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３およびバス１４は、パーソナルコンピュータやワークステーションなどのコンピュータの一部であってもよいし、デジタルカメラやデジタルビデオカメラなどの撮像装置や、ビデオ映像の録画装置や録画再生装置などの電子機器のように、画像処理を行う装置の一部であってもよい。
【００１９】
図３は、本発明の実施の形態１におけるフローチャートである。図３に示すように、画像処理が開始されると、まず、平均勾配演算部１により、前記領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均が算出される。平均勾配演算部１により、第１方向の場合と同様にして、第２方向の勾配の平均が算出される。平均勾配演算部１により、第１方向の勾配の平均と第２方向の勾配の平均との相関が算出される（ステップＳ１）。また、勾配積演算部２により、前記領域に含まれる各画素のそれぞれの位置での第１方向の勾配と第２方向の勾配との相関の和が算出される（ステップＳ２）。次いで、ステップＳ１で算出された第１方向の勾配の平均と第２方向の勾配の平均との相関と、ステップＳ２で算出された第１方向の勾配と第２方向の勾配との相関の和とに基づいて、特徴量演算部３により、前記領域における画像の特徴量が算出される（ステップＳ３）。そして、一連の画像処理が終了する。なお、ステップＳ１とステップＳ２は、いずれが先に処理されてもよいし、画像処理装置が同時に複数の処理を実行可能な構成である場合には、同時に処理されてもよい。処理対象の領域が複数存在する場合には、領域ごとに上述したステップＳ１〜ステップＳ３の処理が行われる。
【００２０】
実施の形態１によれば、複数の画素を含む領域の特徴量を求めることができるという効果を奏する。また、二乗和の計算や平方根の計算を行わずに特徴量を求めることができるので、少ない演算量で特徴量を求めることができる。従って、短時間で特徴量を求めることができるという効果を奏する。また、作業用メモリの容量を小さくすることができるという効果を奏する。なお、平均勾配演算部１、勾配積演算部２および特徴量演算部３は、ハードウェアにより実現することもできる。ハードウェアで実現する場合には、回路規模が小さくなるという効果を奏する。
【００２１】
（実施の形態２）
実施の形態２では、第１方向および第２方向をそれぞれ画像の横方向および縦方向とする。また、画像処理装置に入力される元の画像の大きさをＡ画素×Ｂ画素とする。元の画像を複数に分割した個々の領域をブロックとし、各ブロックの大きさをＣ画素×Ｄ画素とする。ただし、Ａ、Ｂ、ＣおよびＤは、２以上の整数であり、Ｃ＜ＡおよびＤ＜Ｂである。実施の形態２における画像処理装置の構成は、実施の形態１と同様である。
【００２２】
図４〜図８は、本発明の実施の形態２におけるフローチャートである。図４および図５は、画像処理手順の全体のフローチャートであり、図５は、図４の続きである。図４に示すように、画像処理が開始されると、まず、元の画像の横方向の画素数Ａと縦方向の画素数Ｂが設定される（ステップＳ１１、ステップＳ１２）。また、ブロックの横方向の画素数Ｃと縦方向の画素数Ｄが設定される（ステップＳ１３）。ブロックの大きさ、すなわちＣの値およびＤの値は、任意に設定可能である。ステップＳ１１〜ステップＳ１３については、順序は問わない。次いで、Ａ、Ｂ、ＣおよびＤの値に基づいて、元の画像がブロックに分割される（ステップＳ１４）。分割にあたっては、元の画像を格子状に分割してもよいし、所定の画素数ずつ、例えば１画素ずつ横方向および縦方向にずらして分割してもよい。
【００２３】
次いで、処理対象のブロックについて、元の画像に対する横方向の座標値Ｅおよび縦方向の座標値Ｆがそれぞれ例えば０に設定される（ステップＳ１５、ステップＳ１６）。次いで、処理対象のブロックについて、縦方向の勾配の平均Ｓｙi,jおよび横方向の勾配の平均Ｓｘi,jがそれぞれ例えば０に設定される（ステップＳ１７、ステップＳ１８）。また、処理対象のブロックについて、各画素の横方向の勾配と縦方向の勾配との積の和ｘｙi,jが例えば０に設定される（ステップＳ１９）。ステップＳ１７〜ステップＳ１９については、順序は問わない。なお、添付図面においては、表記を簡略化するため、横方向の勾配の平均、縦方向の勾配の平均、および横方向の勾配と縦方向の勾配との積の和を、それぞれ平均横勾配、平均縦勾配および縦横勾配積と表している。次いで、処理対象のブロックについて、横方向の勾配の平均、縦方向の勾配の平均、および各画素のそれぞれの位置（座標点）での横方向の勾配と縦方向の勾配との積の和が算出される（ステップＳ２０〜ステップＳ２２）。ステップＳ２０〜ステップＳ２２については、順序は問わない。
【００２４】
図６は、横方向の勾配の平均を算出する処理のフローチャートである。便宜上、ブロックの大きさを７画素×７画素として説明するが、これに限らない。例えば、ブロックの大きさは、３画素×３画素でもよいし、５画素×５画素でもよいし、その他の画素数でもよい。また、ブロックの画素数が縦方向と横方向とで異なっていてもよい。横方向の勾配の平均を算出する処理が開始されると、まず、処理対象のブロックについて、画素の値Ｖa,bが設定される（ステップＳ３１）。ただし、ａは、処理対象のブロックの中心に位置する画素の縦方向の座標値ｉに対して、ｉ−３〜ｉ＋３の整数である。ｂは、処理対象のブロックの中心に位置する画素の横方向の座標値ｊに対して、ｊ−４〜ｊ＋３の整数である。画素の値Ｖa,bとしては、例えば輝度や明度や色差などの値が挙げられる。次いで、ａがｉ−３に設定される（ステップＳ３２）。
【００２５】
次いで、横方向の勾配の平均Ｓｘi,jに、縦方向の座標値がａであり、かつ横方向の座標値がｊ＋３である画素の値Ｖa,j+3が加算される（ステップＳ３３）。これは、処理対象のブロックにおいて、横方向の勾配の平均Ｓｘi,jに、縦方向の座標値がａである横方向のラインの右端に位置する画素の値を加算したことになる。次いで、横方向の勾配の平均Ｓｘi,jから、縦方向の座標値がａであり、かつ横方向の座標値がｊ−４である画素の値Ｖa,j-4が減算される（ステップＳ３４）。これは、処理対象のブロックにおいて、横方向の勾配の平均Ｓｘi,jから、縦方向の座標値がａである横方向のラインの左端の一つ左側に位置する画素の値を減算したことになる。つまり、ステップＳ３３およびステップＳ３４の処理を行うことによって、横方向のラインの右端に位置する画素と左端の一つ左側に位置する画素との間の勾配が算出されて累積される。
【００２６】
ａがｉ＋４よりも小さい間、ａを１ずつインクリメントしながらステップＳ３３およびステップＳ３４の処理を繰り返すことによって、処理対象のブロックについて、横方向の勾配の平均Ｓｘi,jが得られる。ステップＳ３３およびステップＳ３４については、順序は問わない。なお、厳密には、Ｓｘi,jは、横方向の勾配の総和であるが、この総和を横方向のライン数で除した値が平均であるので、総和も平均も本質的には同じものである。横方向の勾配の平均を算出する処理の演算内容を式で表すと、次の（６）式となる。（６）式において、ｘa,bは、座標（ａ，ｂ）における横方向の勾配である。つまり、各横方向のラインの右端に位置する画素の値と左端の一つ左側に位置する画素の値との差分を求め、その差分を全て加算することは、ブロック内の全ての画素について横方向に隣接する画素同士の値の差分を求め、その差分を全て加算することに等しい。
【００２７】
【数６】
2010204718.tif 000008
【００２８】
図７は、縦方向の勾配の平均を算出する処理のフローチャートである。便宜上、ブロックの大きさを７画素×７画素として説明するが、これに限らない。縦方向の勾配の平均を算出する処理が開始されると、まず、処理対象のブロックについて、画素の値Ｖa,bが設定される（ステップＳ４１）。ただし、ａは、処理対象のブロックの中心に位置する画素の縦方向の座標値ｉに対して、ｉ−４〜ｉ＋３の整数である。ｂは、処理対象のブロックの中心に位置する画素の横方向の座標値ｊに対して、ｊ−３〜ｊ＋３の整数である。次いで、ｂがｊ−３に設定される（ステップＳ４２）。
【００２９】
次いで、縦方向の勾配の平均Ｓｙi,jに、横方向の座標値がｂであり、かつ縦方向の座標値がｉ＋３である画素の値Ｖi+3,bが加算される（ステップＳ４３）。これは、処理対象のブロックにおいて、縦方向の勾配の平均Ｓｙi,jに、横方向の座標値がｂである縦方向のラインの下端に位置する画素の値を加算したことになる。次いで、縦方向の勾配の平均Ｓｙi,jから、横方向の座標値がｂであり、かつ縦方向の座標値がｉ−４である画素の値Ｖi-4,bが減算される（ステップＳ４４）。これは、処理対象のブロックにおいて、縦方向の勾配の平均Ｓｙi,jから、横方向の座標値がｂである縦方向のラインの上端の一つ上側に位置する画素の値を減算したことになる。つまり、ステップＳ４３およびステップＳ４４の処理を行うことによって、縦方向のラインの下端に位置する画素と上端の一つ上側に位置する画素との間の勾配が算出されて累積される。
【００３０】
ｂがｊ＋４よりも小さい間、ｂを１ずつインクリメントしながらステップＳ４３およびステップＳ４４の処理を繰り返すことによって、処理対象のブロックについて、縦方向の勾配の平均Ｓｙi,jが得られる。ステップＳ４３およびステップＳ４４については、順序は問わない。なお、Ｓｘi,jと同様に、Ｓｙi,jも縦方向の勾配の総和であるが、本質的に平均と同じである。縦方向の勾配の平均を算出する処理の演算内容を式で表すと、次の（７）式となる。（７）式において、ｙa,bは、座標（ａ，ｂ）における縦方向の勾配である。つまり、各縦方向のラインの下端に位置する画素の値と上端の一つ上側に位置する画素の値との差分を求め、その差分を全て加算することは、ブロック内の全ての画素について縦方向に隣接する画素同士の値の差分を求め、その差分を全て加算することに等しい。
【００３１】
【数７】
2010204718.tif 000009
【００３２】
図８は、各画素位置での横方向の勾配と縦方向の勾配との積の和を算出する処理のフローチャートである。便宜上、ブロックの大きさを７画素×７画素として説明するが、これに限らない。横方向の勾配と縦方向の勾配との積の和を算出する処理が開始されると、まず、処理対象のブロックについて、画素の値Ｖa,bが設定される（ステップＳ５１）。ただし、ａは、処理対象のブロックの中心に位置する画素の縦方向の座標値ｉに対して、ｉ−３〜ｉ＋３の整数である。ｂは、処理対象のブロックの中心に位置する画素の横方向の座標値ｊに対して、ｊ−３〜ｊ＋３の整数である。次いで、ａがｉ−３に設定され、ｂがｊ−３に設定される（ステップＳ５２、ステップＳ５３）。ステップＳ５２およびステップＳ５３については、順序は問わない。
【００３３】
次いで、横方向の勾配と縦方向の勾配との積の和ｘｙi,jに、縦方向の座標値がａであり、かつ横方向の座標値がｂである画素の横方向の勾配と縦方向の勾配との積が加算される（ステップＳ５４）。縦方向の勾配は、縦方向の座標値がａであり、かつ横方向の座標値がｂである画素の値Ｖa,bから、縦方向の座標値がａ−１であり、かつ横方向の座標値がｂである画素の値Ｖa-1,bを減算した値となる。横方向の勾配は、Ｖa,bから、縦方向の座標値がａであり、かつ横方向の座標値がｂ−１である画素の値Ｖa,b-1を減算した値となる。
【００３４】
ｂがｊ＋４よりも小さい間、ｂを１ずつインクリメントし、また、ａがｉ＋４よりも小さい間、ａを１ずつインクリメントしながらステップＳ５４の処理を繰り返すことによって、処理対象のブロックについて、横方向の勾配と縦方向の勾配との積の和ｘｙi,jが得られる。各画素位置での横方向の勾配と縦方向の勾配との積の和を算出する処理の演算内容を式で表すと、次の（８）式となる。（８）式において、ｘa,bおよびｙa,bは、それぞれ座標（ａ，ｂ）における横方向および縦方向の勾配である。
【００３５】
【数８】
2010204718.tif 000010
【００３６】
図５のフローチャートに戻り、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,jおよび横方向の勾配と縦方向の勾配との積の和ｘｙi,jの各戻り値が得られたら、ブロックの特徴量が算出される（ステップＳ２３）。ブロックの特徴量Ｒi,jは、例えば次の（９）式の演算を行うことにより得られる。
【００３７】
【数９】
2010204718.tif 000011
【００３８】
あるいは、対数関数を用いると、割り算は引き算に変換される。従って、ブロックの特徴量Ｒi,jは、次の（１０）式で表される演算を行うことによっても得られる。（１０）式において、「×７×７」の部分は、ブロックの横方向の画素数と縦方向の画素数の積であるので、ブロックの横方向および縦方向の画素数がそれぞれＣおよびＤであれば、「×Ｃ×Ｄ」となる。また、１．５を掛けているのは、整数化する際の四捨五入に相当する。
【００３９】
【数１０】
2010204718.tif 000012
【００４０】
また、上記（１０）式において、３．３２２×ｌｏｇ10Ｚは、ｌｏｇ2Ｚにほぼ等しいので、３．３２２×ｌｏｇ10（１．５×７×７×｜ｘｙi,j｜）および３．３２２×ｌｏｇ10（１．５×｜Ｓｘi,j×Ｓｙi,j｜）は、例えばＣＰＵのビットサーチ機能により求めることができる。従って、特徴量Ｒi,jは、ビットサーチを実行することによっても得られる。具体的には、２進数で表された上記（１０）式の第１項目の値に対して、Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ（ＭＳＢ、最上位ビット）からＬｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ（ＬＳＢ、最下位ビット）方向に１が立っている最初のビット位置が探索される。ビットの値が１である最初のビット位置が見つかったら、その最初に１となったビット位置がＫとされる。また、Ｋよりも一つＬＳＢ側のビットの値も１である場合には、Ｋに１が加算される。これは、上述した四捨五入に相当する。全てのビットの値が０である場合には、Ｋは０にされる。ビットサーチの結果は、Ｋ＋１で与えられる。上記（１０）式の第２項目の値に対しても同様である。そして、第１項目に対するビットサーチ結果から第２項目に対するビットサーチ結果を減算した値の絶対値がブロックの特徴量Ｒi,jである。
【００４１】
上述したいずれかの方法によってブロックの特徴量Ｒi,jが求められたら、次のブロックへ移動し（ステップＳ２４）、新たなブロックに対して上述したステップＳ１５以降の処理が行われる。全てのブロックについて、特徴量Ｒi,jが求められたら、一連の処理が終了する。
【００４２】
図９〜図１６に具体例を示す。これらの具体例では、例えばブロックの大きさを７画素×７画素とする。また、図９〜図１６において、符号２１は、画素の値の一覧である。符号２２、２３および２４は、それぞれ画素の値の一覧２１に対する横方向の勾配の一覧、縦方向の勾配の一覧、および横方向の勾配と縦方向の勾配との積の一覧である。上記（１０）式の演算において、３．３２２×ｌｏｇ10ＺのＺが１以下である場合には、Ｚは１であるとする。これは、対数の計算が破綻しないための便宜上の措置であり、本質的なことではない。
【００４３】
図９は、縦縞の画像の例である。図９に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ９８０、０および０となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、０となる。つまり、縦方向の勾配の平均Ｓｙi,jが０の場合には、ブロックの特徴量Ｒi,jは０となる。横縞の画像の場合には、横方向の勾配の平均Ｓｘi,jが０となり、ブロックの特徴量Ｒi,jは０となる。
【００４４】
図１０は、斜め縞の画像の例である。図１０に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ７００、５６０および８０００となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、０となる。
【００４５】
図１１は、孤立点の画像の例である。図１１に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ０、０および１００００となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、１８となる。
【００４６】
図１２は、斜め直線の画像の例である。図１２に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ１００、１００および１１００００となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、９となる。
【００４７】
図１３は、斜めの画像の例である。図１３に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ１４２０、１４２０および１３２１００となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、２となる。
【００４８】
図１４は、角の画像の例である。図１４に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ３００、３００および０となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、１６となる。
【００４９】
図１５は、三角の画像の例である。図１５に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ０、７７０および１５３００となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、１９となる。
【００５０】
図１６は、ランダムな画像の例である。図１６に示す例では、上記（６）式、上記（７）式および上記（８）式より、横方向の勾配の平均Ｓｘi,j、縦方向の勾配の平均Ｓｙi,j、および横方向の勾配と縦方向の勾配との積の和ｘｙi,jは、それぞれ１、９および４１５７８３となる。従って、上記（１０）式より、ブロックの特徴量Ｒi,jは、２１となる。
【００５１】
図９〜図１６の例から明らかなように、横方向の勾配の平均Ｓｘi,jおよび縦方向の勾配の平均Ｓｙi,jと、横方向の勾配と縦方向の勾配との積の和ｘｙi,jとの間に完全に相関がある場合には、ブロックの特徴量Ｒi,jは０となる。また、横方向の勾配の平均Ｓｘi,jおよび縦方向の勾配の平均Ｓｙi,jと、横方向の勾配と縦方向の勾配との積の和ｘｙi,jとの間に相関がある場合、ブロックの特徴量Ｒi,jは、その相関の程度に応じた値となる。相関が大きい場合には、ブロックの特徴量Ｒi,jは小さい値となり、相関が小さい場合には、ブロックの特徴量Ｒi,jは大きい値となる。
【００５２】
図１７は、実施の形態２の特徴量の算出方法とＫＬＴ法とで、ブロック１個あたりの特徴量Ｒi,jを算出した場合の計算量を比較した表である。実施の形態２では、ビットサーチを利用して上記（１０）式の計算を行い、ＫＬＴ法では、上記（１）式の計算を行った。ブロックの大きさを、Ｎ画素×Ｎ画素とした。また、ＫＬＴ法では、前処理のフィルタでの計算量（２×Ｎ×Ｎ×Ｎ加算）を含めた。図１７から明らかなように、ＫＬＴ法では、二乗和や平方根などの重い処理を何度も行う必要がある。それに対して、実施の形態２では、二乗和や平方根の計算がないので、ほとんど軽い処理のみで済む。従って、実施の形態２によれば、複数の画素を含む領域の特徴量を従来よりも短時間で求めることができる。また、作業領域として使用されるメモリの容量を従来よりも小さくすることができる。
【００５３】
（実施の形態３）
図１８は、本発明の実施の形態３におけるブロック図である。実施の形態３は、実施の形態２で説明した画像処理装置をハードウェアで構成したものである。図１８に示すように、画像処理装置は、読み出し部３１、第１差分算出部３２、１データメモリ３３、第２差分算出部３４、ラインバッファメモリ３５、第１乗算部３６、第１累積部３７、第１絶対値演算部３８および第１ビットサーチ部３９を備えている。
【００５４】
読み出し部３１は、元の画像の値が格納されているメモリから、分割されたブロック内の各画素の値を読み出す。読み出し部３１は、例えばブロックの左端のさらに一つ左側の画素から横方向へ順にブロックの右端の画素まで画素の値を読み出すのを、ブロックの上端のさらに一つ上側の横方向のラインから縦方向へ順にブロックの下端の横方向のラインまで繰り返すようにしてもよい。
【００５５】
１データメモリ３３は、読み出し部３１から読み出された画素の値を保持し、読み出し部３１から次の画素の値が読み出されるサイクルで画素の値を出力する。第１差分算出部３２は、読み出し部３１から読み出された画素の値と、１データメモリ３３から出力された画素の値との差分を算出する。第１差分算出部３２は、例えば、読み出し部３１から読み出された画素の値から、１データメモリ３３から出力された画素の値を減算してもよい。第１差分算出部３２は、例えば加算回路を備えている。
【００５６】
ラインバッファメモリ３５は、読み出し部３１から読み出された１ライン分の画素の値を保持し、読み出し部３１から読み出された順に、読み出し部３１から次のラインの画素の値が読み出されるサイクルで画素の値を出力する。読み出し部３１が上述した順序で画素の値を読み出す場合には、ラインバッファメモリ３５には、横方向の１ライン分の画素の値が保持される。
【００５７】
第２差分算出部３４は、読み出し部３１から読み出された１ライン分の画素の値と、ラインバッファメモリ３５から出力された１ライン分の画素の値との差分を算出する。第２差分算出部３４は、例えば、読み出し部３１から読み出された画素の値から、ラインバッファメモリ３５から出力された画素の値を減算してもよい。第２差分算出部３４は、例えば加算回路を備えている。
【００５８】
第１乗算部３６は、第１差分算出部３２から出力された値と、第２差分算出部３４から出力された値との乗算を行う。第１累積部３７は、第１乗算部３６から出力された値の累積加算値を算出する。第１累積部３７は、例えば加算回路を備えている。第１絶対値演算部３８は、第１累積部３７から出力された値の絶対値を求める。第１累積部３７からは、実施の形態２で説明した、横方向の勾配と縦方向の勾配との積の和ｘｙi,jが出力される。第１ビットサーチ部３９は、第１絶対値演算部３８から出力された値に対して、ビットサーチを行う。
【００５９】
また、画像処理装置は、第２累積部４０、第３累積部４１、第２乗算部４２、第２絶対値演算部４３および第２ビットサーチ部４４を備えている。第２累積部４０は、読み出し部３１から読み出された横方向のラインの画素のうち、左右両端の画素の値の差分を求める。第２累積部４０は、例えば、読み出し部３１から読み出された横方向のラインの画素のうち、ブロックの左端のさらに一つ左側の画素の値から、ブロックの右端の画素の値を減算してもよい。第２累積部４０は、横方向のラインごとに求めた差分の累積加算値を算出する。第２累積部４０は、例えば加算回路を備えている。
【００６０】
第３累積部４１は、読み出し部３１から読み出された縦方向のラインの画素のうち、上下両端の画素の値の差分を求める。第３累積部４１は、例えば、読み出し部３１から読み出された縦方向のラインの画素のうち、ブロックの上端のさらに一つ上側の画素の値から、ブロックの下端の画素の値を減算してもよい。第３累積部４１は、縦方向のラインごとに求めた差分の累積加算値を算出する。第３累積部４１は、例えば加算回路を備えている。
【００６１】
第２乗算部４２は、第２累積部４０から出力された値と、第３累積部４１から出力された値との乗算を行う。第２累積部４０および第３累積部４１からは、それぞれ実施の形態２で説明した、横方向の勾配の平均Ｓｘi,jおよび縦方向の勾配の平均Ｓｙi,jが出力される。第２絶対値演算部４３は、第２乗算部４２から出力された値の絶対値を求める。第２ビットサーチ部４４は、第２絶対値演算部４３から出力された値に対して、ビットサーチを行う。
【００６２】
また、画像処理装置は、第３差分算出部４５、第３絶対値演算部４６および特徴量メモリ４７を備えている。第３差分算出部４５は、第１ビットサーチ部３９から出力された値と、第２ビットサーチ部４４から出力された値との差分を算出する。第３差分算出部４５は、例えば、第１ビットサーチ部３９から出力された値から、第２ビットサーチ部４４から出力された値を減算してもよい。第３差分算出部４５は、例えば加算回路を備えている。
【００６３】
第３絶対値演算部４６は、第３絶対値演算部４６から出力された値の絶対値を求める。第３絶対値演算部４６からは、実施の形態２で説明した、ブロックの特徴量Ｒi,jが出力される。特徴量メモリ４７は、第３絶対値演算部４６から出力された値を記憶する。第１差分算出部３２、１データメモリ３３、第２差分算出部３４、ラインバッファメモリ３５、第１乗算部３６および第１累積部３７は、勾配積演算部として動作する。第２累積部４０、第３累積部４１および第２乗算部４２は、平均勾配演算部として動作する。第１絶対値演算部３８、第１ビットサーチ部３９、第２絶対値演算部４３、第２ビットサーチ部４４、第３差分算出部４５および第３絶対値演算部４６は、特徴量演算部として動作する。第１ビットサーチ部３９または第２ビットサーチ部４４の一例について説明する。
【００６４】
図１９は、本発明の実施の形態３におけるブロック図である。第１ビットサーチ部３９と第２ビットサーチ部４４とは同様の構成であるので、第１ビットサーチ部３９について説明する。図１９に示すように、第１ビットサーチ部３９は、例えば複数のフリップフロップ５１，５２，５３を備えたシフトレジスタと、ダウンカウンタ５４を備えている。シフトレジスタには、第１ビットサーチ部３９に入力されるデータのビット数分のフリップフロップが直列に接続されている。各フリップフロップ５１，５２，５３には、ロード（ＬＯＡＤ）端子を介して第１絶対値演算部３８の出力データが１ビットずつ入力される。クロックに同期して、例えばクロックの立ち上がりタイミングでＬＳＢ側のフリップフロップ５１からＭＳＢ側のフリップフロップ５３へ向かって、一つずつデータがシフトされる。ＭＳＢ側のフリップフロップ５３の出力データは、ダウンカウンタ５４のストップ（ＳＴＯＰ）端子に入力される。
【００６５】
ダウンカウンタ５４には、シフトレジスタにおけるフリップフロップの段数に対応する値が初期値として設定される。ダウンカウンタ５４は、クロックに同期して、例えばクロックの立ち上がりタイミングで１ずつカウント値を小さくする。ダウンカウンタ５４は、ストップ端子に０が入力されている間はカウント値を減らしていき、ストップ端子に１が入力されると停止する。従って、ダウンカウンタ５４が停止したときのダウンカウンタ５４のカウント値から、第１ビットサーチ部３９への入力データのビット列において、ＭＳＢからＬＳＢに向かって最初に１が立っているビットの位置が求められる。ただし、図１９に示す構成では、最初に１が立っているビットの一つＬＳＢ側のビットの値が１である場合の四捨五入に相当する動作は、行われない。
【００６６】
図２０は、本発明の実施の形態３における画像例の説明図である。図２１および図２２は、本発明の実施の形態３におけるタイミングチャートであり、図２２は、図２１の続きである。便宜上、ブロックの大きさを例えば３画素×３画素とする。図２０に示すように、ブロック６１に含まれる各画素６２を実線の四角で表し、各画素の値を、Ｖ１１、Ｖ１２、Ｖ１３、Ｖ２１、・・・・、Ｖ３３とする。破線の四角で示す、ブロック６１の左端および上端のそれぞれ外側の画素６３は、画素の値の横方向の勾配および縦方向の勾配を求めるのに必要な画素である。ブロック６１の上端の上側の画素の値を、Ｖ００、・・・、Ｖ０３とし、ブロック６１の左端の左側の画素の値を、Ｖ００、・・・、Ｖ３０とする。
【００６７】
図２１および図２２に示すように、読み出し部３１により、各画素の値が、例えばＶ００、Ｖ０１、・・・、Ｖ１０、Ｖ１１、・・・、Ｖ２０、Ｖ２１、・・・、Ｖ３０、Ｖ３１、・・・、Ｖ３３の順で読み出される。読み出された画素の値は、１データメモリ３３に保持され、読み出し部３１による次の画素の値の読み出しサイクルで出力される。また、読み出された画素の値は、例えば横方向の１ライン分ずつラインバッファメモリ３５に保持され、読み出し部３１による次の横方向の１ライン分の読み出しサイクルで出力される。第１差分算出部３２および第２差分算出部３４からは、同じタイミングでそれぞれの演算結果が出力され、第１乗算部３６により掛け合わされる。図２１および図２２において、ｘ１１、ｘ１２、・・・は、横方向の勾配であり、ｙ１１、ｙ１２、・・・は、縦方向の勾配である。また、ｘ１１ｙ１１、ｘ１２ｙ１２、・・・は、横方向の勾配と縦方向の勾配との積である。読み出し部３１により、ブロック内の最後の画素の値Ｖ３３が読み出された後に、第１累積部３７から、横方向の勾配と縦方向の勾配との積の和ｘｙが出力される。そして、第１ビットサーチ部３９からビットサーチの結果Ｋ１が出力される。
【００６８】
一方、読み出し部３１による画素の値の読み出しが開始されてから、第１ビットサーチ部３９からビットサーチの結果Ｋ１が出力されるまでの間、並行して、次の動作が行われる。読み出し部３１により、ブロック内の最後の画素の値Ｖ３３が読み出された後に、第２累積部４０および第３累積部４１から同じタイミングでそれぞれ横方向の勾配の平均Ｓｘおよび縦方向の勾配の平均Ｓｙが出力され、第２乗算部４２により掛け合わされる。図２２において、ＳｘＳｙは、横方向の勾配の平均Ｓｘと縦方向の勾配の平均Ｓｙとの積である。そして、第１ビットサーチ部３９からビットサーチの結果Ｋ１が出力されるタイミングで、第２ビットサーチ部４４からビットサーチの結果Ｋ２が出力される。続くサイクルで、Ｋ１とＫ２との差分（Ｋ１−Ｋ２）が求められ、その差分の絶対値がブロックの特徴量として特徴量メモリ４７に記憶される。実施の形態３によれば、複数の画素を含む領域の特徴量を従来よりも短時間で求めることができる。
【００６９】
（実施の形態４）
図２３は、本発明の実施の形態４におけるブロック図である。実施の形態４は、実施の形態１〜３の各画像処理装置を、撮像装置に適用したものである。撮像装置としては、例えばデジタルカメラ（携帯電話に備え付けられているものを含む）、デジタルビデオカメラまたは携帯型のスキャナなどの、被写体の像を撮像し、デジタル画像を取得する装置が挙げられる。一例として、デジタルカメラにおいて、手ぶれ画像の補正処理を行う場合について説明する。手ぶれ画像の補正処理では、２枚の画像のずれ量が検出され、そのずれ量を補正して２枚の画像が合成される。
【００７０】
図２３に示すように、撮像装置は、撮像部７１、画像変換部７２、記憶部７３、検出部７４および画像合成処理部７５を備えている。撮像部７１は、被写体の像を撮像する。撮像部７１は、例えばレンズ８１、アイリス８２、Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ（ＣＣＤ、電荷結合素子）８３などの撮像素子およびＡｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ（ＡＦＥ、アナログフロントエンド）８４を備えている。撮像部７１において、被写体からの光源反射光をレンズ８１およびアイリス８２を介してＣＣＤ８３で受光し、ＣＣＤ８３で光電変換された信号をＡＦＥ８４によりデジタルデータに変換する。なお、ＣＣＤ８３の代わりに、撮像素子としてＣｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ（ＣＭＯＳ、相補型金属酸化物半導体）イメージセンサが設けられていてもよい。
【００７１】
画像変換部７２は、ＡＦＥ８４によりデジタル化されたデータをＲＡＷ（ロー）データ、ＹＵＶデータまたはＪｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＪＰＥＧ）データに変換する。画像変換部７２は、画像入力部８５、画像処理部８６およびコーデック部８７を備えている。画像入力部８５は、入力されたデジタルデータに対してＲＡＷフォーマット変換を行う。画像入力部８５により変換された２枚の画像のＲＡＷデータ（ＲＡＷ１、ＲＡＷ２）は、記憶部７３に蓄積される。画像処理部８６は、記憶部７３に蓄積されたＲＡＷデータに対してノイズリダクション処理や画像補間処理を行って、ＹＵＶフォーマットのデータに変換する。画像処理部８６により変換された２枚の画像のＹＵＶデータ（ＹＵＶ１、ＹＵＶ２）は、記憶部７３に蓄積される。コーデック部８７は、記憶部７３に蓄積されたＹＵＶデータ（ＹＵＶ３）に対してエンコードを行いＪＰＥＧフォーマットのデータに変換する。コーデック部８７により変換されたＪＰＥＧデータは、記憶部７３に蓄積される。
【００７２】
検出部７４は、記憶部７３に蓄積されたＹＵＶデータの例えば輝度信号（Ｙ）を画素の値として用いて、例えば実施の形態１〜３で説明したように、画像の特徴量および特徴点を抽出する。特徴点は、特徴量が相対的に大きい点である、また、特徴点は、例えば走っている人や車などを除いた、静止しているものであってもよい。実施の形態１〜３で説明した画像処理装置または画像処理方法は、検出部７４において画像の特徴量を求める装置または方法として適用される。検出部７４は、２枚の画像の例えば輝度信号（Ｙ１、Ｙ２）に基づいて抽出したそれぞれの特徴量および特徴点に基づいて、２枚の画像間の移動ベクトルを算出する。検出部７４により算出された移動ベクトルは、画像合成処理部７５に渡される。画像合成処理部７５は、検出部７４から渡された移動ベクトル、および記憶部７３に蓄積された２枚の画像のＹＵＶデータ（ＹＵＶ１、ＹＵＶ２）に基づいて、２枚の画像の中の合成する部分を決定し、合成する。画像合成処理部７５により合成されてできたＹＵＶデータ（ＹＵＶ３）は、記憶部７３に蓄積される。上述したように、コーデック部８７は、この画像合成処理部７５により合成されてできたＹＵＶデータ（ＹＵＶ３）をＪＰＥＧデータに変換する。
【００７３】
実施の形態４によれば、検出部７４において２枚の画像のずれ量を求めることができるので、そのずれ量に基づいて２枚の画像を合成することにより、撮像時の手ぶれや長時間露光等によって不鮮明になってしまった画像を補正することができる。また、実施の形態１〜３と同様に、画像の特徴量を高速に求めることができる。また、少ないメモリ容量で画像の特徴量を求めることができる。従って、小型のデジタルカメラや、携帯電話に備え付けられているデジタルカメラのように、リソースが限られている電子機器において、手ぶれ補正処理などの画像処理を行う場合に有効である。
【００７４】
なお、上述する実施の形態は、超解像処理の画像合成に先行して実施される画像合わせの処理において、ズレ量（画面間移動ベクトル）導出に利用する特徴点抽出に利用してもよい。この場合、計算量を簡略化できるので、演算時間の短縮、回路規模の縮小、メモリサイズの縮小等を可能となる。
【００７５】
上述した各実施の形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）コンピュータを、複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算部、前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算部、前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算部、として機能させることを特徴とする画像処理プログラム。
【００７７】
（付記２）前記特徴量演算部は、前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果との差が小さい場合に、前記領域単位における画像の特徴量が大きいと判定することを特徴とする付記１に記載の画像処理プログラム。
【００７８】
（付記３）前記勾配積演算部は、前記第１方向の勾配と前記第２方向の勾配との相関として、前記第１方向の勾配と前記第２方向の勾配との積を求めることを特徴とする付記１または２に記載の画像処理プログラム。
【００７９】
（付記４）前記平均勾配演算部は、前記第１方向の勾配の平均として、前記領域の前記第１方向の一方の端部に位置する画素の値と前記領域の前記第１方向の他方の端部の外側に隣接する画素の値との差分の和を求め、前記第２方向の勾配の平均として、前記領域の前記第２方向の一方の端部に位置する画素の値と前記領域の前記第２方向の他方の端部の外側に隣接する画素の値との差分の和を求めることを特徴とする付記１〜３のいずれ一つに記載の画像処理プログラム。
【００８０】
（付記５）前記平均勾配演算部は、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関として、前記第１方向の勾配の平均と前記第２方向の勾配の平均との積を求めることを特徴とする付記１〜４のいずれか一つに記載の画像処理プログラム。
【００８１】
（付記６）前記特徴量演算部は、前記領域単位における画像の特徴量として、前記勾配積演算部の演算結果に対してビットサーチを行った結果と前記平均勾配演算部の演算結果に対してビットサーチを行った結果との差分を求めることを特徴とする付記１〜５のいずれか一つに記載の画像処理プログラム。
【００８２】
（付記７）前記特徴量演算部は、前記領域単位における画像の特徴量として、前記勾配積演算部の演算結果の対数と前記平均勾配演算部の演算結果の対数との差分を求めることを特徴とする付記１〜５のいずれか一つに記載の画像処理プログラム。
【００８３】
（付記８）前記特徴量演算部は、前記領域単位における画像の特徴量として、前記勾配積演算部の演算結果を前記平均勾配演算部の演算結果で除した値を求めることを特徴とする付記１〜５のいずれか一つに記載の画像処理プログラム。
【００８４】
（付記９）複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算部と、前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算部と、前記平均勾配演算部の演算結果と前記勾配積演算部の演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算部と、を備えることを特徴とする画像処理装置。
【００８５】
（付記１０）前記勾配積演算部は、前記第１方向の勾配と前記第２方向の勾配との積を求める第１乗算部と、該第１乗算部の出力結果を累積する第１累積部と、を備えることを特徴とする付記９に記載の画像処理装置。
【００８６】
（付記１１）前記平均勾配演算部は、前記領域の前記第１方向の一方の端部に位置する画素の値と前記領域の前記第１方向の他方の端部の外側に隣接する画素の値との差分の和を求める第２累積部と、前記領域の前記第２方向の一方の端部に位置する画素の値と前記領域の前記第２方向の他方の端部の外側に隣接する画素の値との差分の和を求める第３累積部と、前記第２累積部の出力結果と前記第３累積部の出力結果との積を求める第２乗算部と、を備えることを特徴とする付記９または１０に記載の画像処理装置。
【００８７】
（付記１２）前記特徴量演算部は、前記勾配積演算部の出力結果に対してビットサーチを行う第１ビットサーチ部と、前記平均勾配演算部の出力結果に対してビットサーチを行う第２ビットサーチ部と、前記第１ビットサーチ部の出力結果と前記第２ビットサーチ部の出力結果との差分を求める差分算出部と、を備えることを特徴とする付記９〜１１のいずれか一つに記載の画像処理装置。
【００８８】
（付記１３）複数の画素を含む領域に含まれる各画素の値と、該画素に隣接する画素の値との差分に基づいて、第１方向の勾配の平均および該第１方向と交差する第２方向の勾配の平均を前記領域単位で求め、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関を求める平均勾配演算ステップと、前記領域に含まれる各画素のそれぞれの位置での前記第１方向の勾配と前記第２方向の勾配との相関の和を求める勾配積演算ステップと、前記平均勾配演算ステップでの演算結果と前記勾配積演算ステップでの演算結果とに基づいて、前記領域単位における画像の特徴量を求める特徴量演算ステップと、を含むことを特徴とする画像処理方法。
【００８９】
（付記１４）前記特徴量演算ステップでは、前記平均勾配演算ステップでの演算結果と前記勾配積演算ステップでの演算結果との差が小さい場合に、前記領域単位における画像の特徴量が大きいと判定することを特徴とする付記１３に記載の画像処理方法。
【００９０】
（付記１５）前記勾配積演算ステップでは、前記第１方向の勾配と前記第２方向の勾配との相関として、前記第１方向の勾配と前記第２方向の勾配との積を求めることを特徴とする付記１３または１４に記載の画像処理方法。
【００９１】
（付記１６）前記平均勾配演算ステップでは、前記第１方向の勾配の平均として、前記領域の前記第１方向の一方の端部に位置する画素の値と前記領域の前記第１方向の他方の端部の外側に隣接する画素の値との差分の和を求め、前記第２方向の勾配の平均として、前記領域の前記第２方向の一方の端部に位置する画素の値と前記領域の前記第２方向の他方の端部の外側に隣接する画素の値との差分の和を求めることを特徴とする付記１３〜１５のいずれか一つに記載の画像処理方法。
【００９２】
（付記１７）前記平均勾配演算ステップでは、前記第１方向の勾配の平均と前記第２方向の勾配の平均との相関として、前記第１方向の勾配の平均と前記第２方向の勾配の平均との積を求めることを特徴とする付記１３〜１６のいずれか一つに記載の画像処理方法。
【００９３】
（付記１８）前記特徴量演算ステップでは、前記領域単位における画像の特徴量として、前記勾配積演算ステップでの演算結果に対してビットサーチを行った結果と前記平均勾配演算ステップでの演算結果に対してビットサーチを行った結果との差分を求めることを特徴とする付記１３〜１７のいずれか一つに記載の画像処理方法。
【００９４】
（付記１９）前記特徴量演算ステップでは、前記領域単位における画像の特徴量として、前記勾配積演算ステップでの演算結果の対数と前記平均勾配演算ステップでの演算結果の対数との差分を求めることを特徴とする付記１３〜１７のいずれか一つに記載の画像処理方法。
【００９５】
（付記２０）前記特徴量演算ステップでは、前記領域単位における画像の特徴量として、前記勾配積演算ステップでの演算結果を前記平均勾配演算ステップの演算結果で除した値を求めることを特徴とする付記１３〜１７のいずれか一つに記載の画像処理方法。
【符号の説明】
【００９６】
１  平均勾配演算部
２  勾配積演算部
３  特徴量演算部
３６  第１乗算部
３７  第１累積部
３９  第１ビットサーチ部
４０  第２累積部
４１  第３累積部
４２  第２乗算部
４４  第２ビットサーチ部
４５  差分算出部
【図１】
2010204718.tif 000013
【図２】
2010204718.tif 000014
【図３】
2010204718.tif 000015
【図４】
2010204718.tif 000016
【図５】
2010204718.tif 000017
【図６】
2010204718.tif 000018
【図７】
2010204718.tif 000019
【図８】
2010204718.tif 000020
【図９】
2010204718.tif 000021
【図１０】
2010204718.tif 000022
【図１１】
2010204718.tif 000023
【図１２】
2010204718.tif 000024
【図１３】
2010204718.tif 000025
【図１４】
2010204718.tif 000026
【図１５】
2010204718.tif 000027
【図１６】
2010204718.tif 000028
【図１７】
2010204718.tif 000029
【図１８】
2010204718.tif 000030
【図１９】
2010204718.tif 000031
【図２０】
2010204718.tif 000032
【図２１】
2010204718.tif 000033
【図２２】
2010204718.tif 000034
【図２３】
2010204718.tif 000035