(57)【要約】【課題】画像の中央部のブロック領域を被写体領域へ向けて移動させる際に、中央部に隙間が生じないようにブロック領域を設定し、高精度の画像検索を実現する。【解決手段】被写体ブロック設定部１３は、画像Ｉのブロック領域Ｂ(m,n)のうち中央ブロック領域ＢC(m’,n’)を特定し、被写体領域Ｔへ向けて移動させ、被写体領域Ｔ内に隙間がないように、被写体ブロック領域ＢC’(m’,n’)を設定する。周辺ブロック設定部１４は、周辺のブロック領域Ｂ(m,n)を被写体領域Ｔへ向けて移動させ、周辺のブロック領域Ｂ(m,n)と被写体ブロック領域ＢC’(m’,n’)との間の隙間がないように、周辺ブロック領域ＢD’(m”,n”)を設定する。ブロック特徴計算部１５は、被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)の特徴量を計算し、画像特徴ベクトルＶを生成する。【選択図】図１
2018106609.tif 000002
【特許請求の範囲】
【請求項１】
被写体を含む画像の特徴量を算出する画像処理装置において、
前記画像から複数のブロック領域を設定するブロック設定部と、
前記被写体を含む被写体領域を設定する被写体領域設定部と、
前記ブロック設定部により設定された前記複数のブロック領域のうち、予め設定された中央領域に対応する複数の中央ブロック領域を特定し、前記複数の中央ブロック領域のそれぞれについて、前記中央ブロック領域を前記被写体領域設定部により設定された前記被写体領域へ向けて移動させ、当該被写体領域内に隙間がないように、前記中央ブロック領域を変更した被写体ブロック領域を設定する被写体ブロック設定部と、
前記ブロック設定部により設定された前記複数のブロック領域のうち、前記複数の中央ブロック領域以外の領域を複数の周辺のブロック領域として特定し、前記複数の周辺のブロック領域のそれぞれについて、前記周辺のブロック領域を前記被写体領域設定部により設定された前記被写体領域へ向けて移動させ、前記周辺のブロック領域と前記被写体ブロック領域との間の隙間をなくすために当該被写体領域に接するように、前記周辺のブロック領域を変更した周辺ブロック領域を設定する周辺ブロック設定部と、
前記被写体ブロック設定部により設定された前記被写体ブロック領域の特徴量を計算すると共に、前記周辺ブロック設定部により設定された前記周辺ブロック領域の特徴量を計算し、前記画像の画像特徴ベクトルを生成するブロック特徴計算部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記被写体ブロック設定部は、
前記中央ブロック領域を前記被写体領域へ向けて移動させ、当該被写体領域内に隙間がないように、かつ、移動後の前記中央ブロック領域の横及び縦の長さが前記ブロック領域の横及び縦の長さ以上の所定値となるように、前記中央ブロック領域を変更した前記被写体ブロック領域を設定する、ことを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記周辺ブロック設定部は、
前記周辺のブロック領域を前記被写体領域へ向けて移動させ、前記周辺のブロック領域と前記被写体ブロック領域との間の隙間をなくすために当該被写体領域に接するように、前記周辺のブロック領域における複数の頂点のうち前記被写体領域に近い頂点の位置を変更した前記周辺ブロック領域を設定する、ことを特徴とする画像処理装置。
【請求項４】
複数の検索対象画像から要求画像に類似する画像を検索する画像処理装置において、
請求項１の画像処理装置により、前記複数の検索対象画像のそれぞれについて画像特徴ベクトルを生成する第１の画像特徴計算部と、
請求項１の画像処理装置により、前記要求画像の画像特徴ベクトルを生成する第２の画像特徴計算部と、
前記第１の画像特徴計算部により生成された前記複数の検索対象画像の画像特徴ベクトル、及び前記第２の画像特徴計算部により生成された前記要求画像の画像特徴ベクトルに基づいて、前記複数の検索対象画像のそれぞれと前記要求画像との間の類似度を計算する画像類似度計算部と、
前記画像類似度計算部により計算された前記類似度に基づいて、前記複数の検索対象画像から前記要求画像に類似する画像を選択する画像選択部と、
を備えたことを特徴とする画像処理装置。
【請求項５】
コンピュータを、請求項１から４までのいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の特徴量を算出する画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、被写体を含む画像を検索する手法として、画像上の色及び模様等の配置情報（構造情報）を考慮した画像検索を行うものが知られている。例えば、画像を格子状に固定のブロック領域に分割し、分割した各ブロック領域の特徴量を算出し、位置が対応するブロック領域同士で特徴量を比較する手法が一般的に用いられる（例えば、特許文献１，２を参照）。
【０００３】
しかしながら、この特許文献１，２の手法では、比較対象の２枚の画像について、被写体は同じであるがその位置または大きさが異なる場合に、画像間の類似度が低くなってしまうことがある。
【０００４】
この問題を解決するために、画像の中央部のブロック領域を、その他のブロック領域とは独立して被写体領域へ向けて移動させた後、被写体領域に対して高い重み係数を掛けることで特徴量を算出する手法が提案されている（例えば、特許文献３を参照）。ここで、画像の中央部のブロック領域を被写体領域上へ移動させた後のブロック領域を、「被写体ブロック領域」という。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２６０９８３号公報
【特許文献２】特開２００１−３１９２３２号公報
【特許文献３】特開２０１３−２２５１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献３の手法では、中央部のブロック領域は、その大きさを固定にした状態で被写体領域へ向けて移動することから、元の中央部の領域に「隙間」（どのブロック領域にも含まれない画像領域）が生じることがある。
【０００７】
図８は、従来技術において、ブロック領域の移動に伴い、画像の中央部に隙間が生じる例を説明する図である。図８（１）は、被写体領域ａが小さい場合の例を示している。この例では、画像の中央部のブロック領域を被写体領域ａへ向けて被写体ブロック領域ｂ１〜ｂ４に移動させると、元の中央部の領域において、被写体領域ａ外の斜線で示した箇所に、隙間が生じていることがわかる。
【０００８】
図８（２）は、被写体領域ａが大きい場合の例を示している。この例では、画像の中央部のブロック領域を被写体領域ａへ向けて被写体ブロック領域ｂ１〜ｂ４に移動させると、元の中央部の領域において、被写体領域ａ内の斜線で示した箇所に、隙間が生じていることがわかる。
【０００９】
この隙間の領域は、ブロック領域の特徴量を計算する際に、当該特徴量へ反映されず、画像検索の際には全く考慮されない。つまり、このような隙間の領域が生じると、ブロック領域の特徴量を算出して画像検索を行う際に、当該領域の情報が欠落してしまうことから、画像検索の精度が低下するという問題があった。
【００１０】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、画像の中央部のブロック領域を被写体領域へ向けて移動させる際に、中央部に隙間が生じないようにブロック領域を設定することができ、高精度の画像検索を実現可能な画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、請求項１の画像処理装置は、被写体を含む画像の特徴量を算出する画像処理装置において、前記画像から複数のブロック領域を設定するブロック設定部と、前記被写体を含む被写体領域を設定する被写体領域設定部と、前記ブロック設定部により設定された前記複数のブロック領域のうち、予め設定された中央領域に対応する複数の中央ブロック領域を特定し、前記複数の中央ブロック領域のそれぞれについて、前記中央ブロック領域を前記被写体領域設定部により設定された前記被写体領域へ向けて移動させ、当該被写体領域内に隙間がないように、前記中央ブロック領域を変更した被写体ブロック領域を設定する被写体ブロック設定部と、前記ブロック設定部により設定された前記複数のブロック領域のうち、前記複数の中央ブロック領域以外の領域を複数の周辺のブロック領域として特定し、前記複数の周辺のブロック領域のそれぞれについて、前記周辺のブロック領域を前記被写体領域設定部により設定された前記被写体領域へ向けて移動させ、前記周辺のブロック領域と前記被写体ブロック領域との間の隙間をなくすために当該被写体領域に接するように、前記周辺のブロック領域を変更した周辺ブロック領域を設定する周辺ブロック設定部と、前記被写体ブロック設定部により設定された前記被写体ブロック領域の特徴量を計算すると共に、前記周辺ブロック設定部により設定された前記周辺ブロック領域の特徴量を計算し、前記画像の画像特徴ベクトルを生成するブロック特徴計算部と、を備えたことを特徴とする。
【００１２】
また、請求項２の画像処理装置は、請求項１に記載の画像処理装置において、前記被写体ブロック設定部が、前記中央ブロック領域を前記被写体領域へ向けて移動させ、当該被写体領域内に隙間がないように、かつ、移動後の前記中央ブロック領域の横及び縦の長さが前記ブロック領域の横及び縦の長さ以上の所定値となるように、前記中央ブロック領域を変更した前記被写体ブロック領域を設定する、ことを特徴とする。
【００１３】
また、請求項３の画像処理装置は、請求項１または２に記載の画像処理装置において、前記周辺ブロック設定部が、前記周辺のブロック領域を前記被写体領域へ向けて移動させ、前記周辺のブロック領域と前記被写体ブロック領域との間の隙間をなくすために当該被写体領域に接するように、前記周辺のブロック領域における複数の頂点のうち前記被写体領域に近い頂点の位置を変更した前記周辺ブロック領域を設定する、ことを特徴とする。
【００１４】
また、請求項４の画像処理装置は、複数の検索対象画像から要求画像に類似する画像を検索する画像処理装置において、請求項１の画像処理装置により、前記複数の検索対象画像のそれぞれについて画像特徴ベクトルを生成する第１の画像特徴計算部と、請求項１の画像処理装置により、前記要求画像の画像特徴ベクトルを生成する第２の画像特徴計算部と、前記第１の画像特徴計算部により生成された前記複数の検索対象画像の画像特徴ベクトル、及び前記第２の画像特徴計算部により生成された前記要求画像の画像特徴ベクトルに基づいて、前記複数の検索対象画像のそれぞれと前記要求画像との間の類似度を計算する画像類似度計算部と、前記画像類似度計算部により計算された前記類似度に基づいて、前記複数の検索対象画像から前記要求画像に類似する画像を選択する画像選択部と、を備えたことを特徴とする。
【００１５】
さらに、請求項５のプログラムは、コンピュータを、請求項１から４までのいずれか一項に記載の画像処理装置として機能させることを特徴とする。
【発明の効果】
【００１６】
以上のように、本発明によれば、画像の中央部のブロック領域を被写体領域へ向けて移動させる際に、中央部に隙間が生じないようにブロック領域を設定することできる。その結果、高精度の画像検索を実現することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】実施例１の画像処理装置の構成例を示すブロック図である。
【図２】被写体ブロック設定部の処理例を示すフローチャートである。
【図３】周辺ブロック設定部の処理例を示すフローチャートである。
【図４】実施例２の画像処理装置の構成例を示すブロック図である。
【図５】前処理部の処理例を示すフローチャートである。
【図６】検索処理部の処理例を示すフローチャートである。
【図７】類似度Ｓ（Ｑ，ｄ）を計算する処理（ステップＳ６０５の処理）の詳細を示すフローチャートである。
【図８】従来技術において、ブロック領域の移動に伴い、画像の中央部に隙間が生じる例を説明する図である。
【図９】Ｍ＝４，Ｎ＝４とした場合のブロック領域Ｂ(m,n)の例を示す図である。
【図１０】ブロック領域Ｂ(m,n)の矩形の長さ及び座標を説明する図である。
【図１１】被写体領域Ｔの例、並びに被写体領域Ｔの矩形の長さ及び座標を説明する図である。
【図１２】中央領域ＣＯの例、及び中央領域ＣＯ以外の領域の矩形の長さを説明する図である。
【図１３】Ｍ’＝２，Ｎ’＝２とした場合の中央ブロック領域ＢC(m’,n’)の例を示す図である。
【図１４】中央ブロック領域ＢC(m’,n’)の矩形の長さを説明する図である。
【図１５】被写体ブロック領域ＢC’(m’,n’)の矩形の長さ及び座標を説明する図である。
【図１６】被写体ブロック領域ＢC’(m’,n’)の例を示す図である。
【図１７】被写体ブロック領域ＢC’(m’,n’)の例を示す図である。
【図１８】周辺のブロック領域Ｂ(m,n)と被写体領域Ｔとの間の位置関係に基づいて判定されるケースを説明する図である。
【図１９】周辺ブロック領域ＢD’(m”,n”)の座標を設定する処理について説明する図である。
【図２０】周辺ブロック領域ＢD’(m”,n”)の座標を設定する処理について説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、画像の中央部のブロック領域（中央ブロック領域）を被写体領域へ向けて移動させる際に、被写体領域内に隙間なく収まるように、移動後のブロック領域（被写体ブロック領域）をスケーリングして設定する。また、本発明は、中央部以外の周辺のブロック領域を被写体領域へ向けて移動させる際に、周辺のブロック領域と被写体ブロック領域との間の隙間をなくすために被写体領域に接するように、移動後の周辺のブロック領域（周辺ブロック領域）をスケーリングして設定する。
【００１９】
これにより、画像の中央部に隙間が生じることはない。このようにして設定された各ブロック領域の特徴量が計算され、当該特徴量を画像検索に用いることで、画像の中央部の隙間及び被写体の位置ずれに影響された検索精度の低下を抑制することができ、高精度の画像検索を実現することが可能となる。
【００２０】
〔実施例１〕
まず、実施例１について説明する。実施例１は、画像の中央部のブロック領域を被写体領域へ向けて移動させた後の被写体ブロック領域を、被写体領域内に隙間なく収まるように設定し、周辺ブロック領域を、中央部に隙間が生じないように設定し、各ブロック領域の特徴量を計算する例である。
【００２１】
図１は、実施例１の画像処理装置の構成例を示すブロック図である。この画像処理装置１は、画像特徴計算部１０を備えている。画像特徴計算部１０は、ブロック設定部１１、被写体領域設定部１２、被写体ブロック設定部１３、周辺ブロック設定部１４及びブロック特徴計算部１５を備えている。
【００２２】
画像処理装置１は、１枚の画像Ｉを入力し、複数のブロック領域を設定し、中央部に隙間が生じないようにブロック領域を再設定し、ブロック領域毎の特徴量を計算し、画像特徴ベクトルＶとして出力する。
【００２３】
ブロック設定部１１は、画像Ｉを入力し、画像Ｉを格子状に切り出し、Ｍ×Ｎ個のブロック領域（ブロック領域の画像）を初期設定する。Ｍ，Ｎは正の整数であり、画像Ｉのブロック領域をＢ(m,n)とする。ｍ＝１，・・・，Ｍであり、ｎ＝１，・・・，Ｎである。そして、ブロック設定部１１は、画像Ｉのブロック領域Ｂ(m,n)（を特定するための情報）を被写体領域設定部１２に出力する。
【００２４】
図９は、Ｍ＝４，Ｎ＝４とした場合のブロック領域Ｂ(m,n)の例を示す図である。図９に示すように、ブロック設定部１１により、画像Ｉから１６枚のブロック領域Ｂ(m,n)が初期設定される。ｍ＝１，・・・，４、ｎ＝１，・・・，４である。
【００２５】
図１０は、ブロック領域Ｂ(m,n)の矩形の長さ及び座標を説明する図である。図１０に示すように、ブロック領域Ｂ(m,n)の横の長さをＷBとし、縦の長さをＨBとする。また、ブロック領域Ｂ(m,n)の左上頂点座標を（xBS(m,n),yBS(m,n)）とし、右下頂点座標を（xBE(m,n),yBE(m,n)）とする。xBE(m,n)＝xBS(m,n)＋ＷBであり、yBE(m,n)＝yBS(m,n)＋ＨBである。
【００２６】
ブロック設定部１１により、ブロック領域Ｂ(m,n)が設定されることで、ブロック領域Ｂ(m,n)を特定するための情報として、ブロック領域Ｂ(m,n)の横の長さＷB、縦の長さＨB、左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）の情報が生成される。
【００２７】
図１に戻って、被写体領域設定部１２は、ブロック設定部１１から画像Ｉのブロック領域Ｂ(m,n)を入力し、画像Ｉの顕著性マップを生成し、画像Ｉの顕著性マップを用いて、被写体を含む矩形の被写体領域Ｔを設定する。そして、被写体領域設定部１２は、画像Ｉの被写体領域Ｔ（を特定するための情報）及びブロック領域Ｂ(m,n)を、被写体ブロック設定部１３に出力する。
【００２８】
顕著性マップを生成する処理及び被写体領域Ｔを設定する処理は既知であり、詳細については、例えば前述の特許文献３を参照されたい。
【００２９】
図１１は、被写体領域Ｔの例、並びに被写体領域Ｔの矩形の長さ及び座標を説明する図である。図１１に示すように、被写体領域設定部１２により、矩形枠で囲まれた被写体領域Ｔが設定される。この被写体領域Ｔの横の長さをＷOとし、縦の長さをＨ0とする。また、被写体領域Ｔの左上頂点座標を（xOS,yOS）とし、右下頂点座標を（xOE,yOE）とする。x0E＝xOS＋ＷOであり、yOE＝yOS＋ＨOである。
【００３０】
被写体領域設定部１２により、被写体領域Ｔが設定されることで、被写体領域Ｔを特定するための情報として、被写体領域Ｔの横の長さＷO、縦の長さＨ0、左上頂点座標（xOS,yOS）及び右下頂点座標（xOE,yOE）の情報が生成される。
【００３１】
図１に戻って、被写体ブロック設定部１３は、被写体領域設定部１２から、画像Ｉの被写体領域Ｔ及びブロック領域Ｂ(m,n)を入力する。そして、被写体ブロック設定部１３は、ブロック領域Ｂ(m,n)のうち、予め設定された中央領域ＣＯに含まれるＭ’×Ｎ’個のブロック領域を特定し、これを中央ブロック領域とする。Ｍ’，Ｎ’は正の整数、Ｍ’＜Ｍ，Ｎ’＜Ｎであり、中央ブロック領域をＢC(m’,n’)とする。ｍ’＝１，・・・，Ｍ’であり、ｎ’＝１，・・・，Ｎ’である。
【００３２】
図１２は、中央領域ＣＯの例、及び中央領域ＣＯ以外の領域の矩形の長さを説明する図である。図１２に示すように、中央領域ＣＯが予め設定されている。画像Ｉの横の長さをＷとし、縦の長さをＨとする。画像Ｉの左端から中央領域ＣＯの左端までの間の横の長さは、画像Ｉの右端から中央領域ＣＯの右端までの間の横の長さと同じであり、ｒwＷとする。また、画像Ｉの上端から中央領域ＣＯの上端までの間の縦の長さは、画像Ｉの下端から中央領域ＣＯの下端までの間の縦の長さと同じであり、ｒHＨとする。ｒW及びｒHは、中央領域ＣＯ以外の領域において、それぞれ横及び縦の長さを定めるパラメータである。
【００３３】
図１３は、Ｍ’＝２，Ｎ’＝２とした場合の中央ブロック領域ＢC(m’,n’)の例を示す図である。図９に示したブロック領域Ｂ(m,n)の個数であるＭ＝４，Ｎ＝４、及び、図１２に示したパラメータｒW，ｒHをｒW＝ｒH＝０．２とした場合、図１３に示すように、被写体ブロック設定部１３により、中央ブロック領域ＢC(m’,n’)が設定される。Ｍ’＝２（ｍ’＝１，２）及びＮ’＝２（ｎ’＝１，２）であり、ＢC(m’,n’)＝Ｂ(m’+1,n’+1)である。
【００３４】
図１４は、中央ブロック領域ＢC(m’,n’)の矩形の長さを説明する図である。図１４に示すように、中央ブロック領域ＢC(m’,n’)の横の長さは、ブロック領域Ｂ(m,n)の横の長さＷBと同じであり、中央ブロック領域ＢC(m’,n’)の縦の長さは、ブロック領域Ｂ(m,n)の縦の長さＨBと同じである。また、中央ブロック領域ＢC(m’,n’)の座標は、ブロック領域Ｂ(m,n)のうちのいずれかの座標と同じである。図１３の例では、中央ブロック領域ＢC(m’,n’)の座標は、ブロック領域Ｂ(m’+1,n’+1)の座標と同じである。
【００３５】
被写体ブロック設定部１３により、中央ブロック領域ＢC(m’,n’)が特定されることで、中央ブロック領域ＢC(m’,n’)を特定するための情報として、中央ブロック領域ＢC(m’,n’)の横の長さＷB、縦の長さＨB、左上頂点座標及び右下頂点座標の情報が生成される。
【００３６】
図１に戻って、被写体ブロック設定部１３は、中央ブロック領域ＢC(m’,n’)を被写体領域Ｔへ向けて移動させ、被写体領域Ｔの位置及び大きさに応じて、被写体領域Ｔ内に隙間なく収まるように、中央ブロック領域ＢC(m’,n’)の位置及び大きさを変更し（中央ブロック領域ＢC(m’,n’)をスケーリングし）、被写体ブロック領域を設定する。この場合、被写体領域Ｔ内に隙間なく収まるように設定された被写体ブロック領域は、互いに重なることがあり得る。被写体ブロック領域をＢC’(m’,n’)とする。ｍ’＝１，・・・，Ｍ’であり、ｎ’＝１，・・・，Ｎ’である。
【００３７】
図１５は、被写体ブロック領域ＢC’(m’,n’)の矩形の長さ及び座標を説明する図である。図１５に示すように、被写体ブロック領域ＢC’(m’,n’)の横の長さをＷCとし、縦の長さをＨCとする。また、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標を（xCS(m’,n’),yCS(m’,n’)）とする。
【００３８】
つまり、被写体ブロック設定部１３は、被写体領域Ｔの位置（左上頂点座標（xOS,yOS）、右下頂点座標（xOE,yOE））及び大きさ（横の長さＷO、縦の長さＨ0）に応じて、中央ブロック領域ＢC(m’,n’)の左上頂点座標、横の長さＷB及び縦の長さＨBを変更する。そして、被写体ブロック設定部１３は、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標（xCS(m’,n’),yCS(m’,n’)）を設定すると共に、その横の長さＷC及び縦の長さＨCを設定する。
【００３９】
被写体ブロック設定部１３により、被写体ブロック領域ＢC’(m’,n’)が設定されることで、被写体ブロック領域ＢC’(m’,n’)を特定するための情報として、被写体ブロック領域ＢC’(m’,n’)の横の長さＷB、縦の長さＨB及び左上頂点座標（xCS(m’,n’),yCS(m’,n’)）の情報が生成される。
【００４０】
図１に戻って、被写体ブロック設定部１３は、画像Ｉの被写体ブロック領域ＢC’(m’,n’)（を特定するための情報）、中央ブロック領域ＢC(m’,n’)（を特定するための情報）、被写体領域Ｔ及びブロック領域Ｂ(m,n)を、周辺ブロック設定部１４に出力する。
【００４１】
図２は、被写体ブロック設定部１３の処理例を示すフローチャートである。被写体ブロック設定部１３は、被写体領域設定部１２から、画像Ｉの被写体領域Ｔ及びブロック領域Ｂ(m,n)を入力する（ステップＳ２０１）。
【００４２】
被写体ブロック設定部１３は、ブロック領域Ｂ(m,n)のうち、予め設定された中央領域ＣＯに含まれる中央ブロック領域ＢC(m’,n’)を特定する（ステップＳ２０２）。そして、被写体ブロック設定部１３は、中央ブロック領域ＢC(m’,n’)の数Ｍ’，Ｎ’にその長さＷB，ＨBを乗算する（ステップＳ２０３：Ｍ’ＷB，Ｎ’ＨB）。
【００４３】
被写体ブロック設定部１３は、被写体領域Ｔの長さＷO，Ｈ0と乗算結果Ｍ’ＷB，Ｎ’ＨBとを比較する（ステップＳ２０４）。そして、被写体ブロック設定部１３は、この比較結果に応じて、被写体ブロック領域ＢC’(m’,n’)の横の長さＷC及び縦の長さＨCを設定し（ステップＳ２０５）、その左上頂点座標（xCS(m’,n’),yCS(m’,n’)）を設定する（ステップＳ２０６）。
【００４４】
具体的には、被写体ブロック設定部１３は、被写体ブロック領域ＢC’(m’,n’)の横の長さＷC及び座標値xCS(m’,n’)を設定する際に、ステップＳ２０４にてＷO≧Ｍ’ＷBの場合、ステップＳ２０５において、被写体領域Ｔの横の長さＷO及び中央ブロック領域ＢC(m’,n’)の数Ｍ’を用いて、ＷC＝ＷO／Ｍ’を計算し、被写体ブロック領域ＢC’(m’,n’)の横の長さＷCを求める。これにより、被写体ブロック領域ＢC’(m’,n’)の横の長さＷCは、中央ブロック領域ＢC(m’,n’)の横の長さＷB以上となる。
【００４５】
被写体ブロック設定部１３は、ステップＳ２０６において、被写体領域Ｔの左上頂点座標のxOS、パラメータm’及び被写体ブロック領域ＢC’(m’,n’)の横の長さＷCを用いて、xCS(m’,n’)＝xOS＋（m’−１）ＷCを計算し、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標のxCS(m’,n’)を求める。
【００４６】
一方、被写体ブロック設定部１３は、ステップＳ２０４にてＷO＜Ｍ’ＷBの場合、ステップＳ２０５において、中央ブロック領域ＢC(m’,n’)の横の長さＷBを用いて、ＷC＝ＷBとし、被写体ブロック領域ＢC’(m’,n’)の横の長さＷCを求める。これにより、被写体ブロック領域ＢC’(m’,n’)の横の長さＷCは、中央ブロック領域ＢC(m’,n’)の横の長さＷBと同じになる。
【００４７】
被写体ブロック設定部１３は、ステップＳ２０６において、被写体領域Ｔの左上頂点座標のxOS、パラメータm’、被写体領域Ｔの横の長さＷO及び中央ブロック領域ＢC(m’,n’)の横の長さＷBを用いて、xCS(m’,n’)＝xOS＋（m’−１）dWを計算し、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標のxCS(m’,n’)を求める。dW＝（ＷO−ＷB）／（m’−１）である。
【００４８】
これにより、被写体ブロック領域ＢC’(m’,n’)の横の長さＷC及び座標値xCS(m’,n’)が設定される。
【００４９】
さらに、被写体ブロック設定部１３は、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨC及び座標値yCS(m’,n’)を設定する際に、ステップＳ２０４にてＨO≧Ｎ’ＨBの場合、ステップＳ２０５において、被写体領域Ｔの縦の長さＨO及び中央ブロック領域ＢC(m’,n’)の数Ｎ’を用いて、ＨC＝ＨO／Ｎ’を計算し、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨCを求める。これにより、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨCは、中央ブロック領域ＢC(m’,n’)の縦の長さＨB以上となる。
【００５０】
被写体ブロック設定部１３は、ステップＳ２０６において、被写体領域Ｔの左上頂点座標のyOS、パラメータn’及び被写体ブロック領域ＢC’(m’,n’)の縦の長さＨCを用いて、yCS(m’,n’)＝yOS＋（n’−１）ＨCを計算し、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標のyCS(m’,n’)を求める。
【００５１】
一方、被写体ブロック設定部１３は、ステップＳ２０４にてＨO＜Ｎ’ＨBの場合、ステップＳ２０５において、中央ブロック領域ＢC(m’,n’)の縦の長さＨBを用いて、ＨC＝ＨBとし、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨCを求める。これにより、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨCは、中央ブロック領域ＢC(m’,n’)の縦の長さＨBと同じになる。
【００５２】
被写体ブロック設定部１３は、ステップＳ２０６において、被写体領域Ｔの左上頂点座標のyOS、パラメータn’、被写体領域Ｔの縦の長さＨO及び中央ブロック領域ＢC(m’,n’)の縦の長さＨBを用いて、yCS(m’,n’)＝yOS＋（n’−１）dHを演算し、被写体ブロック領域ＢC’(m’,n’)の左上頂点座標のyCS(m’,n’)を求める。dH＝（ＨO−ＨB）／（n’−１）である。
【００５３】
これにより、被写体ブロック領域ＢC’(m’,n’)の縦の長さＨC及び座標値yCS(m’,n’)が設定される。
【００５４】
図２に戻って、被写体ブロック設定部１３は、ステップＳ２０６から移行して、全ての中央ブロック領域ＢC(m’,n’)に対するステップＳ２０５及びステップＳ２０６の処理が完了したか否かを判定する（ステップＳ２０７）。すなわち、被写体ブロック設定部１３は、全ての被写体ブロック領域ＢC’(m’,n’)についての設定が完了したか否かを判定する。
【００５５】
被写体ブロック設定部１３は、ステップＳ２０７において、全ての中央ブロック領域ＢC(m’,n’)に対する処理が完了していないことを判定した場合（ステップＳ２０７：Ｎ）、ステップＳ２０５へ移行する。
【００５６】
一方、被写体ブロック設定部１３は、ステップＳ２０７において、全ての中央ブロック領域ＢC(m’,n’)に対する処理が完了したことを判定した場合（ステップＳ２０７：Ｙ）、ステップＳ２０８へ移行する。被写体ブロック設定部１３は、画像Ｉの被写体ブロック領域ＢC’(m’,n’)、中央ブロック領域ＢC(m’,n’)、被写体領域Ｔ及びブロック領域Ｂ(m,n)を周辺ブロック設定部１４に出力する（ステップＳ２０８）。
【００５７】
このように、被写体ブロック設定部１３により、中央ブロック領域ＢC(m’,n’)が被写体領域Ｔへ向けて移動し、被写体領域Ｔの位置及び大きさに応じて、中央ブロック領域ＢC(m’,n’)の位置及び大きさが変更され、被写体ブロック領域ＢC’(m’,n’)が設定される。尚、図２にて説明した処理は一例であり、本発明はこの処理に限定されるものではない。
【００５８】
図１６及び図１７は、被写体ブロック領域ＢC’(m’,n’)の例を示す図である。図１６及び図１７に示すように、被写体ブロック領域ＢC’(1,1)，ＢC’(2,1)，ＢC’(1,2)，ＢC’(2,2)の横の長さＷCは、図１３に示した中央ブロック領域ＢC(1,1)，ＢC(2,1)，ＢC(1,2)，ＢC(2,2)の横の長さＷB以上となる。また、被写体ブロック領域ＢC’(1,1)，ＢC’(2,1)，ＢC’(1,2)，ＢC’(2,2)の縦の長さＨCは、図１３に示した中央ブロック領域ＢC(1,1)，ＢC(2,1)，ＢC(1,2)，ＢC(2,2)のＨBと同じになる。
【００５９】
また、被写体ブロック領域ＢC’(1,1)，ＢC’(2,1)，ＢC’(1,2)，ＢC’(2,2)の左上頂点座標は、それぞれ（xOS,yOS）（xOS+ＷC,yOS）（xOS,yOS+ＨO-ＨB）（xOS+ＷC,yOS+ＨO-ＨB）となる。
【００６０】
このように、被写体領域Ｔ内に隙間なく収まり、かつ重なりが許容された状態の被写体ブロック領域ＢC’(m’,n’)が設定される。これにより、後述するブロック特徴計算部１５において、被写体領域Ｔの全ての領域を反映した特徴量が計算される。したがって、画像検索の際に、被写体領域Ｔの全ての領域を反映した特徴量が用いられるから、精度の高い検索を実現することができる。
【００６１】
また、被写体ブロック領域ＢC’(m’,n’)の長さＷC，ＨCは、それぞれ中央ブロック領域ＢC(m’,n’)の長さＷB，ＨB以上となる。これにより、被写体ブロック領域ＢC’(m’,n’)は、中央ブロック領域ＢC(m’,n’)よりも細長い領域に設定されることがないから、後述するブロック特徴計算部１５において、本来の画像特徴を反映した特徴量が計算される。したがって、画像検索の際に、本来の画像特徴を反映した特徴量が用いられるから、精度の高い検索を実現することができる。
【００６２】
図１に戻って、周辺ブロック設定部１４は、被写体ブロック設定部１３から、画像Ｉの被写体ブロック領域ＢC’(m’,n’)、中央ブロック領域ＢC(m’,n’)、被写体領域Ｔ及びブロック領域Ｂ(m,n)を入力する。そして、周辺ブロック設定部１４は、ブロック領域Ｂ(m,n)のうち、中央ブロック領域ＢC(m’,n’)以外のブロック領域を特定し、これを周辺のブロック領域とする。
【００６３】
周辺ブロック設定部１４は、周辺のブロック領域Ｂ(m,n)を被写体領域Ｔ（中央ブロック領域ＢC(m’,n’)）へ向けて移動させ、画像Ｉの中央部内（中央ブロック領域ＢC(m’,n’)が存在していた領域内、すなわち周辺のブロック領域Ｂ(m,n)と被写体ブロック領域ＢC’(m’,n’)との間）の隙間をなくすために被写体領域Ｔに接するように、被写体領域Ｔの位置に応じて、周辺のブロック領域Ｂ(m,n)の大きさを変更し（周辺のブロック領域Ｂ(m,n)をスケーリングし）、新たなブロック領域（周辺ブロック領域）を設定する。この場合、周辺ブロック領域は互いに重なることがあり得る。周辺ブロック領域をＢD’(m”,n”)とする。ｍ”＝１，・・・，Ｍ”であり、ｎ”＝１，・・・，Ｎ”であり、Ｍ”＝Ｍ−Ｍ’，Ｎ”＝Ｎ−Ｎ’である。
【００６４】
つまり、周辺ブロック設定部１４は、周辺のブロック領域Ｂ(m,n)と被写体領域Ｔとの間の位置関係に基づいて、被写体領域Ｔの位置（左上頂点座標（xOS,yOS)、右下頂点座標（xOE,yOE））に応じて、周辺のブロック領域Ｂ(m,n)の座標を変更する。そして、周辺ブロック設定部１４は、周辺ブロック領域ＢD’(m”,n”)の座標を設定する。これにより、周辺ブロック領域ＢD’(m”,n”)を特定するための情報が生成される。
【００６５】
周辺ブロック設定部１４は、画像Ｉの被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)（を特定するための情報）をブロック特徴計算部１５に出力する。
【００６６】
図３は、周辺ブロック設定部１４の処理例を示すフローチャートである。周辺ブロック設定部１４は、被写体ブロック設定部１３から、画像Ｉの被写体ブロック領域ＢC’(m’,n’)、中央ブロック領域ＢC(m’,n’)、被写体領域Ｔ及びブロック領域Ｂ(m,n)を入力する（ステップＳ３０１）。
【００６７】
周辺ブロック設定部１４は、ブロック領域Ｂ(m,n)のうち、中央ブロック領域ＢC(m’,n’)以外の周辺のブロック領域Ｂ(m,n)を特定する（ステップＳ３０２）。
【００６８】
周辺ブロック設定部１４は、周辺のブロック領域Ｂ(m,n)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）、並びに被写体領域Ｔの左上頂点座標（xOS,yOS)及び右下頂点座標（xOE,yOE）に基づいて、周辺のブロック領域Ｂ(m,n)と被写体領域Ｔとの間の位置関係を示すケースを判定する（ステップＳ３０３）。
【００６９】
図１８は、周辺のブロック領域Ｂ(m,n)と被写体領域Ｔとの間の位置関係に基づいて判定されるケースを説明する図である。図１８において、周辺のブロック領域Ｂ(m,n)が被写体領域Ｔに対し左中央または右中央に位置する場合、ケース１が判定され、上中央または下中央に位置する場合、ケース２が判定される。また、周辺のブロック領域Ｂ(m,n)が被写体領域Ｔに対し左上に位置する場合、ケース３が判定され、右上に位置する場合、ケース４が判定され、左下に位置する場合、ケース５が判定され、右下に位置する場合、ケース６が判定される。
【００７０】
周辺ブロック設定部１４は、ステップＳ３０３にて判定したケース毎に、周辺のブロック領域Ｂ(m,n)が被写体領域Ｔに接するように、周辺のブロック領域Ｂ(m,n)の座標を変更し、周辺ブロック領域ＢD’(m”,n”)の座標を設定する（ステップＳ３０４）。
【００７１】
図１９及び図２０は、周辺ブロック領域ＢD’(m”,n”)の座標を設定する処理について説明する図である。以下、図１８、図１９及び図２０を参照して、図３に示したステップＳ３０３及びステップＳ３０４の処理について具体的に説明する。
【００７２】
＜ケース１＞
周辺ブロック設定部１４は、ステップＳ３０３において、周辺のブロック領域Ｂ(m,n)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）、並びに被写体領域Ｔの左上頂点座標（xOS,yOS）及び右下頂点座標（xOE,yOE）に基づいて、yOS＜yBS(m,n)＜yOEまたはyOS＜yBE(m,n)＜yOEを判断した場合、図１８に示したケース１を判定する。
【００７３】
周辺ブロック設定部１４は、ケース１を判定した場合、ステップＳ３０４において、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）について、xBE(m,n)＜xOSのとき、xBE(m,n)＝xOSとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xOS,yBE(m,n)）を設定する。また、周辺ブロック設定部１４は、xBS(m,n)＞xOEのとき、xBS(m,n)＝xOEとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xOE,yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）を設定する。
【００７４】
尚、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yBE(m,n)）における(m”,n”)及び(m,n)は、同じ意味として記述している。以下、同様である。
【００７５】
図１９の＜ケース１＞の例では、yOS＜yBE(m,n)＜yOE、xBE(m,n)＜xOSであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xBS(m,n),yBS(m,n)）となり、右下頂点座標は（xOS,yBE(m,n)）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００７６】
＜ケース２＞
周辺ブロック設定部１４は、ステップＳ３０３において、前記データに基づいて、xOS＜xBS(m,n)＜xOEまたはxOS＜xBE(m,n)＜xOEを判断した場合、図１８に示したケース２を判定する。
【００７７】
周辺ブロック設定部１４は、ケース２を判定した場合、ステップＳ３０４において、yBE(m,n)＜yOSのとき、yBE(m,n)＝yOSとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xBE(m,n),yOS）を設定する。また、周辺ブロック設定部１４は、yBS(m,n)＞yOEのとき、yBS(m,n)＝yOEとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yOE）及び右下頂点座標（xBE(m,n),yBE(m,n)）を設定する。
【００７８】
図１９の＜ケース２＞の例では、xOS＜xBS(m,n)＜xOE、yBS(m,n)＞yOEであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xBS(m,n),yOE）となり、右下頂点座標は（xBE(m,n),yBE(m,n)）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００７９】
＜ケース３＞
周辺ブロック設定部１４は、ステップＳ３０３において、前記データに基づいて、xBE(m,n)＜xOSかつyBE(m,n)＜yOSを判断した場合、図１８に示したケース３を判定する。
【００８０】
周辺ブロック設定部１４は、ケース３を判定した場合、ステップＳ３０４において、xBE(m,n)＝xOS，yBE(m,n)＝yOSとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yBS(m,n)）及び右下頂点座標（xOS,yOS）を設定する。
【００８１】
図１９の＜ケース３＞の例では、xBE(m,n)＜xOSかつyBE(m,n)＜yOSであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xBS(m,n),yBS(m,n)）となり、右下頂点座標は（xOS,yOS）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００８２】
＜ケース４＞
周辺ブロック設定部１４は、ステップＳ３０３において、前記データに基づいて、xBS(m,n)＞xOEかつyBE(m,n)＜yOSを判断した場合、図１８に示したケース４を判定する。
【００８３】
周辺ブロック設定部１４は、ケース４を判定した場合、ステップＳ３０４において、xBS(m,n)＝xOE，yBE(m,n)＝yOSとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xOE,yBS(m,n)）及び右下頂点座標（xBE(m,n),yOS）を設定する。
【００８４】
図２０の＜ケース４＞の例では、xBS(m,n)＞xOEかつyBE(m,n)＜yOSであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xOE,yBS(m,n)）となり、右下頂点座標は（xBE(m,n),yOS）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００８５】
＜ケース５＞
周辺ブロック設定部１４は、ステップＳ３０３において、前記データに基づいて、xBE(m,n)＜xOSかつyBS(m,n)＞yOEを判断した場合、図１８に示したケース５を判定する。
【００８６】
周辺ブロック設定部１４は、ケース５を判定した場合、ステップＳ３０４において、xBE(m,n)＝xOS，yBS(m,n)＝yOEとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xBS(m,n),yOE）及び右下頂点座標（xOS,yBE(m,n)）を設定する。
【００８７】
図２０の＜ケース５＞の例では、xBE(m,n)＜xOSかつyBS(m,n)＞yOEであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xBS(m,n),yOE）となり、右下頂点座標は（xOS,yBE(m,n)）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００８８】
＜ケース６＞
周辺ブロック設定部１４は、ステップＳ３０３において、前記データに基づいて、xBS(m,n)＞xOEかつyBS(m,n)＞yOEを判断した場合、図１８に示したケース６を判定する。
【００８９】
周辺ブロック設定部１４は、ケース６を判定した場合、ステップＳ３０４において、xBS(m,n)＝xOE，yBS(m,n)＝yOEとすることで、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標（xOE,yOE）及び右下頂点座標（xBE(m,n),yBE(m,n)）を設定する。
【００９０】
図２０の＜ケース６＞の例では、xBS(m,n)＞xOEかつyBS(m,n)＞yOEであるから、周辺ブロック領域ＢD’(m”,n”)の左上頂点座標は（xOE,yOE）となり、右下頂点座標は（xBE(m,n),yBE(m,n)）となる。これにより、周辺ブロック領域ＢD’(m”,n”)は、周辺のブロック領域Ｂ(m,n)よりも大きくなり、被写体領域Ｔに接することとなる。
【００９１】
これにより、周辺のブロック領域Ｂ(m,n)と被写体領域Ｔとの間の位置関係を示すケースが判定され、被写体領域Ｔに接して隙間をなくすための周辺ブロック領域ＢD’(m”,n”)の座標が設定される。
【００９２】
図３に戻って、周辺ブロック設定部１４は、ステップＳ３０４から移行して、全ての周辺のブロック領域Ｂ(m,n)に対するステップＳ３０３及びステップＳ３０４の処理が完了したか否かを判定する（ステップＳ３０５）。すなわち、周辺ブロック設定部１４は、全ての周辺ブロック領域ＢD’(m”,n”)についての設定が完了したか否かを判定する。
【００９３】
周辺ブロック設定部１４は、ステップＳ３０５において、全ての周辺のブロック領域Ｂ(m,n)に対する処理が完了していないことを判定した場合（ステップＳ３０５：Ｎ）、ステップＳ３０３へ移行する。
【００９４】
一方、周辺ブロック設定部１４は、ステップＳ３０５において、全ての周辺のブロック領域Ｂ(m,n)に対する処理が完了したことを判定した場合（ステップＳ３０５：Ｙ）、ステップＳ３０６へ移行する。周辺ブロック設定部１４は、画像Ｉの被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)をブロック特徴計算部１５に出力する（ステップＳ３０６）。
【００９５】
このように、周辺ブロック設定部１４により、被写体領域Ｔの位置に応じて、周辺のブロック領域Ｂ(m,n)における複数の頂点のうち被写体領域Ｔに近い頂点の位置を変更した周辺ブロック領域ＢD’(m”,n”)が設定される。
【００９６】
これにより、周辺のブロック領域Ｂ(m,n)と被写体ブロック領域ＢC’(m’,n’)との間の隙間がなくなり、かつ重なりが許容された状態の周辺ブロック領域ＢD’(m”,n”)が生成される。つまり、後述するブロック特徴計算部１５において、隙間のない全ての領域を反映した特徴量が計算される。したがって、画像検索の際に、隙間のない全ての領域を反映した特徴量が用いられるから、精度の高い検索を実現することができる。尚、図３にて説明した処理は一例であり、本発明はこの処理に限定されるものではない。
【００９７】
図１に戻って、ブロック特徴計算部１５は、周辺ブロック設定部１４から画像Ｉの被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)を入力する。そして、ブロック特徴計算部１５は、被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)の特徴量を計算し、これらの特徴量からなる画像特徴ベクトルＶを生成して出力する。画像特徴ベクトルＶを［v(1,1),v(2,1),・・・,v(M,N)］とする。
【００９８】
ブロック特徴計算部１５は、画像Ｉの画像特徴ベクトルＶ＝［v(1,1),v(2,1),・・・,v(M,N)］を出力する。
【００９９】
特徴量（画像特徴量）は、色特徴の例として、ＲＧＢ平均値ベクトル、色相ヒストグラム等が計算され、モノクロ特徴（テクスチャ特徴）の例として、平均輝度値、エッジ量、エッジ方向ヒストグラム等が計算される。また、色特徴とテクスチャ特徴とを組合せた例として、ＲＧＢ平均値ベクトル及びエッジ量の組合せ、色相ヒストグラム及びエッジ方向ヒストグラムの組合せ等が計算される。
【０１００】
以上のように、実施例１の画像処理装置１によれば、ブロック設定部１１は、画像Ｉに対してＭ×Ｎ個のブロック領域Ｂ(m,n)を初期設定し、被写体領域設定部１２は、画像Ｉについて、被写体を含む矩形の被写体領域Ｔを設定する。
【０１０１】
被写体ブロック設定部１３は、ブロック領域Ｂ(m,n)のうち、予め設定された中央領域ＣＯに含まれる中央ブロック領域ＢC(m’,n’)を特定する。そして、被写体ブロック設定部１３は、中央ブロック領域ＢC(m’,n’)を被写体領域Ｔへ向けて移動させ、被写体領域Ｔ内に隙間なく収まるように、被写体領域Ｔの位置及び大きさに応じて、中央ブロック領域ＢC(m’,n’)を変更した被写体ブロック領域ＢC’(m’,n’)を設定する。
【０１０２】
周辺ブロック設定部１４は、ブロック領域Ｂ(m,n)のうち、中央ブロック領域ＢC(m’,n’)以外のブロック領域を周辺のブロック領域Ｂ(m,n)として特定する。そして、周辺ブロック設定部１４は、周辺のブロック領域Ｂ(m,n)と被写体領域Ｔ（中央ブロック領域ＢC(m’,n’)）との間の位置関係に基づいて、周辺のブロック領域Ｂ(m,n)を被写体領域Ｔへ向けて移動させ、画像Ｉの中央部（中央ブロック領域ＢC(m’,n’)が存在していた領域）内の隙間をなくすために被写体領域Ｔに接するように、周辺ブロック領域ＢD’(m”,n”)を設定する。
【０１０３】
ブロック特徴計算部１５は、被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)の特徴量を計算し、これらの特徴量からなる画像特徴ベクトルＶを生成して出力する。
【０１０４】
これにより、画像Ｉの中央ブロック領域ＢC(m’,n’)及び周辺のブロック領域Ｂ(m,n)を被写体領域Ｔへ向けて移動させる際に、中央部に隙間が生じないように被写体ブロック領域ＢC’(m’,n’)及び周辺ブロック領域ＢD’(m”,n”)を設定することができる。つまり、これらのブロック領域は、被写体領域Ｔの位置及び大きさにかかわらず、画像Ｉ内に重なりが許容された状態で隙間なく設定される。
【０１０５】
そして、画像Ｉ内で隙間のないこれらのブロック領域から生成された画像特徴ベクトルＶを用いることで、高精度の画像検索を実現することが可能となる。具体的には、画像Ｉ内におけるブロック領域間の隙間を原因とした検索精度の低下、及び、被写体の位置または大きさの違いを原因とした検索精度の低下を抑制することができる。
【０１０６】
〔実施例２〕
次に、実施例２について説明する。実施例２は、実施例１の画像特徴計算部１０により計算された画像特徴ベクトルＶを用いて、複数の検索対象画像から要求画像に類似する画像を選択する例である。
【０１０７】
図４は、実施例２の画像処理装置の構成例を示すブロック図である。この画像処理装置２は、検索対象画像が格納されたＨＤ（ハードディスク）２０、前処理部２１、検索対象画像の画像特徴ベクトルが格納されたＨＤ２２、及び検索処理部２３を備えている。
【０１０８】
画像処理装置２は、要求画像ＩQに類似する画像を、複数の検索対象画像Ｉ1，・・・，ＩDの中から選択して出力する。具体的には、画像処理装置２は、複数の検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDを計算し、１枚の要求画像ＩQを入力して要求画像ＩQの画像特徴ベクトルＶQを計算する。そして、画像処理装置２は、要求画像ＩQと複数の検索対象画像Ｉ1，・・・，ＩDとの間の類似度をそれぞれ計算し、複数の検索対象画像Ｉ1，・・・，ＩDとのうち類似度の高い画像を選択して出力する。
【０１０９】
ＨＤ２０には、Ｄ枚の検索対象画像Ｉ1，・・・，ＩD（＝Ｉd）が格納されている。Ｄは検索対象画像数であり、２以上の整数である。パラメータｄ＝１，・・・，Ｄである。
【０１１０】
前処理部２１は、図１に示した画像特徴計算部１０を備えている。前処理部２１は、ＨＤ２０から検索対象画像Ｉ1，・・・，ＩDを順番に読み出し、検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDをそれぞれ計算する。そして、前処理部２１は、画像特徴ベクトルＶ1，・・・，ＶDをＨＤ２２に格納する。
【０１１１】
図５は、前処理部２１の処理例を示すフローチャートである。前処理部２１は、パラメータｄ＝１を設定し（ステップＳ５０１）、ＨＤ２０から検索対象画像Ｉdを読み出す（ステップＳ５０２）。
【０１１２】
前処理部２１は、図１に示した画像特徴計算部１０と同様の処理を行い、検索対象画像Ｉdの画像特徴ベクトルＶdを計算し（ステップＳ５０３）、これをＨＤ２２に格納する（ステップＳ５０４）。
【０１１３】
前処理部２１は、パラメータｄに１を加算し（ステップＳ５０５）、パラメータｄが所定の検索対象画像数Ｄよりも大きいか否かを判定する（ステップＳ５０６）。前処理部２１は、ステップＳ５０６において、パラメータｄが検索対象画像数Ｄよりも大きくないと判定した場合（ステップＳ５０６：Ｎ）、ステップＳ５０２へ移行する。一方、前処理部２１は、ステップＳ５０６において、パラメータｄが検索対象画像数Ｄよりも大きいと判定した場合（ステップＳ５０６：Ｙ）、処理を終了する。
【０１１４】
これにより、ＨＤ２２には、検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDが格納される。
【０１１５】
図４に戻って、検索処理部２３は、画像特徴計算部１０、画像類似度計算部３０、ＨＤ３１及び画像選択部３２を備えている。検索処理部２３は、要求画像ＩQを入力し、要求画像ＩQの画像特徴ベクトルＶQを計算し、ＨＤ２２から検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDを読み出す。そして、検索処理部２３は、要求画像ＩQの画像特徴ベクトルＶQ及び検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDに基づいて、両画像間の類似度Ｓ（Ｑ，１），・・・，Ｓ（Ｑ，Ｄ）を計算し、類似度の高いＲ枚の画像Ｉd1，・・・，ＩdRを検索結果として出力する。Ｒは１以上の整数である。
【０１１６】
図６は、検索処理部２３の処理例を示すフローチャートである。検索処理部２３の画像特徴計算部１０は、要求画像ＩQを入力し（ステップＳ６０１）、図１に示した画像特徴計算部１０と同様の処理を行い、要求画像ＩQの画像特徴ベクトルＶQを計算する（ステップＳ６０２）。画像特徴計算部１０は、要求画像ＩQの画像特徴ベクトルＶQを画像類似度計算部３０に出力する。
【０１１７】
画像類似度計算部３０は、画像特徴計算部１０から要求画像ＩQの画像特徴ベクトルＶQを入力し、パラメータｄ＝１を設定し（ステップＳ６０３）、ＨＤ２２から検索対象画像Ｉdの画像特徴ベクトルＶdを読み出す（ステップＳ６０４）。そして、画像類似度計算部３０は、要求画像ＩQの画像特徴ベクトルＶQ及び検索対象画像Ｉdの画像特徴ベクトルＶdに基づいて、両画像間の類似度Ｓ（Ｑ，ｄ）を計算し（ステップＳ６０５）、これをＨＤ３１に格納する。ステップＳ６０５の詳細については後述する。
【０１１８】
画像類似度計算部３０は、パラメータｄに１を加算し（ステップＳ６０６）、パラメータｄが所定の検索対象画像数Ｄよりも大きいか否かを判定する（ステップＳ６０７）。画像類似度計算部３０は、ステップＳ６０７において、パラメータｄが検索対象画像数Ｄよりも大きくないと判定した場合（ステップＳ６０７：Ｎ）、ステップＳ６０４へ移行する。一方、画像類似度計算部３０は、ステップＳ６０７において、パラメータｄが検索対象画像数Ｄよりも大きいと判定した場合（ステップＳ６０７：Ｙ）、ステップＳ６０８へ移行する。
【０１１９】
画像選択部３２は、ＨＤ３１から、要求画像ＩQと検索対象画像Ｉ1，・・・，ＩDとの間の類似度Ｓ（Ｑ，１），・・・，Ｓ（Ｑ，Ｄ）を読み出す。そして、画像選択部３２は、検索対象画像Ｉ1，・・・，ＩDのうち、類似度の高いＲ枚の画像Ｉd1，・・・，ＩdRを検索結果として選択し、画像Ｉd1，・・・，ＩdRをＨＤ２０から読み出して出力する（ステップＳ６０８）。
【０１２０】
図７は、図６に示したステップＳ６０５の類似度Ｓ（Ｑ，ｄ）を計算する処理の詳細を示すフローチャートである。この処理は、画像類似度計算部３０により行われる。
【０１２１】
要求画像ＩQの画像特徴ベクトルＶQを［vQ(1,1),vQ(2,1),・・・,vQ(M,N)］、検索対象画像Ｉdの画像特徴ベクトルＶdを［vd(1,1),vd(2,1),・・・,vd(M,N)］とする。vQ(m,n)は、要求画像ＩQのブロック領域Ｂ(m,n)の画像特徴ベクトルを表し、vd(m,n)は、検索対象画像Ｉdのブロック領域Ｂ(m,n)の画像特徴ベクトルを表す。
【０１２２】
画像類似度計算部３０は、全てのｍ，ｎ（ｍ＝１，・・・，Ｍ、ｎ＝１，・・・Ｎ）について、要求画像ＩQのブロック領域Ｂ(m,n)と検索対象画像Ｉdのブロック領域Ｂ(m,n)との間の類似度（ブロック間類似度）ｓ（ｍ，ｎ）を計算する（ステップＳ７０１）。
【０１２３】
画像類似度計算部３０は、要求画像ＩQのブロック領域Ｂ(m,n)と検索対象画像Ｉdのブロック領域Ｂ(m,n)との間のブロック間類似度ｓ（ｍ，ｎ）及び所定の重み係数ｗ（ｍ，ｎ）に基づいて、以下の式にて、要求画像ＩQと検索対象画像Ｉdとの間の類似度Ｓ（Ｑ，ｄ）を計算する（ステップＳ７０２）。
【数１】
2018106609.tif 000003
ここで、ｗ(m,n)は、各ブロック領域の類似度への反映度合を定める重み係数であり、例えば前述の特許文献３に記載されているように、要求画像ＩQにおける各ブロック領域Ｂ(m,n)内の顕著性の高さを尺度とする等して、自動的に定めることも可能である。
【０１２４】
画像類似度計算部３０は、要求画像ＩQと検索対象画像Ｉdとの間の類似度Ｓ（Ｑ，ｄ）をＨＤ３１に格納する（ステップＳ７０３）。全ての検索対象画像Ｉdについての処理が行われることで、ＨＤ３１には、類似度Ｓ（Ｑ，１），・・・，Ｓ（Ｑ，Ｄ）が格納される。
【０１２５】
以上のように、実施例２の画像処理装置２によれば、前処理部２１は、実施例１と同様の処理にて、検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDをそれぞれ計算する。検索処理部２３は、実施例１と同様の処理にて、要求画像ＩQの画像特徴ベクトルＶQを計算し、要求画像ＩQの画像特徴ベクトルＶQ及び検索対象画像Ｉ1，・・・，ＩDの画像特徴ベクトルＶ1，・・・，ＶDに基づいて、両画像間の類似度Ｓ（Ｑ，１），・・・，Ｓ（Ｑ，Ｄ）を計算し、類似度の高いＲ枚の画像Ｉd1，・・・，ＩdRを検索結果として出力する。
【０１２６】
これにより、要求画像ＩQ及び検索対象画像Ｉ1，・・・，ＩD内で隙間のないブロック領域から生成された画像特徴ベクトルＶQ，Ｖ1，・・・，ＶDは、要求画像ＩQ及び検索対象画像Ｉ1，・・・，ＩD内の全ての領域が反映された値となる。したがって、このような画像特徴ベクトルＶQ，Ｖ1，・・・，ＶDを用いることで、高精度の画像検索を実現することが可能となる。具体的には、ブロック領域間の隙間を原因とした検索精度の低下、及び、被写体の位置または大きさの違いを原因とした検索精度の低下を抑制することができる。
【０１２７】
尚、本発明の実施例１，２による画像処理装置１，２のハードウェア構成としては、通常のコンピュータを使用することができる。画像処理装置１，２は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【０１２８】
画像処理装置１に備えたブロック設定部１１、被写体領域設定部１２、被写体ブロック設定部１３、周辺ブロック設定部１４及びブロック特徴計算部１５の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、画像処理装置２に備えた前処理部２１及び検索処理部２３の各機能もこれらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。
【０１２９】
また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【０１３０】
１，２  画像処理装置
１０  画像特徴計算部
１１  ブロック設定部
１２  被写体領域設定部
１３  被写体ブロック設定部
１４  周辺ブロック設定部
１５  ブロック特徴計算部
２０，２２，３１  ＨＤ（ハードディスク）
２１  前処理部
２３  検索処理部
３０  画像類似度計算部
３２  画像選択部
【図１】
2018106609.tif 000004
【図２】
2018106609.tif 000005
【図３】
2018106609.tif 000006
【図４】
2018106609.tif 000007
【図５】
2018106609.tif 000008
【図６】
2018106609.tif 000009
【図７】
2018106609.tif 000010
【図８】
2018106609.tif 000011
【図９】
2018106609.tif 000012
【図１０】
2018106609.tif 000013
【図１１】
2018106609.tif 000014
【図１２】
2018106609.tif 000015
【図１３】
2018106609.tif 000016
【図１４】
2018106609.tif 000017
【図１５】
2018106609.tif 000018
【図１６】
2018106609.tif 000019
【図１７】
2018106609.tif 000020
【図１８】
2018106609.tif 000021
【図１９】
2018106609.tif 000022
【図２０】
2018106609.tif 000023