(57)【特許請求の範囲】
【請求項１】
入力画像から検出された検出線が、３頂点から成り且つ該３頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、前記入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置であって、
前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算手段と、
前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算手段を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記計算手段は、前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から補間により求めた該部分頂点群の色情報と、の差分を求めることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、
前記決定手段が、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定した前記候補頂点群に係る情報を出力する手段を備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記候補頂点の数の初期値、前記規定値は、それぞれのメッシュで同じであることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記候補頂点の数の初期値、前記規定値は、それぞれのメッシュの面積に応じて異なることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
前記候補頂点の数の初期値は、それぞれのメッシュにおける最も長い一辺の長さに応じて異なることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項７】
入力画像から検出された検出線が、３頂点から成り且つ該３頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、前記入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置が行う画像処理方法であって、
前記画像処理装置の計算手段が、前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算工程と、
前記画像処理装置の決定手段が、前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算工程を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定工程と
を備えることを特徴とする画像処理方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をベクトル表現するための技術に関するものである。
【背景技術】
【０００２】
従来から、画像をベクトル表現する技術は広く知られている。ベクトル表現された画像は、拡大縮小時に画質劣化が少ない、画像編集し易い、高い圧縮率を実現できるなどの利点がある。
【０００３】
イラストや文字をベクトル表現する場合には、オブジェクトの輪郭をベジェ、スプライン関数などで近似する手法が用いられている。オブジェクト領域内は、単一色、線形グラデーション、放射状グラデーションなどで塗ることができるが、複雑なグラデーションの表現は困難である。
【０００４】
複雑なグラデーションを含むオブジェクトをベクトル表現する場合には、Ａｄｏｂｅ  Ｉｌｌｕｓｔｒａｔｏｒ（登録商標）のグラディエント・メッシュ・ツールが一般に用いられている。グラディエント・メッシュでは、メッシュに色と勾配を与えて３次関数を生成することで、複雑なグラデーションを含むオブジェクトを描画できる（特許文献１）。
【０００５】
グラディエント・メッシュは４頂点から成る曲線メッシュであるが、３頂点から成る曲線メッシュにより複雑なグラデーションをベクトル表現する技術が知られている（非特許文献１）。画像内のエッジを線分群（以下エッジ線と呼ぶ）として抽出し、エッジ線を再現する３頂点曲線メッシュ群を構成することでベクトル表現を行う。ここで３頂点曲線メッシュとは、メッシュの頂点数が３であり、頂点間を結ぶメッシュの辺が直線または曲線であるものとする。
【０００６】
また、各メッシュにおいて色変化の詳細度を変化させることができるよう、メッシュ内部に色を付記した分割頂点を設ける手法も開示されている（非特許文献２）。なお、上述の３頂点曲線メッシュでは、メッシュ制御が局所的にできるため、少ないメッシュ数でオブジェクトを近似できる利点がある。一方で、それまでの３頂点曲線メッシュはメッシュ単位に符号化され、メッシュ間で共有される頂点、辺、色を考慮していないため、符号化効率が低く、データ量が増大してしまっていた。そこで、本出願人は、辺を共有する、辺上のサンプリング点を共有する、エッジ線上のサンプリング点は２種類の色を有する、という３頂点曲線メッシュの特徴を利用してメッシュ表現の効率化を図ることを提案している（特許文献３）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−３２０５８５号公報
【特許文献２】特開２００２−２６０００５号公報
【特許文献３】特開２０１２−２２１３１９号公報
【非特許文献】
【０００８】
【非特許文献１】Ｔｉａｎ  Ｘｉａ，  Ｂｉｎｂｉｎ  Ｌｉａｏ，  ａｎｄ  Ｙｉｚｈｏｕ  Ｙｕ，  「Ｐａｔｃｈ−Ｂａｓｅｄ  Ｉｍａｇｅ  Ｖｅｃｔｏｒｉｚａｔｉｏｎ  ｗｉｔｈ  Ａｕｔｏｍａｔｉｃ  Ｃｕｒｖｉｌｉｎｅａｒ  Ｆｅａｔｕｒｅ  Ａｌｉｇｎｍｅｎｔ」，  ＡＣＭ  ＳＩＧＧＲＡＰＨ  Ａｓｉａ  ２００９，  Ｖｏｌ．２８，  Ｎｏ．５．
【非特許文献２】Ｃｅｍ  ＹｕｋｓｅｌＪｏｈｎ  ＫｅｙｓｅｒＤｏｎａｌｄ  Ｈ．  Ｈｏｕｓｅ，  「Ｍｅｓｈ  Ｃｏｌｏｒｓ」，  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ，  Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  Ｔｅｘａｓ  Ａ＆Ｍ  Ｕｎｉｖｅｒｓｉｔｙ，  ２００８
【発明の概要】
【発明が解決しようとする課題】
【０００９】
自然画をメッシュ形式で近似する自然画ベクトル化技術において、メッシュ群を構成する各メッシュをサブメッシュに分割し、サブメッシュの頂点における色情報をも用いてメッシュデータを生成する。この際の、サブメッシュの頂点（以降、色点とも称する）についてであるが、色点数を増やすと、画質は向上するが、一方で、データ量は増える。そこで、画質とデータ量のトレードオフを鑑みて、メッシュあたり一律の色点数とするのではなく、それぞれが異なる色点数をもつメッシュの混在する、適応的なメッシュ群を生成するための簡便で高速な方法が望まれる。
【００１０】
本発明はこのような問題に鑑みてなされたものであり、メッシュ毎にサブメッシュの頂点数を適応的に制御するための技術を提供する。
【課題を解決するための手段】
【００１１】
本発明の一様態は、入力画像から検出された検出線が、３頂点から成り且つ該３頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、前記入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置であって、前記メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求める計算手段と、前記差分が規定値よりも小さい場合には、前記候補頂点群として前記他頂点群を設定してから前記計算手段を動作させ、前記差分が規定値以上の場合には、前記候補頂点群を、前記メッシュを分割するそれぞれのサブメッシュの頂点として決定する決定手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明の構成によれば、メッシュ毎にサブメッシュの頂点数を適応的に制御するための技術を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】エッジ線として望ましくない結果となるケースを説明する図。
【図３】特徴点抽出部１０２２の動作を説明する図。
【図４】特徴点抽出部１０２２の動作を説明する図。
【図５】曲線メッシュ生成部１０２３が行う処理のフローチャート。
【図６】図３（ａ）の特徴線に対して３頂点曲線メッシュ群生成処理を行った結果を示す図。
【図７】形状情報と色情報を説明する図。
【図８】ベジェパッチの分割について説明する図。
【図９】最大色点数決定部１０３以降の処理のフローチャート。
【図１０】色点候補削減部１０７１の動作を説明する図。
【図１１】分割指数、分割数、色点数の対応を示す図。
【図１２】画像処理装置に適用可能なコンピュータのハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１５】
［第１の実施形態］
本実施形態では、入力画像から検出された検出線が、３頂点から成り且つ該３頂点間を結ぶ辺が直線または曲線であるメッシュの一辺となるように、入力画像を該メッシュを単位に分割し、該メッシュを複数のサブメッシュに分割するために該サブメッシュの各頂点を決定する画像処理装置の一例について説明する。すなわち、メッシュを分割するサブメッシュの頂点の候補として設定されている候補頂点群の一部である部分頂点群の色情報と、該候補頂点群において該部分頂点群を除く他頂点群の色情報から求めた該部分頂点群の色情報と、の差分を求め、該差分が規定値よりも小さい場合には、候補頂点群として他頂点群を設定してから差分を再度計算し、該差分が規定値以上の場合には、候補頂点群を、メッシュを分割するそれぞれのサブメッシュの頂点として決定する構成の一例について説明する。
【００１６】
先ず、本実施形態で用いる３頂点曲線メッシュについて説明する。上記の通り、３頂点曲線メッシュの各辺は曲線若しくは線分であるが、この曲線は、ベジェ曲線で構成されても良いし、Ｂ−スプラインで構成されても良い。即ち、曲線の種類は特定の種類に限るものではない。以下では説明上、３頂点曲線メッシュにパラメトリック曲面の一つである３頂点のベジェパッチを用いるものとする。ベジェパッチの中でも特に３次のベジェパッチでは、メッシュの各辺が３次のベジェ曲線となるため、３頂点曲線メッシュを生成したのちにユーザによる編集が容易であるという利点がある。Ｐ１、Ｐ２、Ｐ３を頂点とする３次のベジェパッチ内の点は以下の式で表される。
【００１７】
【数１】
0006472226.tif 000002
【００１８】
ここでｓ、ｔ、ｕはパッチのパラメータ（パッチ内の重心座標）である。また、ｐ１、ｐ２、ｐ３はそれぞれ、頂点Ｐ１、Ｐ２、Ｐ３の座標値である。ｃ１、ｃ２、ｃ３、ｃ４、ｃ５、ｃ６およびｃ７は曲線パッチの形状を定めるパラメータであり、特に、ｃ１〜ｃ６は、頂点Ｐ１，Ｐ２，Ｐ３のそれぞれに対する制御点（ベジェパッチの輪郭を決める３つのベジェ曲線の制御点）の座標値を表す。ｃ７はベジェパッチの輪郭には関与しないパラメータであり、本実施形態ではベジェパッチの頂点の座標と、輪郭を成すベジェ曲線の制御点に対応するパラメータから以下の式によって定める。
【００１９】
【数２】
0006472226.tif 000003
【００２０】
次に、本実施形態に係る画像処理装置の機能構成例について、図１のブロック図を用いて説明する。なお、図１に示した構成は、以下に説明する処理を実現可能な構成の一例に過ぎず、同等以上の処理を実現可能な構成であれば、図１に示した構成に限らず、如何なる構成を採用しても構わない。
【００２１】
画像入力部１０１には、ラスタ表現の画像（入力画像）が入力される。入力画像はカラー画像、グレー画像、白黒画像のいずれでも構わない。また、入力画像は矩形画像でも構わないし、画像の一部をベクトル化したい場合には背景部を透過色に設定した画像等、切り出された領域が与えられても良い。そして画像入力部１０１は、この入力画像を後段のメッシュ生成部１０２に転送する。
【００２２】
メッシュ生成部１０２は、入力画像中の特徴を表す曲線形状の特徴線を再現する３頂点曲線メッシュ群を生成することで、該入力画像を該３頂点曲線メッシュ群に分割する処理を行うものであり、特徴線検出部１０２１、特徴点抽出部１０２２、曲線メッシュ生成部１０２３を有する。
【００２３】
特徴線検出部１０２１は、入力画像中に、特徴を表す曲線形状の特徴線を構成する。本実施形態では、特徴線としてエッジ線を用いる。特徴線を構成するための処理は大きく分けて、エッジ検出処理と、エッジ線構成処理と、に分けられる。
【００２４】
先ず、エッジ線検出処理について説明する。エッジ線検出処理では先ず、入力画像からエッジを構成する画素（エッジ画素）を検出する。本実施形態では、キャニー法という既知の方法を用いてエッジ画素を検出するが、他の手法を用いてエッジ画素を検出するようにしても良い。また、キャニー法が効果的に機能するように、入力画像に対して明るさ調整、エッジ強調などの前処理を施しても構わない。
【００２５】
そして次に、エッジ線構成処理を行う。エッジ線構成処理では先ず、隣接するエッジ画素間を結ぶ線分を構成することで、エッジ線を再現する線分群を構成する。隣接するエッジ画素間を結んで線分群を構成する際に、注目エッジ画素の上、下、左、右にある４つのエッジ画素が隣接しているとみなす４連結接続がある。また、この４方向に加えて右上、右下、左上、左下にある４つのエッジ画素も隣接していると見なす８連結接続もある。本実施形態では８連結接続を用いるが、これは一例に過ぎない。
【００２６】
ここで、キャニー法を用いて検出したエッジ画素に対して８連結接続で隣接しているとみなせるエッジ画素間を結ぶと、エッジ線として望ましくない結果が得られる場合がある。このケースについて図２を用いて説明する。
【００２７】
図２（ａ）〜（ｄ）には画像中のある領域を構成する画素群を示しており、１つの四角形が１つの画素を表している。また、斜線で示している四角形がエッジ画素を表しており、斜線がない四角形がエッジ画素以外の画素（非エッジ画素）を表している。
【００２８】
図２（ａ）に示したエッジ画素群について、８連結接続で隣接したエッジ画素を結ぶと、図２（ｂ）に示すように、エッジ画素２０１、２０２、２０３を結ぶようなループが発生してしまう。図２（ａ）に示すようなエッジ画素が検出された場合、このようなループの発生を抑制する必要がある。そこで本実施形態では、８連結接続を行う前に、Ｈｉｌｄｉｔｃｈ細線化法という既知の手法を用いることで、この問題を解決する。図２（ａ）に示したエッジ画素群に対してＨｉｌｄｉｔｃｈ細線化を行うと、図２（ｂ）に示したエッジ画素２０１は非エッジ画素となる。その結果、図２（ｃ）に示すように、エッジ画素（２０４〜２０７）がループのない１つのエッジ線によって結ばれることになる。
【００２９】
このとき、図２（ｄ）のエッジ画素２０８に示すように、複数のエッジ線が一か所に会合するようなパターンが発生することがある。このような場合は、会合するエッジ線を分断し、それぞれ独立したエッジ線として扱うこととする。図２（ｄ）の例でいえばエッジ線は３本となる。
【００３０】
なお、特徴線にはエッジ線以外にも、例えば入力画像中のオブジェクトの領域の輪郭などが考えられる。ここでオブジェクトとは、文字や物体像等を指している。既に述べたように、入力画像の一部をベクトル化するという目的で、入力画像の一部が透過色に設定されている場合は、透過色と非透過色の境界に有る画素がオブジェクトの輪郭画素となる。オブジェクトの輪郭画素を１つの線分群にまとめる処理は、エッジ線構成処理と同様の処理に従って隣接する画素同士をつなぎ合わせることで実現できる。これは、入力画像内の異なる属性の領域の間の境界線にある画素についても同様である。
【００３１】
また、特徴線検出部１０２１は、入力画像を領域分割し、その境界線を特徴線としても良い。領域分割は最近傍法を用いたもの、ＥＭアルゴリズムを利用したものなど、多くの手法が知られている。本実施形態では、濃度変化の基準として閾値を定めたうえでキャニー法を適用してエッジ画素を検出し、このエッジ画素を用いて特徴線を構成する。
【００３２】
図１に戻って、次に、特徴点抽出部１０２２は、特徴線上のサンプル点のうち、最終的に用いるサンプル点を特徴点として決定する。特徴点抽出部１０２２の動作について、図３，４を用いて説明する。
【００３３】
図３（ａ）には、入力画像中のある領域で構成された特徴線を示している。特徴点抽出部１０２２は、この特徴線上に複数のサンプル点を設定する。このサンプル点は上記のエッジ画素であっても良い。
【００３４】
ある区間における特徴線上のサンプル点群を図４（ａ）に示す。図４（ａ）において４０１〜４０５はサンプル点を示している。特徴線の端点を起点として隣接するサンプル点を順番に削除して近似関数を生成していく。
【００３５】
先ず、図４（ｂ）に示す如く、特徴線の端点であるサンプル点４０１を起点として、まずサンプル点４０２が削除され、サンプル点４０１とサンプル点４０３とを近似曲線の端点として、サンプル点４０２を近似するように近似曲線４０６を生成する。ここで近似関数は、３次のベジェ関数を最小自乗近似により生成しているが、Ｂ−スプライン関数など他の関数を用いても構わない。生成した近似曲線４０６と削除したサンプル点４０２との距離から誤差を計算し、誤差が閾値以内であれば次のサンプル点を削除する。本実施形態では、誤差の閾値は１画素としている。図４（ｂ）では誤差が閾値以内であるとして、次の処理を説明する。
【００３６】
図４（ｃ）に示す如く、次に隣接したサンプル点４０３を削除して、サンプル点４０１とサンプル点４０４を近似曲線の端点として、サンプル点４０２とサンプル点４０３を近似するように近似曲線４０７を生成する。近似曲線４０７とサンプル点４０２、４０３との誤差を計算する。図４（ｃ）では誤差が閾値以内であるとして、次の処理を説明する。
【００３７】
図４（ｄ）に示す如く、次に隣接したサンプル点４０４を削除して、サンプル点４０１とサンプル点４０５を近似曲線の端点としてサンプル点４０２、４０３、４０４を近似するように近似曲線４０８を生成する。近似曲線４０８とサンプル点４０２、４０３、４０４との誤差を計算する。ここで近似曲線４０８とサンプル点４０２、４０４との誤差が閾値を超えたとする。このとき近似曲線４０８は採用せず、前に生成された近似曲線４０７が有効な近似関数として採用される。
【００３８】
そしてこの場合は、図４（ｅ）に示す如く、特徴線の端点であるサンプル点４０１を起点とし、サンプル点４０２、４０３は削除され、近似曲線４０７の端点であるサンプル点４０４を特徴点としてサンプリングする。すなわち、特徴線の端点であるサンプル点４０１とサンプル点４０５、特徴点としてサンプリングされたサンプル点４０４が第１の特徴点として採用される。ここで、サンプル点がより多いとき、サンプル点４０４を起点として同様の処理を繰り返して、特徴点を決定していく。以上の処理により、図２（ｃ）のエッジ画素２０４、２０７のような特徴線の端点と図２（ｄ）のエッジ画素２０８のような特徴線の交点に加え、特徴点が抽出される。図３（ａ）の特徴線に対し、最終的にサンプリングされた特徴点は、図３（ｂ）の白丸３０１と星印３０２で示される通りである。もちろん画像の特徴を再現できるのであれば、特徴線の端点間を均等にサンプリングして特徴点とするなど他の方法を用いても構わない。
【００３９】
図１に戻って、曲線メッシュ生成部１０２３は、特徴線を再現可能に、入力画像を３頂点曲線メッシュ群に分割する。曲線メッシュ生成部１０２３が行う処理について、同処理のフローチャートを示す図５を用いて説明する。もちろん、図５のフローチャートに示した各ステップにおける処理の主体は何れも曲線メッシュ生成部１０２３である。
【００４０】
先ず、ステップＳ５０１では、曲線化対象とする辺を設定する。ここでは、特徴点抽出部１０２２によって決定された特徴点において、特徴線上で隣接している特徴点間を結ぶ線分を曲線化対象とする辺として設定する。
【００４１】
次に、ステップＳ５０２では、ステップＳ５０１で設定した辺を制約条件として制約付きドロネー三角形分割を利用することで、設定した辺がメッシュの辺となる３頂点直線メッシュ群を生成する。制約付きドロネー三角形分割は、点群と制約条件を与えると、与えられた点群を頂点とし、かつ制約条件を満たす直線メッシュを生成するアルゴリズムである。ここで制約条件とは点群の一部を結ぶ線分である。もちろん、設定した辺を再現する３頂点直線メッシュを生成することができるのであれば、他の方法を用いても良い。
【００４２】
ステップＳ５０３では、曲線化対象となる全ての辺を曲線化したか否かを判断する。この判断の結果、曲線化対象となる全ての辺を曲線化したのであれば、図５のフローチャートに従った処理は完了し、曲線化対象となる辺のうちまだ曲線化していない辺が残っているのであれば、処理はステップＳ５０４に進む。
【００４３】
ステップＳ５０４では、曲線化対象となる辺のうちまだ曲線化してない辺を１つ選択する。そしてステップＳ５０５では、ステップＳ５０４で選択した辺を曲線化する。この曲線化では、特徴線を近似するようにメッシュの辺を曲線化する。本実施形態では特徴点抽出部１０２２で生成した３次のベジェ関数をそのままメッシュの辺として利用しているため、曲線を再計算する必要はない。図３（ａ）の特徴線に対してこのような３頂点曲線メッシュ群生成処理を行った結果を図６に示す。
【００４４】
ここまでの動作（処理）により、入力画像を、特徴線を表す３頂点曲線メッシュ群に分割することができる。なお、同様の目的を達成することができるのであれば、他の方法でもって「入力画像を、特徴線を表す３頂点曲線メッシュ群に分割」しても構わない。
【００４５】
図１に戻って、次に、最大色点数決定部１０３の動作について説明する。ここで、最大色点数決定部１０３の動作の説明を行うために、先に、３頂点曲線メッシュにおける形状情報と色情報とについて説明する。本実施形態では、それぞれの３頂点曲線メッシュを更に微小な３頂点からなるメッシュ（サブメッシュ）に分割し、分割したサブメッシュの頂点の画素の色を決定して、該頂点に割り当てる。レンダリングの際はそれらサブメッシュ内の色を双線形補間で補うことで、各メッシュの色を塗ることができる。
【００４６】
ここで、各メッシュを構成するために必要な形状情報と色情報について説明する。図７（ａ）は、３頂点から成り且つ３頂点間が曲線で結ばれている（何れの辺も曲線で表現されている）メッシュ（３頂点曲線メッシュ）に係る形状情報を示す。７０１、７０２、７０３は３頂点曲線メッシュの頂点、７０４〜７０９は３頂点曲線メッシュの制御点である。この形状情報は、曲線メッシュ生成部１０２３が３頂点曲線メッシュを生成する際に生成する。
【００４７】
図７（ｂ）は、図７（ａ）に示した３頂点曲線メッシュに係る色情報を示す。７１０〜７２４は３頂点曲線メッシュ内におけるサブメッシュの頂点（色点）であり、それぞれの色点は色情報を有する。ここでは色点はRGB値を色情報として有しているものとして説明するが、CMYKなど他の色空間における色情報を有するものとしても良い。また、入力画像がグレー画像である場合、色点は、対応する画素の輝度情報を色情報として保持することになる。色点は、ベジェパッチを規則的に分割することで導出される。ここでは色点として１５点を用いているが、ベジェパッチの分割数を変更し、色点数を変更しても構わない。例えば、図８（ａ）では分割数が１であり、色点の数は３となる。また図８（ｂ）、（ｃ）、（ｄ）ではそれぞれ、分割数が２、４、８であり、色点の数は６、１５、４５点となる。
【００４８】
なお、分割数は２の冪乗となっており、この冪数を分割指数と呼称したとすると、分割数が１、２、４、８、１６、３２、６４と増えるのにつれて、分割指数はそれぞれ０、１、２、３、４、５、６と対応している。この分割指数と分割数、さらには、色点数の対応を図１１に示す。図１１において、分割指数を非負整数ｋとすると、分割数ｎはｎ＝２ｋ、色点数ＮはＮ＝（ｎ＋１）（ｎ＋２）／２となっている。
【００４９】
ここで、１つの３頂点曲線メッシュにおける色点の数は、入力画像において該３頂点曲線メッシュ内に含まれている部分画像における色変化の複雑さに応じて変化させるのが望ましい。すなわち、色変化がより複雑な３頂点曲線メッシュに対しては、より多くの色点を設定し、色変化が比較的複雑でない（単純な）部分画像に対応する３頂点曲線メッシュに対しては、最低限の数の色点を設定することが望ましい。このような３頂点曲線メッシュ毎の適応的な色点数の制御は、画質上、そしてデータ容量上望ましい。以下では、このような、３頂点曲線メッシュごとの色点数を適応的に決定しながら色点を設定する構成及び方法について説明する。
【００５０】
最大色点数決定部１０３は、それぞれの３頂点曲線メッシュに対して、該３頂点曲線メッシュ内の色を表現する色点の最大数である最大色点数Ｎ（初期値）を設定する。最大色点数Ｎの設定方法には様々な方法が考え得る。本実施形態では、それぞれの３頂点曲線メッシュに共通の最大色点数Ｎとして予め定められた数を設定する。以下では具体的な説明を行うためにＮ＝４５とするが、Ｎが他の数であっても、以下の説明は同様に適用可能である。なお、最大色点数Ｎ＝４５とした場合、図８（ｄ）に示す如く、分割数ｎ＝８、分割指数ｋ＝３となる（図１１参照）。図７（ｃ）は、色点数が４５の場合の３頂点曲線メッシュの色情報を示す。図７（ｂ）と同様に、図中の色点７３０〜７７４について、それぞれ色情報を持つ。ただし、図７（ｃ）中の４５点全てに番号を付与すると図が煩雑になるため、図７（ｂ）に比し大きな図として表現し、かつ、そのうちの２７点のみに参照番号を付与してある。
【００５１】
次に、色点候補位置設定部１０４は、それぞれの３頂点曲線メッシュについて、該３頂点曲線メッシュ内のそれぞれの色点（４５個）の位置（座標）を求める。この処理のために、先に述べた、Ｐ１、Ｐ２、Ｐ３を頂点とする３頂点曲線メッシュ（３次のベジェパッチ）内の点の位置を規定するための式である上記の式１、式２を用いる。図７（ａ）を例にとると、３頂点曲線メッシュの頂点７０１、７０２、７０３がそれぞれＰ１、Ｐ２、Ｐ３であり、それらの座標が、それぞれｐ１、ｐ２、ｐ３である。また、３頂点曲線メッシュの制御点７０４〜７０９の座標が、それぞれ順にｃ１、ｃ２、ｃ３、ｃ４、ｃ５、ｃ６である。式１におけるパッチのパラメータｓ、ｔ、ｕを、これらのパラメータの値が取り得る範囲を制限している条件内で、それぞれ変化させた組み合わせに応じて求まるＢ（ｓ，ｔ，ｕ）を各色点の位置の座標とする。
【００５２】
例えば、図７（ｂ）の場合、即ち、分割数が４の場合であれば、ｓ、ｔ、ｕの値をそれぞれ、それらのとりうる範囲である０〜１を４等分した値である１／４ずつ変化させて、かつ、ｓ＋ｔ＋ｕ＝１の制限をみたす組み合わせに応じてＢ（ｓ，ｔ，ｕ）を求める。
【００５３】
Ｂ（１，０，０）が色点７１０の位置（座標）となり、Ｂ（３／４，１／４，０）とＢ（３／４，０，１／４）がそれぞれ色点７１１と７１２の位置（座標）となる。また、Ｂ（１／２，１／２，０）、Ｂ（１／２、１／４、１／４）、Ｂ（１／２，０，１／２）がそれぞれ色点７１３、７１４、７１５の位置（座標）となる。以下、同様に、色点７１６、７１７、７１８、７１９の位置（座標）は、Ｂ（１／４，３／４，０）、Ｂ（１／４，１／２，１／４）、Ｂ（１／４，１／４，１／２）、Ｂ（１／４，０，３／４）となる。また、色点７２０、７２１、７２２、７２３、７２４の位置（座標）は、Ｂ（０，１，０）、Ｂ（０，３／４，１／４）、Ｂ（０，１／２，１／２）、Ｂ（０，１／４，３／４）、Ｂ（０，０，１）となる。
【００５４】
ところで、最大色点数Ｎ＝４５の場合は、図７（ｃ）に対応しており、分割数ｎ＝８であるから、ｓ、ｔ、ｕの値は１／８ずつ変化させることになる。色点７３０、７３１、７３３、７３６、７４０、７４５、７５１、７５８、７６６のそれぞれの位置（座標）は、ｕ＝０、ｓ＝１−（ｉ／８）、ｔ＝ｉ／８、但し、ｉ＝０，１，２，・・・，８でのＢ（ｓ，ｔ，０）として求まる。色点７３０、７３２、７３５、７３９、７４４、７５０、７５７、７６５、７７４のそれぞれの位置（座標）なら、ｔ＝０、ｓ＝１−（ｉ／８）、ｕ＝ｉ／８、但し、ｉ＝０，１，２，・・・，８でのＢ（ｓ、０、ｕ）となる。色点７６６、７６７、７６８、７６９、７７０、７７１、７７２、７７３、７７４の位置（座標）なら、ｓ＝０、ｔ＝１−（ｉ／８）、ｕ＝ｉ／８、但し、ｉ＝０，１，２，・・・，８でのＢ（０，ｔ，ｕ）である。また、色点７３３、７３４，７３５の３点であれば、いずれの位置（座標）も、ｓ＝３／４であって、それぞれ、Ｂ（３／４，１／４，０）、Ｂ（３／４，１／８，１／８）、Ｂ（３／４，０，１／４）である。色点７５３の位置（座標）であれば、色点７５１の位置（座標）がＢ（１／４，３／４，０）、色点７５７の位置（座標）がＢ（１／４，０，３／４）であるのに対し、Ｂ（１／４，１／２，１／４）となる。色点７６３の位置（座標）であれば、色点７５８の位置（座標）がＢ（１／８，７／８，０）、色点７６５の位置（座標）がＢ（１／８，０，７／８）であるのに対し、Ｂ（１／８，１／４，５／８）となる。
【００５５】
かくの如く、一般に分割数がｎである場合、ｓ、ｔ、ｕの値をそれぞれ０から１まで１／ｎずつ変化させ、ｓ＋ｔ＋ｕ＝１の制限をみたす、Ｎ＝（ｎ＋１）（ｎ＋２）／２通りの組み合わせに応じてＢ（ｓ，ｔ，ｕ）を求めることで、（ｎ＋１）（ｎ＋２）／２個のそれぞれの色点の位置（座標）を求めることができる。ｓ＝１−（ｊ／ｎ）、但し、ｊ＝０，１，２，・・・，ｎ、のそれぞれのｊに対し、ｔ＋ｕ＝ｊ／ｎをみたすｔとｕの組み合わせは、１＋（ｎ−ｊ）通りある。即ち、Ｂ（１−（ｊ／ｎ），ｔ，ｕ）は１＋（ｎ−ｊ）個ある。結局、分割数ｎのときは、ｓ＋ｔ＋ｕ＝１を満たすｓ，ｔ，ｕの組み合わせは、（ｎ＋１）＋ｎ＋（ｎ−１）＋（ｎ−２）＋・・・＋２＋１＝（ｎ＋１）（ｎ＋２）／２＝Ｎ通り存在する。これら（ｎ＋１）（ｎ＋２）／２＝Ｎ個のＢ（ｓ，ｔ，ｕ）が、最大色点数Ｎ＝（ｎ＋１）（ｎ＋２）／２個の各色点の座標を与える。
【００５６】
なお、３頂点曲線メッシュは必ずしも、全ての頂点間が曲線であるわけではなく、一般的には、直線となる頂点間が存在する。例えば、頂点Ｐ１と頂点Ｐ２との間が直線の場合には、上記の図７（ａ）において、頂点７０１（Ｐ１）と頂点７０２（Ｐ２）とを結ぶ辺が直線となる。この場合には制御点７０４と制御点７０５がこの直線上にあり、それらの座標ｃ１、ｃ２がそれぞれ
ｃ１＝（２ｐ１＋ｐ２）／３          （式３）
ｃ２＝（ｐ１＋２ｐ２）／３          （式４）
であるとして、上述の（式１）、（式２）により求めれば良い。
【００５７】
加えて、頂点Ｐ３と頂点Ｐ１との間も直線の場合、即ち、頂点Ｐ２と頂点Ｐ３との間のみが曲線である場合には、さらに制御点７０８と制御点７０９がこの頂点Ｐ３と頂点Ｐ１との間の直線上にあり、それらの座標ｃ５、ｃ６がそれぞれ
ｃ５＝（２ｐ３＋ｐ１）／３          （式５）
ｃ６＝（ｐ３＋２ｐ１）／３          （式６）
であるとして、上述の（式１）、（式２）により求めれば良い。
【００５８】
さらに、頂点Ｐ２と頂点Ｐ３との間もまた直線の場合、即ち、全ての頂点間が直線である場合には、制御点７０６と制御点７０７が、頂点Ｐ２と頂点Ｐ３との間の直線上にあり、それらの座標ｃ３、ｃ４がそれぞれ
ｃ３＝（２ｐ２＋ｐ３）／３          （式７）
ｃ４＝（ｐ２＋２ｐ３）／３          （式８）
であるとして、上述の（式１）、（式２）により求めれば良い。しかし、上述の（式１）、（式２）に、（式３）〜（式８）の条件を加え、かつ、ｓ＋ｔ＋ｕ＝１であること等を基に（式１）、（式２）を簡素化すると、
Ｂ（ｓ，ｔ，ｕ）＝s・ｐ１＋ｔ・ｐ２＋ｕ・ｐ３        （式９）
が得られるので、３頂点曲線メッシュの全ての頂点間が直線である場合には、上記（式９）に基づいて各色点の位置（座標）を求めても良い。この場合には、上記（式１）、（式２）を用いるよりも、はるかに少ない演算量で各色点の位置（座標）を求めることができる。
【００５９】
図１に戻って、次に色情報抽出部１０５は、それぞれの３頂点曲線メッシュについて、該３頂点曲線メッシュ内のそれぞれの色点の色情報を取得する。３頂点曲線メッシュにおける４５個の色点のそれぞれの座標は色点候補位置設定部１０４が求めたのであるから、色情報抽出部１０５は、入力画像において該色点の座標における画素値を該色点の色情報として取得する。なお、色点候補位置設定部１０４が求めた座標は必ずしも整数値とはならずに、一般には入力画像中の画素の中心位置からずれる。この画素の中心位置からのずれに対しては、いわゆる最近傍（nearest neighbor）法と称される補間法、即ち、座標の小数部を四捨五入して整数化し、該当する位置の入力画像の画素の画素値をもって、該色点の色情報とすることで対処する。なお、補間法は、最近傍法に限らない。座標の小数部の示す入力画像上の位置を取り囲む周囲４画素の画素値を用いて、公知の双線形（bi-linear）補間法により求めた補間値をもって該色点の色情報としてもよい。また近傍１６画素を用いた公知のbi-cubic補間法による補間値を用いてももちろん良い。最近傍法よりは、双線形補間法、双線形補間法よりはbi-cubic補間法の方が、より高画質であるとされているが、一方で、計算量はこの順で増加し、画質と演算量の間にはトレードオフがある。
【００６０】
次に、許容値設定部１０６の動作を説明する。上述のように、３頂点曲線メッシュにおける色点は、その数が少なければデータ容量は少なくて済むが、一方で３頂点曲線メッシュ内に含まれている画像の色変化の複雑さをなるべく忠実に再現できるようにするには多数の色点をもって表現する必要がある。このため、色点数を必要以上に削減すると、再現画像は元の画像に比して画質劣化が大きくなる。許容値設定部１０６は、色点数の削減を図る上で、必要以上の削減を抑えるための基準とする値としての誤差許容値を定める。本実施形態では、許容値設定部１０６は、最大色点数における色点一点当たりの誤差値の許容閾値を固定値Ｔｈとして設定する。例えば、Ｔｈ＝１．０とする。この値は、以降の許容色点情報生成部１０７内の判定部１０７４で用いられることになる。
【００６１】
許容色点情報生成部１０７は、３頂点曲線メッシュごとに、該３頂点曲線メッシュに設定すべき色点を確定するものであり、色点候補削減部１０７１、色情報補間部１０７２、誤差生成部１０７３、判定部１０７４、色点情報確定部１０７５、を有する。以下では、１つの３頂点曲線メッシュに対する許容色点情報生成部１０７の動作について説明する。然るに、実際には、許容色点情報生成部１０７は、以下に説明する処理をそれぞれの３頂点曲線メッシュについて行うことになる。
【００６２】
色点候補削減部１０７１は、最大色点数決定部１０３が設定した最大色点数Ｎに対応する分割指数をｋとすると、分割指数（ｋ−１）に対応する数の色点の３頂点曲線メッシュ内の位置を、色点候補位置設定部１０４と同様にして求める。例えばＮ＝４５の場合、上記の通りｋ＝３であるから、ｋ＝２に対応する１５個の色点（図７（ｂ）に示した色点７１０〜７２４）のそれぞれの位置を求める。そして、色点候補削減部１０７１は、分割指数ｋに対応する数（最大色点数）の色点のうち、分割指数（ｋ−１）に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。なお、「色点間で位置が同じ」とは、「全く同じ」、ということに限るものではなく、位置の差が許容範囲内であれば「同じ」として構わない。色点候補削減部１０７１の動作を、図１０を例にとり説明する。図１０では説明を簡単にするために頂点間の辺を直線としているが、頂点間の辺が曲線であっても、以下の説明は同様に適用することができる。
【００６３】
図１０（ａ）は、分割数＝１である場合、すなわち分割指数が０である場合における色点を示しており、この場合、色点の数は３となる。図１０（ｂ）は、分割数＝２である場合、すなわち分割指数が１である場合における色点を示しており、この場合、色点の数は６となる。図１０（ｃ）は、分割数＝４である場合、すなわち分割指数が２である場合における色点を示しており、この場合、色点の数は１５となる。図１０（ｄ）は、分割数＝８である場合、すなわち分割指数が３である場合における色点を示しており、この場合、色点の数は４５となる。なお、図１０（ｄ）は、図１０（ａ）〜（ｃ）に比して大きく表現してある。これは、図７（ｃ）の場合と同様に、４５点もの色点を図中に表記すると、図１０（ａ）〜（ｃ）の色点の表現に比し、図が込み入ったものとなり、見づらくなってしまわないようにするためである。
【００６４】
ここで、図１０（ａ）に示す如く、分割数＝１の場合における３個の色点は白丸で示している。図１０（ｂ）では、分割数＝２の場合における６個の色点を示しているが、図１０（ａ）に示した色点と同じ色点は白丸で示しており、図１０（ａ）に示した色点と異なる色点は二重丸で示している。図１０（ｃ）では、分割数＝４の場合における１５個の色点を示しているが、図１０（ａ）に示した色点と同じ色点は白丸、図１０（ｂ）に示した色点と同じ色点は二重丸で示しており、図１０（ａ）、（ｂ）に示した色点と異なる色点は黒丸で示している。図１０（ｄ）では、分割数＝８である場合における４５個の色点を示しているが、図１０（ａ）に示した色点と同じ色点は白丸、図１０（ｂ）に示した色点と同じ色点は二重丸、図１０（ｃ）に示した色点と同じ色点は黒丸で示しており、図１０（ａ）、（ｂ）、（ｃ）に示した色点と異なる色点は星形で示している。
【００６５】
上記の通り、色点候補削減部１０７１は、最大色点数決定部１０３が設定した最大色点数Ｎに対応する分割指数をｋとすると、分割指数ｋに対応する数（最大色点数）の色点のうち、分割指数（ｋ−１）に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。最大色点数Ｎ＝４５の場合、３頂点曲線メッシュにおける４５個の色点の配置は図１０（ｄ）のようになり、分割指数＝２に対応する１５個の色点の３頂点曲線メッシュ内における配置は図１０（ｃ）のようになり、図１０（ｄ）に示した色点のうち図１０（ｃ）に示した色点と位置が異なる色点は、色点１００５や色点１００６など、星形で示した色点であるから、この場合、色点候補削減部１０７１は、星形の色点を削減候補色点として決定することになる。
【００６６】
なお、詳しくは後述するが、本実施形態では、削減候補色点として決定した色点を削除しても３頂点曲線メッシュの画質が基準以上であると判定部１０７４が判断した場合には、色点候補削減部１０７１は、削減候補色点として決定しなかった色点から更に削減候補色点を決定する。例えば、図１０（ｄ）に示す如く、３頂点曲線メッシュに４５個の色点を設定した状態で色点候補削減部１０７１が処理を開始し、その結果、星形の色点を削除しても３頂点曲線メッシュの画質が基準以上であると判定部１０７４が判断した場合には、この星形の色点を削除し、その結果、３頂点曲線メッシュ上の色点は図１０（ｃ）に示す如く、１５個となる。そして色点候補削減部１０７１は、同様の処理を行うことで、この１５個の色点のうち、図１０（ｂ）の６個の色点と位置が異なる色点（黒丸の色点）を削減候補色点として決定する。そして、黒丸の色点を削除しても３頂点曲線メッシュの画質が基準以上であると判定部１０７４が判断した場合には、この黒丸の色点を削除し、その結果、３頂点曲線メッシュ上の色点は図１０（ｂ）に示す如く、６個となる。
【００６７】
図１に戻って、色情報補間部１０７２は、３頂点曲線メッシュにおいて色点候補削減部１０７１が削減候補色点として決定した色点の色情報を、該３頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。例えば、図１０（ｄ）において星形の色点を削減候補色点として決定した場合、星形の色点の色情報を、白丸の色点、二重丸の色点、黒丸の色点等の色情報を用いて補間により求める（例えば、それぞれの星型の色点に対し、白丸の色点、二重丸の色点、黒丸の色点の中の最も近い２つの色点の色情報の平均値を、該星形の色点の色情報とする）。より具体的には、図１０（ｄ）の場合、色点１００５の色情報は、色点１００１の色情報と色点１００４の色情報との平均値とし、色点１００６の色情報は、色点１００４の色情報と色点１００３の色情報との平均値とする。これは、色点１００５は、色点１００１と色点１００４との間の辺上の中間にあり、色点１００６は、色点１００４と色点１００３との間の辺の中間にあることから、容易に理解できる。
【００６８】
また、星型の色点に加えて、黒丸の色点も削減候補色点と決定した場合には、黒丸の色点の色情報を、削減候補色点とはなっていない白丸の色点の色情報、二重丸の色点の色情報から補間して求める（例えば、それぞれの黒丸の色点に対し、白丸の色点、二重丸の色点の中の最も近い２つの色点の色情報の平均値を、該黒丸の色点の色情報とする）。図１０（ｃ）に着目すると、例えば、色点１００４の色情報は、色点１００１の色情報と色点１００３の色情報との平均値とする。これは、色点１００４は、色点１００１と色点１００３との間の辺上の中間にあることから、容易に理解できる。黒丸の色点の色情報を求めた後は、白丸の色点、二重丸の色点に加え、補間により色情報を求めた黒丸の色点をも用いて、上述の方法と同様に星形の色点の色情報を補間により求める。
【００６９】
以下同様に、星型の色点、黒丸の色点に加えて、二重丸の色点も削減候補色点である場合には、まず、二重丸の色点の色情報を、削減候補色点とはなっていない白丸の色点の色情報から補間して求める。図１０（ｂ）に着目すると、例えば、色点１００３の色情報は、色点１００１の色情報と色点１００２の色情報の平均値とする。これは、色点１００３は、色点１００１と色点１００２との間の辺上の中間にあることから、容易に理解できる。
【００７０】
ここで、ある分割指数ｋｗ（０＜ｋｗ＜ｋ、但し、ｋは最大色点数に対応する分割指数で、以下、最大分割指数とも称する）における数の色点のうち削減候補色点として決定した色点に着目する。削減候補色点の位置Ｂ（ｌ１，ｍ１，ｑ１）における色情報を、その最近傍にある削減候補色点ではない色点のうちの２つの色情報（Ｂ（ｌ０，ｍ０，ｑ０）における位置の色情報、Ｂ（ｌ２，ｍ２，ｑ２）における位置の色情報）の平均値とする。ただし、ｌ１、ｍ１、ｑ１において、ｌ０＝ｌ１＝ｌ２、ｍ０＝ｍ１＝ｍ２、ｑ０＝ｑ１＝ｑ２、のいずれか一つ、かつ、そのひとつのみが成立している。また、成立しなかった２つも含めて、ｌ１＝（ｌ０＋ｌ２）／２、ｍ１＝（ｍ０＋ｍ２）／２、ｑ１＝（ｑ０＋ｑ２）／２が成立している。
【００７１】
次に、誤差生成部１０７３は、色点候補削減部１０７１が削減候補色点として決定したそれぞれの色点について、色情報補間部１０７２が該色点について補間により求めた色情報と、色情報抽出部１０５が該色点について入力画像から取得した色情報と、の差分（誤差）を求める。差分を求める方法には様々な方法が考え得るが、ここでは一例として、削減候補色点として決定した色点ごとに、色情報補間部１０７２が該色点について補間により求めた色情報と、色情報抽出部１０５が該色点について入力画像から取得した色情報と、の差の二乗を上記の「差分」として求める。そして、誤差生成部１０７３は、削減候補色点として決定したそれぞれの色点について求めた差分の総和を最大色点数で割り、最大色点数に基づく、色点一点当たりの誤差値θｋ−１（差分二乗値）を求める。なお、削減候補点ではない色点に関しては、差分は０となるため、前述の最大色点数に基づく、色点一点当たりの誤差値θｋ−１に影響を与えない。
【００７２】
次に、判定部１０７４は、誤差生成部１０７３が求めた「色点一点当たりの誤差値θｋ−１」と、許容値設定部１０６が設定した誤差許容値（固定値Ｔｈ）と、の大小比較を行い、誤差値θｋ−１が誤差許容値よりも小さいか否かを判断する。この判断の結果、誤差値θｋ−１が誤差許容値よりも小さい場合には、削減候補色点数をさらに増やすことができると判断し、最大色点数Ｎの色点から更に削減候補色点を決定させるべく、色点候補削減部１０７１以降に動作を行わせる。
【００７３】
これにより、色点候補削減部１０７１は、最大色点数決定部１０３が設定した最大色点数Ｎに対応する分割指数をｋとすると、分割指数（ｋ−２）に対応する数の色点の３頂点曲線メッシュ内の位置を、色点候補位置設定部１０４と同様にして求める。そして、色点候補削減部１０７１は、分割指数ｋに対応する数（最大色点数）の色点のうち非削減候補色点（すなわち、分割指数（ｋ−１）に対応する数の色点）を対象とし、該対象とする非削減候補色点のうち、分割指数（ｋ−２）に対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。そして、色情報補間部１０７２は、３頂点曲線メッシュにおいて色点候補削減部１０７１が削減候補色点として決定した色点の色情報を、該３頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。そして誤差生成部１０７３は、色点候補削減部１０７１が削減候補色点として決定した色点一点当たりの誤差値θｋ−２（差分二乗値）を求める。判定部１０７４は、誤差値θｋ−２と誤差許容値（固定値Ｔｈ）との大小比較を行い、誤差値θｋ−２が誤差許容値よりも小さい場合には、削減候補色点数をさらに増やすことができると判断し、色点候補削減部１０７１に対して、最大色点数Ｎの色点から更に削減候補色点を決定させるべく、色点候補削減部１０７１以降に動作を行わせる。
【００７４】
このように、色点候補削減部１０７１、色情報補間部１０７２、誤差生成部１０７３による「誤差値θｋ−ｍ（ｍは１以上の整数）を求める」処理を、ｍ＝１，２，…について行い、誤差値θｋ−ｌ（１≦ｌ≦ｋ）が誤差許容値以上となった時点で、判定部１０７４は、削減候補色点数をさらに増やすことは適切ではないと判断し、その旨を色点情報確定部１０７５に通知する。
【００７５】
色点情報確定部１０７５は、直前に吟味した分割指数（上記の例の場合、（ｋ−ｍ））では、適切な条件が維持できなくなることが判明したために動作がここに移されてきたことを考慮する。即ち、直前に吟味した分割指数より１だけ大きな分割指数を、３頂点曲線メッシュにおける適切な分割数（以下、最終分割数と称する）として扱う。この最終分割数に対応する色点数での色点の位置とそれら位置での色情報をもって、該３頂点曲線メッシュにおける色点情報とする。そして、メッシュ生成部１０２で生成した全ての３頂点曲線メッシュについて色点情報の生成を完了していれば、色点情報確定部１０７５は、その旨をメッシュ情報出力部１０８に通知する。一方、未だ色点情報を生成していない３頂点曲線メッシュが残っている場合には、色点情報確定部１０７５は、色点情報が未確定の３頂点曲線メッシュを対象として、最大色点数決定部１０３以降の動作を行わせる。
【００７６】
メッシュ情報出力部１０８では、以上説明した動作で求められた３頂点曲線メッシュの数と各３頂点曲線メッシュの頂点に関する情報や、各３頂点曲線メッシュにおける色点数や色点の位置、それらの位置における色情報等を含むメッシュ情報を出力する。即ち、これまでの処理で得られた３頂点曲線メッシュの情報をベクトル情報として出力する。
【００７７】
図１の最大色点数決定部１０３以降の各機能部による処理について、図９のフローチャートを用いて説明する。なお、図９のフローチャートに従った処理は、１つの３頂点曲線メッシュに対する処理であるから、実際には、図９のフローチャートに従った処理は、メッシュ生成部１０２が生成したそれぞれの３頂点曲線メッシュに対して行われることになる。また、図９のフローチャートに従った処理は、以上説明した処理と異なる部分があるが、何れも実質的には同じ処理である。
【００７８】
＜ステップＳ９０１０＞
最大色点数決定部１０３は、３頂点曲線メッシュの最大分割指数を設定する。ここでは最大分割指数＝３とする。
【００７９】
＜ステップＳ９０２０＞
最大色点数決定部１０３は、ステップＳ９０１０で設定した最大分割指数に対応する最大色点数Ｎを設定する。最大分割指数＝３の場合、図１１からＮ＝４５となる。次に、色点候補位置設定部１０４は、３頂点曲線メッシュ内における４５個の色点のそれぞれの位置（座標）を求め、色情報抽出部１０５は、４５個の色点のそれぞれの位置における色情報を、入力画像から取得する。
【００８０】
＜ステップＳ９０３０＞
許容値設定部１０６は、色点数の削減を図る上で、必要以上の削減を抑えるための基準とする値としての誤差許容値Ｔｈを定める。ここではＴｈ＝１．０とする。
【００８１】
＜ステップＳ９０４０＞
色点候補削減部１０７１は、現在分割数を示す変数Ａに、ステップＳ９０１０で設定した最大分割指数＝３を設定する。
【００８２】
＜ステップＳ９０５０＞
色点候補削減部１０７１は、直前分割数を示す変数Ｂに、変数Ａの値を設定する。
【００８３】
＜ステップＳ９０６０＞
色点候補削減部１０７１は、変数Ａの値を１つデクリメントする。
【００８４】
＜ステップＳ９０７０＞
色点候補削減部１０７１は、変数Ａの値が０以上であるか否かを判断する。この判断の結果、変数Ａの値が０以上である場合には、処理はステップＳ９０８０に進み、変数Ａの値が０未満である場合には、処理はステップＳ９１２０に進む。
【００８５】
＜ステップＳ９０８０＞
色点候補削減部１０７１は、分割指数Ａに対応する数の色点の３頂点曲線メッシュ内の位置を、色点候補位置設定部１０４と同様にして求める。そして、色点候補削減部１０７１は、分割指数Ｂに対応する数の色点のうち、分割指数Ａに対応する数の色点と、その位置が異なる色点を、削減候補色点として決定する。
【００８６】
＜ステップＳ９０９０＞
色情報補間部１０７２は、３頂点曲線メッシュにおいて色点候補削減部１０７１が削減候補色点として決定した色点の色情報を、該３頂点曲線メッシュにおいて削減候補色点として決定されなかった色点の色情報から補間により求める。
【００８７】
＜ステップＳ９１００＞
誤差生成部１０７３は、色点候補削減部１０７１が削減候補色点として決定したそれぞれの色点について、色情報補間部１０７２が該色点について補間により求めた色情報と、色情報抽出部１０５が該色点について入力画像から取得した色情報と、の差分を求める。そして、誤差生成部１０７３は、削減候補色点として決定したそれぞれの色点について求めた差分の総和を最大色点数で割り、最大色点数に基づく、色点一点当たりの誤差値θｋ−１（差分二乗値）を求める。
【００８８】
＜ステップＳ９１１０＞
判定部１０７４は、誤差値θｋ−１が誤差許容値よりも小さいか否かを判断する。この判断の結果、誤差値θｋ−１が誤差許容値よりも小さい場合には、処理はステップＳ９０５０に進み、誤差値θｋ−１が誤差許容値以上である場合には、処理はステップＳ９１２０に進む。
【００８９】
＜ステップＳ９１２０＞
色点情報確定部１０７５は、最終分割数Ｂに対応する色点数での色点の位置とそれら位置での色情報をもって、該３頂点曲線メッシュにおける色点情報とする。もちろん、色点情報には、色点に係る他の情報を含めても良い。
【００９０】
＜第１の実施形態の変形例＞
図１に示した各部はハードウェアで構成しても良いが、ソフトウェア（コンピュータプログラム）として実装しても良い。この場合、このソフトウェアは、ＰＣ（パーソナルコンピュータ）等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのＣＰＵがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能（図１に示した各部の機能）を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。図１２を用いて、第１の実施形態に係る画像処理装置として適用可能なコンピュータのハードウェア構成例について説明する。
【００９１】
ＣＰＵ１５０１は、ＲＡＭ１５０２やＲＯＭ１５０３に格納されているコンピュータプログラムやデータを用いて処理を実行することで、コンピュータ全体の動作制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行若しくは制御する。即ち、図１に示した各部が行うものとして上述した各処理を実行若しくは制御する。
【００９２】
ＲＡＭ１５０２は、外部記憶装置１５０７や記憶媒体ドライブ１５０８からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１５０９を介して外部装置から受信したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１５０２は、ＣＰＵ１５０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１５０２は、各種のエリアを適宜提供することができる。ＲＯＭ１５０３には、コンピュータの設定データや、ブートプログラムなどが格納されている。
【００９３】
キーボード１５０４、マウス１５０５は、コンピュータの操作者が操作することで、各種の指示をＣＰＵ１５０１に対して入力することができるユーザインターフェースの一例である。例えば、上記の最大分割指数等、設定するものとして説明した各種の情報は、ユーザがキーボード１５０４やマウス１５０５を操作することで入力しても構わない。
【００９４】
表示装置１５０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１５０１による処理結果を画像や文字などをもって表示することができる。例えば、上記入力画像を表示したり、３頂点曲線メッシュ群などを表示したりすることができる。
【００９５】
外部記憶装置１５０７は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１５０７には、ＯＳ（オペレーティングシステム）や、図１に示した各部の機能をＣＰＵ１５０１に実現させるためのコンピュータプログラムやデータ、上記入力画像のデータ、既知の情報として説明した情報等が保存されている。外部記憶装置１５０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１５０１による制御に従って適宜ＲＡＭ１５０２にロードされ、ＣＰＵ１５０１による処理対象となる。
【００９６】
記憶媒体ドライブ１５０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、該読み出したコンピュータプログラムやデータを外部記憶装置１５０７やＲＡＭ１５０２に出力する。なお、外部記憶装置１５０７に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ１５０８に読み取らせても良い。
【００９７】
Ｉ／Ｆ１５０９は、外部装置をコンピュータに接続する為のものである。例えば、ディジタルカメラなど、上記入力画像を取得するための装置を、このＩ／Ｆ１５０９に接続し、この装置から入力画像をＩ／Ｆ１５０９を介してＲＡＭ１５０２や外部記憶装置１５０７に取得するようにしても良い。１５１０は、上述の各部を繋ぐバスである。
【００９８】
上述構成において、本コンピュータの電源がＯＮになると、ＣＰＵ１５０１はＲＯＭ１５０３に格納されている上記ブートプログラムに従って、外部記憶装置１５０７からＯＳをＲＡＭ１５０２にロードする。この結果、キーボード１５０４、マウス１５０５を介した情報入力操作が可能となり、表示装置１５０６にＧＵＩを表示することが可能となる。ユーザが、キーボード１５０４やマウス１５０５を操作し、外部記憶装置１５０７に格納された画像処理用アプリケーションプログラムの起動指示を入力すると、ＣＰＵ１５０１はこのプログラムをＲＡＭ１５０２にロードし、実行する。これにより、本コンピュータが上記の画像処理装置として機能することになる。
【００９９】
ＣＰＵ１５０１が実行する画像処理用のアプリケーションプログラムは、基本的に図１の各処理部、及び、図９の各ステップに示す各構成要素に相当する関数を備えることになる。
【０１００】
［第２の実施形態］
第１の実施形態でも述べたが、第１の実施形態では、最大色点数Ｎ＝４５としたが、これは説明を具体的に行うためであって、第１の実施形態はＮ＝４５に特化した実施形態ではなく、Ｎは他の値であっても構わない。
【０１０１】
また、第１の実施形態では、最大色点数Ｎは全ての３頂点曲線メッシュで同じとしたが、３頂点曲線メッシュごとに、３頂点曲線メッシュの面積などに応じた適当な最大色点数Ｎを設定しても構わない。例えば、３頂点曲線メッシュの面積（若しくは面積の大小に応じて大小となる値）より少ない値や、３頂点曲線メッシュを構成する三頂点間を繋ぐ３本の線の中で最も長い線の線長より小さな値を分割数としたときに、対応する色点数としても良い。３頂点曲線メッシュの面積とは、３頂点曲線メッシュ内に含まれる画素数のことであるが、該３頂点曲線メッシュを構成する三頂点のそれぞれの座標値から求まる、該三頂点で構成される三角形の面積をもって、該３頂点曲線メッシュの面積としてみなしてもよい。
【０１０２】
例えば、ある３頂点曲線メッシュの面積（若しくは面積の大小に応じて大小となる値）が４２である場合には、最大色点数はそれより小さな１５とする等の決め方でもよい。また、３頂点曲線メッシュの三頂点間を繋ぐ３本の線の中で最長の線長が７のときには分割数４に対応する色点数１５とする等の決め方であってもよい。面積に着目すると、広い３頂点曲線メッシュには多めの、狭い３頂点曲線メッシュには少なめの最大色点数を取ることとなり、最大色点数を固定値とするときに比して、３頂点曲線メッシュで表現しなければならない画素数に見合った適応的な値とすることができる。３頂点曲線メッシュの三頂点間を繋ぐ３本の線の中で最長の線長に着目すると、固定的な分割数に対応した色点数とする場合に比し、各線上を冗長に分割することなく、適応的な分割数で分割して得られる色点数を最大色点数とすることができる。
【０１０３】
［第３の実施形態］
第１の実施形態では、誤差許容値Ｔｈの値を１．０として説明したが、これは説明を具体的に行うためであって、第１の実施形態はＴｈ＝１．０に特化した実施形態ではなく、Ｔｈは他の値であっても構わない。
【０１０４】
また、このＴｈの値は、全ての３頂点曲線メッシュで共通であることに限るものではなく、３頂点曲線メッシュごとに、３頂点曲線メッシュの面積などに応じて適応的に定めてもよい。例えば、３頂点曲線メッシュに依らないある固定値を３頂点曲線メッシュの面積で除算した値の様に、３頂点曲線メッシュの面積にほぼ反比例した値として定めても良い。この場合には、最大色点数における色点一点当たりでどの程度の広さを持つ領域を表現するために用いるかといった観点も考慮した値として許容値を適応的に定めていると考えることができる。あるいは、誤差許容値自体は第１の実施形態と同様であっても、判定部１０７４（ステップＳ９１１０）で、色点一点当たりの誤差と誤差許容値（固定値Th）との単順な比較とはせず、３頂点曲線メッシュの面積を考慮した判定をする様に構成してもよい。即ち、誤差値に面積を乗算する等により、誤差値を３頂点曲線メッシュの面積にほぼ比例した値に換算した上で、換算済みの誤差値とＴｈとの大小比較を行うようにしても構わない。さらに、誤差生成部１０７３（ステップＳ９１００）で誤差値自体を３頂点曲線メッシュの面積にほぼ比例した値に換算した値とするように構成しても良い。
【０１０５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
１０２：メッシュ生成部  １０４：色点候補位置設定部  １０５：色情報抽出部  １０７：許容色点情報生成部
【図１】
0006472226.tif 000004
【図２】
0006472226.tif 000005
【図３】
0006472226.tif 000006
【図４】
0006472226.tif 000007
【図５】
0006472226.tif 000008
【図６】
0006472226.tif 000009
【図７】
0006472226.tif 000010
【図８】
0006472226.tif 000011
【図９】
0006472226.tif 000012
【図１０】
0006472226.tif 000013
【図１１】
0006472226.tif 000014
【図１２】
0006472226.tif 000015