(57)【特許請求の範囲】
【請求項１】
画像データにおいて、同じ画素値を有し連結した画素からなる色領域それぞれの輪郭を抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出した輪郭において、３つ以上の異なる色が会合する点、および、複数の色が会合する点を基準として斜め方向の隣接する画素が同じ色で且つ左右方向および上下方向に隣接する画素が異なる色である該基準とした点、のいずれかを満たす点を、交点として検出する交点検出手段と、
前記交点検出手段により前記交点が検出された輪郭に対しては、当該交点で分割した輪郭を境界線として記録する分割境界線記録手段と、
前記交点検出手段により前記交点が検出されなかった輪郭に対しては、当該輪郭を分割せずに境界線として記録する非分割境界線記録手段と、
前記分割境界線記録手段および前記非分割境界線記録手段によって記録された境界線ごとに、関数近似する関数近似手段と、
前記関数近似手段で関数近似した後の境界線を用いて、前記色領域それぞれの輪郭を再構成する境界線接続手段と
を有することを特徴とする画像処理装置。
【請求項２】
画像データにおいて、同じ画素値を有し連結した画素からなる色領域それぞれに領域番号を付与する領域番号付与手段を更に有し、
前記輪郭抽出手段は、前記領域番号付与手段で付与された領域番号ごとに前記色領域の輪郭を抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記交点検出手段は、前記領域番号付与手段で前記領域番号を付与した結果を用いて、前記輪郭抽出手段で抽出した輪郭において、３つ以上の異なる色が会合する点、および、複数の色が会合する点を基準として斜め方向の画素が同じ色で且つ左右方向と上下方向の画素が異なる色である該基準とした点を、交点として検出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記交点検出手段は、２×２画素のサイズからなるウィンドウを用いて、前記交点を検出することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記交点検出手段は、前記輪郭抽出手段で抽出した前記輪郭の位置の画素を対象として、前記交点を検出することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記分割境界線記録手段および前記非分割境界線記録手段は、同一の境界線を重複して記録しないように制御するとともに、前記境界線接続手段で輪郭を再構成する際に用いる境界線を識別するための領域再構成情報を記録することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記輪郭抽出手段で輪郭を抽出するたびに、当該抽出した輪郭について前記交点検出手段で前記交点を検出し、前記分割境界線記録手段および前記非分割境界線記録手段により境界線を記録することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記輪郭抽出手段で前記色領域それぞれの外輪郭を抽出して、当該抽出した外輪郭に対して前記交点検出手段と前記分割境界線記録手段と前記非分割境界線記録手段とによる処理を実行し、その後、前記輪郭抽出手段で前記色領域それぞれの内輪郭を抽出して、当該抽出した内輪郭に対して前記交点検出手段と前記分割境界線記録手段と前記非分割境界線記録手段とによる処理を実行することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項９】
前記輪郭抽出手段では、同じ画素値を有し且つ８連結接続で連結した画素からなる色領域それぞれの輪郭を抽出することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記輪郭抽出手段では、同じ画素値を有し且つ４連結接続で連結した画素からなる色領域それぞれの輪郭を抽出することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１１】
画像データにおいて、同じ画素値を有し連結した画素からなる色領域ごとに領域番号を付与する領域番号付与手段と、
前記領域番号を付与された前記色領域の輪郭を、当該輪郭を構成する座標点列を特定することにより抽出する輪郭抽出手段と、
前記領域番号付与手段で前記領域番号を付与した画像において、前記輪郭抽出手段で抽出された輪郭の位置を２×２画素のサイズからなるウィンドウを用いて検査することにより、該ウィンドウ内に３つ以上の異なる領域番号が存在する位置と、該ウィンドウ内の斜め方向の領域番号のみが同じである位置とを、交点として検出する交点検出手段と、
前記交点検出手段により前記交点が検出された輪郭に対しては、当該交点で分割した輪郭を境界線として抽出し、前記交点検出手段により前記交点が検出されなかった輪郭に対しては、当該輪郭を分割せずに境界線として抽出する境界線抽出手段と、
前記境界線抽出手段により抽出した前記境界線それぞれを関数近似する関数近似手段と、
前記関数近似手段で関数近似した後の境界線をつなぎ合わせることにより、前記色領域の輪郭を再構成する境界線接続手段と
を有することを特徴とする画像処理装置。
【請求項１２】
輪郭抽出手段が、画像データにおいて、同じ画素値を有し連結した画素からなる色領域それぞれの輪郭を抽出する輪郭抽出工程と、
交点検出手段が、前記輪郭抽出工程にて抽出した輪郭において、３つ以上の異なる色が会合する点、および、複数の色が会合する点を基準として斜め方向の隣接する画素が同じ色で且つ左右方向および上下方向に隣接する画素が異なる色である該基準とした点、のいずれかを満たす点を、交点として検出する交点検出工程と、
分割境界線記録手段が、前記交点検出工程により前記交点が検出された輪郭に対しては、当該交点で分割した輪郭を境界線として記録する分割境界線記録工程と、
非分割境界線記録手段が、前記交点検出工程により前記交点が検出されなかった輪郭に対しては、当該輪郭を分割せずに境界線として記録する非分割境界線記録工程と、
関数近似手段が、前記分割境界線記録工程および前記非分割境界線記録工程によって記録された境界線ごとに、関数近似する関数近似工程と、
境界線接続手段が、前記関数近似工程で関数近似した後の境界線を用いて、前記色領域それぞれの輪郭を再構成する境界線接続工程と
を有することを特徴とする画像処理方法。
【請求項１３】
コンピュータを、
画像データにおいて、同じ画素値を有し連結した画素からなる色領域それぞれの輪郭を抽出する輪郭抽出手段、
前記輪郭抽出手段で抽出した輪郭において、３つ以上の異なる色が会合する点、および、複数の色が会合する点を基準として斜め方向に隣接する画素が同じ色で且つ左右方向および上下方向に隣接する画素が異なる色である該基準とした点、のいずれかを満たす点を、交点として検出する交点検出手段、
前記交点検出手段により前記交点が検出された輪郭に対しては、当該交点で分割した輪郭を境界線として記録する分割境界線記録手段、
前記交点検出手段により前記交点が検出されなかった輪郭に対しては、当該輪郭を分割せずに境界線として記録する非分割境界線記録手段、
前記分割境界線記録手段および前記非分割境界線記録手段によって記録された境界線ごとに、関数近似する関数近似手段、
前記関数近似手段で関数近似した後の境界線を用いて、前記色領域それぞれの輪郭を再構成する境界線接続手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像をベクトル化する画像処理装置、画像処理方法、及びプログラムに関する。特に色領域（同色と見なしうる画素で構成される領域）の輪郭情報から、色領域間の境界線を抽出し、境界線を関数近似した後に元の色領域を再構成することで、色領域間に隙間が生じないベクトル化を実現する画像処理方法に関する。
【背景技術】
【０００２】
画像のベクトル化に関連する技術は文字を対象としたものをはじめとして、輪郭情報の抽出方法や座標点列の関数近似方法が提案されている。さらに一般的なイラスト画像へと対象が広がり、線画像に対するベクトル化や、カラー画像に対するベクトル化等、様々な種類の画像にベクトル化処理を施す技術が提案されている。
【０００３】
ベクトル化されたデータは、所望のサイズに変倍してもジャギーの無いスムーズな輪郭表現が可能である。イラスト画像等においてはデータサイズの削減効果も有し、コンピュータでの編集処理等が容易となる利点もある。文字や線画像といった種類の画像は２値画像、あるいは単色画像（文字や線の部分が単色で構成され且つそれ以外の部分は背景の白地である画像）として扱えるものが多い。このような画像に対しては、色連結領域毎に抽出した輪郭（文字や線画像の輪郭）を関数近似すれば好ましいベクトル化結果を得ることができる。なお、色連結領域（色領域）とは、同色と判断される連結画素により構成される領域（同色画素が繋がっている領域）である。しかし、イラストは多色で構成されるものが多く、複数の色領域間の境界線の扱い方が問題となる。２値画像での処理と同様に、多色画像から検出した色領域の輪郭を関数近似すると、隣接する色領域それぞれの輪郭が個別に近似されることになる。この場合、近似誤差によって、隣接する色領域間に共通の境界線部分に対して２つの近似曲線が得られてしまい、隙間や重なりが生じる問題があった。この様子を図３に示す。図３（ａ）は入力画像から色領域それぞれの輪郭形状を抽出した例を示している。背景の白地部分の領域を数えないものとすると、他の色領域に隣接する（他領域との境界線を持つ）色領域が３つ存在している。図３（ｂ）は、図３（ａ）の輪郭情報を色領域毎に個別に関数近似した場合の処理結果を示しており、色領域間に隙間や重なりが生じている。
【０００４】
上記の問題を踏まえ、色領域間に隙間を生じさせないようにするためのベクトル化法も提案されている。例えば、特許文献１では色差が一定以上ある画素同士の境界を輪郭として追跡していき、３色以上の画素が会合する点を分岐点として、分岐点ごとの部分輪郭を抽出するようにしている。部分輪郭を関数近似の処理単位とし、当該関数近似後のデータを再度つなぎ合わせてベクトルデータを生成することにより、境界線に共通の関数近似結果が適用されるようにしている。
【０００５】
また特許文献２では、水平方向、垂直方向、斜め方向それぞれで画像を走査して、境界画素を抽出し、それぞれの境界で隣接する領域番号を記録する。そして、水平方向に走査した場合に検出した境界画素座標とそれぞれの境界画素で隣接する領域番号とを、水平方向境界点テーブルに記録する。また、垂直方向、斜め方向もそれぞれ同様にして、垂直方向境界点テーブルおよび斜め方向境界点テーブルを生成する。そして、３つのテーブルのうち少なくとも２つ以上のテーブルに存在する境界点のうち、２つ以上のテーブル上でそれぞれの隣接する領域番号の組み合わせが完全には一致していない点を、交点とする。すなわち、特許文献２においても、３つ以上の色領域が会合する境界点を交点としている。次に抽出した色領域の交点を端点として、端点間をつなぐ輪郭座標点列を生成し、これを境界線とする。境界線を関数近似した後に、関数近似後のデータを再度つなぎ合わせてベクトルデータを生成する。こちらも特許文献１と同じく境界線に共通の関数近似結果が適用されるようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０３１２４５号公報
【特許文献２】特開２００８−１４６４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的に、画像データにおける画素間の連結状態には２つの考え方がある。１つ目の連結状態は、注目画素を中心として上下左右の４方向の画素を検査して同色の画素値を有する画素があれば、注目画素とその同色の画素は接続しているとみなす４連結接続の考え方である。２つ目の連結状態は、注目画素を中心として上下左右斜め方向の８方向の画素を検査して同色の画素値を有する画素があれば接続しているとみなす８連結接続の考え方である。すなわち、同色の画素が斜め方向のみで隣接している箇所に関して、４連結接続で考えると、斜め方向は検査しないので、それらの画素は繋がっていないと判断される。一方、８連結接続で考えると、同色の画素が斜め方向のみで隣接しているときも繋がっていると判断するので、１つの画素群（同じ色領域）として扱うことになる。
【０００８】
図４は白とグレーの２色の画素から構成される画像であり、斜め方向で同色の画素が接続している個所が含まれる。ここで、白とグレーの領域それぞれに対して８連結接続と考えて、それぞれの輪郭を抽出すると、次のようになる。例えば、グレー領域の内輪郭と、グレー領域内部に存在する白領域の外輪郭を抽出することを考え、それぞれの輪郭抽出処理が実線の矢印の方向に向かって進んだとする。このとき、次に抽出を進める方向として交点から上方向と下方向の２方向が考えられる。８連結接続と考えてグレー領域の内輪郭を抽出する場合、斜め方向で隣接しているグレー画素は接続していると考えるため、抽出の向きを上方向にとることになる。一方、８連結接続と考えて白領域の外輪郭を抽出する場合、斜めに隣接している白画素は接続していると考えるため、抽出の向きを下方向にとることになる。すなわち、外輪郭と内輪郭のいずれを抽出するときも８連結接続として考えた場合、グレー領域と白領域は共通する境界を有しているにも関わらず、輪郭抽出の方向が変わるので、最終的に抽出される輪郭の形状は一致しなくなる。
【０００９】
図４の例では、８連結接続としてグレー領域の内輪郭を抽出すると、２つの内輪郭が抽出されることになる。また、８連結接続として白領域の外輪郭を抽出すると、斜め方向に隣接している箇所は繋がっているとして輪郭抽出するので、１つの外輪郭が抽出されることになる。このようにして抽出されたグレー領域の２つの内輪郭と、白領域の１つの外輪郭とを、それぞれ関数近似した場合、関数近似結果は異なるものになり、隙間や重なりが生じる原因となる。
【００１０】
一方、特許文献１では３色以上の画素が会合する点を分岐点とするので、図４に示したような同色の画素が斜め方向に隣接している箇所については２色しか存在しないので分岐点と見なさない。
【００１１】
また特許文献２で開示されている方式は画素の輪郭ではなく、画素位置そのものを座標点列として扱う。このため、１画素幅の細線の境界線を正しく抽出することができない。更に、特許文献２は、境界点テーブルに記録した領域番号の組み合わせが一致しない点（すなわち３色の領域が会合する点）を交点としている。したがって、特許文献２においても、図４に示したような同色の画素が斜め方向に隣接している箇所については２色しか存在しないので交点と考えない。
【００１２】
したがって、特許文献１や特許文献２の技術を用いたとしても、図４のような同色画素が斜め方向のみで隣接している箇所では分割されないので、輪郭の境界線を関数近似したときに隙間や重なりが生じてしまう。
【課題を解決するための手段】
【００１３】
上記課題を解決するために本発明は以下の構成を有する。すなわち、本発明に係る画像処理装置は、画像データにおいて、同じ画素値を有し連結した画素からなる色領域それぞれの輪郭を抽出する輪郭抽出手段と、前記輪郭抽出手段で抽出した輪郭において、３つ以上の異なる色が会合する点、および、複数の色が会合する点を基準として斜め方向に隣接する画素が同じ色で且つ左右方向および上下方向に隣接する画素が異なる色である該基準とした点、のいずれかを満たす点を、交点として検出する交点検出手段と、前記交点検出手段により前記交点が検出された輪郭に対しては、当該交点で分割した輪郭を境界線として記録する分割境界線記録手段と、前記交点検出手段により前記交点が検出されなかった輪郭に対しては、当該輪郭を分割せずに境界線として記録する非分割境界線記録手段と、前記分割境界線記録手段および前記非分割境界線記録手段によって記録された境界線ごとに、関数近似する関数近似手段と、前記関数近似手段で関数近似した後の境界線を用いて、前記色領域それぞれの輪郭を再構成する境界線接続手段とを有する。
【発明の効果】
【００１４】
本発明によれば、各色領域の輪郭（色領域間の境界線）を矛盾なく抽出できる。これにより境界線に関数近似を施しても隙間や重なりの発生がなく、拡大・縮小してもジャギーの無いベクトル化処理結果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における情報処理装置のメイン処理ブロック図。
【図２】本実施形態における情報処理装置のブロック図。
【図３】従来の関数近似によって色領域に重なりや隙間が生じる例を説明する図。
【図４】輪郭抽出中に追跡方向が定まらない課題を説明する図。
【図５】本実施形態におけるフローチャート図。
【図６】境界線抽出処理におけるフローチャート図。
【図７】検出する交点の条件を説明する図。
【図８】抽出した境界線を説明する図。
【図９】抽出した境界線が保持する情報を説明する図。
【図１０】領域の再構成情報を説明する図。
【図１１】図９に示した境界線の関数近似を示す図。
【図１２】本手法の結果得られる隙間・重なりが無いベクトルデータを示す図。
【発明を実施するための形態】
【００１６】
＜第一実施形態＞
以下、添付の図面を参照して本発明の実施の形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１７】
［ハードウェア構成］
本実施形態の画像処理装置の構成例について、図２のブロック図を参照して説明する。図２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７は装置全体を制御する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６は変更を必要としないプログラムやパラメータを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５は外部装置等から供給されるプログラムやデータを一時記憶する。スキャナ１により、文書等を光電走査して電子的な画像データを得て、画像入出力Ｉ／Ｏ３はスキャナ１と画像処理装置を接続する。画像メモリ２はスキャナ１で読み取られた画像データ等を保持する。
【００１８】
外部記憶装置１２は固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク（ＦＤ）やＣｏｍｐａｃｔ  Ｄｉｓｋ（ＣＤ）等の磁気・光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含む。また、Ｉ／Ｏ１３はこれら外部記憶装置１２と画像処理装置とのＩ／Ｏである。Ｉ／Ｏ１５はユーザの操作を受け、データを入力するマウス等のポインティングデバイス１０やキーボード９等の入力デバイスとのＩ／Ｏである。映像Ｉ／Ｏ１４は画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ８とのＩ／Ｏである。通信Ｉ／Ｆ４はインターネット等のネットワーク回線に接続するためのＩ／Ｆである。システムバス１１は画像処理装置を構成する各ユニットを通信可能に接続する。
【００１９】
［処理フロー］
以下、ＣＰＵ７がプログラムを実行することにより本願発明を実現する処理手順を、図１のブロック図と図５のフローチャートを用いて説明する。該プログラムは、コンピュータを図１に記載の各手段として機能させるためのものである。なお、本発明は、コンピュータがソフトウェアプログラムを実行することにより図１の各手段を実現するものに限るものではなく、図１の各手段の一部または全部を電子回路などのハードウェアで実現するようにしてもよい。
【００２０】
Ｓ１０００で処理を開始すると、ＣＰＵ７は、処理対象となる画像領域を含む画像データを入力するように制御する。ここでの画像領域とは、同じ色の画素値を有する連続した画素の領域を示す。画像入力に関しては、スキャナ１にて読み取られた画像データを画像入出力Ｉ／Ｏ３を介して画像メモリ２に入力する。また、通信Ｉ／Ｆ４を介して、画像処理装置外部より前記処理対象となる画像領域を含む画像データを入力してもよく、あるいは、外部記憶装置１２に予め記憶される画像データをＩ／Ｏ１３を介して読み込むものであってもよい。得られた入力画像は、画像メモリ２上に保持される。
【００２１】
なお、スキャナなどの入力手段を用いた場合、入力画像にノイズが重畳され、代表色の特定が難しいことが起こりうる。この場合、減色処理を行うことで、近い画素値を持つ画素が同じ色情報となるようにまとめるようにするのが望ましい。Ｓ１０００では、ＣＰＵ７が入力画像に対して減色処理を施すことで、上記問題を解消することができる。ここでの減色処理については、本発明が適用可能であれば、いずれの方法を用いてもよい。例えば特開２００６−３４４０６９号公報で開示されている手法では、入力画像中の画素から色情報を元にクラスタを構成し、類似するクラスタやノイズと思われるクラスタを統合することでスキャンノイズを除去する。本実施形態においては、このような方法を適用することで、スキャン画像入力等で生じるノイズ除去している。以上のＳ１０００における処理は図１における画像入力手段１０１にて実現している。
【００２２】
次にＳ１１００で、ＣＰＵ７はラベリング処理を行うことにより画像データ中の色領域を抽出する。ラベリング処理は、８連結接続で考える場合、上下左右斜め方向で隣接（連結）する同じ画素値を有する画素集合に同一の番号を付与する処理であり、各領域の情報（面積、形状）を取得するための前処理としてよく用いられる。ここでは各色領域を後処理で識別できるようにするための番号（以下、領域番号）を、各色領域を構成する各画素に付与する。ラベリング処理（領域番号（ラベル）付与処理）された画像を、以下、ラベリング画像と呼ぶこととする。ラベリング処理では後で行う輪郭抽出処理と同じ連結状態となるラベリング処理を行う必要がある。本実施形態では、８連結接続として輪郭を抽出する例を用いて説明するので、ラベリング処理も８連結接続として処理し上下左右斜め方向で隣接する同じ画素値を有する画素集合に同一の番号を付与することになる。なお、Ｓ１１００の処理は図１における領域番号付与手段１０２にて実現している。
【００２３】
次にＳ１２００において、ＣＰＵ７は画像データから抽出された色領域それぞれの輪郭を構成する座標（以下、輪郭座標）を抽出する。ＣＰＵ７は、輪郭座標が未抽出の領域番号を順次選択し、選択した領域番号の色領域ごとに順番に処理対象として輪郭抽出処理を行うことにより、各色領域の輪郭座標を抽出する。ここでは特許第３０２６５９２号公報で開示されている輪郭抽出方法を適用する。なお、特許第３０２６５９２号公報の輪郭抽出方法を適用する場合は、選択した領域番号の色領域の画素値を“１”（図形画素）、それ以外の領域の画素値を“０”（背景画素）で構成される２値画像として輪郭座標（輪郭ベクトルの座標値）を抽出する。本実施形態では、輪郭座標を８連結接続で検出していくものとする。ＣＰＵ７は、選択された領域番号の色領域を示す２値画像に対して左上からラスタスキャンを開始し、水平・縦方向の輪郭の座標を格納したテーブルを作成する。その後、ＣＰＵ７は、作成した輪郭座標テーブルを元に輪郭情報を構成する。輪郭抽出処理が連結領域（連結している色領域）毎に行われるため、得られる輪郭は外輪郭が１つと、０以上の内輪郭から構成される。すなわち、外輪郭を優先して抽出すれば、以降抽出する輪郭は内輪郭として扱うことができるので、輪郭抽出の途中で追跡方向の特定が容易になる。ＣＰＵ７が上記処理を未抽出の領域番号が無くなるまで繰り返し実行することで、全ての色領域に対して輪郭情報を抽出することができる。
【００２４】
ここでＳ１２００では特許第３０２６５９２号公報のように３×３の画素マトリクスを用いてラスタスキャンして輪郭抽出処理を行う例を示したが、これに限るものではなく、輪郭追跡型の輪郭抽出処理を行ってもよい。輪郭追跡型の輪郭抽出処理とは、輪郭画素を輪郭に沿った順番で検査していくことにより、輪郭を抽出する方法である。輪郭追跡型の輪郭抽出処理でも必ず外輪郭が１つになるため、外輪郭を優先して抽出すれば、以降抽出する輪郭は内輪郭として扱うことができる。例えば、鳥脇著“画像理解のためのディジタル画像処理（２）”初版３刷，ＩＳＢＮ４−７８５６−２００４−８，昭晃堂，１９９３年４月２０日発行，Ｐ．６６−Ｐ．７９では追跡型の輪郭抽出法が開示されている。追跡法としては画素を追跡する画素追跡型、辺を追跡する辺追跡型、頂点を追跡する頂点追跡型が紹介されているが、頂点追跡型の輪郭抽出を行うと特許第３０２６５９２号公報と同様の処理結果を得ることができる。外輪郭と内輪郭の区別は、最初の輪郭追跡の開始点を画像の端からラスタスキャンで探すことで解消することができる。性質上、外輪郭は内輪郭の外側に位置しており、ラスタスキャンでは必ず外輪郭が先に検出される。またラベリング処理での識別結果より、外輪郭は必ず１つであることが保障される。よって最初に抽出された輪郭線は外輪郭として扱い、以降抽出された輪郭は内輪郭として考えることができる。なお、ここでは色領域の輪郭を抽出する例として２つの方法を挙げたが、この他の方法を用いてももちろん構わない。Ｓ１２００の輪郭抽出処理は、図１に示す輪郭抽出手段１０３にて実現する。
【００２５】
次にＳ１３００において、ＣＰＵ７は、Ｓ１２００で抽出した輪郭座標を元に色領域の交点間ごとの境界線を抽出する。つまり、輪郭を交点間ごとに分割することになるので、Ｓ１２００にて抽出された各色領域の輪郭から１以上の境界線が抽出される。Ｓ１３００の詳細なフローを、図６を用いて説明する。境界線抽出処理では、ＣＰＵ７は色領域間の交点を検出するため、輪郭座標に対応する位置のラベリング処理結果を参照する。まずＳ１３０１において、ＣＰＵ７は、２×２画素のサイズからなるウィンドウを使って交点を検出する。なお、Ｓ１３０１では、Ｓ１１００でラベリング処理された後のラベリング画像（各画素に色領域の領域番号を付与したラベリング画像）に対して、２×２画素サイズのウィンドウによる検査を行っていくようにすればよい。更に、交点を検出する際は、Ｓ１２００で検出した輪郭の位置（輪郭座標により示される輪郭の位置）に対して前記ウィンドウによる検査を行えば効率的に交点の検出処理を行える。すなわち、ラベリング画像全体を前記ウィンドウで検査する必要はない。交点の判断方法を、図７を用いて説明する。
【００２６】
本実施形態において、交点と判断するのは、（１）ウィンドウ７０１のように２×２画素サイズのウィンドウ内に異なる色（色領域）が３つ以上存在する場合（すなわち、ウィンドウ内に３つ以上の異なる領域番号が存在する場合）、または、（２）ウィンドウ７０２のように、含まれる複数の画素のうち、斜め方向に隣接する画素が同じ色（色領域）である場合（すなわち、ウィンドウ内の斜め方向の画素の領域番号のみが同じである場合）、の２通りの条件を定義する。上記の（２）の場合は、斜め方向の色領域（画素）が同じ色であるが、ウィンドウ内の上下方向および左右方向に隣接する色領域は異なる色領域である。このとき、２つの色が交点に接していることとなる。なお、（２）の場合を交点と考える理由は、色領域の外輪郭と内輪郭とで境界線の抽出方法が同じだと、斜め方向のみで隣接している画素群が含まれている場合に、外輪郭と内輪郭の形状が変わってしまい、関数近似したときに近似結果が異なってしまうためである。後の処理で必要な境界線の同定が難しくなるため、（２）の斜め方向のみで隣接している箇所についても接続が切れていると考えて、交点ごとに分割された境界線を抽出するように統一する。これにより、境界線の同定処理を容易に行うことができる。Ｓ１３０１の交点検出処理は図１における交点検出手段１０４にて実現している。
【００２７】
Ｓ１３０１で交点が抽出された場合（Ｓ１３０２にてＹＥＳ）、ＣＰＵ７は、Ｓ１３０３で分割境界線を記録する。すなわち、分割境界線とは抽出された交点のうち、１つ目の交点（開始点）から、２つ目の交点（終了点）の間に存在する、輪郭座標点列から構成される線分（部分輪郭）である。なお、１つの輪郭上に交点が１つだけ存在する場合は、開始点と終了点の座標は同じであるとして、その交点を開始点及び終了点とする輪郭座標点列から構成される線分を記録する。分割境界線で記録する情報を図９の例を用いて示す。ここで、図９に示す情報は、ＲＡＭ６等の記憶部に記憶されることとなる。１つの境界線に対して、識別するための線番号、開始点と終了点から構成される端点座標、開始点から次の点への方向、そして端点間の輪郭座標の座標点列情報を保持する。全ての色領域から抽出した輪郭を元に境界線を抽出すると、境界線は２回抽出されることになる。これは境界線が２つの色領域のいずれにも接していることに起因する。
【００２８】
同じ座標点列で表される境界線は、後の処理で関数近似結果をつなぎ合わせる際に同じ情報が参照される必要がある。そこで、ここでの処理において、検出した境界線が抽出済みでないかを効率的に確認できるよう処理対象の画像の左上の点を原点とする。そして、ＣＰＵ７は、各境界線において、より左上に位置する交点を開始点となるように選択し、開始点から次の点への接続情報を合わせて記録する。
【００２９】
例として図８では、交点として抽出された座標（４，８）と座標（５，７）との間に、線４、線５、線６の３つの境界線が存在している。これらの交点間を結ぶ境界線（分割境界線）を検出した際、色領域の交点として座標（５，７）が先に検出され、座標（４，８）が後で検出されることが起こりうる。この際、座標（４，８）と座標（５，７）の水平方向の座標（この場合は“４”と“５”）を比較し、より小さい値を有する座標（４，８）が開始点となるように座標を並び替える。水平方向の座標値が等しかった場合は垂直方向の座標値が小さいほうを開始点として選択する。線４、線５、線６は開始点と終了点が一致するが、開始点から次の座標に向かう方向がそれぞれ左、上、右と異なる。すなわち、開始点と終了点、開始点からの方向の３つを合わせることで境界線を識別することができる。また各境界線には開始点から終了点に至る輪郭座標の座標点列を合わせて記録する。例えば、ＣＰＵ７は線５では３点から構成されるため、座標点列として「（４，８），（４，７），（５，７）」を記録する。開始点と終了点と開始点からの方向とに関して、図９に記録済みの境界線と同じ境界線が見つかった場合は、すでに記録済みとして図９には重複して記録しないようにする。
【００３０】
また開始点と終了点が同じ場合は、時計回りで座標情報を記録する。線２と線３はどちらも開始点と終了点が座標（４，３）で同じである。この場合は座標点列の並びが座標（４，３）を基準として、右回りになるようにＣＰＵ７はＲＡＭ６に記録する。線２は開始点から次の点へ向かう方向が左向きになり、線３は開始点から次の点へ向かう方法が右向きになり、それぞれ識別できるようになる。この場合もＣＰＵ７は座標点列を並び変えた値を合わせてＲＡＭ６に記録する。例えばＣＰＵ７は、線２では５点から構成されるため、座標点列「（４，３），（２，３），（２，２），（４，２），（４，３）」を記録する。以上、線２、線３、線４、線５、線６に関連して記録する境界線情報をまとめたものを図９に示す。
【００３１】
この工夫により、所定の並びに並べられた座標点列に対して、抽出済みか否かを判断する際は開始点と終了点の座標、そして開始点から次の点までの向きを用いれば一意に境界線を比較することができる。なお、より左上に位置する点を開始点として選択するのは一例であり、処理において一貫して同じ基準を採用するのであれば、所定の基準としてその他の基準を適用してもよい。
【００３２】
また抽出した境界線は後の処理でつなぎ合わせる必要があるため、つなぎ合わせる際に必要となる境界線間の接続関係の情報（以下、領域再構成情報）を保持する。領域再構成情報の例を図１０に示す。ＣＰＵ７が抽出した境界線の線番号を順にＲＡＭ６に記録すれば、領域を再構成するのに必要な情報を求めることができる。ＣＰＵ７は、抽出した境界線が既に抽出済みの場合、先に抽出して記録済みの境界線番号を代わりに記録する。境界線によっては開始点と終了点の位置を入れ替えて情報を保持しているため、再構成時に逆順でつなぎ合わせる場合はその旨も合わせて記録する。つまり、ここでの“逆順”とは、各色領域に対して抽出され、所定の並びで各座標点が記憶された境界線の座標点列を、その並びの逆の順に特定していくことを指す。色領域を再構成する際に“逆順”の境界線が含まれる場合には、記録された境界線の座標点列を逆の順に特定することで色領域の境界線を再構成できる。なお、“逆順”の反対の意味の表現として“正順”と記載する。これは、図９に示すように記憶された座標点列のままの並びを意味する。
【００３３】
図８の下部にある色領域の抽出を例にとると、領域番号３の輪郭を元に境界線を抽出するとまず線４が抽出でき、次に線５が座標（４,８）を基準として“逆順”（反時計回り）で抽出できる。よって領域番号３の領域再構成情報として「線４、線５（逆順）」を記録する。次に領域番号４の輪郭を元に境界線を抽出すると線６が“逆順”で抽出でき、次に線５が正順で抽出できる。よって図１０に示すように領域番号４の領域再構成情報として「線６（逆順）、線５」を記録する。領域再構成情報の取得処理は図１における分割境界線記録手段１０５にて実現している。
【００３４】
Ｓ１３０４では全ての輪郭座標に対して交点検出処理したか否かを判定する。まだ未処理の輪郭座標があれば（Ｓ１３０４にてＮＯ）、Ｓ１３０１へ戻って交点の検出処理を続ける。全ての輪郭座標を処理し終えたら（Ｓ１３０４にてＹＥＳ）、Ｓ１３０５へ進み、全ての輪郭についてＳ１３０３の分割境界線記録が行われたか否かを判定する。境界によっては色領域の交点が１つも検出されないことがある。これは抽出対象の色領域がその外側に位置する別の色領域に包含されている場合である。例えば図８における領域番号１の外輪郭がこれにあたる。分割境界線として記録されなかった輪郭がある場合（Ｓ１３０５にてＮＯ）、Ｓ１３０６にて、当該輪郭線を分割することなく、非分割境界線（図９の線１）として保存する。
【００３５】
非分割境界線を記録する場合も、境界線が抽出済みか否かを後で判断する必要が生じるため、座標点列を並び替えておくとよい。ここではＣＰＵ７は、輪郭座標中の最も左上に位置する点を開始点とし、座標点列が領域を右回りに囲むように並び順を統一してＲＡＭ６に記録する。図８の領域番号１の外輪郭に対応する輪郭は６点から構成される。このうち、水平方向の座標値が最も小さい座標は（１，１）と（１，４）の２つがある。ここではＣＰＵ７は、垂直方向が最も小さい値を持つ座標（１，１）を記録上の開始点として選択し、右回りで座標点列を記録する。結果として図９の線１は座標（１，１）を開始点および終了点とし、開始点からの方向を右、座標点列として「（１，１），（６，１），（６，５），（３，５），（３，４），（１，４），（１，１）」をＲＡＭ６に記録する。なお、最も左上に位置する点を開始点として右回りに並び替える基準は一例であり、処理において一貫して同じ基準を採用するのであれば、その他の基準を適用してもよい。
【００３６】
また、Ｓ１３０６で、非分割境界線と領域番号との関連を示す情報を図１０の領域再構成情報に追加する。この時の領域再構成情報として、外輪郭と内輪郭が存在する領域に関しては、外輪郭を先に記録する。結果として領域番号１の再構成情報は図１０に示すように「線１、線２、線３」となる。Ｓ１３０６は図１における非分割境界線記録手段１０６にて実現している。
【００３７】
境界線抽出処理を全ての色領域から抽出した輪郭座標に対して行うことで、境界線をもれなく、矛盾を生じることなく抽出することができる。以上、Ｓ１３０１からＳ１３０６までに述べた処理は図１における境界線抽出手段１０７にて実現している。
【００３８】
次にＳ１４００において、Ｓ１３００で抽出した境界線（分割境界線および非分割境界線）それぞれの座標点列を関数近似する。なお、関数近似を行う際は、近似後の曲線が前記交点検出手段で検出した交点の位置を通るように近似を行うようにすることにより、分割した境界線同士を接続することができる。本実施形態では、更に、各境界線の座標点列について、以下の条件を満たす点（角点や変曲点）で分割を行い、分割された区間ごとにベジェ曲線を当てはめることで関数近似を行う。
【００３９】
第１の角点：隣接する点列を結ぶベクトルの変化が鋭角となる点
第２の角点：連続する点と点との距離がある閾値より大きい場合の両端の点
変曲点：連続するベクトルの外積の符号が変化する点
このように、ベジェ曲線による関数近似の手法としては、特許第４３７８２０８号公報に記載の手法を用いることができる。
【００４０】
図１１に図９に示した境界線を直線と３次ベジェ曲線で近似した結果を示す。近似結果はそれぞれ、直線またはベジェ曲線の端点座標（Ｌ）、コントロールポイント（Ｃ）、曲線が閉曲線（Ｚ）であることを示している。上記処理は図１における関数近似手段１０８にて実現している。もちろん、ここで挙げた各境界線の関数近似方法は一例であり、他の関数近似方法を用いても構わない。なお、図１１に示す情報は、本実施形態において、ＲＡＭ６等の記憶部に記憶されることとなる。
【００４１】
最後にＳ１５００において、ＣＰＵ７はＳ１４００で近似した境界線の曲線情報を再構成してベクトルデータとして出力する。ここでは、各境界線の関数近似結果を図１０に示す領域再構成情報に従ってつなぎ合わせ、色領域それぞれの輪郭を示すベクトルデータとする。なお、関数近似結果は逆順で用いても描画される曲線の形状は変わらない。そのため、領域再構成情報が逆順でつなぐようになっていれば、そのまま関数近似結果を逆順で用いればよい。
【００４２】
例えば領域番号１の再構成情報は線１、線２、線３で構成されている。線１は領域１の外輪郭を構成する非分割境界線であるので、それ以外の線２、線３は内輪郭となる。また、線２と線３は開始点と終了点が同じ座標であるので、１つの内輪郭としてつなぎ合わせる。よって領域番号１に対応する外輪郭の近似結果は「Ｌ（１，１），Ｌ（６，１），Ｌ（６，５），Ｃ（３，５），Ｃ（３，４），Ｌ（１，４），Ｚ」となる。また内輪郭は「Ｌ（４，３），Ｌ（２，３），Ｌ（２，２），Ｌ（４，２），Ｌ（４，３），Ｌ（５，３），Ｌ（５，４），Ｌ（４，４）,Ｚ」となる。上記処理は図１における境界線接続手段１０９にて実現している。すなわち、境界線接続手段１０９は、関数近似後の境界線を用いて各色領域の輪郭を再構成する輪郭再構成の処理を実行する。
【００４３】
以上の処理に基づいて、入力データに対する処理結果を図１２に示す。図１２に示すように、図３と比較して、それぞれの色領域の隣接個所は、重なり・隙間の無いベクトルデータとなる。
【００４４】
以上述べたように、本実施形態では、３色以上の色領域が会合する箇所、及び斜め方向に同じ色領域が存在する箇所に対する処理により、色領域の境界に対しては共通の近似結果が用いられることが保証できるため、色領域間に重なりや隙間がないベクトルデータを得ることができる。
【００４５】
＜第二実施形態＞
第一実施形態ではＳ１２００で全ての色領域の輪郭座標を抽出した後に、Ｓ１３００で境界線の抽出を行ったが、第二実施形態では各色領域から輪郭座標を抽出するたびに、順次境界線の抽出を行う。つまり、Ｓ１２００とＳ１３００の２つの処理は明確に分かれている必要はなく、色領域単位で輪郭抽出が終了次第、境界線（分割境界線・非分割境界線）の抽出処理を行うようにしてもよい。この方法により、第一実施形態と同様の処理結果を得ることができる。
【００４６】
＜第三実施形態＞
第一実施形態と第二実施形態では色領域毎に外輪郭、内輪郭の順で輪郭を抽出することを繰り返したが、第三実施形態では、まず全ての色領域の外輪郭を抽出し、更に当該抽出した各色領域の外輪郭について交点検出し、外輪郭に基づく境界線（分割境界線・非分割境界線）を記録する。その後、各色領域の内輪郭を抽出し、当該抽出した各内輪郭について交点を検出し、内輪郭に基づく境界線（分割境界線・非分割境界線）を求め、当該内輪郭に基づく境界線が、前記記録済みの外輪郭に基づく境界線のいずれに合致するか判定する。
【００４７】
全ての境界線は、画像データにおいて外輪郭と内輪郭の両方の役割を果たしている。すなわち、色領域の外輪郭に基づいて得られる境界線を先に全て記録しておけば、内輪郭に基づいて得られる境界線は既に記録済みになっているので、いずれに合致するか判定すればよい。
【００４８】
これにより、第一実施形態と同様の効果を得ることができる。
【００４９】
＜第四実施形態＞
第一実施形態では、ラベリング処理及び輪郭抽出処理で、８連結接続として輪郭を抽出する例について説明したが、本発明は８連結接続に限るものではない。すなわち、４連結接続としてラベリング処理及び輪郭抽出処理を行う場合にも適用可能である。
【００５０】
外輪郭および内輪郭の両方を４連結接続として抽出するように構成した場合、図４の例のように同色画素が斜め方向のみで接続していると、グレーの内輪郭は１つ抽出され、白の外輪郭は２つ抽出されることになり、輪郭形状が一致しない。そこで、４連結画素としてラベリング処理及び輪郭抽出処理を行う場合でも、交点間ごとの境界線を抽出する際に交点と判断する条件として、（１）２×２画素サイズのウィンドウ内に異なる色領域が３つ以上存在する場合、および（２）２×２画素サイズのウィンドウにおいて斜め方向の画素が同じ色（且つ左右方向と上下方向は異なる色）である場合、の２通りを定義するようにすればよい。
【００５１】
これにより、第一実施形態と同様の効果を得ることができる。
【００５２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005597096.tif 000002
【図２】
0005597096.tif 000003
【図３】
0005597096.tif 000004
【図５】
0005597096.tif 000005
【図６】
0005597096.tif 000006
【図９】
0005597096.tif 000007
【図１１】
0005597096.tif 000008
【図１２】
0005597096.tif 000009
【図４】
0005597096.tif 000010
【図７】
0005597096.tif 000011
【図８】
0005597096.tif 000012
【図１０】
0005597096.tif 000013