(57)【特許請求の範囲】
【請求項１】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記対象画像のうち、下辺を除く３辺に存在するすべてのブロックの画像に基づいて、前記１つ以上のテンプレートを設定するか、または、前記３辺に存在するすべてのブロックの画像と、前記下辺に存在する予め定められた一部のブロックの画像とに基づいて、前記１つ以上のテンプレートを設定するか、または、左辺および右辺に存在するすべてのブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記対象画像よりも低解像度の画像を少なくとも１つ生成する生成部をさらに備え、
前記領域分割部は、前記対象画像および前記低解像度の画像を、それぞれ複数のブロックに分割し、
前記設定部は、前記対象画像および前記低解像度の画像のそれぞれについて、前記１つ以上のテンプレートを設定し、
前記マッチング部は、前記対象画像および前記低解像度の画像のそれぞれについて、前記マッチングを行い、
前記作成部は、前記対象画像および前記低解像度の画像のそれぞれについて、被写体の分布を示すマップを作成し、作成した複数のマップに基づく演算を行うことにより、前記対象画像における被写体の分布を示す前記マップを作成する
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記生成部は、前記対象画像に対して、特定の周波数帯域を抑制または透過する処理を施すことにより、前記低解像度の画像を少なくとも１つ生成する
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記生成部は、前記対象画像に対して、ローパス処理とリサイズ処理との少なくとも一方を施すことにより、前記低解像度の画像を少なくとも１つ生成する
ことを特徴とする画像処理装置。
【請求項５】
請求項３に記載の画像処理装置において、
前記生成部は、前記対象画像に対して、バンドパスフィルタ処理を施すことにより、前記低解像度の画像を少なくとも１つ生成する
ことを特徴とする画像処理装置。
【請求項６】
請求項１に記載の画像処理装置において、
前記取得部は、前記対象画像の撮像時における撮像装置の姿勢情報をさらに取得し、
前記設定部は、前記姿勢情報に基づいて、前記複数のブロックから１つ以上のブロックを選択し、選択したブロックの画像に基づいて、前記１つ以上のテンプレートを設定する
ことを特徴とする画像処理装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の画像処理装置において、
前記算出部は、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出し、
前記マッチング部は、マッチング対象のブロック内の任意の画素の画素値間の差分に基づいて、前記マッチング対象のブロックに関する評価値とする
ことを特徴とする画像処理装置。
【請求項８】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、
前記算出部は、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出し、
前記マッチング部は、マッチング対象のブロック内の任意の画素の画素値と、任意のテンプレートのブロック内において、前記任意の画素に対応する位置の画素の画素値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理装置。
【請求項９】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、
前記算出部は、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出した後に、ブロック内に含まれる前記画素値に対して周波数領域への画像変換を行うことにより前記代表値を算出し、
前記マッチング部は、マッチング対象のブロック内の任意の代表値と、任意のテンプレートのブロック内において、前記任意の代表値に対応する代表値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素に対応する代表値について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理装置。
【請求項１０】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、
前記算出部は、前記代表値として、前記対象画像を構成する複数の色成分の分布に基づいて、色に関する特徴を示す値を、前記複数のブロックごとに算出し、
前記マッチング部は、マッチング対象のブロックの代表値と、任意のテンプレートのブロックの代表値との差分を加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値と、最大の前記差分絶対値総和の値と、前記差分絶対値総和の平均値との少なくとも１つを、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理装置。
【請求項１１】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、
前記領域分割部により分割された前記複数のブロックのうち、前記設定部により前記テンプレートに設定されていないブロックについて、前記作成部により作成した前記マップにおける値と所定の閾値とを比較し、比較結果に基づいて、１つ以上のテンプレートを新たに追加する追加設定部とを備え、
前記マッチング部は、マッチング対象のブロックの前記代表値と、前記追加設定部により追加された前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行い、
前記作成部は、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する
ことを特徴とする画像処理装置。
【請求項１２】
請求項９に記載の画像処理装置において、
前記算出部は、ブロック内に含まれる前記画素値に対して、フーリエ変換と、離散コサイン変換と、ウェーブレット変換との少なくとも１つを行うことにより前記代表値を算出する
ことを特徴とする画像処理装置。
【請求項１３】
請求項１０に記載の画像処理装置において、
前記算出部は、前記代表値として、ヒストグラムに基づく代表色を示す値と、相対ヒストグラムに基づく特徴量を示す値との少なくとも一方を算出する
ことを特徴とする画像処理装置。
【請求項１４】
請求項８から請求項１０のいずれか１項に記載の画像処理装置において、
前記作成部は、前記評価値と、前記評価値の取り得る値の範囲に応じて定められた閾値とを比較し、比較結果に基づいて前記マップを作成する
ことを特徴とする画像処理装置。
【請求項１５】
請求項１から請求項１４のいずれか１項に記載の画像処理装置において、
前記対象画像に複数の被写体画像が含まれる場合に、前記作成部により作成した前記マップに対して、ラベリング処理と、クラスタリングによるグループ化処理との少なくとも一方を行うことにより前記複数の被写体を識別可能にする処理を行う処理部をさらに備える
ことを特徴とする画像処理装置。
【請求項１６】
請求項１から請求項１５のいずれか１項に記載の画像処理装置において、
画像を表示する表示部を備え、
前記表示部は、前記対象画像を表示する際に、前記マップにおける値が所定の閾値を超える領域に対応する前記対象画像上の領域を、視認可能に表示する
ことを特徴とする画像処理装置。
【請求項１７】
被写体の像を撮像する撮像部と、
請求項１から請求項１６のいずれか１項に記載の画像処理装置とを備え、
前記取得部は、前記撮像部から前記対象画像の情報を取得する
ことを特徴とする撮像装置。
【請求項１８】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記対象画像のうち、下辺を除く３辺に存在するすべてのブロックの画像に基づいて、前記１つ以上のテンプレートを設定するか、または、前記３辺に存在するすべてのブロックの画像と、前記下辺に存在する予め定められた一部のブロックの画像とに基づいて、前記１つ以上のテンプレートを設定するか、または、左辺および右辺に存在するすべてのブロックの画像に基づいて、１つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理と
をコンピュータに実行させる画像処理プログラム。
【請求項１９】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理とをコンピュータに実行させる画像処理プログラムであって、
前記算出処理では、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出し、
前記マッチング処理では、マッチング対象のブロック内の任意の画素の画素値と、任意のテンプレートのブロック内において、前記任意の画素に対応する位置の画素の画素値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理プログラム。
【請求項２０】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理とをコンピュータに実行させる画像処理プログラムであって、
前記算出処理では、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出した後に、ブロック内に含まれる前記画素値に対して周波数領域への画像変換を行うことにより前記代表値を算出し、
前記マッチング処理では、マッチング対象のブロック内の任意の代表値と、任意のテンプレートのブロック内において、前記任意の代表値に対応する代表値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素に対応する代表値について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理プログラム。
【請求項２１】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理とをコンピュータに実行させる画像処理プログラムであって、
前記算出処理では、前記代表値として、前記対象画像を構成する複数の色成分の分布に基づいて、色に関する特徴を示す値を、前記複数のブロックごとに算出し、
前記マッチング処理では、マッチング対象のブロックの代表値と、任意のテンプレートのブロックの代表値との差分を加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値と、最大の前記差分絶対値総和の値と、前記差分絶対値総和の平均値との少なくとも１つを、前記マッチング対象のブロックに関する前記評価値とする
ことを特徴とする画像処理プログラム。
【請求項２２】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理と、
前記領域分割処理において分割された前記複数のブロックのうち、前記設定処理において前記テンプレートに設定されていないブロックについて、前記作成処理において作成した前記マップにおける値と所定の閾値とを比較し、比較結果に基づいて、１つ以上のテンプレートを新たに追加する追加設定処理とをコンピュータに実行させる画像処理プログラムであって、
前記マッチング処理では、マッチング対象のブロックの前記代表値と、前記追加設定処理において追加された前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行い、
前記作成処理では、前記マッチング処理におけるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、被写界に含まれる主要被写体領域を抽出する技術が種々提案されている。一例として、特許文献１には、画像のある部分の特徴と、その部分の周囲に位置する部分の特徴とが異なる度合いを求めて、主要被写体領域を抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２４６９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術は、高周波成分に依存して主要被写体領域を抽出している。そのため、主要被写体領域以外の部分（背景領域）に高周波成分が含まれる場合には、この部分も主要被写体領域として抽出されてしまい、好ましい結果が得られない。さらに、経験的に想定される構図に基づいて、主要被写体領域の抽出を行う技術も考えられている。例えば、中央部分に主要被写体が存在すると想定し、画像の中央の部分を重視して抽出を行ったり、「縦横それぞれ１／３の線上に背景線を置くか、この線の交点上に被写体を置くとバランスの良い構図となる」という三分割法（１／３ルール）にしたがって抽出を行ったりしている。このような技術においては、想定された構図以外の構図の画像においては、好ましい抽出が行われない場合があるという問題がある。
【０００５】
そこで、本発明の目的は、高周波成分に依存したり、経験的な構図の想定を行ったりすることなく、対象画像に適合した方法で、主要被写体領域の抽出を行うための手段を提供することにある。
【課題を解決するための手段】
【０００６】
一の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記対象画像のうち、下辺を除く３辺に存在するすべてのブロックの画像に基づいて、前記１つ以上のテンプレートを設定するか、または、前記３辺に存在するすべてのブロックの画像と、前記下辺に存在する予め定められた一部のブロックの画像とに基づいて、前記１つ以上のテンプレートを設定するか、または、左辺および右辺に存在するすべてのブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備える。
【０００７】
なお、前記対象画像よりも低解像度の画像を少なくとも１つ生成する生成部をさらに備え、前記領域分割部は、前記対象画像および前記低解像度の画像を、それぞれ複数のブロックに分割し、前記設定部は、前記対象画像および前記低解像度の画像のそれぞれについて、前記１つ以上のテンプレートを設定し、前記マッチング部は、前記対象画像および前記低解像度の画像のそれぞれについて、前記マッチングを行い、前記作成部は、前記対象画像および前記低解像度の画像のそれぞれについて、被写体の分布を示すマップを作成し、作成した複数のマップに基づく演算を行うことにより、前記対象画像における被写体の分布を示す前記マップを作成しても良い。
【０００８】
また、前記生成部は、前記対象画像に対して、特定の周波数帯域を抑制または透過する処理を施すことにより、前記低解像度の画像を少なくとも１つ生成しても良い。
【０００９】
また、前記生成部は、前記対象画像に対して、ローパス処理とリサイズ処理との少なくとも一方を施すことにより、前記低解像度の画像を少なくとも１つ生成しても良い。
【００１０】
また、前記生成部は、前記対象画像に対して、バンドパスフィルタ処理を施すことにより、前記低解像度の画像を少なくとも１つ生成しても良い。
【００１３】
また、前記取得部は、前記対象画像の撮像時における撮像装置の姿勢情報をさらに取得し、前記設定部は、前記姿勢情報に基づいて、前記複数のブロックから１つ以上のブロックを選択し、選択したブロックの画像に基づいて、前記１つ以上のテンプレートを設定しても良い。
【００１６】
別の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、前記算出部は、前記代表値として、ブロック内に含まれる画素ごとの画素値を算出し、前記マッチング部は、マッチング対象のブロック内の任意の画素の画素値と、任意のテンプレートのブロック内において、前記任意の画素に対応する位置の画素の画素値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする。
【００１７】
別の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、前記算出部は、ブロック内に含まれる画素ごとの画素値を算出した後に、ブロック内に含まれる前記画素値に対して周波数領域への画像変換を行うことにより前記代表値を算出し、前記マッチング部は、マッチング対象のブロック内の任意の代表値と、任意のテンプレートのブロック内において、前記任意の代表値に対応する代表値との差分の絶対値を、前記マッチング対象のブロック内のすべての画素に対応する代表値について求めて加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値を、前記マッチング対象のブロックに関する前記評価値とする。
【００１８】
また、前記算出部は、ブロック内に含まれる前記画素値に対して、クラスタリングなどで複数の代表色とその重みを算出し、ＥＭＤ（Ｅａｒｔｈ  Ｍｏｖｅｒ  Ｄｉｓｔａｎｃｅ）などの代表色とその重みを考慮した距離を計算しても良い。その際には、ブロックごとの代表色数は異なっていても良い。
【００１９】
また、前記算出部は、ブロック内に含まれる前記画素値に対して、フーリエ変換と、離散コサイン変換と、ウェーブレット変換との少なくとも１つを行うことにより前記代表値を算出しても良い。
【００２０】
別の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部とを備え、前記算出部は、前記代表値として、前記対象画像を構成する複数の色成分の分布に基づいて、色に関する特徴を示す値を、前記複数のブロックごとに算出し、前記マッチング部は、マッチング対象のブロックの代表値と、任意のテンプレートのブロックの代表値との差分を加算した値である差分絶対値総和を、前記１つ以上のテンプレートのそれぞれについて求め、求めた複数の前記差分絶対値総和のうち、最小の前記差分絶対値総和の値と、最大の前記差分絶対値総和の値と、前記差分絶対値総和の平均値との少なくとも１つを、前記マッチング対象のブロックに関する前記評価値とする。
【００２１】
また、前記算出部は、前記代表値として、ヒストグラムに基づく代表色を示す値と、相対ヒストグラムに基づく特徴量を示す値との少なくとも一方を算出しても良い。
【００２２】
また、前記作成部は、前記評価値と、前記評価値の取り得る値の範囲に応じて定められた閾値とを比較し、比較結果に基づいて前記マップを作成しても良い。
【００２３】
別の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する１つ以上のブロックの画像に基づいて、１つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、前記領域分割部により分割された前記複数のブロックのうち、前記設定部により前記テンプレートに設定されていないブロックについて、前記作成部により作成した前記マップにおける値と所定の閾値とを比較し、比較結果に基づいて、１つ以上のテンプレートを新たに追加する追加設定部とを備え、前記マッチング部は、マッチング対象のブロックの前記代表値と、前記追加設定部により追加された前記１つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行い、前記作成部は、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する。
【００２４】
また、前記対象画像に複数の被写体画像が含まれる場合に、前記作成部により作成した前記マップに対して、ラベリング処理と、クラスタリングによるグループ化処理との少なくとも一方を行うことにより前記複数の被写体を識別可能にする処理を行う処理部をさらに備えても良い。
【００２５】
また、前記表示部は、前記対象画像を表示する際に、前記マップにおける値が所定の閾値を超える領域に対応する前記対象画像上の領域を、視認可能に表示しても良い。
【００２７】
一の態様の撮像装置は、被写体の像を撮像する撮像部と、上述したいずれかの画像処理装置とを備え、前記取得部は、前記撮像部から前記対象画像の情報を取得する。
【００３２】
なお、コンピュータを一の態様の画像処理装置として動作させるプログラムや、このプログラムを記憶した記憶媒体や、一の態様に係る画像処理装置の動作を方法のカテゴリで表現したものも、本発明の具体的態様として有効である。
【発明の効果】
【００３３】
本発明によれば、高周波成分に依存したり、経験的な構図の想定を行ったりすることなく、対象画像に適合した方法で、主要被写体領域の抽出を行うことができる。
【図面の簡単な説明】
【００３４】
【図１】第１実施形態での画像処理装置の構成例を示すブロック図
【図２】第１実施形態での画像処理装置の動作例を示す流れ図
【図３】第１実施形態での画像処理装置の動作例を示す別の流れ図
【図４】第１実施形態でのブロック分割の例を示す図
【図５】第１実施形態でのテンプレートの設定例を示す図
【図６】第１実施形態でのマップＳａｌ[Ｔ]の例を示す図
【図７】第１実施形態での主要被写体領域の抽出の例を示す図
【図８】第１実施形態での自動クロップの例を示す図
【図９】第３実施形態でのテンプレートの設定例を示す図
【図１０】第４実施形態でのテンプレートの設定例を示す図
【図１１】第６実施形態の変形例でのブロック分割の例を示す図
【図１２】第６実施形態の変形例でのテンプレートの設定例を示す図
【図１３】第７実施形態での画像処理装置の動作例を示す流れ図
【図１４】第８実施形態での電子カメラの構成例を示すブロック図
【図１５】別のマップＳａｌ[Ｔ]の例を示す図
【図１６】複数の主要被写体領域の抽出の例を示す図
【発明を実施するための形態】
【００３５】
＜第１実施形態の説明＞
図１は、第１実施形態での画像処理装置の構成例を示すブロック図である。第１実施形態の画像処理装置は、撮像装置により撮像された処理対象の画像（対象画像）について、被写体の分布を示すマップを作成する画像処理プログラムがインストールされたパーソナルコンピュータで構成される。
【００３６】
図１に示すコンピュータ１１は、データ読込部１２、記憶装置１３、ＣＰＵ１４、メモリ１５および入出力Ｉ／Ｆ１６、バス１７を有している。データ読込部１２、記憶装置１３、ＣＰＵ１４、メモリ１５および入出力Ｉ／Ｆ１６は、バス１７を介して相互に接続されている。さらに、コンピュータ１１には、入出力Ｉ／Ｆ１６を介して、入力デバイス１８（キーボード、ポインティングデバイスなど）とモニタ１９とがそれぞれ接続されている。なお、入出力Ｉ／Ｆ１６は、入力デバイス１８からの各種入力を受け付けるとともに、モニタ１９に対して表示用のデータを出力する。
【００３７】
データ読込部１２は、上記の対象画像のデータや、上記の画像処理プログラムを外部から読み込むときに用いられる。例えば、データ読込部１２は、着脱可能な記憶媒体からデータを取得する読込デバイス（光ディスク、磁気ディスク、光磁気ディスクの読込装置など）や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス（ＵＳＢインターフェース、ＬＡＮモジュール、無線ＬＡＮモジュールなど）で構成される。
【００３８】
記憶装置１３は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。記憶装置１３は、画像を記録する画像蓄積部２１と後述するマップを記録するマップ蓄積部２２とを備える。この記憶装置１３には、画像処理プログラムや、プログラムの実行に必要となる各種のデータが記録されている。なお、記憶装置１３には、データ読込部１２から読み込んだ対象画像のデータを記憶しておくこともできる。
【００３９】
ＣＰＵ１４は、コンピュータ１１の各部を統括的に制御するプロセッサである。このＣＰＵ１４は、上記の画像処理プログラムの実行によって、ローパス画像生成部２３と、領域分割部２４と、テンプレート設定部２５と、マッチング処理部２６と、マップ作成部２７としてそれぞれ機能する（ローパス画像生成部２３、領域分割部２４、テンプレート設定部２５、マッチング処理部２６、マップ作成部２７の各動作は後述する）。
【００４０】
メモリ１５は、画像処理プログラムでの各種演算結果（変数およびフラグの値など）を一時的に記憶する。このメモリ１５は、例えば揮発性のＳＤＲＡＭなどで構成される。
【００４１】
＜第１実施形態の動作例＞
以下、図２および図３の流れ図を参照しつつ、第１実施形態における画像処理装置の動作例を説明する。なお、図２および図３の流れ図の処理は、ユーザによるプログラム実行指示に応じて、ＣＰＵ１４が画像処理プログラムを実行することで開始される。また、図２および図３の図中のステップ番号はそれぞれ対応している。
【００４２】
（ステップＳ１０１）
ＣＰＵ１４は、データ読込部１２を介して、ユーザにより指定された対象画像のデータを外部から取得する。なお、対象画像のデータが予め記憶装置１３の画像蓄積部２１などに記憶されている場合には、ＣＰＵ１４はＳ１０１の処理を省略してもよい。以下、本明細書の例では、取得した対象画像をＩｍｇ[１]と表記する。
【００４３】
（ステップＳ１０２）
ＣＰＵ１４は、ローパス画像生成部２３により、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]の画像の画像データに基づいて、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する。ローパス画像Ｉｍｇ[２]の生成は、以下の式１および式２により行われ、ローパス画像Ｉｍｇ[３]の生成は、以下の式３および式４により行われる。
【００４４】
【数１】
0005487126.tif 000002
まず、式１を用いて、対象画像Ｉｍｇ[１]のデータを、フーリエ変換により、周波数領域における表現に直交変換する。式１中の(ωｘ，ωｙ）は、周波数空間における座標を示し、ｆｑ１は、所定の閾値を示す（ｆｑの詳細は後述する）。次に、式２を用いて、式１により求められたＦ(ＬＩｍｇ[２])に対して逆フーリエ変換を行って、帯域制限が施されたローパス画像Ｉｍｇ[２]を生成する。
【００４５】
ローパス画像Ｉｍｇ[３]についても、同様に、式３および式４を用いて、対象画像Ｉｍｇ[１]のデータに対してフーリエ変換と逆フーリエ変換を行ってローパス画像Ｉｍｇ[３]を生成する。
【００４６】
なお、式１中のｆｑ１および式３中のｆｑ２は、対象画像の高さ、幅、対角線などを基準に予め定められる閾値である。ｆｑ１およびｆｑ２は、同じ値であっても良いし、違う値であっても良い。また、上述の例では、対象画像Ｉｍｇ[１]の画像データに基づいて、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する例を示したが、対象画像Ｉｍｇ[１]の画像データに基づいて、ローパス画像Ｉｍｇ[２]を生成し、生成したローパス画像Ｉｍｇ[２] の画像データに基づいて、ローパス画像Ｉｍｇ[３]を生成しても良い。
【００４７】
また、上述の例ではローパス処理を行うことにより、対象画像Ｉｍｇ[１]より低解像度の画像であるローパス画像Ｉｍｇ[２] およびＩｍｇ[３]を生成する例を示したが、対象画像Ｉｍｇ[１]に対して、特定の周波数帯域を抑制または透過する処理を施すことにより、同様の画像を作成することができる。例えば、以下の式５および上述した式２を用いて、対象画像Ｉｍｇ[１]に対してバンドパスフィルタ処理を施しても良い。
【００４８】
【数２】
0005487126.tif 000003
式５は、周波数領域におけるバンドパスフィルタを示す。式５を用いて、対象画像Ｉｍｇ[１]のデータを、フーリエ変換により、周波数領域における表現に直交変換する。式５中の(ωｘ，ωｙ）は、周波数空間における座標を示し、ｆｑ３およびｆｑ４は、所定の閾値を示す。このｆｑ３およびｆｑ４は、上述したｆｑ１およびｆｑ２と同様に、対象画像の高さ、幅、対角線などを基準に予め定められる閾値である。ｆｑ３およびｆｑ４の何れかは、ｆｑ１およびｆｑ２と同じ値であっても良いし、違う値であっても良い。次に、上述した式２を用いて、式５により求められたＦ(ＢＩｍｇ[２])に対して逆フーリエ変換を行って、帯域制限が施されたバンドパス画像Ｉｍｇ[２]を生成する。
【００４９】
バンドパス画像Ｉｍｇ[３]についても、同様である。なお、ローパス処理を行う場合と同様に、対象画像Ｉｍｇ[１]の画像データに基づいて、バンドパス画像Ｉｍｇ[２]およびＩｍｇ[３]を生成しても良いし、対象画像Ｉｍｇ[１]の画像データに基づいて、バンドパスＩｍｇ[２]を生成し、生成したバンドパス画像Ｉｍｇ[２] の画像データに基づいて、バンドパス画像Ｉｍｇ[３]を生成しても良い。
【００５０】
ローパス処理に代えてバンドパスフィルタ処理を用いる場合、例えば、対象画像Ｉｍｇ[１]が、背景が夕焼け空等の緩やかなグラデーションのかかった画像である場合などには、後述するマッチング処理が効果的に機能するように、特定の周波数帯域のみを抑圧または透過させるバンドパスフィルタを適用すると良い。
【００５１】
（ステップＳ１０３）
ＣＰＵ１４は、領域分割部２４により、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]、ステップＳ１０２で生成したローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を、それぞれ、複数のブロックに等間隔に分割する。一例として、第１実施形態での領域分割部２４は、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を、それぞれ１０×１０のマトリクス状にブロックで等分割する。なお、以下では、各ブロックは、[ｎ]で画像の種類を示し、(ｉ，ｊ)でブロックの位置を示し、ブロックＢ[ｎ] (ｉ，ｊ)と表記する。ｎは画像の種類を示し、ｎ＝１はステップＳ１０１で取得した対象画像Ｉｍｇ[１]を示し、ｎ＝２およびｎ＝３はステップＳ１０２で生成したローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を示す。また、ｉは横方向の位置を示し、ｊは縦方向の順番を示す。例えば、対象画像Ｉｍｇ[１]の左上隅のブロックは始点であり、ブロックＢ[１] (１，１)と表記され、右下隅のブロックは終点であり、ブロックＢ[１] (１０，１０)と表記される。（図４参照）。ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]についても同様である。
【００５２】
なお、ブロック分割の分割数は、処理精度および処理速度の兼ね合いで予め定められる。対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]の分割数は同じであっても良いし、違っても良い。
【００５３】
なお、各画像を分割する際に、画素数と分割数との兼ね合いで余りが生じる場合がある。このような場合には、各画像の最外周部に余りの画素が存在するようにすれば良い。例えば、上下方向に１０画素が余った場合には、上辺または下辺の最外周部に１０画素の余りを存在させても良いし、上辺と下辺とに分けて（例えば、上辺に５画素、下辺に５画素など）余りの画素を存在させても良い。
【００５４】
（ステップＳ１０４）
ＣＰＵ１４は、テンプレート設定部２５により、Ｓ１０３の分割処理による複数のブロックから、最外周に存在するブロックを選択し、テンプレートとして設定する。テンプレート設定部２５は、テンプレートの設定を対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて行う。
【００５５】
以下では、対象画像Ｉｍｇ[１]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部２５は、図５に示すように、対象画像Ｉｍｇ[１]の最外周に存在するブロック（図５中、斜線で示したブロック）を選択し、テンプレートとして設定する。すなわち、図４で示した複数のブロックのうち、上辺に存在するブロックＢ[１] (１，１)〜ブロックＢ[１] (１０，１)の１０個のブロックと、左辺に存在するブロックＢ[１] (１，２)〜ブロックＢ[１] (１，９)の８個のブロックと、右辺に存在するブロックＢ[１] (１０，２)〜ブロックＢ[１] (１０，９)の８個のブロックと、下辺に存在するブロックＢ[１] (１，１０)〜ブロックＢ[１] (１０，１０)の１０個のブロックとの、合計３６個のブロックをテンプレートとして設定する。
【００５６】
ただし、上述したように、各画像を分割する際に余りが生じた場合には、ステップＳ１０４でテンプレートとして設定されるブロックは、「各ブロックのうち、最外周に存在するブロック」となる。
【００５７】
なお、以下では、左上から右下の方向にテンプレートに番号Ｎを付し、各テンプレートをテンプレートＴ[１]{Ｎ}と表記する。上述したように、対象画像Ｉｍｇ[１]の最外周に存在する３６個のブロックが選択されると、図５に示すように、テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}の３６個のテンプレートが設定されることになる。
【００５８】
テンプレート設定部２５は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、テンプレートＴ[２]{１}〜テンプレートＴ[２]{３６}を設定し、ローパス画像Ｉｍｇ[３]については、テンプレートＴ[３]{１}〜テンプレートＴ[３]{３６}を設定する。
【００５９】
（ステップＳ１０５）
ＣＰＵ１４は、マッチング処理部２６により、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて、マッチング処理を行う。
【００６０】
以下では、対象画像Ｉｍｇ[１]におけるマッチング処理を例に挙げて説明する。マッチング処理部２６は、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、評価値ＳＡＤ[１] (ｉ，ｊ)を求める。
【００６１】
一例として、マッチング対象のブロックのうち、ブロックＢ[１] (２，２)について、評価値ＳＡＤ[１] (２，２)を求める場合を例に挙げる。マッチング処理部２６は、ブロックＢ[１] (２，２)の画像の画像データと、ステップＳ１０４で設定したテンプレート（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）のそれぞれとを比較し、次式に示す差分絶対値総和ＳＡＤ[１] (ｉ，ｊ){Ｎ}を求める。
【００６２】
【数３】
0005487126.tif 000004
式６中左辺の[ｎ]は画像の種類（ここではｎ＝１）を示し、(ｉ，ｊ)はブロックの位置（ここでは、ｉ＝２，ｊ＝２）を示し、{Ｎ}はテンプレートの番号（ここでは１〜３６）を示す。また、図５中右辺は、マッチング処理の対象のブロック（ブロックＢ[ｎ] (ｉ，ｊ)）内の任意の画素の画素値と、任意のテンプレートのブロック（テンプレートＴ[ｎ]{Ｎ})）内において、任意の画素に対応する位置の画素の画素値との差分の絶対値を、マッチング対象のブロック内のすべての画素について求めて加算することを示す。
【００６３】
式６で求まる差分絶対値総和ＳＡＤ[１] (ｉ，ｊ){Ｎ}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【００６４】
例えば、上述したブロックＢ[１] (２，２)と、テンプレートＴ[１]{１}に関して、差分絶対値総和ＳＡＤ[１] (２，２){１}を求める場合には、マッチング処理部２６は、ブロックＢ[１] (２，２) 内の任意の画素の画素値と、任意のテンプレートのブロック（テンプレートＴ[１]{１}＝ブロックＢ[１] (１，１)）内において、任意の画素に対応する位置の画素の画素値との差分の絶対値を、ブロックＢ[１] (２，２) 内のすべての画素について求めて加算し、絶対値総和ＳＡＤ[１] (２，２){１}を求める。
【００６５】
マッチング処理部２６は、同様の処理を、ブロックＢ[１] (２，２)と、テンプレートＴ[１]{２}〜テンプレートＴ[１]{３６}とのそれぞれについても行い、絶対値総和ＳＡＤ[１] (２，２){２}〜絶対値総和ＳＡＤ[１] (２，２){３６}を求める。そして、次式を用いて、ブロックＢ[１] (２，２)についての評価値ＳＡＤ[１] (２，２)を求める。
【００６６】
【数４】
0005487126.tif 000005
式７中右辺のｍｉｎ(Ｘ)は、Ｘの最小値を返す式であり、上述の例では、絶対値総和ＳＡＤ[１] (２，２){１}〜絶対値総和ＳＡＤ[１] (２，２){３６}の最小値を評価値ＳＡＤ[１] (２，２)とする。
【００６７】
マッチング処理部２６は、以上の処理を、ブロックＢ[１] (３，２)〜ブロックＢ[１] (９，９)についても行い、それぞれ、評価値ＳＡＤ[１] (３，２)〜評価値ＳＡＤ[１] (９，９)を求める。この結果、対象画像Ｉｍｇ[１]中のマッチング対象のブロック（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、評価値ＳＡＤ[１] (ｉ，ｊ)が求められる。
【００６８】
また、マッチング処理部２６は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、評価値ＳＡＤ[２] (２，２)〜評価値ＳＡＤ[２] (９，９)を求め、ローパス画像Ｉｍｇ[３]については、評価値ＳＡＤ[３] (２，２)〜評価値ＳＡＤ[３] (９，９)を求める。
【００６９】
なお、上述の例では、ステップＳ１０４においてテンプレートに設定されたブロックについてはマッチング処理を行わない例を示したが、テンプレートに設定されたブロックについても同様にマッチング処理を行っても良い。この場合には、評価値ＳＡＤ[１] (ｉ，ｊ)の値は０となる。
【００７０】
（ステップＳ１０６）
ＣＰＵ１４は、マップ作成部２７により、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて、マップの作成を行う。
【００７１】
以下では、対象画像Ｉｍｇ[１]におけるマップの作成を例に挙げて説明する。マップ作成部２７は、対象画像Ｉｍｇ[１]についてステップＳ１０５で求めた評価値ＳＡＤ[１] (２，２)〜評価値ＳＡＤ[１] (９，９)に基づいて、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]を作成する。
【００７２】
マップ作成部２７は、ステップＳ１０５で求めた評価値ＳＡＤ[１] (２，２)〜評価値ＳＡＤ[１] (９，９)を、それぞれ閾値ＴＨと比較して、各ブロックに割り当てる画素値を決定する。例えば、上述したブロックＢ[１] (２，２)に関して、マップ作成部２７は、評価値ＳＡＤ[１] (２，２)と、閾値ＴＨとを比較し、ＳＡＤ[１] (２，２)＞閾値ＴＨである場合には、ブロックＢ[１] (２，２)内のすべての画素の画素値を、ＳＡＤ[１] (２，２)の値に置き換える。一方、ＳＡＤ[１] (２，２)≦閾値ＴＨである場合には、マップ作成部２７は、ブロックＢ[１] (２，２)内のすべての画素の画素値を０とする。
【００７３】
なお、閾値ＴＨとは、ステップＳ１０５で求めた評価値ＳＡＤ[ｎ] (ｉ，ｊ)が取り得る範囲に応じて定められる閾値（ステップＳ１０３における分割数などに応じて決まる。例えば、評価値ＳＡＤ[ｎ] (ｉ，ｊ)が取り得る範囲の下側１０％程度など）である。この閾値ＴＨが小さいほど、比較対象の評価値に対応するブロックに、主要被写体が存在すると推定される可能性（背景領域ではないと推定される可能性）が高くなり、この閾値ＴＨが大きいほど、主要被写体が存在しないと推定される可能性（背景領域であると推定される可能性）が高くなる。
【００７４】
また、ＳＡＤ[１] (２，２)＞閾値ＴＨである場合とは、ブロックＢ[１] (２，２)には、主要被写体が存在すると推定できる、つまり、ブロックＢ[１] (２，２)は、背景領域ではないと推定できる場合である。このような場合、ブロックＢ[１] (２，２)内のすべての画素の画素値を、ＳＡＤ[１] (２，２)の値に置き換えることにより、主要被写体に応じた画素値を割り当てることができる。一方、ＳＡＤ[１] (２，２)≦閾値ＴＨである場合とは、ブロックＢ[１] (２，２)には、主要被写体が存在しないと推定できる、つまり、ブロックＢ[１] (２，２)は、背景領域であると推定できる場合である。このような場合、ブロックＢ[１] (２，２)内のすべての画素の画素値を０とすることにより、背景領域に応じた画素値を割り当てることができる。
【００７５】
さらに、マップ作成部２７は、ステップＳ１０４においてテンプレートとして設定した各ブロック（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}に対応する３６個のブロック、図５参照）については、各ブロック内のすべての画素値を０とする。これは、上述した閾値ＴＨとの比較をしなくても、これらのブロックは、背景領域であると推定できるためである。
【００７６】
上述した処理により、ブロックごとに新たな画素値を割り当てた全体を、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]とする。
【００７７】
また、マップ作成部２７は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、マップＳａｌ[２]を作成し、ローパス画像Ｉｍｇ[３]については、マップＳａｌ[３]を作成する。なお、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]に関するマップの作成においては、対象画像Ｉｍｇ[１]に関するマップの作成に用いた閾値ＴＨと同じ閾値を用いても良いし、異なる閾値を用いても良い。
【００７８】
最後に、マップ作成部２７は、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]、ローパス画像Ｉｍｇ[２] に関するマップＳａｌ[２]、ローパス画像Ｉｍｇ[３]に関するマップＳａｌ[３]に基づき、次式を用いて、最終的なマップＳａｌ[Ｔ]を作成する。
【００７９】
【数５】
0005487126.tif 000006
式８中のｗ１，ｗ２，ｗ３は、各マップの重み付け量を示す。マップ作成部２７は、マップＳａｌ[１]、マップＳａｌ[２]、マップＳａｌ[３]にそれぞれ重み付けを行い、各マップにおいて対応する各画素の画素値を、それぞれ加算することにより、マップＳａｌ[Ｔ]を作成する。
【００８０】
なお、重みｗ１，ｗ２，ｗ３は、ステップＳ１０４で設定したテンプレートにおける周波数成分などにより定められる。例えば、上述したテンプレートにノイズが多い場合には、ローパス画像Ｉｍｇ[２] に関するマップＳａｌ[２]の重みｗ２、ローパス画像Ｉｍｇ[３]に関するマップＳａｌ[３]の重みｗ３を相対的に大きくし、ノイズが少ない場合には、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]の重みｗ１を相対的に大きくすると良い。この他にも、例えば、対象画像Ｉｍｇ[１]を撮影した際に、撮像装置において設定された撮影モード（「ポートレートモード」、「風景モード」など）や、被写体認識の結果などに基づいて、重みｗ１，ｗ２，ｗ３を定めても良い。
【００８１】
図６に、このようにして作成されたマップＳａｌ[Ｔ]の例を示す。図６Ａは、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]を示し、図６Ｂは、ステップＳ１０６で作成されたマップＳａｌ[Ｔ]を示す。図６Ａにおいては、背景部分に枝、葉、金網などが写り込んでいる。このような部分は、従来の方法では背景であるにもかかわらず、主要被写体領域として認識されていた。しかし、本実施形態によれば、これらの部分の画像を利用してテンプレートを設定しているため、図６Ｂに示すように、これらの部分は、主要被写体領域として誤認識されず、主要被写体である鳥の部分のみがマップＳａｌ[Ｔ]に残ることになる。
【００８２】
（ステップＳ１０７）
ＣＰＵ１４は、ステップＳ１０６で求めたマップＳａｌ[Ｔ]を、対象画像Ｉｍｇ[１]と対応づけて記録する。例えば、マップＳａｌ[Ｔ]を、対象画像Ｉｍｇ[１]の付帯情報として記録しても良いし、マップＳａｌ[Ｔ]に、その情報が対象画像Ｉｍｇ[１]に関するものであることを示す識別情報を付与しても良い。
【００８３】
（ステップＳ１０８）
ＣＰＵ１４は、ステップＳ１０６で求めたマップＳａｌ[Ｔ]に基づいて、対象画像Ｉｍｇ[１]と、主要被写体領域を示す領域を示すマーカーとをモニタ１９に重畳表示する。
【００８４】
ＣＰＵ１４は、まず、マップＳａｌ[Ｔ]に基づいて、主要被写体領域を抽出する。ＣＰＵ１４は、マップＳａｌ[Ｔ]の各画素の値と所定の閾値ＴＲとを比較し、閾値ＴＲを超える画素をすべて含む最小矩形範囲を求めることにより、主要被写体領域を抽出する。なお、最小矩形範囲を求める際には、縦横比を固定して求める構成としても良い。
【００８５】
なお、閾値ＴＲとは、マップＳａｌ[Ｔ]に含まれる各画素が取り得る値の範囲に応じて定められる閾値である。この閾値ＴＲが小さいほど、主要被写体領域として抽出される領域がより広くなる可能性が高くなり、この閾値ＴＲが大きいほど、主要被写体領域として抽出される領域がより狭くなる可能性が高くなる。
【００８６】
図７に、このようにして抽出された主要被写体領域の例を示す。図７Ａは、図６Ｂに示したマップＳａｌ[Ｔ]に、上述した主要被写体領域を示す枠Ｆａを重畳した図を示す。また、図７Ｂは、図６Ａに示した対象画像Ｉｍｇ[１]に、上述した主要被写体領域を示す枠Ｆｂを重畳した図を示す。
【００８７】
マップＳａｌ[Ｔ]においては、図７Ａに示すように、背景部分に写り込んでいる枝、葉、金網などは、主要被写体領域から除外されるので、好適な主要被写体領域の抽出を実現することができる。
【００８８】
次に、ＣＰＵ１４は、図７Ｂに示すように、対象画像Ｉｍｇ[１]と、主要被写体領域を示す領域を示すマーカーである枠Ｆｂとをモニタ１９に重畳表示する。対象画像Ｉｍｇ[１]においては、図７Ｂに示すように、背景部分に写り込んでいる枝、葉、金網などを除く部分に、主要被写体領域を示す枠Ｆｂが表示される。
【００８９】
なお、図７の例では、主要被写体領域を矩形に抽出する例を示したが、本発明はこの例に限定されない。例えば、楕円形、多角形、あるいは、主要被写体領域の輪郭に沿った不規則な形状など、どのような形状であっても良い。
【００９０】
また、図７の例では、主要被写体領域を示す枠を表示する例を示したが、主要被写体領域が視認可能であれば、本発明はこの例に限定されない。例えば、枠を点滅させたり、所定の色の枠を表示しても良い。また、主要被写体領域とその他の領域との明るさや色を変えて表示しても良い。
【００９１】
ＣＰＵ１４は、上述した表示を行うと一連の処理を終了する。
【００９２】
なお、上述した例では、ユーザによるプログラム実行指示に応じて、一連の処理を実行する例を示したが、本発明はこの例に限定されない。例えば、複数の画像に関するマップの作成を、一度のユーザ指示応じて行っても良い。また、データ読込部１２を介して、外部から画像のデータを読み込むたびに、自動で一連の処理を実行しても良い。また、本実施形態で説明した画像処理装置を備えた撮像装置においては、撮像を行う際に一連の処理を実行する構成としても良い。また、本実施形態で説明した画像処理装置を備えた再生装置においては、画像の再生を行う際に一連の処理を実行する構成としても良い。
【００９３】
次に、マップＳａｌ[Ｔ]および抽出した主要被写体領域の利用方法について例を挙げて説明する。上述したように、マップＳａｌ[Ｔ]に基づいて、主要被写体領域を抽出することにより、画像の撮影時および再生時に利用することができる。
【００９４】
撮影時においては、以下の（ａ）および（ｂ）の利用方法が考えられる。
（ａ）主要被写体領域（注目領域）への自動ズーム
撮影時において、構図確認用のいわゆるスルー画像に基づいてマップＳａｌ[Ｔ]を作成することにより、撮影中に主要被写体領域への自動ズームを行うことができる。例えば、主要被写体領域が所定の大きさよりも小さい場合には、主要被写体領域を中心として自動で光学ズームまたは電子ズームを行うことにより、適切な撮影を行うことができる。
【００９５】
このような処理は、動画像の撮影時にも同様に行うことができる。何れの場合も、ズームの程度は、主要被写体領域がファインダ（撮影可能範囲）からはみ出ない程度に抑えることもできる。自動ズームを行うことにより、ユーザが撮影したいと思われる主要被写体を適切なズーム倍率で簡単に撮像することができる。
（ｂ）ＡＥ，ＡＦ，ＡＷＢへの利用
撮影時において、構図確認用のいわゆるスルー画像に基づいてマップＳａｌ[Ｔ]を作成することにより、撮影中に実行するＡＥ，ＡＦ，ＡＷＢを行う範囲を好適に制御することができる。また、従来から行われている被写体認識などにマップＳａｌ[Ｔ]の情報を利用しても良い。
【００９６】
このようなＡＦ，ＡＥ，ＡＷＢ等の処理は、動画像の撮影時にも同様に行うことができる。何れの場合も、マップＳａｌ[Ｔ]に基づいて主要被写体領域を検出し、主要被写体領域の重心位置を中心として、ＡＦ，ＡＥ，ＡＷＢ等を行えば良い。このような処理により、主要被写体領域の動きを追尾しながら、その主要被写体に適したＡＦ，ＡＥ，ＡＷＢ等を実行することができる。
【００９７】
また、撮影時において、スルー画像に基づいてマップＳａｌ[Ｔ]を作成することにより、自動シャッタ制御を行うことができる。例えば、連続的に生成されるスルー画像に対して、一定の時間間隔でマップＳａｌ[Ｔ]を作成して主要被写体領域を検出し、検出した主要被写体領域の大きさと位置との少なくとも一方を監視する。そして、主要被写体領域の大きさと位置との少なくとも一方が予め定めた適切な条件（予め設定されていても、ユーザにより設定されていても良い）となった場合には、自動シャッタ制御を行う。
【００９８】
このような自動シャッタ制御は、動画像の撮影時にも同様に行うことができる。何れの場合も、主要被写体領域の動きを追尾しながら、その主要被写体が好適な状態で自動的に撮像を行うことができる。
【００９９】
なお、上述したＡＦ，ＡＥ，ＡＷＢ等の処理および自動シャッタ制御を行う際には、何フレームか前までの制御条件を記憶しておき、現在のフレームにおける制御条件が、以前のフレームにおける制御条件と比べて著しく異なる場合には、追尾を禁止するようにしても良い。
【０１００】
また、再生時においては、以下の（ｃ）および（ｄ）の利用方法が考えられる。
（ｃ）スライドショーにおけるズーム中心の決定
複数の画像を連続して再生、表示するスライドショーにおいて、画像の切り替え時などに表示効果としてズーム処理が良く行われる。このような場合に、マップＳａｌ[Ｔ]に基づいて主要被写体領域を抽出することにより、この主要被写体領域の中心をズーム中心とすることができる。その結果、ズーム処理の目的である「主要被写体領域（注目領域）を際立たせる」という効果に即した表示を行うことができる。
（ｄ）主要被写体領域（注目領域）の自動クロップ
複数の画像を一覧表示する際に、画像の一部を切り出して拡大する自動クロップにより、主要被写体領域のみを表示することが行われている。このような表示を行うことにより、複数の画像を一覧表示する際に、余分な情報を表示することなく、一覧性を保ったまま、一画面中に多量の画像を表示することができる。このような表示の例を図８に示す。図８Ａは、従来の一覧表示の例である。このような表示の際に、マップＳａｌ[Ｔ]に基づいて自動クロップを行い、主要被写体領域のみを一覧表示する例を図８Ｂに示す。
【０１０１】
なお、このような自動クロップは、撮影直後に表示される確認画像（いわゆるフリーズ画像）にも適用可能である。確認画像を表示する際に、自動クロップを行うことにより、ユーザは、主要被写体領域におけるピントの確認や手ブレの確認などを、容易に行うことができる。また、画像の再生時に、ユーザにより拡大表示の指示が行われた際にも、同様の処理を行うことにより、同様の効果を得ることができる。
【０１０２】
なお、自動クロップを行う際には、クロップの後の画像が適切なアスペクト比となるように、この主要被写体領域を縦方向もしくは横方向へ引き伸ばしてからクロップ処理を行っても良い。このように、アスペクト比を維持したクロップ処理を行うことにより、クロップ後の画像をアスペクト比が固定の外部装置などに出力する際にも、クロップ前の画像（対象画像）のアスペクト比を維持することができる。
【０１０３】
上記のように、第１実施形態の画像処理装置は、対象画像を複数のブロックに分割し、複数のブロックのうち、対象画像の外周部に存在する複数のブロックの画像に基づいて、複数のテンプレートを設定する。そして、対象画像を分割した複数のブロックの各々について代表値を算出し、マッチング対象のブロックの代表値と、複数のテンプレートにおける代表値とをそれぞれ比較することによるマッチングを、複数のブロックごとに行い、マッチングの結果に基づいて、対象画像における被写体の分布を示すマップを作成するものである。
【０１０４】
なお、上述した対象画像の外周部とは、例えば、対象画像の上下端からそれぞれ対象画像の高さの３０％程度の範囲、および、対象画像の左右端からそれぞれ対象画像の幅の３０％程度の範囲と考えることができる。
【０１０５】
よって、第１実施形態の構成によれば、対象画像の外周部をテンプレートとすることにより、背景である領域を確実に検出することができる。そのため、作成したマップを用いて主要被写体領域を抽出することにより、高周波成分に依存したり、経験的な構図の想定を行ったりすることなく、対象画像に適合した方法で、主要被写体領域の抽出を行うことができる。
【０１０６】
特に、第１実施形態の構成によれば、従来から考えられている顔認識技術が主要被写体として顔を認識することに特化しているのと比較して、主要被写体が顔でない場合でもあっても、好適に主要被写体領域の抽出を行うことができる。さらに、ユーザによる各種指定や設定を必要とせずに、対象画像から主要被写体領域を抽出することができる。
【０１０７】
また、第１実施形態の構成によれば、対象画像よりも低解像度の画像を少なくとも１つ生成し、対象画像および低解像度の画像のそれぞれについて、被写体の分布を示すマップを作成し、作成した複数のマップに基づく演算を行うことにより、対象画像における被写体の分布を示すマップを作成するので、対象画像の外周部に主要被写体以外の被写体が写り込んでいる画像についても、好適なテンプレートを設定することができ。そのため、対象画像の外周部に高周波成分が乗っていたとしても、対象画像に適合した方法で、主要被写体領域の抽出を行うことができる。
【０１０８】
なお、第１実施形態においては、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]の画像データに基づいて、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する例を示したが、本発明はこの例に限定されない。例えば、３枚以上のローパス画像を生成する構成としても良い。この場合、生成した複数のローパス画像のそれぞれについてマップＳａｌ[ｎ]を作成し、作成した複数のマップＳａｌ[ｎ]を適宜重み付けして加算することにより、本実施形態と同様にマップＳａｌ[Ｔ]を作成することができる。
【０１０９】
また、第１実施形態においては、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]の画像データに基づいて、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する例を示したが、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]の生成を行わなくても良い。すなわち、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]についてのみ、ステップＳ１０３からステップＳ１０５の処理を行い、ステップＳ１０６において説明した、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]をそのままマップＳａｌ[Ｔ]としても良い。
【０１１０】
＜第２実施形態の説明＞
以下、第２実施形態の画像処理装置の動作例を説明する。第２実施形態は第１実施形態におけるＳ１０２の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第１実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１１１】
第２実施形態の例では、第１実施形態におけるＳ１０２の処理に代えて、以下の処理を行う。
【０１１２】
（ステップＳ１０２）
ＣＰＵ１４は、領域分割部２４により、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]の画像データに基づいて、リサイズ画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する。リサイズ画像Ｉｍｇ[２]の生成は、以下の式９により行われ、リサイズ画像Ｉｍｇ[３]の生成は、以下の式１０により行われる。
【０１１３】
【数６】
0005487126.tif 000007
式９および式１０中右辺のＲｅｓｉｚｅ(Ｘ，Ｙ)は、Ｘを倍率Ｙでリサイズ処理することを示す式である。領域分割部２４は、式９に示すように、対象画像Ｉｍｇ[１]を倍率ｒｔ１でリサイズしてリサイズ画像Ｉｍｇ[２]を生成するとともに、式１０に示すように、対象画像Ｉｍｇ[１]を倍率ｒｔ２でリサイズしてリサイズ画像Ｉｍｇ[３]を生成する。なお、倍率ｒｔ１および倍率ｒｔ２は、予め定められた倍率であり、ともに１未満で、ｒｔ１≠ｒｔ２である。
【０１１４】
なお、上述の例では、対象画像Ｉｍｇ[１]の画像データに基づいて、リサイズ画像Ｉｍｇ[２]およびＩｍｇ[３]を生成する例を示したが、対象画像Ｉｍｇ[１]の画像データに基づいて、リサイズ画像Ｉｍｇ[２]を生成し、生成したリサイズ画像Ｉｍｇ[２] の画像データに基づいて、リサイズ画像Ｉｍｇ[３]を生成しても良い。
【０１１５】
ステップＳ１０３以降の処理において、ＣＰＵ１４は、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]に代えて、リサイズ画像Ｉｍｇ[２]およびＩｍｇ[３]を利用し、第１実施形態と同様の処理を行う。ただし、ステップＳ１０６において、マップＳａｌ[Ｔ]を作成する際には、式８に代えて、次式を用いる。
【０１１６】
【数７】
0005487126.tif 000008
式１１中のｒｔ１およびｒｔ２は、上述したリサイズ処理時の倍率ｒｔ１および倍率ｒｔ２である。リサイズ処理により、リサイズ画像Ｉｍｇ[２]およびＩｍｇ[３]は、対象画像Ｉｍｇ[１]よりもサイズが小さくなるため、リサイズ画像Ｉｍｇ[２]に関するマップＳａｌ[２]およびリサイズ画像Ｉｍｇ[３]に関するマップＳａｌ[３]も、対象画像Ｉｍｇ[１] に関するマップＳａｌ[１]よりもサイズが小さくなる。そのため、ステップＳ１０６において、マップＳａｌ[Ｔ]を作成する際には、リサイズ処理時の倍率ｒｔ１および倍率ｒｔ２の逆数をそれぞれ乗じてサイズをそろえた後に、重み付けおよび加算処理を行う。
【０１１７】
上記のように、第２実施形態の画像処理装置は、第１実施形態のローパス処理に代えて、ローパス処理と同様の低解像化処理（帯域制限処理）であるリサイズ処理を行う。そのため、第１実施形態の構成とほぼ同様の効果を得ることができる。また、第２実施形態の画像処理装置は、ローパス処理の代わりにリサイズ処理を行うことにより、処理の高速化が期待できる。
【０１１８】
＜第３実施形態の説明＞
以下、第３実施形態の画像処理装置の動作例を説明する。第３実施形態は第１実施形態および第２実施形態におけるＳ１０４の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第１実施形態および第２実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１１９】
第３実施形態の例では、第１実施形態におけるＳ１０４の処理に代えて、以下の処理を行う。
【０１２０】
（ステップＳ１０４）
ＣＰＵ１４は、テンプレート設定部２５により、Ｓ１０３の分割処理による複数のブロックから、下辺を除く３辺に存在するすべてのブロックを選択し、テンプレートとして設定する。テンプレート設定部２５は、テンプレートの設定を対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて行う。
【０１２１】
以下では、対象画像Ｉｍｇ[１]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部２５は、図９Ａに示すように、対象画像Ｉｍｇ[１]の 下辺を除く３辺に存在するブロック（図９Ａ中、斜線で示したブロック）を選択し、テンプレートとして設定する。すなわち、図４で示した複数のブロックのうち、上辺に存在するブロックＢ[１] (１，１)〜ブロックＢ[１] (１０，１)の１０個のブロックと、左辺に存在するブロックＢ[１] (１，２)〜ブロックＢ[１] (１，１０)の９個のブロックと、右辺に存在するブロックＢ[１] (１０，２)〜ブロックＢ[１] (１０，１０)の９個のブロックとの、合計２８個のブロックをテンプレートとして設定する。なお、以下では、左上から右下の方向にテンプレートに番号Ｎを付し、各テンプレートをテンプレートＴ[１]{Ｎ}と表記する。上述したように、対象画像Ｉｍｇ[１]の下辺を除く３辺に存在する２８個のブロックが選択されると、図９に示すように、テンプレートＴ[１]{１}〜テンプレートＴ[１]{２８}の２８個のテンプレートが設定されることになる。
【０１２２】
下辺を除く３辺に存在するすべてのブロックをテンプレートとして設定するのは、下辺に存在するブロックをテンプレートとして設定しないためである。これは、例えば、図９Ａに示すようなバストアップの人物像のように、画像の下辺には、主要被写体（または主要被写体の延長）が存在する場合があり、そのような場合においては、下辺に存在するブロックは、テンプレートとして適さないためである。主要被写体が存在するブロックをテンプレートとして設定してしまうと、主要被写体が存在するブロックまで背景領域として抽出されてしてしまう。このような問題に対処するために、下辺を除く３辺に存在するすべてのブロックをテンプレートとして設定する。
【０１２３】
なお、画像の上下は、対象画像Ｉｍｇ[１]の撮像時における撮像装置の姿勢情報等に基づいて認識することができる。さらに、自動被写体認識や顔認識などの結果に基づいて、画像の上下を認識しても良い。例えば、図９Ｂに示すような横位置の画像については、対象画像Ｉｍｇ[１]の 左辺を除く３辺に存在するブロック（図９Ｂ中、斜線で示したブロック）を選択し、テンプレートとして設定すればよい。
【０１２４】
テンプレート設定部２５は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、テンプレートＴ[２]{１}〜テンプレートＴ[２]{２８}を設定し、ローパス画像Ｉｍｇ[３]については、テンプレートＴ[３]{１}〜テンプレートＴ[３]{２８}を設定する。
【０１２５】
ステップＳ１０５以降の処理において、ＣＰＵ１４は、第１実施形態と同様の処理を行う。ただし、ステップＳ１０５において、差分絶対値総和ＳＡＤ[１] (ｉ，ｊ){Ｎ}の算出対象となるテンプレートは、テンプレートＴ[１]{１}〜テンプレートＴ[１]{２８}の２８個のテンプレートとなる。
【０１２６】
上記のように、第３実施形態の画像処理装置は、対象画像のうち、下辺を除く３辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する。そのため、対象画像の下辺に主要被写体が存在する画像についても、好適なテンプレートを設定することができる。また、テンプレートの数を減らすことにより、処理の高速化が期待できる。
【０１２７】
なお、第３実施形態においては、下辺を除く３辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、左辺および右辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定しても良い。
【０１２８】
また、第１実施形態および第３実施形態においては、対象となる辺（第１実施形態では、４辺すべて、第３実施形態では、３辺または２辺）に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、一部のブロックの画像に基づいて、複数のテンプレートを設定しても良い。例えば、下辺を除く３辺に存在するすべてのブロックの画像と、下辺に存在する予め定められた一部のブロックの画像とに基づいて、テンプレートを設定しても良い。また、四隅に存在するブロックの画像に基づいて、複数のテンプレートを設定しても良い。
【０１２９】
＜第４実施形態の説明＞
以下、第４実施形態の画像処理装置の動作例を説明する。第４実施形態は、上記した第３実施形態と同様に、第１実施形態および第２実施形態におけるＳ１０４の処理の変形例である。したがって、第３実施形態と同様に、本明細書では以下の実施形態の説明において、第１実施形態および第２実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１３０】
第４実施形態の例では、第１実施形態におけるＳ１０４の処理に代えて、以下の処理を行う。
【０１３１】
（ステップＳ１０４）
ＣＰＵ１４は、テンプレート設定部２５により、マッチング対象のブロックの、画像内における位置に基づいて、Ｓ１０３の分割処理による複数のブロックから、画像の最外周に存在するすべてのブロックから、一部のブロックを選択し、テンプレートとして設定する。テンプレート設定部２５は、テンプレートの設定を対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて行う。
【０１３２】
以下では、対象画像Ｉｍｇ[１]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部２５は、最外周に存在するブロック除くブロック（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、個別にテンプレートを設定する。テンプレート設定部２５は、対象画像Ｉｍｇ[１]内におけるブロックＢ[１] (ｉ，ｊ)の位置に基づいて、対象画像Ｉｍｇ[１]の最外周に存在するすべてのブロックのうち、上辺に存在するブロックＢ[１] (ｉ−１，１)，ブロックＢ[１] (ｉ，１)，ブロックＢ[１] (ｉ＋１，１)と、左辺に存在するブロックＢ[１] (１，ｊ−１)，ブロックＢ[１] (１，ｊ)，ブロックＢ[１] (１，ｊ＋１)と、右辺に存在するブロックＢ[１] (１０，ｊ−１)，ブロックＢ[１] (１０，ｊ)，ブロックＢ[１] (１０，ｊ＋１)と、下辺に存在するブロックＢ[１] (ｉ−１，１０)，ブロックＢ[１] (ｉ，１０)，ブロックＢ[１] (ｉ＋１，１０)とを選択してテンプレートとして設定する。
【０１３３】
例えば、図１０に示すように、ブロックＢ[１] (６，４)について、テンプレートを設定する場合には、上辺に存在するブロックＢ[１] (５，１)，ブロックＢ[１] (６，１)，ブロックＢ[１] (７，１)と、左辺に存在するブロックＢ[１] (１，３)，ブロックＢ[１] (１，４)，ブロックＢ[１] (１，５)と、右辺に存在するブロックＢ[１] (１０，３)，ブロックＢ[１] (１０，４)，ブロックＢ[１] (１０，５)と、下辺に存在するブロックＢ[１] (５，１０)，ブロックＢ[１] (６，１０)，ブロックＢ[１] (７，１０)とを選択してテンプレートとして設定する。すなわち、テンプレート設定部２５は、図４で示した複数のブロックのうち、合計１２個のブロックをテンプレートとして設定する。
【０１３４】
なお、以下では、左上から右下の方向にテンプレートに番号Ｎを付し、各テンプレートをテンプレートＴ[１](ｉ，ｊ){Ｎ}と表記する。テンプレートＴ[１](ｉ，ｊ){Ｎ}中の(ｉ，ｊ)は、ブロックＢ[１] (ｉ，ｊ)に関して設定されたテンプレートであることを示す。
【０１３５】
上述したように、ブロックＢ[１] (６，４)の位置に基づいて１２個のブロックが選択されると、図１０に示すように、テンプレートＴ[１] (６，４){１}〜テンプレートＴ[１] (６，４){１２}の１２個のテンプレートが設定されることになる。
【０１３６】
テンプレート設定部２５は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、ブロックＢ[２] (２，２)〜ブロックＢ[２] (９，９)のそれぞれのブロックについて、テンプレートＴ[２] (ｉ，ｊ){１}〜テンプレートＴ[２] (ｉ，ｊ){１２}を設定する。また、ローパス画像Ｉｍｇ[３]については、ブロックＢ[３] (２，２)〜ブロックＢ[３] (９，９)のそれぞれのブロックについて、テンプレートＴ[３] (ｉ，ｊ){１}〜テンプレートＴ[３] (ｉ，ｊ){１２}を設定する。
【０１３７】
ステップＳ１０５以降の処理において、ＣＰＵ１４は、第１実施形態と同様の処理を行う。ただし、ステップＳ１０５において、マッチング処理を行う際には、ブロックごとに異なるテンプレートを用いて差分絶対値総和ＳＡＤ[ｎ] (ｉ，ｊ){Ｎ}を求める。また、差分絶対値総和ＳＡＤ[ｎ] {Ｎ}の算出対象となるテンプレートは、各ブロックごとに、それぞれテンプレートＴ[ｎ] (ｉ，ｊ){１}〜テンプレートＴ[ｎ] (ｉ，ｊ){１２}の１２個のテンプレートとなる。
【０１３８】
なお、上述の例では、テンプレート設定部２５は、対象画像Ｉｍｇ[１]内におけるブロックＢ[１] (ｉ，ｊ)の位置に基づいて、対象画像Ｉｍｇ[１]の最外周に存在するすべてのブロックのうち、それぞれの辺ごとに３つのブロックを選択してテンプレートとして設定する例を示した。しかし、変数ａ（ただし、ａは０以上の整数）を用いて、それぞれの辺ごとに(２ａ＋１)個のブロックを選択する構成としても良い。すなわち、上辺に存在するブロックＢ[１] (ｉ−ａ，１)〜ブロックＢ[１] (ｉ＋ａ，１)と、左辺に存在するブロックＢ[１] (１，ｊ−ａ)〜ブロックＢ[１] (１，ｊ＋ａ)と、右辺に存在するブロックＢ[１] (１０，ｊ−ａ)〜ブロックＢ[１] (１０，ｊ＋ａ)と、下辺に存在するブロックＢ[１] (ｉ−ａ，１０)〜ブロックＢ[１] (ｉ＋ａ，１０)とを選択してテンプレートとして設定すればよい。なお、変数ａは、ステップＳ１０３で行ったブロック分割時の分割数などに応じて定めれば良い。
【０１３９】
上記のように、第４実施形態の画像処理装置は、マッチング対象のブロックの、対象画像内における位置に基づいて、対象画像の最外周に存在するすべてのブロックから、一部のブロックを選択し、選択した複数のブロックの画像に基づいて複数のテンプレートを設定する。
【０１４０】
よって、第４実施形態の構成によっても、第３実施形態と同様に、テンプレートの数を減らし、処理の高速化が期待できる。
【０１４１】
なお、第１実施形態から第４実施形態においては、最外周に存在するブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、本発明はこの例に限定されない。例えば、最外周の１周内側に存在するブロックの画像に基づいて、複数のテンプレートを設定しても良い。例えば、図４の例では、上辺の１周内側に存在するブロックＢ[１] (２，２)〜ブロックＢ[１] (９，２)の８個のブロックと、左辺の１周内側に存在するブロックＢ[１] (２，３)〜ブロックＢ[１] (２，９０)の７個のブロックと、右辺の１周内側に存在するブロックＢ[１] (９，３)〜ブロックＢ[１] (９，９)の７個のブロックとの、合計２２個のブロックをテンプレートとして設定しても良い。このような設定とすることにより、例えば、対象画像Ｉｍｇ[１]が、額縁に入った絵である場合など、構図がある程度決まっている場合にも好適に対応することができる。
【０１４２】
また、各辺におけるブロック数は同一でなくても良い。例えば、上辺については、２ライン分のブロックの画像に基づいて複数のテンプレートを設定し、左辺および右辺については１ライン分のブロックの画像に基づいて複数のテンプレートを設定しても良い。
【０１４３】
＜第５実施形態の説明＞
以下、第５実施形態の画像処理装置の動作例を説明する。第５実施形態は、上記した第１実施形態から第４実施形態におけるＳ１０５の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第１実施形態から第４実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１４４】
第５実施形態の例では、第１実施形態におけるＳ１０５の処理に代えて、以下の処理を行う。
【０１４５】
（ステップＳ１０５）
ＣＰＵ１４は、マッチング処理部２６により、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて、マッチング処理を行う。
【０１４６】
以下では、対象画像Ｉｍｇ[１]におけるマッチング処理を例に挙げて説明する。マッチング処理部２６は、対象画像Ｉｍｇ[１]について、ステップＳ１０３でブロック分割した各ブロック（ブロックＢ[１] (１，１)〜ブロックＢ[１] (１０，１０))について、次式を用いて周波数特徴量を求める。なお、ステップＳ１０４で設定したテンプレートに対応するブロック（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）については、式１２を用いて周波数特徴量ｆ[１]{Ｎ}を求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについては、式１３を用いて周波数特徴量ｆ[１] (ｉ，ｊ)を求める。
【０１４７】
【数８】
0005487126.tif 000009
フーリエ変換の詳細については、第１実施形態のステップＳ１０２で説明したものと同様である。マッチング処理部２６は、周波数特徴量ｆ[１]{１}〜周波数特徴量ｆ[１]{３６}および、周波数特徴量ｆ[１] (２，２) 〜周波数特徴量ｆ[１] (９，９)をそれぞれ求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分のそれぞれについて、評価値ｆＳＡＤ[１] (ｉ，ｊ)を求める。
【０１４８】
一例として、マッチング対象のブロックのうち、ブロックＢ[１] (２，２)について、評価値ｆＳＡＤ[１] (２，２)を求める場合を例に挙げる。マッチング処理部２６は、ブロックＢ[１] (２，２)の周波数特徴量ｆ[１] (２，２)と、ステップＳ１０４で設定したテンプレート（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）の周波数特徴量ｆ[１]{１}〜周波数特徴量ｆＴ[１]{３６}とをそれぞれ比較し、次式に示す差分絶対値総和ｆＳＡＤ[１] (ｉ，ｊ){Ｎ}を求める。
【０１４９】
【数９】
0005487126.tif 000010
式１４中左辺の[ｎ]は画像の種類（ここではｎ＝１）を示し、(ｉ，ｊ)はブロックの位置（ここでは、ｉ＝２，ｊ＝２）を示し、{Ｎ}はテンプレートの番号（ここでは１〜３６）を示す。また、式１４中右辺は、マッチング処理の対象のブロック（ブロックＢ[ｎ] (ｉ，ｊ)）内の任意の画素に対応する周波数特徴量ｆ[１] (ｉ，ｊ)の値と、任意のテンプレートのブロック（テンプレートＴ[ｎ]{Ｎ})）内において、任意の画素に対応する位置の画素に対応する周波数特徴量ｆＴ[１]{Ｎ}の値との差分の絶対値を、マッチング対象のブロック内のすべての画素に対応する領域（＝Ｂ[ｎ] (ｉ，ｊ)の台）について求めて加算することを示す。
【０１５０】
式１４で求まる差分絶対値総和ｆＳＡＤ[１] (ｉ，ｊ){Ｎ}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【０１５１】
例えば、上述したブロックＢ[１] (２，２)と、テンプレートＴ[１]{１}に関して、差分絶対値総和ｆＳＡＤ[１] (２，２){１}を求める場合には、マッチング処理部２６は、ブロックＢ[１] (２，２) 内の任意の画素に対応する周波数特徴量ｆ[１] (２，２)の値と、任意のテンプレートのブロック（テンプレートＴ[１]{１}＝ブロックＢ[１] (１，１)）内において、任意の画素に対応する位置の画素に対応する周波数特徴量ｆＴ[１]{１}の値との差分の絶対値を、ブロックＢ[１] (２，２) 内のすべての画素に対応する領域（＝Ｂ[１] (２，２)の台）について求めて加算し、絶対値総和ｆＳＡＤ[１] (２，２){１}を求める。
【０１５２】
マッチング処理部２６は、同様の処理を、ブロックＢ[１] (２，２)と、テンプレートＴ[１]{２}〜テンプレートＴ[１]{３６}とのそれぞれについても行い、絶対値総和ｆＳＡＤ[１] (２，２){２}〜絶対値総和ｆＳＡＤ[１] (２，２){３６}を求める。そして、次式を用いて、ブロックＢ[１] (２，２)についての評価値ｆＳＡＤ[１] (２，２)を求める。
【０１５３】
【数１０】
0005487126.tif 000011
式１５中右辺のｍｉｎ(Ｘ)は、Ｘの最小値を返す式であり、上述の例では、絶対値総和ｆＳＡＤ[１] (２，２){１}〜絶対値総和ＳＡＤ[１] (２，２){３６}の最小値を評価値ｆＳＡＤ[１] (２，２)とする。
【０１５４】
マッチング処理部２６は、以上の処理を、ブロックＢ[１] (３，２)〜ブロックＢ[１] (９，９)についても行い、それぞれ、評価値ｆＳＡＤ[１] (３，２)〜評価値ｆＳＡＤ[１] (９，９)を求める。この結果、対象画像Ｉｍｇ[１]中のマッチング対象のブロック（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、評価値ｆＳＡＤ[１] (ｉ，ｊ)が求められる。
【０１５５】
また、マッチング処理部２６は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、評価値ｆＳＡＤ[２] (２，２)〜評価値ＳＡＤ[２] (９，９)を求め、ローパス画像Ｉｍｇ[３]については、評価値ｆＳＡＤ[３] (２，２)〜評価値ＳＡＤ[３] (９，９)を求める。
【０１５６】
ステップＳ１０６以降の処理において、ＣＰＵ１４は、対象画像Ｉｍｇ[１]については、評価値ＳＡＤ[１] (２，２)〜評価値ＳＡＤ[１] (９，９)に代えて、評価値ｆＳＡＤ[１] (２，２)〜評価値ｆＳＡＤ[１] (９，９)に基づいて、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]を作成する。ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]についても同様である。
【０１５７】
上記のように、第５実施形態の画像処理装置は、ブロック内に含まれる画素ごとの画素値を算出した後に、ブロック内に含まれる画素値に対してフーリエ変換を行うことにより代表値を算出する。そして、マッチング対象のブロック内の任意の代表値と、任意のテンプレートのブロック内において、任意の代表値に対応する代表値との差分の絶対値を、マッチング対象のブロック内のすべての画素に対応する代表値について求めて加算した値である差分絶対値総和を、複数のテンプレートのそれぞれについて求め、求めた複数の差分絶対値総和のうち、最小の前記差分絶対値総和の値を、マッチング対象のブロックに関する評価値とする。そのため、第１実施形態の構成とほぼ同様の効果を得ることができる。
【０１５８】
なお、第５実施形態においては、ステップＳ１０５において、フーリエ変換を行う例を示したが、周波数領域への画像変換であれば、どのような変換処理を行っても良い。例えば、離散コサイン変換や、ウェーブレット変換などを行っても良い。さらに、複数の方法を組み合わせて、周波数領域への画像変換を行っても良い。
【０１５９】
また、第５実施形態においては、上述したように、求めた複数の差分絶対値総和のうち、最小の前記差分絶対値総和の値を、マッチング対象のブロックに関する評価値とする例を示したが、最大値や平均値を評価値としても良い。
【０１６０】
＜第６実施形態の説明＞
以下、第６実施形態の画像処理装置の動作例を説明する。第６実施形態は、上記した第５実施形態と同様に、第１実施形態から第４実施形態におけるＳ１０５の処理の変形例である。したがって、第５実施形態と同様に、本明細書では以下の実施形態の説明において、第１実施形態から第４実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１６１】
第６実施形態の例では、第１実施形態におけるＳ１０５の処理に代えて、以下の処理を行う。
【０１６２】
（ステップＳ１０５）
ＣＰＵ１４は、マッチング処理部２６により、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて、マッチング処理を行う。
【０１６３】
以下では、対象画像Ｉｍｇ[１]におけるマッチング処理を例に挙げて説明する。マッチング処理部２６は、対象画像Ｉｍｇ[１]について、ステップＳ１０３でブロック分割した各ブロック（ブロックＢ[１] (１，１)〜ブロックＢ[１] (１０，１０)）について、次式を用いて代表色特徴量を求める。なお、ステップＳ１０４で設定したテンプレートに対応するブロック（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）については、式１６を用いて代表色特徴量ＣＬ[１]{Ｎ}を求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについては、式１７を用いて代表色特徴量ＣＬ[１] (ｉ，ｊ)を求める。
【０１６４】
【数１１】
0005487126.tif 000012
式１６中右辺のＣＬｒ[ｎ]{Ｎ}、ＣＬｇ[ｎ]{Ｎ}、ＣＬｂ[ｎ]{Ｎ}は、それぞれ、テンプレートＴ[ｎ]{Ｎ}内におけるＲＧＢ各色の画素値ごとの最頻値（モード）を示す。なお、最頻値が複数ある場合には、最も小さい画素値に対応する最頻値を採用しても良いし、平均値を採用しても良い。
【０１６５】
また、式１７中右辺のＣＬｒ[ｎ] (ｉ，ｊ)、ＣＬｇ[ｎ] (ｉ，ｊ)、ＣＬｂ[ｎ] (ｉ，ｊ)は、それぞれ、ブロックＢ[ｎ] (ｉ，ｊ)内におけるＲＧＢ各色の画素値ごとの最頻値（モード）を示す。
【０１６６】
次に、マッチング処理部２６は、対象画像Ｉｍｇ[１]について、ステップＳ１０３でブロック分割した各ブロック（ブロックＢ[１] (１，１)〜ブロックＢ[１] (１０，１０)）について、次式を用いて第２代表色特徴量を求める。なお、ステップＳ１０４で設定したテンプレートに対応するブロック（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）については、式１８〜式２１を用いて第２代表色特徴量Ｑ[１]{Ｎ}を求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについては、式２２〜式２５を用いて第２代表色特徴量Ｑ[１] (ｉ，ｊ)を求める。
【０１６７】
【数１２】
0005487126.tif 000013
式１９中右辺のＰｒ[ｎ]{Ｎ}は、テンプレートＴ[ｎ]{Ｎ}内におけるＲ成分の相対ヒストグラムを示す。同様に、式２０中右辺のＰｇ[ｎ]{Ｎ}は、テンプレートＴ[ｎ]{Ｎ}内におけるＧ成分の相対ヒストグラムを示し、式２１中右辺のＰｂ[ｎ]{Ｎ}は、テンプレートＴ[ｎ]{Ｎ}内におけるＢ成分の相対ヒストグラムを示す。また、式２３中右辺のＰｒ[ｎ] (ｉ，ｊ)は、ブロックＢ[ｎ] (ｉ，ｊ)内におけるＲ成分の相対ヒストグラムを示す。同様に、式２４中右辺のＰｇ[ｎ] (ｉ，ｊ)は、ブロックＢ[ｎ] (ｉ，ｊ)内におけるＧ成分の相対ヒストグラムを示し、式２５中右辺のＰｂ[ｎ] (ｉ，ｊ)は、ブロックＢ[ｎ] (ｉ，ｊ)内におけるＢ成分の相対ヒストグラムを示す。また、式１９〜式２１および式２３〜式２５において、和を表すΣを求める範囲は、各相対ヒストグラムのｂｉｎ数（分割数）によって決まる。
【０１６８】
マッチング処理部２６は、代表色特徴量ＣＬ[１]{１}〜代表色特徴量ＣＬｆ[１]{３６}および代表色特徴量ＣＬ[１] (２，２) 〜代表色特徴量ＣＬ[１] (９，９)をそれぞれ求めるとともに、第２代表色特徴量Ｑ[１]{１}〜第２代表色特徴量Ｑ[１]{３６}および、第２代表色特徴量Ｑ[１] (２，２) 〜第２代表色特徴量Ｑ[１] (９，９)をそれぞれ求める。そして、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分のそれぞれについて、ブロックごとに評価値Ｖ[１] (ｉ，ｊ)を求める。
【０１６９】
一例として、マッチング対象のブロックのうち、ブロックＢ[１] (２，２)について、評価値Ｖ[１] (２，２)を求める場合を例に挙げる。マッチング処理部２６は、ブロックＢ[１] (２，２)の代表色特徴量ＣＬ[１] (２，２)および第２代表色特徴量Ｑ[１] (２，２)と、ステップＳ１０４で設定したテンプレート（テンプレートＴ[１]{１}〜テンプレートＴ[１]{３６}）の代表色特徴量ＣＬ[１]{１}〜代表色特徴量ＣＬｆ[１]{３６}および第２代表色特徴量Ｑ[１]{１}〜第２代表色特徴量Ｑ[１]{３６}とをそれぞれ比較し、次式に示す差分絶対値総和Ｖ[１] (ｉ，ｊ){Ｎ}を求める。
【０１７０】
【数１３】
0005487126.tif 000014
式２６中左辺の[ｎ]は画像の種類（ここではｎ＝１）を示し、(ｉ，ｊ)はブロックの位置（ここでは、ｉ＝２，ｊ＝２）を示し、{Ｎ}はテンプレートの番号（ここでは１〜３６）を示す。また、式２６中右辺は、マッチング処理の対象のブロック（ブロックＢ[ｎ] (ｉ，ｊ)）の各特徴量と、任意のテンプレートのブロック（テンプレートＴ[ｎ]{Ｎ})）の各特徴量との差分の絶対値をそれぞれ求め、加算することを示す。
【０１７１】
式２６で求まる差分絶対値総和Ｖ[１] (ｉ，ｊ){Ｎ}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【０１７２】
マッチング処理部２６は、同様の処理を、ブロックＢ[１] (２，２)と、テンプレートＴ[１]{２}〜テンプレートＴ[１]{３６}とのそれぞれについても行い、絶対値総和Ｖ[１] (２，２){２}〜絶対値総和Ｖ[１] (２，２){３６}を求める。そして、次式を用いて、ブロックＢ[１] (２，２)についての評価値Ｖ[１] (２，２)を求める。
【０１７３】
【数１４】
0005487126.tif 000015
式２７中右辺のｍｉｎ(Ｘ)は、Ｘの最小値を返す式であり、上述の例では、絶対値総和Ｖ[１] (２，２){１}〜絶対値総和Ｖ[１] (２，２){３６}の最小値を評価値Ｖ[１] (２，２)とする。
【０１７４】
マッチング処理部２６は、以上の処理を、ブロックＢ[１] (３，２)〜ブロックＢ[１] (９，９)についても行い、それぞれ、評価値Ｖ[１] (３，２)〜評価値Ｖ[１] (９，９)を求める。この結果、対象画像Ｉｍｇ[１]中のマッチング対象のブロック（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、評価値Ｖ [１] (ｉ，ｊ)が求められる。
【０１７５】
また、マッチング処理部２６は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、評価値Ｖ[２] (２，２)〜評価値Ｖ[２] (９，９)を求め、ローパス画像Ｉｍｇ[３]については、評価値Ｖ[３] (２，２)〜評価値Ｖ[３] (９，９)を求める。
【０１７６】
ステップＳ１０６以降の処理において、ＣＰＵ１４は、対象画像Ｉｍｇ[１]については、評価値ＳＡＤ[１] (２，２)〜評価値ＳＡＤ[１] (９，９)に代えて、評価値Ｖ[１] (２，２)〜評価値Ｖ[１] (９，９)に基づいて、対象画像Ｉｍｇ[１]に関するマップＳａｌ[１]を作成する。ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]についても同様である。
【０１７７】
上記のように、第６実施形態の画像処理装置は、代表値として、対象画像を構成する複数の色成分の分布に基づいて、色に関する特徴を示す値を、複数のブロックごとに算出する。そして、マッチング対象のブロックの代表値と、任意のテンプレートのブロックの代表値との差分を加算した値である差分絶対値総和を、複数のテンプレートのそれぞれについて求め、求めた複数の差分絶対値総和のうち、最小の差分絶対値総和の値を、マッチング対象のブロックに関する評価値とする。そのため、第１実施形態の構成とほぼ同様の効果を得ることができる。
【０１７８】
なお、第６実施形態では、色に関する特徴を示す値として、代表色特徴量および第２代表色特徴量を例に挙げて説明したが、いずれか一方のみを用いても良い。また、式２６において示した差分絶対値総和Ｖ[ｎ] (ｉ，ｊ){Ｎ}を求める際には、代表色特徴量および第２代表色特徴量に適宜重み付けを行っても良い。
【０１７９】
＜第６実施形態の変形例の説明＞
なお、第６実施形態のＳ１０３からステップＳ１０５の処理を、以下のように変形しても良い。
【０１８０】
（ステップＳ１０３）
ＣＰＵ１４は、領域分割部２４により、ステップＳ１０１で取得した対象画像Ｉｍｇ[１]、ステップＳ１０２で生成したローパス画像Ｉｍｇ[２]およびＩｍｇ[３]を、それぞれ、複数のブロックに分割する。ただし、領域分割部２４は、図１１に示すように、対象画像Ｉｍｇ[１]を、外周に存在するブロックＢ[１] (１，１)と、その内側に存在する８×８のマトリクス状のブロックＢ[１] (２，２)〜Ｂ[１] (９，９)とに分割する。また、領域分割部２４は、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]についても同様に分割する。
【０１８１】
（ステップＳ１０４）
ＣＰＵ１４は、テンプレート設定部２５により、Ｓ１０３の分割処理による複数のブロックから、外周に存在するブロックＢ[１] (１，１)を選択し、テンプレートとして設定する。テンプレート設定部２５は、図１２に示すように、テンプレートの設定を対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて行う。つまり、この変形例において、テンプレート設定部２５は、１つのブロックをテンプレートＴ[１]{１}として設定する。
【０１８２】
（ステップＳ１０５）
ＣＰＵ１４は、マッチング処理部２６により、対象画像Ｉｍｇ[１]、ローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについて、マッチング処理を行う。
【０１８３】
以下では、対象画像Ｉｍｇ[１]におけるマッチング処理を例に挙げて説明する。マッチング処理部２６は、対象画像Ｉｍｇ[１]について、ステップＳ１０３でブロック分割した各ブロック（ブロックＢ[１] (１，１)，Ｂ[１] (２，２)〜ブロックＢ[１] (９，９)）について、上述した代表色特徴量を求める。また、ステップＳ１０４で設定したテンプレートに対応するブロック（テンプレートＴ[１]{１}）について、上述した代表色特徴量ＣＬ[１]{１}を求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、上述した代表色特徴量ＣＬ[１] (ｉ，ｊ)を求める。
【０１８４】
次に、マッチング処理部２６は、対象画像Ｉｍｇ[１]について、ステップＳ１０３でブロック分割した各ブロック（ブロックＢ[１] (１，１) ，Ｂ[１] (２，２)〜ブロックＢ[１] (９，９)）について、上述した第２代表色特徴量を求める。なお、ステップＳ１０４で設定したテンプレートに対応するブロック（テンプレートＴ[１]{１}）については、上述した第２代表色特徴量Ｑ[１]{１}を求め、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについては、上述した第２代表色特徴量Ｑ[１] (ｉ，ｊ)を求める。
【０１８５】
マッチング処理部２６は、代表色特徴量ＣＬ[１]{１}および代表色特徴量ＣＬ[１] (２，２) 〜代表色特徴量ＣＬ[１] (９，９)をそれぞれ求めるとともに、第２代表色特徴量Ｑ[１]{１}および、第２代表色特徴量Ｑ[１] (２，２) 〜第２代表色特徴量Ｑ[１] (９，９)をそれぞれ求める。そして、対象画像Ｉｍｇ[１]から、ステップＳ１０４で設定したテンプレートを除く部分のそれぞれについて、ブロックごとに評価値Ｖ[１] (ｉ，ｊ)を求める。
【０１８６】
一例として、マッチング対象のブロックのうち、ブロックＢ[１] (２，２)について、評価値Ｖ[１] (２，２)を求める場合を例に挙げる。マッチング処理部２６は、ブロックＢ[１] (２，２)の代表色特徴量ＣＬ[１] (２，２)および第２代表色特徴量Ｑ[１] (２，２)と、ステップＳ１０４で設定したテンプレート（テンプレートＴ[１]{１}）の代表色特徴量ＣＬ[１]{１}および第２代表色特徴量Ｑ[１]{１}とをそれぞれ比較し、上述した差分絶対値総和Ｖ[１] (２，２){１}を求める。
【０１８７】
マッチング処理部２６は、以上の処理を、ブロックＢ[１] (３，２)〜ブロックＢ[１] (９，９)についても行い、それぞれ、評価値Ｖ[１] (３，２)〜評価値Ｖ[１] (９，９)を求める。この結果、対象画像Ｉｍｇ[１]中のマッチング対象のブロック（ブロックＢ[１] (２，２)〜ブロックＢ[１] (９，９)の８×８＝６４ブロック）のそれぞれについて、評価値Ｖ [１] (ｉ，ｊ)が求められる。
【０１８８】
また、マッチング処理部２６は、同様の処理をローパス画像Ｉｍｇ[２]およびＩｍｇ[３]のそれぞれについても行い、ローパス画像Ｉｍｇ[２]については、評価値Ｖ[２] (２，２)〜評価値Ｖ[２] (９，９)を求め、ローパス画像Ｉｍｇ[３]については、評価値Ｖ[３] (２，２)〜評価値Ｖ[３] (９，９)を求める。
【０１８９】
以上説明したように、対象画像Ｉｍｇ[１]を等分割でなく分割し、分割の結果、唯一のテンプレートとなるブロックＢ[１] (１，１)を、テンプレートＴ[１]{１}として設定する構成としても良い。この場合も、第６実施形態と同様の効果を得ることができる。
【０１９０】
なお、図１１に示した分割例および図１２に示したテンプレートの設定例は一例であり、本発明はこの例に限定されない。分割は、どのような形状で行っても良いし、複数のブロックの画像に基づいてテンプレートを設定しても良い。
【０１９１】
＜第７実施形態の説明＞
以下、第７実施形態の画像処理装置の動作例を説明する。第７実施形態は、第１実施形態から第６実施形態におけるマップの作成の変形例である。したがって、本明細書では以下の実施形態の説明において、第１実施形態から第６実施形態と共通する画像処理装置の構成の重複説明は省略する。
【０１９２】
第７実施形態の例では、第１実施形態から第６実施形態におけるマップの作成処理において、テンプレートを追加する処理を行う。
【０１９３】
図１３は、第１実施形態の図２に示したフローチャートの変形例を示すフローチャートである。
（ステップＳ２０１〜ステップＳ２０６）
ＣＰＵ１４は、図２に示したフローチャートのステップＳ１０１〜ステップＳ１０６と同様の処理を行う。
（ステップＳ２０７）
ＣＰＵ１４は、ステップＳ２０６で求めたマップＳａｌ[Ｔ]に基づいて、追加するテンプレートがあるか否かを判定する。ＣＰＵ１４は、追加するテンプレートありと判定すると、ステップＳ２０４に戻り、再びテンプレートの設定を行う。一方、ＣＰＵ１４は、追加するテンプレートなしと判定すると、ステップＳ２０８に進む。
【０１９４】
ＣＰＵ１４は、ステップＳ２０３の分割処理による複数のブロックのうち、テンプレートに設定されていないブロックについて、マップＳａｌ[Ｔ]の各画素の値の代表値を求める。代表値は、平均値や中央値等どのような方法で求めても良い。そして、求めた代表値が、所定の閾値より小さいブロックがある場合には、追加するテンプレートありと判定する。代表値が、所定の閾値より小さいブロックとは、背景領域であると推測できるブロックであるしたがって、このようなブロックをテンプレートとして追加することにより、より精度の良いマップを作成することができる。
【０１９５】
ＣＰＵ１４は、追加するテンプレートなしと判定されるまで、ステップＳ２０４からステップＳ２０７の処理を繰り返す。このような処理を繰り返すことにより、結果として、外周部でない部分（＝中央に近い部分）の各ブロックがテンプレートとして設定される場合もある。そのため、主要被写体領域が中心にない構図の対象画像であっても、適切にテンプレートを設定し、精度の良いマップを作成することができる。
【０１９６】
また、例えば、対象画像の背景部分にグラデーションがかかっている場合にも、テンプレートの追加は有用である。背景部分の外側から内側に向かって色が薄くなる（または明るくなる）グラデーションがかかっている場合、中央に近いブロック程、外周部分に存在するブロックとの差異が出やすくなる。したがって、これらのブロックはマップの値が大きくなるため、主要被写体領域として検出されてしまう可能性が高い。しかし、上述したように、テンプレートの追加を行う場合、差異の少ない隣接するブロックが徐々にテンプレートとして追加されるので、背景領域である部分に存在するブロックを、確実にテンプレートに設定することができる。
【０１９７】
なお、特許４３３４９８１号の発明では、画像の周辺部分を背景テンプレートとして選択し、各ブロックの物理的な距離による重み付けをすることで、画像の内側の背景も正確に検出する技術が開示されている。しかし、上記の発明では、物理的な距離による重み付けに起因して、主要被写体領域についても、中央部分に近くなるほど、背景領域として検出されやすい傾向がある。これに対して、上述したテンプレートを追加する方法によれば、物理的な距離よる重み付けを用いないため、主要被写体の物理的な位置に関係なく、その部分がテンプレートとして設定されたブロックに対応する部分と似ていなければ背景領域として検出される可能性は低い。
（ステップＳ２０８〜ステップＳ２０９）
ＣＰＵ１４は、図２に示したフローチャートのステップＳ１０７〜ステップＳ１０８と同様の処理を行う。
【０１９８】
以上説明したように、テンプレートの追加を行うことにより、より精度の高いマップを作成することができる。
【０１９９】
＜第８実施形態の説明＞
図１４は、第８実施形態での電子カメラの構成例を示すブロック図である。電子カメラ３１は、撮像光学系３２と、撮像素子３３と、画像処理エンジン３４と、ＲＯＭ３５と、メインメモリ３６と、記録Ｉ／Ｆ３７と、ユーザの操作を受け付ける操作部３８と、不図示のモニタを備えた表示部３９を有している。ここで、撮像素子３３、ＲＯＭ３５、メインメモリ３６、記録Ｉ／Ｆ３７、操作部３８および表示部３９は、それぞれ画像処理エンジン３４に接続されている。
【０２００】
撮像素子３３は、撮像光学系３２によって結像される被写体の像を撮像し、撮像した画像の画像信号を生成する撮像デバイスである。なお、撮像素子３３から出力された画像信号は、Ａ／Ｄ変換回路（不図示）を介して制御部に入力される。
【０２０１】
画像処理エンジン３４は、電子カメラ３１の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン３４は、撮像した画像のデータに対して各種の画像処理（色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整、色変換処理など）を施す。また、画像処理エンジン３４は、プログラムの実行により、上記した第１実施形態から第７実施形態のいずれかの画像処理装置（ＣＰＵ１４、ローパス画像生成部２３、領域分割部２４、テンプレート設定部２５、マッチング処理部２６、マップ作成部２７）として機能する。
【０２０２】
ＲＯＭ３５には、画像処理エンジン３４によって実行されるプログラムが記憶されている。また、メインメモリ３６は、画像処理の前工程や後工程で画像のデータを一時的に記憶する。
【０２０３】
記録Ｉ／Ｆ３７は、不揮発性の記憶媒体４０を接続するためのコネクタを有している。そして、記録Ｉ／Ｆ３７は、コネクタに接続された記憶媒体４０に対してデータの書き込み／読み込みを実行する。上記の記憶媒体４０は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図１４では記憶媒体４０の一例としてメモリカードを図示する。
【０２０４】
表示部３９は、画像処理エンジン３４から取得した画像データを表示するとともに、第１実施形態のステップＳ１０８で説明した表示を行う。
【０２０５】
第８実施形態の電子カメラ３１は、ユーザの撮像指示をトリガとする撮像工程において、撮像素子３３で撮像された画像を対象画像として取得し、上記実施形態のいずれかの画像処理装置と同様の処理によりマップＳａｌ[Ｔ]を作成する。なお、画像処理エンジン３４は、対象画像のデータを含む画像ファイルに、マップＳａｌ[Ｔ]を付帯情報として記録してもよい。また、メインメモリ３６などに記録された画像を対象画像として、同様の処理を行っても良い。以上により、第８実施形態の電子カメラ３１は、上記実施形態とほぼ同様の効果を得ることができる。
【０２０６】
＜実施形態の補足事項＞
（１）上記各実施形態では対象画像のデータがＲＧＢ形式である例を説明したが、本発明は上記実施形態の構成に限定されるものではない。本発明の画像処理装置は、例えばＹＣｂＣｒ色空間やＬ＊ａ＊ｂ＊色空間などの他の色空間の画像データについても適用することができる。
【０２０７】
（２）上記各実施形態で説明した各変数、係数、閾値などは一例であり本発明はこの例に限定されない。例えば、第１実施形態のステップＳ１０３におけるブロック分割は１０×１０で行う例を示しが、他の分割数であっても良い。
【０２０８】
また、例えば、第１実施形態のステップＳ１０３におけるブロック分割は、１０×１０の領域に重なり部分が発生しないように行う例を示したが、重なり部分を有するように分割を行っても良い。重なり部分が発生しない場合には、主要被写体領域が複数のブロックにまたがって存在すると、マップの精度が低下するおそれがある。そこで、オーバーラップする部分を含めて分割を行うことにより、主要被写体領域が複数のブロックにまたがって存在する場合でも、マップの精度を向上させることが期待できる。さらに、中央部分などを主要被写体領域と見なすことにより、一部の領域を初めから除外してブロック分割を行っても良い。
【０２０９】
（３）上記各実施形態では、図６に示したように、主要被写体領域が１つである場合を例に挙げて説明したが、本発明はこの例に限定されない。例えば、図１５Ａに示す対象画像Ｉｍｇ[１]について、上記各実施形態で説明した処理を行うことにより、図１５Ｂに示すマップＳａｌ[Ｔ]を作成することができる。このような場合、作成したマップＳａｌ[Ｔ]に基づいて、主要被写体領域の抽出を行うと、図１６Ａに示すように、マップＳａｌ[Ｔ]において複数の主要被写体領域を抽出することができる。さらに、図１６Ｂに示すように、対象画像Ｉｍｇ[１]において、複数の主要被写体領域を抽出することができる。なお、複数の主要被写体領域を抽出する場合には、公知のラベリング技術やクラスタリングによるグループ化処理などを用いることにより、複数の主要被写体領域を分けて認識することができる。
【０２１０】
上述したように、複数の主要被写体領域を抽出した場合、複数の主要被写体領域の何れかを選択するか、複数の主要被写体領域の情報を総合して、上記各実施形態で説明した処理を各主要被写体領域ごとに行えば良い。
【０２１１】
複数の主要被写体領域の何れかを選択する場合には、例えば、面積の大きい主要被写体領域を選択する方法や、その主要被写体領域を構成する画素に対応するマップの値の総和の高い主要被写体領域を選択する方法などが考えられる。逆に、上述したマップの値の総和の低い主要被写体領域や面積の小さい主要被写体領域を除外することで、ノイズに相当する部分を削除できる可能性が高まる。また、複数の主要被写体領域の何れかをユーザ操作に基づいて選択する構成としても良い。
【０２１２】
上述したように、複数の主要被写体領域の何れかを選択する場合には、第１実施形態の（ａ）に示した主要被写体領域への自動ズーム時に、選択された主要被写体領域へのズームが行われる。また、第１実施形態の（ｂ）に示したＡＦ，ＡＥ，ＡＷＢへの利用においては、選択された主要被写体領域に応じたＡＦ，ＡＥ，ＡＷＢ制御や、自動シャッタ制御が行われる。特に、自動シャッタ制御においては、複数の主要被写体領域の情報を総合して、全体を１つの主要被写体領域と見なしてしまうと、何れの主要被写体領域にも含まれない部分に対してＡＦ制御を行ってしまうおそれがある。しかし、複数の主要被写体領域の何れかを選択することにより、複数の主要被写体領域の何れかに対して確実にＡＦ制御を行うことができる。また、第１実施形態の（ｃ）に示したスライドショーにおけるズーム中心の決定においては、選択された主要被写体領域の中心がズーム中心として決定される。また、第１実施形態の（ｄ）に示した主要被写体領域の自動クロップにおいては、選択された主要被写体領域に対して自動クロップが行われる。
【０２１３】
（４）本発明の画像処理装置は、上記実施形態のパーソナルコンピュータの例に限定されない。本発明の画像処理装置は、デジタルの画像の再生表示機能やレタッチ機能を有する電子機器（例えば、フォトビューアー、デジタルフォトフレーム、写真の印刷装置など）であってもよい。また、本発明の撮像装置は、携帯電話端末のカメラモジュールとして実装されるものであってもよい。
【０２１４】
（５）上記実施形態のマッチング処理の方法は一例であり、本発明はこの例に限定されない。本発明では、基本的に差分絶対値総和を用いる例を説明したが、例えば照明変化にロバストにするために、正規化相関を用いてマッチング処理を行うようにしてもよい。また、例えば、Ｍｐｅｇ−７で定義される各種画像特徴量（Ｅｄｇｅ  ＨｉｓｔｇｒａｍやＳｃａｌａｂｌｅ  Ｃｏｌｏｒ）などを用いてマッチング処理を行っても良い。また、例えば、ユーグリッド距離やχ自乗距離などといった、差分絶対値総和以外の距離を用いても良い。また、マッチング処理においては、重みを考慮した代表色どうしの距離を計算するが、それぞれの代表色の数は異なっていても良い。この場合、例えば、ＥＭＤ（Ｅａｒｔｈ  Ｍｏｖｅｒ  Ｄｉｓｔａｎｃｅ）などの手法を用いると良い。
【０２１５】
（６）上記の各実施形態では、ローパス画像生成部２３、領域分割部２４、テンプレート設定部２５、マッチング処理部２６、マップ作成部２７の各処理をソフトウエア的に実現する例を説明したが、ＡＳＩＣによってこれらの各処理をハードウエア的に実現しても勿論かまわない。
【０２１６】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【０２１７】
１１…コンピュータ、１４…ＣＰＵ、２３…ローパス画像生成部、２４…領域分割部、２５…テンプレート設定部、２６…マッチング処理部、２７…マップ作成部、３１…電子カメラ、３３…撮像素子、３４…画像処理エンジン、３５…ＲＯＭ、３７…記録Ｉ／Ｆ、３９…表示部、４０…記憶媒体
【図１】
0005487126.tif 000016
【図２】
0005487126.tif 000017
【図３】
0005487126.tif 000018
【図４】
0005487126.tif 000019
【図５】
0005487126.tif 000020
【図８】
0005487126.tif 000021
【図９】
0005487126.tif 000022
【図１０】
0005487126.tif 000023
【図１１】
0005487126.tif 000024
【図１２】
0005487126.tif 000025
【図１３】
0005487126.tif 000026
【図１４】
0005487126.tif 000027
【図６】
0005487126.tif 000028
【図７】
0005487126.tif 000029
【図１５】
0005487126.tif 000030
【図１６】
0005487126.tif 000031