(57)【特許請求の範囲】
【請求項１】
色差に基づいて入力画像を複数の色領域に分割する分割手段と、
前記分割された色領域間の境界での上下左右の方向における色勾配を、前記入力画像の色情報から算出する色勾配算出手段と、
前記算出された色勾配を用いて、前記入力画像に含まれるグラデーションの属性が複数のグラデーション属性のうちのいずれに該当するか判定する属性判定手段と、
前記属性判定手段にて該当すると判定されたグラデーション属性に基づき、当該入力画像をベクトル化対象とするか否かを判定するベクトル化対象判定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数のグラデーション属性には、境界における色勾配が全ての方向に一定である放射グラデーション属性が含まれることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のグラデーション属性には、
該境界における色勾配の強度が予め定められた閾値よりも大きいエッジ属性、
該境界における色勾配が一の方向もしくは相対しない二の方向に一定である線形グラデーション属性
のいずれかが含まれることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記複数のグラデーション属性には、該境界が前記エッジ属性と前記線形グラデーション属性と前記放射グラデーション属性のいずれにも属さない複雑グラデーション属性が含まれることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記グラデーション属性を用いて、前記複数の色領域の中から同じグラデーションに属する色領域を判定してグラデーションクラスタを生成し、当該グラデーションクラスタに属する色領域と当該グラデーションクラスタに属する色領域間の境界と当該グラデーションクラスタのグラデーションの種別とに関する情報を含むグラデーションクラスタ情報を生成するグラデーションクラスタ情報生成手段を更に備え、
前記ベクトル化対象判定手段は、前記グラデーションクラスタ情報と前記グラデーション属性とに基づき、当該入力画像をベクトル化対象とするか否かを判定することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記ベクトル化対象判定手段は、前記グラデーション属性が前記エッジ属性以外の属性で且つ前記グラデーションクラスタ情報に含まれていない境界の長さの総和が、所定の閾値よりも小さい場合は前記入力画像をベクトル化対象と判定し、前記所定の閾値以上である場合は前記入力画像をベクトル化対象外と判定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記ベクトル化対象判定手段は、前記複雑グラデーション属性であると判定された境界の長さの総和が、所定の閾値よりも小さい場合は前記入力画像をベクトル化対象と判定し、前記所定の閾値以上である場合は前記入力画像をベクトル化対象外と判定することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記ベクトル化対象判定手段は、前記複雑グラデーション属性であると判定された境界の数が、所定の閾値よりも小さい場合は前記入力画像をベクトル化対象と判定し、前記所定の閾値以上である場合は前記入力画像をベクトル化対象外と判定することを特徴とする請求項４に記載の画像処理装置。
【請求項９】
分割手段が、色差に基づいて入力画像を複数の色領域に分割する分割工程と、
色勾配算出手段が、前記分割された色領域間の境界での上下左右の方向における色勾配を、前記入力画像の色情報から算出する色勾配算出工程と、
属性判定手段が、前記算出された色勾配を用いて、前記入力画像に含まれるグラデーションの属性が複数のグラデーション属性のうちのいずれに該当するか判定する属性判定工程と、
ベクトル化対象判定手段が、前記属性判定工程にて該当すると判定されたグラデーション属性に基づき、当該入力画像をベクトル化対象とするか否かを判定するベクトル化対象判定工程と
を有することを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理技術に関し、特に入力されたグラデーションを含む画像がベクトル化対象か否かの判定を行う画像処理技術に関する。
【背景技術】
【０００２】
近年、一つの画像情報を異なる機器で用いる機会が増えてきている。このため機器間の送信コストを低減するための高圧縮性や、機器間の解像度の違いに対応するための高画質性も要求されている。またユーザの利便性に関しても、部分的に画像を再編集できる編集性といった面も要求されている。これによりラスタ形式で表現された画像を、解像度に依存せず再編集も容易なベクタ形式へ変換する、ベクトル化技術が必要となってきている。
【０００３】
イラストやクリップアートのように色の違いがはっきりしている画像のベクトル化技術が特許文献１で開示されている。この手法では画像を入力し、色の類似度を使って入力画像の色数を減色する。そして次に得られた各色領域に対し輪郭線を抽出した後に関数近似を行い、色情報を加えてベクトルデータを出力する。
【０００４】
また線形グラデーションや放射グラデーションを含むような画像に対するベクトル化技術が特許文献２で開示されている。この手法では画像中の各画素間の色勾配を算出し、その結果を用いてグラデーション領域を判別し、得られたグラデーション領域に対しほぼ同じ色の画素を有するパスを生成する。このパスにほぼ垂直な垂線を定義し、この垂線上に代表色値を計算し、ベクトル化を行うものである。
【０００５】
しかし上記のような技術をもっても、写真等の複雑な色変化を伴う画像を入力しベクトル化した場合、画質の劣化や圧縮率の低下、処理時間の低下等を招いてしまう。そこで入力された画像をベクトル化対象とするか否かを判定する技術が特許文献３で開示されている。この手法では入力画像において色量子化によるクラスタリングを行い、得られたクラスタの数や、そのクラスタ内領域の色の分散の大きさを用いてベクトル化対象判定を行う。しかし、この手法では色の分散の大きさを用いてベクトル化対象か否かを判定するため、特許文献２で開示されているような技術でベクトル化可能なグラデーション領域のみで構成された画像であっても写真領域と判定されてしまう。
【０００６】
ベクトル化対象か否かを判定する別の手法として、特許文献４が挙げられる。この手法では、入力画像において色量子化によるクラスタリングを行い、得られたクラスタマップにおいて連結領域を得るラベリングを行い、得られたラベルの数や、ラベル内の画素数を用いてベクトル化対象判定を行う。しかし、この手法では微小領域が多数発生するような画像を判別する事は出来るが、グラデーションを含む画像が入力された場合にベクトル化対象か否かを判定することはできない。
【０００７】
したがって、画像中のグラデーション領域がベクトル化対象か否かを判定する技術はこれまでなかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３４４０６９号公報
【特許文献２】特開２００７−２７２４５６号公報
【特許文献３】特開２００７−１５８７２５号公報
【特許文献４】特開２０１０−１４６２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上記課題を鑑みてなされたものであり、グラデーションを含む入力画像がベクトル化対象か否かの判定を行う。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る画像処理装置は以下の構成を備える。すなわち、画像処理装置であって、色差に基づいて入力画像を複数の色領域に分割する分割手段と、前記分割された色領域間の境界での上下左右の方向における色勾配を、前記入力画像の色情報から算出する色勾配算出手段と、前記算出された色勾配を用いて、前記入力画像に含まれるグラデーションの属性が複数のグラデーション属性のうちのいずれに該当するか判定する属性判定手段と、前記属性判定手段にて該当すると判定されたグラデーション属性に基づき、当該入力画像をベクトル化対象とするか否かを判定するベクトル化対象判定手段とを備える。
【発明の効果】
【００１１】
本発明によれば、グラデーションを含む入力画像がベクトル化対象か否かの判定（すなわち、ベクトル化に適した画像か否かの判定）を行えるようになる。
【図面の簡単な説明】
【００１２】
【図１】画像処理装置のメイン処理を示すフローチャート。
【図２】画像処理装置のブロック構成図。
【図３】第一実施形態に係る境界色勾配情報の例を示す図。
【図４】第一実施形態に係る境界色勾配情報算出フローを示す図。
【図５】第一実施形態に係るラスタスキャンを行う際の着目画素と比較画素を示す図。
【図６】第一実施形態に係る色勾配を算出する窓関数を示す図。
【図７】第一実施形態に係る属性判定処理フローを示す図。
【図８】第一実施形態に係る放射グラデーションの入力例とその色領域識別結果を示す図。
【図９】第一実施形態に係る線形グラデーションの入力例とその色領域識別結果を示す図。
【図１０】第一実施形態に係る複雑グラデーションの入力例とその色領域識別結果を示す図。
【図１１】第一実施形態に係るグラデーションクラスタ情報生成処理フローを示す図。
【図１２】第一実施形態に係るグラデーションクラスタ情報生成処理の具体例を示す図。
【図１３】第一実施形態に係る図１２の境界色勾配情報及び境界属性を示す図。
【図１４】第一実施形態に係る図１２のグラデーションクラスタ情報を示す図。
【図１５】第一実施形態に係る線形グラデーションパラメータ生成の概念図。
【図１６】第一実施形態に係る線形グラデーションパラメータの具体例を示す図。
【図１７】第一実施形態に係る放射グラデーションパラメータ生成の概念図。
【図１８】第一実施形態に係る放射グラデーションパラメータの具体例を示す図。
【図１９】第一実施形態に係る色領域統合処理後の新しい色領域識別結果の具体例を示す図。
【図２０】第一実施形態に係るベクトル化対象判定処理フローを示す図。
【図２１】第一実施形態に係る残疑似輪郭が発生する具体例を示す図。
【図２２】第一実施形態に係る図２１の境界色勾配情報及び境界属性を示す図。
【図２３】第一実施形態に係る図２１のグラデーションクラスタ情報を示す図。
【図２４】第二実施形態に係るメイン処理を示すフローチャート。
【図２５】第三実施形態に係るベクトル化対象判定処理フローを示す図。
【発明を実施するための形態】
【００１３】
＜第一実施形態＞
以下、添付の図面を参照して本発明に係る実施形態を説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１４】
［機器構成］
本実施形態の画像処理装置の構成例について、図２のブロック図を参照して説明する。図２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７は、装置全体を制御する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６は、変更を必要としないプログラムやパラメータを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５は、外部装置等から供給されるプログラムやデータを一時記憶する。スキャナ１は、文書等を光電走査して電子的な画像データを得て入力データとし、画像入出力Ｉ／Ｏ３はこのスキャナ１と画像処理装置を接続する。画像メモリ２は、スキャナ１で読み取られた画像データ等を保持する。外部記憶装置１２は、固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク（ＦＤ）やＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含む。また、Ｉ／Ｏ１３は、これら外部記憶装置１２とコンピュータ装置との入出力インタフェース。Ｉ／Ｏ１５は、ユーザの操作を受け、データを入力するマウス等のポインティングデバイス１０やキーボード９等の入力デバイスとの入出力インタフェースである。映像Ｉ／Ｏ１４は、画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ８との入出力インタフェースである。通信Ｉ／Ｆ４は、インターネット等のネットワーク回線に接続するためのインタフェースである。システムバス１１は、画像処理装置内の各ユニットを通信可能に接続する。
【００１５】
［処理フロー］
以下、ＣＰＵ７上で実行されるプログラムにより本願発明を実現する処理手順を、図１のフローチャートを用いて説明する。
【００１６】
図１のフローチャートにおいて、Ｓ１００で処理を開始すると、処理対象となる画像領域を含む画像データを入力する。画像入力に関しては、図２のスキャナ１にて読み取られた画像データを画像入出力Ｉ／Ｏ３を介して画像メモリ２に入力する。また、通信Ｉ／Ｆ４を介して、装置外部より処理対象となる画像領域を含む画像を入力してもよく、あるいは、外部記憶装置１２に予め記憶される画像データをＩ／Ｏ１３を介して読み込んでもよい。得られた入力画像は、画像メモリ２上に保持される。
【００１７】
［色領域識別処理］
次に読み取った画像データに対してＳ２００で色領域識別処理を行う。スキャナなどの入力手段を用いた場合、入力画像にノイズが重畳され、代表色の特定が難しいことが起こりうる。この場合、減色処理を行い、色差が小さい画素をまとめて同じ色情報を有するようにすることで、同色領域として、複数の色領域に分割することができる。まず、Ｓ２０１では入力画像に対して減色処理を施すことで、上記問題を解消することができる。例えば特許文献１で開示されている手法では、入力画像中の画素から色情報を元にクラスタを構成し、類似するクラスタやノイズと思われるクラスタを統合することでスキャンノイズを除去するものがある。これを適用することで、スキャン画像入力等で生じるノイズ除去することができる。なお、ノイズ除去の方法については、他の手法を用いても構わない。
【００１８】
次にＳ２０２でラベリング処理を行うことにより色領域を抽出する。ラベリング処理は連結する同じ値を有する画素集合に同一の番号（識別情報）を付与する処理であり、各色領域の情報（面積、形状）を取得するための前処理としてよく用いられる。ここでは色領域を後処理で識別できるようにするための識別番号、即ちラベルを付与する。以上、Ｓ２０１とＳ２０２とにより、図１における色領域識別処理（Ｓ２００）を実現している。
【００１９】
［境界色勾配情報算出処理］
次にＳ３００ではＳ２００における色領域識別結果を基に、境界色勾配情報算出処理を行う。ここでは図３に示すように境界の情報と色勾配の情報を、各色領域の境界ごとに得る。今後、図３に示した情報を「境界色勾配情報」と呼称し説明する。また境界色勾配情報は図３に示したように、境界番号、境界を挟むラベルＡとラベルＢ（すなわち当該境界を挟む２つの色領域の情報）、境界長、上下左右の各方向色勾配強度、平均色勾配の情報を含む。
【００２０】
Ｓ３００の詳細なフローを、図４を用いて説明する。尚、ラスタスキャンを説明する際の言葉の定義として、図５に示すように着目画素をＰｔ、横方向の比較画素をＰｒ１、縦方向の比較画素をＰｒ２と呼称することとする。
【００２１】
まずＳ３０１ではＣＰＵ７は、Ｐｔをラスタスキャンの始点Ｐｓｔａｒｔに設定する。ここではＰｓｔａｒｔを入力画像に含まれる画素のうち、最も左上に位置する画素とする。次にＳ３０２ではＣＰＵ７は、ＰｔのラベルとＰｒ１のラベルとが同一か否かを判定する。同一ではない場合は（Ｓ３０２にてＹＥＳ）Ｓ３０３に移り、同一の場合は（Ｓ３０２にてＮＯ）Ｓ３０５に移る。
【００２２】
次にＳ３０３ではＣＰＵ７は、窓関数を用いて横方向の色勾配を算出する。この時、色勾配を算出するための色値は保持された入力画像から取得される。ここでは、図６（ａ）の窓関数を用いてＲＧＢ値におけるＲ値、Ｇ値、Ｂ値それぞれに対する値ｄｒ、ｄｇ、ｄｂの算出を行い、求めた値の中で絶対値が最大となる値を色勾配ｄｃとする。例えば図６（ａ）の各画素位置の（Ｒ，Ｇ，Ｂ）をそれぞれ以下の値とする。
Ｐｃ１：（３０，２０，１０）
Ｐｔ：（４０，１５，８）
Ｐｃ２：（８０，１０，６）
Ｐｃ３：（９０，５，４）
【００２３】
この時の図６（ａ）の窓関数により、値ｄｒ、ｄｇ、ｄｂは下記に示すようになる。
ｄｒ＝（−２×３０）＋（−１×４０）＋（１×８０）＋（２×９０）＝１６０
ｄｇ＝（−２×２０）＋（−１×１５）＋（１×１０）＋（２×５）＝−３５
ｄｂ＝（−２×１０）＋（−１×８）＋（１×６）＋（２×４）＝−１４
【００２４】
よってこの場合は、ｄｒの絶対値が最大となるため、色勾配ｄｃは“１６０”となる。またこの時、色勾配ｄｃが正である場合は左方向の色勾配、負である場合は右方向の色勾配であると定義する。もちろん、逆に定義しても構わない。尚、色勾配算出に用いる色値は、ＲＧＢやＹＣＣ等どの色空間のものでも良い。また色勾配を演算する色のコンポーネント数は例示したように一つに限定しても良いし、全てのコンポーネントを用いて算出しても良い。また、他の窓関数や、別の算出式を用いても構わない。以上の処理を終えた後、Ｓ３０４に移る。
【００２５】
Ｓ３０４ではＣＰＵ７は、境界色勾配情報を更新する。まずＣＰＵ７は、参照中の境界をなす２つのラベルの組み合わせを、既存の境界色勾配情報（図３）に登録されている各境界に対するラベルの組み合わせと比較し、既に登録済みか否かを判定する。登録済みであった場合、ＣＰＵ７は、該当する境界色勾配情報の境界長を１加算する。このとき、前ステップで得た色勾配ｄｃをその方向に応じた項目に足し合わせる。前述の例の場合、色勾配ｄｃは１６０であり、符号は正であるため左方向色勾配の項目に足し合わせる。未登録であった場合は、ＣＰＵ７は、新しい境界色勾配情報を生成する。具体的にはＣＰＵ７は、参照中の境界をなす２つのラベルを境界色勾配情報のラベルＡ、ラベルＢの項目に書き込む。そして、ＣＰＵ７は、境界長に１を、色勾配ｄｃをその方向に応じた項目にセットし、その他の値を全て０で初期化する。以上の処理を終えた後、Ｓ３０５に移る。
【００２６】
次にＳ３０５では、ＣＰＵ７は、ＰｔのラベルとＰｒ２のラベルとが同一か否かを判定する。同一ではない場合は（Ｓ３０５にてＹＥＳ）Ｓ３０６に、同一の場合は（Ｓ３０５にてＮＯ）Ｓ３０８に移る。
【００２７】
Ｓ３０６では、ＣＰＵ７は、窓関数を用いて縦方向の色勾配を算出する。例えば図６（ｂ）に示すような窓関数を用いて算出する。この時、色勾配を算出するための色値はＳ３０３と同様に保持された入力画像から得る。色勾配の算出は、縦方向の窓関数を用いてＳ３０３と同様の手順で行う。この時、色勾配ｄｃが正である場合は上方向の色勾配、負である場合は下方向の色勾配であると定義する。もちろん、逆に定義しても構わない。以上の処理を終えた後、Ｓ３０７に移る。
【００２８】
Ｓ３０７では、ＣＰＵ７は、境界色勾配情報を更新する。更新する手順はＳ３０４と同様である。以上の処理を終えた後、Ｓ３０８に移る。
【００２９】
Ｓ３０８では、ＣＰＵ７は、Ｐｔがラスタスキャンの終点Ｐｅｎｄに至ったか否かを判定する。ここではＰｅｎｄを入力画像に含まれる画素のうち、最も右下に位置する画素とする。ＰｔがＰｅｎｄと同位置となった場合は（Ｓ３０８にてＹＥＳ）Ｓ３０８に移り、同位置ではない場合は（Ｓ３０８にてＮＯ）Ｓ３０９へ移る。
【００３０】
Ｓ３０９では、ＣＰＵ７は、着目画素を変更するため、Ｐｔを一つずらし、Ｓ３０２に戻る。
【００３１】
Ｓ３１０では、ＣＰＵ７は、得られた境界色勾配情報を用いて、それぞれの平均色勾配を算出する。具体的には、ＣＰＵ７は、境界色勾配情報における平均色勾配の項目に、上方向色勾配、下方向色勾配、右方向色勾配、左方向色勾配の値を全て足し合わせ、境界長で割った値を代入する。図３に示す境界ｎの場合、平均色勾配は、（１２００＋０＋０＋０）／６＝２００となる。これにより、図３に示した各値が境界の数だけ抽出できることになる。以上、Ｓ３０１からＳ３１０は図１における境界色勾配情報算出処理（Ｓ３００）を実現している。
【００３２】
尚、ここでは簡略化のため割愛したが、Ｐｔが画像右端に至ったためＰｒ１が得られない場合や、Ｐｔが画像下端に至ったためＰｒ２が得られない場合は比較を行わず次の処理へ遷移する。また同様にＰｔが画像端に至ったため窓関数分の画素値が得られない場合は窓関数の形状を変更してもよいし、算出を行わなくてもよい。
【００３３】
［境界属性判定処理］
次にＳ４００では境界色勾配情報を用いて境界属性の判定を行い、その属性の付記を行う。すなわち、当該判定した各境界の属性を、境界色勾配情報の各境界と関連付けて保存する。Ｓ４００の詳細なフローを、図７を用いて説明する。
【００３４】
まずＳ４０１では、ＣＰＵ７は、境界色勾配情報を用いて、参照中の境界がエッジ境界か擬似輪郭境界かを判別する。ここでは前ステップまでで得た境界色勾配情報における平均色勾配が予め定められた閾値Ｔ１よりも大きい場合、エッジ境界であると判定する。閾値Ｔ１の一例としてはＴ１＝２０、等がある。この閾値Ｔ１は、経験的に求めてもよいし、任意の算出式により求めても構わない。平均色勾配が閾値Ｔ１以下であった場合、擬似輪郭境界と判定する。エッジ境界であると判定した場合（Ｓ４０１にてＹＥＳ）、Ｓ４０２へ進み、擬似輪郭境界であると判定した場合（Ｓ４０１にてＮＯ）、Ｓ４０７へ進む。なお、ここでの「擬似輪郭境界」とは、画像中のグラデーション内に形成される輪郭であり、処理上、グラデーションの領域を分割するために用いられる。
【００３５】
ＣＰＵ７は、Ｓ４０２とＳ４０３でグラデーションの属性判定を行う。ここでは参照中の擬似輪郭境界が、下記に示すいずれのグラデーション領域に属するものかを境界色勾配情報の特性を用いて、放射グラデーション、線形グラデーション、複雑グラデーションのいずれであるかを判定する。ここで、「放射グラデーション」とは、図８の（ａ）のようにある点を中心として色が同心円状に移り変わっていくグラデーションを指す。また「線形グラデーション」とは、図９の（ａ）や（ｃ）のように色が一定の方向に移り変わっていくグラデーションを指す。また「複雑グラデーション」とは、図１０（ａ）のように放射グラデーションや線形グラデーションに属さないグラデーションを指す。
【００３６】
まずＳ４０２では、ＣＰＵ７は、参照中の擬似輪郭境界が放射グラデーションに属するか否かを判別する。図８（ａ）に示すような放射グラデーションに対し色領域識別処理（Ｓ２００）をした場合、図８（ｂ）に示すような色領域識別結果が得られる。このような色領域識別結果に基づいて境界色勾配情報算出処理（Ｓ３００）を実行することにより各境界の色勾配を算出すると、図８（ｂ）に示したように、境界ごとに算出される上下左右全ての勾配方向に対し色勾配がほぼ均一の値をとる。これは放射グラデーションの色勾配が同心円状に、つまり全ての勾配方向に一定の値を取るためである。この特性を利用し、Ｓ４０２において、ＣＰＵ７は、参照中の擬似輪郭境界の境界色勾配情報が下記の条件全てを満たした場合、放射グラデーション属性と判定する。
条件１：上方向色勾配×閾値Ｔ２＞下方向色勾配
条件２：下方向色勾配×閾値Ｔ２＞上方向色勾配
条件３：右方向色勾配×閾値Ｔ２＞左方向色勾配
条件４：左方向色勾配×閾値Ｔ２＞右方向色勾配
条件５：上方向色勾配×閾値Ｔ２＞右方向色勾配
条件６：右方向色勾配×閾値Ｔ２＞上方向色勾配
【００３７】
上記６つの条件を満たした場合、擬似輪郭境界の上下左右全ての勾配方向に対し色勾配がほぼ均一であるとみなし、放射グラデーション属性とする。閾値Ｔ２の一例としてはＴ２＝２、等がある。この閾値Ｔ２は、経験的に求めてもよいし、任意の算出式により求めても構わない。放射グラデーションと判定された場合（Ｓ４０２にてＹＥＳ）、Ｓ４０４に移る。放射グラデーションではないと判定された場合（Ｓ４０２にてＮＯ）、Ｓ４０３に移る。
【００３８】
Ｓ４０３では、ＣＰＵ７は、参照中の擬似輪郭境界が線形グラデーション属性によるものか否かを判別する。図９（ａ）または図９（ｃ）に示すように線形グラデーションを入力した場合、図９（ｂ）または図９（ｄ）に示すような色領域識別結果が得られる。このような色領域識別結果に基づいて境界色勾配情報算出処理を実行することにより各境界の色勾配を算出すると、図９（ｂ）に示したように上下左右の色勾配の内一つの勾配方向、もしくは、図９（ｄ）のように相対しない二つの勾配方向が、大きな値を取る。これは線形グラデーションの色勾配が一定の勾配方向を取るためである。この特性を利用し、Ｓ４０３において、ＣＰＵ７は参照中の擬似輪郭境界の境界色勾配情報が下記の条件７（７．１〜７．３）か、条件８（８．１〜８．５）のいずれかを満たした場合、線形グラデーション属性と判定する。尚、上下左右の色勾配において、値が大きい順番にＧ１、Ｇ２、Ｇ３、Ｇ４とする。
【００３９】
（条件７）
条件７．１：Ｇ１＞閾値Ｔ３×Ｇ２
条件７．２：Ｇ１＞閾値Ｔ３×Ｇ３
条件７．３：Ｇ１＞閾値Ｔ３×Ｇ４
【００４０】
（条件８）
条件８．１：Ｇ１＞閾値Ｔ４×Ｇ３
条件８．２：Ｇ１＞閾値Ｔ４×Ｇ４
条件８．３：Ｇ２＞閾値Ｔ４×Ｇ３
条件８．４：Ｇ２＞閾値Ｔ４×Ｇ４
条件８．５：Ｇ１の方向とＧ２の方向が相対でない。
【００４１】
閾値Ｔ３、Ｔ４の例としてはＴ３＝３、Ｔ４＝２、等がある。この閾値Ｔ３およびＴ４は、経験的に求めてもよいし、任意の算出式により求めても構わない。上記条件７もしくは条件８のいずれかを満たし線形グラデーションと判定された場合（Ｓ４０３にてＹＥＳ）、Ｓ４０５に移る。線形グラデーションではないと判定された場合（Ｓ４０３にてＮＯ）、Ｓ４０６に移る。
【００４２】
次にＳ４０４、Ｓ４０５、Ｓ４０６、Ｓ４０７ではそれぞれ判定した属性が境界毎に境界属性情報へ付記される。つまり、Ｓ４０４では、ＣＰＵ７は、当該判定対象の境界に対して放射グラデーション属性を付記する。Ｓ４０５では、ＣＰＵ７は、当該判定対象の境界に対して線形グラデーション属性を付記する。Ｓ４０６では、ＣＰＵ７は、当該判定対象の境界に対して複雑グラデーション属性を付記する。Ｓ４０７では、ＣＰＵ７は、当該判定対象の境界に対してエッジ属性を付記する。Ｓ４０４、Ｓ４０５、Ｓ４０６、Ｓ４０７いずれかの処理が終了した後、本処理フローを終了する。以上、Ｓ４０１からＳ４０７の処理は、図１における境界属性判定処理（Ｓ４００）を実現している。
【００４３】
［グラデーションクラスタ情報生成処理］
次にＳ５００では、同種（同属性）のグラデーションで表現されているグラデーション領域を同定し、グラデーション領域に対応するクラスタ情報を生成するためのグラデーションクラスタ情報生成処理を行う。本実施形態において、グラデーションクラスタ情報は、グラデーション領域内の色領域を指すラベルのリスト、グラデーション領域内の境界のリスト、対応するグラデーション領域の種別を含む。Ｓ５００の詳細を、図１１の処理フローと、図１２（ａ）が入力画像として入力された場合の具体例とを用いて説明する。
【００４４】
図１２（ａ）が入力された場合、色領域識別処理（Ｓ２００）により、図１２（ｂ）に示す色領域識別結果が得られる。この結果に対し、境界色勾配情報算出処理（Ｓ３００）、境界属性判定処理（Ｓ４００）を行うと図１３に示すような情報が得られる。以下、入力された情報において、着目する境界をＢｔとして記載する。
【００４５】
Ｓ５０１では、ＣＰＵ７は、参照中の境界Ｂｔが未処理かどうかを判定する。この処理は後の処理であるグラデーションクラスタ情報生成の際に優先して処理される境界があるため、処理された境界を再度処理しないようにするために必要となる。未処理であると判定された場合は（Ｓ５０１にてＹＥＳ）、Ｓ５０２に移り、処理済みであると判定された場合は（Ｓ５０１にてＮＯ）、Ｓ５０６に移る。
【００４６】
Ｓ５０２では、ＣＰＵ７は、参照中の境界Ｂｔを成している二つのラベル領域が未処理かどうかを判定する。この処理もＳ５０１と同様に、後の処理であるグラデーションクラスタ情報生成の際に優先して処理される境界があり、処理された境界をなす二つのラベルを再度処理しないようにするために必要となる。境界Ｂｔをなすラベル（すなわち境界Ｂｔを挟む２つのラベル領域）が未処理であると判定された場合は（Ｓ５０２にてＹＥＳ）Ｓ５０３に移り、処理済みであると判定された場合は（Ｓ５０２にてＮＯ）Ｓ５０６に移る。
【００４７】
Ｓ５０３では、ＣＰＵ７は、境界属性の判定を行う。参照中の境界Ｂｔに関連付けられている属性が「線形グラデーション」であった場合はＳ５０４へ、「放射グラデーション」であった場合はＳ５０５へ、それ以外の場合はＳ５０６へそれぞれ移る。
【００４８】
Ｓ５０４では、ＣＰＵ７は、線形グラデーションクラスタ情報の生成を行う。ここではまず、ＣＰＵ７は、参照中の境界Ｂｔの境界番号を線形グラデーションクラスタ情報に登録する。次にＣＰＵ７は、参照中の境界Ｂｔをなす２つのラベルを線形グラデーションクラスタ情報に登録する。次にＣＰＵ７は、生成した線形グラデーションクラスタ情報固有の勾配角度を算出する。このときの勾配角度は、境界色勾配情報における上下左右の色勾配を用いて下記の式（１）を用いて求められる。
勾配角度＝ａｒｃｔａｎ（（上方向色勾配−下方向色勾配）／（右方向色勾配−左方向色勾配））  ・・・（１）
【００４９】
そして、ＣＰＵ７は、生成した線形グラデーションクラスタ情報における種別に「線形グラデーション」をセットする。ここで、便宜上、線形グラデーションをセットされた境界のクラスタを線形グラデーションクラスタ情報Ｇｌと記載する。
【００５０】
当該線形グラデーションクラスタ情報に登録した二つのラベルに対応する色領域の少なくともいずれかが更に他の色領域と接している場合、当該他の色領域との間の境界を順次評価し、当該他の色領域を線形グラデーションクラスタ情報に登録するか否かを判定していく。この処理を図１３の例を用いて説明する。
【００５１】
まず参照中の境界Ｂｔが図１３の境界８であると仮定して説明する。この時、線形グラデーションクラスタ情報Ｇｌには境界８と、境界８を成すラベル５とラベル６が登録される。またこの場合の勾配角度は前述の式（１）により、以下のように求められる。
勾配角度＝ａｒｃｔａｎ（（０−０）／（８００−０））＝０
【００５２】
更に、図１３の境界色勾配情報を参照すると、ラベル５は参照中の境界８以外に、境界４にも接していると判定される。そこで境界４が当該生成した線形グラデーションクラスタ情報Ｇｌに属するか否かを判別する。この時、境界４はその境界属性がエッジ属性であるため、線形グラデーションクラスタ情報Ｇｌには属さないと判別される。
【００５３】
また、ラベル６は、参照中の境界８以外に、境界５と境界９とに接していると、図１３の境界色勾配情報に基づいて判定される。境界５はエッジ属性であるために線形グラデーションクラスタ情報Ｇｌには属さないが、境界９は線形グラデーション属性である。よって、境界９が線形グラデーションクラスタ情報Ｇｌに属するかが判定される。具体的にはまず、境界９を成すラベル６、ラベル７が他のグラデーションクラスタ情報に含まれているか否かが判定される。他のグラデーションクラスタ情報に含まれている場合、境界９は生成中のグラデーションクラスタ情報に属さないと判別される。含まれていない場合、次の判定に移る。境界９の勾配角度は式（１）を用いて算出することができる。即ち境界９の勾配角度は以下のように算出される。
勾配角度＝ａｒｃｔａｎ（（０−０）／（１２００−０））＝０
【００５４】
ここで得られた勾配角度と、線形グラデーションクラスタ情報固有の勾配角度との差が閾値Ｔ５以内であった場合、当該境界およびそれを構成するラベルが線形グラデーションクラスタ情報に登録される。閾値Ｔ５は例えばＴ５＝２２．５、等がある。この閾値Ｔ５は、経験的に求めてもよいし、任意の算出式により求めても構わない。上述した図１３の境界９の勾配角度と線形グラデーションクラスタ情報の勾配角度差は０であるため、境界９は線形グラデーションクラスタ情報Ｇｌに属する境界であると判定される。よって境界９と、境界９を成すラベル６とラベル７を線形グラデーションクラスタ情報Ｇｌに登録する。ただしラベル６は、実際には既に生成中の線形グラデーションクラスタ情報に登録済みであるため、ここではラベル７のみが登録される。なお、所定の閾値より大きいもしくは閾値以上などの判定については、閾値の設定に合わせて変更して構わない。
【００５５】
次にラベル７が属している境界を同様に評価し、線形グラデーションとして登録していくと、図１４に示すグラデーションクラスタ情報におけるグラデーションクラスタ２のような結果が得られる。図１４の例では、グラデーションクラスタ２は、ラベル５，６，７，８の色領域で構成される線形グラデーションで、且つ勾配角度は０度である。なお、図１４に示す「種別」とは、各境界が有するグラデーション属性に対応し、グラデーションクラスタが有する属性となる。以上の処理により、線形グラデーションクラスタ情報の生成を終えたら、Ｓ５０６に移る。
【００５６】
Ｓ５０５ではＣＰＵ７は、放射グラデーションクラスタ情報の生成を行う。ここではまず、ＣＰＵ７は、参照中の境界Ｂｔの境界番号を放射グラデーションクラスタ情報に登録する。次にＣＰＵ７は、参照中の境界Ｂｔをなす２つのラベルをグラデーションクラスタ情報に登録する。次にＣＰＵ７は、生成した放射グラデーションクラスタ情報には勾配角度を要しないためダミーの値を初期値として代入する。そしてＣＰＵ７は、生成した放射グラデーションクラスタ情報における種別に「放射グラデーション」をセットする。ここで、便宜上、放射グラデーションをセットされた境界のクラスタを線形グラデーションクラスタ情報Ｇｒと記載する。
【００５７】
当該放射グラデーションクラスタ情報に登録した二つのラベルに対応する色領域の少なくともいずれかが更に他の色領域と接している場合、ＣＰＵ７は、当該他の色領域との間の境界を順次評価し、当該他の色領域を放射グラデーションクラスタ情報に登録するか否かを判定していく。この処理を図１３の例を用いて説明する。
【００５８】
まず参照中の境界Ｂｔが図１３の境界２であると仮定して説明する。この時、放射グラデーションクラスタ情報Ｇｒには境界２と、境界２を成すラベル２、ラベル３が登録される。更に、図１３の境界色勾配情報を参照して、ラベル２は参照中の境界２以外に、境界１にも接していると判定される。そこで境界１が当該生成した放射グラデーションクラスタ情報Ｇｒに属するか否かを判別される。この時、境界１はその境界属性がエッジ属性であるため、放射グラデーションクラスタ情報Ｇｒには属さないと判別される。
【００５９】
また、ラベル３は参照中の境界２以外に、境界３に属していると、図１３の境界色勾配情報に基づいて判定される。境界３は放射グラデーション属性である。よって境界３が放射グラデーションクラスタ情報Ｇｒに属するかを判定する。具体的には、境界３を成すラベル３、ラベル４が他のグラデーションクラスタ情報に含まれているか否かを判定する。他のグラデーション情報に含まれている場合、境界３は生成中のグラデーションクラスタ情報に属さないと判別する。含まれていない場合、境界３と、境界３を成すラベルを放射グラデーションクラスタ情報Ｇｒに登録する。ただしラベル３は実際には生成中の放射グラデーションクラスタ情報に既に登録済みであるため、ここではラベル４のみが登録される。
【００６０】
次にラベル４が属している境界を同様に評価し、放射グラデーションとして登録していくと、図１４に示すグラデーションクラスタ情報におけるグラデーションクラスタ１のような結果が得られる。図１４のグラデーションクラスタ１は、ラベル２，３，４の色領域で構成される放射グラデーションクラスタとして登録されている。以上の処理により、放射グラデーションクラスタ情報の生成を終えたら、Ｓ５０６に移る。
【００６１】
Ｓ５０６では、ＣＰＵ７は、参照中の境界が最後の境界かを判定する。最後の境界である場合は（Ｓ５０６にてＹＥＳ）そのまま処理を終え、最後の境界でない場合は（Ｓ５０６にてＮＯ）Ｓ５０７に移る。Ｓ５０７ではＣＰＵ７は、参照中の境界を次の境界へ更新し、Ｓ５０１に移る。以上のＳ５０１からＳ５０７により、図１におけるグラデーションクラスタ情報生成処理（Ｓ５００）を実現している。
【００６２】
［グラデーションパラメータ生成処理］
次にＳ６００では、グラデーションクラスタ情報毎にグラデーションのパラメータ生成を行う、グラデーションパラメータ生成処理を行う。ここでは色領域識別結果と、グラデーションクラスタ情報、及び境界色勾配情報を用いて、線形グラデーションと放射グラデーションのパラメータ生成を行う。
【００６３】
まずグラデーションクラスタ情報における種別が、「線形グラデーション」の場合のパラメータの生成方法の詳細を説明する。例として図１２の線形グラデーション領域におけるパラメータ生成の概念図である図１５を示す。ここで生成する線形グラデーションのパラメータは、グラデーション端点を定義する始点ｐｓ、終点ｐｅ、及び色の移り変わりを定義するオフセットである。尚、オフセットは、位置情報としてグラデーション領域中の相対位置を示すオフセット値と、相対位置における色を定義する色値を含む。
【００６４】
まず、線形グラデーション領域（線形グラデーションクラスタ情報に登録されたラベルで構成される領域）の外接矩形Ｒを求め、その外接矩形Ｒの重心Ｃを求める。なお、重心の求め方については、ここでは説明を省略する。次に求めた重心Ｃを通り、かつ角度θがグラデーションクラスタ情報に付記されている勾配角度となるベクトルｖを求める。次に外接矩形Ｒとの交点をそれぞれ始点ｐｓ（ａ，ｂ），終点ｐｅ（ｃ，ｄ）とする。次に求めたｐｓからｐｅまでの距離を求め、この距離を１００に正規化するための定数Ｋを求める。即ち、以下の式（２）を用いて定数Ｋを求めることができる。
0005801598.tif 000002
・・・（２）
【００６５】
図１５に示す例の場合、正規化するための定数Ｋは下記のようになる。
0005801598.tif 000003
【００６６】
次にグラデーションクラスタ情報に登録されているＮ個のラベルに対し、各ラベルに対応する色領域の重心Ｃｌｎ（ｎ＝１，２，…，Ｎ）をそれぞれ求める。図１５に示す例の場合、Ｃｌ１〜Ｃｌ４が含まれる。次に求めた各色領域の重心Ｃｌｎから、ベクトルｖに対し法線を下ろし、その交点をオフセット点Ｏｆｎ（ｎ＝１，２，…，Ｎ）としてそれぞれ導出する。図１５に示す例の場合、Ｏｆ１〜Ｏｆ４が含まれる。そして、次に始点ｐｓから、オフセット点Ｏｆｎまでの距離ｄｎ（ｎ＝１，２，…，Ｎ）を算出し、前述の定数Ｋを掛け合わせた値をオフセット点Ｏｆｎにおけるオフセット値とする。
【００６７】
図１５の例で言うと、Ｏｆ１（１４０，１００）とｐｓ（１００，１００）との距離ｄ１は４０である。定数Ｋは前述で求めた通り０．５なので、Ｏｆ１におけるオフセット値は０．５×４０＝２０となる。最後にオフセット点Ｏｆｎに対応する色領域の平均色をオフセットの色値として用いる。図１５の例の場合、以上の処理を全てのオフセット点Ｏｆｎに行うことで、図１６に例示したような線形グラデーションパラメータを得ることができる。図１６に示すように、本実施形態では、線形グラデーションパラメータには、グラデーションの端点情報（始点、終点の座標）、各オフセットの情報（オフセット値、色値）が含まれる。
【００６８】
次にグラデーションクラスタ情報における種別が、「放射グラデーション」の場合のパラメータの生成方法の詳細を説明する。例として図１２の放射グラデーション領域におけるパラメータ生成の概念図である図１７を示す。ここで生成する放射グラデーションのパラメータは、グラデーション端点を定義する中心ｐｃと半径ｒ、及び色の移り変わりを定義するオフセットである。尚、オフセットはグラデーション領域中の相対位置を示すオフセット値と、相対位置における色を定義する色値を含む。
【００６９】
まず、放射グラデーションクラスタ情報に登録されているＮ個のラベルに対し、それぞれ対応する色領域の外接矩形を求めその大きさ順でソートしたものをそれぞれＲｎ（ｎ＝１，２，…，Ｎ）とする。つまり外接矩形は、図１７の例の場合、Ｒ１，Ｒ２，Ｒ３のようになる。
【００７０】
次に求めた外接矩形Ｒ１は最内郭に位置する色領域による外接矩形となるため、対応する色領域の重心を求め、その重心を放射グラデーションの中心ｐｃとする。次に求めた外接矩形ＲＮは最外郭に位置する色領域による外接矩形となるため、その外接矩形の右端を定義する直線ＬＲＮから、中心ｐｃまでの距離を半径ｒとする。図１７の例の場合、中心ｐｃ（２００，１００）から最外郭に位置する色領域の外接矩形Ｒ３の右端を定義する直線ＬＲ３（ｘ＝２８０）までの距離が８０となり、この値を半径ｒとする。
【００７１】
次に半径ｒを１００に正規化するための定数Ｋを求める。即ち、式（３）を参照して求めると、以下のように求められる。
0005801598.tif 000004
・・・（３）
【００７２】
図１７の例で言えば、正規化するための定数Ｋは下記のようになる。
0005801598.tif 000005
【００７３】
次に放射グラデーションのオフセットＯｆｎ（ｎ＝１，２，…，Ｎ）を求める。放射グラデーションにおけるオフセットは、まず一つ目のオフセット点Ｏｆ１を中心ｐｃと同一の点とし、オフセット値を０とする。そして二つ目からのオフセット点の生成方法を説明する。
【００７４】
まず中心ｐｃを通り、ｘ軸に水平な直線Ｌｃを定義する。そして次に生成中のオフセット点がｉ番目（ｉ＝２，３，…，Ｎ）であるとすると、外接矩形Ｒｉ−１の右端を定義する直線ＬＲｉ−１と外接矩形Ｒｉの右端を定義する直線ＬＲｉとの中間を通る直線Ｌｍｉを算出する。次に求めた直線Ｌｍｉと直線Ｌｃとの交点を求め、この交点をオフセット点Ｏｆｉとする。図１７の例の場合、中心ｐｃ（２００，１００）を通り、ｘ軸に水平な直線Ｌｃはｙ＝１００となる。そしてｉ＝２の時、直線ＬＲ１（ｘ＝２２０）と直線ＬＲ２（ｘ＝２６０）の中間を通る直線Ｌｍ２はｘ＝２４０となる。よってオフセット点Ｏｆ２は直線Ｌｃと直線Ｌｍ２の交点である（２４０，１００）となる。以上の処理により、ラベルの数Ｎ個分だけオフセット点Ｏｆｎが生成される。図１７ｂに示す例の場合、Ｏｆ１〜Ｏｆ３が含まれる。
【００７５】
次に中心ｐｃから、オフセット点Ｏｆｎまでの距離ｄｎ（ｎ＝１，２，…，Ｎ）を算出し、前述の定数Ｋを掛け合わせた値をオフセット点Ｏｆｎにおけるオフセット値とする。図１７の例の場合、Ｏｆ１は中心ｐｃと同一点なので距離ｄ１＝０となり、定数Ｋに関わらずオフセット値は０となる。Ｏｆ２（２４０，１００）と中心ｐｃ（２００，１００）との距離ｄ２は４０である。定数Ｋは前述で求めた通り、１．２５なので、Ｏｆ２におけるオフセット値は１．２５×６０＝５０となる。最後にオフセット点Ｏｆｎに対応する色領域の平均色をオフセットの色値として用いる。
【００７６】
以上の処理を全てのオフセット点Ｏｆｎに行うことで、図１８に例示したような放射グラデーションパラメータを得ることができる。図１８に示すように、本実施形態では、放射グラデーションパラメータには、放射グラデーションの中心座標、半径、各オフセットの情報（オフセット値、色値）が含まれる。以上の処理は図１におけるグラデーションパラメータ生成処理（Ｓ６００）を実現している。
【００７７】
［色領域統合処理］
次にＳ７００ではグラデーションクラスタ情報毎にラベルの指す色領域を一つに統合する、色領域統合処理を行う。この処理では各グラデーションクラスタ情報に登録されているラベルを一つに統合し、新しい色領域識別結果を得る。図１２と図１４を用いて述べると、グラデーションクラスタ１にラベル２，３，４が登録されている。よってこのラベルが指す色領域を統合し、新しいラベルとしてラベル９を振り、一つの色領域とする。グラデーションクラスタ２に登録されているラベル５，６，７，８に関しても同様に統合し、新しいラベルとしてラベル１０を振る。以上の処理を行うと、図１９に示すようなラベルが付与された各色領域が新たに得られ、原画にないような擬似輪郭境界は消える。また、グラデーションクラスタ情報に基づき、ラベル９は放射グラデーションの領域であり、ラベル１０は線形グラデーションの領域であることが分かる。この処理により、図１における色領域統合処理（Ｓ７００）を実現する
［ベクトル化対象判定］
次にＳ８００では境界色勾配情報、境界属性情報、およびグラデーションクラスタ情報を用いて、処理中の画像がベクトル化の対象範囲内か否かを判定する、ベクトル化対象判定を行う。ここで、エッジ属性ではないにも関わらず、いずれのグラデーションクラスタ情報にも属していない境界を「残疑似輪郭」と呼称する。このステップでは残疑似輪郭を判定し、その全ての境界長を加算した値Ｌをもってベクトル化対象判定を行う。以下から図２０を使ってＳ８００の詳細を説明する。
【００７８】
まずＳ８０１では、ＣＰＵ７は、残疑似輪郭の境界長の値Ｌを“０”で初期化する。この処理を終えた後、Ｓ８０２へ移る。次にＳ８０２で、ＣＰＵ７は、参照中の境界Ｂｔの境界属性がエッジ属性か否を判定する。境界Ｂｔの境界属性がエッジ属性の場合は（Ｓ８０２にてＮＯ）Ｓ８０５へ、エッジ属性でない（Ｓ８０２にてＹＥＳ）場合はＳ８０３へ移る。
【００７９】
次にＳ８０３では、ＣＰＵ７は、参照中の境界Ｂｔの境界番号がグラデーションクラスタ情報に登録されているかを判定する。境界番号がグラデーションクラスタ情報に登録されている場合は（Ｓ８０３にてＮＯ）Ｓ８０５へ、登録されていない場合は（Ｓ８０３にてＹＥＳ）８０４へ移る。次にＳ８０４では、ＣＰＵ７は、参照中の境界Ｂｔの境界長を、残疑似輪郭の境界長の値Ｌに加算する。その後、Ｓ８０５へ移る。
【００８０】
次にＳ８０５では、ＣＰＵ７は、参照中の境界Ｂｔが最後の境界かを判定する。最後の境界である場合は（Ｓ８０５にてＹＥＳ）Ｓ８０７へ、最後の境界でない場合は（Ｓ８０５にてＮＯ）Ｓ８０６に移る。Ｓ８０６では、ＣＰＵ７は、参照中の境界Ｂｔを次の境界へ更新し、Ｓ８０２へ戻る。
【００８１】
次にＳ８０７では、ＣＰＵ７は、全ての残疑似輪郭の境界長が加算された値Ｌが、予め定められた閾値Ｔ６よりも小さいか否かを判定する。つまり、残擬似輪郭の境界長の総和であるＬが所定の閾値よりも小さいか否かで判定する。Ｌが閾値Ｔ６よりも小さい場合（Ｓ８０７にてＹＥＳ）、Ｓ８０８に移り、ＣＰＵ７は処理中の画像がベクトル化対象であると判定し、処理を終える。Ｌが閾値Ｔ６以上である場合（Ｓ８０７にてＮＯ）、Ｓ８０９に移り、ＣＰＵ７は処理中の画像がベクトル化対象外であると判定し、処理を終える。ここで用いられる閾値Ｔ６は例えば、Ｔ６＝入力画像の高さ×入力画像の幅／２、等がある。なお、この閾値Ｔ６は、経験的に求めてもよいし、他の算出式により求めても構わない。以上の処理により、処理中の画像がベクトル化対象か否かを判定することができる。
【００８２】
［判定処理における具体例］
ここで、図１２、図１３、図１４の具体例を用いて、この処理を説明する。図１２（ａ）は入力画像、図１２（ｂ）は入力画像の色領域識別結果であり、図１３は図１２の境界色勾配情報と境界属性、そして図１４は図１３を基に生成したグラデーションクラスタ情報である。また閾値Ｔ６を“１００”とする。この条件を便宜的に「具体例１」と呼称する。
【００８３】
具体例１において、まず図１３に示すエッジ属性でない境界は、図１４に示すように全てグラデーションクラスタ情報に登録されている。このためＳ８０１からＳ８０６までを処理すると、残疑似輪郭の境界長の値Ｌは初期値のままの“０”となる。そしてＳ８０７において、閾値Ｔ６とＬとの比較を行う。Ｌ＝０、Ｔ６＝１００なので、Ｌ＜Ｔ６となり、具体例１における入力画像はベクトル化対象であると判定される。
【００８４】
また、別の具体例である図２１、図２２、図２３を用いて、この処理を説明する。図２１（ａ）は入力画像、図２１（ｂ）は入力画像の色領域識別結果、図２１（ｃ）は色領域統合結果である。図２２は図２１の境界色勾配情報と境界属性、そして図２３は図２２を基に生成したグラデーションクラスタ情報である。また閾値Ｔ６を“１００”とする。この条件を便宜的に「具体例２」と呼称する。
【００８５】
まず、図２２と図２３を参照すると、境界番号の８，９，１０がエッジ属性でないにも関わらずグラデーションクラスタ情報に登録されていない。このうち、境界番号８、境界番号９の境界に関しては、図２１（ｂ）を参照するとわかる通り、複雑なグラデーションによる境界となっているため、線形や放射のグラデーションベクトル化ができない。このためグラデーションクラスタ情報にも登録されておらず、「残疑似輪郭」となっている。
【００８６】
これに対し、境界１０は放射グラデーション属性と判定されているにも関わらず、グラデーションクラスタに登録されていない。これは、Ｓ５００のグラデーションクラスタ生成処理に起因する。Ｓ５００では、グラデーションクラスタ情報を生成する際、登録した色領域に隣接する色領域を順次評価し、同じグラデーションクラスタに登録するか否かを判定していく。この処理により、図２１（ｂ）におけるラベル４の色領域は、先に生成が開始される線形グラデーションクラスタに登録される。よってＳ５０５において放射グラデーションクラスタ情報を生成する際、放射グラデーション属性である境界１０は、境界１０を成すラベル４が他のグラデーションクラスタ情報に統合済みとなるため、放射グラデーションクラスタに登録しない。これにより、図２１（ｃ）の境界１０のように境界属性が線形グラデーションや放射グラデーションであっても、異なるグラデーション領域が混在しているような場合には残疑似輪郭となり得る。よって、この具体例２において、Ｓ８０１からＳ８０６までを処理すると、境界番号の８，９，１０の境界長を加算した総和として、“７００”が残疑似輪郭の境界長の値Ｌとして得られる。
【００８７】
そしてＳ８０７において、閾値Ｔ６とＬとの比較を行う。Ｌ＝７００、Ｔ６＝１００なので、Ｌ＞Ｔ６となるため、具体例２における入力画像はベクトル化対象外であると判定される。
【００８８】
以上の処理により図１におけるベクトル化対象判定処理（Ｓ８００）を実現している。この処理において入力画像がベクトル化対象と判定された場合はＳ９００に移り、ベクトル化対象外と判定された場合はそのまま処理を終える。
【００８９】
［輪郭ベクトル記述生成処理］
最後に図１のＳ９００では、色領域輪郭のベクトル記述を生成する、輪郭ベクトル記述生成処理を行う。ここで輪郭ベクトルを求める対象となる色領域は、Ｓ７００で得た色領域統合後に得られる色領域である。まず、Ｓ７００で統合した後の色領域間の境界線を求め、当該境界線を関数近似することにより、各色領域の輪郭を表すベクトル記述（輪郭ベクトルデータ）を生成する。なお、隣接する色領域が接している区間ごとに境界線を関数近似してベクトル記述を求めることにより、隣接する色領域間で隙間や重なりが生じない輪郭のベクトル記述を得ることができる。図１９の例の場合、ラベル１とラベル９の色領域間の境界線と、ラベル１とラベル１０の色領域間の境界線とを求め、関数近似を行うことで、各色領域の輪郭のベクトル記述を得ることができる。
【００９０】
そして、グラデーションクラスタに属するグラデーション領域に関しては、当該求めた色領域輪郭のベクトル記述と、Ｓ６００で得たグラデーションをベクトル表現するためのグラデーションパラメータとを合わせて出力する。すなわち、色領域輪郭のベクトル記述で定義される輪郭内を当該グラデーションパラメータでグラデーション表現するように記述することによって、グラデーションを含む画像のベクトルデータ（グラデーション付き輪郭ベクトルデータ）を生成する。なお、グラデーション領域以外の色領域（エッジ属性の境界線で囲まれる単一色の色領域）に関しては、その色領域の輪郭のベクトル記述と、当該色領域内の代表色（例えば、当該色領域に含まれる画素の平均色）とを合わせて出力することによって、グラデーション領域以外の色領域のベクトルデータを生成する。
【００９１】
以上説明したように、本発明では、ベクトル化対象の画像を判定することが可能となり、ベクトル化に適した画像を選別してベクトル化を行うことができる。
【００９２】
＜第二実施形態＞
第一実施形態では、グラデーションクラスタ情報に登録されていない非エッジ属性の境界を残疑似輪郭として判定し、その残疑似輪郭の境界長を全て加算した値Ｌをベクトル化対象に判定で用いた。しかし第一実施形態の属性判定処理において複雑グラデーションと判定された境界は、その後の処理で統合されることはない。よって複雑グラデーションと判定された境界はその時点で残疑似輪郭となることが確定する。これを利用し、境界属性判定処理の直後にベクトル化対象判定処理を行う事が可能である。そこで本実施形態では、属性判定処理において複雑グラデーションと判定された境界を用いてベクトル化対象判定を行う。
【００９３】
［処理フロー］
本実施形態におけるメイン処理フローを図２４に示す。本処理フローは記憶部に格納されたプログラムをＣＰＵ７が実行することにより、実現される。まず、図２４に示すＳ２１００からＳ２４００までは第一実施形態にて述べた図１のＳ１００からＳ４００の処理と同様の処理を行う。したがって、ここでは説明を省略する。
【００９４】
次に、Ｓ２５００において、ＣＰＵ７は、ベクトル化対象判定を行う。まずここではＣＰＵ７は、Ｓ２４００で複雑グラデーション属性と判定された境界を残疑似輪郭長と判定し、残疑似輪郭長の境界長を全て加算した総和である値Ｌ’を得る。そして第一実施形態にて述べたＳ８００と同様に、ＣＰＵ７は、Ｌ’と予め定められた閾値Ｔ７との比較を行う。そして、Ｌ’がＴ７よりも小さいと判定された場合、処理中の画像はベクトル化対象とし、Ｓ２６００へ移る。Ｌ’がＴ７以上であると判定された場合、ＣＰＵ７は処理中の画像をベクトル化対象外とし、そのまま処理を終える。閾値Ｔ７を求める式の例としては、Ｔ７＝入力画像の高さ×入力画像の幅／３、等がある。なお、閾値Ｔ７は、経験的に求めてもよいし、他の算出式により求めても構わない。
【００９５】
最後にＳ２６００は、第一実施形態におけるＳ５００、Ｓ６００、Ｓ７００、Ｓ９００と同様の処理を行うことでベクトル化を行う。
【００９６】
以上の処理により、属性判定処理を終えた段階でベクトル化対象判定を行うことができるため、ベクトル化対象外と判定された場合はその後の処理を省略でき、高速化につながる。
【００９７】
＜第三実施形態＞
第一、および第二実施形態では、残疑似輪郭の境界長を用いてベクトル化対象判定を行った。しかしベクトル化対象判定には残疑似輪郭の長さではなく、残疑似輪郭の境界数を用いて行うこともできる。本実施形態における具体的なベクトル化対象判定の処理フローを、図２５を用いて説明する。本処理は、第一実施形態の図２０を用いて述べた処理に対応する。尚、ここでは説明のためベクトル化対象判定以外の処理は、第一実施形態と同様であるとする。本処理フローは、記憶部に記憶されたプログラムをＣＰＵ７が実行することにより実現される。
【００９８】
まずＳ３８０１では、ＣＰＵ７は、残疑似輪郭の境界数Ｎを“０”で初期化し、Ｓ３８０２へ移る。次にＳ３８０２で、ＣＰＵ７は、参照中の境界Ｂｔの境界属性がエッジ属性か否を判定する。境界Ｂｔの境界属性がエッジ属性の場合は（Ｓ３８０２にてＮＯ）Ｓ３８０５へ移り、エッジ属性以外の属性場合は（Ｓ３８０２にてＹＥＳ）Ｓ３８０３へ移る。
【００９９】
次にＳ３８０３では、ＣＰＵ７は、参照中の境界Ｂｔの境界番号がグラデーションクラスタ情報に登録されているかを判定する。境界番号がグラデーションクラスタ情報に登録されている場合は（Ｓ３８０３にてＮＯ）Ｓ３８０５へ移り、登録されていない場合は（Ｓ３８０３にてＹＥＳ）Ｓ３８０４へ移る。Ｓ３８０４では、ＣＰＵ７は、残疑似輪郭の境界数Ｎに１を加算し、Ｓ３８０５へ移る。
【０１００】
Ｓ３８０５ではＣＰＵ７は、参照中の境界Ｂｔが最後の境界かを判定する。Ｂｔが最後の境界である場合は（Ｓ３８０５にてＹＥＳ）Ｓ３８０７へ移り、最後の境界でない場合は（Ｓ３８０５にてＮＯ）Ｓ３８０６に移る。Ｓ３８０６では、ＣＰＵ７は、参照中の境界Ｂｔを次の境界に更新し、Ｓ３８０２に移る。
【０１０１】
Ｓ３８０７では、ＣＰＵ７は、全ての残疑似輪郭の境界数Ｎが、予め定められた閾値Ｔ８以下か否かを判定する。Ｎが閾値Ｔ８以下であった場合（Ｓ３８０７にてＹＥＳ）Ｓ３８０８に移り、ＣＰＵ７は処理中の画像がベクトル化対象であると判定し、処理を終える。Ｎが閾値Ｔ８よりも大きかった場合（Ｓ３８０７にてＮＯ）、Ｓ３８０９に移り、ＣＰＵ７は処理中の画像がベクトル化対象外であると判定し、処理を終える。閾値Ｔ８は例えば、Ｔ８＝０、１、および入力画像の高さ×入力画像／１００００（小数点以下は切り捨て）、等で定義することができる。
【０１０２】
以上の処理により、残疑似輪郭の境界数を用いて処理中の画像がベクトル化対象か否かを判定することができる。
【０１０３】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０４】
また、本発明の画像処理装置は、上述した実施形態の各機能を実現する専用のハードウェア（ＡＳＩＣなど）を用いて構成するようにしてもよい。
【図１】
0005801598.tif 000006
【図２】
0005801598.tif 000007
【図３】
0005801598.tif 000008
【図４】
0005801598.tif 000009
【図５】
0005801598.tif 000010
【図６】
0005801598.tif 000011
【図７】
0005801598.tif 000012
【図１１】
0005801598.tif 000013
【図１３】
0005801598.tif 000014
【図１４】
0005801598.tif 000015
【図１５】
0005801598.tif 000016
【図１６】
0005801598.tif 000017
【図１７】
0005801598.tif 000018
【図１８】
0005801598.tif 000019
【図１９】
0005801598.tif 000020
【図２０】
0005801598.tif 000021
【図２２】
0005801598.tif 000022
【図２３】
0005801598.tif 000023
【図２４】
0005801598.tif 000024
【図２５】
0005801598.tif 000025
【図８】
0005801598.tif 000026
【図９】
0005801598.tif 000027
【図１０】
0005801598.tif 000028
【図１２】
0005801598.tif 000029
【図２１】
0005801598.tif 000030