(57)【要約】【課題】高速に画像の領域分割を行う【解決手段】クラスタリング処理部７０１では、帰属させている画素数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離を算出して第１の閾値と比較していく。前記距離が第１の閾値以下であると判定したときの対象クラスタに、該処理対象画素を帰属させる。【選択図】図７
2010186272.tif 000002
【特許請求の範囲】
【請求項１】
画像データを画素毎にクラスタリングする画像処理方法であって、
定義済みのクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属工程と、
前記第１帰属工程で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記処理対象画素の特徴ベクトルと前記定義済みのクラスタの代表特徴ベクトルそれぞれとの距離のうちの最小値である第２の距離を第２の閾値と比較し、前記第２の距離が前記第２の閾値以下であれば、前記処理対象画素を前記第２の距離に対応するクラスタに帰属させる第２帰属工程と、
前記第１帰属工程と前記第２帰属工程によって、前記処理対象画素が、定義済みのクラスタのいずれにも帰属させられなかった場合、新たなクラスタを定義し、前記処理対象画素を該新たなクラスタに帰属させる第３帰属工程と
を有することを特徴とする画像処理方法。
【請求項２】
画像データを画素毎に、予め定義されている複数のクラスタのいずれかにクラスタリングする画像処理方法であって、
前記複数のクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属工程と、
前記第１帰属工程で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記複数のクラスタのうち、前記処理対象画素の特徴ベクトルと前記クラスタの代表特徴ベクトルとの距離が最小値となるクラスタに前記処理対象画素を帰属させる第２帰属工程と
を有することを特徴とする画像処理方法。
【請求項３】
前記第１帰属工程においては、帰属させている画素の数が多いクラスタから順に予め定めたＮ番目のクラスタまでを対象として、前記第１の距離と前記第１の閾値とを比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させることを特徴とする請求項１又は２に記載の画像処理方法。
【請求項４】
前記第１帰属工程においては、定義されているクラスタすべての比較が終わるまで、帰属させている画素の数が多いクラスタから順に対象として、前記第１の距離と前記第１の閾値とを比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させることを特徴とする請求項１又は２に記載の画像処理方法。
【請求項５】
前記第１帰属工程では、更に、前記比較を行った前記第１の距離の最小値を記憶しておき、
前記第２帰属工程では、前記第１帰属工程で記憶しておいた最小値に基づいて、前記処理対象画素を帰属させるクラスタを判定することを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記第１の閾値は、前記第２の閾値よりも値が小さいことを特徴とする請求項１、又は請求項１を引用する請求項３、又は請求項１を引用する請求項４、又は請求項１を引用する請求項４を引用する請求項５に記載の画像処理方法。
【請求項７】
クラスタに属する画素の数を示す計数値は、前記処理対象画素をクラスタに帰属させるごとに計数され、
一定数の画素について帰属するクラスタが決定される都度、全てのクラスタに属する画素の計数値がリセットされることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理方法。
【請求項８】
クラスタに属する画素の数を示す計数値は、前記処理対象画素をクラスタに帰属させるごとに計数され、
前記第１帰属工程において、前記第１の距離が第１の閾値よりも大きい画素が一定数連続した場合、全てのクラスタに属する画素の計数値がリセットされることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理方法。
【請求項９】
画像データを画素毎にクラスタリングする画像処理装置であって、
定義済みのクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属手段と、
前記第１帰属手段で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記処理対象画素の特徴ベクトルと前記定義済みのクラスタの代表特徴ベクトルそれぞれとの距離のうちの最小値である第２の距離を第２の閾値と比較し、前記第２の距離が前記第２の閾値以下であれば、前記処理対象画素を前記第２の距離に対応するクラスタに帰属させる第２帰属手段と、
前記第１帰属手段と前記第２帰属手段によって、前記処理対象画素が、定義済みのクラスのいずれにも帰属させられなかった場合、新たなクラスタを定義し、前記処理対象画素を該新たなクラスタに帰属させる第３帰属手段と
を有することを特徴とする画像処理装置。
【請求項１０】
画像データを画素毎に、予め定義されている複数のクラスタのいずれかにクラスタリングする画像処理装置であって、
前記複数のクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属手段と、
前記第１帰属手段で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記複数のクラスタのうち、前記処理対象画素の特徴ベクトルと前記クラスタの代表特徴ベクトルとの距離が最小値となるクラスタに前記処理対象画素を帰属させる第２帰属手段と
を有することを特徴とする画像処理装置。
【請求項１１】
画像データを画素毎にクラスタリングする画像処理装置としてコンピュータを機能させるためのプログラムであって、
定義済みのクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属手段と、
前記第１帰属手段で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記処理対象画素の特徴ベクトルと前記定義済みのクラスタの代表特徴ベクトルそれぞれとの距離のうちの最小値である第２の距離を第２の閾値と比較し、前記第２の距離が前記第２の閾値以下であれば、前記処理対象画素を前記第２の距離に対応するクラスタに帰属させる第２帰属手段と、
前記第１帰属手段と前記第２帰属手段によって、前記処理対象画素が、定義済みのクラスのいずれにも帰属させられなかった場合、新たなクラスタを定義し、前記処理対象画素を該新たなクラスタに帰属させる第３帰属手段と
してコンピュータを機能させるためのプログラム。
【請求項１２】
画像データを画素毎に、予め定義されている複数のクラスタのいずれかにクラスタリングする画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記複数のクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属手段と、
前記第１帰属手段で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記複数のクラスタのうち、前記処理対象画素の特徴ベクトルと前記クラスタの代表特徴ベクトルとの距離が最小値となるクラスタに前記処理対象画素を帰属させる第２帰属手段と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをクラスタリングするための画像処理方法および画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
近年、文書を紙ではなく、電子化して保存あるいは送信する需要が高まっている。ここでいう文書の電子化とは、単に紙上の文書をスキャナ等によって読み取って画像データを得るにとどまらない。例えば、文書を構成する文字、図、写真、表等の性質の異なる領域に画像データを分離する。そして、文字領域は文字コード、図領域はベクトルデータ、背景領域や写真領域はビットマップデータ、表領域は構造データなど、各々最も適した形式にデータ化する処理が、文書の電子化処理で行なわれる。
【０００３】
ベクトルデータへの変換手法として、例えば特許文献１の画像処理装置が開示されている。該画像処理装置では、クラスタリング処理により領域分割を行い、各領域の輪郭を抽出し、抽出された輪郭をベクトルデータへ変換する。
【０００４】
ところで、画像をクラスタリング処理により領域分割する方法としてはＮｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒクラスタリング法や、Ｋ−ｍｅａｎｓクラスタリング法等が知られている。
【０００５】
Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒクラスタリング法は、処理対象の画素の特徴ベクトルと各クラスタの代表特徴ベクトルを比較して、最も距離が近い特徴ベクトルを持つクラスタを探索する。距離が所定の閾値以下であれば該クラスタに処理対象の画素を帰属させる。そうでなければ新たなクラスタを定義して、該クラスタに処理対象の画素を帰属させる。なお、ここで特徴ベクトルは色情報（Ｒ、Ｇ、Ｂから成る画素値）が使われるのが一般的である。クラスタの代表特徴ベクトルとは、一般的にクラスタの重心が用いられる。即ち、クラスタに帰属する各画素の特徴ベクトル（色情報）の平均値である。
【０００６】
Ｋ−ｍｅａｎｓクラスタリング法は、予めＫ個のクラスタとその代表特徴ベクトルを定義しておき、各画素を特徴ベクトルとの距離が最も近いクラスタに帰属させる。全ての画素に対する処理を終えた後、各クラスタの代表特徴ベクトルを更新する。以上の処理を、更新前後の代表特徴ベクトルの差が所定値以下になるまで繰り返す。
【０００７】
ところで、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒクラスタリング法とＫ−ｍｅａｎｓクラスタリング法のいずれも、処理対象の画素の特徴ベクトルと距離が最も近い代表特徴ベクトルを持つクラスタを、全てのクラスタの中から探索する処理を行う。即ち、画素毎に全てのクラスタの代表特徴ベクトルとの距離を算出しなければならない。その為、領域分割の精度を高めるためにクラスタ数を増やすと、計算時間が増大するという問題があった。
【０００８】
このような問題を解決するための従来技術として、例えば特許文献２のカラー画像処理装置が開示されている。従来技術では、処理対象の画素と隣接画素の特徴ベクトル（色情報）に基づいてクラスタリングを行う。次に、クラスタ同士の色情報及び幾何学情報に基づいてクラスタのグルーピングを行う。ここで、幾何学情報とは、領域同士の近さを表す座標情報などである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１５８７２５号公報
【特許文献２】特開平１１−２８８４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術では処理対象の画素と隣接画素の特徴ベクトルの距離が離れている場合は、クラスタを新たに定義し、注目画素を該クラスタに帰属させるので、大量のクラスタが定義される。その為、グルーピングに要する処理時間が増大するという問題があった。
【００１１】
そこで、本発明は、高速にクラスタリング処理できる画像処理方法を提供する事を目的とする。
【課題を解決するための手段】
【００１２】
以上に説明した課題を解決するため、本発明は、画像データを画素毎にクラスタリングする画像処理方法であって、定義済みのクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属工程と、前記第１帰属工程で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記処理対象画素の特徴ベクトルと前記定義済みのクラスタの代表特徴ベクトルそれぞれとの距離のうちの最小値である第２の距離を第２の閾値と比較し、前記第２の距離が前記第２の閾値以下であれば、前記処理対象画素を前記第２の距離に対応するクラスタに帰属させる第２帰属工程と、前記第１帰属工程と前記第２帰属工程によって、前記処理対象画素が、定義済みのクラスタのいずれにも帰属させられなかった場合、新たなクラスタを定義し、前記処理対象画素を該新たなクラスタに帰属させる第３帰属工程とを有する。
【００１３】
あるいは他の側面によれば本発明は、画像データを画素毎に、予め定義されている複数のクラスタのいずれかにクラスタリングする画像処理方法であって、前記複数のクラスタを、帰属させている画素の数が多いクラスタから順に対象として、処理対象画素の特徴ベクトルと当該対象のクラスタの代表特徴ベクトルとの距離である第１の距離を第１の閾値と比較していき、前記第１の距離が前記第１の閾値以下であると判定したときの対象クラスタに前記処理対象画素を帰属させる第１帰属工程と、前記第１帰属工程で前記第１の距離が前記第１の閾値以下であるクラスタがないと判定した場合、前記複数のクラスタのうち、前記処理対象画素の特徴ベクトルと前記クラスタの代表特徴ベクトルとの距離が最小値となるクラスタに前記処理対象画素を帰属させる第２帰属工程とを有する。
【発明の効果】
【００１４】
本発明によれば、属する画素数が多いクラスタから順に、処理対象画素の特徴ベクトルとクラスタの代表特徴ベクトルとの距離を第１の閾値と比較していき、第１の閾値以下であると判定したときのクラスタに当該処理対象画素を帰属させて、当該画素に関する処理を終了する。よって、従来よりも距離の算出回数を削減できるので、高速な領域分割が可能となる。
【図面の簡単な説明】
【００１５】
【図１Ａ】、
【図１Ｂ】実施形態１の画像処理方法の動作を表すフローチャートである。
【図２Ａ】、
【図２Ｂ】実施形態２の画像処理方法の動作を表すフローチャートである。
【図３】実施形態３の画像処理方法の動作を表すフローチャートである。
【図４】実施形態４の画像処理方法の動作を表すフローチャートである。
【図５Ａ】、
【図５Ｂ】実施形態５の画像処理方法の動作を表すフローチャートである。
【図６Ａ】、
【図６Ｂ】実施形態６の画像処理方法の動作を表すフローチャートである。
【図７】ベクトルデータ変換装置の構成を表すブロック図である。
【図８】実施形態１の画像処理方法の距離計算回数を示す図である。
【図９】先行比較を行うクラスタ数Ｎを変化させた時の距離計算回数を示す図である。
【図１０】従来技術と実施形態１の画像処理方法の領域分割を示す図である。
【図１１】実施形態１の画像処理方法の精度を示す図である。
【図１２】実施形態２の画像処理方法の距離計算回数を示す図である。
【図１３】実施形態３の画像処理方法の距離計算回数を示す図である。
【図１４】実施形態４の画像処理方法の距離計算回数を示す図である。
【図１５】実施形態５のクラスタリング処理部への入力方法を表す図である。
【図１６】実施形態５の画像処理方法の距離計算回数を示す図である。
【図１７】実施形態６の画像処理方法の距離計算回数を示す図である。
【発明を実施するための形態】
【００１６】
［実施形態１］
本発明の実施形態１の画像処理方法と、それを用いたベクトルデータ変換装置の構成について、図７を参照して説明する。
【００１７】
図７において、７０１は本実施形態の画像処理方法を適用して画像の領域分割を行うクラスタリング処理部である。クラスタリング処理部７０１へは画像データが左上から１画素ずつラスタスキャン順で入力される。７０２はクラスタリング部７０２によって分割された各領域の輪郭を抽出する輪郭抽出部である。７０３は輪郭抽出部７０２によって抽出された輪郭を基にベクトルデータを生成するベクトルデータ生成部である。図７の構成は、例えばプログラムをコンピュータにより実行することで実現されるソフトウェアモジュールを示す。コンピュータは、汎用コンピュータであっても良いし、ディジタル多機能機等に組み込まれた組み込みコンピュータであっても良い。コンピュータシステムの構成は一般的なものであり、プロセッサと主メモリとファイルストレージとユーザインターフェースと外部機器（例えばスキャナ）等との間のインターフェースを有する。本実施形態における処理対象の画像データは、ファイルストレージに格納されたものや、例えばスキャナで読み取られたもの、あるいは通信で接続された他のコンピュータから受信したものなどである。
【００１８】
次に、クラスタリング処理部７０１の動作を、図１に示すフローチャートを用いて詳細に説明する。
【００１９】
まず、クラスタ数を表す変数ｎｕｍ＿ｃｌｕｓｔｅｒを０に初期化する（ステップＳ１０１）。次に、クラスタリング処理の対象画素（以下、処理対象画素と記す）の特徴ベクトルＰｃを取得する（ステップＳ１０２）。本実施形態の画像処理方法では、ＲＧＢ色空間を特徴空間とする。即ち、画素のＲＧＢ値が、その画素の特徴ベクトルである。しかし、本発明の画像処理方法はこれに限定されるものではない。例えば、ＹＵＶ色空間の画素値を特徴ベクトルとして用いてもよい。
【００２０】
次に、既に１あるいは複数のクラスタが定義されているか否かを判定する（ステップＳ１０３）。定義済みのクラスタ数が０ならば（ステップＳ１０３でＹＥＳ）、後述するステップＳ１２０の処理へ進む。既にクラスタが定義されていれば（ステップＳ１０３でＮＯ）、属する画素数が多いクラスタから順に、最大Ｎ個のクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとの比較を行う（ステップＳ１０４〜Ｓ１１０）。以下、クラスタに属する画素の数を「画素計数値」と記す。画素計数値は、例えばクラスタ毎に関連づけられた変数として保持され、着目画素の帰属が決定される都度、当該画素の属するクラスタの画素計数値が更新される。また、画素計数値が多いクラスタから順に、最大Ｎ個のクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとの比較を行う処理を、「先行比較」と記す。すなわち、先行比較では、帰属させている画素の数が多いクラスタから順にＮ番目のクラスタまでが比較の対象クラスタとなる。
【００２１】
なお、本実施形態の画像処理方法におけるＮの値は１とするが、本発明の画像処理方法はこれに限定されるものではなく、Ｎは２以上の値を用いてもよいし、処理の中で変化させてもよい。例えば、定義済みのクラスタ数ｎｕｍ＿ｃｌｕｓｔｅｒの値の１／２、１／４の値をＮに設定してもよい。また、クラスタの代表特徴ベクトルには、そのクラスタに属する画素の特徴ベクトルの平均値を用いる。
【００２２】
先行比較（ステップＳ１０４〜Ｓ１１０）について詳細に説明する。まずループインデクスｊを１に初期化する（ステップＳ１０４）。次に、画素計数値がｊ番目に多いクラスタＣｘの代表特徴ベクトルＰｘを取得する（ステップＳ１０５）。次に、ＰｃとＰｘの距離Ｄ（Ｐｃ，Ｐｘ）を算出する（ステップＳ１０６）。本実施形態の画像処理方法では、ユークリッド距離を算出するが、本発明の画像処理方法はこれに限定されるものではなく、例えばマンハッタン距離を算出してもよい。次に、Ｄ（Ｐｃ，Ｐｘ）と第１の閾値である閾値Ｔ１を比較する（ステップＳ１０７）。Ｄ（Ｐｃ，Ｐｘ）がＴ１以下、すなわち第１の閾値以下ならば（ステップＳ１０７でＹＥＳ）、処理対象画素の帰属先となるクラスタの番号を表す変数ｎｎ＿ｃｌｕｓｔの値をクラスタ番号ｘに更新し（ステップＳ１１０）、後述するステップＳ１１９の処理に進む。Ｔ１よりもＤ（Ｐｃ，Ｐｘ）の値が大きい場合（ステップＳ１０７でＮＯ）、Ｎ個のクラスタとの比較が終了したか否かを判定する（ステップＳ１０８）。終了していなければ（ステップＳ１０８でＮＯ）、ループインデクスｊを更新して（ステップＳ１０９）、ステップＳ１０５の処理に戻る。
【００２３】
Ｎ個のクラスタの中に、処理対象画素との距離Ｄ（Ｐｃ，Ｐｘ）の値がＴ１以下のものがなければ（ステップＳ１０８でＹＥＳ）、ステップＳ１１１の処理に進む。ステップＳ１１１〜Ｓ１１７は、全てのクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルを比較し、最も近い代表特徴ベクトルを持つクラスタを探索する処理である。以下、この処理を「全探索」と記す。
【００２４】
全探索について詳細に説明する。まずループインデクスｉと変数ｍｉｎ＿ｄｉｓｔａｎｃｅの初期化を行う（ステップＳ１１１）。ｍｉｎ＿ｄｉｓｔａｎｃｅは、処理対象画素の特徴ベクトルと、各クラスタの代表特徴ベクトルとの距離の内、最も小さい値を表す変数である。ｍｉｎ＿ｄｉｓｔａｎｃｅの初期値には、特徴空間で取りうる最大の距離よりも大きい値ＭＡＸ＿ＶＡＬＵＥを設定する。次にクラスタＣｉの代表特徴ベクトルＰｉを取得する（ステップＳ１１２）。次に、ＰｃとＰｉの距離Ｄ（Ｐｃ，Ｐｉ）を算出する（ステップＳ１１３）。次に、Ｄ（Ｐｃ，Ｐｉ）の値とｍｉｎ＿ｄｉｓｔａｎｃｅの値を比較する（ステップＳ１１４）。
【００２５】
Ｄ（Ｐｃ，Ｐｉ）がｍｉｎ＿ｄｉｓｔａｎｃｅ以下ならば（ステップＳ１１４でＹＥＳ）、ｍｉｎ＿ｄｉｓｔａｎｃｅの値をＤ（Ｐｃ，Ｐｉ）に更新し、ｎｎ＿ｃｌｕｓｔの値をクラスタ番号ｉに更新する（ステップＳ１１５）。次に、ループインデクスｉを更新する（ステップＳ１１６）。ｍｉｎ＿ｄｉｓｔａｎｃｅの値よりもＤ（Ｐｃ，Ｐｉ）の値が大きければ（ステップＳ１１４でＮＯ）、ステップＳ１１６の処理に進む。ステップＳ１１７では、全てのクラスタとの比較が終了したかを判定する。比較が終了していなければ（ステップＳ１１７でＮＯ）、Ｓ１１２の処理に戻る。全てのクラスタとの比較が終了していれば（ステップＳ１１７でＹＥＳ）、ステップＳ１１８の処理に進む。この段階でｍｉｎ＿ｄｉｓｔａｎｃｅの値は処理対象画素の特徴ベクトルと最も近いクラスタの代表ベクトルとの距離（すなわち第２の距離）を示している。またｎｎ＿ｃｌｕｓｔは第２の距離に対応するクラスタの識別子であり、定義済みクラスのうち、処理対象画素を帰属させる候補である。
【００２６】
ステップＳ１１８では、ｍｉｎ＿ｄｉｓｔａｎｃｅの値と第２の閾値である閾値Ｔ２の値を比較する。この閾値Ｔ２は、新しいクラスタを定義するか、定義済みのクラスタに帰属させるかを判定するための値である。
【００２７】
ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２以下、すなわち第２の閾値以下ならば（ステップＳ１１８でＹＥＳ）、処理対象画素を、クラスタｎｎ＿ｃｌｕｓｔに帰属させ、代表特徴ベクトルと画素計数値を更新する（ステップＳ１１９）。クラスタに帰属させるとは、たとえば処理対象画素に関連づけて、当該画素が属するクラスタの識別子を保存させるなどの処理である。ステップＳ１１９は、ステップＳ１１０からの分岐により動作する場合には第１帰属工程として動作し、ステップＳ１１８からの分岐により動作する場合には第２帰属工程として動作する。次に、ステップＳ１２１の処理へ進む。ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２よりも大きければ（ステップＳ１１８でＮＯ）、処理対象画素の特徴ベクトルを代表特徴ベクトルとする新しいクラスタを生成し（すなわち定義し）（ステップＳ１２０）、処理対象画素をその新たなクラスタに帰属させる。この工程は第３帰属工程として動作する。その後ステップＳ１２１の処理に進む。新たなクラスタの生成は、たとえばクラスタの識別子を既存クラスタのリスト等に登録することで行われる。ステップＳ１２１では、全ての画素に対する処理が終了したかを判定する。終了していれば（ステップＳ１２１でＹＥＳ）、クラスタリング処理部７０１の処理を終了する。そうでない場合は（ステップＳ１２１でＮＯ）、ステップＳ１０２の処理に戻り、後続する画素を処理対象画素とする。
【００２８】
図８（ａ）に示す画像を用いて本実施形態の画像処理方法の効果を説明する。図８（ａ）の画像は、縦１８画素、横１３画素、計１８×１３の２０４画素で構成される。図８（ｂ）は、図８（ａ）の画像をクラスタリングした後の、各クラスタの情報を示したものである。
【００２９】
図８（ｃ）は従来のＮｅａｒｅｓｔ Ｎｅｉｇｈｂｏｒクラスタリング法を適用した際の、画素毎の距離計算回数を示したものである。従来の方法では、処理対象画素の特徴ベクトルと、全ての定義済みクラスタの代表特徴ベクトルとの距離を比較する必要があるので、距離計算回数は、図８（ｃ）より８０９回になる。
【００３０】
一方、本実施形態の画像処理方法においては、画素計数値の多いＮ個のクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとを最初に比較する。図８（ｄ）は、Ｎ＝１として、図８（ａ）の画像に本実施形態の画像処理方法を適用した際の画素毎の距離計算回数を示すものである。図８（ａ）の画像では、番号１のクラスタ（以下、クラスタ１と記す）が、処理全体を通して常に画素計数値が最も多いクラスタである。よってこのクラスタを先行比較対象のクラスタとする。クラスタ１に属する画素は、画像全体で１５１画素存在する。一番初めに処理される画素（画像の左上端）は、ステップＳ１０３でＹＥＳと判定され、ステップＳ１２０の処理に進むため、距離計算が行われない。残りの１５０画素は、先行比較により１回の距離計算で帰属先のクラスタが決まるので、距離計算回数は１５０回である。他のクラスタに属する画素では、先行比較の後に、全探索が行われる。クラスタｋが定義されてから、クラスタｋ＋１が定義されるまでの、１画素あたりの、全探索による距離計算回数はｋ回である。例えば、クラスタ２が定義されてから、クラスタ３が定義されるまでの間に存在する、クラスタ２に属する画素は、先行比較の１回と、全比較の２回、計３回の距離計算が行われる。これに従って、画像全体を処理した時の距離計算回数を求めると、図８（ｄ）より４０１回となる。また、先行比較するクラスタ数Ｎを２にすると、距離計算回数は３９３回となる。
【００３１】
さらに、定義済みのクラスタ数ｎｕｍ＿ｃｌｕｓｔｅｒに応じて、Ｎの値を変化させた時の効果を、図９を用いて説明する。図９は、Ｎの値を、Ｎ ＜ ｎｕｍ＿ｃｌｕｓｔｅｒ／２ ＋ １を満たす最大の整数に設定した際の、各画素の距離計算回数を示したものである。図９より、画像全体の距離計算回数は３３７回となる。本実施形態の画像処理方法における、距離計算回数は、従来のＮｅａｒｅｓｔ Ｎｅｉｇｈｂｏｒクラスタリング法に比べて半分以上削減されている。よって、従来よりも高速にクラスタリングを行うことが可能になる。
【００３２】
また、本実施形態の画像処理方法では、画素計数値の多いＮ個のクラスタと処理対象画素との距離が遠い場合は、全探索（ステップＳ１１１〜Ｓ１１７）を行う。よって、特許文献２の従来技術におけるグルーピング処理を行わなくても、処理対象の画素を最適なクラスタに帰属させることができる。例えば、図８（ａ）の画像をクラスタリングした場合、従来技術では図１０に示す１００１〜１００６は別々のクラスタに分割される。そして、グルーピング処理により１００１〜１００４及び１００５〜１００６をひとつのクラスタに統合する。一方、本実施形態の画像処理方法においては、クラスタリング処理を終えた時点で１００１〜１００４及び１００５〜１００６は同一のクラスタになっている。
さらに本実施形態の画像処理方法においては、先行比較時の閾値Ｔ１、全探索時の閾値Ｔ２の、値の異なる二つの閾値を用いている。Ｔ１をＴ２よりも小さく設定する事で、精度の高い高速なクラスタリングを可能にしている。
【００３３】
その具体例を、図１１を用いて説明する。説明を簡単にするため、図１１（ａ）の画像の特徴ベクトルを、一次元としている。また、各画素の数値は画素毎の特徴ベクトルの値を示している。図１１（ｂ）は、１１０１の画素までクラスタリング処理が終了した状態を示している。この時点で、画素１１０１の属する、代表特徴ベクトル１０のクラスタ１（１１０４）と、画素１１０２の属する代表特徴ベクトル３１のクラスタ２（１１０５）が定義されている。画素計数値が大きいのはクラスタ１なので、クラスタ１が先行比較の対象となる。図１１（ｃ）に、Ｔ１とＴ２の値を共に２０に設定してクラスタリングを行った結果を示す。画素１１０３の特徴ベクトルとクラスタ１の特徴ベクトルとの距離は閾値Ｔ１以下（ステップＳ１０７でＹＥＳ）と判定され、画素１１０３はクラスタ１に帰属される。一方、Ｔ１の値をＴ２の値より小さく設定（例えば、Ｔ１ ＝ ５， Ｔ２ ＝ ２０とする）してクラスタリングを行うと、結果は図１１（ｄ）のようになる。画素１１０３の特徴ベクトルとクラスタ１の特徴ベクトルとの距離は閾値Ｔ１より大きい（ステップＳ１０７でＮＯ）と判定される。その為、画素１１０３は、クラスタ１より距離の近い代表特徴ベクトルを持つクラスタ２に帰属される。よって精度の高い高速なクラスタリングが可能になる。
【００３４】
なお、図１のステップＳ１１１〜Ｓ１１７は既存の全クラスタを対象としているが、ステップＳ１０５〜Ｓ１０８で算出された各クラスタ毎の第１の距離のうちの最小値を保存しておけば、属する画素の多い順にＮ番目のクラスタまでは、その代表ベクトルと着目画素の特徴ベクトルとの距離を改めて算出する必要はない。
【００３５】
［実施形態２］
実施形態２の画像処理方法と、それを用いたベクトルデータ変換装置について説明する。図７は、前記ベクトルデータ変換装置の構成を示したものであり、本発明の実施形態１で説明したものと同一である。輪郭抽出部７０２とベクトルデータ生成部７０３の処理は実施形態１で説明したベクトルデータ変換装置と同一である。クラスタリング処理部７０１は本実施形態の画像処理方法を適用して画像の領域分割を行う。以下、本実施形態のクラスタリング処理部７０１の動作を、図２に示すフローチャートを用いて詳細に説明する。
【００３６】
ステップＳ２０１で、クラスタ数ｎｕｍ＿ｃｌｕｓｔｅｒと各クラスタの代表特徴ベクトルを設定し、画素計数値を０にする。クラスタ数ｋ及び各クラスタの代表特徴ベクトル初期値の定義方法については、従来技術のＫ−ｍｅａｎｓクラスタリング法において周知であるので、ここでは説明を省略する。
【００３７】
次に、処理対象画素の特徴ベクトルＰｃを取得する（ステップＳ２０２）。特徴ベクトルは、画素のＲＧＢ値である。
【００３８】
ステップＳ２０３〜Ｓ２０９では、先行比較が行われる。ステップＳ２１０〜Ｓ２１６では、全探索が行われる。これらの処理は、本発明の実施形態１の画像処理方法（図１）のステップＳ１０４〜Ｓ１１７と同一であるため、説明を省略する。
【００３９】
ステップＳ２１７では、処理対象画素をクラスタｎｎ＿ｃｌｕｓｔに帰属させ、画素計数値を更新する。次に、全ての画素の処理が終了したかを判定する（ステップＳ２１８）。終了していれば（ステップＳ２１８でＹＥＳ）、ステップＳ２１９の処理に進む。そうでない場合は（ステップＳ２１８でＮＯ）、ステップＳ２０２の処理に戻り、後続する画素を処理対象画素とする。
【００４０】
ステップＳ２１９で、ｎｕｍ＿ｃｌｕｓｔｅｒ個のクラスタの代表特徴ベクトルＰ１〜Ｐｎｕｍ＿ｃｌｕｓｔｅｒを各々更新する。ステップＳ２２０で、代表特徴ベクトルＰ１〜Ｐｎｕｍ＿ｃｌｕｓｔｅｒについて、各々更新前後の値の差が所定値以内であるか否かを判定する。全てのクラスタについて、上記の値の差が所定値以内であれば（ステップＳ２２０でＹＥＳ）、クラスタリング処理部７０１の処理を終了する。そうでない場合は（ステップＳ２２０でＮＯ）、ステップＳ２０２へ処理を移行し、画像データの最初（ラスタスキャン順で処理する場合は左上）の画素から再び処理を開始する。
【００４１】
次に、図１２を用いて本実施形態の画像処理方法の効果を説明する。図１２（ａ）は、図８（ａ）に例示する画像に従来のＫ−ｍｅａｎｓクラスタリング法を適用した際の、画素毎の距離計算回数を示すものである。従来の方法では、処理対象画素の特徴ベクトルと、全ての定義済みクラスタの代表特徴ベクトルとの距離を比較する必要があるため、距離計算回数は、１，０２０回になる。
【００４２】
一方、本実施形態の画像処理方法では、画素数の多いＮ個のクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとを最初に比較する。図１２（ｂ）の画像は、図８（ａ）の画像に本実施形態の画像処理方法を適用した際の画素毎の距離計算回数を示すものである。また、Ｎの値は１に設定してある。図８（ａ）の画像では、クラスタ１が、処理全体を通して常に画素計数値が最も多いクラスタである。よってこのクラスタを先行比較対象のクラスタとする。クラスタ１に属する画素は、画像全体で１５１画素存在する。これらの画素は、先行比較により、１回の距離計算で所属クラスタが決まるので、距離計算回数は１５１回である。他のクラスタに属する画素では、先行比較の後に、全探索によって５回の距離計算が行われる。よってクラスタ番号１以外のクラスタに属する５３画素は、計６回の距離計算が行われる。画像全体を処理した時の距離計算回数を求めると、図１２（ｂ）より４６９回となる。また、先行比較を行うクラスタ数Ｎを２にすると、距離計算回数は４０２回となる。本実施形態の画像処理方法における距離計算回数は、従来のＫ−ｍｅａｎｓクラスタリング法に比べて半分以上削減されている。よって、従来よりも高速にクラスタリングを行うことが可能になる。
【００４３】
［実施形態３］
実施形態３の画像処理方法と、それを用いたベクトルデータ変換装置について説明する。図７は、前記ベクトルデータ変換装置の構成を示したものであり、本発明の実施形態１で説明したものと同一である。輪郭抽出部７０２とベクトルデータ生成部７０３の処理は実施形態１で説明したベクトルデータ変換装置と同一である。クラスタリング処理部７０１は本実施形態の画像処理方法を適用して画像の領域分割を行う。以下、本実施形態のクラスタリング処理部７０１の動作を、図３に示すフローチャートを用いて詳細に説明する。
【００４４】
まず、クラスタ数を表す変数ｎｕｍ＿ｃｌｕｓｔｅｒを０に初期化する（ステップＳ３０１）。次に、クラスタリング処理の対象画素（以下、処理対象画素と記す）の特徴ベクトルＰｃを取得する（ステップＳ３０２）。
【００４５】
次に、既にクラスタが定義されているか否かを判定する（ステップＳ３０３）。定義済みクラスタ数が０ならば（ステップＳ３０３でＹＥＳ）、後述するステップＳ３１４の処理へ進む。既にクラスタが定義されていれば（ステップＳ３０３でＮＯ）、画素計数値が多いクラスタから順に、クラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとの比較を行う（ステップＳ３０４〜Ｓ３１１）。
【００４６】
ステップＳ３０４〜Ｓ３１１について詳細に説明する。まずループインデクスｉと変数ｍｉｎ＿ｄｉｓｔａｎｃｅの初期化を行う（ステップＳ３０４）。ｍｉｎ＿ｄｉｓｔａｎｃｅは、処理対象画素の特徴ベクトルと、各クラスタの代表特徴ベクトルとの距離の内、最も小さい値を表す変数である。ｍｉｎ＿ｄｉｓｔａｎｃｅの初期値には、特徴空間で取りうる最大の距離よりも大きい値ＭＡＸ＿ＶＡＬＵＥを設定する。次に画素計数値がｉ番目に多いクラスタＣｘの代表特徴ベクトルＰｘを取得する（ステップＳ３０５）。次に、ＰｃとＰｉの距離Ｄ（Ｐｃ，Ｐｘ）を算出する（ステップＳ３０６）。次に、Ｄ（Ｐｃ，Ｐｘ）とｍｉｎ＿ｄｉｓｔａｎｃｅの値を比較する（ステップＳ３０７）。ｍｉｎ＿ｄｉｓｔａｎｃｅよりもＤ（Ｐｃ，Ｐｘ）の値が大きければ（ステップＳ３０７でＮＯ）、ステップＳ３１０の処理に進む。Ｄ（Ｐｃ，Ｐｘ）がｍｉｎ＿ｄｉｓｔａｎｃｅ以下ならば（ステップＳ３０７でＹＥＳ）、ｍｉｎ＿ｄｉｓｔａｎｃｅの値をＤ（Ｐｃ，Ｐｘ）に更新し、ｎｎ＿ｃｌｕｓｔをクラスタ番号ｉに更新する（ステップＳ３０８）。ｎｎ＿ｃｌｕｓｔは、処理対象画素の帰属先となるクラスタの番号を表す変数である。次に、ｍｉｎ＿ｄｉｓｔａｎｃｅと閾値Ｔ１の値を比較する（ステップＳ３０９）。ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ１以下ならば（ステップＳ３０９でＹＥＳ）、ステップＳ３１３の処理に進む。Ｔ１よりもｍｉｎ＿ｄｉｓｔａｎｃｅの値が大きければ（ステップＳ３０９でＮＯ）、ステップＳ３１０に進み、ループインデクスｉを更新する。次に、全てのクラスタとの比較が終了したかを判定する（ステップＳ３１１）。
【００４７】
比較が終了していなければ（ステップＳ３１１でＮＯ）、Ｓ３０５の処理に戻る。全てのクラスタとの比較が終了していれば（ステップＳ３１１でＹＥＳ）、ｍｉｎ＿ｄｉｓｔａｎｃｅの値と閾値Ｔ２の値を比較する（ステップＳ３１２）。この閾値Ｔ２は、新しいクラスタを定義するか、定義済みのクラスタに帰属させるかを判定するための値である。
【００４８】
ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２以下ならば（ステップＳ３１２でＹＥＳ）、処理対象画素をクラスタｎｎ＿ｃｌｕｓｔに帰属させ、代表特徴ベクトルと画素計数値を更新し（ステップＳ３１３）、ステップＳ３１５の処理へ進む。ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２よりも大きければ（ステップＳ３１２でＮＯ）、処理対象画素の特徴ベクトルを代表特徴ベクトルとする新しいクラスタを定義し（ステップＳ３１４）、ステップＳ３１５の処理に進む。ステップＳ３１５では、全ての画素の処理が終了したかを判定する。終了していれば（ステップＳ３１５でＹＥＳ）、クラスタリング処理部７０１の処理を終了する。そうでない場合は（ステップＳ３１５でＮＯ）、ステップＳ３０２の処理に戻り、後続する画素を処理対象画素とする。
【００４９】
次に、本実施形態の画像処理方法の効果を、実施形態１の画像処理方法と比較して説明する。実施形態１の画像処理方法では、最初に処理対象画素と、画素計数値の多い方から順にＮ個のクラスタとの比較を行う。そして、該比較処理で帰属先のクラスタが決定しなかったら、次に処理対象画素と全てのクラスタとの比較を行い、帰属先クラスタを決定する。そのため、最初の比較処理で帰属先のクラスタが決定しなかった画素については、Ｎ個のクラスタに対して距離計算を２回行っていた。
【００５０】
一方、本実施形態の画像処理方法では、画素計数値の多い方から順に全てのクラスタと処理対象画素との比較を行い、最も距離の近いクラスタを探索する。もし比較の途中で、処理対象画素とクラスタとの距離が閾値Ｔ１以下と判定されたら（ステップＳ３０９でＹＥＳ）、探索を打ち切り帰属先となるクラスタを決定する。そのため、二重に距離計算を行う事がなくなり、実施形態１の画像処理方法に比べ、更に距離計算回数を削減する事が出来る。
【００５１】
図１３は、図８（ａ）の画像に、本実施形態の画像処理方法を適用した際の、各画素の距離計算回数を示すものである。図１３より、画像全体の距離計算回数は、２９３回である。本発明の実施形態１の画像処理方法の説明で示したように、実施形態１の画像処理方法による距離計算回数は４０１回である為、距離計算回数を更に削減出来ている事がわかる。ゆえに、従来よりも高速にクラスタリングを行うことが可能になる。
【００５２】
＜実施形態４＞
実施形態４の画像処理方法と、それを用いたベクトルデータ変換装置について説明する。図７は、前記ベクトルデータ変換装置の構成を示したものであり、本発明の実施形態１で説明したものと同一である。輪郭抽出部７０２とベクトルデータ生成部７０３の処理は実施形態１で説明したベクトルデータ変換装置と同一である。クラスタリング処理部７０１は本実施形態の画像処理方法を適用して画像の領域分割を行う。以下、本実施形態のクラスタリング処理部７０１の動作を、図４に示すフローチャートを用いて詳細に説明する。
【００５３】
まず、ステップＳ４０１で、クラスタ数ｎｕｍ＿ｃｌｕｓｔｅｒを決定し、各クラスタの代表特徴ベクトルを設定し、画素計数値を０にする。本実施形態の画像処理方法ではｎｕｍ＿ｃｌｕｓｔｅｒ＝５とするが、本発明はこれに限定されるものではなく、ｎｕｍ＿ｃｌｕｓｔｅｒの値は１以上ならいくつでもよい。また、本実施形態の画像処理方法では、ＲＧＢ色空間を特徴空間としている。即ち、特徴ベクトルはＲＧＢ値で表される。
【００５４】
次に、クラスタリング処理の対象画素（以下、処理対象画素と記す）の特徴ベクトルＰｃを取得し（ステップＳ４０２）、ステップＳ４０３の処理に進む。ステップＳ４０３〜Ｓ４１０では、画素の計数値が多いクラスタから順に、クラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとの比較を行い、その最小距離を求める処理である。この処理は、実施形態３の画像処理方法（図３）のステップＳ３０４〜Ｓ３１１と同一であるため、説明を省略する。
【００５５】
ステップＳ４１１では、処理対象画素をクラスタｎｎ＿ｃｌｕｓｔに帰属させ、画素計数値を更新する。ステップＳ４１２では、全ての画素を処理したか判定する。
【００５６】
ステップＳ４１３〜４１４は、各クラスタの代表特徴ベクトルを更新し、その変化量に応じて、最初に処理した画素から処理をし直すか、クラスタリング処理部７０１を終了するかを決定する処理である。ステップＳ４１１〜Ｓ４１４は、本発明の実施形態２の画像処理方法（図２）のステップＳ２１７〜Ｓ２２０と同一であるため、詳細な説明を省略する。
【００５７】
次に、本実施形態の画像処理方法の効果を、実施形態２の画像処理方法と比較して説明する。本実施形態の画像処理方法では、実施形態３の画像処理方法と同様、二重に距離計算を行うクラスタが無いため、実施形態２の画像処理方法よりもさらに距離計算回数を減らす事が出来る。
【００５８】
図１４は、図８（ａ）の画像に、本実施形態の画像処理方法を適用した際の、各画素の距離計算回数を示すものである。図１４より、画像全体の距離計算回数は、２９８回になる。本発明の実施形態２の画像処理方法の説明で示したように、実施形態２の画像処理方法による距離計算回数は４６９回である。よって、距離計算回数を更に削減出来ている事がわかる。ゆえに、従来よりも高速にクラスタリングを行うことが可能になる。
【００５９】
＜実施形態５＞
実施形態５の画像処理方法と、それを用いたベクトルデータ変換装置について説明する。図７は、前記ベクトルデータ変換装置の構成を示したものであり、本発明の実施形態１で説明したものと同一である。輪郭抽出部７０２とベクトルデータ生成部７０３の処理は実施形態１で説明したベクトルデータ変換装置と同一である。本実施形態の画像処理方法を適用したクラスタリング処理部７０１へは、画像データが左上から１画素ずつラスタスキャン順で入力されるが、本発明はこれに限定されるものではない。例えば、図１５に示すようなブロック毎に、ラスタスキャン順で１画素ずつ入力してもよい。以下、本実施形態のクラスタリング処理部７０１の動作を、図５に示すフローチャートを用いて詳細に説明する。
【００６０】
まず、ステップＳ５０１で、処理した画素数を表す変数ｐｃｏｕｎｔを１に初期化する。次に、クラスタ数を表す変数ｎｕｍ＿ｃｌｕｓｔｅｒを０に初期化し（ステップＳ５０２）、ステップＳ５０３の処理に進む。
【００６１】
ステップＳ５０３〜Ｓ５２１は、１画素のクラスタリングを行う処理であり、実施形態１の画像処理方法（図１）のステップＳ１０２〜Ｓ１２０と同一であるため、説明は省略する。
【００６２】
ステップＳ５２２では、画素計数値を調整するか否かを判定する。ここでは処理した画素数ｐｃｏｕｎｔが一定の閾値Ｔｃｏｕｎｔ以上ならば（ステップＳ５２２でＹＥＳ）、ステップＳ５２３の処理に進む。そうでない場合は（ステップＳ５２２でＮＯ）、ｐｃｏｕｎｔに１を加算し（ステップＳ５２５）、ステップＳ５０３の処理に戻る。Ｔｃｏｕｎｔは、画素計数値を調整するか否かを、処理した画素数に応じて判定するための閾値である。例えば、図１５に例示するようなブロック毎に画素が入力されて、ブロック毎に画素計数値を調整する場合、各ブロック内の画素数（図１５の例では、上側の９ブロックについては１６、残りブロックについては２０）を閾値Ｔｃｏｕｎｔの値に設定する。
【００６３】
ステップＳ５２３では、全ての画素に対する処理が終了したかを判定する。終了していれば（ステップＳ５２３でＹＥＳ）、クラスタリング処理部７０１の処理を終了する。処理が終了していなければ（ステップＳ５２３でＮＯ）、ステップＳ５２４の処理に進む。
【００６４】
ステップＳ５２４では、処理した画素数ｐｃｏｕｎｔを１に更新し、また、各クラスタの画素計数値を調整する。本実施形態の画像処理方法では、各クラスタの画素計数値を調整していずれも０にしているが、本発明の画像処理方法はこれに限定されるものではない。例えば画素計数値を１／２や１／４にしてもよい。次に、ステップＳ５０３の処理に戻る。
【００６５】
本実施形態の画像処理方法は、画像の部分的な特徴の傾向が、位置に応じて異なる場合に特に有効である。例えば図１６（ａ）の画像は、画像の上部と下部で出現する色が全く異なる画像である。この図１６に、画素計数値を調整しない実施形態１の画像処理方法を適用すると、クラスタ１（１６０１）が常に先行比較される為、図１６（ｂ）より、距離計算回数は５８回となる。これに対して、この画像を、ブロック１６０２とブロック１６０３の二つのブロックに分け、各ブロックのクラスタリング処理毎に画素計数値を０にリセットすると（ステップＳ５２４）、ブロック１６０３においても先行比較で処理対象画素の帰属クラスタが決定される。その為、本実施形態の画像処理方法における距離計算回数は、図１６（ｃ）より、３０回となり、回数を大幅に削減出来ている事がわかる。ゆえに、従来よりも高速にクラスタリングを行うことが可能になる。
【００６６】
このように、一定の画素数を持つ画像ブロックのクラスタリング処理が終了する毎に、全クラスタの画素計数値をリセットして同一値にする。そのために、類似した特徴を持つ画素が局所的に集中しているような画像データに対しては、先行比較によりクラスタへの分類が完了する画素の数が多くなり、クラスタリング処理を迅速に行うことができる。
【００６７】
＜実施形態６＞
実施形態６の画像処理方法と、それを用いたベクトルデータ変換装置について説明する。図７は、前記ベクトルデータ変換装置の構成を示したものであり、本発明の実施形態１で説明したものと同一である。輪郭抽出部７０２とベクトルデータ生成部７０３の処理は実施形態１で説明したベクトルデータ変換装置と同一である。クラスタリング処理部７０１は本実施形態の画像処理方法を適用して画像の領域分割を行う。以下、本実施形態のクラスタリング処理部７０１の動作を、図６に示すフローチャートを用いて詳細に説明する。
【００６８】
まず、クラスタ数を表す変数ｎｕｍ＿ｃｌｕｓｔｅｒと、連続して全探索を行った画素数を表す変数ｕｎｈｉｔ＿ｃｏｕｎｔを０に初期化する（ステップＳ６０１）。連続して全探索を行った画素数とは、連続して先行比較に失敗した画素数と言い換えることもできる。次に、処理対象画素の特徴ベクトルＰｃを取得する（ステップＳ６０２）。本実施形態の画像処理方法では、画素のＲＧＢ値を特徴ベクトルとする。
【００６９】
次に、既にクラスタが定義されているか否かを判定する（ステップＳ６０３）。定義済みのクラスタ数が０ならば（ステップＳ６０３でＹＥＳ）、後述するステップＳ６２２の処理へ進む。既にクラスタが定義されていれば（ステップＳ６０３でＮＯ）、属する画素数が多いクラスタから順に、最大Ｎ個のクラスタの代表特徴ベクトルと、処理対象画素の特徴ベクトルとの比較を行う（ステップＳ６０４〜Ｓ６１２）。なお、本実施形態の画像処理方法におけるＮの値は１とする。また、クラスタの代表特徴ベクトルには、そのクラスタに属する画素の特徴ベクトルの平均値を用いる。
【００７０】
ステップＳ６０４〜Ｓ６１２について詳細に説明する。まずループインデクスｊを１に初期化する（ステップＳ６０４）。次に、画素計数値がｊ番目に多いクラスタＣｘの代表特徴ベクトルＰｘを取得する（ステップＳ６０５）。次に、ＰｃとＰｘの距離Ｄ（Ｐｃ，Ｐｘ）を算出する（ステップＳ６０６）。本実施形態の画像処理方法では、ユークリッド距離を算出する。次に、Ｄ（Ｐｃ，Ｐｘ）と閾値Ｔ１を比較する（ステップＳ６０７）。Ｄ（Ｐｃ，Ｐｘ）がＴ１以下ならば（ステップＳ６０７でＹＥＳ）、ｕｎｈｉｔ＿ｃｏｕｎｔを０に更新する（ステップＳ６１０）。次に、処理対象画素の帰属先となるクラスタの番号を表す変数ｎｎ＿ｃｌｕｓｔの値をクラスタ番号ｘに更新し（ステップＳ６１１）、後述するステップＳ６２１の処理に進む。Ｔ１よりもＤ（Ｐｃ，Ｐｘ）の値が大きい場合（ステップＳ６０７でＮＯ）、Ｎ個のクラスタとの比較が終了したか否かを判定する（ステップＳ６０８）。終了していなければ（ステップＳ６０８でＮＯ）、ループインデクスｊを更新して（ステップＳ６０９）、ステップＳ６０５の処理に戻る。Ｎ個のクラスタの中に、処理対象画素との距離Ｄ（Ｐｃ，Ｐｘ）の値がＴ１以下のものがなければ（ステップＳ６０８でＹＥＳ）、連続して先行比較に失敗した画素数ｕｎｈｉｔ＿ｃｏｕｎｔに１を加算し（ステップＳ６１２）、ステップＳ６１３の処理に進む。
【００７１】
ステップＳ６１３〜Ｓ６１９では、全探索が行われる。これらの処理は、本発明の実施形態１の画像処理方法（図１）のステップＳ１０４〜Ｓ１１１と同一であるため、説明を省略する。
【００７２】
ステップＳ６２０では、ｍｉｎ＿ｄｉｓｔａｎｃｅの値と閾値Ｔ２の値を比較する。この閾値Ｔ２は、新しいクラスタを定義するか、定義済みのクラスタに帰属させるかを判定するための値である。
【００７３】
ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２以下ならば（ステップＳ６２０でＹＥＳ）、処理対象画素を、最も距離の近い代表特徴ベクトルを持つクラスタｎｎ＿ｃｌｕｓｔに帰属させ、代表特徴ベクトルと画素計数値を更新する（ステップＳ６２１）。次に、ステップＳ６２３の処理へ進む。ｍｉｎ＿ｄｉｓｔａｎｃｅがＴ２よりも大きければ（ステップＳ６２１でＮＯ）、処理対象画素の特徴ベクトルを代表特徴ベクトルとする新しいクラスタを定義し（ステップＳ６２２）、ステップＳ６２３の処理に進む。ステップＳ６２３では、全ての画素に対する処理が終了したかを判定する。終了していれば（ステップＳ６２３でＹＥＳ）、クラスタリング処理部７０１の処理を終了する。そうでない場合は（ステップＳ６２３でＮＯ）、ｕｎｈｉｔ＿ｃｏｕｎｔが閾値Ｔ３以上か否か判定する（ステップＳ６２４）。閾値Ｔ３は、画素計数値の調整を行うか否かを判定するための値である。ｕｎｈｉｔ＿ｃｏｕｎｔがＴ３以上ならば（ステップＳ６２４でＹＥＳ）、ステップＳ６２５の処理に進む。ｕｎｈｉｔ＿ｃｏｕｎｔがＴ３よりも小さければ、ステップＳ６０２の処理に戻り、後続する画素を処理対象画素とする。
【００７４】
ステップＳ６２５では、連続して先行比較に失敗した画素数ｕｎｈｉｔ＿ｃｏｕｎｔを０に更新し、また、画クラスタの画素計数値を調整する。本実施形態においては、全クラスタの画素計数値を調整して０にするが、本実施形態の画像処理方法はこれに限定されるものではない。例えば、画素計数値を１／２、１／４に調整してもよい。次に、ステップＳ６０２の処理に戻り、後続の画素を処理する。
【００７５】
図１７は、図１６（ａ）の画像に、本実施形態の画像処理方法を適用した際の、各画素の距離計算回数を示すものである。なお、閾値Ｔ３の値は３に設定してある。図１７より、本実施形態の画像処理方法において、画像全体で行われる距離計算回数は３４回である。一方、本発案の実施形態５の画像処理方法の説明で示したように、実施形態１の画像処理方法において、図１６（ａ）の画像に対する距離計算回数は５８回である。よって、本実施形態の画像処理方法では、距離計算回数を削減出来る事がわかる。ゆえに、従来より  このように、先行比較によってクラスタへの分類ができない画素が一定数連続した場合、全クラスタの画素計数値をリセットして同一値にする。そのために、類似した特徴を持つ画素が局所的に集中しているような画像データに対しては、先行比較によりクラスタへの分類が完了する画素の数が多くなり、クラスタリング処理を迅速に行うことができる。また実施形態５ではブロックのサイズを所定数に決めていたが、本実施形態では先行比較の失敗の回数が一定数に達したことで、画像の特徴が変化したと判断している。このため、共通する特徴を有する画素のブロックが不定型であっても、先行比較によりクラスタへ分類される画素数が増え、高速にクラスタリングを行うことが可能になる。
【００７６】
＜その他の実施形態＞
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００７８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００７９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【符号の説明】
【００８０】
７０１  クラスタリング処理部
７０２  輪郭抽出部
７０３  ベクトルデータ生成部
【図１Ａ】
2010186272.tif 000003
【図１Ｂ】
2010186272.tif 000004
【図２Ａ】
2010186272.tif 000005
【図２Ｂ】
2010186272.tif 000006
【図３】
2010186272.tif 000007
【図４】
2010186272.tif 000008
【図５Ａ】
2010186272.tif 000009
【図５Ｂ】
2010186272.tif 000010
【図６Ａ】
2010186272.tif 000011
【図６Ｂ】
2010186272.tif 000012
【図７】
2010186272.tif 000013
【図８】
2010186272.tif 000014
【図９】
2010186272.tif 000015
【図１０】
2010186272.tif 000016
【図１１】
2010186272.tif 000017
【図１２】
2010186272.tif 000018
【図１３】
2010186272.tif 000019
【図１４】
2010186272.tif 000020
【図１５】
2010186272.tif 000021
【図１６】
2010186272.tif 000022
【図１７】
2010186272.tif 000023