(57)【要約】【課題】傾きのある文字を含むラスタ形式の画像をベクタ形式に変換する処理を、従来よりも、文字の形状をきれいに保ちつつ高速に行えるようにする。【解決手段】画像に含まれる文字の傾きを求め、その文字の輪郭を形成する頂点画素を求め、その文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき同一線分画素群の候補である同一線分候補画素群を求め（＃１０１）、その同一線分候補画素群のうちから、同一線分画素群を、求めた傾きに基づいて抽出し（＃１０４）、抽出した同一線分画素群において両端に位置する両端画素を求め、求めた両端画素を結ぶ線分によってその両端画素に係る部分の文字の輪郭を近似し（＃１０６）、近似した以外の部分を同一線分画素群の頂点画素以外の頂点画素を用いてアウトライン化することによって直線または曲線で近似する。【選択図】図８
2010003005.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置におけるベクタ画像の生成方法であって、
画像に含まれる文字の傾きを求め、
前記文字の輪郭を形成する頂点画素を求め、
前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を求め、
求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、求めた前記傾きに基づいて抽出し、
抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、
抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、
前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する、
ことを特徴とするベクタ画像生成方法。
【請求項２】
求めた前記傾きに基づいて定義される直線である基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって、前記同一線分画素群を抽出する、
請求項１記載のベクタ画像生成方法。
【請求項３】
前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる、
請求項２記載のベクタ画像生成方法。
【請求項４】
求めた前記傾きが４５度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、
求めた前記傾きが４５度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする、
請求項３記載のベクタ画像生成方法。
【請求項５】
複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、前記同一線分候補画素群を求める、
請求項１ないし４のいずれかに記載のベクタ画像生成方法。
【請求項６】
前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって、前記同一線分候補画素群を求める、
請求項１ないし５のいずれかに記載のベクタ画像生成方法。
【請求項７】
画像処理装置におけるベクタ画像の生成方法であって、
画像に含まれる１つまたは複数の文字を含む文字群を抽出し、
抽出した文字群ごとに、
当該文字群の傾きを求め、
当該文字群に含まれる前記各文字の輪郭を形成する頂点画素を求め、
前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を求め、
求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、求めた前記傾きに基づいて抽出し、
抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、
抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、
前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する、
ことを特徴とするベクタ画像生成方法。
【請求項８】
画像をラスタ形式からベクタ形式に変換する処理を行う画像処理装置であって、
前記画像に含まれる文字の傾きを求める傾き検出手段と、
前記文字の輪郭を形成する頂点画素を求める頂点画素抽出手段と、
前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を求める同一線分候補画素群抽出手段と、
前記同一線分候補画素群抽出手段が求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、前記傾き検出手段が求めた前記傾きに基づいて抽出する同一線分画素群抽出手段と、
前記同一線分画素群抽出手段が抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出する両端画素抽出手段と、
前記両端画素抽出手段が抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似する第一近似手段と、
前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する第二近似手段と、
を有することを特徴とする画像処理装置。
【請求項９】
画像をラスタ形式からベクタ形式に変換する処理を行うためのコンピュータに、
画像に含まれる文字の傾きを求める処理と、
前記文字の輪郭を形成する頂点画素を求める処理と、
前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を求める処理と、
求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、求めた前記傾きに基づいて抽出する処理と、
抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出する処理と、
抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似する処理と、
前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する処理と、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクタ画像の生成方法およびベクタ画像を生成する画像処理装置などに関する。
【背景技術】
【０００２】
近年、紙の文書をスキャナで読み取って電子化して保管することが多く行われている。スキャナで読み取られた文書は、例えばビットマップ形式の画像データとして保存される。
【０００３】
ビットマップ形式では、ドット（ピクセル）の集合で文字を表現するので、その文字を表示または印刷などの出力をする際に複雑な計算を必要としない。しかし、出力する装置（出力装置）の解像度によっては、出力した文字の輪郭にジャギー（がたつき）が目立ってしまうという欠点がある。
【０００４】
そこで、従来、アウトライン化と呼ばれる処理を施すことによってビットマップ形式の画像をベクタフォントの画像（ベクタ画像）に変換することが行われている。
【０００５】
ベクタ画像では、文字の輪郭を直線および曲線で近似することによって輪郭線を形成し、その輪郭線で囲まれた領域を塗りつぶすことによってその文字を再現するので、ジャギーが目立ちにくくなる。また、出力結果が出力装置の解像度に依存しないので、出力装置が変わっても文字の部分の画質が安定しやすい。
【０００６】
しかし、スキャナで読み取った画像には、通常、多少の傾きがある。傾いた文字をアウトライン化すると、文字の形状がガタついたり歪んだりしてしまうことがある。そこで、文字の傾きを補正することによって歪みを軽減することが考えられる。従来、画像の傾きを補正するための技術として、特許文献１、２のような方法が提案されている。
【０００７】
特許文献１の方法によると、原稿上の画像の輪郭を抽出し、抽出した輪郭を直線近似して複数の直線を生成し、生成した複数の直線の中から１つを傾き補正の基準となる直線として選択する。それによって、選択された直線が示す線分情報を基に傾き補正に必要な回転補正パラメータを算出し、その回転補正パラメータに基づいて傾きの補正を行う。
【０００８】
特許文献２の方法によると、まず図枠図形に相当する輪郭ベクトルループを画像のベクトル情報から検出し、その輪郭ベクトルループが内接する方形領域の中心点から図枠図形の４つの頂点を求める。求めた４つの頂点に対応する基準点を設定し、それらの基準点で座標を回転させることによって図面の傾きを補正する。
【特許文献１】特開２００２―７７５６６号公報
【特許文献２】特開平５―４６７５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところが、傾き補正の処理を、アウトラン化を行う前のラスタ形式の画像データに対して行うと計算量が多くなり長い時間を要してしまう恐れがある。
【００１０】
また、画像に含まれる傾いた文字の中には、スキャンによって傾いたのではなく、意図的に傾けられて記載された文字もある。そのような文字については、傾き補正をしてアウトライン化をした後、さらに、元の傾きに戻す処理を行わなければならないので、さらに処理の効率が悪くなる。
【００１１】
本発明はこのような問題点に鑑み、傾きのある文字を含むラスタ形式の画像をベクタ形式に変換する処理を、従来よりも、文字の形状をきれいに保ちかつ高速に行えるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一形態に係るベクタ画像生成方法は、画像形成装置において、画像に含まれる文字の傾きを求め、前記文字の輪郭を形成する頂点画素を求め、前記文字の輪郭のうちの一本の線分で表されるべき部分において同じ線分上に位置すべき前記頂点画素の画素群の候補である同一線分候補画素群を求め、求めた前記同一線分候補画素群のうちから、同じ線分上に位置すべき前記頂点画素の画素群である同一線分画素群を、求めた前記傾きに基づいて抽出し、抽出した前記同一線分画素群の前記各頂点画素の位置に基づいて、当該同一線分画素群の当該各頂点画素のうちから、当該同一線分画素群において両端に位置する前記頂点画素である両端画素を抽出し、抽出した前記両端画素を結ぶ線分によって、当該両端画素に係る部分の前記文字の輪郭を近似し、前記文字の輪郭のうちの前記両端画素を結ぶ線分によって近似した部分以外の部分を、前記同一線分画素群の前記頂点画素以外の前記頂点画素を用いてアウトライン化を行うことによって直線または曲線で近似する。
【００１３】
好ましくは、求めた前記傾きに基づいて定義される直線である基準直線と前記同一線分候補画素群の前記頂点画素との距離である画素直線間距離を、当該同一線分候補画素群の当該各頂点画素について求め、いずれの前記画素直線間距離も所定の範囲内である場合に当該同一線分候補画素群を前記同一線分画素群であると判別することによって、前記同一線分画素群を抽出する。
【００１４】
または、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、求めた前記傾きを有する直線を前記基準直線として用い、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、求めた前記傾きの直線に対して直角の傾きを有する直線を前記基準直線として用いる。
【００１５】
または、求めた前記傾きが４５度よりも小さい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、求めた前記傾きが４５度よりも大きい場合において、前記同一線分候補画素群が前記文字の輪郭における横の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との水平方向の距離を前記画素直線間距離とし、前記同一線分候補画素群が前記文字の輪郭における縦の線分に係るものである場合は、前記基準直線と当該同一線分候補画素群の前記頂点画素との垂直方向の距離を前記画素直線間距離とする。
【００１６】
または、複数の前記頂点画素が階段状に位置しておりかつ隣り合う当該頂点画素同士の距離が所定の範囲内である場合に当該複数の頂点画素の画素群を前記同一線分候補画素群であると判定することによって、前記同一線分候補画素群を求める。
【００１７】
または、前記文字が所定のサイズよりも小さい場合において、隣り合う前記頂点画素同士の距離が所定の範囲内である場合にそれらの頂点画素の画素群を前記同一線分候補画素群であると判定することによって、前記同一線分候補画素群を求める。
【発明の効果】
【００１８】
本発明によると、傾きのある文字を含むラスタ形式の画像をベクタ形式に変換する処理を、従来よりも、文字の形状をきれいに保ちつつ高速に行うことができる。
【発明を実施するための最良の形態】
【００１９】
図１は本発明の一実施形態に係る画像形成装置１のハードウェア構成の例を示す図である。
【００２０】
画像形成装置１は、コピー、スキャナ、ファックス、ネットワークプリンティング、ドキュメントサーバ、およびファイル転送などの様々な機能を集約した画像処理装置である。複合機またはＭＦＰ（Multi Function Peripherals）などと呼ばれることもある。
【００２１】
画像形成装置１は、図１に示すように、スキャナ１０ａ、ＣＰＵ１０ｂ、ハードディスク１０ｃ、ＲＡＭ１０ｄ、ＲＯＭ１０ｅ、印刷装置１０ｆ、モデム１０ｇ、ネットワークインタフェース１０ｈ、制御用回路１０ｋ、および操作パネル１０ｍなどによって構成される。
【００２２】
スキャナ１０ａは、原稿の用紙（以下、単に「原稿」と記載する。）に描かれている写真、文字、絵、図表などの画像を光学的に読み取って電子データ化する装置である。読み取られた画像は、ＲＧＢ（Ｒ（赤）、Ｇ（緑）、およびＢ（青））によって表されるフルカラーの画像データとして、ＴＩＦＦ、ＪＰＥＧ、ビットマップなどの形式で保存される。予め指定しておくことによって、ＰＤＦ（Portable Document Format）の形式で保存することもできる。
【００２３】
ＣＰＵ１０ｂは、スキャナ１０ａが読み取った原稿の画像データをＴＩＦＦ、ＪＰＥＧ、ビットマップ、およびＰＤＦなどの形式のファイルに変換するための処理を行う。また、ユーザからの入力の検出、操作パネル１０ｍの表示の制御，または電子メールの作成など、画像形成装置１の全体的な制御も行う。
【００２４】
印刷装置１０ｆは、スキャナ１０ａで読み取られた画像データが示す画像または他の装置から送信されてきた画像データが示す画像を用紙に印刷する装置である。画像形成装置１がカラー印刷に対応している場合は、イエロー、マゼンタ、シアン、およびブラックの４色のトナーを用いて印刷を行う。
【００２５】
操作パネル１０ｍは、ユーザが画像形成装置１に対して種々の入力を行うための装置である。操作部および表示部などによって構成される。ユーザは、操作パネル１０ｍを用いて、画像データの保存形式の選択、スキャンの条件の設定、処理の開始または実行の指令の入力、電子メールの宛先の入力などの種々の入力を行うことができる。
【００２６】
モデム１０ｇは、ＮＣＵ（Network Control Unit）が内蔵されており、アナログの公衆回線を介して他のファックス端末と接続し、ファクシミリプロトコルに基づくデータ制御およびファックスデータの変復調などを行う。
【００２７】
ネットワークインタフェース１０ｈは、ＮＩＣ（Network Interface Card）であって、ＬＡＮまたはインターネットなどを介して他の装置への接続を行う。
【００２８】
制御用回路１０ｋは、ハードディスク１０ｃ、操作パネル１０ｍ、スキャナ１０ａ、印刷装置１０ｆ、モデム１０ｇ、およびネットワークインタフェース１０ｈなどの装置を制御するための回路である。制御用回路１０ｋは、例えば、種々の電子部品を用いたハードウェア回路によって構成される。
【００２９】
ハードディスク１０ｃには、後に説明する図２に示すような各部の機能を実現するためのプログラム（コンピュータプログラム）およびデータなどが格納されている。これらは必要に応じてＲＡＭ１０ｄに読み出され、ＣＰＵ１０ｂによってプログラムが実行される。これらのプログラムまたはデータの一部または全部を、ＲＯＭ１０ｅに記憶させておいてもよい。または、図２の機能の一部または全部を、制御用回路１０ｋによって実現するようにしてもよい。
【００３０】
図２は画像形成装置１の機能的構成の例を示す図、図３は原稿画像とそれに含まれる文字の領域および背景の領域とを示す図、図４は文字のブロックＢＫを抽出する処理を説明するため図、図５は文字の傾きの検出の方法を説明するための図、図６は頂点検出パターンＰＴの例を示す図、図７は「国」の文字の特定部分ＡＲ１における頂点画素の例を示す図、図８は水平垂直線処理の流れを説明するためのフローチャート、図９は文字の輪郭のうちに含まれる縦の線分および横の線分の例を示す図、図１０は同一線分候補画素群の抽出の処理を説明するための図、図１１は基準直線の例を示す図、図１２は画素直線間距離の例を示す図、図１３は近似された部分の輪郭を示す図、図１４および図１５はアウトライン化の処理の手順を説明するための図、図１６および図１７は傾きの異なる文字列を含む原稿画像の例を示す図である。
【００３１】
次に、図３（ａ）に示すような複数行の文章が記載されている原稿をスキャナ１０ａで読み取って得られる画像データ（以下、「原稿画像データＧＤ」と記載する。）からＰＤＦ形式のファイル（ＰＤＦファイル）を生成して保存する際の画像形成装置１の各部の処理について説明する。
【００３２】
一般に、原稿をスキャナで読み取ると、多少の傾きが生じる。本実施形態では、傾いた画像を示す原稿画像データＧＤが処理の対象である。なお、図３に示される黒色の各横棒は、それぞれ、１行の文章を表す。以下、原稿画像データＧＤが示す画像を「原稿画像」と記載する。
【００３３】
図２に示すように、画像形成装置１は、画像データ取得部１０１、背景抽出部１０２、二値化部１０３、文字ブロック抽出部１０４、傾き検出部１０５、頂点画素抽出部１０６、同一線分画素候補抽出部１０７、同一線分画素抽出部１０８、同一線分画素近似処理部１０９、アウトライン化部１１０、文字圧縮処理部１１１、低解像度化部１１２、背景圧縮処理部１１３、ファイル生成部１１４、およびファイル保存部１１５などによって構成される。
【００３４】
ユーザが原稿をスキャナ１０ａにセットし、スキャン開始の指令を入力すると、画像形成装置１は、その原稿をスキャンしビットマップ形式の原稿画像データＧＤを生成する。
【００３５】
画像データ取得部１０１は、その原稿画像データＧＤを取得する。背景抽出部１０２は、図３（ｃ）に示すような、原稿画像の背景の部分の画素を抽出する処理を行う。この処理は、例えば、原稿画像において、ＲＧＢの各色の濃度値が所定の閾値よりも低い画素を背景の画素として抽出することによって行う。
【００３６】
二値化部１０３は、原稿画像を二値化することによって二値の画像（二値画像）を生成する。以下、二値化部１０３によって生成された、原稿画像に対応した二値画像を「二値原稿画像」と記載する。
【００３７】
文字ブロック抽出部１０４は、二値原稿画像を用いてラベリングを行うことによって、図３（ｂ）に示すような、原稿画像に含まれる文字の部分を抽出する処理を行う。この処理は、例えば、次のようにして行う。
【００３８】
二値原稿画像に示される連続する黒画素である黒画素群を検出する。所定の閾値よりも近い距離にある黒画素群同士は、１つの黒画素群として検出する。その閾値を調整することによって、１つの文字が１つの黒画素群として検出されるようにしてもよいし、比較的近い距離の文字同士で構成される文字列が１つの黒画素群として検出されるようにしてもよい。１つの行が１つの黒画素群として検出されるようにしてもよい。
【００３９】
次に、検出した黒画素群を包含する矩形の領域（矩形領域）を定義する。すなわち、例えば二値原稿画像に左上端を原点とした場合のその矩形領域の左上端および右下端の画素の座標を求める。以下、この矩形領域のことを「ブロックＢＫ」と記載することがある。
【００４０】
または、文字ブロック抽出部１０４は、次のような方法でブロックＢＫを抽出するようにしてもよい。
【００４１】
原稿画像において、色または明度などの属性が同じ画素が連続している箇所を探索する。そのような画素群のうちで所定の距離範囲内にあるものを１つの画素群とし、その画素群を包含する矩形領域を定義する。これによって、例えば、図４（ａ）に示すように複数行に跨る文章を包含する矩形領域を抽出する。抽出した矩形領域内の画像を二値化する。
【００４２】
次に、図４（ｂ）に示すように、二値化した矩形領域内の画像について、垂直方向の位置と黒画素の個数との関係を示すヒストグラムＨｔ１、および水平方向の位置と黒画素の個数との関係を示すヒストグラムＨｙ１を生成する。
【００４３】
ヒストグラムＨｔ１およびＨｙ１において個数が所定の閾値以下である部分を水平方向および垂直方向について探索し、その部分（図４（ｃ）においてグレーで表される部分）の画素をラベリングする。次に、図４（ｃ）に示すような、ラベリングされずに残った領域ＮＬ１およびＮＬ２のそれぞれについて、水平方向の位置と黒画素の個数との関係を示すヒストグラムＨｔ２およびＨｔ３を作成する。以下、ヒストグラムＨｔ１、Ｈｔ２、…を「ヒストグラムＨｔ」のように総称して記載することがある。他のデータまたは部材などについても同様に符号の末尾に付した連番またはアルファベットを省略することによって総称して記載することがある。
【００４４】
領域ＮＬ１およびＮＬ２のそれぞれについて、対応するヒストグラムＨｔにおいて個数が所定の閾値以下である部分を探索し、その部分の画素をラベリングする。これによって、ラベリングされずに残った部分（図４（ｄ）のグレー以外で表される部分）を包含する矩形領域がブロックＢＫとして抽出される。この例では、図４（ｅ）に示すような各領域ＮＬ１１、ＮＬ１２、ＮＬ２１、ＮＬ２２、およびＮＬ２３がブロックＢＫとして抽出される。なお、ヒストグラムＨｙ１のような行間を抽出可能なヒストグラムを作成することによって、図４（ｃ）に示す領域ＮＬ１およびＮＬ２のような１つの行を包含する矩形領域をブロックＢＫとして抽出することもできる。
【００４５】
傾き検出部１０５は、抽出したブロックＢＫごとに、ブロックＢＫ内の文字の傾きを求める。ここで、傾きの求め方について図５を参照しながら説明する。
【００４６】
図５（ａ）には、「国」の文字について定義されたブロックＢＫが示される。まず、ブロックＢＫに対して、図５（ｂ）に示すように、互いに垂直に交わる軸Ｚｔおよび軸Ｚｙを定義する。二値原稿画像におけるブロックＢＫに対応する部分の二値画像（部分二値画像）をＺｙ方向に走査して、軸Ｚｔ方向の画素の位置と黒画素の個数との関係を示すヒストグラムＫを求める。軸Ｚｔおよび軸Ｚｙを傾けながら、所定の角度ごとに、そのようなヒストグラムＫを求めていく。そして、ヒストグラムＫにおいて最小値と最大値との差が最大となる図５（ｃ）に示すようなヒストグラムＫを求め、そのヒストグラムＫの軸Ｚｙの水平方向に対する角度θをブロックＢＫ内の文字の傾き角度として保存する。文字の傾きは、傾き角度がθである場合において、ｔａｎ（θ）で表される。
【００４７】
なお、ヒストグラムＫは、軸Ｚｔ方向および軸Ｚｙ方向のそれぞれについて作成するようにしてもよいし、図５の例のように片方だけを作成するようにしてもよい。また、ブロックＢＫの部分二値画像を低解像度化した画像を用いてヒストグラムＫを作成し傾きを求めてもよい。
【００４８】
頂点画素抽出部１０６は、各ブロックＢＫ内に含まれる文字の頂点の画素（頂点画素）を抽出する。この処理は、図６に示す、頂点画素の検出に用いる白画素と黒画素の配置のパターン（配置パターン）である頂点検出パターンＰＴ１〜ＰＴ８を用いたパターンマッチングによって行う。すなわち、ブロックＢＫ内の部分二値画像において、これら頂点検出パターンＰＴ１〜ＰＴ８のいずれかと一致する箇所を探索し、一致した箇所の画素のうちでその一致した頂点検出パターンＰＴの頂点位置Ｔに位置する画素を頂点画素として抽出する。
【００４９】
図７（ｂ）には、図７（ａ）に示す「国」の文字の特定の部分（特定部分ＡＲ１）の拡大図が示される。図７（ｂ）の例の場合は、上記の頂点画素抽出部１０６の処理によって、ＧＳ３２、ＧＳ３３、ＧＳ８２、ＧＳ８７、およびＧＳ９７が頂点画素として抽出される。
【００５０】
なお、文字の輪郭を形成する任意の画素から順にその輪郭をたどって行き、輪郭の方向が変化した点の画素を頂点画素として抽出するようにしてもよい。
【００５１】
同一線分画素候補抽出部１０７、同一線分画素抽出部１０８、および同一線分画素近似処理部１０９は、連携して水平垂直線処理を行う。この処理については、図８のフローチャートを参照しながら説明する。
【００５２】
同一線分画素候補抽出部１０７は、各ブロックＢＫ内の文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分（辺）において同じ一本の線分上に位置すべき頂点画素群（以下、「同一線分画素群」と記載する。）の候補（以下、「同一線分候補画素群」と記載する。）を求める（図８の＃１０１）。
【００５３】
横方向および縦方向とは、それぞれ、文字が傾いていない場合における水平方向および垂直方向のことである。文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分とは、例えば「国」の文字の場合は、図９（ａ）に示すような、「国」の文字に含まれる「口」の部分の輪郭を形成する角から角までの縦方向および横方向の各辺ＨＥ１〜ＨＥ８、および図９（ｂ）に示すような、「国」の文字に含まれる「王」の部分の輪郭を形成する縦方向および横方向の各辺ＨＥ９〜ＨＥ１６のことである。
【００５４】
同一線分画素候補抽出部１０７は、頂点画素抽出部１０６が抽出した頂点画素のうちで次の（Ａ１）〜（Ａ４）の条件を全て満たす複数の頂点画素を同一線分候補画素群として抽出する。
（Ａ１）複数の頂点画素が図１０（ａ）に示すような階段状に位置している。
（Ａ２）形成されている階段状の輪郭の長さ（図１０（ａ）の例では、頂点画素ＧＳ１とＧＳ８との距離）が所定の長さ（第一の長さ）以上である。
（Ａ３）階段状の輪郭を形成している水平方向に隣り合う頂点画素同士の距離が所定の距離範囲（第一の水平距離範囲）内である。
（Ａ４）階段状の輪郭を形成している垂直方向に隣り合う頂点画素同士の距離が所定の距離範囲（第一の垂直距離範囲）内である。
【００５５】
図１０（ａ）の例では、頂点画素ＧＳ１〜ＧＳ８は階段状の輪郭を形成している。階段状であるか否かは、隣り合う頂点画素ＧＳ同士を結ぶベクトルの方向によって判定できる。よって、頂点画素ＧＳ１とＧＳ２との距離、頂点画素ＧＳ３とＧＳ４との距離、頂点画素ＧＳ５とＧＳ６との距離、頂点画素ＧＳ７とＧＳ８との距離が、それぞれ、第一の水平距離範囲内であり、かつ頂点画素ＧＳ２とＧＳ３との距離、頂点画素ＧＳ４とＧＳ５との距離、頂点画素ＧＳ６とＧＳ７との距離が、それぞれ、第一の垂直距離範囲内であり、かつ頂点画素ＧＳ１と頂点画素ＧＳ８との距離が第一の長さ以上であれば、頂点画素ＧＳ１〜ＧＳ８の画素群は、上記の（Ａ１）〜（Ａ４）の条件を全て満たすので、同一線分候補画素群として抽出されることになる。
【００５６】
同一線分画素候補抽出部１０７は、次の（Ｂ１）および（Ｂ２）の条件を共に満たす画素群も同一線分候補画素群として抽出する。
（Ｂ１）その画素群を含む文字が所定のサイズ（閾値サイズ）よりも小さい。
（Ｂ２）隣り合う頂点画素同士の距離が所定の距離範囲（第二の距離範囲）内である。
【００５７】
図１０（ｃ）には、図１０（ｂ）に示す「色」の文字の特定の部分（特定部分ＡＲ２）の拡大図が示される。図１０（ｂ）において、この「色」の文字が所定のサイズよりも小さい場合は、上記の（Ｂ１）の条件が満たされる。さらに、図１０（ｃ）に示す隣り合う頂点画素ＧＳ２５と頂点画素ＧＳ７５との距離が第二の距離範囲内である場合、これらの頂点画素ＧＳ２５および頂点画素ＧＳ７５は同一線分候補画素群として抽出される。頂点画素ＧＳ８４と頂点画素ＧＳ１３４との距離が第二の距離範囲内である場合、これらの頂点画素ＧＳ８４および頂点画素ＧＳ１３４も同一線分候補画素群として抽出される。なお、近傍にある同一線分候補画素群同士をまとめて１つの同一線分候補画素群として抽出してもよい。すなわち、図１０（ｃ）の例では、頂点画素ＧＳ２５、ＧＳ７５、ＧＳ８４、およびＧＳ１３４を１つの同一線分候補画素群として抽出してもよい。
【００５８】
なお、文字のサイズとして、ブロックＢＫの縦の長さ（垂直方向の長さ）を用いてもよい。または、ブロックＢＫが１つの文字ごとに定義される場合は、そのブロックＢＫの縦および横の長さによって定義されるサイズを文字のサイズとして用いてもよい。
【００５９】
同一線分画素抽出部１０８は、傾き検出部１０５が求めた傾きを用いて同一線分候補画素群ごとに判定を行うことによって、同一線分画素群を抽出する処理を行う。この処理は次のようにして行う。
【００６０】
判定対象の同一線分候補画素群を１つ選択する。その同一線分候補画素群の判定に用いる直線である基準直線ＬＫを定義する（図８の＃１０２）。
【００６１】
その同一線分候補画素群が、図９（ａ）の辺ＨＥ１のようなその文字の輪郭における横方向の線分に係るものである場合は、傾き検出部１０５が求めた傾きの直線を基準直線ＬＫとして定義する。すなわち、例えば、求められた文字の傾き角度が「１０度」である場合、基準直線ＬＫの傾きａは、ａ＝ｔａｎ（１０）となる。さらに、その同一線分候補画素群に属する任意の頂点画素ＧＳの座標の（ｘ1，ｙ1）の値および求められた傾きのａの値を、ｙ＝ａｘ＋ｂの式に代入して切片のｂを算出し、図１１（ａ）に示すようなその頂点画素ＧＳをとおる基準直線ＬＫを求める。なお、切片のｂの算出方法として、例えば、同一線分候補画素群の両端に位置する頂点画素ＧＳの座標を代入して算出される２つのｂの値の平均値を基準直線ＬＫの切片のｂとして用いてもよい。または、同一線分候補画素群の各頂点画素ＧＳの座標を代入して算出される各ｂの値の平均値を基準直線の切片ｂとして用いてもよい。
【００６２】
次に、同一線分候補画素群に属する各頂点画素ＧＳと基準直線ＬＫとの距離を求める（＃１０３）。以下、頂点画素ＧＳと基準直線ＬＫとの距離のことを「画素直線間距離」と記載する。画素直線間距離として、例えば、図１２（ａ）に示すような垂直方向の距離を用いる。その場合は、頂点画素ＧＳのｘ座標の値を基準直線ＬＫの式に代入したときに得られるｙの値とその頂点画素ＧＳのｙ座標の値との差（ｙ差）が画素直線間距離となる。なお、画素直線間距離を、図１２（ｂ）に示すような水平方向の距離としてもよいし、図１２（ｃ）に示すような基準直線ＬＫに対して垂直な方向の距離としてもよい。
【００６３】
また、傾き角度が４５度以下である場合に、図１２（ａ）のように垂直方向の距離を画素直線間距離として用い、４５度を越える場合に、図１２（ｂ）のように水平方向の距離を画素直線間距離として用いるようにしてもよい。すなわち、画素直線距離が短くなる方向の距離を用いてもよい。そうすることによって、画素直線間距離のばらつきを小さくすることができ計算効率を向上できる。
【００６４】
そして、その同一線分候補画素群に属する全ての頂点画素ＧＳの画素直線間距離が所定の距離範囲（第三の距離範囲）内である場合に、その同一線分候補画素群を同一線分画素群であると判定する（＃１０４）。
【００６５】
一方、同一線分候補画素群が、図９（ａ）の辺ＨＥ２のようなその文字の輪郭における縦の線分に係るものである場合は、傾き検出部１０５が求めた傾きの直線と垂直に交わる直線を基準直線ＬＫとして定義する（＃１０２）。以下、傾き検出部１０５が求めた傾きの基準直線ＬＫを「基準直線ＬＫｙ」、傾き検出部１０５が求めた傾きの直線と垂直に交わる基準直線ＬＫを「基準直線ＬＫｔ」として、それぞれ区別して記載することがある。すなわち、傾き検出部１０５が求めた傾きをａとすると、基準直線ＬＫｔは、その傾きが−１／ａとなり、ｙ＝（−１／ａ）ｘ＋ｂの式で表される。基準直線ＬＫｔは、図１１（ｂ）に示すように、基準直線ＬＫｙと直角に交わる直線である。
【００６６】
次に、同一線分候補画素群に属する各頂点画素ＧＳと求めた基準直線ＬＫｔとの水平方向の距離を画素直線間距離として求める（＃１０３）。その場合は、頂点画素ＧＳのｙ座標の値を基準直線ＬＫｔの式に代入したときに得られるｘの値とその頂点画素ＧＳのｘ座標の値との差（ｘ差）が画素直線間距離となる。なお、画素直線間距離を、頂点画素ＧＳと基準直線ＬＫｔとの水平方向の距離としてもよいし、基準直線ＬＫｔに対して垂直な方向の距離としてもよい。
【００６７】
そして、その同一線分候補画素群に属する全ての頂点画素ＧＳの画素直線間距離が所定の距離範囲（第三の距離範囲）内である場合に、その同一線分候補画素群を同一線分画素群であると判定する（＃１０４）。
【００６８】
なお、第三の距離範囲は、基準直線ＬＫｔを用いるか基準直線ＬＫｙを用いるかに応じて所定のルールに従って求める。また、基準直線ＬＫは、同一線分候補画素群ごとに求めてもよいし、各同一線分候補画素群に対して共通の基準直線ＬＫを用いてもよい。各同一線分候補画素群に対して共通の基準直線ＬＫを用いる場合は、同一線分候補画素群ごとにそれぞれに応じた第三の距離範囲を所定のルールに従って求め、それらを用いて各同一線分候補画素群が同一線分画素群であるか否かの判定を行う。
【００６９】
上記の第一の長さ、第一の水平距離範囲、第一の垂直距離範囲、第二の距離範囲、第三の距離範囲、および閾値サイズは、傾き検出部１０５が求めた傾きおよび文字のサイズなどに応じて決定する。
【００７０】
同一線分画素近似処理部１０９は、文字の輪郭のうちの横方向または縦方向において一本の線分で表されるべき部分を、同一線分画素を用いて直線で近似する。この処理は、具体的には次のようにして行う。
【００７１】
同一線分画素抽出部によって抽出された同一線分画素群において両端に位置する画素（両端画素）を抽出する。それら両端画素を結ぶ線分によって、その同一線分画素群に対応する部分の文字の輪郭を近似する（図８の＃１０５でＹｅｓおよび１０６）。すなわち、その輪郭の部分の両端の画素としてそれら両端画素を保存しておく。このような処理を抽出された全ての同一線分画素群に対して行う（＃１０７でＮｏ）。
【００７２】
「国」の文字の例では、上記の処理によって、図１３（ａ）において実線で示すように、その文字の横方向および縦方向において一本の線分で表されるべき部分がそれぞれに対応する両端画素を結ぶ線分によって近似される。
【００７３】
アウトライン化部１１０は、文字の輪郭のうちの両端画素を結ぶ線分によって近似された以外の部分（アウトライン化対象部分）、すなわち「国」の文字の例の場合は図１３（ｂ）において実線で示す「点」の部分を直線または曲線で近似する。
【００７４】
それに際して、アウトライン化部１１０は、頂点画素抽出部１０６が抽出した各頂点画素ＧＳのうちの同一線分画素群に属する頂点画素（同一線分画素）ＧＳ以外の頂点画素ＧＳを用いて、まず直線近似の処理を行い、直線近似された後の輪郭を曲線近似する。以下、直線近似する線分のことを「近似線分」と記載する。ここでこのアウトライン化の処理について図１４を参照して具体的に説明する。
【００７５】
図１４（ａ）には、「国」の文字の輪郭の画像が示される。この画像は、抽出した頂点画素ＧＳの中心の点を結ぶことによって描くことができる。図１４（ｂ）には、図１４（ａ）の輪郭を示す画像の特定の部分（特定部分ＡＲ３）の拡大図が示される。
【００７６】
特定部分ＡＲ３において、まず、任意の頂点を始点として選択する。ここでは、頂点Ｐ１を始点として選択したものとする。始点Ｐ１と始点Ｐ１から２つ隣の頂点Ｐ３を近似線分の終点の候補（終点候補）として選択する。始点Ｐ１と終点候補の頂点（終点候補点）Ｐ３とを結ぶ線分と、始点Ｐ１と終点候補点Ｐ３との間にある頂点である頂点Ｐ２との距離を求める。求めた距離が所定の閾値（直線近似閾値）よりも短いか否かをチェックする。短い場合は、終点候補を次の頂点Ｐ４に移して同様の処理を行う。すなわち、始点Ｐ１と終点候補点Ｐ４とを結ぶ線分と、始点Ｐ１と終点候補点Ｐ４との間にある各頂点である頂点Ｐ２およびＰ３のそれぞれとの距離を求める。求めた各距離が直線近似閾値よりも短いか否かをチェックする。いずれの距離も直線近似閾値よりも短い場合は、終点候補をさらに次の頂点である頂点Ｐ５に移して同様の処理を行う。
【００７７】
始点と終点候補点とを結ぶ線分と、始点とその終点候補の頂点との間にある各頂点との距離のいずれかが直線近似閾値よりも長くなるような終点候補が現れるまで、終点候補を、順次、次の頂点に移していく。そのいずれかの距離が直線近似閾値以上になった時点で近似線分の終点を決定する。図１４（ｂ）の例では、終点候補が頂点Ｐ９となったときに、始点Ｐ１と終点候補点Ｐ９とを結ぶ線分と頂点Ｐ８との距離が直線近似閾値よりも長くなるものとする。
【００７８】
頂点候補が頂点Ｐ９に移ると、同様にして、始点Ｐ１と終点候補点Ｐ９とを結ぶ線分と、始点Ｐ１と終点候補点Ｐ９との間にある各頂点との距離を求める。その線分と頂点Ｐ８との距離は直線近似閾値よりも長いので、この時点で頂点Ｐ１を始点とする近似線分の終点を決定する。終点は、その時点の終点候補の１つ手前の頂点に決定する。図１４（ｂ）の例では、終点候補点Ｐ９の１つ手前の頂点Ｐ８を終点として決定する。そして、頂点Ｐ１〜Ｐ８によって形成される輪郭が、図９（ｃ）に示すような始点Ｐ１と終点Ｐ８とを結ぶ近似線分Ｓ１で近似されるように、頂点Ｐ１および頂点Ｐ８をそれぞれ始点および終点として記録しておく。
【００７９】
終点が決まると、その終点を次の近似線分の始点として、当該次の近似線分を求める処理を行う。すなわち、頂点Ｐ８を始点とし、その２つ隣の頂点である頂点Ｐ１０を終点候補として、それらを結ぶ線分と、それら始点Ｐ８と終点候補点Ｐ１０との間にある各頂点との距離を求める。以下、既に説明した方法と同様にして、終点候補を移して行き、終点を決定する。同様の処理を繰り返し、アウトライン化対象部分の全てについて近似線分の始点および終点を求める。これによって、図１４（ｂ）の例では、輪郭が図１５（ａ）のように近似される。
【００８０】
次に、直線近似された輪郭を曲線近似する。この処理では、輪郭を形成する近似線分のうちの隣り合う２つの近似線分に着目し、それら２つの近似線分が次の（Ｃ１）および（Ｃ２）の条件をともに満たす場合に、それら２つの近似線分によって表される輪郭をベジェ曲線で近似する。
（Ｃ１）２つの近似線分の両方が所定の長さ（曲線近似閾値）よりも短い。
（Ｃ２）２つの近似線分の接点にできる小さいほうの角度（判定対象角度）が所定の角度（近似閾値角度）よりも大きい。
【００８１】
図１５（ａ）には、近似線分Ｓ１〜Ｓ５によって形成される、「国」の文字の特定部分ＡＲ３の輪郭が示される。図１５（ａ）の例では、判定対象角度Ｋ８、Ｋ１１、およびＫ１３が近似閾値角度よりも大きく、判定対象角度Ｋ１２が近似閾値角度よりも小さいものとする。また、近似線分Ｓ１、Ｓ２、Ｓ３、およびＳ４の長さは、曲線近似閾値よりも短く、近似線分Ｓ５は、曲線近似閾値よりも長いものとする。
【００８２】
図１５（ａ）において、近似線分Ｓ１とＳ２とに着目すると、これらの近似線分Ｓ１およびＳ２はいずれも曲線近似閾値よりも短いので上記の（Ｃ１）の条件を満たす。また、判定対象角度Ｋ８は、近似閾値角度よりも大きいので上記の（Ｃ２）の条件も満たす。すなわち、近似線分Ｓ１およびＳ２は上記の（Ｃ１）および（Ｃ２）の条件をともに満たすので、これらの近似線分の輪郭に対して曲線近似を行う。曲線近似は、例えば、次のようにして行う。
【００８３】
近似線分Ｓ１の中点Ｃ１および近似線分Ｓ２の中点Ｃ２を求める。それら中点Ｃ１およびＣ２をそれぞれ始端点および終端点とし、所定のルールに従ってさらに別の２つの制御点を決めて、図１５（ｂ）に示すようなベジェ曲線ＢＣ１を求める。２つの制御点は、中点Ｃ１において近似線分Ｓ１に接しかつ中点Ｃ２において近似線分Ｓ２に接するベジェ曲線が描かれる点とする。例えば、それぞれ、頂点Ｐ８と中点Ｃ１との中点および頂点Ｐ８と中点Ｃ２との中点としてもよい。また、そのベジェ曲線がＰ８とできるだけ近くなるような点としてもよい。
【００８４】
次に、近似線分Ｓ２およびＳ３に着目し同様に上述の（Ｃ１）および（Ｃ２）の条件を共に満たす場合に、それらの近似線分によって表される輪郭を曲線近似する。同様にして着目する線分を順次移して行き、上述の（Ｃ１）および（Ｃ２）の条件を共に満たす近似線分の箇所の輪郭を曲線によって近似する。
【００８５】
以上のようにして、各ブロックＢＫ内に含まれる全ての文字に対して水平垂直線処理およびアウトライン化の処理を行い、処理が施された後のブロックＢＫのデータである処理済みブロックデータＤＺを文字圧縮処理部１１１に出力する。
【００８６】
文字圧縮処理部１１１は、処理済みブロックデータＤＺをＭＭＲなどの可逆圧縮の方式で圧縮する。
【００８７】
低解像度化部１１２は、背景抽出部１０２によって抽出された背景の画像を低解像度化する。背景圧縮処理部１１３は、低解像度化された後の背景のデータをＪＰＥＧなどの非可逆圧縮の方式で圧縮する。
【００８８】
ファイル生成部１１４は、文字圧縮処理部１１１および背景圧縮処理部１１３によって生成されたそれぞれの圧縮データを用いてＰＤＦファイルを生成する。ファイル保存部１１５は、生成されたＰＤＦファイルを保存する。
【００８９】
本実施形態において、傾き検出部は、抽出されたブロックＢＫごとに傾きを求めてもよいし、原稿画像全体に対して１つの傾きを求めてもよい。原稿画像全体に対して１つの傾きを求める場合は、例えば、抽出された任意のブロックＢＫの傾きを求め、それを原稿画像全体の傾きとして用いる。または、各ブロックＢＫの傾きの平均値を原稿画像全体の傾きとして用いる。
【００９０】
ブロックＢＫごとに傾きを求めると、例えば、図１６（ａ）または図１７（ａ）のように傾き角度の異なる文字列を含む原稿画像に対しても適切な水平垂直線処理を行うことができる。なお、図１６および図１７に示される黒の棒およびグレーの棒は１行の文章を表す。このように、傾きの異なる文字列を含む原稿画像については、図１６（ｂ）および図１７（ｂ）に示すように、傾きの異なる文字列ごと分けてブロックＢＫを抽出する。
【００９１】
図１８はＰＤＦファイルを生成する際の画像形成装置１の全体的な処理の流れを説明するためのフローチャート、図１９は文字領域に対する処理の流れを説明するためのフローチャート、図２０は背景領域に対する処理の流れを説明するためのフローチャートである。
【００９２】
次に、スキャンして得た原稿画像データＧＤをＰＤＦファイルに変換してとして保存する場合の画像形成装置１の処理の流れについて説明する。
【００９３】
ユーザがスキャナ１０ａに原稿をセットし、保存の形式としてＰＤＦを選択してスキャンの実行を指示すると、画像形成装置１は、その原稿をスキャンする。
【００９４】
画像形成装置１は、スキャンして得た原稿画像データＧＤに含まれる文字の領域（ブロックＢＫ）とその背景の領域とを分離し（＃２０１）、それぞれの領域ごとに処理を行う（＃２０２および＃２０３）。文字ブロックＢＫに対しては次のような処理を行う。
【００９５】
処理対象のブロックＢＫを１つ選択し、そのブロックＢＫ内の文字の傾きを求める（＃３０１）。その文字の輪郭を形成する頂点画素を求める（＃３０２）。求めた頂点画素を用いて、図８において説明した水平垂直線処理を行う（＃３０３）。
【００９６】
水平垂直線処理によって近似された以外の部分の輪郭を、アウトライン化によって直線または曲線で近似する（＃３０４）。
【００９７】
そのブロックＢＫ内の全ての文字について完了するまでステップ＃３０３および＃３０４の処理を繰り返す（＃３０５でＮｏ）。さらに、抽出した全てのブロックＢＫについて、ステップ＃３０１〜＃３０５の処理を繰り返す（＃３０６でＮｏ）。
【００９８】
全てのブロックＢＫについて完了すると（＃３０６でＹｅｓ）、水平垂直線処理およびアウトライン化が施されたブロックＢＫのデータを可逆圧縮する（＃３０７）。
【００９９】
背景の領域に対しては次のような処理を行う。抽出した背景の領域の画像を低解像度化する（図２０の＃４０１）。低解像度化された後のデータを非可逆圧縮する（＃４０２）。
【０１００】
可逆圧縮された後のブロックＢＫのデータと非可逆圧縮された後の背景領域のデータとを用いてＰＤＦファイルを生成し（図１８の＃２０４）、保存する（＃２０５）。
【０１０１】
図２１は傾いた状態の文字をアウトライン化した結果を示す図、図２２は画像形成装置１の構成の他の例を示す図である。
【０１０２】
上述のように、本実施形態では、アウトライン化を行う前に、水平垂直線処理を行うことによって、文字の輪郭のうちで横方向および縦方向において本来直線であるべき部分、すなわち横方向および縦方向において一本の線分で表されるべき部分を直線で近似する。従来のように、傾いた画像に対してアウトライン化の処理を行うと、アンカー数が増加することによって、そのような一本の線分で表されるべき部分が複数の線分によって近似され、図２１（ａ）に示すように文字が歪な形に変形してしまう。しかし、本実施形態では、上述のように、アウトライン化に先立って水平垂直線処理を行って、横方向および縦方向において一本の線分で表されるべき部分を直線で近似する。よって、図２１（ｂ）に示すように、従来の方法よりも文字の形を良好に保つことができる。このような効果は、横方向および縦方向の線分を多く含む文字に対して特に顕著に現れる。
【０１０３】
なお、図２２に示すように、アウトライン化部１１０の次に傾き補正部１１６を設けておき、アウトライン化された後の文字の傾きを補正するようにしてよい。すなわち、図１９のステップ＃３０４の後に傾き補正を行うようにしてもよい。この傾き補正は公知の方法で行う。例えば、二次元マトリクスを用いた補正を行ってもよい。
【０１０４】
従来のように、アウトライン化をする前のラスタ画像（ビットマップ形式の画像）に対して傾き補正を行うと、計算量が多くなりその傾き補正に多くの時間を要してしまうことがある。そこで、傾いた状態のラスタ画像をアウトライン化してベクタ画像に変換してから傾き補正を行う方法が考えられる。しかし、傾いた画像に対してアウトライン化を行うと、図２１（ａ）で示したように文字の形状が歪な形に変換されてしまう。そこで、水平垂直線処理を施すことによってそのような一本の線分で表されるべき部分を直線で近似し、近似後の画像に対してアウトライン化を行い、アウトライン化した後のベクタ画像に対して傾き補正を行うようにする。そうすることによって、従来のように文字を歪に変形させることなくかつ簡単な処理で、傾きが補正されたベクタ画像を生成することができる。
【０１０５】
本実施形態では、画像形成装置１として、複合機またはＭＦＰなどの画像処理装置を用いたが、パーソナルコンピュータまたはワークステーションなどを用いてもよい。または、画像処理装置とパーソナルコンピュータなどとで処理を分担するようにしてもよい。例えば、背景抽出部１０２、二値化部１０３、および文字ブロック抽出部１０４などの処理を画像処理装置で行い、他の処理を、パーソナルコンピュータなどで行うようにしてもよい。
【０１０６】
なお、図２の各部の機能の一部をハードウェアによって実現してもよい。例えば、入力画像処理部および出力画像処理部などのハードウェアを画像形成装置１に設けておく。入力画像処理部は、スキャナ１０ａから原稿画像データＧＤを受け付け、それに対して、色変換、色補正、解像度変換、および領域判別などの処理を行う。出力画像処理部は、スクリーン制御、スムージング処理、およびＰＷＭ制御などを行う。
【０１０７】
その他、画像形成装置１の全体または各部の構成、機能、処理の内容または順序、各データが示す内容などは、本発明の趣旨に沿って適宜変更することができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【図２】画像形成装置の機能的構成の例を示す図である。
【図３】原稿画像とそれに含まれる文字の領域および背景の領域とを示す図である。
【図４】文字のブロックを抽出する処理を説明するため図である。
【図５】文字の傾きの検出の方法を説明するための図である。
【図６】頂点検出パターンの例を示す図である。
【図７】「国」の文字の特定部分における頂点画素の例を示す図である。
【図８】水平垂直線処理の流れを説明するためのフローチャートである。
【図９】文字の輪郭のうちに含まれる縦の線分および横の線分の例を示す図である。
【図１０】同一線分候補画素群の抽出の処理を説明するための図である。
【図１１】基準直線の例を示す図である。
【図１２】画素直線間距離の例を示す図である。
【図１３】近似された部分の輪郭を示す図である。
【図１４】アウトライン化の処理の手順を説明するための図
【図１５】アウトライン化の処理の手順を説明するための図である。
【図１６】傾きの異なる文字列を含む原稿画像の例を示す図である。
【図１７】傾きの異なる文字列を含む原稿画像の例を示す図である。
【図１８】ＰＤＦファイルを生成する際の画像形成装置の全体的な処理の流れを説明するためのフローチャートである。
【図１９】文字領域に対する処理の流れを説明するためのフローチャートである。
【図２０】背景領域に対する処理の流れを説明するためのフローチャートである。
【図２１】傾いた状態の文字をアウトライン化した結果を示す図である。
【図２２】画像形成装置の構成の他の例を示す図である。
【符号の説明】
【０１０９】
１  画像形成装置（画像処理装置、コンピュータ）
１０５  傾き検出部（傾き検出手段）
１０６  頂点画素抽出部（頂点画素抽出手段）
１０７  同一線分画素候補抽出部（同一線分候補画素群抽出手段）
１０８  同一線分画素抽出部（同一線分画素群抽出手段）
１０９  同一線分画素近似処理部（両端画素抽出手段、第一近似手段）
１１０  アウトライン化部（第二近似手段）
ＧＳ  頂点画素
ＬＫ  基準直線
【図１】
2010003005.tif 000003
【図２】
2010003005.tif 000004
【図３】
2010003005.tif 000005
【図４】
2010003005.tif 000006
【図５】
2010003005.tif 000007
【図６】
2010003005.tif 000008
【図７】
2010003005.tif 000009
【図８】
2010003005.tif 000010
【図９】
2010003005.tif 000011
【図１０】
2010003005.tif 000012
【図１１】
2010003005.tif 000013
【図１２】
2010003005.tif 000014
【図１３】
2010003005.tif 000015
【図１４】
2010003005.tif 000016
【図１５】
2010003005.tif 000017
【図１６】
2010003005.tif 000018
【図１７】
2010003005.tif 000019
【図１８】
2010003005.tif 000020
【図１９】
2010003005.tif 000021
【図２０】
2010003005.tif 000022
【図２１】
2010003005.tif 000023
【図２２】
2010003005.tif 000024