(57)【特許請求の範囲】
【請求項１】
複数の線分から構成される線分群Ｃの総長さＬを算出するとともに線分群Ｃ上の点であって始点から線分をたどって始点からの線分群Ｃ上の距離がＬｔ１，Ｌｔ２（０＜Ｌｔ１＜Ｌｔ２＜Ｌ）となる経由点Ｑｔ１、Ｑｔ２を求める経由点算出手段と、近似３次ベジエ曲線がｔ＝ｔ１，ｔ２において前記経由点Ｑｔ１、Ｑｔ２を通るとして得られる２元１次連立方程式を解いて３次ベジエ曲線の２つの制御点を算出する制御点算出手段を有することを特徴とするデータ処理装置。
【請求項２】
さらに、前記制御点算出手段で算出された２つの制御点により得られる近似３次ベジエ曲線と前記線分群Ｃとの誤差が所定値以上となるか否かを判定する判定手段と、前記判定手段で近似３次ベジエ曲線と前記線分群Ｃとの誤差が所定値以上となると判定された場合に前記線分群Ｃを複数の線分群に分割する分割手段を有し、前記分割手段で分割された各線分群について前記経由点算出手段及び前記制御点算出手段により３次ベジエ曲線の２つの制御点を算出することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記分割手段は、分割後の線分群と該線分群を近似する近似３次ベジエ曲線との誤差が小さくなる点において分割することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
さらに、複数の線分からなる線分群から隣接する線分の角度が所定の角度以下となる鋭角点を抽出する鋭角点抽出手段を有し、前記鋭角点抽出手段で抽出した鋭角点間の複数の線分を線分群Ｃとしてそれぞれ３次ベジエ曲線に近似することを特徴とする請求項１から請求項３のいずれか１項に記載のデータ処理装置。
【請求項５】
２値画像中の連続する一方の値の画素の連結成分を抽出する第１の連結成分抽出手段と、該第１の連結成分抽出手段で抽出された連結成分の外郭線を直線近似して複数の線分からなる線分群を生成する直線近似手段と、前記直線近似手段で抽出した線分群について請求項１から請求項４のいずれか１項に記載のデータ処理装置により３次ベジエ曲線に近似するベジエ曲線近似手段を有することを特徴とする外郭データ生成装置。
【請求項６】
２値画像中の連続する一方の値の画素の連結成分を抽出する第１の連結成分抽出手段と、前記第１の連結成分抽出手段で抽出された連結成分の内部に存在する他方の値の画素の連結成分を抽出する第２の連結成分抽出手段と、前記第１及び第２の連結成分抽出手段で抽出された連結成分の外郭線を直線近似して複数の線分からなる線分群を生成する直線近似手段と、前記直線近似手段で抽出した線分群について請求項１から請求項４のいずれか１項に記載のデータ処理装置により３次ベジエ曲線に近似するベジエ曲線近似手段を有することを特徴とする外郭データ生成装置。
【請求項７】
さらに、２値画像を拡大する拡大手段と、拡大された２値画像からノイズを除去するノイズ除去手段を有し、前記ノイズ除去手段の出力を前記第１の連結成分抽出手段の入力とすることを特徴とする請求項５または請求項６に記載の外郭データ生成装置。
【請求項８】
コンピュータに、請求項１から請求項４のいずれか１項に記載のデータ処理装置の機能を実行させることを特徴とするデータ処理プログラム。
【請求項９】
コンピュータに、請求項５から請求項７のいずれか１項に記載の外郭データ生成装置の機能を実行させることを特徴とする外郭データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、外郭データ生成装置、データ処理プログラム、外郭データ生成プログラムに関するものである。
【背景技術】
【０００２】
近年の電子文書の流通により、例えば画像読み取り装置で読み取った画像を２値化してデータ量を減らし、保存や閲覧、印刷する機会が飛躍的に増加している。画像読み取り装置で読み取った画像を画像データとして保存する場合、画像圧縮処理を行うことが多い。しかし、画像圧縮処理によって画質が劣化したり、データ量が充分に小さくならなかったりする場合がある。また、画像を拡大したり、印刷の際の画像拡大処理により、ブロック状の画質劣化（ジャギー）が発生する場合がある。このような問題は、２値画像に限らず、画像読み取り装置で読み取ったカラー画像においても生じる。また、例えば写真、パンフレットなどにおいても起こりうるが、特に文字などの線画が含まれている画像において劣化が顕著となる場合がある。これは、文字線画画像においては一般にエッジ部の濃度変化が不連続になり、写真などの画像に比較して視覚的にジャギーが目立ちやすいためである。
【０００３】
２値化した画像のデータ量を減らすための別の方法として、画像を外郭線化する方法がある。外郭線化処理においては、例えば画像の文字線画要素の輪郭線を直線または曲線に分解し、それぞれ直線や曲線を構成するための制御点データに置き換える。これにより、文字線画要素を画像として記憶する必要がなくなり、データ量は格段に少なくなる。制御点データで代用していることから、拡大表示や、印刷時の拡大処理の際に画像として処理する必要がなく、また、解像度に依存しないのでジャギーなどの画質劣化を防止し、高画質な出力結果が得られる。
【０００４】
外郭線化方式の一例として、特許文献１に記載されている方法では、漢字を構成するそれぞれの画の輪郭線についてスプライン曲線により外郭線化している。輪郭線をスプライン曲線により近似する際には、始点ｐ０と終点ｐ１を結ぶ直線の中点ｐ２の位置を計算し、ｐ２から時計回り方向に垂線を出し、曲率Ｃだけ離れた点ｐ２’を計算し、ｐ０、ｐ２’、ｐ１の３点についてスプライン曲線により補間を行っている。この方法は処理が簡明であり、一定の曲率を持った曲線に対して近似精度を上げられるが、使用できる曲線が凸型形状の２次曲線に限定される。そのため、特許文献１では漢字のそれぞれの画に分割してスプライン曲線により近似しているが、一般の複雑な輪郭形状を有する画像に適用する場合には、小刻みな曲線分割が必要となりデータ量が増大する。
【０００５】
特許文献２に記載されている方法では、２値画像から輪郭線を追跡して得た点列に対して平滑化処理を施し、平滑化された輪郭線から角点を抽出し、角点間をベジエ曲線近似して外郭データを取得している。この特許文献２におけるベジエ曲線近似の処理は、２つの角点をそれぞれ始点ｐ０と終点ｐ３としてベジエ曲線の両端の制御点とし、残りの制御点ｐ１，ｐ２を求めるに際し、線分ｐ０ｐ３と線分ｐ１ｐ２とが平行であると仮定を置く。その際に線分ｐ０ｐ３から最も離れた曲線上の点との距離ｄに対して、４／３ｄとなる距離に直線ｐ１ｐ２が位置するという性質を利用して、制御点ｐ１、ｐ２を一意に導出している。この方式も処理が簡明かつ高速であるが、分ｐ０ｐ３と線分ｐ１ｐ２とが平行であると仮定していることから、使用できるベジエ曲線が凸型形状のものに限られる。そのため、曲線を凸型形状に分割してゆくことから結果的に必要となる制御点のデータ量が増大してしまう。また一義的にベジエ曲線近似するために、近似精度が低下して画質劣化する部分が生じる。
【０００６】
特許文献３に記載されている方法では、特徴点の点列をベジエ曲線によって近似し、ベジエ曲線の４つの制御点の位置情報を点列のデータに置き換えてデータ量の削減を図るものである。ベジエ曲線による近似方法として、始点ｐ０と終点ｐ３に対して、その間にある直線近似制御点ｘ０，．．．，ｘｎから線分ｐ０ｐ３上にそれぞれ垂線の足をおろして各ｑｉと置く。そして、各ｔｉ＝｜ｐ０−ｑｉ｜／｜ｐ０−ｐ３｜とし、このｔｉと直線近似制御点ｘｉとの関係に基づいて立てた連立方程式を解くことにより制御点ｐ１、ｐ２を求めている。この方法は処理が簡明で一意の解として制御点を算出できる。また、特に曲率の一定な凸型部分の近似について適しているが、曲率が変化したり凸型でない曲線部分については、近似精度を上げるために近似曲線数を増やす必要があり、結果としてベクトルデータ量が増大する。また、ｎ個の連立方程式から２点の解を求めると考えた場合、複数の解の候補が存在し、解の選択の仕方によっては近似精度が低下して画質劣化する場合もある。
【０００７】
非特許文献１に記載されている方法は、２値画像の輪郭線を３次ベジエ曲線により近似するものである。３次ベジエ曲線による近似方法として、始点ｐ０と終点ｐ３それぞれについて、近似接線を引き、これら２つの接線が交わる点ｃに対して始点ｐ０と点ｃを結ぶ線分ｐ０ｃ上に制御点ｐ１を、終点ｐ３と点ｃを結ぶ線分ｐ３ｃ上に制御点ｐ２を置く。この制御点ｐ１，ｐ２について、線分ｐ０ｐ１と線分ｐ３ｐ２の長さが等しくなるように制御点ｐ１，ｐ２を計算している。この方法は、始点と終点の選択の仕方の工夫を含めて安定した高画質な近似を与える。その反面、曲線形状を左右対称の凸型に限定しているため、近似精度を上げるにはデータ量が増大する。また、制御点ｐ１，ｐ２の選択の工夫によりデータ量を３／４に削減できるが、データ構造が特殊になるため、一般の３次ベジエ曲線のデータ構造にしか対応していないシステムでは、利用できない。
【０００８】
【特許文献１】特開平５−１６５４５７号公報
【特許文献２】特開２００５−３１００７０号公報
【特許文献３】特開平８−４４８７６号公報
【非特許文献１】Ｐｅｔｅｒ  Ｓｅｌｉｎｇｅｒ，“Ｐｏｔｒａｃｅ：ａ  ｐｏｌｙｇｏｎ−ｂａｓｅｄ  ｔｒａｃｉｎｇ  ａｌｇｏｒｉｔｈｍ”，［ｏｎｌｉｎｅ］，２００３年９月２０日，［平成２０年２月１１日検索］，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｐｏｔｒａｃｅ．ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／ｐｏｔｒａｃｅ．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、高画質な外郭データを生成した場合のデータ量を削減したデータ処理装置、外郭データ生成装置、データ処理プログラム、外郭データ生成プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
本願請求項１に記載の発明は、複数の線分から構成される線分群Ｃの総長さＬを算出するとともに線分群Ｃ上の点であって始点から線分をたどって始点からの線分群Ｃ上の距離がＬｔ１，Ｌｔ２（０＜Ｌｔ１＜Ｌｔ２＜Ｌ）となる経由点Ｑｔ１、Ｑｔ２を求める経由点算出手段と、近似３次ベジエ曲線がｔ＝ｔ１，ｔ２において前記経由点Ｑｔ１、Ｑｔ２を通るとして得られる２元１次連立方程式を解いて３次ベジエ曲線の２つの制御点を算出する制御点算出手段を有することを特徴とするデータ処理装置である。
【００１１】
本願請求項２に記載の発明は、本願請求項１に記載の発明の構成に加えて、さらに、前記制御点算出手段で算出された２つの制御点により得られる近似３次ベジエ曲線と前記線分群Ｃとの誤差が所定値以上となるか否かを判定する判定手段と、前記判定手段で近似３次ベジエ曲線と前記線分群Ｃとの誤差が所定値以上となると判定された場合に前記線分群Ｃを複数の線分群に分割する分割手段を有し、前記分割手段で分割された各線分群について前記経由点算出手段及び前記制御点算出手段により３次ベジエ曲線の２つの制御点を算出することを特徴とするデータ処理装置である。
【００１２】
本願請求項３に記載の発明は、本願請求項２に記載の発明の構成における前記分割手段が、分割後の線分群と該線分群を近似する近似３次ベジエ曲線との誤差が小さくなる点において分割することを特徴とするデータ処理装置である。
【００１３】
本願請求項４に記載の発明は、本願請求項１から請求項３のいずれか１項に記載の発明の構成に加えて、さらに、複数の線分からなる線分群から隣接する線分の角度が所定の角度以下となる鋭角点を抽出する鋭角点抽出手段を有し、前記鋭角点抽出手段で抽出した鋭角点間の複数の線分を線分群Ｃとしてそれぞれ３次ベジエ曲線に近似することを特徴とするデータ処理装置である。
【００１４】
本願請求項５に記載の発明は、２値画像中の連続する一方の値の画素の連結成分を抽出する第１の連結成分抽出手段と、該第１の連結成分抽出手段で抽出された連結成分の外郭線を直線近似して複数の線分からなる線分群を生成する直線近似手段と、前記直線近似手段で抽出した線分群について請求項１から請求項４のいずれか１項に記載のデータ処理装置により３次ベジエ曲線に近似するベジエ曲線近似手段を有することを特徴とする外郭データ生成装置である。
【００１５】
本願請求項６に記載の発明は、２値画像中の連続する一方の値の画素の連結成分を抽出する第１の連結成分抽出手段と、前記第１の連結成分抽出手段で抽出された連結成分の内部に存在する他方の値の画素の連結成分を抽出する第２の連結成分抽出手段と、前記第１及び第２の連結成分抽出手段で抽出された連結成分の外郭線を直線近似して複数の線分からなる線分群を生成する直線近似手段と、前記直線近似手段で抽出した線分群について請求項１から請求項４のいずれか１項に記載のデータ処理装置により３次ベジエ曲線に近似するベジエ曲線近似手段を有することを特徴とする外郭データ生成装置である。
【００１６】
本願請求項７に記載の発明は、本願請求項５または請求項６に記載の発明の構成に加えて、さらに、２値画像を拡大する拡大手段と、拡大された２値画像からノイズを除去するノイズ除去手段を有し、前記ノイズ除去手段の出力を前記第１の連結成分抽出手段の入力とすることを特徴とする外郭データ生成装置である。
【００１７】
本願請求項８に記載の発明は、コンピュータに、請求項１から請求項４のいずれか１項に記載のデータ処理装置の機能を実行させることを特徴とするデータ処理プログラムである。
【００１８】
本願請求項９に記載の発明は、コンピュータに、請求項５から請求項７のいずれか１項に記載の外郭データ生成装置の機能を実行させることを特徴とする外郭データ生成プログラムである。
【発明の効果】
【００１９】
本願請求項１に記載の発明によれば、近似する曲線の形状などによらず３次ベジエ曲線の制御点を容易に算出できることから、本構成を有しない場合に比べて高精度に近似した場合でもデータ量の低減を図ることができる。
【００２０】
本願請求項２に記載の発明によれば、本願請求項１に記載の発明に比べて、より高精度に３次ベジエ曲線による近似を行うことができる。
【００２１】
本願請求項３に記載の発明によれば、３次ベジエ曲線の分割を行う際にデータ量の増大を抑えた上で、高精度に３次ベジエ曲線による近似を行うことができる。
【００２２】
本願請求項４に記載の発明によれば、画像中の角部を保存することができる。
【００２３】
本願請求項５に記載の発明によれば、本構成を有しない場合に比べて、高精度に近似した外郭データのデータ量を低減することができる。
【００２４】
本願請求項６に記載の発明によれば、２値画像中に一方の値の画素の連結成分中に他方の値の画素の連結成分が存在する場合があっても対応でき、本構成を有しない場合に比べて、高精度に近似した外郭データのデータ量を低減することができる。
【００２５】
本願請求項７に記載の発明によれば、線分群の生成の際にノイズや２値画像中の微細な構造による影響を低減することができる。
【００２６】
本願請求項８に記載の発明によれば、本構成を有しない場合に比べて高精度に近似した場合でもデータ量の低減を図ることができる。
【００２７】
本願請求項９に記載の発明によれば、本構成を有しない場合に比べて、高精度に近似した外郭データのデータ量を低減することができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明の実施の一形態を示す構成図である。図中、１１は前処理部、１２は第１連結成分抽出部、１３は第２連結成分抽出部、１４はデータ化処理部、２１は直線近似部、２２は曲線近似部、３１は鋭角点抽出部、３２は経由点算出部、３３は制御点算出部、３４は判定部、３５は分割部である。
【００２９】
前処理部１１は、入力された２値画像を拡大する拡大手段と、拡大された２値画像から孤立点や微細な凹凸点などのノイズを除去するノイズ除去手段として機能する。入力される２値画像は任意であり、例えば画像読取装置で読み取った画像でもよいし、グラフィック画像でもよい。２値画像を拡大する方法及びノイズ除去処理の方法については周知の手法を用いればよい。もちろん、このほかの種々の前処理を施してもよい。なお、拡大処理は以降の処理で２値画像中の微細な構造による影響を受けないようにするために行うが、この必要がなければ拡大処理を行わなくてもよい。また、入力される２値画像がグラフィック画像の場合などのようにノイズが含まれない場合には、ノイズ除去処理についても行わなくてもよい。
【００３０】
第１連結成分抽出部１２は、前処理部１１から出力される前処理後の２値画像を入力とし、受け取った２値画像中の連続する一方の値の画素の連結成分を抽出する。以下、説明の都合上、２値画像の各画素が黒または白のいずれかの値を取るものとし、一方の値の画素は黒の画素、他方の値の画素が白の画素であるものとして説明する。この場合、白と黒の境界となる黒の画素を順にたどってゆき、最初に検出した黒の画素に戻るまでの点列が第１連結成分抽出部１２の出力となる。この出力はデータ化処理部１４に渡される。
【００３１】
第２連結成分抽出部１３は、第１連結成分抽出部１２で抽出された連結成分の内部に存在する他方の値の画素の連結成分を抽出する。上述のように２値画像の各画素が黒または白のいずれかの値を取るものとし、一方の値の画素が黒の画素、他方の値の画素が白の画素であるものとする。この場合、黒の画素で囲まれた中に白の画素が存在している場合に、黒と白の境界の白の画素を順にたどってゆき、最初に検出した白の画素に戻るまでの点列が第２連結成分抽出部１３の出力となる。この出力もデータ化処理部１４に渡される。
【００３２】
データ化処理部１４は、第１連結成分抽出部１２及び第２連結成分抽出部１３から渡される連結成分毎の点列のデータを受け取り、連結成分毎に、１または複数の３次ベジエ曲線により近似する。ここでは、データ化処理部１４は直線近似部２１および曲線近似部２２を含んで構成されている。
【００３３】
直線近似部２１は、第１連結成分抽出部１２または第２連結成分抽出部１３で抽出された連結成分の外郭線をなす点列のデータをもとに、直線近似して連続する複数の線分からなる線分群を生成する。この処理には周知の方法を適用すればよい。
【００３４】
曲線近似部２２は、直線近似部２１で抽出した線分群について３次ベジエ曲線により近似する。ここでは、鋭角点抽出部３１、経由点算出部３２、制御点算出部３３、判定部３４、分割部３５を含んで構成されている。
【００３５】
鋭角点抽出部３１は、直線近似部２１で生成した連続する複数の線分からなる線分群から、隣接する線分の角度が所定の角度以下となる鋭角点を抽出する。ここで抽出した鋭角点で３次ベジエ曲線は分割され、鋭角点は角部として残ることになる。
【００３６】
経由点算出部３２は、鋭角点抽出部３１で抽出した鋭角点間の線分を線分群Ｃとして、あるいは分割部３５で分割された線分群をそれぞれ線分群Ｃとして、その線分群Ｃを近似する３次ベジエ曲線が通過する経由点を算出する。この経由点の算出のため、まず線分群Ｃの総長さＬを算出し、線分群Ｃ上の点であって始点からの線分群Ｃ上の距離が０＜Ｌｔ１＜Ｌｔ２＜Ｌなる点Ｑｔ１、Ｑｔ２を経由点として求める。
【００３７】
制御点算出部３３は、線分群Ｃを近似するｔを変数とする３次ベジエ曲線が、ｔ＝ｔ１，ｔ２において経由点算出部３２で算出した経由点Ｑｔ１、Ｑｔ２をそれぞれ通るとして得られる２元１次連立方程式を解いて、３次ベジエ曲線の２つの制御点を算出する。
【００３８】
判定部３４は、制御点算出部３３で算出された２つの制御点により得られる、線分群Ｃを近似する３次ベジエ曲線と線分群Ｃとの誤差が所定値以上となるか否かを判定する。判定は、例えば経由点以外の複数の点において誤差を算出して所定値と比較すればよい。もちろん、最大誤差を求めるなど、他の方法により判定してもよい。算出した誤差が所定値未満であると判定された場合には、線分群Ｃの始点および終点と、制御点算出部３３で算出した２つの制御点を、線分群Ｃに代えて出力する。なお、連続する線分群Ｃについては始点あるいは終点が重複するので、いずれか一方を出力してもよい。判定の結果、誤差が所定値以上であった場合には、分割部３５を実行する。
【００３９】
分割部３５は、判定部３４で近似３次ベジエ曲線と線分群Ｃとの誤差が所定値以上となると判定された場合に、線分群Ｃを複数の線分群に分割する。分割は、所定の点で分割するほか、分割後の線分群と該線分群を近似する近似３次ベジエ曲線との誤差が小さくなる点で分割するように構成してもよい。分割した点を始点または終点とする複数の線分群を経由点算出部３２に渡す。分割されたそれぞれの線分群は、経由点算出部３２による経由点の算出、制御点算出部３３による制御点の算出、判定部３４による判定が行われる。
【００４０】
図２は、本発明の実施の一形態における動作の一例を示す流れ図である。２値画像が入力されると、Ｓ７１において、前処理部１１は２値画像に対して拡大処理やノイズ除去処理などの前処理を行う。拡大処理の手法及び拡大率は任意であるが、拡大率は例えば数倍程度でよい。また、ノイズ除去処理は孤立点の除去や、直線部分で凸点を除去したり凹点を埋める処理を行えばよい。
【００４１】
Ｓ７２において、前処理後の２値画像について、走査を開始する。例えば２値画像の左上隅などの所定の位置から順に画素を調べて行けばよい。Ｓ７３において、第１連結成分抽出部１２は、白から黒へ変わる画素を検出したら、その黒画素から白画素と隣接する黒画素をたどり、最初に検出した黒の画素に戻るまでの点列を求める。図３は、２値画像の具体例の説明図である。図３（Ａ）に示す２値画像は前処理後のものであるとする。図３（Ａ）中の画素ａが最初に白から黒へ変わる画素として検出されたものとし、この画素ａから順に白画素と隣接する黒画素をたどり、図３（Ｂ）に矢印で示す点列のデータを得る。なお、図３（Ａ）中のｂとして示した部分にも黒画素の連結成分が存在するが、これは別の黒画素の連結成分として検出することになる。
【００４２】
Ｓ７４において、Ｓ７３で抽出した点列のデータをもとに、データ化処理部１４はＳ７３で検出した黒画素の連結成分の外郭を３次ベジエ曲線で近似する。この処理については後述する。
【００４３】
Ｓ７５において、第２連結成分抽出部１３は、Ｓ７３で検出した黒画素の連結成分の内部に白画素の連結成分が存在していれば、それを検出して、その連結成分の外郭を示す点列のデータを得る。例えばＳ７３で得られた黒画素の連結成分内を走査して黒から白へ変化する画素を検出し、その白画素から黒画素と隣接する白画素を順に、もとの白画素へ戻るまでたどって行き、点列のデータを抽出すればよい。例えば図３（Ａ）に示す例では、黒画素の連結成分中にｃ，ｄ，ｅの３つの白画素の連結成分が存在する。これらの白画素の連結成分について、１つずつ、点列のデータを順に抽出する。抽出される点列のデータを図３（Ｃ）に示している。なお、Ｓ７２で黒の連結成分をたどる際と、Ｓ７５で白の連結成分の外郭線をたどる際には、例えば黒画素を常に右に見ながらたどるなど、方式を共通化してよく、その場合、処理自体を共有することができる。
【００４４】
Ｓ７６において、Ｓ７５で抽出したそれぞれの白画素の連結成分について、点列のデータをもとに、データ化処理部１４は外郭を３次ベジエ曲線で近似する。この処理については後述する。図３（Ａ）に示す例では、白画素の連結成分ｃの外郭と、白画素の連結成分ｄの外郭と、白画素の連結成分ｅの外郭とを、それぞれ、３次ベジエ曲線で近似して行くことになる。
【００４５】
Ｓ７７において、Ｓ７３で検出した黒画素の連結成分を処理済とし、あるいは例えば白画素に変更した上で、２値画像の走査を続ける。Ｓ７８において、２値画像の走査を終了したか否かを判定し、終了していない場合にはＳ７３へ戻って次の黒画素の連結成分についての処理を行う。例えば図３（Ａ）に示した例では、ｂとして示した黒画素の連結成分については未処理であるので、少なくともこの黒画素の連結成分ｂについての３次元ベジエ曲線による近似処理を行うことになる。もちろん、他に黒画素の連結成分が存在していれば、その黒画素の連結成分についても順に処理を行うことになる。走査により次の黒画素の連結成分を抽出する場合には、基本的には上述のように白画素から黒画素へ変わる点を見つければよいが、その際に黒画素が処理済でないことを条件として行えばよい。処理済の黒画素を白画素に置き換えていれば、そのような条件は不要である。
【００４６】
２値画像の操作を終了したら、Ｓ７９において、それまでに得られた黒画素の連結成分及び白画素の連結成分の外郭を近似した３次元ベジエ曲線の端点及び制御点のデータをまとめて出力し、処理を終了する。
【００４７】
図４は、データ化処理部１４の動作の一例を示す流れ図、図５は、同じく具体例の説明図である。この処理は、図２のＳ７４及びＳ７６において行われる処理である。黒画素と白画素の差はあるものの、いずれも連結成分の外郭を３次ベジエ曲線により近似する処理であるので、共通した処理でよい。以下の処理では、黒画素の連結成分の外郭を近似するのか、白画素の連結成分の外郭を近似するのかを区別せずに説明する。
【００４８】
Ｓ８１において、直線近似部２１は、連結成分の外郭をなす点列のデータをもとに、直線近似して連続する複数の線分からなる線分群を生成する。例えば図５では図３（Ｂ）に示した点列のデータの場合を示し、図５（Ａ）に再掲している。直線近似部２１では、このような点列のデータを図５（Ｂ）に示すように直線近似する。
【００４９】
Ｓ８２において、曲線近似部２２の鋭角点抽出部３１は、Ｓ８１で得られた線分群から、隣接する線分の角度が所定の角度以下となる鋭角点を抽出する。例えば図５（Ｂ）における点ａ、点ｂが鋭角点として抽出される。なお、鋭角点が抽出されなかった場合でも、線分間の角度が最も小さい点や線分群の最初の点など、少なくとも１つの鋭角点を設定するとよい。
【００５０】
Ｓ８３において、ある鋭角点（これを始点とする）から線分をたどって次の鋭角点（これを終点とする）までの区間を処理対象とする。この処理対象の区間の１または複数の線分を線分群Ｃとする。
【００５１】
Ｓ８４において、経由点算出部３２は線分群Ｃを近似する３次ベジエ曲線が通過すると仮定する経由点を算出する。この経由点の算出のため、まず線分群Ｃの総長さＬを算出し、線分群Ｃ上の点であって始点からの線分群Ｃ上の距離が０＜Ｌｔ１＜Ｌｔ２＜Ｌなる点Ｑｔ１、Ｑｔ２を経由点として求める。一例としては、Ｌｔ１は始点から総長さＬの１／３の長さ、Ｌｔ２は始点から総長さＬの２／３の長さとするとよい。もちろんこれに限られない。なお、始点は線分群Ｃの一方の端点である。
【００５２】
Ｓ８５において、制御点算出部３３は、線分群Ｃを近似するｔを変数とする３次ベジエ曲線が、ｔ＝ｔ１，ｔ２において経由点算出部３２で算出した経由点Ｑｔ１、Ｑｔ２をそれぞれ通ると仮定して得られる２元１次連立方程式を解いて、３次ベジエ曲線の２つの制御点を算出する。３次ベジエ曲線の関数Ｐ（ｔ）は、始点をｐ０、終点をｐ３、もう２つの制御点をｐ１、ｐ２とすると、
Ｐ（ｔ）＝（１−ｔ）3 ｐ０＋３ｔ（１−ｔ）2 ｐ１＋３ｔ2 （１−ｔ）ｐ２＋ｔ3 ｐ３
である。この３次ベジエ曲線がｔ＝ｔ１のときに経由点Ｑｔ１を通り、ｔ＝ｔ２のときに経由点Ｑｔ２を通ると仮定すると、２元１次連立方程式は、
ｔ＝ｔ１のとき、（１−ｔ）3 ｐ０＋３ｔ（１−ｔ）2 ｐ１＋３ｔ2 （１−ｔ）ｐ２＋ｔ3 ｐ３＝Ｑｔ１
ｔ＝ｔ２のとき、（１−ｔ）3 ｐ０＋３ｔ（１−ｔ）2 ｐ１＋３ｔ2 （１−ｔ）ｐ２＋ｔ3 ｐ３＝Ｑｔ２
となる。ｐ０，ｐ３，Ｑｔ１，Ｑｔ２は既知であり、未知変数はｐ１とｐ２である。従って、この連立方程式によって、３次ベジエ曲線の未知の２つの制御点ｐ１とｐ２が一意に算出されることになる。これにより、３次ベジエ曲線を規定する４つの制御点ｐ０，ｐ１，ｐ２，ｐ３が得られる。
【００５３】
なお、この制御点の算出過程では曲線の形状についての限定を行っていないので、例えば凸状の曲線に限らず、種々の形状の３次の曲線によって近似されることになる。
【００５４】
図６は、３次ベジエ曲線による近似処理の説明図である。ここではｐ０，ｐ３が鋭角点であり、この２点を始点及び終点とする３次ベジエ曲線を求めることとする。なお、説明の都合上、ｐ０を始点、ｐ３を終点とする。この始点ｐ０と終点ｐ３の間は、５本の線分が連続しており、その接続点を黒の三角により示している。すなわち、この例では線分群Ｃは５本の線分で構成されている。各線分は破線によって示している。
【００５５】
この５本の線分の長さの総和をＬとし、ここでは一例として始点ｐ０から線分をたどってＬの１／３の長さとなる点Ｑｔ１、Ｌの２／３の長さとなる点Ｑｔ２を経由点算出部３２で求める。ここで、これから求める３次ベジエ曲線がｔ＝１／３で点Ｑｔ１を通り、ｔ＝２／３で点Ｑｔ２を通ると仮定する。すると、上述のように２元１次連立方程式によって３次ベジエ曲線の未知の制御点ｐ１，ｐ２が算出される。始点ｐ０と終点ｐ３、それに算出された制御点ｐ１，ｐ２の４点によって３次ベジエ曲線が決定される。図６では実線により３次ベジエ曲線を示している。
【００５６】
図４に戻り、Ｓ８６において、判定部３４はＳ８５で算出された制御点ｐ１，ｐ２及び始点ｐ０と終点ｐ３で規定される３次ベジエ曲線と線分群Ｃとの誤差が所定値以上となるか否かを判定する。図７は、判定部における判定処理の具体例の説明図である。３次ベジエ曲線と線分群Ｃとの誤差を求めるため、ここではいくつかの点、例えばＱｔ１，Ｑｔ２以外の０＜ｓ１＜…＜ｓｎ＜１となるｓ１，…，ｓｎにおける３次ベジエ曲線上の点と、始点からの線分群Ｃ上の距離がｓ１Ｌ，…，ｓｎＬとなる点との距離を誤差として算出する。上述のように、求めた３次ベジエ曲線は点Ｑｔ１及び点Ｑｔ２を通ることから、これらの点以外の点で誤差を求めればよく、始点ｐ０から点Ｑｔ１の間、点Ｑｔ１から点Ｑｔ２の間、点Ｑｔ２から終点ｐ３の間で、それぞれ少なくとも１点以上で誤差を算出するとよい。
【００５７】
具体的には点Ｑｔ１をｔ＝１／３、点Ｑｔ２をｔ＝２／３の点としたことから、始点ｐ０から点Ｑｔ１の間ではｔ＝１／６の点、点Ｑｔ１から点Ｑｔ２の間ではｔ＝１／２の点、点Ｑｔ２から終点ｐ３の間ではｔ＝５／６の点で誤差を求めればよい。誤差は、各点と線分群Ｃとのユークリッド距離を計算すればよい。すなわち、３次ベジエ曲線におけるｔ＝１／６の点と線分群Ｃ上の始点からの距離が総長さＬの１／６となる点とのユークリッド距離、３次ベジエ曲線におけるｔ＝１／２の点と線分群Ｃ上の始点からの距離が総長さＬの１／２となる点とのユークリッド距離、３次ベジエ曲線におけるｔ＝５／６の点と線分群Ｃ上の始点からの距離が総長さＬの５／６となる点とのユークリッド距離をそれぞれの誤差として算出すればよい。この３点における誤差がいずれも所定値以内であれば、得られた３次ベジエ曲線は線分群Ｃを近似しているものとして、当該線分群Ｃにおける近似処理を終えてＳ８８に進む。
【００５８】
Ｓ８６で誤差が所定値以上であると判定された場合、例えば上述のｔ＝１／６の点、ｔ＝１／２の点、ｔ＝５／６の点の少なくとも１つの点で誤差が所定値以上となった場合には、Ｓ８７において、分割部３５により線分群Ｃを複数の線分群に分割する。分割は、例えばｔ＝１／２の点などの定点あるいはその定点からの距離が短い線分の接続点で分割するほか、種々の方法により分割後の線分群とその線分群を近似する近似３次ベジエ曲線との誤差が小さくなる点を求め、その点において分割するとよい。
【００５９】
分割後は、分割したそれぞれの線分群について、Ｓ８４に戻って処理を繰り返す。簡単には、分割点を新たな鋭角点として、例えば始点から新たな鋭角点（分割点）までの線分群を線分群ＣとしてＳ８４に戻って処理を行えばよい。分割した残りの線分群についてはＳ８９において別途選択される。この分割及び繰り返しの処理によって、所望の精度で３次ベジエ曲線により近似した結果が得られることになる。なお、分割によりデータ量は増大するが、分割が必要とされる曲率の大きい部分などでは、従来の手法を用いてもデータ量が増大する部分であり、この処理が他の手法に比べてデータ量の増大を招くわけではない。逆に、例えば３次ベジエ曲線の形状を凸状などに限定する場合に比べ、３次ベジエ曲線の形状を限定していないことから分割の度合いは少ない。
【００６０】
Ｓ８６で誤差が所定値以内であると判定された場合には、処理対象となっている線分群Ｃについての近似処理を終え、Ｓ８８において、近似処理が終了したか否かを判定する。まだ３次ベジエ曲線による近似を行っていない部分が存在する場合には、Ｓ８９において、これまで処理対象となっていた線分群Ｃの終点の鋭角点を新たな始点とし、その始点から線分群をたどって次の鋭角点（これを終点とする）までの区間の１または複数の線分を新たな線分群Ｃとして、Ｓ８４へ戻る。
【００６１】
このようにして鋭角点間を順に３次ベジエ曲線によって近似して行く。それぞれの鋭角点間の近似処理が終了したら、図４の処理を終える。このような処理によって、連結成分の外郭上の鋭角点と、それぞれの鋭角点間を近似する３次ベジエ曲線の２つの制御点のデータである。これらのデータが１つの連結成分の外郭についての近似結果として得られる。
【００６２】
具体例として、図５（Ｂ）に示すように直線近似された連結成分の外郭は、例えば図５（Ｃ）に示すように３次ベジエ曲線によって近似されることになる。上述のように３次ベジエ曲線を凸形状などに限定せずに近似するため、凹凸のある外郭が少ない曲線で近似され、データ量の増大が抑えられる。また、鋭角点を予め抽出しており、鋭角点が曲線により近似されることによる画質の劣化も防止されている。
【００６３】
図８から図１２は、本発明の実施の一形態における処理の流れを画像で示す模式図である。図８には入力された２値の原画像を示している。この原画像は、印刷物を画像読取装置で読み取って画像化したものである。図９には図２のＳ７３及びＳ７５において、拡大した原画像から抽出した外郭点列データによる外郭線画像を示している。なお、ここではＳ７３で抽出した黒画素の連結成分の外郭点列データと、Ｓ７５で抽出した黒画素の連結成分の内部に存在する２つの白画素の連結成分の外郭点列データとの間を黒く塗りつぶして示している。
【００６４】
図１０には図４のＳ８１において点列データを直線近似したデータによる外郭線画像を示している。この場合も、Ｓ７３で抽出した外郭点列データを直線近似したデータと、Ｓ７５で抽出した外郭点列データを直線近似したデータの間を黒く塗りつぶして示している。図１１には、図１０に示した直線近似した外郭線画像上において、鋭角点及びその他の経由点を示している。黒丸が鋭角点、白丸がその他の経由点である。
【００６５】
図１２には図３のＳ７９で出力される曲線近似データによって描画した画像を示している。図１２に示すように、統計的には凸型のベジエ曲線が多いものの、実際に凸型でないベジエ曲線も効果的に含まれていることがわかる。なお、図８から図１２に示した例は、黒の連結成分が１つ、その中に白の連結成分が２つ存在する例であり、図９における外郭点列データでは経由点が４１４点、図１０、図１１における直線近似したデータでは経由点が９７点、図１２に示したベジエ曲線による曲線近似データでは制御点が８８点となっており、データ量が削減されていることが分かる。
【００６６】
図１３は、本発明の実施の形態で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、４１はプログラム、４２はコンピュータ、５１は光磁気ディスク、５２は光ディスク、５３は磁気ディスク、５４はメモリ、６１はＣＰＵ、６２は内部メモリ、６３は読取部、６４はハードディスク、６５はインタフェース、６６は通信部である。
【００６７】
上述の実施の形態で説明した各部の機能の一部または全部を、コンピュータにより実行可能なプログラム４１によって実現してもよい。その場合、そのプログラム４１およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶させておけばよい。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取部６３に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取部６３にプログラムの記述内容を伝達するものである。例えば、光磁気ディスク５１，光ディスク５２（ＣＤやＤＶＤなどを含む）、磁気ディスク５３，メモリ５４（ＩＣカード、メモリカードなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【００６８】
これらの記憶媒体にプログラム４１を格納しておき、例えばコンピュータ４２の読取部６３あるいはインタフェース６５にこれらの記憶媒体を装着することによって、コンピュータからプログラム４１を読み出し、内部メモリ６２またはハードディスク６４に記憶し、ＣＰＵ６１によってプログラム４１を実行することによって、上述の実施の形態で説明した機能の一部又は全部が実現される。あるいは、ネットワークなどを介してプログラム４１をコンピュータ４２に転送し、コンピュータ４２では通信部６６でプログラム４１を受信して内部メモリ６２またはハードディスク６４に記憶し、ＣＰＵ６１によってプログラム４１を実行することによって、上述の実施の形態で説明した機能の一部又は全部を実現してもよい。なお、コンピュータ４２には、このほかインタフェース６５を介して様々な装置と接続してもよく、例えば情報を表示する表示装置やユーザが情報を入力する入力装置等も接続されている。もちろん画像読取手段が接続され、データ化すべき画像を画像読取手段で読み取るように構成してもよい。
【００６９】
もちろん、一部の機能についてハードウェアによって構成してもよいし、すべてをハードウェアで構成してもよい。あるいは、他の構成とともに本発明も含めたプログラムとして構成してもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施の一形態を示す構成図である。
【図２】本発明の実施の一形態における動作の一例を示す流れ図である。
【図３】２値画像の具体例の説明図である。
【図４】データ化処理部１４の動作の一例を示す流れ図である。
【図５】データ化処理部１４の動作の一例における具体例の説明図である。
【図６】３次ベジエ曲線による近似処理の説明図である。
【図７】判定部における判定処理の具体例の説明図である。
【図８】本発明の実施の一形態における処理の流れを画像で示す模式図のうちの原画像の一例を示す図である。
【図９】本発明の実施の一形態における処理の流れを画像で示す模式図のうちの外郭点列データの一例の説明図である。
【図１０】本発明の実施の一形態における処理の流れを画像で示す模式図のうちの直線近似したデータの一例の説明図である。
【図１１】本発明の実施の一形態における処理の流れを画像で示す模式図のうちの直線近似したデータの鋭角点及び他の経由点の一例の説明図である。
【図１２】本発明の実施の一形態における処理の流れを画像で示す模式図のうちの出力された曲線近似データにより描画した画像の一例の説明図である。
【図１３】本発明の実施の形態で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。
【符号の説明】
【００７１】
１１…前処理部、１２…第１連結成分抽出部、１３…第２連結成分抽出部、１４…データ化処理部、２１…直線近似部、２２…曲線近似部、３１…鋭角点抽出部、３２…経由点算出部、３３…制御点算出部、３４…判定部、３５…分割部、４１…プログラム、４２…コンピュータ、５１…光磁気ディスク、５２…光ディスク、５３…磁気ディスク、５４…メモリ、６１…ＣＰＵ、６２…内部メモリ、６３…読取部、６４…ハードディスク、６５…インタフェース、６６…通信部。
【図１】
0005083551.tif 000002
【図２】
0005083551.tif 000003
【図３】
0005083551.tif 000004
【図４】
0005083551.tif 000005
【図５】
0005083551.tif 000006
【図６】
0005083551.tif 000007
【図７】
0005083551.tif 000008
【図８】
0005083551.tif 000009
【図９】
0005083551.tif 000010
【図１０】
0005083551.tif 000011
【図１１】
0005083551.tif 000012
【図１２】
0005083551.tif 000013
【図１３】
0005083551.tif 000014