(57)【特許請求の範囲】
【請求項１】
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、
閾値と制御点の数とを対応させて記憶する記憶手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする画像処理装置。
【請求項２】
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。
【請求項３】
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理装置。
【請求項４】
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
を具備し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする画像処理装置。
【請求項５】
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
をさらに具備し、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする請求項１から３、５、６のいずれか一項に記載の画像処理装置。
【請求項８】
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、
閾値と制御点の数とを対応させて記憶する記憶手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出する
ことを特徴とする画像処理プログラム。
【請求項９】
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。
【請求項１０】
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化する
ことを特徴とする画像処理プログラム。
【請求項１１】
コンピュータを、
閾値を用いて画像をベクトル化するベクトル化手段と、
前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、
前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段
として機能させるための画像処理プログラムであって、
前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、
前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、
前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、
前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段
としてさらに機能させ、
前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像を対象としたベクトル化の技術がある。
これに関連する技術として、例えば、特許文献１には、少ないデータ量のデータを用いて文字や図形の形状を忠実に再現できる画像処理方法を得ることを目的とし、予め定めておいた端点の候補領域中における輪郭ベクトルの所定数の端点の位置を一度に調整しながら、与えられた輪郭点と輪郭ベクトルとの距離関数を求めて、ノルムが最小になる輪郭ベクトルを得るようにすることが開示されている。
【０００３】
また、例えば、特許文献２には、より少ない符号量で領域形状を多角形近似し、さらに符号量の調整を容易にすることを目的とし、領域形状表現のための許容符号量より、多角形の許容誤差のしきい値を決定し、近似多角形の一辺に注目し、その辺に隣接する２辺を延長してできる交点について、前記の辺を取り除いて前記交点を近似多角形の新たな頂点としたときの近似誤差を測り、近似誤差が最小となる辺を選び出し、近似誤差が閾値未満の場合、前記の辺を取り除き、前記交点を近似多角形の新たな頂点とし、取り除ける辺がなくなるまで以上の処理を続けることが開示されている。つまり、画質（近似精度）を維持しながら、曲線をできるだけ少ない数の線分で表現するための技術である。ここでは、対象とする曲線と線分との距離が予め定められた閾値以下となるまで、線分を分割していくことによって、画質（近似精度）を維持し、また、予め定められた閾値以下となった時点で分割を終了するので、できるだけ少ない線分の数とすることができるようにしている。
【０００４】
また、例えば、特許文献３には、画像領域の形状を少ないデータ量で試行錯誤なく的確に記述することが難しかったことを課題とし、領域の境界線上に複数の注目点をとり、各注目点についてその近傍の参照点の位置も考慮しながら近似曲線を描き、ある注目点に関する近似曲線の誤差が大きいとき、近似曲線を近隣の近似曲線で置き換え、それでも誤差が大きければ参照点の位置を修正し、近似曲線から各注目点における曲率と法線方向を正確に求め、屈曲点、変曲点などの特徴点を検出することが開示されている。
【０００５】
また、例えば、特許文献４には、高画質な外郭データを生成した場合のデータ量を削減したデータ処理装置を提供することを課題とし、鋭角点抽出部は、直線近似部で得られた線分群から、隣接する線分の角度が所定の角度以下となる鋭角点を抽出し、鋭角点間の線分群を線分群Ｃとし、経由点算出部は線分群Ｃを近似する３次ベジエ曲線が通過すると仮定する経由点を算出し、制御点算出部は、線分群Ｃを近似する３次ベジエ曲線が、経由点算出部で算出した経由点を通ると仮定して得られる２元１次連立方程式を解いて、３次ベジエ曲線の２つの制御点を算出し、判定部は、得られた３次ベジエ曲線と線分群Ｃとの誤差が所定値以上となるか否かを判定し、誤差が所定値以上の場合は分割部が線分群Ｃを分割して、分割した線分群をそれぞれ線分群Ｃとして、再び３次ベジエ曲線を求めることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０５−０３５８７１号公報
【特許文献２】特開平０６−０６０１７４号公報
【特許文献３】特開平１０−０９１７９６号公報
【特許文献４】特開２００９−１９９３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を目標とする制御点の数に制御できるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、閾値と制御点の数とを対応させて記憶する記憶手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出することを特徴とする画像処理装置である。
請求項２の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
請求項３の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理装置である。
請求項４の発明は、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段を具備し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段をさらに具備し、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする画像処理装置である。
【００１０】
請求項５の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出することを特徴とする請求項１に記載の画像処理装置である。
【００１１】
請求項６の発明は、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出することを特徴とする請求項１に記載の画像処理装置である。
【００１２】
請求項７の発明は、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段をさらに具備し、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする請求項１から３、５、６のいずれか一項に記載の画像処理装置である。
【００１３】
請求項８の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段と、閾値と制御点の数とを対応させて記憶する記憶手段として機能させるための画像処理プログラムであって、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記閾値算出手段は、前記記憶手段に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出することを特徴とする画像処理プログラムである。
請求項９の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、予め定めた閾値を用いて閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。
請求項１０の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記閾値算出手段は、閾値と制御点数の関係が単調減少か否かの判断を行い、閾値と制御点数の関係が単調減少ではない場合、過去の閾値を用いて次の閾値を算出し、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化することを特徴とする画像処理プログラムである。
請求項１１の発明は、コンピュータを、閾値を用いて画像をベクトル化するベクトル化手段と、前記ベクトル化手段によるベクトル化結果の制御点の数を計測する制御点数計測手段と、前記制御点数計測手段によって計測された制御点の数と目標とする制御点の数とが合致しない場合には、前記制御点数計測手段によって計測された制御点の数に基づいて閾値を算出する閾値算出手段として機能させるための画像処理プログラムであって、前記ベクトル化手段は、前記閾値算出手段によって算出された閾値を用いて前記画像をベクトル化し、前記ベクトル化手段は、ベクトルと前記画像内の線分との誤差が予め定めた条件を満たすまで、該ベクトルを分割し、前記ベクトル化手段によって前記予め定めた条件が満たされた場合に、その１つ手前の分割における誤差を記憶する誤差記憶手段と、前記誤差記憶手段に記憶されている誤差の代表値を算出する代表誤差算出手段としてさらに機能させ、前記閾値算出手段は、代表誤差算出手段によって算出された代表値を用いて、次の閾値を算出することを特徴とする画像処理プログラムである。
【発明の効果】
【００１４】
請求項１の画像処理装置によれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。そして、本構成を有しない場合に比較して、処理の負荷を軽減することができる。
請求項２、３の画像処理装置によれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
請求項４の画像処理装置によれば、対象とする画像に応じた閾値を算出することができる。
【００１６】
請求項５、６の画像処理装置によれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
【００１７】
請求項７の画像処理装置によれば、対象とする画像に応じた閾値を算出することができる。
【００１８】
請求項８の画像処理プログラムによれば、画像をベクトル化する場合にあって、そのベクトル化結果の制御点の数を制御することができる。そして、本構成を有しない場合に比較して、処理の負荷を軽減することができる。
請求項９、１０の画像処理プログラムによれば、閾値と制御点数の関係が単調減少ではない場合においても、ベクトル化結果の制御点の数を制御することができる。
請求項１１の画像処理プログラムによれば、対象とする画像に応じた閾値を算出することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】閾値・制御点数テーブルのデータ構成例を示す説明図である。
【図４】閾値と制御点数の関係例を示すグラフである。
【図５】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図６】第２の実施の形態による処理例を示すフローチャートである。
【図７】閾値・画質目標値テーブルのデータ構成例を示す説明図である。
【図８】閾値と制御点数の関係例を示すグラフである。
【図９】閾値と制御点数の関係例を示すグラフである。
【図１０】閾値と制御点数の関係例を示すグラフである。
【図１１】閾値と制御点数の関係例を示すグラフである。
【図１２】制御点の決定例を示す説明図である。
【図１３】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図１４】第４の実施の形態による処理例を示すフローチャートである。
【図１５】閾値と制御点数の関係例を示すグラフである。
【図１６】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００２１】
第１の実施の形態である画像処理装置は、画像をベクトル化する装置であって、図１に示すように、ベクトル化モジュール１１０、制御点数計測モジュール１２０、閾値算出モジュール１３０、閾値・制御点数記憶モジュール１４０、比較モジュール１５０、ベクトル化結果記憶モジュール１６０を有している。
【００２２】
ベクトル化モジュール１１０は、制御点数計測モジュール１２０、閾値算出モジュール１３０、ベクトル化結果記憶モジュール１６０と接続されている。ベクトル化モジュール１１０は、画像を受け付け、閾値算出モジュール１３０から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果を制御点数計測モジュール１２０、ベクトル化結果記憶モジュール１６０へ渡す。
【００２３】
画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。受け付ける画像は２値画像であるが、多値画像（カラー画像を含む）を受け付けて、２値化処理を行ってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。
【００２４】
また、ここで受け付ける閾値とは、画像のベクトル化に用いる値であって、その閾値を変更することによって、ベクトル化結果の制御点の数も変更されるものである。例えば、受け付けた画像とベクトル化の線分とを制御点において比較した場合の距離（差分、誤差）が閾値以下になるようにベクトル化するものである。
【００２５】
また、ベクトル化処理は背景技術で述べた既存の技術等を用いており、ベクトル化した結果として、例えば、直線、ベジエ曲線、スプライン曲線等がある。
例えば、特許文献４に記載の技術では、画像内の線分群をベジエ曲線の数式で近似して表現するものである。
線分群としては、対象の画像は２値画像であり、画像内の画素を正方形として捉え、対象の２値画像内の黒画素の周囲形状を線分群として捉えたものである。又は、その正方形の周囲形状をまずは（斜めを含む）直線で近似して線分群としてもよい。
特許文献４に記載の技術では、２値画像を数式で表現する場合に、対象画像内のもとの線分群と、ベクトル化した後の近似結果の曲線との距離を計算し、その距離が予め定めた閾値以下となるように制御している。
これらの直線、ベジエ曲線、スプライン曲線等を描画するための情報がベクトル化制御点であり、ベクトル化制御点数とは、例えば、特許文献４に記載の、「始点としての制御点」、「終点としての制御点」、「ベジエ曲線の制御点」の数の和である。又は、ある曲線の終点と、次の曲線の始点は共通化できる場合があるため、「始点としての制御点」及び「ベジエ曲線の制御点」の数としてもよい。なお、このベクトル化制御点の個数によってベクトル化処理の結果のファイル容量が決定される。
【００２６】
制御点数計測モジュール１２０は、ベクトル化モジュール１１０、閾値算出モジュール１３０、比較モジュール１５０と接続されている。制御点数計測モジュール１２０は、ベクトル化モジュール１１０によるベクトル化結果の制御点の数を計測し、その制御点数を閾値算出モジュール１３０、比較モジュール１５０に渡す。
比較モジュール１５０は、制御点数計測モジュール１２０、閾値算出モジュール１３０、ベクトル化結果記憶モジュール１６０と接続されている。比較モジュール１５０は、制御点数計測モジュール１２０によって計測された制御点の数と目標とする制御点の数とを比較する。そして、両者の値が合致しない場合には、閾値算出モジュール１３０に対して、ベクトル化モジュール１１０が用いる次の閾値を算出するように指示する。両者の値が合致する場合には、ベクトル化結果記憶モジュール１６０に記憶されているベクトル化の結果を出力するように指示する。ここで、目標とする制御点の数としては、ベクトル化結果記憶モジュール１６０が出力するファイルのサイズを予め定められたサイズを超えないようにするための制御点の数、又は出力を利用するアプリケーション上の制限から、ファイル形式内に存在し得るベクトル化の制御点の数等であり、その目標制御点数は、１つの数値であってもよいし、範囲のある数値（上限だけを定めた範囲、上限と下限を定めた範囲等）であってもよい。したがって、両者の値が合致する場合とは、その両者の値が一致する場合又は目標制御点数の範囲以内に制御点数計測モジュール１２０によって計測された制御点の数がある場合をいい、本実施の形態による処理が終了する条件である。両者の値が合致しない場合とは、その両者の値が不一致の場合又は目標制御点数の範囲以内に制御点数計測モジュール１２０によって計測された制御点の数がない場合をいい、ベクトル化モジュール１１０等による処理が繰り返される。
【００２７】
閾値算出モジュール１３０は、ベクトル化モジュール１１０、制御点数計測モジュール１２０、閾値・制御点数記憶モジュール１４０、比較モジュール１５０と接続されている。閾値算出モジュール１３０は、比較モジュール１５０からの指示にしたがって（制御点数計測モジュール１２０によって計測された制御点の数と目標とする制御点の数とが合致しない場合）、制御点数計測モジュール１２０によって計測された制御点の数に基づいて閾値を算出する。また、閾値・制御点数記憶モジュール１４０に記憶されている閾値と制御点の数との対応を用いて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、制御点数計測モジュール１２０によって過去に計測された制御点の数と目標とする制御点の数に基づいて、目標とする制御点の数に対応する閾値を算出するようにしてもよい。また、ベクトル化モジュール１１０による１回目又は２回目のベクトル化の処理の場合は、予め定められた値を閾値として算出してもよい。そして、算出した閾値をベクトル化モジュール１１０へ渡す。また、算出した閾値と制御点数計測モジュール１２０によって計測された制御点の数とを対応させて閾値・制御点数記憶モジュール１４０に記憶させる。
閾値・制御点数記憶モジュール１４０は、閾値算出モジュール１３０と接続されている。閾値・制御点数記憶モジュール１４０は、閾値算出モジュール１３０から受け付けた閾値と制御点の数とを対応させて記憶する。また、予め定められた閾値と制御点の数との対応を記憶していてもよい。
【００２８】
ベクトル化結果記憶モジュール１６０は、ベクトル化モジュール１１０、比較モジュール１５０と接続されている。ベクトル化結果記憶モジュール１６０は、ベクトル化モジュール１１０によるベクトル化結果を記憶する。そして、比較モジュール１５０からの指示にしたがって（制御点数計測モジュール１２０によって計測された制御点の数と目標とする制御点の数とが合致する場合）、記憶しているベクトル化結果を出力する。ベクトル化結果を出力するとは、例えば、ベクトル化結果を描画するプリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、文書データベース等の記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
また、ベクトル化結果記憶モジュール１６０は、出力の際に、画像をベクトル化した結果を用いて、画像を直線や曲線などの描画命令に変換してファイル化してもよい。例えば、このようにすることで、ＰＤＦ（（登録商標）Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）、ワードプロセッサアプリケーション（文書作成プログラム）用のファイルの描画命令、ドロー系グラフィックス等のようなベクトルデータで記載されたファイル形式、クリップアートなどのようなファイルを形成してもよい。このようなファイルを形成する場合に、本実施の形態は、ファイルのサイズを予め定められたサイズを超えないように制御すること、又はアプリケーション上の制限から、ファイル形式内に存在するベクトル化制御点数を予め定められた値以下に制御することに用いてもよい。
【００２９】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、ベクトル化モジュール１１０が画像を受け付ける。
ステップＳ２０４では、閾値算出モジュール１３０、比較モジュール１５０が目標制御点数を受け付ける。
ステップＳ２０６では、閾値算出モジュール１３０が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール１１０へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール１４０に記憶されており、これを読み出している。また、２番目（２巡目）の閾値も予め定められており、閾値・制御点数記憶モジュール１４０に記憶されているとする。
ステップＳ２０８では、ベクトル化モジュール１１０がステップＳ２０６で出力された閾値を用いて、ステップＳ２０２で受け付けた画像を対象としてベクトル化を行う。
ステップＳ２１０では、制御点数計測モジュール１２０がベクトル化結果の制御点数を計測する。
ステップＳ２１２では、ベクトル化結果記憶モジュール１６０がベクトル化結果を記憶する。
【００３０】
ステップＳ２１４では、比較モジュール１５０が制御点数と目標制御点数の比較をする。合致した場合（例えば、制御点数が目標制御点数以下の場合）はステップＳ２２４へ進み、それ以外の場合（例えば、制御点数が目標制御点数より大きい場合）はステップＳ２１６へ進む。
ステップＳ２１６では、閾値・制御点数記憶モジュール１４０が閾値算出モジュール１３０から渡された制御点数を記憶する。
ステップＳ２１８では、閾値算出モジュール１３０が新たな閾値を算出する。２番目（２巡目）の閾値の場合は、閾値・制御点数記憶モジュール１４０に記憶されているものをそのまま利用するようにしてもよい。３番目（３巡目）以降は、閾値・制御点数記憶モジュール１４０に記憶されている閾値、制御点数を基にして、新たな閾値を算出する。
ステップＳ２２０では、閾値・制御点数記憶モジュール１４０がステップＳ２１８で算出された閾値を記憶する。
ステップＳ２２２では、ベクトル化モジュール１１０が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップＳ２１０へ戻る。ステップＳ２１０からステップＳ２２２までの処理をステップＳ２１４で合致するまで反復する。
ステップＳ２２４では、比較モジュール１５０の指示にしたがってベクトル化結果記憶モジュール１６０がベクトル化結果を出力する。
【００３１】
閾値算出モジュール１３０では、主に、制御点数計測モジュール１２０によって測定された制御点数、閾値と制御点数のペア、目標制御点数を基にして、閾値を算出する。閾値と制御点数のペアは、図３に例示するような閾値・制御点数テーブル３００で表すことができる。これは、閾値・制御点数記憶モジュール１４０に記憶されている。閾値・制御点数テーブル３００は、閾値欄３１０、制御点数欄３２０を有している。閾値欄３１０は、閾値を記憶する。制御点数欄３２０は、その閾値に対応する制御点数を記憶する。
【００３２】
閾値と制御点数、及び目標制御点数の関係は、図４に例示するようなグラフで表すことができる。
例えば、図４のように閾値（横軸）と制御点数（縦軸）の関係を表すことができれば、目標制御点数を受け付けて、閾値を算出し得る。
制御点数をＮ、閾値をＴとする。制御点数Ｎを閾値Ｔの関数とみなす。例えば、Ｎ＝ｆ（Ｔ）とする。さらに、目標制御点数をＰとする。
このとき、
ｆ（Ｔ）＝Ｐ
を満たすＴを求める問題となる。これは、一般的な数値演算手法（ニュートン法など）で求めることができる。
【００３３】
以下に、単純な例を示す。なお、数値演算手法として他の様々な方法がある。
例えば、初期閾値をＴ０とする。
初期閾値Ｔ０でベクトル化した場合の制御点数が目標制御点数Ｐを満たさない場合、次の閾値Ｔ１を予め定めておいて、次のベクトル化の処理を行う。
初期閾値Ｔ０でベクトル化した場合の制御点数をＮ０、閾値Ｔ１でベクトル化した場合の制御点数をＮ１とする。
この２つのペア（（Ｔ０，Ｎ０）、（Ｔ１，Ｎ１））を用いて、目標制御点数Ｐを満たすＴの推定値Ｔ２を、（Ｔ，Ｎ）の２次元空間において、（Ｔ０，Ｎ０）と（Ｔ１，Ｎ１）を通る直線と、直線Ｎ＝Ｐとの交点のＴ座標として求める。
閾値Ｔ２でも目標制御点数を満たさない場合は、制御点数Ｎ０と制御点数Ｎ１のうち、目標制御点数Ｐに近い方と、その制御点数に対応する閾値と、閾値Ｔ２を用いてベクトル化した場合の制御点数Ｎ２を用いて、次の閾値Ｔ３を算出する。
この処理を繰り返す。
【００３４】
前述の処理では、ｆ（）を直線で近似したが、２次曲線で近似するなどの他の手法を用いてももちろんよい。
また、前述の処理では、一旦ベクトル化した結果をベクトル化結果記憶モジュール１６０に記憶しておいて、最終的に記憶した結果を出力しているが、必ずしも記憶しておく必要はない。最終的に決定された閾値を用いてベクトル化の処理を再度行い、その結果を出力してもよい。
【００３５】
比較モジュール１５０の判断処理（ステップＳ２１４）では、終了条件として、目標制御点数が範囲内である場合として、計測した制御点数が目標制御点数以下である場合、計測した制御点数が目標制御点数の範囲内にある場合の２種類を例示したが、この他に、計測した制御点数と目標制御点数との差が予め定めた範囲内である場合等であってもよい。
【００３６】
また、閾値はベクトル化処理の回数に応じた値としてもよい。例えば、通常、最初の閾値（初期閾値）は画質を保証するために小さめの値とすることが望ましい。そこで、最初の閾値でベクトル化した場合の制御点数が目標制御点数以下であれば、終了としてもよいとする（ベクトル化結果記憶モジュール１６０が出力）。この場合、目標制御点数に合致するように制御するためには、２番目（２巡目）以降の閾値では、最初の閾値よりも大きな値が必要である。閾値が大きくなれば、画質は劣化してしまう。できるだけ画質を劣化させないようにするためには、できるだけ制御点数を目標制御点数に近づけるべきである。そこで、２番目（２巡目）以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
つまり、１回目の終了条件は、「計測した制御点数が目標制御点数以下である」とする。そして、２番目（２巡目）以降の終了条件は、「計測した制御点数と目標制御点数との差が予め定めた範囲内である」とする。
【００３７】
＜第２の実施の形態＞
図５は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第２の実施の形態は、画質目標値を受け付けて、ベクトル化のための閾値を算出するものであり、ベクトル化モジュール５１０、閾値算出モジュール５２０、閾値記憶モジュール５３０、ベクトル化結果記憶モジュール５４０を有している。
ベクトル化モジュール５１０は、閾値算出モジュール５２０、ベクトル化結果記憶モジュール５４０と接続されている。ベクトル化モジュール５１０は、第１の実施の形態におけるベクトル化モジュール１１０と同等のものであり、画像を受け付け、閾値算出モジュール５２０から閾値を受け付けて、その閾値を用いて対象とする画像をベクトル化し、そのベクトル化処理の結果をベクトル化結果記憶モジュール５４０へ渡す。
閾値算出モジュール５２０は、ベクトル化モジュール５１０、閾値記憶モジュール５３０と接続されている。閾値算出モジュール５２０は、画質目標値を受け付けて、閾値記憶モジュール５３０に記憶されている情報を用いて閾値を算出する。そして、その算出した閾値をベクトル化モジュール５１０へ渡す。受け付ける画質目標値は、例えば、本実施の形態に備え付けられたタッチパネル等を用いた利用者による指示である。
【００３８】
閾値記憶モジュール５３０は、閾値算出モジュール５２０と接続されている。閾値記憶モジュール５３０は、画質目標値と閾値のペアが記憶されている。例えば、図７に示す閾値・画質目標値テーブル７００を記憶している。閾値・画質目標値テーブル７００は、閾値欄７１０、画質目標値欄７２０を有している。閾値欄７１０は、閾値を記憶する。画質目標値欄７２０は、画質目標値を記憶する。画質目標値としては、定性的な番号に変換できるものであればよい。例えば、（画質１、画質２、画質３）、（高画質、中画質、低画質）等である。そして、高画質→１、中画質→２、低画質→３のように変換する。定性的な番号に変換するというのは、このことを意味している。
ベクトル化結果記憶モジュール５４０は、ベクトル化モジュール５１０と接続されている。ベクトル化結果記憶モジュール５４０は、第１の実施の形態におけるベクトル化結果記憶モジュール１６０と同等のものであり、ベクトル化モジュール５１０によるベクトル化結果を記憶し、それを出力する。また、出力の際に、ベクトル化結果記憶モジュール１６０と同等のファイル変換を行ってもよい。
【００３９】
図６は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ６０２では、ベクトル化モジュール５１０が画像を受け付ける。
ステップＳ６０４では、閾値算出モジュール５２０が画質目標値を受け付ける。
ステップＳ６０６では、閾値算出モジュール５２０が閾値記憶モジュール５３０を用いて、画質目標値に対応する閾値を算出する。
ステップＳ６０８では、ベクトル化モジュール５１０がステップＳ６０６で算出された閾値を用いて、ステップＳ６０２で受け付けた画像のベクトル化を行う。
ステップＳ６１０では、ベクトル化結果記憶モジュール５４０がベクトル化結果を記憶する。
ステップＳ６１２では、ベクトル化結果記憶モジュール５４０がベクトル化結果を出力する。
【００４０】
＜第３の実施の形態（１）＞
第１の実施の形態では、閾値と制御点数との関係が単調な関数であることを前提としていた。単調な関数であれば、ニュートン法などの数値演算手法を用いて、確実に目標点に到達することができる。
しかし、閾値と制御点数の関係は単調であるとは限らない。これについて、図８、図９の例を用いて説明する。このグラフは、横軸に閾値、縦軸に制御点数をとり、両者の関係を示すものであり、目標制御点数（図８、図９では目標値）とその目標制御点数に合致する閾値ＴＰを示したものである。
まず、最初の閾値ＴＡで点Ａを得たとする。点Ａは、目標制御点数より大であるとする。このとき、新たな閾値を算出し、次の点Ｂを得たとする。
この点Ａと点Ｂを用いて次の閾値を算出すると、その算出した閾値はＴＡよりも小さな値となってしまい、真の値ＴＰに到達することができなくなる。
【００４１】
そこで、第３の実施の形態では、第１の実施の形態のモジュール構成と同等の構成であるが、閾値算出モジュール１３０での処理は次のようにする。
ここで、閾値と制御点数のペアが２つあるとする。つまり、（閾値Ｔ１，制御点数Ｎ１）、（閾値Ｔ２，制御点数Ｎ２）とする。
このとき、過去の閾値と制御点数とのペアを２つ用いて、閾値と制御点数の関係が単調減少であるか否かの判断を行う。そして、閾値と制御点数の関係が単調減少の場合、すなわち
Ｔ１≧Ｔ２、かつ、Ｎ２≧Ｎ１
あるいは、
Ｔ２≧Ｔ１、かつ、Ｎ１≧Ｎ２
の場合に限り、第１の実施の形態の動作を行う。なお、前式で、等号は入らなくてもよい。また、単調減少か否かの判断は、過去に用いた閾値と制御点数のペアを３つ以上用いて判断するようにしてもよい。
この関係が成り立たない場合、
（１）閾値Ｔ１、閾値Ｔ２よりも大きな第３の閾値Ｔ３を次の閾値としてベクトル化モジュール１１０へ出力する。
（２）第３の閾値Ｔ３は予め定めておき、閾値・制御点数記憶モジュール１４０に記憶されているとする。
図９の例を用いて説明すると、閾値算出モジュール１３０は、点Ａおける閾値ＴＡよりも大きく、点Ｂにおける閾値よりも大きい閾値Ｔ３を算出する。そして、ベクトル化モジュール１１０は、その閾値Ｔ３を用いてベクトル化を行う。この結果、制御点数は点Ａでの制御点数よりも小さくなる。つまり、閾値Ｔ３を用いると、点Ａとの関係は、単調減少を実現できるため、図９に例示のように、太い直線を引くことができ、目標制御点数に近い値（Ｔ４）を求めることができる。
【００４２】
＜第３の実施の形態（２）＞
第３の実施の形態（１）では、第３の閾値Ｔ３を次の閾値としてベクトル化モジュール１１０へ出力する、また、第３の閾値は予め定めており、閾値・制御点数記憶モジュール１４０に記憶されているとする、としていた。
しかし、第３の閾値を用いても単調現象が実現できない場合があるため、第３の実施の形態（２）では、次のような形態を採る。図１０の例を用いて説明する。
まず、閾値Ｔ１でベクトル化した場合の制御点数Ｎ１を取得する（図１０の例のＡ点）。この制御点数Ｎ１が終了条件を満たしていれば終了する。
以下、制御点数Ｎ１は、目標制御点数（図１０では目標値）より大であるとする。これは、目標制御点数より小であれば、終了であるためである。
制御点数Ｎ１が終了条件を満たしている値ではない場合、予め定められた閾値Ｔ２を用いて制御点数Ｎ２を取得する（図１０の例のＢ点）。なお、閾値Ｔ２は、予め定めておいてもよいし、次に述べる第４の実施の形態に記載の方法で取得してもよい。この制御点数Ｎ２が終了条件を満たしている値であれば終了する。
【００４３】
次に、閾値算出モジュール１３０が、閾値Ｔ１、閾値Ｔ２と、制御点数Ｎ１、制御点数Ｎ２の関係が単調減少か否かを判断する。判断方法は第３の実施の形態（１）記載の方法と同等でよい。
単調減少の場合には、閾値算出モジュール１３０が、前述の実施の形態（例えば、第１の実施の形態）と同等の方法を用いて、次の閾値を算出する。
単調減少ではない場合、閾値算出モジュール１３０が、過去の閾値である閾値Ｔ２をＫ倍して、新たな閾値Ｔ３（Ｔ３＝Ｋ×Ｔ２）を算出する（ただし、この場合Ｋ＞１）。この閾値Ｔ３を用いて制御点数Ｎ３を取得する。そして、閾値算出モジュール１３０が、閾値Ｔ１、閾値Ｔ３と、制御点数Ｎ１、制御点数Ｎ３の関係が単調減少か否かを判定する。以下、閾値Ｔ１、閾値Ｔｉと、制御点数Ｎ１、制御点数Ｎｉの関係が単調減少となるまで、ｉを増加させる。
ただし、
Ｔｉ＝Ｋ×Ｔ（ｉ−１）
である。なお、閾値Ｔ（ｉ−１）は、閾値Ｔｉよりも１つ前に用いられた閾値である。
このようにすることで、単調減少関係を保証する。
【００４４】
＜第３の実施の形態（２−１）＞
第３の実施の形態（２）では、閾値Ｔｉと次の閾値Ｔ（ｉ−１）の関係を定数Ｋ倍としていたが、Ｋは定数とは限らない。つまり、Ｋをｉの関数Ｋ（ｉ）としてもよい。例えば、最初は、２倍で、次は３倍、次は８倍としてもよい。すなわち、Ｋ（２）＝２，  Ｋ（３）＝３，  Ｋ（４）＝８などとしてもよい。もちろんのことながら、この数値は一例である。
大きな値で一気に変化させてしまうと、閾値推定の精度が落ちるため、最初はできるだけ小さな値を乗じる。ただし、あまり小さな値で変化させると、所望の閾値になかなか到達しない虞がある。
そこで、閾値算出モジュール１３０は、ベクトル化処理の回数にしたがって閾値を増大させる方向で算出するようにしてもよい。例えば、具体的には、最初は小さな倍数をかけてゆっくり変化させて、次第に大きな倍数をかけて変化の速度を速めるものである。
【００４５】
＜第３の実施の形態（２−２）＞
第３の実施の形態（２）、（２−１）では２番目の閾値Ｔ２を用いた場合に終了条件を満たさない場合、閾値Ｔｉ（ｉ＞２）を閾値Ｔ２を用いて算出する例を示した。
しかし、予め定めた閾値を算出した閾値とする。そして、その閾値Ｔｉ（ｉ＞２）についても、予め定めておいてもよい。例えば、予め定めた複数の閾値Ｔｉ（ｉ＞２）をテーブルとして記憶しており、単調減少となるまで、テーブルから順次出力するようにしてもよい。なお、このテーブルは、閾値・制御点数記憶モジュール１４０が記憶する。
【００４６】
＜第３の実施の形態（２−３）＞
第３の実施の形態、第３の実施の形態（２）等では、Ｔｉ＞Ｔ（ｉ−１）の例のみを示していた。
しかし、ニュートン法などで反復的に求めようとする場合には、Ｔｉ＜Ｔ（ｉ−１）の場合もありうる。
すなわち、図１１の例のように、目標制御点数の上限（図１１では目標値上限）と下限（図１１では目標値下限）が設定されている場合であり、かつ、制御点数Ｎ（ｉ−１）が目標制御点数の下限を下回っている場合、Ｔｉ＜Ｔ（ｉ−１）となる。
このような場合であっても、閾値と制御点数との関係が単調減少となるように設定する。
つまり、閾値算出モジュール１３０は、閾値Ｔｉを用いたときに単調減少とならない場合、十分小さな閾値を予め定めておいて、その値を閾値Ｔ（ｉ＋１）として用いてもよい。又は、新たな閾値Ｔ（ｉ＋１）（Ｔ（ｉ＋１）＝Ｋ×Ｔｉ）を算出するようにしてもよい。ただし、この場合Ｋ＜１である。Ｋは定数でもよいし、ｉの関数（ベクトル化処理の回数に応じた値）でもよい。
【００４７】
＜第４の実施の形態＞
第１の実施の形態では、予め定めた最初の閾値を２つ以上記憶しておく必要があった。２つ目以降の閾値は予め定めた閾値であるため、対象とする画像とは全く関係がなく、適切な閾値である保証のないものである。第４の実施の形態は、２つ目以降の閾値を対象とする画像の特性から算出する形態である。
【００４８】
特許文献４に記載の技術において、制御点は以下の手法で決定している。これを図１２の例を用いて説明する。
図１２の例に示す実線は、曲線近似前の直線である。ベクトル化処理とは、この直線を点線の曲線のように近似することである。
まず、図１２（ａ）の例で、直線の線分群（Ａ〜Ｂ）に近似する曲線を引く。線分群と曲線との距離が閾値以上であれば、線分群を２つに分割する。分割結果が図１２（ｂ）の例である。図１２（ｂ）の例のように直線の線分群を（Ａ〜Ｃ）と（Ｃ〜Ｂ）の２つに分割する。分割後のものに対してベクトル化処理を行って、２つの曲線を得る。このように分割すると、制御点数が２倍になる。２つに分割しても閾値を満足しないときにはさらに、曲線を分割していく。最終的に閾値を満足するまで曲線の分割が行われる。
ここで、最終的に閾値を満足したとき、その分割の１つ手前の分割時の曲線と直線の距離（誤差）を記憶しておく。例えば、図１２の例の場合、（Ａ〜Ｃ）の分割で閾値を満足したとき、（Ａ〜Ｂ）の分割時の曲線と直線の距離を記憶しておく。
１つ手前の分割時の距離は、制御点数を１／２倍にしたときの距離に相当するとみなせる。
【００４９】
そこで、第４の実施の形態では、ベクトル化処理の後に、最終的に閾値を満たすように分割できた場合、その分割の１つ手前の分割時の距離を記憶しておくようにする。
図１３は、第４の実施の形態の構成例についての概念的なモジュール構成図である。第４の実施の形態は、図１３の例に示すように、ベクトル化モジュール１３１０、制御点数計測モジュール１３２０、閾値算出モジュール１３３０、閾値・制御点数記憶モジュール１３４０、比較モジュール１３５０、距離記憶モジュール１３６０、代表距離算出モジュール１３７０、ベクトル化結果記憶モジュール１３８０を有している。第１の実施の形態と比較すると、距離記憶モジュール１３６０、代表距離算出モジュール１３７０が付加されたものであり、他のモジュールは第１の実施の形態の対応するモジュールと同等のものであるので説明を省略する。
【００５０】
ベクトル化モジュール１３１０は、制御点数計測モジュール１３２０、閾値算出モジュール１３３０、距離記憶モジュール１３６０、ベクトル化結果記憶モジュール１３８０と接続されており、第１の実施の形態におけるベクトル化モジュール１１０と同等の処理を行った後に、ベクトル化結果と対象とする画像内の線分との誤差である距離が予め定めた条件を満たすまで、そのベクトルを分割する。つまり、ベクトル化処理の後に、ベクトルと対象の線分群との距離が閾値以下となっているか否かを判断し、その閾値を満たすようになるまでベクトルを分割して、ベクトル化処理を繰り返して行う。そして、最終的に閾値を満たすように分割できた場合、その分割の１つ手前の分割時の距離を距離記憶モジュール１３６０に記憶させる。
距離記憶モジュール１３６０は、ベクトル化モジュール１３１０、代表距離算出モジュール１３７０と接続されており、ベクトル化モジュール１３１０によって最終的に閾値を満たすように分割できた場合、その最終分割の１つ手前の分割における距離を記憶する。
【００５１】
代表距離算出モジュール１３７０は、閾値算出モジュール１３３０、距離記憶モジュール１３６０と接続されており、距離記憶モジュール１３６０に記憶されたこれらの距離を用いて、対象としている画像の代表値（代表距離）を算出する。代表距離としては、例えば、平均値、中央値、最頻値、最大値、最小値等、統計量として代表値として用いることのできるもののうちのいずれかを採用する。
ここで、このように定めた代表距離を閾値として使用した場合、制御点数を１／２倍にできるとする。すなわち、いまベクトル化を行ったときの閾値をＴ０、制御点数をＮ０とし、さらに、代表距離をＤとする。また、閾値Ｔと、制御点数Ｎの間の関係は、Ｎ＝ｆ（Ｔ）とする。閾値Ｔ０、制御点数Ｎ０、代表距離Ｄには式（１）のような関係があるとする。
【数１】
0005549261.tif 000002
この関係を図１５に例示する。ここでは、点（Ｔ０，Ｎ０）から点（Ｄ，Ｎ０／２）への直線を引き、この直線が目標制御点数と交差する点を次の閾値Ｔ１として採用する。つまり、閾値算出モジュール１３３０は、ベクトル化モジュール１３１０、制御点数計測モジュール１３２０、閾値・制御点数記憶モジュール１３４０、比較モジュール１３５０、代表距離算出モジュール１３７０と接続されており、初期閾値Ｔ０、その初期閾値Ｔ０を用いたベクトル化処理を行った場合の制御点数Ｎ０、代表距離算出モジュール１３７０によって算出された代表距離Ｄを用いて、閾値を算出して、その算出した閾値をベクトル化モジュール１３１０に渡す。
なお、点（Ｔ０，Ｎ０）から点（Ｄ，Ｎ０／２）へは直線の他に、多次曲線等であってもよい。ここでは、閾値Ｔ０から閾値Ｔ１への算出方法を述べたが、閾値Ｔ２以降についても以下同様に算出する。
【００５２】
図１４は、第４の実施の形態による処理例を示すフローチャートである。
ステップＳ１４０２では、ベクトル化モジュール１３１０が画像を受け付ける。
ステップＳ１４０４では、閾値算出モジュール１３３０、比較モジュール１３５０が目標制御点数を受け付ける。
ステップＳ１４０６では、閾値算出モジュール１３３０が初期閾値を算出する。つまり、予め定められた初期の閾値をベクトル化モジュール１３１０へ出力する。なお、予め定められた初期の閾値は、閾値・制御点数記憶モジュール１３４０に記憶されており、これを読み出している。
ステップＳ１４０８では、ベクトル化モジュール１３１０がステップＳ１４０６で算出された閾値を用いて、ステップＳ１４０２で受け付けた画像を対象としてベクトル化を行う。ここでのベクトル化処理は、閾値を満たすまで（例えば、対象線分とベクトル化結果との距離が閾値以下になるまで）、前述の分割処理を行ったものである。
ステップＳ１４１０では、制御点数計測モジュール１３２０がベクトル化結果の制御点数を計測する。
ステップＳ１４１２では、ベクトル化結果記憶モジュール１３８０がベクトル化結果を記憶する。
【００５３】
ステップＳ１４１４では、比較モジュール１３５０が制御点数と目標制御点数の比較をする。合致した場合（例えば、制御点数が目標制御点数以下の場合）はステップＳ１４２８へ進み、それ以外の場合（例えば、制御点数が目標制御点数より大きい場合）はステップＳ１４１６へ進む。
ステップＳ１４１６では、閾値・制御点数記憶モジュール１３４０が閾値算出モジュール１３３０から渡された制御点数を記憶する。
ステップＳ１４１８では、距離記憶モジュール１３６０が距離を記憶する。ここでの距離とは、ステップＳ１４０８で、ベクトル化モジュール１３１０がベクトル化処理を行ったときに、閾値を満たす１つ手前（つまり、ステップＳ１４０８で最終的な分割処理を行う直前）の状態における距離である。ベクトルが複数ある場合は、その数だけ距離が記憶されることになる。
ステップＳ１４２０では、代表距離算出モジュール１３７０が距離記憶モジュール１３６０に記憶されている距離を用いて、その画像における代表距離を算出する。
【００５４】
ステップＳ１４２２では、閾値算出モジュール１３３０が新たな閾値を算出する。つまり、ステップＳ１４２０で算出された代表距離、閾値・制御点数記憶モジュール１３４０に記憶されている閾値と制御点数とのペアを用いて、目標制御点数に合致すると推定される次の閾値を算出する。
ステップＳ１４２４では、閾値・制御点数記憶モジュール１３４０がステップＳ１４２２で算出された閾値を記憶する。
ステップＳ１４２６では、ベクトル化モジュール１３１０が新たな閾値を用いてベクトル化処理を再度行う。そして、ステップＳ１４１０へ戻る。ステップＳ１４１０からステップＳ１４２６までの処理をステップＳ１４１４で合致するまで反復する。
ステップＳ１４２８では、比較モジュール１３５０の指示にしたがってベクトル化結果記憶モジュール１３８０がベクトル化結果を出力する。
【００５５】
図１６を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１６に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１６１７と、プリンタなどのデータ出力部１６１８を備えたハードウェア構成例を示している。
【００５６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６０１は、前述の実施の形態において説明した各種のモジュール、すなわち、ベクトル化モジュール１１０、制御点数計測モジュール１２０、閾値算出モジュール１３０、比較モジュール１５０、代表距離算出モジュール１３７０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６０２は、ＣＰＵ１６０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６０３は、ＣＰＵ１６０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１６０４により相互に接続されている。
【００５８】
ホストバス１６０４は、ブリッジ１６０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１６０６に接続されている。
【００５９】
キーボード１６０８、マウス等のポインティングデバイス１６０９は、操作者により操作される入力デバイスである。ディスプレイ１６１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００６０】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１６０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象とする画像、ベクトル化の結果、閾値・制御点数テーブル３００、閾値・画質目標値テーブル７００などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６１】
ドライブ１６１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１６１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１６０７、外部バス１６０６、ブリッジ１６０５、及びホストバス１６０４を介して接続されているＲＡＭ１６０３に供給する。リムーバブル記録媒体１６１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６２】
接続ポート１６１４は、外部接続機器１６１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１６１４は、インタフェース１６０７、及び外部バス１６０６、ブリッジ１６０５、ホストバス１６０４等を介してＣＰＵ１６０１等に接続されている。通信部１６１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１６１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１６１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６３】
なお、図１６に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１６に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１６に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６４】
なお、前述の各種の実施の形態の説明では、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む）、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、第１の実施の形態、第３の実施の形態において、目標制御点を受け付けているが、第２の実施の形態のように、画質目標値を受け付けるようにしてもよい。この場合、画質と制御点数との対応関係を予め定めて記憶しているテーブルを用意しておき、受け付けた画質目標値に対応する制御点数をそのテ−ブルを利用して抽出し、その後は、前述の第１の実施の形態、第３の実施の形態による処理を行うようにしてもよい。
なお、前述の第４の実施の形態においては、２番目（２巡目）以降の閾値を算出し得るとしたが、２番目（２巡目）のみに限定して代表距離を用いた閾値の算出処理としてもよい。
【００６５】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６６】
１１０、５１０、１３１０…ベクトル化モジュール
１２０、１３２０…制御点数計測モジュール
１３０、５２０、１３３０…閾値算出モジュール
１４０、１３４０…閾値・制御点数記憶モジュール
１５０、１３５０…比較モジュール
１６０、５４０、１３８０…ベクトル化結果記憶モジュール
５３０…閾値記憶モジュール
１３６０…距離記憶モジュール
１３７０…代表距離算出モジュール
【図１】
0005549261.tif 000003
【図２】
0005549261.tif 000004
【図３】
0005549261.tif 000005
【図４】
0005549261.tif 000006
【図５】
0005549261.tif 000007
【図６】
0005549261.tif 000008
【図７】
0005549261.tif 000009
【図８】
0005549261.tif 000010
【図９】
0005549261.tif 000011
【図１０】
0005549261.tif 000012
【図１１】
0005549261.tif 000013
【図１２】
0005549261.tif 000014
【図１３】
0005549261.tif 000015
【図１４】
0005549261.tif 000016
【図１５】
0005549261.tif 000017
【図１６】
0005549261.tif 000018