(57)【要約】【課題】２値化画像のアウトライン化において、２値化画像に含まれる外郭の中で適切な部分については残しつつ、滑らかな曲線等を得るための画像処理を実行することができる、アウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムを提供する。【解決手段】２値化された画像データから抽出された複数の輪郭画素について、所定の方向に隣接する画素間を直線で結んだ場合、ある直線が、隣接する直線よりも３倍を超えて長く、また、さらに先の直線よりも同様に３倍を超えて長い場合には、隣接する画素同士を結んだ直線が、直線ベクトル近似後のデータに、輪郭として残される。【選択図】図１４
2010074275.tif 000002
【特許請求の範囲】
【請求項１】
２値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを備え、
前記直線近似ステップは、
隣接する輪郭画素間の距離を算出する算出ステップと、
第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含む、アウトライン化方法。
【請求項２】
前記決定ステップでは、前記第１の直線が、前記第１の直線に隣接する直線を含む直線の長さに基づいて算出される長さよりも長い場合に、前記画像データの輪郭とされることが決定される、請求項１に記載のアウトライン化方法。
【請求項３】
前記決定ステップでは、前記第１の直線が、前記第１の直線に隣接する第２の直線に対して所定の倍率以上長く、かつ、前記第２の直線に隣接する第３の直線に対して所定の倍率以上長い場合に、前記画像データの輪郭とされる、請求項２に記載のアウトライン化方法。
【請求項４】
前記所定の倍率は２〜４倍である、請求項３に記載のアウトライン化方法。
【請求項５】
前記決定ステップは、前記第１の直線の長さが、前記第１の直線の一方側に隣接する前記第２の直線および前記第３の直線の長さに対して前記所定の倍率未満であった場合に、隣接する輪郭画素間を結んだ直線であって、前記第１の直線の他方側に隣接する第４の直線に対して前記所定の倍率以上長い場合には、前記第１の直線を前記画像データの輪郭とすると決定する、請求項３または請求項４に記載のアウトライン化方法。
【請求項６】
請求項１〜請求項５のいずれか１項に記載のアウトライン化方法によりアウトライン化された画像データを少なくとも含む画像データを圧縮するステップを備える、画像圧縮方法。
【請求項７】
２値化された画像データに対して、輪郭画素を抽出する抽出部と、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似部とを備え、
前記直線近似部は、
隣接する輪郭画素間の距離を算出する算出部と、
第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定部とを含む、アウトライン化装置。
【請求項８】
画像処理装置に、画像データからアウトラインデータを生成させる、コンピュータ読取可能なアウトライン化プログラムであって、
前記画像処理装置に、
２値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、
前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを実行させ、
前記直線近似ステップは、
隣接する輪郭画素間の距離を算出する算出ステップと、
第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含む、アウトライン化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データからアウトラインデータを生成するアウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムに関する。
【背景技術】
【０００２】
画像データに含まれる文字部分をアウトライン化する技術が、従来から種々提案されている。
【０００３】
たとえば、特許文献１（特開２００５−３４６１３７号公報）には、用紙に印刷された画像をスキャンすることによりアウトライン化データを作成する技術が開示されている。
【０００４】
なお、特許文献１では、スキャン時に、文字の輪郭上で画素の欠落等のノイズが発生した場合には、アウトライン化後に除去される。
【特許文献１】特開２００５−３４６１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のアウトライン化データの生成の際には、１文字ごとに、２値化データに対して輪郭画素が抽出され、当該輪郭画素に基づいてその外郭が直線近似され、そして、直線近似されたデータが曲線近似されていた。
【０００６】
たとえば、図１７に示される画素Ｐ１〜Ｐ４の４点が輪郭画素として抽出された場合、図１８の直線Ｌ０で示される線が求められ、一定の条件が満たされれば、図１８中に破線で示された、画素Ｐ１〜Ｐ４を結ぶ線の代わりに当該直線Ｌ０が外郭として直線近似データが作成されていた。なお、直線Ｌ０は、たとえば、画素Ｐ１〜Ｐ４の各点から等しい距離にある直線である。一定の条件とは、たとえば、画素Ｐ１〜Ｐ４の各点から直線Ｌ０の距離の和が予め定められた閾値以下となることである。
【０００７】
しかしながら、図１７および図１８を参照して説明したような態様で文字の外郭が直線近似された場合、アウトライン化データにおいて、本来水平または垂直の線で表されるべきところが、端部の画素の欠けによって、本来表されるべき向きに対して多少斜めに表される事態が生じる。図１９を参照して、具体的に説明する。
【０００８】
図１９（Ａ）は、アルファベット「Ｅ」の２値化画像の一例であり、図１９（Ｂ）は、図１９（Ａ）の２値化画像をアウトライン化したデータの一例である。
【０００９】
図１９（Ｂ）の左上の破線の円内の、下側の外郭を構成する線ＬＸ１は、図１９（Ａ）内の対応箇所と対比することにより理解されるように、本来は、２値化画像のデータのままで水平とされるべきところ、図１７および図１８を参照して説明したような直線近似が行なわれてしまったために、水平方向とは交わる方向に（右肩下がりに）伸びている。
【００１０】
また、図１９（Ｂ）の下方の破線の円内の、上側の外郭を構成する線ＬＸ２も、同様に、図１９（Ａ）内の対応箇所と対比して、本来は２値化画像のデータのままで水平とされるべきところが、水平方向とは交わる方向に（右肩上がりに）伸びている。
【００１１】
つまり、従来のアウトライン化では、本来その外郭が水平または垂直にされるべきところであって、２値化画像では水平または垂直に表現されているにもかかわらず、画像処理を行なうことにより却って水平または垂直方向に対して多少角度をもった方向とされる場合があった。アウトライン化された画像の外郭において、水平方向または垂直方向とされるべきところがこれらの各方向に対して角度を持つ方向とされると、目立つとともに見る人に違和感を与える。
【００１２】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、２値化画像のアウトライン化において、２値化画像に含まれる外郭の中で適切な部分については残しつつ、滑らかな曲線等を得るための画像処理を実行することができる、アウトライン化方法およびそれを用いた画像圧縮方法、アウトライン化装置、ならびにアウトライン化プログラムを提供することである。
【課題を解決するための手段】
【００１３】
本発明に従ったアウトライン化方法は、２値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを備え、前記直線近似ステップは、隣接する輪郭画素間の距離を算出する算出ステップと、第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含むことを特徴とする。
【００１４】
また、本発明のアウトライン化方法は、前記決定ステップでは、前記第１の直線が、前記第１の直線に隣接する直線を含む直線の長さに基づいて算出される長さよりも長い場合に、前記画像データの輪郭とされることが決定されることが好ましい。
【００１５】
また、本発明のアウトライン化方法は、前記決定ステップでは、前記第１の直線が、前記第１の直線に隣接する第２の直線に対して所定の倍率以上長く、かつ、前記第２の直線に隣接する第３の直線に対して所定の倍率以上長い場合に、前記画像データの輪郭とされることが好ましい。
【００１６】
また、本発明のアウトライン化方法では、前記所定の倍率は２〜４倍であることが好ましい。
【００１７】
また、本発明のアウトライン化方法では、前記決定ステップは、前記第１の直線の長さが、前記第１の直線の一方側に隣接する前記第２の直線および前記第３の直線の長さに対して前記所定の倍率未満であった場合に、隣接する輪郭画素間を結んだ直線であって、前記第１の直線の他方側に隣接する第４の直線に対して前記所定の倍率以上長い場合には、前記第１の直線を前記画像データの輪郭とすると決定することが好ましい。
【００１８】
本発明に従った画像圧縮方法は、上記したアウトライン化方法によりアウトライン化された画像データを少なくとも含む画像データを圧縮するステップを備えることを特徴とする。
【００１９】
本発明に従ったアウトライン化装置は、２値化された画像データに対して、輪郭画素を抽出する抽出部と、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似部とを備え、前記直線近似部は、隣接する輪郭画素間の距離を算出する算出部と、第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定部とを含むことを特徴とする。
【００２０】
本発明に従ったアウトライン化プログラムは、画像処理装置に、画像データからアウトラインデータを生成させる、コンピュータ読取可能なアウトライン化プログラムであって、前記画像処理装置に、２値化された画像データに対して、輪郭画素を抽出する輪郭画素抽出ステップと、前記輪郭画素に基づいて、前記画像データの輪郭を直線近似する直線近似ステップとを実行させ、前記直線近似ステップは、隣接する輪郭画素間の距離を算出する算出ステップと、第１の輪郭画素と前記第１の輪郭画素に隣接する第２の輪郭画素とを結ぶ直線である第１の直線の長さと、隣接する輪郭画素間を結んだ直線であって前記第１の直線に隣接する直線を含む直線の長さとの比較結果に基づいて、前記第１の直線を、前記画像データの輪郭にするか否かを決定する決定ステップとを含むことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、画像のアウトライン化において、２値化された画像データから輪郭画素を抽出した際に、隣接する２つの輪郭画素を結ぶことによって生じる直線の長さに応じて、当該直線が、２値化画像が直線で近似された際にそのまま残されるか否かが決定される。
【００２２】
これにより、アウトライン画像の生成において直線近似された画像では、上記のような直線の長さによっては当該直線がそのまま残される場合がある。
【００２３】
したがって、２値化画像のアウトライン化において、２値化画像の外郭を構成する直線の中で、適切な部分については残しつつ、他の部分については滑らかな曲線等を得るための画像処理が実行される。よって、２値化画像に含まれる外郭の中で適切な部分については残しつつ、上記画像処理により滑らかな曲線等を含むアウトライン画像を生成できるようにすることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の画像処理装置の実施の形態について、図面を参照して説明する。
図１は、本発明の画像処理装置の一実施の形態であるＭＦＰ（Multi Function Peripherals）１の外観を示す図である。
【００２５】
ＭＦＰ１は、各種の処理に対する操作指示、ならびに、文字および数字のデータの入力を受付ける操作パネル１５を備えている。操作パネル１５には、電源キー等の、ユーザが操作するための複数のキーが設けられている。
【００２６】
また、ＭＦＰ１は、原稿を光電的に読取って画像データを得るスキャナ１１、画像データに基づいて記録シート上に画像を印刷する印刷装置（エンジン）１２、印刷装置１２に記録シートを供給する給紙部１８、印刷装置１２によって画像を印刷された記録シートが排出されるトレイ１９、および、後述するＣＰＵ（central processing unit）１０Ａ等を収納する制御部１０を備えている。
【００２７】
スキャナ１１は、写真、文字、絵などの画像情報を原稿から光電的に読取って画像データを取得する。取得された画像データは、適宜処理を施された後、ネットワークを介して送信される電子メールの添付ファイル用のデータとして利用されたり、電話回線等を介して他の機器に送信されたり、印刷装置１２に送られて印刷に供されたりする。
【００２８】
図２は、図１のＭＦＰ１のハードウェア構成を示す図である。
図２を参照して、ＭＦＰ１は、上述した構成要素の他に、入力画像処理部１０Ｂ、記憶部１０Ｃ、ＣＰＵ１０Ａ、ネットワークＩ／Ｆ（インターフェイス）１０Ｅ、出力画像処理部１０Ｄ、および通信部１０Ｆを含む。
【００２９】
ＭＦＰ１では、スキャナ１１で取得された画像データは、入力画像処理部１０Ｂに送られる。
【００３０】
入力画像処理部１０Ｂは、入力された画像の色変換、色補正、解像度変換、および領域判別等の処理を実行する。入力画像処理部１０Ｂにおいて処理されたデータは、記憶部１０Ｃで保存される。記憶部１０Ｃは、ＤＲＡＭ（Dynamic Random Access Memory）等のメモリ、および、磁気メモリの一例であるハードディスクを備えたハードディスクドライブ（ＨＤＤ）を含む。なお、ＭＦＰ１では、入力画像処理部１０Ｂは、たとえば、ＣＰＵ１０Ａが記憶部１０Ｃ（またはＭＦＰ１に対して着脱可能な記録媒体）に記録されたプログラムを実行することによって実現されても良いし、ＭＦＰ１に実装される１つのまたは複数のＡＳＩＣ（Application Specific Integrated Circuit）によって実現されても良い。
【００３１】
ＣＰＵ１０Ａは、ＭＦＰ１の全体的な制御、操作キー（表示パネル１５の表示部に表示されるキー等）に対する操作の検出、操作パネル１５の表示、入力されたデータの画像ファイルへの変更等の処理を実行する。
【００３２】
ネットワークＩ／Ｆ１０Ｅは、電子メール等をネットワークへ送信するＩ／Ｆ部分であり、プロトコルの作成等を行なう。
【００３３】
出力画像処理部１０Ｄは、写真画像の粒状性を向上させるためのスクリーン制御、文字エッジの滑らかさを向上させるためのスムージング処理、ＰＷＭ（Pulse Width Modulation）制御等を行なう。
【００３４】
印刷装置１２は、出力画像処理部で生成されたデータを用紙に印刷する。
通信部１０Ｆは、モデムおよびＮＣＵ（Network Control Unit）を含み、ファクシミリの送受信の変復調、ファクシミリの通信プロトコルの生成、電話回線への接続等を行なう。
【００３５】
操作パネル１５は、操作キーと表示部とを含む。表示部は、たとえば液晶のタッチパネルによって構成される。操作キーは、たとえば当該液晶のタッチパネルに表示されるタッチキーによって構成される。
【００３６】
図３は、図２の入力画像処理部１０Ｂの詳細な構成を示す図である。
図３を参照して、入力画像処理部１０Ｂは、前処理部２１０と、領域判別部２２０と、２値化処理部２３１と、輪郭画像抽出部２３２と、直線ベクトル近似処理部２３３と、曲線ベクトル近似処理部２３４と、文字領域圧縮部２３５と、写真・背景領域圧縮部２３６と、圧縮データ合成部２４０とを含む。
【００３７】
スキャナ１１は、原稿をスキャンすることによって画像データを生成すると、その画像データを前処理部２１０に出力する。
【００３８】
前処理部２１０では、画像データに対して、画像形式の変換、解像度の変換、および下地処理等の処理が行なわれる。これらの処理を施された画像データは、領域判別部２２０に送られる。
【００３９】
領域判別部２２０では、まず、写真、背景、文字等の領域判別を行なうことにより、画像データを、文字領域と文字以外の領域（写真・背景領域）とに分ける。
【００４０】
そして、領域判別部２２０は、文字領域の画像データを２値化処理部２３１に送り、写真・背景領域の画像データを写真・背景領域圧縮部２３６に送る。
【００４１】
なお、領域判別部２２０は、写真・背景領域の画像データについては、入力されたフルカラー２４ｂｉｔの画像データから８ｂｉｔの明度画像を生成し、当該明度画像にスムージング処理を行ない、ノイズを除去する。そして、生成されたスムージング画像を、ラベリング処理することにより、前処理部２１０から送られた画像データに含まれる複数の写真・背景領域の位置を検出する。
【００４２】
２値化処理部２３１は、入力された文字領域の画像データに対し、２値化処理を行ない、文字と背景を分離する。２値化された画像データは、輪郭画素抽出部２３２へ送られ、輪郭画素抽出部２３２と直線ベクトル近似処理部２３３と曲線ベクトル近似処理部２３４とにおいて行なわれるアウトラインデータ変換処理に供される。
【００４３】
輪郭画素抽出部２３２では、２値化された文字画像を走査して、パターンマッチングにより、輪郭画素が抽出される。
【００４４】
図５（Ａ）には、パターンマッチングに用いる輪郭画素抽出パターンの一例が示されており、図５（Ｂ）には、２値化された文字画像の一部が拡大されて示されている。２値化らされた文字画像を（たとえば、４画素単位で）走査し、図５（Ａ）にいずれかのパターンに合致する画素が輪郭画素として抽出される。このようなパターンマッチングによって、一例として、図５（Ｂ）に示されるように、一点鎖線で囲まれた画素が、輪郭画素として抽出される。
【００４５】
輪郭画素抽出部２３２において輪郭画素を抽出された後、画像データは、直線ベクトル近似処理部２３３に送られる。直線ベクトル近似処理部２３３では、輪郭画素抽出部２３２において抽出された輪郭画素について、近隣の輪郭画素が１つのベクトルとして表現されることにより、文字画像の輪郭が直線近似される。直線ベクトル近似処理部２３３において輪郭を直線近似された文字画像のデータは、曲線ベクトル近似処理部２３４に送られる。
【００４６】
曲線ベクトル近似処理部２３４では、直線ベクトル近似処理部２３３において生成された、文字画像の輪郭の直線ベクトルに対し、曲線条件に応じて適宜制御点が設定され、当該制御点に基づいて、文字画像の輪郭の曲線近似がなされる。
【００４７】
本実施の形態のＭＦＰ１では、曲線条件に応じた制御点の設定を、特徴の１つとする。なお、直線ベクトル近似処理部２３３における輪郭画素に基づいた直線ベクトルの設定、および、曲線ベクトル近似処理部２３４における制御点に基づいて曲線近似については、周知の技術を採用することができるため、ここでは説明を繰返さない。
【００４８】
文字領域圧縮部２３５では、文字領域に適したデータの圧縮が行なわれる。また、写真・背景領域圧縮部２３６では、写真・背景領域に適したデータの圧縮が行なわれる。文字領域の画像データは、ベクトルデータ（位置情報）になっているため、ＦＬＡＴＥ圧縮方式のような可逆性の圧縮方式が好適と考えられる。写真・背景領域は、画質の維持よりもファイルサイズが小さくなることを優先させる場合、たとえば圧縮率を高く設定したＪＰＥＧ圧縮方式のような非可逆性の圧縮方式が好適と考えられる。
【００４９】
圧縮データ合成部２４０は、文字領域圧縮部２３５で圧縮された文字領域の画像データと写真・背景領域圧縮部２３６において圧縮された写真・背景領域の画像データとを合成して、ＰＤＦ（Portable Document Format）ファイルを生成して、記憶部１０Ｃへ出力する。
【００５０】
ＭＦＰ１では、文字には文字用に好適な圧縮を、写真には写真用に好適な圧縮を施し、最終的には、両者をレイヤとして重ね合わせて１つのＰＤＦファイルフォーマットのデータを生成する。これにより、画像データを、単一の圧縮方式（例えば、ＪＰＥＧ圧縮）で圧縮するよりもサイズの小さいファイルに変換することができる。
【００５１】
以上説明したように、ＭＦＰ１では、スキャナ１１で読込まれた画像は、入力画像処理部１０Ｂで処理されることにより、文字領域と写真・背景領域とで異なる方式で圧縮処理されたＰＤＦファイルに変換されて、記憶部１０Ｃに保存される。
【００５２】
図４は、このようなＰＤＦファイルへの画像データの変換が行なわれる際の、輪郭画素抽出部２３２と直線ベクトル近似処理部２３３と曲線ベクトル近似処理部２３４において実行される処理（アウトライン変換処理）のフローチャートである。以下、アウトライン変換処理について、詳細に説明する。
【００５３】
図４を参照して、輪郭画素抽出部２３２に２値化された画像データが入力されると、輪郭画像抽出部２３２は、ステップＳ１０で、文字領域の画像データを、１文字単位に分離して、ステップＳ２０へ処理を進める。
【００５４】
ステップＳ２０では、輪郭画素抽出部２３２は、ステップＳ１０において分離されたすべての文字について、ステップＳ３０〜ステップＳ８０の処理の対象とされたか否かを判断し、対象とされたと判断するとアウトライン変換処理を終了させ、まだ対象とされていない文字があると判断するとステップＳ３０へ処理を進める。
【００５５】
ステップＳ３０では、輪郭画素抽出部２３２は、ステップＳ１０で分離された各文字の中でまだステップＳ３０〜ステップＳ８０の処理対象とされていない文字を処理対象とし、当該処理対象の文字について、パターンマッチングにより輪郭画素を抽出して、ステップＳ４０へ処理を進める。
【００５６】
ステップＳ３０の処理により、図５を参照して上述したように、図５（Ｂ）において一点鎖線で囲まれた画素が、輪郭画素として抽出される。
【００５７】
ステップＳ４０では、輪郭画素抽出部２３２は、処理対象の文字においてすべての輪郭画素が抽出されたか否かを判断し、抽出されたと判断するとステップＳ５０へ処理を進める。
【００５８】
ステップＳ５０では、直線ベクトル近似処理部２３３が、上述したように、輪郭画素抽出部２３２によって抽出された輪郭画素に基づいて、複数の輪郭画素を所定のアルゴリズムに従って直線近似し、近似された直線を順に直線ベクトルとして連結してゆくことにより、処理対象となっている文字の輪郭を直線ベクトルで近似して、ステップＳ６０へ処理を進める。なお、直線近似アルゴリズムとしては、公知のいずれの方法も適用可能である。
【００５９】
ステップＳ５０における直線ベクトル近似処理の内容については、後述する。
ステップＳ６０では、直線ベクトル近似処理部２３３は、処理対象となっている文字について抽出されたすべての輪郭画素について直線ベクトル近似が終了したか否かを判断し、まだ終了していないと判断するとステップＳ５０へ処理を戻し、終了したと判断するとステップＳ７０へ処理を進める。
【００６０】
図６は、「ｕ」が処理対象の文字とされている場合に、当該文字の画像に対して抽出された輪郭画素を模式的に示す図である。
【００６１】
図６では、「ｕ」の文字画像に対して抽出された輪郭画素が、点線の円を付されて示されている。そして、これらの輪郭画素に基づいて当該文字画像が直線ベクトル近似されたものを、図７に示す。
【００６２】
図７では、直線ベクトルが、「●」という記号で連結されている状態が示されている。
ステップＳ７０では、図７に示したような直線ベクトル近似された処理対象の文字について、各直線ベクトル上に適宜制御点を設定し、当該制御点を用いて、処理対象の輪郭を曲線ベクトル近似して、処理をステップＳ８０へ進める。
【００６３】
ステップＳ８０では、曲線ベクトル近似処理部２３４は、処理対象の文字画像についてステップＳ５０で生成された直線ベクトルのすべてについて曲線ベクトル近似が終了したか否かを判断し、終了していないと判断するとステップＳ７０へ処理を戻し、終了したと判断するとステップＳ２０へ処理を戻す。
【００６４】
ステップＳ７０の処理によりすべての直線ベクトルについて曲線ベクトル近似がなされると、図７に示した直線ベクトルによって表現された文字画像が、図８に示すように、曲線を含む文字画像へと変換される。
【００６５】
図９から図１１は、図４のステップＳ５０の直線ベクトル近似処理のサブルーチンのフローチャートである。
【００６６】
まず図９を参照して、直線ベクトル近似処理では、処理対象とされている文字画像について抽出された輪郭画素の中から、１つの処理対象の輪郭画素と、当該処理対象の輪郭画素にある方向に隣接する輪郭画素とが選択されて、処理がステップＳ５０３へ進められる。以下の説明では、便宜上、処理対象の輪郭画素を「輪郭画素Ａ」とし、上記のある方向を「第１の方向」とし、また、処理対象の輪郭画素に隣接する輪郭画素を「輪郭画素Ｂ」とする。
【００６７】
図１２は、処理対象とされている文字画像の２値化画像から抽出された複数の輪郭画素の一部について、その配列の一部を示す図である。図１２では、反時計方向（第１の方向）に、点Ｘ、点Ｙ、点Ｚ、点Ａ、点Ｂ、点Ｃ、点Ｄ、点Ｅが並んでいる。
【００６８】
そして、図１２中の点Ａと点Ｂが、それぞれ上記したステップＳ５０１において選択された輪郭画素Ａと輪郭画素Ｂとする。
【００６９】
さらに図９を参照して、ステップＳ５０３では、処理対象の輪郭画素Ａについて、第１の方向に隣接する輪郭画素Ｂに加え、さらに当該輪郭画素Ｂと第１の方向に隣接する輪郭画素（図１２の点Ｃ）と、さらに輪郭画素Ｃと第１の方向に隣接する輪郭画素（図１２の点Ｄ）とが選択されて、ステップＳ５０５へ処理が進められる。
【００７０】
ステップＳ５０５では、ステップＳ５０１とステップＳ５０３とにおいて選択した４つの輪郭画素について、各画素間の距離が算出される。つまり、点Ａと点Ｂの距離（｜ＡＢ｜）と、点Ｂと点Ｃの距離（｜ＢＣ｜）と、点Ｃと点Ｄの距離（｜ＣＤ｜）とが算出される。
【００７１】
そして、ステップＳ５０７では、｜ＡＢ｜が｜ＢＣ｜の３倍よりも長く、かつ、｜ＡＢ｜が｜ＣＤ｜の３倍よりも長いものであるか否かが判断される。そして、｜ＡＢ｜が｜ＢＣ｜の３倍よりも長く、かつ、｜ＡＢ｜が｜ＣＤ｜の３倍よりも長いと判断されると、ステップＳ５０９へ処理が進められ、そうではないと判断されると、ステップＳ５１９へ処理が進められる。
【００７２】
ステップＳ５０９では、処理対象とされている輪郭画素（輪郭画素Ａ）の、第２の方向に隣接する２つの輪郭画素（図１２の輪郭画素Ｚと輪郭画素Ｙ）が選択されて、ステップＳ５１１へ処理が進められる。
【００７３】
なお、第２の方向とは、図１２に示すように、第１の方向とは反対の方向であり、たとえば、時計方向とされる。
【００７４】
ステップＳ５１１では、処理対象の輪郭画素とステップＳ５０９で選択された２つ輪郭画素との距離（つまり、点Ａと点Ｚの距離｜ＡＺ｜および点Ｚと点Ｙの距離｜ＺＹ｜）が算出されて、ステップＳ５１３へ処理が進められる。
【００７５】
ステップＳ５１３では、｜ＢＡ｜が、｜ＡＺ｜を３倍したものよりも大きく、かつ、｜ＺＹ｜を３倍したものよりも大きいか否かが判断される。なお、｜ＢＡ｜と｜ＡＢ｜は、ともに点Ａと点Ｂの距離である。
【００７６】
そして、｜ＢＡ｜が、｜ＡＺ｜を３倍したものよりも大きく、かつ、｜ＺＹ｜を３倍したものよりも大きいと判断されると、ステップＳ５１５へ処理が進められる。一方、｜ＣＢ｜が、｜ＡＺ｜を３倍したものまたは｜ＺＹ｜を３倍したものの少なくとも一方以下であれば、ステップＳ５１７へ処理が進められる。
【００７７】
ステップＳ５１７では、処理対象の輪郭画素Ａと当該画素と第１の方向に隣接する輪郭画素である輪郭画素Ｂについて、これらを結んだ直線が、処理対象の文字画像の直線ベクトル近似データにおいて輪郭を構成する直線ベクトルとして残されて、ステップＳ５３７に処理が進められる。
【００７８】
一方、ステップＳ５１５では、点Ｂと点Ａと点Ｚの近似直線の方程式が算出されて、ステップＳ５１６へ処理が進められる。また、ステップＳ５１９では、点Ａと点Ｂと点Ｃの近似直線の方程式が算出されて、ステップＳ５２１へ処理が進められる。
【００７９】
ここで、３点の近似直線とは、当該３点から等距離にある直線をいう。たとえば、点Ａと点Ｂと点Ｃの近似直線とは、これらの点から等距離にある直線であり、たとえば図１３に一点鎖線Ｌ１として示す。
【００８０】
ステップＳ５１６では、ステップＳ５１５で算出された近似直線と点Ｚ、点Ａ、点Ｂの各点との距離（または、近似直線と各点の距離との平均）が、予め定められた閾値ＲＷ２未満であるか否かが判断され、ＲＷ２未満であると判断されるとステップＳ５３９（図１１参照）へ処理が進められ、そうではないと判断されるとステップＳ５１７へ処理が進められる。なお、図９のステップＳ５１６では、ステップＳ５１９で算出された近似直線と点Ｂ、点Ａ、点Ｚの各点との距離が、それぞれ、ＲＢ、ＲＡ、ＲＺとして示されている。
【００８１】
一方、ステップＳ５２１では、ステップＳ５１９で算出された近似直線と点Ａ〜点Ｃの各点との距離（または、近似直線と各点の距離との平均）が、予め定められた閾値ＲＷ１未満であるか否かが判断され、ＲＷ１未満であると判断されるとステップＳ５２３へ処理が進められ、そうではないと判断されるとステップＳ５１７へ処理が進められる。なお、図９のステップＳ５２１では、ステップＳ５１９で算出された近似直線と点Ａ〜点Ｃの各点との距離が、それぞれ、ＲＡ、ＲＢ、ＲＣとして示されている。
【００８２】
図１０を参照して、ステップＳ５２３では、点Ａと点Ｂと点Ｃと点Ｄについての近似直線が算出されて、ステップＳ５２５へ処理が進められる。
【００８３】
ステップＳ５２５では、ステップＳ５２３で算出された近似直線と点Ａ〜点Ｄの各点との距離の平均が予め定められた閾値ＲＷ１未満であるか否かが判断される。ＲＷ１未満であると判断されるとステップＳ５２９へ処理が進められ、そうではないと判断されるとステップＳ５２７へ処理が進められる。
【００８４】
ステップＳ５２７では、点Ａ〜点Ｃの３点が、点Ａと点Ｃを直接接続する直線（直線ＡＣ）と近似されて直線ベクトル近似後のデータとされて、ステップＳ５３７へ処理が進められる。
【００８５】
ステップＳ５２９では、点Ａ〜点Ｅの５点についての近似直線が算出される。
これ以降、ステップＳ５２１やステップＳ５２５のように、処理対象となる文字画像について抽出された、隣接する複数の輪郭画素について、当該複数の画素と等距離となるような近似直線が算出され、そして、当該近似直線と各点との距離（または、その平均）が閾値ＲＷ１未満となるか否かが判断される。そして、閾値ＲＷ１未満となれば、さらに第１の方向（図１２参照）に隣接する輪郭画素が、前回近似直線が算出された際に利用された輪郭画素に加えられて、新たな近似直線が算出され、そして、当該近似直線と各点との距離（または、その平均）が閾値ＲＷ１と比較される。
【００８６】
一方、近似直線と各輪郭画素の距離の平均が閾値ＲＷ１以上となった場合には、最後に近似直線の算出の対象とした輪郭画素の１つ手前の輪郭画素と処理対象の輪郭画素とを直接結ぶ直線を直線ベクトル近似後のデータに含まれる近似直線とされる。近似直線の算出は、上記の距離が閾値ＲＷ１以上となるまで行なわれる。
【００８７】
つまり、処理対象の輪郭画素から、第１の方向（図１２参照）にＮ番目に隣接する輪郭画素Ｎまでを用いて近似直線を算出した場合に（Ｓ５３１）、点Ａ〜点Ｎの各点と近似直線との距離の平均が閾値ＲＷ１以上となるところまで近似直線の算出などが続けられる。そして、そのような、つまり、算出された近似直線と当該近似直線のもととなった各隣接画素との距離の平均が閾値ＲＷ１以上となるところまで続けられ、そのような隣接画素が見つかれば（Ｓ５３３）、その１つ手前の隣接画素までを対象として算出された近似直線（隣接画素Ｎまでの近似直線を算出したときに各輪郭画素と近似直線の距離の平均が閾値ＲＷ１以上となった場合であれば、輪郭画素（Ｎ−１）までを対象とされた近似直線が、輪郭画素Ａ〜輪郭画素（Ｎ−１）を近似する直線ベクトルとされて、ステップＳ５３７へ処理が進められる。
【００８８】
図１１を参照して、ステップＳ５３９では、点Ｂと点Ａと点Ｚと点Ｙについての近似直線が算出されて、ステップＳ５４１へ処理が進められる。
【００８９】
ステップＳ５４１では、ステップＳ５３９で算出された近似直線と点Ｂと点Ａと点Ｚと点Ｙの各点との距離の平均が予め定められた閾値ＲＷ２未満であるか否かが判断される。ＲＷ２未満であると判断されるとステップＳ５４５へ処理が進められ、そうではないと判断されるとステップＳ５４３へ処理が進められる。
【００９０】
ステップＳ５４３では、点Ｂ、点Ａ、点Ｚの３点が、点Ｂと点Ｚを直接接続する直線（直線ＢＺ）と近似されて直線ベクトル近似後のデータとされて、ステップＳ５３７へ処理が進められる。
【００９１】
ステップＳ５４５では、点Ｂ、点Ａ、点Ｚ、点Ｙ、点Ｘの５点についての近似直線が算出される。
【００９２】
これ以降、ステップＳ５１６やステップＳ５４１のように、処理対象となる文字画像について抽出された、隣接する複数の輪郭画素について、当該複数の画素と等距離となるような近似直線が算出され、そして、当該近似直線と各点との距離（または、その平均）が閾値ＲＷ２未満となるか否かが判断される。そして、閾値ＲＷ２未満となれば、さらに第２の方向（図１２参照）に隣接する輪郭画素が、前回近似直線が算出された際に利用された輪郭画素に加えられて、新たな近似直線が算出され、そして、当該近似直線と各点との距離（または、その平均）が閾値ＲＷ２と比較される。
【００９３】
一方、近似直線と各輪郭画素の距離の平均が閾値ＲＷ２以上となった場合には、最後に近似直線の算出の対象とした輪郭画素の１つ手前の輪郭画素と処理対象の輪郭画素とを直接結ぶ直線を直線ベクトル近似後のデータに含まれる近似直線とされる。近似直線の算出は、上記の距離が閾値ＲＷ２以上となるまで行なわれる。
【００９４】
つまり、処理対象の輪郭画素から、第２の方向（図１２参照）にＭ番目に隣接する輪郭画素Ｍまでを用いて近似直線を算出した場合に（Ｓ５４７）、点Ｂから、当該点Ｂに対して時計方向（第２の方向）に並ぶＭ番目までの各点と近似直線との距離の平均が閾値ＲＷ２以上となるところまで近似直線の算出などが続けられる。そして、そのような、つまり、算出された近似直線と当該近似直線のもととなった各隣接画素との距離の平均が閾値ＲＷ２以上となるところまで続けられ、そのような隣接画素が見つかれば（Ｓ５４９）、当該隣接画素に対して第２の方向について１つ手前の隣接画素までを対象として算出された近似直線（隣接画素Ｍまでの近似直線を算出したときに各輪郭画素と近似直線の距離の平均が閾値ＲＷ２以上となった場合であれば、輪郭画素（Ｍ−１）までを対象とされた近似直線が、輪郭画素Ｂから第２の方向に並ぶ輪郭画素（Ｍ−１）までを近似する直線ベクトルとされて、ステップＳ５３７へ処理が進められる。
【００９５】
図１０に戻って、ステップＳ５３７では、処理対象となる輪郭画素が更新されて、ステップＳ５０１（図９参照）へ処理が戻される。
【００９６】
なお、ステップＳ５３７では、ステップＳ５１７、ステップＳ５２７、ステップＳ５３５、ステップＳ５４３またはステップＳ５５１において直線近似の対象とされた最後の輪郭画素と第１の方向に隣接する輪郭画素に、処理対象の輪郭画素が更新される。
【００９７】
以上説明した本実施の形態では、直線ベクトル近似において、処理対象とされた輪郭画素（輪郭画素Ａ）について、当該輪郭画素と第１の方向に隣接する輪郭画素（輪郭画素Ｂ）を接続する第１の直線（直線ＡＢ）が、所定の条件が満たされる場合に、直線ベクトル近似後のデータにおいて直線ベクトルとして残される。
【００９８】
なお、上記した説明における閾値ＲＷ１と閾値ＲＷ２は、互いに独立に設定されることが好ましく、また、Ｍ，Ｎの値についても、これらの値は互いに独立して設定されることが好ましい。
【００９９】
つまり、ステップＳ５０７のように、当該直線（線分ＡＢ）の長さが当該直線ＡＢに隣接する直線ＢＣに対して３倍よりも長く、かつ、直線ＢＣと第１の方向に隣接する直線ＣＤと比べてその３倍よりも長い場合には、図１４に示されるように、直線ＡＢは、直線ベクトル近似されたデータにおいて、当該画像データの輪郭とされる（ステップＳ５１７）。つまり、本実施の形態では、隣接する輪郭画素を直接結んだ直線を直線ベクトル近似後のデータにおいてそのまま残すことができる。
【０１００】
また、本実施の形態では、上記直線（線分ＡＢ）の長さが当該直線ＡＢに隣接する直線ＢＣの３倍以下であるか、または、直線ＢＣと第１の方向に隣接する直線ＣＤと比べてその３倍以下である場合には、たとえば、図１５に示されるように、点Ａと点Ｃとが直接結ばれた直線ＡＣが、直線ベクトル近似されたデータにおいて、当該画像データの輪郭とされる（ステップＳ５２７）。
【０１０１】
なお、図９を参照して説明した本実施の形態では、ステップＳ５０７において、直線ＡＢの長さが直線ＢＣの長さの３倍より長くかつ直線ＣＤの長さの３倍よりも長い場合（ステップＳ５０７においてＹＥＳ）には、直接ステップＳ５１７へ処理を進めて（ステップＳ５０９〜ステップＳ５１５を省略して）、ステップＳ５１７で直線ＡＢを直線近似後のデータにおいて輪郭として残すための処理が実行されてもよい。
【０１０２】
以上説明した本実施の形態では、２値化された画像データから抽出された複数の輪郭画素について、所定の方向に隣接する画素間を直線で結んだ場合、ある直線が、隣接する直線よりも３倍を超えて長く、また、さらに先の直線よりも同様に３倍を超えて長い場合には、隣接する画素同士を結んだ直線が、直線ベクトル近似後のデータに、輪郭として残される。
【０１０３】
なお、本実施の形態では、隣接する輪郭画素間を結ぶ直線を直線ベクトル近似後のデータにおいてそのまま輪郭として残すか否かを決定する場合の、長さの比率の一例として「３」が採用されたが、本発明におけるこのような倍率は、この値に限定されない。
【０１０４】
図１６に、直線ベクトル近似処理において利用される倍率を変更して生成されたアウトライン化データの一例を示す。
【０１０５】
図１６（Ａ）は、輪郭画素の抽出の対象となった入力２値画像を示す。また、図１６（Ｂ）には、ステップＳ５０７等で利用される倍率を１としてアウトライン化された画像が、図１６（Ｃ）には、ステップＳ５０７等で利用される倍率を２としてアウトライン化された画像が、図１６（Ｄ）には、ステップＳ５０７等で利用される倍率を３としてアウトライン化された画像が、図１６（Ｅ）には、ステップＳ５０７等で利用される倍率を４としてアウトライン化された画像が、そして、図１６（Ｆ）には、ステップＳ５０７等で利用される倍率を５としてアウトライン化された画像が、それぞれ示されている。なお、利用される倍率が５以上とされた場合のアウトライン化された画像の結果は、図１６（Ｆ）に示されたものと同様の結果となった。
【０１０６】
図１６（Ａ）〜図１６（Ｆ）には、それぞれ、アルファベット「Ｅ」と「Ｙ」についての画像が示されている。
【０１０７】
図１６（Ｂ）に示された結果では、破線の楕円で示されているように、２値画素においける画像の粗さが完全には取りきれずに残されている。
【０１０８】
図１６（Ｃ）では、図１６（Ｂ）において破線の楕円で示したような画像の粗さはほぼ解消され、図１６（Ｃ）では、破線の円で示される場所において多少画像の粗さが残される程度とされている。
【０１０９】
図１６（Ｄ）では、ほぼ理想的なアウトライン化された画像が得られている。
図１６（Ｅ）では、破線の円で示されているように、水平な線とされるべき外殻の下側の線が、線ＬＸ３で示されるように、右肩下がりの線となっている。
【０１１０】
図１６（Ｆ）では、図１９（Ｂ）と同様に、２ヶ所で、本来水平とされるべきところが右肩下がりまたは右肩上がりになっている。
【０１１１】
以上より、閾値倍率の値としては、２〜４が好ましく、３程度であれば最も好ましいと考えられる。
【０１１２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１３】
【図１】本発明の画像処理装置の一実施の形態であるＭＦＰの外観を示す図である。
【図２】図１のＭＦＰのハードウェア構成を示す図である。
【図３】図２の入力画像処理部の詳細な構成を示す図である。
【図４】図１のＭＦＰにおいて実行されるアウトライン変換処理のフローチャートである。
【図５】図１のＭＦＰで実行される輪郭画素の抽出の態様を説明するための図である。
【図６】図４のアウトライン変換処理において抽出された輪郭画素を模式的に示す図である。
【図７】図４のアウトライン変換処理における直線ベクトル近似によって得られた画像の一例を示す図である。
【図８】図４のアウトライン変換処理における曲線ベクトル近似によって得られた画像の一例を示す図である。
【図９】図４の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図１０】図４の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図１１】図４の直線ベクトル近似処理のサブルーチンのフローチャートである。
【図１２】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図１３】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図１４】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図１５】本実施の形態の直線ベクトル近似処理の内容を説明するための図である。
【図１６】本実施の形態の直線ベクトル近似処理において、（Ａ）は、輪郭画素の抽出の対象となった入力２値画像を示し、（Ｂ）は、利用される倍率が１とされた場合のアウトライン化された画像を示し、（Ｃ）は、利用される倍率が２とされた場合のアウトライン化された画像を示し、（Ｄ）は、利用される倍率が３とされたアウトライン化された画像を示し、（Ｅ）は、利用される倍率が４とされたアウトライン化された画像を示し、（Ｆ）は、利用される倍率が５とされたアウトライン化された画像を示す。
【図１７】一般的なアウトライン化処理の内容を説明するための図である。
【図１８】一般的なアウトライン化処理の内容を説明するための図である。
【図１９】（Ａ）はアウトライン化の前段階で２値化された画像の一例を示す図であり、（Ｂ）は、従来の技術に従ってアウトライン化された画像の一例を示す図である。
【符号の説明】
【０１１４】
１  ＭＦＰ、１０  制御部、１０Ａ  ＣＰＵ、１０Ｂ  入力画像処理部、１０Ｃ  記憶部、１０Ｄ  出力画像処理部、１０Ｅ  ネットワークＩ／Ｆ、１０Ｆ  通信部、１１  スキャナ、１２  印刷装置、１５  操作パネル、１８  給紙部、１９  トレイ、２１０  前処理部、２２０  領域判別部、２３１  ２値化処理部、２３２  輪郭画素抽出部、２３３  直線ベクトル近似処理部、２３４  曲線ベクトル近似処理部、２３５  文字領域圧縮部、２３６  写真・背景領域圧縮部、２４０  圧縮データ合成部。
【図１】
2010074275.tif 000003
【図２】
2010074275.tif 000004
【図３】
2010074275.tif 000005
【図４】
2010074275.tif 000006
【図５】
2010074275.tif 000007
【図６】
2010074275.tif 000008
【図７】
2010074275.tif 000009
【図８】
2010074275.tif 000010
【図９】
2010074275.tif 000011
【図１０】
2010074275.tif 000012
【図１１】
2010074275.tif 000013
【図１２】
2010074275.tif 000014
【図１３】
2010074275.tif 000015
【図１４】
2010074275.tif 000016
【図１５】
2010074275.tif 000017
【図１６】
2010074275.tif 000018
【図１７】
2010074275.tif 000019
【図１８】
2010074275.tif 000020
【図１９】
2010074275.tif 000021