(57)【特許請求の範囲】
【請求項１】
入力画像から、該入力画像上の特徴を表す曲線形状の特徴線を検出する検出手段と、
前記入力画像において、前記特徴線上に複数個の点を設定する点設定手段と、
前記点設定手段が設定したそれぞれの点が三角形メッシュの頂点として利用されるように、且つ前記特徴線上で隣接している２点間を結ぶ線分が三角形メッシュの一辺として利用されるように、前記入力画像上に三角形メッシュ群を設定する三角形メッシュ設定手段と、
前記特徴線上で隣接している２点間毎に、該２点間における前記特徴線の形状を近似する曲線を求め、該２点間を結ぶ線分を一辺とする三角形メッシュを、該三角形メッシュの該一辺を該求めた曲線に置き換えた曲線メッシュ、に更新する曲線メッシュ設定手段と、
前記曲線メッシュ設定手段による前記更新の後、前記入力画像上に設定されている曲線メッシュと、該曲線メッシュ以外の曲線メッシュ若しくは三角形メッシュと、の重なりがないように、前記特徴線上の点の数を調整してから前記三角形メッシュ設定手段及び前記曲線メッシュ設定手段を動作させることで、前記入力画像上に、前記重なりがない三角形メッシュ及び曲線メッシュを設定する調整手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記調整手段は、
前記重なりがある場合、該重なりが無くなるまで、前記特徴線上の点の数を増加させてから前記三角形メッシュ設定手段及び前記曲線メッシュ設定手段を動作させることを繰り返すことで、前記入力画像上に、前記重なりがない三角形メッシュ及び曲線メッシュを設定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記調整手段は、
前記重なりがない場合、該重なりが発生するまで、前記特徴線上の点の数を減少させてから前記三角形メッシュ設定手段及び前記曲線メッシュ設定手段を動作させるステップを繰り返し、前記重なりが発生した時点のステップよりも１つ前のステップで前記入力画像上に設定した三角形メッシュ及び曲線メッシュを、最終的に前記入力画像上に設定する三角形メッシュ及び曲線メッシュとする
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記三角形メッシュ設定手段は、前記点設定手段が設定したそれぞれの点が三角形メッシュの頂点として利用されるように、且つ前記特徴線上で隣接している２点を結ぶ線分が三角形メッシュの一辺として利用されるように、ドロネー三角形分割を用いて前記入力画像上に三角形メッシュ群を設定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記入力画像内のエッジを前記特徴線として検出することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記検出手段は、前記入力画像内のオブジェクトの領域の境界線を前記特徴線として検出することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項７】
前記検出手段は、前記入力画像内で異なる属性の領域の境界線を前記特徴線として検出することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項８】
前記点設定手段は更に、前記特徴線上以外の領域上にも複数個の点を設定することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の検出手段が、入力画像から、該入力画像上の特徴を表す曲線形状の特徴線を検出する検出工程と、
前記画像処理装置の点設定手段が、前記入力画像において、前記特徴線上に複数個の点を設定する点設定工程と、
前記画像処理装置の三角形メッシュ設定手段が、前記点設定工程で設定したそれぞれの点が三角形メッシュの頂点として利用されるように、且つ前記特徴線上で隣接している２点間を結ぶ線分が三角形メッシュの一辺として利用されるように、前記入力画像上に三角形メッシュ群を設定する三角形メッシュ設定工程と、
前記画像処理装置の曲線メッシュ設定手段が、前記特徴線上で隣接している２点間毎に、該２点間における前記特徴線の形状を近似する曲線を求め、該２点間を結ぶ線分を一辺とする三角形メッシュを、該三角形メッシュの該一辺を該求めた曲線に置き換えた曲線メッシュ、に更新する曲線メッシュ設定工程と、
前記画像処理装置の調整手段が、前記曲線メッシュ設定工程による前記更新の後、前記入力画像上に設定されている曲線メッシュと、該曲線メッシュ以外の曲線メッシュ若しくは三角形メッシュと、の重なりがないように、前記特徴線上の点の数を調整してから前記三角形メッシュ設定工程及び前記曲線メッシュ設定工程を実行させることで、前記入力画像上に、前記重なりがない三角形メッシュ及び曲線メッシュを設定する調整工程と
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をベクトル化する画像処理技術に関するものである。特に、ラスタ画像を、３頂点を曲線で結んだメッシュで表現するベクトル化技術に関するものである。
【背景技術】
【０００２】
従来から、画像をベクトルデータで表現（ベクトル表現）する技術が知られている。ベクトルデータで表現される画像は、大小さまざまなサイズで再現してもシャギーが目立たない、という利点がある。
【０００３】
ベクトル表現に対し、全ての画素の色データによって画像を表現する方法はラスタ表現と呼ばれる。また、ラスタ表現の画像をベクトル表現に変換することをベクトル化と呼ぶ。
【０００４】
画像をベクトル化する際に、画像内のエッジを線分群として抽出し（以下、エッジ線と呼ぶ）、エッジ線を再現する３頂点直線メッシュを構成する技術（非特許文献１）が知られている。また、エッジ線を再現する３頂点曲線メッシュを構成する技術（非特許文献２）なども知られている。
【０００５】
ここで、３頂点直線メッシュとは各メッシュの頂点が３つであり、頂点間を結ぶメッシュの辺が全て線分であるもの、３頂点曲線メッシュとはメッシュの頂点が３つであり、頂点間を結ぶメッシュの辺の少なくとも１つ以上が曲線であるものと定義する。本明細書において以降の説明では、メッシュは３頂点のものを扱う。そこで、３頂点直線メッシュおよび３頂点曲線メッシュを単に直線メッシュ、曲線メッシュと呼ぶ。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｌａｋｓｈｍａｎ  Ｐｒａｓａｄ，  Ａｌｅｘｅｉ  Ｓｋｏｕｒｉｋｈｉｎｅ，  「Ｒａｓｔｅｒ  ｔｏ  Ｖｅｃｔｏｒ  Ｃｏｎｖｅｒｓｉｏｎ  ｏｆ  Ｉｍａｇｅｓ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  ＳＶＧ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＶＧＯｐｅｎ‘０５．
【非特許文献２】Ｔｉａｎ  Ｘｉａ，  Ｂｉｎｂｉｎ  Ｌｉａｏ，  ａｎｄ  Ｙｉｚｈｏｕ  Ｙｕ，  「Ｐａｔｃｈ−Ｂａｓｅｄ  Ｉｍａｇｅ  Ｖｅｃｔｏｒｉｚａｔｉｏｎ  ｗｉｔｈ  Ａｕｔｏｍａｔｉｃ  Ｃｕｒｖｉｌｉｎｅａｒ  Ｆｅａｔｕｒｅ  Ａｌｉｇｎｍｅｎｔ」，  ＡＣＭ  ＳＩＧＧＲＡＰＨ  Ａｓｉａ  ２００９，  Ｖｏｌ．２８，  Ｎｏ．５．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
エッジ線を再現する直線メッシュは、制約付きドロネー三角形分割を利用することで高速に生成することができる（非特許文献１）。非特許文献１では、エッジ線を再現するメッシュを生成する方法が述べられているが、同様の方法でエッジ線に限らず画像の特徴を表す線分群（以下、特徴線と呼ぶ）を再現する直線メッシュを生成することが可能である。特徴線の例としてはエッジ線の他に、入力画像を色や距離が近い画素同士が同じ領域になるように領域分割し、各領域の境界を特徴線として用いることなどが考えられる。しかし、特徴線を直線メッシュで精度良く再現するためには、特徴線を多くの線分で表現する必要があり、画像を表現するのに必要なメッシュが多くなる。一般にメッシュ数が増えると、編集に必要な手間が増加するという短所がある。また、曲線で表現された方が望ましい特徴線も線分で表現するため、特に拡大した際に画質の劣化が目立つ。
【０００８】
上記の直線メッシュの問題点は、特徴線を曲線で再現する曲線メッシュを生成することで解決できる。特徴線を再現する曲線メッシュを生成する単純な方法では、特徴線を再現する直線メッシュを生成し、その直線メッシュの辺のうち特徴線を近似するメッシュの辺を曲線化することで、特徴線を曲線で近似する曲線メッシュが生成可能である。このとき、曲線化によって特徴線を近似する精度は向上するため、初めに生成する直線メッシュが特徴線を近似する精度は低くても構わない。しかし、ここで述べた曲線メッシュの生成方法では、直線メッシュを生成する際に何も工夫を加えないと、メッシュの辺を曲線化する際に、メッシュの辺同士が交差し、メッシュが重なってしまう。この様子を図３を用いて説明する。
【０００９】
図３（ｂ）に、図３（ａ）で示すラスタ画像から構成した特徴線３０１，３０２を示す。特徴線３０１，３０２を再現するような直線メッシュは、例えば、図３（ｄ）のように生成できる。図３（ｄ）において黒丸の点はメッシュの頂点を表しており、破線および実線は共にメッシュの辺を表している。図３（ｄ）において実線で示された辺は、図３（ｂ）の特徴線を近似する辺、破線で示された辺は特徴線に関係なく生成された辺である。例えば、辺３０３、３０４、３０５は何れも特徴線３０１を近似する辺である。図３（ｄ）で番号が振られていない実線は特徴線３０２を近似する辺である。図３（ｅ）は、図３（ｄ）の直線メッシュを特徴線に沿うように曲線化した図である。辺３０３、３０４、３０５がそれぞれ特徴線３０１に沿うように辺３０６、３０７、３０８へと曲線化されている。特徴線３０２を近似する辺も同様に曲線化されている。図３（ｅ）から明らかなように、辺の曲線化に伴い、メッシュの重なりが起こってしまう。例えば、辺３０７と辺３０９は、辺３０４を辺３０７に曲線化したために交差している。
【００１０】
以上で述べたようなメッシュ同士の重なりは、メッシュを利用して画像をベクトル表現する際に画質劣化を引き起こす。これについて以下に詳しく説明する。メッシュ同士が重なっている場合は、いずれかのメッシュが特徴線をまたぐように生成されている。一般に、メッシュを用いて画像をベクトル表現する際は、各メッシュ内の色を再現できるような色情報を持たせるが、各メッシュが持つ色情報はメッシュ内では色の急激な変化が無いことを前提に、滑らかな色変化を表現できるような方式を採ることが多い。特徴線がエッジ線や、前景と背景の境界であった場合などは、特徴線を挟んだ反対側にある画素同士は色が大きく違っているのが一般的である。従って、特徴線をまたいだメッシュの色を、滑らかな色変化を表現する方法で塗ると、メッシュの重なりの近辺で色が滲んでしまい、ベクトル化した画像の画質劣化につながる。
【００１１】
上述したメッシュ同士が重なる問題を発生させずに、エッジ線を曲線で再現する曲線メッシュを生成する方法は非特許文献２で提案されている。非特許文献２ではエッジ線を再現する曲線メッシュを生成する方法が述べられているが、同様の方法でエッジ線に限らず特徴線を再現する曲線メッシュを生成できる。非特許文献２では、まずエッジ線を忠実に再現する十分に短い線分群をメッシュの辺とし、かつラスタ画像の全画素を頂点とする直線メッシュを生成する。次に、優先度の低いメッシュ同士を統合し、大きなメッシュにまとめる処理と、エッジ線に沿うメッシュの辺を曲線化する処理とを交互に繰り返す。その曲線化の際に、メッシュ同士が重なってしまうような統合は行わないという制約を設けることで、メッシュ同士の重なりを防いでいる。この方法の特徴としては、初期状態でメッシュ同士が重ならない十分に細かいメッシュを生成し、メッシュを統合する過程でもメッシュが重ならないように曲線化している点が挙げられる。この方法ではメッシュ同士が重ならない曲線メッシュを生成することが可能であるものの、初期状態で生成するメッシュが非常に細かいため、パッチ統合の回数が非常に多くなり、直線メッシュの生成に比べて処理時間がかかるという課題がある。
【００１２】
以上をまとめると、特徴線を再現し、かつ重なりのないメッシュを生成する方法は以下の２つがある。１つは制約付きドロネー三角形分割を利用して直線メッシュを高速に生成する方法で、もう１つはラスタ画像の全画素を頂点とする直線メッシュを作り、そのメッシュの統合と曲線化を繰り返すことで、曲線メッシュを生成する方法である。しかし、曲線メッシュを制約付きドロネー三角形分割を利用して生成する方法は、メッシュが重なるという課題があるため実現できていない。
【００１３】
本発明は以上の問題に鑑みてなされたものであり、重なりの無い曲線メッシュを高速に生成する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、入力画像から、該入力画像上の特徴を表す曲線形状の特徴線を検出する検出手段と、
前記入力画像において、前記特徴線上に複数個の点を設定する点設定手段と、
前記点設定手段が設定したそれぞれの点が三角形メッシュの頂点として利用されるように、且つ前記特徴線上で隣接している２点間を結ぶ線分が三角形メッシュの一辺として利用されるように、前記入力画像上に三角形メッシュ群を設定する三角形メッシュ設定手段と、
前記特徴線上で隣接している２点間毎に、該２点間における前記特徴線の形状を近似する曲線を求め、該２点間を結ぶ線分を一辺とする三角形メッシュを、該三角形メッシュの該一辺を該求めた曲線に置き換えた曲線メッシュ、に更新する曲線メッシュ設定手段と、
前記曲線メッシュ設定手段による前記更新の後、前記入力画像上に設定されている曲線メッシュと、該曲線メッシュ以外の曲線メッシュ若しくは三角形メッシュと、の重なりがないように、前記特徴線上の点の数を調整してから前記三角形メッシュ設定手段及び前記曲線メッシュ設定手段を動作させることで、前記入力画像上に、前記重なりがない三角形メッシュ及び曲線メッシュを設定する調整手段と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、重なりの無い曲線メッシュを高速に生成することができる。
【図面の簡単な説明】
【００１６】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】エッジ線として望ましくない結果を説明する図。
【図３】入力画像、直線メッシュ、曲線メッシュのそれぞれを示す図。
【図４】曲線メッシュ生成部１０３が行う処理のフローチャート。
【図５】コンピュータのハードウェア構成例を示す図。
【図６】曲線メッシュ生成部１０３が行う処理のフローチャート。
【図７】制約付きドロネー三角形分割を説明する図。
【図８】特徴線を線分により忠実に再現する直線メッシュを生成する為の処理を説明する図。
【図９】曲線メッシュ生成部１０３が行う処理のフローチャート。
【図１０】エッジ線構成部の動作について説明する図。
【図１１】領域の境界線を特徴線とするための処理を説明する図。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１８】
以下で説明する各実施形態では、特徴線を曲線で再現した曲線メッシュ群を生成する際に、メッシュ同士の重なりが無いようにするための技術を開示する。もちろん、この技術は以下の説明から明らかなように、画像内に、この画像上の特徴を表す線分群から成る曲線形状の特徴線が存在するのであれば、如何なる画像であってもその対象とすることができる。
【００１９】
［第１の実施形態］
本実施形態に係る説明に先立って、先ず、曲線メッシュについて説明する。本実施形態で提案する処理手順に従えば、曲線メッシュを構成する３つの頂点間を結ぶ曲線がベジェ曲線、Ｂ−スプライン等の如何なる曲線であっても、重なりが無い曲線メッシュを生成することができる。本実施形態では説明上、各曲線メッシュにパラメトリック曲面の１つである３頂点のベジェパッチを用いる。ベジェパッチの中でも特に３次のベジェパッチでは、曲線メッシュの各辺は３次のベジェ曲線となるため、曲線メッシュを生成したのちに、ユーザによる編集が容易であるというメリットがある。Ｐ１、Ｐ２、Ｐ３を頂点とする３次のベジェパッチ内の点は以下の式で表される。
【００２０】
【数１】
0005587132.tif 000002
【００２１】
ここで、ｓ、ｔ、ｕはパッチ内の重心座標である。また、ｐ１，ｐ２，ｐ３はそれぞれ、頂点Ｐ１，Ｐ２，Ｐ３の座標値である。また、ｃ１，ｃ２，ｃ３，ｃ４，ｃ５，ｃ６、ｃ７は、曲線パッチの形状を定めるパラメータである。
【００２２】
次に、本実施形態に係る画像処理装置の機能構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係る画像処理装置は、画像入力部１０１、特徴線構成部１０２、曲線メッシュ生成部１０３、色情報生成部１０４、符号化部１０５、を有する。もちろん、画像処理装置の構成はこれに限定するものではなく、図１に示した幾つかの構成要素を１つにまとめても良いし、更なる機能を追加すべく、図１に示した構成にその機能部を加えても良い。
【００２３】
画像入力部１０１には、ラスタ表現の画像が入力画像として入力される。この入力画像はカラー画像、グレー画像、白黒画像のいずれでも構わない。入力画像は矩形画像でも構わないし、画像の一部をベクトル化したい場合には背景部を透過色に設定した入力画像等が与えられても良い。
【００２４】
特徴線構成部１０２は、この入力画像から、一部若しくは全部が曲線形状である特徴線を検出する。本実施形態ではこの特徴線の一例としてエッジ線を用いる。然るにこの場合、特徴線構成部１０２は、エッジ検出部とエッジ線構成部とを有することになる。
【００２５】
エッジ検出部は、入力画像からエッジを構成する画素を検出する。本実施形態ではキャニー法という既知の方法を用いてエッジを構成する画素を検出するが、他の手法を用いても構わない。
【００２６】
エッジ線構成部は、エッジ検出部で検出された画素のうち、隣接する画素同士を結ぶ線分を、エッジを再現する線分群として求める。隣接する画素同士を結んで線分を構成する際に、注目画素の上、下、左、右、にある４つの画素が隣接しているとみなす４連結接続がある。また、この４方向に加えて右上、右下、左上、左下にある４つの画素も隣接していると見なす８連結接続もある。本実施形態では８連結接続を用いる。エッジ検出部がキャニー法を用いた結果に対して、８連結接続で隣接しているとみなせる画素を結ぶと、エッジ線として望ましくない結果が得られる場合がある。その様子を図２を用いて説明する。
【００２７】
図２（ａ）〜（ｃ）には画像中のある領域を構成する画素群を示しており、１つの四角形が１つの画素を表している。また、斜線で示している四角形がエッジ検出部が検出した画素（エッジ画素）を表しており、斜線がない四角形がエッジ画素以外の画素（非エッジ画素）を表している。
【００２８】
図２（ａ）に示したエッジ画素群について、８連結接続で隣接したエッジ画素を結ぶと、図２（ｂ）に示すように、エッジ画素２０１、２０２、２０３を結ぶようなループが発生してしまう。図２（ａ）に示すようなエッジ画素が検出された場合、このようなループの発生を抑制する必要がある。そこで本実施形態では、８連結接続を行う前に、Ｈｉｌｄｉｔｃｈ細線化法という既知の手法を用いることで、この問題を解決する。図２（ａ）に示したエッジ画素群に対してＨｉｌｄｉｔｃｈ細線化を行うと、図２（ｂ）に示したエッジ画素２０１は非エッジ画素となる。その結果、図２（ｃ）に示すように、エッジ画素（２０４〜２０７）がループのない１つのエッジ線によって結ばれることになる。
【００２９】
エッジ線構成部の動作について更に、図１０を用いて補足する。図１０には画像中のある領域を構成する画素群を示しており、１つの四角形が１つの画素を表している。また、斜線で示している四角形がＨｉｌｄｉｔｃｈ細線化法を実施した後に最終的にエッジ画素として残った画素を表しており、斜線がない四角形がＨｉｌｄｉｔｃｈ細線化法を実施した後に非エッジ画素として残った画素を表している。エッジ画素１００１の周囲８画素のうち３つがエッジ画素であり、このようなエッジ画素は全て８連結接続で繋げるものの、これら全てを分岐の無い単一の線分群で表現することはできない。このような場合、エッジ画素１００１を必ずエッジ線の端点に設定し、エッジ線１００２、１００３、１００４のようにエッジ画素１００１を端点に持つような３本のエッジ線を構成することで、分岐のないエッジ線を構成することができる。
【００３０】
なお、特徴線構成部１０２が検出する特徴線はエッジ線以外に、入力画像中のオブジェクトの領域の輪郭などが考えられる。ここでオブジェクトとは、文字や物体像等を指している。
【００３１】
既に述べたように、入力画像の一部をベクトル化するという目的で、入力画像の一部が透過色に設定されている場合は、透過色と非透過色の境界に有る画素がオブジェクトの輪郭画素となる。オブジェクトの輪郭画素を１つの線分群にまとめる処理は、エッジ線構成部が行う処理と同様の処理に従って隣接する画素同士をつなぎ合わせることで実現できる。これは、入力画像内の異なる属性の領域の間の境界線にある画素についても同様である。
【００３２】
また、特徴線構成部１０２は、入力画像を領域分割し、その境界線を特徴線としても良い。領域分割は最近傍法を用いたもの、ＥＭアルゴリズムを利用したものなど、多くの手法が知られている。以上で述べたような領域分割法によって、例えば図１１に示すように、入力画像が、黒く塗りつぶされている領域、斜線の領域、白色の領域、に分けられたとする。このような場合、特徴線はそれぞれの領域の境界線１１０１、１１０２、１１０３となる。
【００３３】
図１に戻って、曲線メッシュ生成部１０３は、特徴線が再現可能で且つメッシュ同士の重なりが無いように、入力画像をメッシュ群に分割する。本実施形態は、エッジ線を直線メッシュの一辺として用いるという制約条件の下でドロネー三角形分割を入力画像に適用することで直線メッシュ群を高速に生成し、生成した直線メッシュ群から曲線メッシュを生成することを特徴の１つとする。
【００３４】
曲線メッシュ生成部１０３が行う処理について、同処理のフローチャートを示す図４を用いて説明する。もちろん、図４のフローチャートに示した各ステップにおける処理の主体は何れも曲線メッシュ生成部１０３である。また、以下の説明では、便宜上、図３（ａ）に示した入力画像が画像入力部１０１に入力され、特徴線構成部１０２によって図３（ｂ）に示したような特徴線３０１，３０２が検出された場合を例に取り説明する。そして以下の説明では、曲線メッシュ生成部１０３は、特徴線３０１，３０２が再現可能で且つメッシュ同士が重なること無く、特徴線３０２で囲まれた領域内をメッシュ群で分割する。しかし、図４のフローチャートに従った処理は、上記のような条件を満たす入力画像が入力された場合であっても同様に適用することができる。
【００３５】
先ずステップＳ４０１では、入力画像において、検出した特徴線上、特徴線上以外の領域上、のそれぞれに複数個の点を設定する（点設定）。例えば、特徴線上には図３（ｃ）に示す如く等間隔に適当な数の点を設定し、特徴線上以外の領域には縦横２０画素間隔で点を設定する。
【００３６】
なお、図３を用いた説明では、説明を簡単にするために、特徴線上の点のみを用いて処理を進めるが、実際には特徴線上以外の領域に設定した点も用いる。しかし、本実施形態以降はこれに限るものではなく、特徴線上のみに点を設定し、この設定した点を用いて処理を進めても良いし、特徴線上、特徴線上以外の領域上、のそれぞれに複数個の点を設定し、設定したそれぞれの点を用いて処理を進めても良い。
【００３７】
ステップＳ４０１では次に、特徴線上の点を制御点として選択する。ここで制御点として選択された点は、本実施形態の処理の結果得られる曲線メッシュの頂点となる。つまりここで制御点として選ばれた２点間を結ぶ特徴線は、最終的に形成される曲線メッシュにおいては２点間を結ぶ曲線によって近似される。従って、隣接する２つの制御点間にある特徴線を十分な精度で近似でき、かつメッシュ数を増やし過ぎないようにできるだけ広い間隔で制御点を選択する必要がある。また、各特徴線の両端は必ず制御点として選択する必要がある。特徴線が以降の第４の実施形態で抽出するようなエッジ線ならば、各エッジ線の両端、及びエッジ線を一方の端点からもう一方の端点に辿った際に通る画素のうち数画素（例えば１０画素）に１つを制御点として選択すればよい。
【００３８】
次に、ステップＳ４０２では、特徴線上以外の点を、補助点として選択する。例えば、入力画像が矩形画像である場合、画像の４隅を補助点として選択する必要がある。補助点として選択する点は、特徴線上以外にある、入力画像を表現する上で重要な点を選んでも良い。なお、ここでは説明を簡単にするためにステップＳ４０２では補助点は選択しないものとする。
【００３９】
次に、ステップＳ４０３では、隣接する２つの制御点間毎に、制御点間を結ぶ線分を、以下で行う制約付きドロネー三角形分割の制約条件として設定する。本実施形態では特徴線を再現することが目的であるため、各特徴線を一方の端点からもう一方の端点に辿った際に、通過する順番が隣り合う制御点同士を線分で連結する。図３（ｂ）に示した特徴線３０１，３０２に対してステップＳ４０３で設定した線分群を図３（ｃ）に示す。
【００４０】
次に、ステップＳ４０４では、入力画像に対して制約付きドロネー三角形分割を行うことで、特徴線を再現する直線メッシュ群を生成する。ここでは点群として制御点群（実際には補助点群も含む）、制約条件としてステップＳ４０３で設定した線分群、を与える。図３（ｃ）に示した点群及び線分群を用いて制約付きドロネー三角形分割を行うことで生成される直線メッシュ群を図３（ｄ）に示す。
【００４１】
制約付きドロネー三角形分割とは、点群と制約条件を与えると、与えられた点群を頂点とし、かつ制約条件を満たす、直線メッシュを生成するアルゴリズムである。ここで制約条件とは点群の一部を結ぶ線分である。その様子を図７を用いて説明する。
【００４２】
図７（ａ）は制約付きドロネー三角形分割を行う前に与える点群と制約条件の例を示している。黒丸と実線がそれぞれ点群と制約条件に対応する。図７（ｂ）は図７（ａ）で与えられた点群と制約条件に対し制約付きドロネー三角形分割を適用して生成した直線メッシュである。点線で示した線分が、追加された辺である。
【００４３】
即ち、本ステップでは、設定したそれぞれの点が直線メッシュ（即ち三角形メッシュ）の頂点として利用されるように、且つ特徴線上で隣接している２点を結ぶ線分が三角形メッシュの一辺として利用されるように、入力画像上に三角形メッシュ群を設定する。然るに、同様の目的を達成できるのであれば、上記の制約付きドロネー三角形分割の代わりに他の方法を用いても構わない。
【００４４】
次に、ステップＳ４０５では、特徴線上の隣接する２点間における特徴線の形状を近似する曲線を求め、この２点間を結ぶ線分を一辺とする三角形メッシュを、この三角形メッシュのこの一辺を求めた曲線に置き換えた曲線メッシュ、に更新する。これを特徴線上の隣接する２点間毎に行う。なお、曲線を求める方法には様々な方法が考えられるが、例えば、非特許文献２に記載の技術を用いればよい。即ち、特徴線をベジェ曲線によって近似しても良いし、既に述べたようにＢ−スプライン曲線等を用いて近似しても良い。特徴線に沿うように曲線のパラメータを設定するアルゴリズムの詳細は非特許文献２では述べられていないが、本実施形態では最小二乗法を用いる。図３（ｄ）に示した三角形メッシュ群に対してステップＳ４０５における処理を施した結果を図３（ｅ）に示す。図３（ｅ）に示す如く、特徴線上の制御点間を結ぶ線分である辺３０３，３０４，３０５はそれぞれ、曲線である辺３０６，３０７，３０８に置き換えられている。
【００４５】
次に、ステップＳ４０６では、直線メッシュ群及び曲線メッシュ群のそれぞれについて重なりがあるか否かを判断する。この判定の目的は、直線メッシュの一辺を曲線化したことに伴い、このメッシュと他のメッシュとが重なっていないかを判定することである。ここで、メッシュ同士に重なりがあるということは、一方のメッシュの一辺と他方のメッシュの一辺とに交点があることを意味する。ここで、ステップＳ４０６における処理の詳細について説明する。
【００４６】
メッシュ同士が重なっているか否かの判定は、メッシュの辺同士が交差しているか否かを判定することで行う。メッシュの辺のうち、線分同士は重ならないことは保証できるため、重なりを判定するまでもない。重なりを判定する必要があるのは線分と曲線の組み合わせ、もしくは曲線と曲線の組み合わせである。然るに、線分と曲線、曲線と曲線の重なりを判定する方法について説明する。
【００４７】
曲線を十分な精度で近似する線分群に置き換えることで、線分と曲線、曲線と曲線の重なり判定はそれぞれ線分と線分群、線分群と線分群の重なり判定に置き換えることができ、それらの重なり判定は線分同士の重なり判定を繰り返すことで実現できる。２次元平面上の点（ｘ１，ｙ１）および（ｘ２，ｙ２）を結ぶ線分と、（ｘ３，ｙ３）および（ｘ４，ｙ４）を結ぶ線分と、が重なるかどうかは以下の条件が満たされているか否かを判断することで判定できる。
【００４８】
｛（ｘ１−ｘ２）×（ｙ３−ｙ１）＋（ｙ１−ｙ２）×（ｘ１−ｘ３）｝×
｛（ｘ１−ｘ２）×（ｙ４−ｙ１）＋（ｙ１−ｙ２）×（ｘ１−ｘ４）｝＜０
かつ
｛（ｘ３−ｘ４）×（ｙ１−ｙ３）＋（ｙ３−ｙ４）×（ｘ３−ｘ１）｝×
｛（ｘ３−ｘ４）×（ｙ２−ｙ３）＋（ｙ３−ｙ４）×（ｘ３−ｘ２）｝＜０
この条件が満たされていれば、この２つの線分は重なっていると判定され、この条件が満たされていない場合、この２つの線分は重なっていない、と判定される。以上で述べた線分同士の重なり判定を行うことで、線分と曲線および曲線と曲線の重なりが判定できる。
【００４９】
上記の判定の結果、メッシュに重なりがないと判定された場合、曲線メッシュ生成部１０３は図４のフローチャートに従った処理を終了し、この時点で入力画像上に設定されている直線メッシュ及び曲線メッシュを、以降の符号化に用いるメッシュ群とする。
【００５０】
一方、この判定の結果、メッシュに重なりがあると判定された場合には処理はステップＳ４０７に進む。ステップＳ４０７では、メッシュの辺同士の重なりが起こりにくくなるように特徴線上の制御点の数を増加させる。特徴線上に制御点を多く配置すればするほど、曲線化する前の線分と、曲線化した後の曲線の誤差は小さくなり、曲線化に伴って辺同士が重なる可能性は低くなる。そこで本実施形態では、重なりが起きた場合は、特徴線上に制御点を増やすことで、曲線化しても重なりが起きにくいメッシュ群を生成する。
【００５１】
制御点を増やす方法としては様々な方法が考えられる。例えば、特徴線上に既に存在する２つの制御点の間を結ぶ特徴線を２分割する位置に新たに制御点を追加するといった方法である。この際、全ての制御点を結ぶ特徴線を２分割する位置に制御点を追加してもよいが、重なっていると判定された曲線が近似する特徴線上に制御点を追加した方が、より少ない制御点の追加で、重なりが起きにくいメッシュを生成できる。もちろん、制御点の間に追加する制御点は特徴線を２分割する点である必要はなく、特徴線を曲線で近似するために有効であると考えられる位置に制御点を追加しても良い。
【００５２】
また、以降の第４の実施形態の例からも分かるように、特徴線上に制御点を配置する際に特徴線を構成する線分同士の全ての繋ぎ目に頂点を追加すれば、その特徴線は曲線化するまでもなく忠実に表現することができる。
【００５３】
図３（ｅ）を用いて制御点を増加させる一例を説明する。「発明が解決しようとする課題」でも述べたとおり、図３（ｅ）の曲線メッシュには曲線である辺３０７と辺３０９などにおいて重なりがある。そこで曲線である辺３０７が近似する特徴線３０１上に制御点を増やす。図３（ｆ）は、図３（ｃ）で示した制御点に加え、特徴線３０１上に制御点３１０、３１１、３１２を追加し、ステップＳ４０３で制御点間を結ぶ線分を構成した様子を示す図である。このような制御点と制約条件に従ってステップＳ４０４及びステップＳ４０５を実行すると、図３（ｇ）に示す如く、重なりがない曲線メッシュが得られる。
【００５４】
即ち入力画像上に設定されている曲線メッシュと、三角形メッシュ若しくは曲線メッシュと、の重なりがないように、特徴線上の点の数を調整してから三角形メッシュ設定処理（ステップＳ４０４）及び曲線メッシュ設定処理（ステップＳ４０５）を動作させる。これにより、入力画像上に、この重なりがない三角形メッシュ及び曲線メッシュを設定する。
【００５５】
本実施形態では、ステップＳ４０６において重なりが無いと判定されるメッシュ群が作られるまでメッシュの生成を繰り返すため、メッシュの生成を繰り返す回数が非常に大きくなってしまう可能性もある。以下ではメッシュの生成を２回以下に抑える方法を述べる。ステップＳ４０７で制御点を追加する際に、特徴線を線分で再現するのに十分な細かさで制御点を配置すれば、必ず重なりの起きない初期メッシュを生成できる。従って、ステップＳ４０６で重なり有りと判定された場合は、ステップＳ４０７では必ず特徴線を線分で再現するのに十分な細かさで特徴点を配置するようにすれば、メッシュの生成は２回で済む。もちろん今述べた方法を利用すれば、２回ではなく任意のループ回数で必ず重なりの無い初期メッシュを生成する処理フローを作ることができる。
【００５６】
図１に戻って、色情報生成部１０４は、曲線メッシュ生成部１０３によって入力画像上に設定された各メッシュ（直線メッシュ及び曲線メッシュのそれぞれ）を塗るために必要な色情報を定める。色情報を生成する為には様々な方法が考えられる。その方法の１つとして考えられるのが、各メッシュを一色で塗る方法である。一色の定め方としては、メッシュの内部に含まれる画素の画素値の平均値を、このメッシュの色情報とする方法などがある。メッシュ内の色をより複雑に表現する方法としては、各メッシュに対して色を表現する関数を生成する方法が考えられる。例えば非特許文献２では、ＲＧＢの３成分に対して、メッシュ内の色を塗る薄板スプライン関数を入力画像の色を元に生成している。本実施形態では、各メッシュを更に微小な３頂点からなるメッシュに分割し、その微小なメッシュの頂点の画素の色を入力画像から取得する。レンダリングの際はそれら微小な三角形内の色を双線形補間で補うことで、各メッシュの色を塗ることができる。
【００５７】
符号化部１０５は、曲線メッシュ生成部１０３によって生成されたそれぞれのメッシュの形状データ、色情報生成部１０４が生成した各メッシュの色情報、を符号化し、入力画像に対する符号化データを生成する。
【００５８】
例えば、各メッシュとして３次の３頂点のベジェパッチを用い、各メッシュの色を一色で塗る場合、符号化部１０５が生成する符号化データには、以下の項目がテキストデータとして記される。
【００５９】
・  メッシュ数を含むヘッダ
・  メッシュの形状データとして、各メッシュについてそれぞれ３つの頂点の座標ｐ１、ｐ２、ｐ３およびパラメータｃ１、ｃ２、ｃ３、ｃ４、ｃ５、ｃ６、ｃ７
・  色情報として、各メッシュをそれぞれ何色で塗るかを示すＲＧＢ値
なお、本実施形態では、これらの項目が記されたテキストデータをｚｉｐ符号化して管理しているが、非可逆符号化を含めた他の符号化方式を用いても構わない。そしてこのようにして生成された符号化データは画像処理装置が有するメモリに対して出力しても良いし、外部の装置に対して出力しても良い。
【００６０】
＜第１の実施形態の変形例＞
図１に示した各部はハードウェアで構成しても良いが、ソフトウェア（コンピュータプログラム）として実装しても良い。この場合、このソフトウェアは、ＰＣ（パーソナルコンピュータ）等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのＣＰＵがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能（図１に示した各部の機能）を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。第１の実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成例について、図５のブロック図を用いて説明する。
【００６１】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行する。即ち、図１に示した各部が行うものとして上述した各処理を実行する。
【００６２】
ＲＡＭ５０２は、コンピュータ読み取り可能な記憶媒体の一例である。ＲＡＭ５０２は、外部記憶装置５０７や記憶媒体ドライブ５０８からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）５０９を介して外部装置から受信したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ５０２は、ＣＰＵ５０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ５０２は、各種のエリアを適宜提供することができる。ＲＯＭ５０３は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。
【００６３】
キーボード５０４、マウス５０５は、コンピュータの操作者が操作することで、各種の指示をＣＰＵ５０１に対して入力することができる。表示装置５０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ５０１による処理結果を画像や文字などでもって表示することができる。例えば、上記入力画像を表示したり、暫定的に設定した直線メッシュ及び曲線メッシュ、最終的に決定した直線メッシュ及び曲線メッシュ、等を表示したりすることができる。
【００６４】
外部記憶装置５０７は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置５０７には、ＯＳ（オペレーティングシステム）や、図１に示した各部の機能をＣＰＵ５０１に実現させるためのコンピュータプログラムやデータ、上記入力画像のデータ、既知の情報として説明した情報等が保存されている。外部記憶装置５０７に保存されているコンピュータプログラムやデータは、ＣＰＵ５０１による制御に従って適宜ＲＡＭ５０２にロードされ、ＣＰＵ５０１による処理対象となる。
【００６５】
記憶媒体ドライブ５０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置５０７やＲＡＭ５０２に出力する。なお、外部記憶装置５０７に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ５０８に読み取らせても良い。
【００６６】
Ｉ／Ｆ５０９は、外部装置をコンピュータに接続する為のものである。例えば、ディジタルカメラなど、上記入力画像を取得するための装置を、このＩ／Ｆ５０９に接続し、この外部装置から入力画像をＩ／Ｆ５０９を介してＲＡＭ５０２や外部記憶装置５０７に取得するようにしても良い。５１０は、上述の各部を繋ぐバスである。
【００６７】
上述構成において、本コンピュータの電源がＯＮになると、ＣＰＵ５０１はＲＯＭ５０３に格納されている上記ブートプログラムに従って、外部記憶装置５０７からＯＳをＲＡＭ５０２にロードする。この結果、キーボード５０４、マウス５０５を介した情報入力操作が可能となり、表示装置５０６にＧＵＩを表示することが可能となる。ユーザが、キーボード５０４やマウス５０５を操作し、外部記憶装置５０７に格納された画像処理用アプリケーションプログラムの起動指示を入力すると、ＣＰＵ５０１はこのプログラムをＲＡＭ５０２にロードし、実行する。これにより、本コンピュータが上記の画像処理装置として機能することになる。
【００６８】
ＣＰＵ５０１が実行する画像処理用のアプリケーションプログラムは、基本的に図１に示す各構成要素に相当する関数を備えることになる。ここで、符号化データは外部記憶装置５０７に保存することになる。なお、このコンピュータは、以降の各実施形態に係る画像処理装置にも同様に適用可能であることは、以下の説明より明らかである。
【００６９】
［第２の実施形態］
本実施形態に係る画像処理装置の構成は図１に示したものとなるが、曲線メッシュ生成部１０３の動作が第１の実施形態と異なる。以下では、第１の実施形態と異なる点のみについて説明する。即ち、以下に説明する点以外については第１の実施形態と同様である。
【００７０】
本実施形態に係る曲線メッシュ生成部１０３が行う処理について、同処理のフローチャートを示す図９を用いて説明する。ステップＳ９０１では、基本的には上記のステップＳ４０１と同様の処理を行うのであるが、次の点のみが異なる。即ちステップＳ９０１では、特徴線上に点を設定する際、点間の間隔を第１の実施形態よりも小さくする点のみが上記のステップＳ４０１と異なる。即ち、本実施形態では、特徴線上には第１の実施形態よりも密に点を設定する。従って本実施形態では、制御点の間隔も第１の実施形態よりも小さい。
【００７１】
このことについてより詳細に説明する。本実施形態ではまず、制御点を多く配置した状態のメッシュを作る必要がある。特徴線を線分で再現するのに十分な細かさで制御点を配置すれば、必ず重なりが無いメッシュが生成できる。例えば特徴線がエッジ画素を結ぶエッジ線の場合は全エッジ画素を制御点として設定すれば良い。しかしながら、そのように構成したメッシュは重なりが起こらないことは分かりきっているため、ここではそれよりは制御点を減らした状態でメッシュを生成する。例えば特徴線がエッジ線の場合は、エッジ上の１画素置きに制御点を配置する。
【００７２】
ステップＳ９０２〜Ｓ９０６ではそれぞれ、上記のステップＳ４０２〜Ｓ４０６と同じ処理を行う。なお、ステップＳ９０６で重なりが無いと判断された場合には、処理はステップＳ９０８に進み、重なりがあると判断された場合には処理はステップＳ９０７に進む。
【００７３】
ステップＳ９０８では、メッシュの辺同士の重なりが無く、かつ、できるだけ少数の辺で特徴線を近似することを目的に、特徴線上の制御点の数を減少させる。例えば、特徴線がエッジ線の例では、特徴線上の１画素置きに制御点を配置したメッシュが重なり無しと判定されたら、次は２画素置きに制御点を配置し、それでも重なり無しと判定された場合には３画素置きに配置するということを繰り返す。
【００７４】
ステップＳ９０７では、現時点で入力画像上に設定しているメッシュ群は破棄し、１回前のステップＳ９０４及びＳ９０５にて生成したメッシュ群に戻す。然るに、ステップＳ９０４及びＳ９０５の処理結果は少なくとも１回前のものをメモリに記録しておく必要がある。例えば、先ほど述べた例で言えば、エッジ線上の４画素置きに制御点を配置して生成したメッシュで重なりが検知された場合は、３画素置きに制御点を配置して生成したメッシュを、最終的に入力画像上に設定するメッシュ群とする。
【００７５】
即ち入力画像上に設定されている曲線メッシュと、三角形メッシュ若しくは曲線メッシュと、の重なりがない場合、重なりが発生するまで、特徴線上の点の数を減少させてから三角形メッシュ設定処理及び曲線メッシュ設定処理を動作させるステップを繰り返す。そして、重なりが発生した時点のステップよりも１つ前のステップで入力画像上に設定した三角形メッシュ及び曲線メッシュを、最終的に入力画像上に設定する三角形メッシュ及び曲線メッシュとする。
【００７６】
なお、１回目のループのステップＳ９０６で重なりが検知された場合は、それまでに重なりが無いメッシュは生成できていない。そこで、このような場合は、特徴線を線分で再現するのに十分な細かさで制御点を配置した直線メッシュを生成し、出力する。
【００７７】
［第３の実施形態］
第１の実施形態と第２の実施形態とは適宜組み合わせても良い。例えば、最初は第１の実施形態において追加点の数を大きく設定してから第１の実施形態に係る処理を実行し、重なりが無いと判断されれば、今度は第２の実施形態において削除点の数を小さく設定して第２の実施形態に係る処理を実行する。もちろん、この逆も可能である。即ち、最初は第２の実施形態において削除点の数を大きく設定してから第２の実施形態に係る処理を実行し、重なりがあると判断されれば、今度は第１の実施形態において追加点の数を小さく設定して第１の実施形態に係る処理を実行する。
【００７８】
［第４の実施形態］
上記の第１，２の実施形態では、最終的に用いるメッシュの設定方法に係るものであった。本実施形態では先ず、次の段階での処理に最適な初期状態の直線メッシュ群を生成し、その後、この初期状態の直線メッシュ群から、より少ないメッシュ群へと簡略化して、最終的に用いるメッシュを設定する。
【００７９】
然るに、本実施形態に係る画像処理装置の構成は図１に示したものとなるが、曲線メッシュ生成部１０３の動作が上記の実施形態と異なる。本実施形態に係る曲線メッシュ生成部１０３が行う処理について、同処理のフローチャートを示す図６を用いて説明する。
【００８０】
先ず図６のフローチャートに従った処理は、大まかには、初期メッシュ生成処理６０１と、簡略化されたメッシュ生成処理６０２と、に分けられる。
【００８１】
先ず、初期メッシュ生成処理６０１について説明する。初期メッシュ生成処理６０１の役割は、メッシュ数が多くても構わないから、特徴線を再現するメッシュを生成することである。初期メッシュ生成処理６０１で生成する初期メッシュ群に求められる条件は、先ず、特徴線を再現するようなメッシュであるという点である。さらに、直線メッシュを生成する場合には、特徴線を再現する辺を特徴線に沿うように曲線化してもメッシュ同士が重ならないという条件が必要である。曲線メッシュを生成する場合には、メッシュ同士が重なっていないことが必要となる。本実施形態では、初期メッシュ生成処理６０１において、特徴線を線分によって忠実に再現する直線メッシュ、つまり特徴線を構成する全ての線分がメッシュの辺となる直線メッシュを生成する。このように生成した直線メッシュは、特徴線に沿った辺を曲線化するまでもなく特徴線を忠実に再現している為、曲線化に伴ってメッシュ同士が重なるという問題は起きない。非特許文献２では、エッジ線を忠実に再現する十分に短い線分群をメッシュの辺とし、かつラスタ画像の全画素を頂点とする直線メッシュを生成することで、以上の条件を満たす直線メッシュを生成している。しかし本実施形態では、制約付きドロネー三角形分割を利用することで、特徴線を線分によって忠実に再現する直線メッシュを生成する。
【００８２】
なお、本実施形態では、特徴線を再現し、かつ画像上の全画素を頂点として持たない直線メッシュを生成するという目的のために制約付きドロネー三角形分割を用いるが、同様の目的を達成できるなら制約付きドロネー三角形分割以外の方法を用いても構わない。
【００８３】
初期メッシュ生成処理６０１において、制約付きドロネー三角形分割を利用して特徴線を線分によって忠実に再現する直線メッシュを生成するために行う各処理について、図８を用いて説明する。
【００８４】
ステップＳ６０３では先ず、入力画像において、検出した特徴線上、特徴線上以外の領域上、のそれぞれに複数個の点を設定する。そして制約付きドロネー三角形分割に与える点群として、特徴線上の点を制御点として選択する。ここでは特徴線を線分で忠実に再現するのに十分な細かさで（十分に小さい間隔で）特徴線上に点を設定し、その中から制御点を選択する。例えば、特徴線構成部１０２によって、図８（ａ）に示すような線分８０１、８０２、８０３から成る１つの特徴線が抽出された場合は、この３つの線分８０１、８０２、８０３の両端に対応する４つの点を制御点として選択する。なお、図８（ａ）の外側の矩形は、入力画像の輪郭を表している。なお、本実施形態のように特徴線をエッジ線としている場合は、エッジ線上の全ての画素を制御点として選べば、特徴線を線分で忠実に再現するのに十分な細かさの制御点を得ることができる。例えば図２（ｃ）の実線で表したようなエッジ線が抽出された場合は、点２０４、２０５、２０６、２０７を制御点として選択すれば良い。特徴線上以外の領域上については、例えば、入力画像において縦横２０画素間隔で点を設定する。もちろん、その設定方法については、特に限定するものではない。
【００８５】
次に、ステップＳ６０４では、制約付きドロネー三角形分割に与える点群として、特徴線上以外の領域上の点を補助点として選択する。例えば、入力画像が矩形画像である場合は、入力画像の４隅を補助点として選択する必要がある。補助点として選択された点は、初期メッシュ生成処理６０１を終えた段階で生成されるメッシュの頂点となるため、特徴線上以外にある、入力画像を表現する上で重要な点を選んでも良い。本実施形態では、入力画像の４隅の他に、４隅を構成する任意の２点の中点を定める。
【００８６】
次に、ステップＳ６０５では、隣接する２つの制御点間毎に、制御点間を結ぶ線分を、以下で行う制約付きドロネー三角形分割の制約条件として設定する。本実施形態では、特徴線を忠実に再現する初期メッシュを生成するので、当然、このステップＳ６０５では、隣接する２つの制御点間毎に、制御点間を結ぶ線分を、以下で行う制約付きドロネー三角形分割の制約条件として与えなければならない。また、入力画像が矩形画像の場合には、入力画像の４隅を構成する補助点間を結ぶ線分を制約条件として与えなければならない。図８（ｂ）は、図８（ａ）で示した特徴線が与えられた場合に、ステップＳ６０３〜Ｓ６０５の処理を終えた段階での、点群と制約条件を表している。図８（ｂ）の黒丸の点はステップＳ６０３で設定された制御点であり、白丸の点はステップＳ６０４で設定された補助点であり、黒い実線はステップＳ６０５で設定された制約条件となる線分である。実線８０４、８０５、８０６はそれぞれ線分８０１、８０２、８０３を再現するために生成された線分であり、それ以外の実線は、入力画像の輪郭を再現する為に結ばれた線分である。
【００８７】
ステップＳ６０６では、入力画像に対して制約付きドロネー三角形分割を行うことで、特徴線を再現する直線メッシュ群を、初期メッシュ群として生成する。図８（ｂ）で示した点群と制約条件に対して制約付きドロネー三角形分割を行うと、図８（ｃ）のような初期メッシュが生成される。なお、図８（ｃ）内に点線で示した線分が、制約付きドロネー三角形分割によって追加された線分である。
【００８８】
次に、簡略化されたメッシュ生成処理６０２について説明する。簡略化されたメッシュ生成処理６０２は、「発明が解決しようとする課題」において説明した非特許文献２に記載の方法と同様の手順を踏むことで実現できる。つまり、初期メッシュのうち優先度の低いメッシュ同士を統合し、大きなメッシュにまとめる処理と、エッジ線に沿うメッシュの辺を曲線化する処理と、を繰り返す。その曲線化の際に、メッシュ同士が重なってしまうような統合は行わないという制約を設けることで、メッシュ同士の重なりを防ぐ。簡略化されたメッシュ生成処理６０２を図８（ｃ）に対して施した場合、例えば図８（ｄ）のようなメッシュ群が得られる。図８（ｄ）では、図８（ｃ）のメッシュよりメッシュ数が少なくなり、特徴線の一部である線分８０１、８０２は曲線８０７により再現されていることが確認できる。
【００８９】
以下では、簡略化されたメッシュ生成処理６０２のうち、非特許文献２で述べられていない部分を補う形で説明する。簡略化されたメッシュ生成処理６０２では基本的には、ステップＳ６０８（優先度の低いメッシュ同士を統合し、大きなメッシュにまとめる処理）と、ステップＳ６０９（エッジ線に沿うメッシュの辺を曲線化する処理）と、を交互に繰り返す。ステップＳ６０８，Ｓ６０９は非特許文献２に記載の方法に従って行えば良い。なお非特許文献２では、ステップＳ６０８において統合するメッシュを決定する優先度の基準にＱｕａｄｒｉｃ  ｅｒｒｏｒ  ｍｅｔｒｉｃ法という公知の手法を用いているが、面積の小さいメッシュから優先的に統合するなど、様々な方法が考えられる。また非特許文献２では、ステップＳ６０９において特徴線をベジェ曲線によって近似しているが、本実施形態ではＢ−スプライン曲線等を用いてもかまわない。特徴線に沿うように曲線のパラメータを設定するアルゴリズムの詳細は非特許文献２では述べられていないが、本実施形態では最小二乗法を用いる。
【００９０】
ステップＳ６１０では、上記のステップＳ４０６と同様にして、直線メッシュ群及び曲線メッシュ群のそれぞれについて重なりがあるか否かを判断する。この判断の結果、重なりがある場合には処理はステップＳ６１１に進み、重なりがない場合には処理はステップＳ６０７に進む。
【００９１】
ステップＳ６０７では、簡略化されたメッシュ生成処理６０２を行うか否かを判断する。簡略化されたメッシュ生成処理６０２を行うか否かは、予め設定しておいても良いし、ユーザからの指示に従って決定しても良い。また、処理の中で何らかの基準を満たした場合に行わないと判断しても良い。例えば、メッシュ数が初期メッシュの半分になった場合や、メッシュ数が入力画像に含まれる画素数の１／１００になった場合には、行わないと判断する。また、ステップＳ６１０において一定回数（例えば１０回）以上連続して重なり有りと判定された場合には、行わないと判断する。また、それらの条件の組み合わせを行うか否かの判断基準に用いても良い。
【００９２】
そして簡略化されたメッシュ生成処理６０２を行うと判断した場合には処理はステップＳ６０８に進むし、簡略化されたメッシュ生成処理６０２を行わないと判断した場合には図６のフローチャートに従った処理を終了する。
【００９３】
ステップＳ６１１では、現時点で入力画像上に設定しているメッシュ群は破棄し、１回前のステップＳ６０８及びＳ６０９にて生成したメッシュ群に戻す。然るに、ステップＳ６０８及びＳ６０９の処理結果は少なくとも１回前のものをメモリに記録しておく必要がある。このように、メッシュ同士が重なるような統合を行った場合はその統合前の状態に戻すことで、常に重なりのないメッシュが作られることを保証する。ステップＳ６１１の後に再びステップＳ６０８を実行する場合は、メッシュ同士の重なりを引き起こした統合は行わないようにしなければならない。
【００９４】
［第５の実施形態］
第１の実施形態や第２の実施形態で説明した処理によってメッシュ群を設定した後、この設定されたメッシュ群に対して、簡略化されたメッシュ生成処理６０２を行うようにしても良い。また、上記の各実施形態やそれらの変形例のうち実行する処理を、ユーザ指示などでもって選択して切り替えても良い。
【００９５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005587132.tif 000003
【図２】
0005587132.tif 000004
【図３】
0005587132.tif 000005
【図４】
0005587132.tif 000006
【図５】
0005587132.tif 000007
【図６】
0005587132.tif 000008
【図７】
0005587132.tif 000009
【図８】
0005587132.tif 000010
【図９】
0005587132.tif 000011
【図１０】
0005587132.tif 000012
【図１１】
0005587132.tif 000013