(57)【要約】【課題】高精度かつ高速にカラーヒストグラムを生成する。【解決手段】まず、ＲＧＢ分類処理において、入力画像の各画素の色がＲＧＢ色空間のいずれの色領域に属するかに基づいて、各画素を分類する（ステップＳ１）。次に、Ｌ＊ａ＊ｂ＊分類処理において、ＲＧＢ色空間における各色領域に分類された各画素を、色の類似度に応じてＬ＊ａ＊ｂ＊色空間における各領域（ビン）に分類する（ステップＳ２）。具体的には、色空間における領域毎に、各色領域と当該色空間における領域との色の類似度を各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積する。そして、その累積した画素の数に基づいてカラーヒストグラムを生成する（ステップＳ３）。【選択図】図２
2011043872.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定手段と、
前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出手段と、
前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成手段と、
を備えるカラーヒストグラム生成装置。
【請求項２】
前記入力画像を占有する画素の色の割合に応じて色領域の区分数を決定し、その区分数で区分することにより前記色領域を生成する色領域生成手段を更に備え、
前記判定手段は、前記色領域生成手段により生成された色領域に基づいて、前記入力画像の各画素がいずれの色領域に属するかを判定する、
請求項１に記載のカラーヒストグラム生成装置。
【請求項３】
前記色空間における各領域は、当該色空間に属するデータ群をクラスタリングすることにより生成されたものである、
請求項１又は２に記載のカラーヒストグラム生成装置。
【請求項４】
前記類似度算出手段は、前記各色領域の代表色と、前記色空間における各領域の代表色との色差に基づいて、当該両領域間の類似度を算出する、
請求項１から３のいずれか一項に記載のカラーヒストグラム生成装置。
【請求項５】
前記色領域は前記入力画像のデータ形式に対応して区分されたものであり、
前記色空間は均等色空間である、
請求項１から４のいずれか一項に記載のカラーヒストグラム生成装置。
【請求項６】
入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定工程と、
前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出工程と、
前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成工程と、
をコンピュータが行うカラーヒストグラム生成方法。
【請求項７】
コンピュータを、
入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定手段、
前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出手段、
前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラーヒストグラム生成装置、カラーヒストグラム生成方法及びプログラムに関する。
【背景技術】
【０００２】
従来、画像が保存されている画像データベースの中から、ある画像に類似する画像を検索するために、画像から特徴量を抽出し、特徴量どうしを比較する手法が用いられている。画像の特徴量の一種として、カラーヒストグラムが知られている。
【０００３】
カラーヒストグラムは、入力画像の各画素の色が、複数の領域（ビン）に分割された色空間のいずれの領域に属するかを判定し、各領域に属する画素の数を画素の総数で正規化したものである。カラーヒストグラムは、画像における色の分布を表しているので、色を基準として画像間の類似関係を判別するのに用いられる。
【０００４】
しかし、色空間の各領域は、人間の知覚に合わせて区切られたものではないので、カラーヒストグラムを人間の類似感覚に即したものとすることは難しい。そこで、カラーヒストグラムを生成する際に、各領域に属する画素の数に対して、他の領域に属する画素の数を領域間の色の類似度に応じてそれぞれ累積する方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４２７９８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、画像検索の特徴量としてカラーヒストグラムを利用する場合には、人間の知覚に近い色空間、例えばＬ＊ａ＊ｂ＊等の色空間を利用するのが好ましい。しかし、一般的なＲＧＢ色空間から人間の知覚に近い色空間への変換は負荷の高い処理であった。また、カラーヒストグラムを精度良く生成するためには、画素毎に、画素とカラーヒストグラムの各領域との色の類似度を算出して、類似度に応じて複数の領域に画素の数を反映させる方法も考えられるが、全ての画素に対して類似度を算出することは処理の負荷が高かった。
【０００７】
本発明は上記の従来技術における問題に鑑みてなされたものであって、高精度かつ高速にカラーヒストグラムを生成することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載のカラーヒストグラム生成装置は、入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定手段と、前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出手段と、前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成手段と、を備える。
【０００９】
請求項２に記載の発明は、請求項１に記載のカラーヒストグラム生成装置において、前記入力画像を占有する画素の色の割合に応じて色領域の区分数を決定し、その区分数で区分することにより前記色領域を生成する色領域生成手段を更に備え、前記判定手段は、前記色領域生成手段により生成された色領域に基づいて、前記入力画像の各画素がいずれの色領域に属するかを判定する。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載のカラーヒストグラム生成装置において、前記色空間における各領域は、当該色空間に属するデータ群をクラスタリングすることにより生成されたものである。
【００１１】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載のカラーヒストグラム生成装置において、前記類似度算出手段は、前記各色領域の代表色と、前記色空間における各領域の代表色との色差に基づいて、当該両領域間の類似度を算出する。
【００１２】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載のカラーヒストグラム生成装置において、前記色領域は前記入力画像のデータ形式に対応して区分されたものであり、前記色空間は均等色空間である。
【００１３】
請求項６に記載のカラーヒストグラム生成方法は、コンピュータが、入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定工程と、前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出工程と、前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成工程と、を行う。
【００１４】
請求項７に記載の発明は、コンピュータを、入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定手段、前記各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出手段、前記色空間における領域毎に、前記各色領域と当該色空間における領域との色の類似度を前記各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１、６、７に記載の発明によれば、入力画像の画素と色空間における各領域との色の類似度を考慮した高精度なカラーヒストグラムを生成することができる。また、画素単位で色の類似度を算出する必要がないため、処理負荷を低減させることができ、高速にカラーヒストグラムを生成することができる。
【００１６】
請求項２に記載の発明によれば、入力画像を占有する画素の色の割合に応じて色領域の区分数を変動させるので、占有率の高い色について詳細なヒストグラムを生成でき、更に高精度なカラーヒストグラムを生成することができる。
【００１７】
請求項３に記載の発明によれば、人間の知覚に沿ったカラーヒストグラムを生成することができる。
【００１８】
請求項４に記載の発明によれば、色の類似度を算出する際に、各色領域の代表色と、色空間における各領域の代表色とを用いることで、高速に類似度を算出することができる。
【００１９】
請求項５に記載の発明によれば、色領域を入力画像のデータ形式に対応して区分されたものとすることにより、入力画像の各画素がいずれの色領域に属するかの判定が容易になり、色空間として均等色空間を用いることにより、人間の知覚に沿ったカラーヒストグラムを生成することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態におけるカラーヒストグラム生成装置のハードウェア構成の概略を示すブロック図である。
【図２】カラーヒストグラム生成装置において実行されるカラーヒストグラム生成処理を示すフローチャートである。
【図３】ＲＧＢ色空間を格子状に区分した場合の例を示す。
【図４】ＲＧＢ分類処理を示すフローチャートである。
【図５】Ｌ＊ａ＊ｂ＊分類処理の概略を示すイメージ図である。
【図６】Ｌ＊ａ＊ｂ＊分類処理を示すフローチャートである。
【図７】クラスタリング処理を示すフローチャートである。
【図８】Ｌ＊ａ＊ｂ＊色空間を複数のクラスタに分割した様子を示す模式図である。
【図９】第２の実施の形態におけるＲＧＢ色領域生成処理を示すフローチャートである。
【図１０】予備分類処理において、画素数が閾値以上の色領域がある場合のＲＧＢ色空間の色領域の区分例である。
【図１１】予備分類処理において、画素数が閾値以上の色領域がない場合のＲＧＢ色空間の色領域の区分例である。
【発明を実施するための形態】
【００２１】
［第１の実施の形態］
まず、本発明の第１の実施の形態におけるカラーヒストグラム生成装置１０について説明する。
図１に、カラーヒストグラム生成装置１０のハードウェア構成の概略を示す。
図１に示すように、カラーヒストグラム生成装置１０は、制御部１１、入出力部１２、通信部１３、記憶部１４等を備えた一般的なコンピュータである。各ブロックはバスライン１５により電気的に接続されている。
【００２２】
制御部１１は、ＣＰＵ（Central Processing Unit）１１１、ＲＡＭ（Random Access Memory）１１２及びＲＯＭ（Read Only Memory）１１３で構成される。
ＲＯＭ１１３は、不揮発性の半導体メモリ等により構成され、各種処理プログラムやデータ等を記憶する。ＲＡＭ１１２は、ＲＯＭ１１３又は記憶部１４から読み出された各種処理プログラムやデータ等を一時的に記憶する。
ＣＰＵ１１１は、カラーヒストグラム生成装置１０の各部の処理動作を統括的に制御する。具体的には、ＣＰＵ１１１は、ＲＯＭ１１３又は記憶部１４に記憶されている各種処理プログラムを読み出し、ＲＡＭ１１２内の作業領域に展開し、当該プログラムとの協働により各種処理を行う。
【００２３】
入出力部１２は、ユーザが利用するためのユーザインターフェースを構成する。
通信部１３は、ＴＣＰ／ＩＰ等の通信プロトコルに従って処理を行い、通信ネットワークを介して外部装置との間でデータの送受信を行う。
【００２４】
記憶部１４は、例えばハードディスク等で構成され、ＯＳ、各種アプリケーションプログラム、及び各種データ等を記憶する。具体的には、記憶部１４には、カラーヒストグラム生成プログラム１４１、画像データベース１４２、画像特徴データベース１４３、ＲＧＢ色領域情報１４４、Ｌ＊ａ＊ｂ＊領域情報１４５等が記憶されている。
画像データベース１４２には、複数の画像の画像データが登録されている。画像特徴データベース１４３には、画像データベース１４２中の画像データから抽出された特徴量が登録されている。特徴量は、画像データベース１４２から画像を検索する際に用いられる。
ＲＧＢ色領域情報１４４は、ＲＧＢ色空間を区分した各色領域に関する情報であり、各色領域に対応する色の範囲及び代表色のデータを含む。
Ｌ＊ａ＊ｂ＊領域情報１４５は、Ｌ＊ａ＊ｂ＊色空間を複数の領域に分割した各領域に関する情報であり、各領域に対応する色の範囲及び代表色のデータを含む。
【００２５】
制御部１１は、２段階の分類処理によりカラーヒストグラムを生成する。
１段階目の分類処理では、制御部１１は、入力画像の画素の色に応じて区分された複数の色領域のうち、入力画像の各画素がいずれの色領域に属するかを判定する。そして、制御部１１は、色領域毎に、各色領域に属する画素の数を算出する。すなわち、１段階目の分類処理は、入力画像の各画素を色領域毎に纏め上げる処理である。
【００２６】
色領域の区分は、入力画像のデータ形式に対応して区分されたものであることが望ましい。例えば、入力画像がＲＧＢ形式のデータである場合には、ＲＧＢそれぞれの値を０〜１５、１６〜３１、３２〜４７等のように区分して生成された色領域を用いる。また、入力画像は、立方体（３次元）により表現できる色空間におけるデータで示されていることが望ましい。具体的には、ＲＧＢ色空間、ＹＣｒＣｂ色空間（デジタルカメラの出力データ）、ＨＳＶ色空間等であることが望ましい。
【００２７】
色領域は、色空間の各軸に対して格子状に区分して各色領域を得る等、単純に区分可能なものが望ましい。色空間を格子状に区分することにより、入力画像の各画素の色が、いずれの色領域に属するかを簡単に判定することができ、高速にカラーヒストグラムを作成することができる。また、色領域毎に画素を細かく分類することにより、後に生成されるカラーヒストグラムの精度が向上する。
【００２８】
２段階目の分類処理では、制御部１１は、各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する。制御部１１は、色空間における領域毎に、各色領域と当該色空間における領域との色の類似度を各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成する。すなわち、２段階目の分類処理は、各色領域に分類された画素群と、色空間における各領域との色の類似度に応じて、色空間の各領域に属する画素の数を算出する処理である。
【００２９】
２段階目の分類処理における色空間は、Ｌ＊ａ＊ｂ＊色空間等の均等色空間であることが望ましい。均等色空間とは、色空間上での距離が、人間の知覚的な色の距離と類似するような色空間であり、線形変換できない色空間、格子状に区切れない色空間であることが多い。なお、２段階目の分類処理における色空間は、Ｌ＊ａ＊ｂ＊以外の色空間であってもよい。
【００３０】
本実施の形態では、１段階目の分類処理における色空間としてＲＧＢ色空間を用い、２段階目の分類処理における色空間としてＬ＊ａ＊ｂ＊色空間を用いる場合について説明する。
【００３１】
次に、カラーヒストグラム生成装置１０の動作について説明する。
図２に、カラーヒストグラム生成装置１０において実行されるカラーヒストグラム生成処理のフローチャートを示す。この処理は、ＣＰＵ１１１と、記憶部１４に記憶されているカラーヒストグラム生成プログラム１４１との協働によるソフトウェア処理によって実現される。
【００３２】
まず、制御部１１により、１段階目の分類処理としてＲＧＢ分類処理が行われる（ステップＳ１）。ＲＧＢ分類処理は、入力画像を構成する各画素の色がＲＧＢ色空間のいずれの色領域に属するかに基づいて、各画素を分類する処理である。入力画像は、カラーヒストグラムの生成の対象となる画像であり、画像データベース１４２から読み出された画像である。
【００３３】
図３に、ＲＧＢ色空間を格子状に区分した場合の例を示す。図３は、ＲＧＢの各軸を四つに区分した場合の例であるが、精度を上げるために、通常は２段階目の分類処理における領域数よりも多い区分数に区分する。ＲＧＢ色空間を、立方体又は直方体により構成される色領域に区分することにより、処理が簡便となる。
【００３４】
ここで、図４を参照して、ＲＧＢ分類処理について説明する。
図４に示すように、まず、制御部１１により、入力画像から対象画素が選択される（ステップＳ１１）。具体的には、画像の左上から右下へ順に処理が行われるため、まず、画像の左上の画素が対象画素として選択される。
【００３５】
次に、制御部１１により、対象画素の色がＲＧＢ色空間のいずれの色領域に属するかが判定される（ステップＳ１２）。例えば、対象画素のＲＧＢ成分のそれぞれを所定の固定値で割ることにより、対象画素が含まれる色領域を判定する。図３のように、ＲＧＢの３次元空間（２５６×２５６×２５６）を４×４×４の色領域に区分した場合、対象画素のＲ値、Ｇ値、Ｂ値を６４で割ると、どの色領域に属するかを特定できる。
なお、固定値で割る代わりに、ＲＧＢそれぞれの値をビット列としてシフトすることで、２のべき乗で割ることと同等になり、高速にどの色領域に分類されるかを特定することができる。
【００３６】
次に、制御部１１により、判定された色領域に属する画素数に１が加算される（ステップＳ１３）。
次に、制御部１１により、入力画像の全ての画素について処理が終了したか否かが判断される（ステップＳ１４）。処理が終了していない画素が存在する場合には（ステップＳ１４；ＮＯ）、制御部１１により、入力画像から他の画素が対象画素として選択される（ステップＳ１５）。そして、ステップＳ１２に戻り、ステップＳ１２〜ステップＳ１４の処理が繰り返される。
【００３７】
ステップＳ１４において、入力画像の全ての画素について処理が終了した場合には（ステップＳ１４；ＹＥＳ）、ＲＧＢ分類処理が終了する。
【００３８】
次に、図２に戻り、制御部１１により、２段階目の分類処理としてＬ＊ａ＊ｂ＊分類処理が行われる（ステップＳ２）。Ｌ＊ａ＊ｂ＊分類処理は、ＲＧＢ色空間における各色領域に分類された画素群を、色の類似度に応じてＬ＊ａ＊ｂ＊色空間における各領域（ビン）に分類する処理である。図５は、Ｌ＊ａ＊ｂ＊分類処理の概略を示すイメージ図である。
【００３９】
ここで、図６を参照して、Ｌ＊ａ＊ｂ＊分類処理について説明する。
図６に示すように、制御部１１により、ＲＧＢ色空間の色領域の一つが対象色領域として選択される（ステップＳ２１）。
【００４０】
次に、制御部１１により、ＲＧＢ色空間の対象色領域と、Ｌ＊ａ＊ｂ＊色空間における各領域との色の類似度が算出される（ステップＳ２２）。類似度は、式（１）により求められる。
【００４１】
【数１】
2011043872.tif 000003
【００４２】
ここで、ｄ［ｉ，ｊ］は、ＲＧＢ色空間のｉ番目の色領域の代表色と、Ｌ＊ａ＊ｂ＊色空間のｊ番目の領域の代表色との色差である。Ｍは、色差の最大値であり、色空間上の任意の２点間の距離の中での最大値である。なお、Ｍは、ＲＧＢ色空間のｉ番目の色領域の代表色と、Ｌ＊ａ＊ｂ＊色空間の各領域の代表色との色差の中での最大値でもよい。
【００４３】
ＲＧＢ色空間の各色領域の代表色、Ｌ＊ａ＊ｂ＊色空間の各領域の代表色は、その領域の中の色の点（離散値）の集合の平均値を用いればよい。ＲＧＢ色空間の場合には、各格子内の平均値が代表色となる。Ｌ＊ａ＊ｂ＊色空間の場合には、予めユーザが手動で分割した領域内の点の平均値が代表色となる。また、Ｌ＊ａ＊ｂ＊色空間をクラスタリングにより分割した場合には、各クラスタ内の点の平均値が代表色となる。クラスタリング処理（図７参照）については後述する。
【００４４】
なお、Ｌ＊ａ＊ｂ＊分類処理を行う前に、ＲＧＢ色空間の各色領域とＬ＊ａ＊ｂ＊色空間の各領域との色の類似度を予め算出し、両領域の組み合わせと類似度との対応関係を示すＬＵＴ（ルックアップテーブル）を作成しておき、Ｌ＊ａ＊ｂ＊分類処理においてこれを利用してもよい。これにより、処理の高速化を図ることができる。
【００４５】
次に、制御部１１により、対象色領域の画素数にＲＧＢ色空間における対象色領域とＬ＊ａ＊ｂ＊色空間における各領域との色の類似度を乗じた値が、Ｌ＊ａ＊ｂ＊色空間における各領域の画素数として累積される（ステップＳ２３）。
【００４６】
次に、制御部１１により、ＲＧＢ色空間の全ての色領域について処理が終了したか否かが判断される（ステップＳ２４）。処理が終了していない色領域が存在する場合には（ステップＳ２４；ＮＯ）、制御部１１により、ＲＧＢ色空間から他の色領域が対象色領域として選択される（ステップＳ２５）。そして、ステップＳ２２に戻り、ステップＳ２２〜ステップＳ２４の処理が繰り返される。
【００４７】
ステップＳ２４において、ＲＧＢ色空間の全ての色領域について処理が終了した場合には（ステップＳ２４；ＹＥＳ）、Ｌ＊ａ＊ｂ＊分類処理が終了する。
【００４８】
ＲＧＢ色空間におけるｉ番目の色領域の画素数をＰ［ｉ］、Ｌ＊ａ＊ｂ＊色空間におけるｊ番目の領域の画素数をＱ［ｊ］とすると、Ｌ＊ａ＊ｂ＊分類処理により得られる処理結果は、以下の式（２）により表される。
【００４９】
【数２】
2011043872.tif 000004
【００５０】
次に、図２に戻り、制御部１１により、Ｌ＊ａ＊ｂ＊色空間の各領域に属する画素数が、画素の総数で正規化され、カラーヒストグラムが生成される（ステップＳ３）。Ｌ＊ａ＊ｂ＊色空間の各領域に属する正規化された画素数を示す情報（カラーヒストグラム）は、制御部１１により、特徴量として画像特徴データベース１４３に記憶される。
以上で、カラーヒストグラム生成装置１０において実行されるカラーヒストグラム生成処理が終了する。
【００５１】
次に、図７を参照して、Ｌ＊ａ＊ｂ＊色空間に属するデータ群をクラスタリングすることにより、Ｌ＊ａ＊ｂ＊色空間を複数の領域に分割するクラスタリング処理について説明する。この処理は、カラーヒストグラム生成装置１０の準備段階で行われる処理であって、カラーヒストグラム生成処理前に予め行われている。
【００５２】
まず、制御部１１により、全てのＲＧＢの組み合わせのデータが擬似的に生成される（ステップＳ３１）。
（Ｒ，Ｇ，Ｂ）＝（０，０，０）〜（２５５，２５５，２５５）
このデータは、クラスタリングのために用意されるデータであり、現実の入力画像のデータではない。
これにより、２５６×２５６×２５６の数のデータが生成される。つまり、ＲＧＢがそれぞれ整数値で表された、格子点のデータが生成される。ただし、格子点のデータを使うことは必須ではない。また、全ての格子点を使う必要はなく、適宜データを間引いてもよい。
【００５３】
次に、制御部１１により、ＲＧＢ色空間で表されたデータがＬ＊ａ＊ｂ＊色空間のデータに変換される（ステップＳ３２）。この際、変換後のＬ＊ａ＊ｂ＊のデータと、元のＲＧＢのデータとの間で紐付けが行われる。つまり、一方のデータから他方のデータを参照可能としておく。なお、ＲＧＢのデータの変換を行わずに、L＊a＊b＊空間の格子上の点を生成して、それをクラスタリングするデータとしてもよい。
【００５４】
次に、制御部１１により、初期クラスタが生成される（ステップＳ３３）。つまり、各初期クラスタの中心点が決定される。この中心点は色空間からランダムに選択してもよいが、色空間の３次元空間上での格子点を初期クラスタの中心点とすることで、効率良くＬ＊ａ＊ｂ＊色空間内の各領域を生成することができる。
【００５５】
次に、制御部１１により、Ｌ＊ａ＊ｂ＊色空間における一つの点が対象点として選択される（ステップＳ３４）。
【００５６】
次に、制御部１１により、各クラスタに対象点を追加した場合の評価指標が計算される（ステップＳ３５）。
具体的には、いずれか一つのクラスタ（初期クラスタ）に対象点を追加したと仮定し、クラスタの中心点を求める。中心点としては、例えば、クラスタを構成する全ての点の平均を用いることができる。あるいは、クラスタ内の他の点との距離の総和が最も小さくなる点を中心点としてもよい。
次に、全てのクラスタについて、その半径を求める。半径を求めるには、例えば、クラスタの中心点と、クラスタ内に属する全ての点との間の距離を求め、求めた距離の最大値を半径とする。
次に、全クラスタについて、半径の平均μａ、分散σａを算出する。
各クラスタの中心点毎に、他のクラスタの中心点までの距離を求める。そして、距離の最小値を、隣接するクラスタとの間の距離とする。更に、この距離の平均μｂ、分散σｂを算出する。
次に、評価指標Ｔを、以下の式により算出する。
Ｔ＝ｋ１・μａ＋ｋ２・σａ＋ｋ３・μｂ＋ｋ４・σｂ
ここで、ｋ１〜ｋ４は重み付け係数である。
各クラスタに対象点を追加したと仮定し、それぞれの場合について、評価指標Ｔを算出する。
【００５７】
次に、制御部１１により、評価指標が最小となるクラスタに対象点が追加される（ステップＳ３６）。
ここで、色空間中に残りの点があれば（ステップＳ３７；ＹＥＳ）、制御部１１により、他の点が対象点として選択され（ステップＳ３８）、ステップＳ３５〜ステップＳ３７の処理が繰り返される。
【００５８】
ステップＳ３７において、色空間中に残りの点がない場合には（ステップＳ３７；ＮＯ）、制御部１１により、各クラスタの中心点が算出される（ステップＳ３９）。各クラスタの中心点は、各領域を代表する色（代表色）となる。各クラスタの中心点を算出する方法は、従来から用いられている方法を利用することができる。
【００５９】
以上のように、Ｌ＊ａ＊ｂ＊色空間上で、格子点の全データをクラスタリングし、クラスタを求める。クラスタリングの手法は、Nearest Neighbor法やk-mean法等、一般的なクラスタリング手法を利用することができる。なお、クラスタリングするときの距離の計算は、Ｌ＊ａ＊ｂ＊色空間でのユークリッド距離を利用してもよいし、各色空間で定義されている色差式を利用してもよい。
【００６０】
図８は、Ｌ＊ａ＊ｂ＊色空間２０を複数のクラスタ２１に分割した様子を示す模式図である。図８に示すように、歪な形状のＬ＊ａ＊ｂ＊色空間２０が、円で表されている各クラスタ２１に分割されている。各クラスタ２１の中心点２２が代表色となる。各領域（ビン）は、クラスタ２１の中心点２２の間を線で区切った部分空間となる。このようにして分割された各領域に対応する色の範囲を示す情報及び代表色を示す情報は、制御部１１により、Ｌ＊ａ＊ｂ＊領域情報１４５として記憶部１４に記憶される。
【００６１】
以上説明したように、第１の実施の形態におけるカラーヒストグラム生成装置１０は、入力画像の画素の色に応じて区分された複数の色領域のうち該入力画像の各画素がいずれの色領域に属するかを判定する判定手段（図４のステップＳ１２）と、各色領域と、予め複数の領域に分割された色空間における各領域との色の類似度をそれぞれ算出する類似度算出手段（図６のステップＳ２２）と、色空間における領域毎に、各色領域と当該色空間における領域との色の類似度を各色領域に属する画素の数に乗じた値を、当該色空間における領域に属する画素の数として累積し、その累積した画素の数に基づいてカラーヒストグラムを生成するヒストグラム生成手段（図６のステップＳ２３、図２のステップＳ３）と、を備える。
これにより、入力画像の画素と色空間における各領域との色の類似度を考慮した高精度なカラーヒストグラムを生成することができる。また、１段階目の分類処理において色領域毎に画素を纏めておき、各色領域とカラーヒストグラムの各領域との色の類似度を算出するので、画素単位で色の類似度を算出する必要がない。そのため、処理負荷を低減させることができ、高速にカラーヒストグラムを生成することができる。
【００６２】
また、色空間における各領域が、当該色空間に属するデータ群をクラスタリングすることにより生成されたものである場合には（図７のクラスタリング処理参照）、人間の知覚に沿った高精度なカラーヒストグラムを生成することができる。
【００６３】
また、類似度算出手段は、各色領域の代表色と、色空間における各領域の代表色との色差に基づいて、両領域間の類似度を算出する。色の類似度を算出する際に、各色領域の代表色と、色空間における各領域の代表色とを用いることで、高速に類似度を算出することができる。
【００６４】
また、色領域を入力画像のデータ形式に対応して区分されたものとすることにより、入力画像の各画素がいずれの色領域に属するかの判定が容易になる。また、色空間として均等色空間を用いることにより、人間の知覚に沿ったカラーヒストグラムを生成することができる。
【００６５】
［第２の実施の形態］
次に、本発明を適用した第２の実施の形態について説明する。
第２の実施の形態におけるカラーヒストグラム生成装置は、第１の実施の形態に示したカラーヒストグラム生成装置１０と同様の構成であるため、図１を援用し、その構成については図示及び説明を省略する。以下、第２の実施の形態に特徴的な構成及び処理について説明する。
【００６６】
第１の実施の形態は、どのような入力画像についても、同様に区分された各色領域に画素を分類する場合の例であるが、第２の実施の形態では、入力画像を占有する画素の色の割合に応じて色領域の生成方法を変更する場合について説明する。
【００６７】
第１の実施の形態における方法では、１段階目の分類処理において区分される区分数が多いほど精度が高くなるが、処理が遅くなる傾向がある。また、入力画像を占有する割合が大きい色に関しては、その色をより細かく分類した方がヒストグラムの精度が高くなり、占有する割合が小さい色に関しては、それほど細かく分類する必要がないと言える。
【００６８】
制御部１１は、入力画像を占有する画素の色の割合に応じて色領域の区分数を決定し、その区分数で区分することにより１段階目の分類処理に用いる複数の色領域を生成する。具体的には、入力画像を占有する割合が大きい色ほど、より細かい色領域に分割されるよう、１段階目の分類処理における色領域の区分数を決定する。
【００６９】
次に、図９を参照して、ＲＧＢ色領域生成処理について説明する。この処理は、カラーヒストグラム生成処理（図２参照）に先立って行われる処理である。
【００７０】
まず、制御部１１により、入力画像から少数の画素がサンプリングされる（ステップＳ４１）。例えば、画像を間引く等して、画像内の色の分布の傾向を判定できるように、画素のサンプリングが行われる。
【００７１】
次に、制御部１１により、サンプリングされた画素を、ＲＧＢ色空間における予め定められた複数の色領域に粗く分類する予備分類処理が行われる（ステップＳ４２）。予備分類処理は、ＲＧＢ分類処理（図４参照）と同様の処理であるため、説明を省略する。なお、予備分類処理では、色の分布の傾向を判定することができればよいので、予備分類処理で用いる色領域は、第１の実施の形態のＲＧＢ分類処理で用いた色領域より粗く区分されたものであってもかまわない。
【００７２】
次に、制御部１１により、予備分類処理において算出された各色領域に属する画素数に基づいて、サンプリングされた画素の色の割合に応じてＲＧＢ分類処理における色領域の区分数が決定される（ステップＳ４３）。具体的には、制御部１１により、画素数が算出された各色領域のうち、画素数が予め定められた閾値以上の色領域がある場合には、当該色領域が更に２以上の領域に分割される。ＲＧＢ色空間における各色領域の区分において、入力画像を占有する割合が大きい色ほど、より細かい色領域に分割されることが望ましい。
【００７３】
次に、制御部１１により、決定された区分数で区分することにより、ＲＧＢ分類処理に用いる色領域が生成される（ステップＳ４４）。図１０に、予備分類処理において、画素数が閾値以上の色領域がある場合のＲＧＢ色空間の色領域の区分例を示す。画素数が閾値以上の色領域について、更に細かく区分される。図１１に、予備分類処理において、画素数が閾値以上の色領域がない場合のＲＧＢ色空間の色領域の区分例を示す。
【００７４】
次に、制御部１１により、各色領域の中心点が算出される（ステップＳ４５）。各色領域の中心点は、各色領域を代表する色（代表色）となる。このようにして生成された各色領域に対応する色の範囲を示す情報及び代表色を示す情報は、制御部１１により、ＲＧＢ色領域情報１４４として記憶部１４に記憶される。
以上で、ＲＧＢ色領域生成処理が終了する。
【００７５】
カラーヒストグラム生成処理（図２参照）については、第１の実施の形態と同様であるため、説明を省略する。
【００７６】
以上説明したように、第２の実施の形態におけるカラーヒストグラム生成装置は、入力画像を占有する画素の色の割合に応じて色領域の区分数を決定し、その区分数で区分することにより色領域を生成する色領域生成手段（図９のステップＳ４３，Ｓ４４）を更に備え、判定手段は、色領域生成手段により生成された色領域に基づいて、入力画像の各画素がいずれの色領域に属するかを判定する（図４のステップＳ１２）。
これにより、入力画像を占有する画素の色の割合に応じて色領域の区分数を変動させるので、占有率の高い色について詳細なヒストグラムを生成でき、更に高精度なカラーヒストグラムを生成することができる。
【００７７】
具体的には、画像を占有する割合が大きい色ほど、１段階目の分類処理における区分数を多くし、画像を占有する割合が小さい色ほど、１段階目の分類処理における区分数を少なくすることで、高速性と高精度を両立することができる。
【００７８】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【００７９】
以上の説明では、各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体としてＲＯＭやハードディスク等を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）を適用することとしてもよい。
【符号の説明】
【００８０】
１０  カラーヒストグラム生成装置
１１  制御部（判定手段、類似度算出手段、ヒストグラム生成手段、色領域生成手段）
１４  記憶部
１１１  ＣＰＵ
１１２  ＲＡＭ
１１３  ＲＯＭ
１４１  カラーヒストグラム生成プログラム
１４２  画像データベース
１４３  画像特徴データベース
１４４  ＲＧＢ色領域情報
１４５  Ｌ＊ａ＊ｂ＊領域情報
【図１】
2011043872.tif 000005
【図２】
2011043872.tif 000006
【図３】
2011043872.tif 000007
【図４】
2011043872.tif 000008
【図５】
2011043872.tif 000009
【図６】
2011043872.tif 000010
【図７】
2011043872.tif 000011
【図８】
2011043872.tif 000012
【図９】
2011043872.tif 000013
【図１０】
2011043872.tif 000014
【図１１】
2011043872.tif 000015