(57)【特許請求の範囲】
【請求項１】
線画の線幅と、当該線画に隣接する背景の線画の有無と、に応じて設定された複数の細線化強度係数の保持手段と、
画像の輪郭画素を検出する輪郭検出手段と、
前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、を判定する線画検出手段と、
前記複数の細線化強度係数のうち、前記線画検出手段により判定された前記線画の線幅と、前記背景の線画の有無と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更する画素値変更手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記保持手段は、前記線画の線幅と、当該線画に隣接する背景の線画の有無と、当該線画の方向と、に応じて設定された複数の細線化強度係数を保持し、
前記線画検出手段は、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、当該線画の方向と、を判定し、
前記画素値変更手段は、前記複数の細線化強度係数のうち、前記線画検出手段により判定された前記線画の線幅と、前記背景の線画の有無と、前記線画の方向と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素値変更手段は、取得した細線化強度係数と、前記輪郭画素と当該輪郭画素に隣接する画素との画素値の差と、を用いて補正値を算出し、当該補正値を前記輪郭画素の画素値に加算して、変更後の画素値を得ることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記線幅は、前記線画の幅方向の画素数であり、
前記細線化強度係数は、前記線画の幅方向の画素数が多いほど、前記輪郭画素の画素値の変更の度合いが大きくなるように設定されていることを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像の各画素に中間調処理を施す中間調処理手段と、
前記画像の各画素に対して、輪郭画素である画素には前記画素値変更手段の処理結果を適用し、輪郭画素でない画素には前記中間調処理手段の処理結果を適用する処理選択手段と、を備えることを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
画像の輪郭画素を検出する輪郭検出工程と、
前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、を判定する線画検出工程と、
線画の線幅と、当該線画に隣接する背景の線画の有無と、に応じて設定された複数の細線化強度係数のうち、前記線画検出工程により判定された前記線画の線幅と、前記背景の線画の有無と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更する画素値変更工程と、
を有することを特徴とする画像処理方法。
【請求項７】
前記線画検出工程では、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、当該線画の方向と、を判定し、
前記画素値変更工程では、前記線画の線幅と、当該線画に隣接する背景の線画の有無と、当該線画の方向と、に応じて設定された複数の細線化強度係数のうち、前記線画検出工程により判定された前記線画の線幅と、前記背景の線画の有無と、前記線画の方向と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記画素値変更工程では、取得した細線化強度係数と、前記輪郭画素と当該輪郭画素に隣接する画素との画素値の差と、を用いて補正値を算出し、当該補正値を前記輪郭画素の画素値に加算して、変更後の画素値を得ることを特徴とする請求項６又は７に記載の画像処理方法。
【請求項９】
前記線幅は、前記線画の幅方向の画素数であり、
前記細線化強度係数は、前記線画の幅方向の画素数が多いほど、前記輪郭画素の画素値の変更の度合いが大きくなるように設定されていることを特徴とする請求項６から８のいずれか一項に記載の画像処理方法。
【請求項１０】
前記画像の各画素に中間調処理を施す中間調処理工程と、
前記画像の各画素に対して、輪郭画素である画素には前記画素値変更工程の処理結果を適用し、輪郭画素でない画素には前記中間調処理工程の処理結果を適用する処理選択工程と、を有することを特徴とする請求項６から９のいずれか一項に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
印刷画像に対して施す画像処理の一つとして、細線化処理がある。細線化処理とは、文字画像その他の線画の輪郭を構成する画素の画素値を下げ、線画の見た目の太さを調節する処理である。
一部の画像形成装置では、細線化処理を行わない場合に文字が太くなる場合がある。例えば、電子写真方式の画像形成装置は、オフセット印刷等の画像形成装置に比してドットゲインが大きい。このため、電子写真方式の画像形成装置によって形成されたドットの線画は、オフセット印刷等の画像形成装置によって形成されたドットの線画に比して太くなる傾向がある。そこで、細線化処理を施すことにより線画の見た目の太さを調節する。
【０００３】
図２６（Ａ）、（Ｂ）に細線化処理の一例を示す。図２６（Ａ）は細線化処理前の文字画像の一例を示し、図２６（Ｂ）は図２６（Ａ）の文字画像に対して細線化処理を施した一例を示す。
図２６（Ａ）に示す文字画像の場合、細線化処理によって当該文字画像の輪郭を構成するエッジ画素２００（図２６（Ｂ）において薄いドットマスクを施された画素）の画素値が下げられる。
【０００４】
上述のように、細線化処理は線画の輪郭を構成する画素の画素値を下げることで線画の見た目の太さを調節する。しかしながら、全ての線画に対して無条件に細線化処理を施すと、元々細かった線が細くなりすぎてかすれや消失を生じることがあり、細線化処理によって画質を損なうことがあった。そこで、元々細い線には細線化処理を施さない画像処理方法がある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３４１２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の画像処理方法は、線画の見た目の太さを均一化させてしまうことがあるという問題点がある。なぜならば、元々細い線には細線化処理を施さず、太い線に細線化処理を施す画像処理を行うと、細い線はそのままである一方で太い線の見た目が細くなる。このため、細い線と太い線の見た目の違いが小さくなり、区別がつかなくなるのである。例えば、明朝体の文字画像は縦線が太く横線が細い。しかし、明朝体の文字画像に対して特許文献１の細線化処理を施すと、縦線と横線の太さの差がなくなり、ゴシック体のように見えてしまうことがある。
【０００７】
本発明は、画質を損なうことなく、線幅の見た目の太さの差異を保持した細線化処理を行うことを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明による画像処理装置は、線画の線幅と、当該線画に隣接する背景の線画の有無と、に応じて設定された複数の細線化強度係数の保持手段と、画像の輪郭画素を検出する輪郭検出手段と、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、を判定する線画検出手段と、前記複数の細線化強度係数のうち、前記線画検出手段により判定された前記線画の線幅と、前記背景の線画の有無と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更する画素値変更手段と、を備えることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の画像処理装置であって、前記保持手段は、前記線画の線幅と、当該線画に隣接する背景の線画の有無と、当該線画の方向と、に応じて設定された複数の細線化強度係数を保持し、前記線画検出手段は、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、当該線画の方向と、を判定し、前記画素値変更手段は、前記複数の細線化強度係数のうち、前記線画検出手段により判定された前記線画の線幅と、前記背景の線画の有無と、前記線画の方向と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更することを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置であって、前記画素値変更手段は、取得した細線化強度係数と、前記輪郭画素と当該輪郭画素に隣接する画素との画素値の差と、を用いて補正値を算出し、当該補正値を前記輪郭画素の画素値に加算して、変更後の画素値を得ることを特徴とする。
【００１１】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載の画像処理装置であって、前記線幅は、前記線画の幅方向の画素数であり、前記細線化強度係数は、前記線画の幅方向の画素数が多いほど、前記輪郭画素の画素値の変更の度合いが大きくなるように設定されていることを特徴とする。
【００１２】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載の画像処理装置であって、前記画像の各画素に中間調処理を施す中間調処理手段と、前記画像の各画素に対して、輪郭画素である画素には前記画素値変更手段の処理結果を適用し、輪郭画素でない画素には前記中間調処理手段の処理結果を適用する処理選択手段と、を備えることを特徴とする。
【００１３】
請求項６に記載の発明による画像処理方法は、画像の輪郭画素を検出する輪郭検出工程と、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、を判定する線画検出工程と、線画の線幅と、当該線画に隣接する背景の線画の有無と、に応じて設定された複数の細線化強度係数のうち、前記線画検出工程により判定された前記線画の線幅と、前記背景の線画の有無と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更する画素値変更工程と、を有することを特徴とする。
【００１４】
請求項７に記載の発明は、請求項６に記載の画像処理方法であって、前記線画検出工程では、前記輪郭画素を含む線画を検出し、当該線画の線幅と、前記輪郭画素に隣接する背景の線画の有無と、当該線画の方向と、を判定し、前記画素値変更工程では、前記線画の線幅と、当該線画に隣接する背景の線画の有無と、当該線画の方向と、に応じて設定された複数の細線化強度係数のうち、前記線画検出工程により判定された前記線画の線幅と、前記背景の線画の有無と、前記線画の方向と、に対応する細線化強度係数を取得し、取得した細線化強度係数を用いて前記輪郭画素の画素値を変更することを特徴とする。
【００１５】
請求項８に記載の発明は、請求項６又は７に記載の画像処理方法であって、前記画素値変更工程では、取得した細線化強度係数と、前記輪郭画素と当該輪郭画素に隣接する画素との画素値の差と、を用いて補正値を算出し、当該補正値を前記輪郭画素の画素値に加算して、変更後の画素値を得ることを特徴とする。
【００１６】
請求項９に記載の発明は、請求項６から８のいずれか一項に記載の画像処理方法であって、前記線幅は、前記線画の幅方向の画素数であり、前記細線化強度係数は、前記線画の幅方向の画素数が多いほど、前記輪郭画素の画素値の変更の度合いが大きくなるように設定されていることを特徴とする。
【００１７】
請求項１０に記載の発明は、請求項６から９のいずれか一項に記載の画像処理方法であって、前記画像の各画素に中間調処理を施す中間調処理工程と、前記画像の各画素に対して、輪郭画素である画素には前記画素値変更工程の処理結果を適用し、輪郭画素でない画素には前記中間調処理工程の処理結果を適用する処理選択工程と、を備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、画質を損なうことなく、線幅の見た目の太さの差異を保持した細線化処理を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本発明による画像処理装置を含む画像形成システム１の構成の一例を示す図である。
【図２】画像処理部１００の構成を示すブロック図である。
【図３】ラインバッファ１１０の記憶保持内容とブロックＢとの対応関係の一例を示す説明図である。図３（Ａ）は、ラインバッファ１１０の記憶保持内容と画像データとの対応関係の一例を示す説明図である。図３（Ｂ）は、ラインバッファ１１０の記憶保持内容と属性データＴＡＧとの対応関係の一例を示す説明図である。
【図４】５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の画素値の関係の一例を示す説明図である。
【図５】５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素のエッジ強度En[ch]の関係の一例を示す説明図である。
【図６】５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の２値化エッジ値en [ch]の関係の一例を示す説明図である。
【図７】第一のパターンマッチング処理のイメージ図である。図７（Ａ）は、注目画素Ｃを中心として並ぶ横の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図である。図７（Ｂ）は、注目画素Ｃを中心として並ぶ縦の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図である。
【図８】第二のパターンマッチング処理のイメージ図である。図８（Ａ）は、注目画素Ｃを中心として左上から右下にかけて並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図である。図８（Ｂ）は、注目画素Ｃを中心として右上から左下にかけて並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図である。
【図９】第三のパターンマッチング処理のイメージ図である。図９（Ａ）は、２値化エッジ値e12及びe15が１であるか否かを判定する処理のイメージ図である。図９（Ｂ）は、２値化エッジ値e11及びe14が１であるか否かを判定する処理のイメージ図である。図９（Ｃ）は、２値化エッジ値e8及びe23が１であるか否か否かを判定する処理のイメージ図である。図９（Ｄ）は、２値化エッジ値e3及びe18が１であるか否か否かを判定する処理のイメージ図である。
【図１０】第四のパターンマッチング処理のイメージ図である。図１０（Ａ）は、２値化エッジ値e1及びe19が１であるか否か否かを判定する処理のイメージ図である。図１０（Ｂ）は、２値化エッジ値e5及びe17が１であるか否かを判定する処理のイメージ図である。図１０（Ｃ）は、２値化エッジ値e7及びe25が１であるか否かを判定する処理のイメージ図である。図１０（Ｄ）は、２値化エッジ値e9及びe21が１であるか否かを判定する処理のイメージ図である。
【図１１】５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の非エッジ値fn [ch]の関係の一例を示す説明図である。
【図１２】第五のパターンマッチング処理のイメージ図である。図１２（Ａ）は、注目画素Ｃの左側に白抜き線があるか否かを判定する処理のイメージ図である。図１２（Ｂ）は、注目画素Ｃの上側に白抜き線があるか否かを判定する処理のイメージ図である。図１２（Ｃ）は、注目画素Ｃの右側に白抜き線があるか否かを判定する処理のイメージ図である。図１２（Ｄ）は、注目画素Ｃの下側に白抜き線があるか否かを判定する処理のイメージ図である。
【図１３】第六のパターンマッチング処理のイメージ図である。図１３（Ａ）は、注目画素Ｃの左上側に白抜き線があるか否かを判定する処理のイメージ図である。図１３（Ｂ）は、注目画素Ｃの右上側に白抜き線があるか否かを判定する処理のイメージ図である。図１３（Ｃ）は、注目画素Ｃの右下側に白抜き線があるか否かを判定する処理のイメージ図である。図１３（Ｄ）は、注目画素Ｃの左下側に白抜き線があるか否かを判定する処理のイメージ図である。
【図１４】細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]と細線化強度係数FTVL、BTVLとの対応関係を示す表である。
【図１５】図１４に示す表の各設定値を具体化した一例を示す表である。
【図１６】正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]の生成処理の流れの一例を示すフローチャートである。
【図１７】輪郭情報E_EDGEの生成処理の流れを示すフローチャートである。
【図１８】前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]の生成処理の流れを示すフローチャートである。
【図１９】細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の生成処理のうち、ステップＳ３１〜Ｓ４４を示すフローチャートである。
【図２０】細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の生成処理のうち、ステップＳ４５〜Ｓ５４を示すフローチャートである。
【図２１】ベタ判定フラグONSOLID、RVSOLIDの生成処理の流れを示すフローチャートである。
【図２２】拡張タグ（ETAG）の設定処理の流れを示すフローチャートである。
【図２３】補正値dST[ch]及び細線化フラグFlagST[ch]の生成処理の流れを示すフローチャートである。
【図２４】出力画像データOut[ch]の生成処理の流れを示すフローチャートである。
【図２５】画像形成部１０の主要構成を示す説明図である。
【図２６】細線化処理の一例を示す説明図である。図２６（Ａ）は細線化処理前の文字画像の一例を示す説明図である。図２６（Ｂ）は図２６（Ａ）の文字画像に対して細線化処理を施した一例を示す説明図である。
【発明を実施するための形態】
【００２０】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
本発明に係る画像処理装置としては、例えばプリンタ、複写機、ファクシミリ装置又はこれらの複合機等に搭載される画像処理装置が挙げられるが、これに限定されるものではない。
【００２１】
図１に、本発明による画像処理装置を含む画像形成システム１の構成の一例を示す。
画像形成システム１は、ＰＣ２、コントローラ３、画像形成装置４を有する。ＰＣ２とコントローラ３は回線５により接続され、コントローラ３と画像形成装置４は回線６により接続される。
【００２２】
ＰＣ２は、印刷ジョブをコントローラ３へ出力する。印刷ジョブは、ＰＤＬ（Page Description Language）データを含む。
【００２３】
コントローラ３は、印刷ジョブを受信すると、印刷ジョブに含まれるＰＤＬデータを解析してＤＬ（Display List）データを生成する。ＤＬデータは、画像形成装置４の印刷処理によって描画されるオブジェクトの位置座標や領域データ、色データのアドレス情報等を含む中間データである。
コントローラ３は、さらに、ＤＬデータに基づいて画像データを生成する。画像データは、ＤＬデータに基づいて描画されるオブジェクトに対して画素を割り当てたデータである。画像データに含まれる各画素には画素値が設定される。本実施形態では、コントローラ３は８ビットの画像データを生成する。つまり、画像データの各画素には０〜２５５のいずれかの画素値が設定される。
画像データは、画像形成装置４で用いる色剤の種類に応じて生成される。本実施形態では、コントローラ３は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）及びブラック（Ｋ）の各色に対応する画像データを生成する。
【００２４】
また、コントローラ３は、各画素の属性を示す属性データＴＡＧを生成する。属性データＴＡＧを生成するに際して、コントローラ３は、ＤＬデータに基づいて各画素の画像属性を判別し、その判別結果に基づいて画素単位で属性データＴＡＧを生成する。属性データＴＡＧが示す属性としては、画素が写真画を構成することを示すＩＭＡＧＥ、画素が線画を構成することを示すＧＲＡＰＨＩＣＳ、画素が文字を構成することを示すＴＥＸＴがある。属性データＴＡＧは数値によって属性の内容を示すデータであり、ＴＡＧ＝０の場合はＩＭＡＧＥの属性を示し、ＴＡＧ＝１の場合はＧＲＡＰＨＩＣＳの属性を示し、ＴＡＧ＝２又は３の場合はＴＥＸＴの属性を示す。
【００２５】
コントローラ３は、生成した画像データ及び属性データＴＡＧを画像形成装置４へ出力する。
【００２６】
画像形成装置４は、画像データ及び属性データＴＡＧに基づいて印刷媒体（例えば紙等）に対して画像を形成する。
画像形成装置４は、画像処理部１００と、画像形成部１０とを有する。
【００２７】
画像処理部１００は、画像データ及び属性データＴＡＧに基づいて出力画像データOut[ch]を生成し、画像形成部１０へ出力する。
図２に、画像処理部１００の構成を示す。
画像処理部１００は、ラインバッファ１１０、エッジ抽出部１２０、細線化処理部１３０、コントーン処理部１４０、スクリーン処理部１５０及びセレクタ１６０を有する。
【００２８】
ラインバッファ１１０は、コントローラ３から入力された画像データ及び属性データＴＡＧを記憶、保持する。ラインバッファ１１０は、４ライン分の画像データと、３ライン分の属性データＴＡＧと、を保持する。ラインバッファ１１０は、エッジ抽出部１２０、細線化処理部１３０及びスクリーン処理部１５０の処理に応じて画像データ、属性データＴＡＧ又はその両方を画素単位又はブロック単位で供給する。
【００２９】
エッジ抽出部１２０は、５×５[画素]単位のブロックＢの画像データを取得し、各画素のエッジ強度En[ch]ならびに注目画素Ｃの正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]、輪郭情報E_EDGE及び背景情報BACKGROUND[ch]の各種データを生成し、細線化処理部１３０へ出力する。
【００３０】
本実施形態における注目画素Ｃとは、５×５[画素]単位のブロックＢの中心に位置する画素をさす。注目画素Ｃは、画像データからの５×５[画素]単位のブロックＢの切り出し位置によって変化し、画像処理部１００は画像データに含まれる全ての画素を注目画素Ｃとして扱うよう、５×５[画素]単位のブロックＢの切り出し位置を順次変更して処理する。
【００３１】
細線化処理部１３０は、ラインバッファ１１０から取得した５×５[画素]単位のブロックＢの画像データ、注目画素Ｃを中心とする３×３画素分の属性データＴＡＧ及びエッジ抽出部１２０によって出力された各種データに基づいて、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]を生成する。また、細線化処理部１３０は、細線化処理を行う。細線化処理において、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]に基づいて細線化の強度が決定される。そして、細線化処理部１３０は、細線化処理がなされた画素値を示すコントーン入力信号IS[ch]を生成し、コントーン処理部１４０へ出力する。また、細線化処理部１３０は、細線化実施フラグTotalSTを生成し、セレクタ１６０へ出力する。
【００３２】
コントーン処理部１４０は、コントーン入力信号IS[ch]に対してγ補正（ガンマ補正）処理を施し、コントーン出力信号contone[ch]を生成し、セレクタ１６０へ出力する。
【００３３】
スクリーン処理部１５０は、注目画素Ｃの画像データ及び属性データＴＡＧを取得する。そして、スクリーン処理部１５０は、注目画素Ｃに対してγ補正処理及び中間調処理（スクリーン処理）を施したスクリーン出力信号screen[ch]を生成し、セレクタ１６０へ出力する。スクリーン処理部１５０は、画像データの各画素に中間調処理を施す中間調処理手段として機能する。
【００３４】
セレクタ１６０は、細線化実施フラグTotalSTに基づいて、コントーン出力信号contone[ch]又はスクリーン出力信号screen[ch]のいずれか一方を出力画像データOut[ch]として画像形成部１０へ出力する。
【００３５】
次に、画像処理部１００の各部について詳細を説明する。
図３（Ａ）、（Ｂ）にラインバッファ１１０の記憶保持内容とブロックＢとの対応関係の一例を示す。図３（Ａ）は、ラインバッファ１１０の記憶保持内容と画像データとの対応関係の一例を示し、図３（Ｂ）は、ラインバッファ１１０の記憶保持内容と属性データＴＡＧとの対応関係の一例を示す。
図３（Ａ）においてマスクされた画素に示すように、注目画素Ｃを中心とする５×５[画素]のブロックＢを構成する各画素のデータを得るには、注目画素Ｃを含むライン及び注目画素Ｃを含むラインを基準とした上下２ライン分のデータを要する。このうち、画像処理部１００に対して入力される１ライン分についてはラインバッファ１１０による保持を要しない。このことから、注目画素Ｃを中心とする５×５[画素]のブロックＢを構成する各画素の画像データを得るには、画像処理部１００に対してリアルタイムで入力される１ラインより前に入力される４ライン分の画像データを保持する必要がある。このため、本実施形態では４ライン分の画像データを記憶、保持するラインバッファ１１０を設けている。
【００３６】
一方、属性データＴＡＧについては、注目画素Ｃを中心とする３×３[画素]のブロックＢがあればよいが、注目画素Ｃを中心とする３×３[画素]のブロックＢを構成する各画素のデータは、画像処理部１００に対してリアルタイムで入力される１ラインに含まれない。このことから、注目画素Ｃを中心とする５×５[画素]のブロックＢを構成する各画素の属性データＴＡＧを得るには、画像処理部１００に対してリアルタイムで入力される１ラインより前に入力される３ライン分の属性データＴＡＧを保持する必要がある。このため、本実施形態では３ライン分の属性データＴＡＧを記憶、保持するラインバッファ１１０を設けている。
【００３７】
本実施形態のラインバッファ１１０が記憶、保持する画像データ及び属性データＴＡＧのライン数はあくまで一例であり、画像処理に要するブロックＢの単位に応じて適宜変更することができる。
【００３８】
エッジ抽出部１２０は、５×５[画素]のブロックＢに含まれる各画素の画素値に基づいて、注目画素に対するエッジ強度En[ch](n=1〜25)を生成する。エッジ強度En[ch]は、注目画素Ｃの画素値と周辺画素の画素値との差に基づく値である。
図４に、５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の画素値の関係の一例を示す。図５に、５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素のエッジ強度En[ch]の関係の一例を示す。
なお、説明に用いる注目画素Ｃは、ブロックＢの中央に位置する画素であり、周辺画素は、注目画素Ｃの周辺に位置し、ブロックＢに含まれる画素である。
【００３９】
エッジ強度En[ch]( n=1〜25)の生成にあたり、まず、エッジ抽出部１２０は、図４に示すように、注目画素Ｃの画素値及び周辺画素の画素値I01〜I25を得る。ここで、ブロックＢが画像データの領域外を含む場合、周辺画素の一部が存在せず、画素値を得られない場合が有る。この場合、存在しない周辺画素の画素値は0とする。
次に、図５に示すように、エッジ抽出部１２０は、注目画素Ｃの画素値と周辺画素の画素値との差を算出してエッジ強度E01〜E25を得る。ここでエッジ強度E01〜E25は−256〜256の範囲の整数である。
なお、本実施形態では、図４、図５に示すように、画素値I01〜I25及びエッジ強度E01〜E25のうち、注目画素Ｃの位置に対応する画素値I13及びエッジ強度E13は用いないので、使用しない画素値、エッジ強度については取得してもしなくてもよい。
【００４０】
次に、エッジ抽出部１２０は、エッジ強度En[ch]に基づいて、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]を生成する。
エッジ抽出部１２０は、注目画素Ｃに隣接する4画素のエッジ強度のうち最大値を正エッジ情報PEDGE[ch]とする。具体的には、本実施形態の場合、E08、E12、E14、E18のうち最大値を正エッジ情報PEDGE[ch]とする。
また、エッジ抽出部１２０は、注目画素Ｃに隣接する4画素のエッジ強度のうち最小値を負エッジ情報REDGE[ch]とする。具体的には、本実施形態の場合、E08、E12、E14、E18のうち最小値を負エッジ情報REDGE[ch]とする。ただし、エッジ抽出部１２０は、第一の閾値EDGETH未満となった正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]又はその両方を0とする。第一の閾値EDGETHは正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]として認められる最低値を示しており、1〜254の値を取ることができる。本実施形態では、第一の閾値EDGETHを32としている。
【００４１】
エッジ強度En[ch]、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]は、各色（例えばＣＭＹＫ）の画像データに対して個別に生成される。[ch]には0〜3の整数値が設定され、ch=0はシアン（Ｃ）を、ch=1はマゼンタ（Ｍ）を、ch=2はイエロー（Ｙ）を、ch=3はブラック（Ｋ）を示す。以下、[ch]の記載を含むデータは、各色についてそれぞれ生成される。
【００４２】
さらに、エッジ抽出部１２０は、各色のエッジ強度En[ch]、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]に基づいて輪郭情報E_EDGEを生成する。輪郭情報E_EDGEは、注目画素Ｃが画像の輪郭を構成するか否かを示す。
【００４３】
輪郭情報E_EDGEの生成にあたり、エッジ抽出部１２０は、まず中間データであるTOTALPEDGE、TOTALREDGEを求める。TOTALPEDGEは下記の式（１）によって求められる。TOTALREDGEは下記の式（２）によって求められる。
TOTALPEDGE ＝{(PEDGE[0] × Wc) ＋ (PEDGE[1] × Wm) ＋ (PEDGE[2] ×Wy) ＋ (PEDGE[3] × Wk)} ／ 256……（１）
TOTALREDGE ＝{(REDGE[0] × Wc) ＋ (REDGE[1] × Wm) ＋ (REDGE[2] ×Wy) ＋ (REDGE[3] × Wk)} ／ 256……（２）
上記式（１）、（２）における係数Wc、Wm、Wy及びWkはそれぞれ8bitの整数である。また、係数Wc、Wm、Wy、Wkは、Wc+Wm+Wy+Wk≦256を満たすように設定される。
TOTALPEDGE、TOTALREDGEは前景、背景それぞれのエッジにおける各色（例えばＣＭＹＫ）のエッジの強さを比視感度に相当する係数で重み付けして足し合わせた値に基づく中間データ値である。なお、画素値の異なる複数の画素がエッジを形成する画像データにおいて、前景とは濃度が相対的に高い領域のことをさし、背景とは濃度が相対的に低い領域のことをさす。
注目画素Ｃが画像の輪郭を構成するか否かを示す輪郭情報E_EDGEを決定するにあたり、注目画素Ｃが視覚的な濃度差に基づいて輪郭を形成するか否かを判定する必要がある。そこで、中間データTOTALPEDGE、TOTALREDGEを求めるにあたり、それぞれ正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]に対して比視感度に相当する係数による補正をかける。具体的には、シアン（Ｃ）の正エッジ情報PEDGE[0]、負エッジ情報REDGE[0]には係数Wcを用い、マゼンタ（Ｍ）の正エッジ情報PEDGE[1]、負エッジ情報REDGE[1]には係数Wmを用い、イエロー（Ｙ）の正エッジ情報PEDGE[2]、負エッジ情報REDGE[2]には係数Wyを用い、ブラック（Ｋ）の正エッジ情報PEDGE[3]、負エッジ情報REDGE[3]には係数Wkを用い、補正をかける。
【００４４】
本実施形態では、係数Wc、Wm、Wy、Wkの値は、比視感度に応じる。例えば、イエロー（Ｙ）は、画素値の異なる二画素の画素値の差による視覚的な濃度差を他の色に比して生じさせにくい。一方、ブラック（Ｋ）は画素値の異なる二画素の画素値の差による視覚的な濃度差を他の色に比して生じさせやすい。係数Wc、Wm、Wy、Wkの値は、このような比視感度に応じて設定されており、例えばWc=80、Wm=32、Wy=16、Wk=128である。
【００４５】
エッジ抽出部１２０は、TOTALPEDGEとTOTALREDGEとの大小比較結果に基づいて輪郭情報E_EDGEを決定する。本実施形態では、TOTALPEDGEがTOTALREDGEより大きい場合に、エッジ抽出部１２０は、注目画素Ｃが輪郭を構成する画素であると判定して輪郭情報E_EDGEをＯＮとする。TOTALPEDGEがTOTALREDGE以下である場合、エッジ抽出部１２０は、輪郭情報E_EDGEをＯＦＦとする。本実施形態では、輪郭情報E_EDGEはＯＮ／ＯＦＦを示す1bit値で表されるが、同様の情報を示すことができれば他の値をとっても良い。
【００４６】
このように、エッジ抽出部１２０は、輪郭情報E_EDGEの生成及びその値のＯＮ／ＯＦＦによって、注目画素Ｃが輪郭を構成する画素（輪郭画素）であるか否かを検知する。つまり、エッジ抽出部１２０は、画像データに含まれる輪郭画素を検出する輪郭検出手段として機能する。
【００４７】
また、エッジ抽出部１２０は、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]に基づいて背景情報BACKGROUND[ch]を生成する。BACKGROUND[ch]は注目画素Ｃが前景に含まれるか背景に含まれるかを簡易的に推定するためのデータである。本実施形態では、背景情報BACKGROUND[ch]と対になる前景情報FOREGROUND[ch]も同時に生成される。前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]は、ＯＮ／ＯＦＦを示す1bit値で表されるが、同様の情報を示すことができれば他の値をとっても良い。前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]は、各色（例えばＣＭＹＫ）に対して個別に生成される。
【００４８】
前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]を生成するにあたり、エッジ抽出部１２０は、PEDGE[ch]とREDGE[ch]とを比較する。PEDGE[ch]がREDGE[ch]よりも大きい場合、エッジ抽出部１２０は前景情報FOREGROUND[ch]をＯＮとし、背景情報BACKGROUND[ch]をＯＦＦとする。PEDGE[ch]がREDGE[ch]よりも小さい場合、エッジ抽出部１２０は前景情報FOREGROUND[ch]をＯＦＦとし、背景情報BACKGROUND[ch]をＯＮとする。PEDGE[ch]とREDGE[ch]とが等しい場合、エッジ抽出部１２０は前景情報FOREGROUND[ch]、背景情報BACKGROUND[ch]を共にＯＦＦとする。
【００４９】
細線化処理部１３０は、まず、エッジの２値化を行う。本実施形態では、細線化処理部１３０は、8bitのエッジ強度En[ch]の値と第二の閾値TLSOLIDTHとの比較結果に基づいて、周辺画素の２値化エッジ値en[ch](n=1〜25)を求める。２値化エッジ値en[ch]は、各色（例えばＣＭＹＫ）に対して個別に生成される。
図６に、５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の２値化エッジ値en [ch]の関係の一例を示す。
細線化処理部１３０は、8bitのエッジ強度En[ch]の値が第二の閾値TLSOLIDTHより大きい周辺画素に対して、その２値化エッジ値en [ch]として1を設定する。細線化処理部１３０は、8bitのエッジ強度En[ch]の値が第二の閾値TLSOLIDTH以下の周辺画素に対して、その２値化エッジ値en [ch]として0を設定する。
【００５０】
次に、細線化処理部１３０は、細線構造信号ThinLine[ch]の生成を行う。
細線構造信号ThinLine[ch]の生成にあたり、細線化処理部１３０は、細線構造信号ThinLine[ch]を初期値0で設定する。その後、細線化処理部１３０は、注目画素Ｃを中心として並ぶ縦又は横の３画素について、白黒白のパターンがあるか否かを判定する。注目画素Ｃを中心として並ぶ縦又は横の３画素について、白黒白のパターンがある場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を1とする。本実施形態の細線化処理部１３０は、注目画素Ｃを中心として並ぶ縦又は横の３画素について、白黒白のパターンがあるか否かを判定するにあたり、第一のパターンマッチング処理を行う。
【００５１】
図７（Ａ）、（Ｂ）に、第一のパターンマッチング処理のイメージ図を示す。図７（Ａ）は、注目画素Ｃを中心として並ぶ横の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図を示し、図７（Ｂ）は、注目画素Ｃを中心として並ぶ縦の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図を示す。
第一のパターンマッチング処理として、細線化処理部１３０は、２値化エッジ値e12及びe14又はe8及びe18のいずれか一の組が共に１であるか否かを判定する。２値化エッジ値又はe8及びe18のいずれか一の組が共に１である場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を1とする。
【００５２】
細線構造信号ThinLine[ch]=1は、縦又は横方向に沿った1画素幅の線があることを示す。
第一のパターンマッチング処理後、細線構造信号ThinLine[ch]の値が0である場合、注目画素Ｃを中心として並ぶ縦及び横の３画素について、白黒白のパターンがないことを示す。その場合、細線化処理部１３０は、注目画素Ｃを中心として並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定する。注目画素Ｃを中心として並ぶ斜め方向の３画素について、白黒白のパターンがある場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を2とする。本実施形態の細線化処理部１３０は、注目画素Ｃを中心として並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定するにあたり、第二のパターンマッチング処理を行う。
【００５３】
図８（Ａ）、（Ｂ）に、第二のパターンマッチング処理のイメージ図を示す。図８（Ａ）は、注目画素Ｃを中心として左上から右下にかけて並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図を示し、図８（Ｂ）は、注目画素Ｃを中心として右上から左下にかけて並ぶ斜め方向の３画素について、白黒白のパターンがあるか否かを判定する処理のイメージ図を示す。
第二のパターンマッチング処理として、白黒白のパターンがあるか否かを判定する場合、細線化処理部１３０は、２値化エッジ値e7及びe19又はe9及びe17のいずれか一方の組が共に１であるか否かを判定する。２値化エッジ値e7及びe19又はe9及びe17のいずれか一方の組が共に１である場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を2とする。
【００５４】
細線構造信号ThinLine[ch]=2は、斜め方向の1画素幅の線があることを示す。
第二のパターンマッチング処理後、細線構造信号ThinLine[ch]の値が0である場合、注目画素Ｃを中心として並ぶ縦、横及び斜めの３画素について、白黒白のパターンがないことを示す。その場合、細線化処理部１３０は、注目画素Ｃを含んだ縦又は横の2画素幅の線があるか否かを判定する。注目画素Ｃを含んだ縦又は横の2画素幅の線がある場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を3とする。本実施形態の細線化処理部１３０は、注目画素Ｃを含んだ縦又は横の2画素幅の線があるか否かを判定するにあたり、第三のパターンマッチング処理を行う。
【００５５】
図９（Ａ）〜（Ｄ）に、第三のパターンマッチング処理のイメージ図を示す。図９（Ａ）は、２値化エッジ値e12及びe15が１であるか否かを判定する処理のイメージ図を示し、図９（Ｂ）は、２値化エッジ値e11及びe14が１であるか否かを判定する処理のイメージ図を示し、図９（Ｃ）は、２値化エッジ値e8及びe23が１であるか否か否かを判定する処理のイメージ図を示し、図９（Ｄ）は、２値化エッジ値e3及びe18が１であるか否か否かを判定する処理のイメージ図を示す。
第三のパターンマッチング処理として、細線化処理部１３０は、２値化エッジ値e12及びe15、e11及びe14、e8及びe23又はe3及びe18のいずれか一の組が共に１であるか否かを判定する。２値化エッジ値e12及びe15、e11及びe14、e8及びe23又はe3及びe18のいずれか一の組が共に１である場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を3とする。
【００５６】
細線構造信号ThinLine[ch]=3は、注目画素Ｃを含んだ縦又は横の2画素幅の線があることを示す。
第三のパターンマッチング処理後、細線構造信号ThinLine[ch]の値が0である場合、注目画素Ｃを中心として並ぶ縦、横及び斜めの３画素について白黒白のパターンがないことならびに注目画素Ｃを含んだ縦及び横の2画素幅の線がないことを示す。その場合、細線化処理部１３０は、注目画素Ｃを含んだ斜め方向の2画素幅の線があるか否かを判定する。注目画素Ｃを含んだ斜め方向の2画素幅の線がある場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を4とする。本実施形態の細線化処理部１３０は、注目画素Ｃを含んだ斜め方向の2画素幅の線があるか否かを判定するにあたり、第四のパターンマッチング処理を行う。
【００５７】
図１０（Ａ）〜（Ｄ）に、第四のパターンマッチング処理のイメージ図を示す。図１０（Ａ）は、２値化エッジ値e1及びe19が１であるか否か否かを判定する処理のイメージ図を示し、図１０（Ｂ）は、２値化エッジ値e5及びe17が１であるか否かを判定する処理のイメージ図を示し、図１０（Ｃ）は、２値化エッジ値e7及びe25が１であるか否かを判定する処理のイメージ図を示し、図１０（Ｄ）は、２値化エッジ値e9及びe21が１であるか否かを判定する処理のイメージ図を示す。
第四のパターンマッチング処理として、細線化処理部１３０は、２値化エッジ値e1及びe19、e5及びe17、e7及びe25又はe9及びe21のいずれか一の組が共に１であるか否かを判定する。２値化エッジ値e1及びe19、e5及びe17、e7及びe25又はe9及びe21のいずれか一の組が共に１である場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を4とする。
【００５８】
細線構造信号ThinLine[ch]=4は、注目画素Ｃを含んだ斜め方向の2画素幅の線があることを示す。
注目画素Ｃを含んだ縦又は横の2画素幅の線があるか否かを判定した後、細線構造信号ThinLine[ch]の値が0である場合、注目画素Ｃを中心として並ぶ縦、横及び斜めの３画素について白黒白のパターンがないことならびに注目画素Ｃを含んだ縦、横及び斜め方向の2画素幅の線がないことを示す。その場合、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を0のままとする。細線構造信号ThinLine[ch]=0は、3画素以上の幅を有する画素の固まりがあることを示す。
細線化処理部１３０は、細線構造信号ThinLine[ch]の値が0以外になったとき又は第四のパターンマッチング処理の終了後、細線構造信号ThinLine[ch]の値を決定する処理を終了する。
【００５９】
細線構造信号ThinLine[ch]の値の決定処理に示すように、細線化処理部１３０は、注目画素Ｃを含む線画の線幅を検出する線幅検出手段として機能する。そして、細線構造信号ThinLine[ch]は、線幅情報として機能する。
また、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を、注目画素Ｃを含む線画の幅方向の画素数に応じて設定する。
さらに、細線化処理部１３０は、細線構造信号ThinLine[ch]の値を、線画の幅方向が画像の縦横のいずれか一方に沿っているか否かに応じて設定する。本実施形態では、細線構造信号ThinLine[ch]は、その値が1又は3の場合、線画の幅方向が画像の縦横のいずれか一方に沿っていることを示す。一方、細線構造信号ThinLine[ch]は、その値が2又は4の場合、線画の幅方向が画像の縦横のいずれか一方に沿っておらず、斜め方向であることを示す。
【００６０】
次に、細線化処理部１３０は、白抜き文字情報WThinLine[ch]を生成する。
白抜き文字情報WThinLine[ch]を生成するにあたり、細線化処理部１３０は、非エッジ値fn[ch] (n=1〜25)を求める。非エッジ値fn[ch]は、注目画素Ｃの画素値と周辺画素の画素値との差が所定の範囲内に収まっているか否かを示す。本実施形態では、各周辺画素のエッジ強度En[ch]が第三の閾値FlatTHを下回る場合、細線化処理部１３０は、注目画素Ｃの画素値と周辺画素の画素値との差が所定の範囲内に収まっていると判定し、その周辺画素の非エッジ値fn[ch]の値を1とする。一方、本実施形態では、各周辺画素のエッジ強度En[ch]が第三の閾値FlatTH以上の場合、その周辺画素の非エッジ値fn[ch]の値を0とする。
【００６１】
図１１に、５×５[画素]のブロックＢの注目画素Ｃに対する周辺画素の非エッジ値fn [ch]の関係の一例を示す。
本実施形態では、図１１に示すように、非エッジ値f01〜f25のうち、f01、f03、f05、f11、f15、f21、f23、f25以外は用いないので、使用しない非エッジ値については算出してもしなくてもよい。
【００６２】
非エッジ値fn[ch]を得た後、細線化処理部１３０は、２値化エッジ値en[fh]及び非エッジ値fn[ch]に基づいて、白抜き線が存在するか否かを判定する処理を行う。
具体的には、細線化処理部１３０は、まず、白抜き文字情報WThinLine[ch]を初期値0で設定する。その後、縦又は横の1画素幅の白抜き線があるか否かを判定する。縦又は横の1画素幅の白抜き線がある場合、細線化処理部１３０は、白抜き文字情報WThinLine[ch]の値を1とする。本実施形態の細線化処理部１３０は、縦又は横の1画素幅の白抜き線があるか否かを判定するにあたり、第五のパターンマッチング処理を行う。
【００６３】
図１２（Ａ）〜（Ｄ）に、第五のパターンマッチング処理のイメージ図を示す。図１２（Ａ）は、注目画素Ｃの左側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１２（Ｂ）は、注目画素Ｃの上側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１２（Ｃ）は、注目画素Ｃの右側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１２（Ｄ）は、注目画素Ｃの下側に白抜き線があるか否かを判定する処理のイメージ図を示す。
第五のパターンマッチング処理として、細線化処理部１３０は、非エッジ値f11及び２値化エッジ値e12、非エッジ値f3及び２値化エッジ値e8、非エッジ値f15及び２値化エッジ値e14、非エッジ値f23及び２値化エッジ値e18のいずれか一の組が共に１であるか否かを判定する。非エッジ値f11及び２値化エッジ値e12、非エッジ値f3及び２値化エッジ値e8、非エッジ値f15及び２値化エッジ値e14、非エッジ値f23及び２値化エッジ値e18のいずれか一の組が共に１である場合、細線化処理部１３０は、白抜き文字情報WThinLine[ch]の値を1とする。
【００６４】
白抜き文字情報WThinLine[ch]=1は、縦又は横の1画素幅の白抜き線があることを示す。
第五のパターンマッチング処理後、白抜き文字情報WThinLine[ch]の値が0である場合、縦又は横の1画素幅の白抜き線がないことを示す。その場合、細線化処理部１３０は、斜め方向の1画素幅の白抜き線があるか否かを判定する。斜め方向の1画素幅の白抜き線場合、細線化処理部１３０は、白抜き文字情報WThinLine[ch]の値を2とする。本実施形態の細線化処理部１３０は、斜め方向の1画素幅の白抜き線があるか否かを判定するにあたり、第六のパターンマッチング処理を行う。
【００６５】
図１３（Ａ）〜（Ｄ）に、第六のパターンマッチング処理のイメージ図を示す。図１３（Ａ）は、注目画素Ｃの左上側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１３（Ｂ）は、注目画素Ｃの右上側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１３（Ｃ）は、注目画素Ｃの右下側に白抜き線があるか否かを判定する処理のイメージ図を示し、図１３（Ｄ）は、注目画素Ｃの左下側に白抜き線があるか否かを判定する処理のイメージ図を示す。
第六のパターンマッチング処理として、細線化処理部１３０は、非エッジ値f1及び２値化エッジ値e7、非エッジ値f5及び２値化エッジ値e9、非エッジ値f25及び２値化エッジ値e19、非エッジ値f21及び２値化エッジ値e17のいずれか一の組が共に１であるか否かを判定する。非エッジ値f1及び２値化エッジ値e7、非エッジ値f5及び２値化エッジ値e9、非エッジ値f25及び２値化エッジ値e19、非エッジ値f21及び２値化エッジ値e17のいずれか一の組が共に１である場合、細線化処理部１３０は、白抜き文字情報WThinLine[ch]の値を2とする。
【００６６】
白抜き文字情報WThinLine[ch]=2は、斜め方向の1画素幅の白抜き線があることを示す。
第六のパターンマッチング処理後、白抜き文字情報WThinLine[ch]の値が0である場合、注目画素Ｃの周囲に白抜き線がないことを示す。その場合、細線化処理部１３０は、白抜き文字情報WThinLine[ch]の値を0のままとする。白抜き文字情報WThinLine[ch]=0は、注目画素Ｃに隣接する白抜き文字がないことを示す。
【００６７】
細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]は、各色（例えばＣＭＹＫ）に対して個別に生成される。
【００６８】
次に、細線化処理部１３０は、細線化処理を行う。
細線化処理において、細線化処理部１３０は、まず、注目画素Ｃ及び注目画素Ｃに隣接する周辺画素がベタか否かを判定する。細線化処理部１３０は、第三の閾値ＳＯＢに基づいて、ベタか否かを判定し、その結果をベタ判定フラグ（ONSOLID、RVSOLID）として生成する。ベタ判定フラグONSOLID、RVSOLIDは共にＯＮ／ＯＦＦを示すデータである。ベタ判定フラグONSOLIDがＯＮの場合、前景のベタであることを示す。ベタ判定フラグRVSOLIDがＯＮの場合、背景のベタがＯＮであることを示す。
本実施形態では、細線化処理部１３０は、正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]をそれぞれ第三の閾値ＳＯＢと比較する。
細線化処理部１３０は、各色（例えばＣＭＹＫ）の正エッジ情報PEDGE[ch]をそれぞれ第三の閾値ＳＯＢと比較し、１つ以上の正エッジ情報PEDGE[ch]が第三の閾値ＳＯＢよりも大きい場合に細線化処理部１３０はベタ判定フラグONSOLIDをＯＮとする。いずれの正エッジ情報PEDGE[ch]も第三の閾値ＳＯＢ以下である場合、細線化処理部１３０は、ベタ判定フラグONSOLIDをＯＦＦとする。
また、細線化処理部１３０は、各色（例えばＣＭＹＫ）の負エッジ情報REDGE[ch]をそれぞれ第三の閾値ＳＯＢと比較し、１つ以上の負エッジ情報REDGE[ch]が第三の閾値ＳＯＢよりも大きい場合に細線化処理部１３０はベタ判定フラグRVSOLIDをＯＮとする。いずれの負エッジ情報REDGE[ch]も第三の閾値ＳＯＢ以下である場合、細線化処理部１３０は、ベタ判定フラグRVSOLIDをＯＦＦとする。
【００６９】
ベタ判定フラグONSOLID、RVSOLIDの生成の後、細線化処理部１３０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]に基づいて細線化強度係数FTVL、BTVLの値を決定する。細線化強度係数FTVL、BTVLは、細線化の強度を示す係数である。
【００７０】
図１４に、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]と細線化強度係数FTVL、BTVLとの対応関係を示す。
図１４に示すように、細線構造信号ThinLine[ch]、白抜き文字情報WThinLine[ch]の値に応じて、細線化強度係数FTVL、BTVLに個別の設定があらかじめなされている。
図１４に示すSTVL及びBGSTVLは、注目画素Ｃが細線構造（例えば1画素幅又は2画素幅の線）及び白抜き文字を構成しない場合に用いられる設定値を示す。TLVL（TLVL1〜4）及びBGTLVL （BGTLVL1〜4）は、注目画素Ｃが細線構造を構成し、白抜き文字を構成しない場合に用いられる設定値を示す。WEVL （WEVL1,2）及びBGWEVL （BGWEVL1,2）は、注目画素Ｃが細線構造を構成せず、白抜き文字を構成する場合に用いられる設定値を示す。SWVL （SWVL1〜8）及びBGSWVL （BGSWVL1〜8）は、注目画素Ｃが細線構造及び白抜き文字を構成する場合に用いられる設定値を示す。
【００７１】
各設定値には、それぞれ具体的な細線化の強度を示す値が設定される。本実施形態では、細線化の強度を最小（0）〜最大（100）で示す。大きな値が設定されるほど、細線化処理で施される細線化の度合い（強度）は強くなる。各設定値は、細線構造信号ThinLine[ch]が示す、注目画素Ｃを含む線画の幅方向の画素数が多いほど注目画素Ｃの細線化の強度、即ち細線化処理による注目画素Ｃの画素値の変更の度合いを大きくするよう設定される。
【００７２】
図１５に、図１４に示す表の各設定値を具体化した一例を示す。
各設定値間を相対比較した場合の傾向として、WEVL及びBGWEVLは、大きな値が設定される。これは、白抜き文字がつぶれないよう、白抜き文字の輪郭を構成する画素の細線化を強めに行うことが望ましいためである。また、STVL及びBGSTVLも、大きな値が設定される。これは、細線構造でも白抜き文字でもない部分の輪郭には、強い細線化処理を施しても文字のかすれや消失を生じる可能性が低いためである。一方、TLVL及びBGTLVLは、弱めに設定される。これは、これは、細線構造に対して強い細線化処理を行うと、文字のかすれや消失を生じる可能性が大きくなるため、細線化処理の強度を弱くしたいためである。SWVL 及びBGSWVLは、中庸な値が設定される。これは、注目画素Ｃが細線構造を構成するため細線化処理の強度を弱くしたい一方で、注目画素Ｃが白抜き文字も同時に構成するため、細線化処理の強度が弱すぎると白抜き文字がつぶれる可能性が生じることから、強度を一方的に大きく、又は小さく設定することが困難なためである。
【００７３】
本実施形態では、細線化処理部１３０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]に応じ、図１５に示す細線化強度係数FTVL、BTVLの設定値を取得する。図１５に示す各設定値は一例であり、他の値を設定してもよい。
【００７４】
細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]と細線化強度係数FTVL、BTVLとの対応関係を示すデータ（対応付け情報）は、細線化処理部１３０が保持している。このように、細線化処理部１３０は、線幅情報と輪郭画素に対して施す画素値の変更の度合いとを対応付ける対応付け情報を保持する対応付け情報保持手段として機能する。
【００７５】
また、細線化処理部１３０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]に基づいて、ToTalThinLineを設定し、その値を決定する。
ToTalThinLineの値の決定にあたり、後述する式（３）、（４）のように、細線化処理部１３０は、各色の細線構造信号ThinLine[ch]の論理和（TotalTL）及び各色の白抜き文字情報WThinLine[ch]の論理和（TotalWTL）を得る。
TotalTL＝（ThinLine[0]｜ThinLine[1] ｜ThinLine[2]｜ThinLine[3]）……（３）
TotalWTL＝（WThinLine[0]｜WThinLine[1]｜WThinLine[2]｜WThinLine[3]）……（４）
そして、細線化処理部１３０は、後述する式（５）のように、TotalTLとTotalWTLの論理和をTotalThinLineとして得る。つまり、TotalThinLineの値は、各色の細線構造信号ThinLine[ch]及び各色の白抜き文字情報WThinLine[ch]の論理和に応じる。
TotalThinLine＝（TotalTL｜TotalWTL）……（５）
【００７６】
また、細線化処理部１３０は、属性データＴＡＧのチェック処理及び拡張タグ（ETAG）の設定を行う。具体的には、細線化処理部１３０は、注目画素Ｃ及び注目画素Ｃに対して上下左右又は斜めのいずれかで隣接する８画素の属性データＴＡＧを取得する。そして、取得された属性データＴＡＧのいずれかがＴＥＸＴ又はＧＲＡＰＨＩＣＳを示す場合、細線化処理部１３０は注目画素Ｃに対して拡張タグ（ETAG）を設定し、ETAGの値をＴＥＸＴ／ＧＲＡＰＨＩＣＳとする。一方、取得された属性データＴＡＧのいずれもＴＥＸＴ又はＧＲＡＰＨＩＣＳを示さない、即ち９画素全ての属性データＴＡＧがＩＭＡＧＥを示す場合、細線化処理部１３０は注目画素Ｃに対して拡張タグ（ETAG）を設定し、ETAGの値をＩＭＡＧＥとする。
【００７７】
また、細線化処理部１３０は、正エッジ情報PEDGE[ch]、負エッジ情報REDGE[ch]及び細線化強度係数FTVL、BTVLに基づいて前景強度dST_power_FG[ch]、背景強度dST_power_BG[ch]の算出を行う。本実施形態の細線化処理部１３０は、式（６）、（７）を用いて前景強度dST_power_FG[ch]、背景強度dST_power_BG[ch]の算出を行う。
dST_power_FG[ch]＝−（FTVL×（PEDGE[ch]−REDGE[ch]））／256……（６）
dST_power_BG[ch]＝（BTVL×（PEDGE[ch]−REDGE[ch]））／256……（７）
前景強度dST_power_FG[ch]、背景強度dST_power_BG[ch]の算出は、各色（例えばＣＭＹＫ）に対して個別に行われる。
【００７８】
次に、細線化処理部１３０は、補正値dST[ch]を設定し、その値を決定する。
細線化処理部１３０は、補正値dST[ch]の値を決定するにあたり、輪郭情報E_EDGE、ETAG、ベタ判定フラグONSOLID及び背景情報BACKGROUND[ch]の値をチェックする。注目画素Ｃについて、輪郭情報E_EDGEがＯＮであり、ETAGの値がＩＭＡＧＥでなく、ベタ判定フラグONSOLIDがＯＮであって、かつ、背景情報BACKGROUND[ch]がＯＦＦの場合、細線化処理部１３０は前景強度dST_power_FG[ch]の値を補正値dST[ch]の値とする。また、注目画素Ｃについて、輪郭情報E_EDGEであり、ETAGの値がＩＭＡＧＥでなく、ベタ判定フラグONSOLIDがＯＮであって、かつ、背景情報BACKGROUND[ch]がＯＮの場合、細線化処理部１３０は背景強度dST_power_BG[ch]の値を補正値dST[ch]の値とする。それ以外の場合、即ち、輪郭情報E_EDGEがＯＦＦであるか、ETAGの値がＩＭＡＧＥであるか、あるいはベタ判定フラグONSOLIDがＯＦＦである場合、細線化処理部１３０は補正値dST[ch]の値を0とする。
【００７９】
また、細線化処理部１３０は、細線化フラグFlagST[ch]を設定し、その値を決定する。細線化フラグFlagST[ch]は細線化を行うか否かをＯＮ／ＯＦＦで示すデータである。
細線化処理部１３０は、細線化フラグFlagST[ch]の値を決定するにあたり、輪郭情報E_EDGE、ETAG及びベタ判定フラグONSOLIDの値をチェックする。注目画素Ｃについて、輪郭情報E_EDGEがＯＮであり、ETAGの値がＩＭＡＧＥでなく、かつ、ベタ判定フラグONSOLIDがＯＮの場合、細線化処理部１３０は細線化フラグFlagST[ch]をＯＮとする。それ以外の場合、即ち、輪郭情報E_EDGEがＯＦＦであるか、ETAGの値がＩＭＡＧＥであるか、あるいはベタ判定フラグONSOLIDがＯＦＦである場合、細線化処理部１３０は細線化フラグFlagST[ch]をＯＦＦとする。
【００８０】
輪郭情報E_EDGEがＯＮであるということは、注目画素Ｃが輪郭（エッジ）を構成する画素であることを示す。ETAGの値がＩＭＡＧＥでないとういうことは、属性データＴＡＧがＴＥＸＴ又はＧＲＡＰＨＩＣＳであり、注目画素Ｃが文字又は線画を構成する画素であることを示す。そして、ベタ判定フラグONSOLIDがＯＮであるということは、注目画素Ｃが前景のベタ画素であることを示す。
本実施形態において、細線化処理部１３０は、注目画素Ｃが輪郭（エッジ）を構成する画素であり、文字又は線画を構成する画素であり、注目画素Ｃが前景のベタ画素である場合に細線化処理を行う。そこで、輪郭情報E_EDGE、ETAG及びベタ判定フラグONSOLIDの値をチェックし、細線化フラグFlagST[ch]のＯＮ／ＯＦＦを決定する。
また、細線化処理部１３０は、注目画素Ｃが前景に含まれるか背景に含まれるかによって、細線化処理による注目画素値の画素値を変更する。注目画素Ｃが前景に含まれる場合、周囲に対して注目画素Ｃの画素値が大きい、即ち色が濃いということである。この場合、細線化処理部１３０は補正値dST[ch]の値を注目画素Ｃの画素値を低減させる値とする。式（６）に示すように、前景強度dST_power_FG[ch]の値は負の値である。後述する式（９）で示すように、細線化処理部１３０は、注目画素Ｃの画素値に補正値dST[ch]の値を加算することで画素値を低減させる。一方、注目画素Ｃが背景に含まれる場合、周囲に対して注目画素Ｃの画素値が小さい、即ち色が薄いということである。この場合、細線化処理部１３０は補正値dST[ch]の値を注目画素Ｃの画素値を増大させる値とする。式（７）に示すように、背景強度dST_power_BG[ch]の値は正の値である。後述する式（９）で示すように、細線化処理部１３０は、注目画素Ｃの画素値に補正値dST[ch]の値を加算することで画素値を増大させる。細線化処理部１３０は、背景情報BACKGROUND[ch]の値に基づいて、注目画素Ｃが前景に含まれるか背景に含まれるかを判定する。
【００８１】
補正値dST[ch]及び細線化フラグFlagST[ch]は、各色（例えばＣＭＹＫ）に対して個別に設定、決定される。
補正値dST[ch]及び細線化フラグFlagST[ch]の値の決定処理におけるチェック処理のうち共通部分、即ち輪郭情報E_EDGE、ETAG及びベタ判定フラグONSOLIDの値は個別に行う必要は無く、1回のチェック処理で補正値dST[ch]及び細線化フラグFlagST[ch]の値の決定を行うことができる。無論、チェック処理を個別に行っても良い。
【００８２】
次に、細線化処理部１３０は、細線化実施フラグTotalSTを生成する。
後述する式（８）のように、細線化処理部１３０は、各色の細線化フラグFlagST[ch]の論理和を細線化実施フラグTotalSTとする。
TotalST＝（FlagST[0] ｜ FlagST[1] ｜ FlagST[2] ｜ FlagST[3]）……（８）
細線化実施フラグTotalSTは、画像データに含まれる各色（例えばＣＭＹＫ）のうち、一つ以上の色について、注目画素Ｃの細線化処理が行われるか否かを示す。いずれか一つ以上の色について注目画素Ｃの細線化処理が行われる場合、細線化実施フラグTotalSTはＯＮとなる。ここで、いずれか一つ以上の色について注目画素Ｃの細線化処理が行われる、即ち各色の細線化フラグFlagST[ch]のうち少なくとも一つがＯＮであるということは、各色の輪郭情報E_EDGEのうち少なくとも一つがＯＮであることを示し、注目画素Ｃが輪郭を構成していることを示す。つまり、細線化実施フラグTotalSTがＯＮであるということは、注目画素Ｃが輪郭を構成していることを示す。
【００８３】
また、細線化処理部１３０は、コントーン入力信号IS[ch]を生成する。細線化処理部１３０は、以下の式（９）を用いてコントーン入力信号IS[ch]を生成する。
IS[ch]＝C[ch]＋dST[ch]……（９）
式（９）のC[ch]は、各色（例えばＣＭＹＫ）の注目画素Ｃの画素値を示す。つまり、コントーン入力信号IS[ch]は、注目画素Ｃの画素値C[ch]に補正値dST[ch]を加えた、細線化処理後の画素値を値として持つ。
コントーン入力信号IS[ch]は、各色（例えばＣＭＹＫ）に対して個別に生成される。
【００８４】
このように、細線化処理部１３０は、注目画素Ｃを含む線画の線幅と、細線構造信号ThinLine[ch]と細線化強度係数FTVL、BTVLとの対応関係を示すデータと、に基づいて輪郭画素の画素値を変更する画素値変更手段として機能する。
【００８５】
コントーン処理部１４０は、コントーン入力信号IS[ch]に対してγ補正（ガンマ補正）処理を施した出力値をコントーン出力信号contone[ch]としてセレクタ１６０へ出力する。一方、スクリーン処理部１５０は、注目画素Ｃの画像データ及び属性データＴＡＧを取得し、注目画素Ｃに対してγ補正処理及びスクリーン処理を施したスクリーン出力信号screen[ch]を生成し、セレクタ１６０へ出力する。スクリーン処理部１５０は、注目画素に対してスクリーン処理を施す一方で、コントーン処理部１４０は、細線化処理を施した注目画素Ｃに対してスクリーン処理を施さない。
なお、スクリーン処理及びγ補正処理については既知の処理であるので、その詳細を省略する。
【００８６】
セレクタ１６０は、細線化実施フラグTotalSTに基づいて、コントーン出力信号contone[ch]又はスクリーン出力信号screen[ch]のいずれか一方を出力画像データOut[ch]として画像形成部１０へ出力する。
仮に、注目画素Ｃが細線化処理を施されるべき画素であるにも関わらず細線化処理を経ないスクリーン出力信号screen[ch]を注目画素Ｃに適用すると、印刷画像の輪郭にジャギーを生じさせ、画質を劣化させることとなる。そこで、セレクタ１６０は、細線化実施フラグTotalSTに基づいて、注目画素Ｃが細線化処理を行う対象となる画素であるか否かを判定し、注目画素Ｃが細線化処理を行う対象となる画素である場合には、セレクタ１６０はコントーン出力信号contone[ch]を注目画素Ｃの画素値とした出力画像データOut[ch]を出力する。一方、注目画素Ｃが細線化処理を行う対象となる画素でない場合には、セレクタ１６０はスクリーン出力信号screen[ch] を注目画素Ｃの画素値とした出力画像データOut[ch]を出力する。
【００８７】
ここで、前述のように、細線化実施フラグTotalSTがＯＮであるということは、注目画素Ｃは輪郭を構成する画素であるということを示す。つまり、セレクタ１６０は、細線化実施フラグTotalSTに基づく判定により、画像の各画素に対して、輪郭画素である画素には細線化処理部１３０の処理結果であるコントーン出力信号contone[ch]を適用し、輪郭画素でない画素にはスクリーン処理部１５９の処理結果であるスクリーン出力信号screen[ch]を適用する処理選択手段として機能する。
【００８８】
次に、画像処理部１００の各部の処理内容を図１６及至図２４のフローチャートを用いて説明する。
図１６に、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]の生成処理の流れの一例をフローチャートで示す。
まず、エッジ抽出部１２０は、エッジ強度En[ch]を算出する（ステップＳ１）。
次に、エッジ抽出部１２０は、注目画素Ｃの上下左右のエッジ強度（エッジ強度E08、E12、E14、E18）のうち最大値を正エッジ情報PEDGE[ch]とする（ステップＳ２）。そして、エッジ抽出部１２０は、正エッジ情報PEDGE[ch]が第一の閾値EDGETH未満であるか否かを判定する（ステップＳ３）。正エッジ情報PEDGE[ch]が第一の閾値EDGETH未満である場合（ステップＳ３：ＹＥＳ）、エッジ抽出部１２０は、正エッジ情報PEDGE[ch]を0とする（ステップＳ４）。
また、エッジ抽出部１２０は、注目画素Ｃの上下左右のエッジ強度（エッジ強度E08、E12、E14、E18）のうち最小値を負エッジ情報REDGE[ch]とする（ステップＳ５）。そして、エッジ抽出部１２０は、負エッジ情報REDGE[ch]が第一の閾値EDGETH未満であるか否かを判定する（ステップＳ６）。負エッジ情報REDGE[ch]が第一の閾値EDGETH未満である場合（ステップＳ６：ＹＥＳ）、エッジ抽出部１２０は、負エッジ情報REDGE[ch]を0とする（ステップＳ７）。
正エッジ情報PEDGE[ch]の生成と負エッジ情報REDGE[ch]の生成順序は順不同である。
【００８９】
図１７に、輪郭情報E_EDGEの生成処理の流れをフローチャートで示す。
輪郭情報E_EDGEの生成処理に先立ち、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]の生成処理が行われている。
エッジ抽出部１２０は、中間データTOTALPEDGE、TOTALREDGEを求める（ステップＳ１１）。次に、エッジ抽出部１２０は、TOTALPEDGEがTOTALREDGEより大きいか否かを判定する（ステップＳ１２）。TOTALPEDGEがTOTALREDGEより大きい場合（ステップＳ１２：ＹＥＳ）、エッジ抽出部１２０は、輪郭情報E_EDGEをＯＮとする（ステップＳ１３）。一方、TOTALPEDGEがTOTALREDGE以下の場合（ステップＳ１２：ＮＯ）、エッジ抽出部１２０は、輪郭情報E_EDGEをＯＦＦとする（ステップＳ１４）。
【００９０】
図１８に、前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]の生成処理の流れをフローチャートで示す。
前景情報FOREGROUND[ch]及び背景情報BACKGROUND[ch]の生成処理に先立ち、正エッジ情報PEDGE[ch]及び負エッジ情報REDGE[ch]の生成処理が行われている。
エッジ抽出部１２０は、正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]より大きいか否かを判定する（ステップＳ２１）。正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]より大きい場合（ステップＳ２１：ＹＥＳ）、エッジ抽出部１２０は、前景情報FOREGROUND[ch]をＯＮとし、背景情報BACKGROUND[ch]をＯＦＦとして（ステップＳ２２）、処理を終了する。正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]以下の場合（ステップＳ２１：ＮＯ）、エッジ抽出部１２０は、正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]より小さいか否かを判定する（ステップＳ２３）。正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]より小さい場合（ステップＳ２３：ＹＥＳ）、エッジ抽出部１２０は、前景情報FOREGROUND[ch]をＯＦＦとし、背景情報BACKGROUND[ch]をＯＮとして（ステップＳ２４）、処理を終了する。ステップＳ２３において、正エッジ情報PEDGE[ch]が負エッジ情報REDGE[ch]より小さくない場合（ステップＳ２３：ＮＯ）、エッジ抽出部１２０は、前景情報FOREGROUND[ch]、背景情報BACKGROUND[ch]を共にＯＦＦとして（ステップＳ２５）、処理を終了する。
【００９１】
図１９、図２０に、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の生成処理の流れをフローチャートで示す。
図１９は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の生成処理のうち、ステップＳ３１〜Ｓ４４を示す。
図２０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の生成処理のうち、ステップＳ４５〜Ｓ５４を示す。
まず、細線化処理部１３０は、２値化エッジ値en [ch]及び非エッジ値fn[ch]を算出する（ステップＳ３１）。また、細線化処理部１３０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]を共に初期値0で設定する（ステップＳ３２）。
【００９２】
次に、細線化処理部１３０は、細線構造信号ThinLine[ch]の値が0であるか否か判定する（ステップＳ３３）。細線構造信号ThinLine[ch]の値が0である場合（ステップＳ３３：ＹＥＳ）、細線化処理部１３０は、第一のパターンマッチング処理を行い（ステップＳ３４）、マッチした場合（ステップＳ３５：ＹＥＳ）、細線構造信号ThinLine[ch]を1とする（ステップＳ３６）。
ステップＳ３５においてマッチしなかった場合（ステップＳ３５：ＮＯ）、細線化処理部１３０は、細線構造信号ThinLine[ch]の値が0であるか否か判定する（ステップＳ３７）。細線構造信号ThinLine[ch]の値が0である場合（ステップＳ３７：ＹＥＳ）、細線化処理部１３０は、第二のパターンマッチング処理を行い（ステップＳ３８）、マッチした場合（ステップＳ３９：ＹＥＳ）、細線構造信号ThinLine[ch]を2とする（ステップＳ４０）。
ステップＳ３９においてマッチしなかった場合（ステップＳ３９：ＮＯ）、細線化処理部１３０は、細線構造信号ThinLine[ch]の値が0であるか否か判定する（ステップＳ４１）。細線構造信号ThinLine[ch]の値が0である場合（ステップＳ４１：ＹＥＳ）、細線化処理部１３０は、第三のパターンマッチング処理を行い（ステップＳ４２）、マッチした場合（ステップＳ４３：ＹＥＳ）、細線構造信号ThinLine[ch]を3とする（ステップＳ４４）。
ステップＳ４３においてマッチしなかった場合（ステップＳ４３：ＮＯ）、細線化処理部１３０は、細線構造信号ThinLine[ch]の値が0であるか否か判定する（ステップＳ４５）。細線構造信号ThinLine[ch]の値が0である場合（ステップＳ４５：ＹＥＳ）、細線化処理部１３０は、第三のパターンマッチング処理を行い（ステップＳ４６）、マッチした場合（ステップＳ４７：ＹＥＳ）、細線構造信号ThinLine[ch]を4とする（ステップＳ４８）。
【００９３】
ステップＳ３６、Ｓ４０、Ｓ４４又はＳ４８の処理後、ステップＳ４７においてマッチしなかった場合（ステップＳ４７：ＮＯ）あるいはステップＳ３３、Ｓ３７、Ｓ４１、Ｓ４５において細線構造信号ThinLine[ch]の値が0でなかった場合、細線化処理部１３０は、第五のパターンマッチング処理を行い（ステップＳ４９）、マッチした場合（ステップＳ５０：ＹＥＳ）、白抜き文字情報WThinLine[ch]を1とする（ステップＳ５１）。
ステップＳ５０においてマッチしなかった場合（ステップＳ５０：ＮＯ）、細線化処理部１３０は、第六のパターンマッチング処理を行い（ステップＳ５２）、マッチした場合（ステップＳ５３：ＹＥＳ）、白抜き文字情報WThinLine[ch]を2とする（ステップＳ５４）。
ステップＳ５１又はＳ５４の処理後あるいはステップＳ５３においてマッチしなかった場合（ステップＳ５３：ＮＯ）、細線化処理部１３０は処理を終了する。
【００９４】
ステップＳ３１の処理のうち、非エッジ値fn[ch]の算出はステップＳ４９の処理前に行われていればよく、必ずしも２値化エッジ値en [ch]と同時に算出する必要はない。同様に、ステップＳ３２の処理のうち、白抜き文字情報WThinLine[ch]を初期値0で設定する処理についても、非エッジ値fn[ch]の算出はステップＳ４９の処理前に行われていればよく、必ずしも細線構造信号ThinLine[ch]と同時に設定する必要はない。
また、細線構造信号ThinLine[ch]の値を決定する処理と、白抜き文字情報WThinLine[ch]の値を決定する処理の順序は順不同である。
また、ステップＳ３３、Ｓ３７、Ｓ４１、Ｓ４５の処理は省略することができる。
【００９５】
図２１に、ベタ判定フラグONSOLID、RVSOLIDの生成処理の流れをフローチャートで示す。
細線化処理部１３０は、各色（例えばＣＭＹＫ）の正エッジ情報PEDGE[ch]のいずれか一つ以上について、第三の閾値ＳＯＢより大きいか否かを判定する。（ステップＳ６１）各色の正エッジ情報PEDGE[ch]のいずれか一つ以上が第三の閾値ＳＯＢより大きい場合（ステップＳ６１：ＹＥＳ）、細線化処理部１３０はベタ判定フラグONSOLIDをＯＮとする（ステップＳ６２）。各色の正エッジ情報PEDGE[ch]のいずれも第三の閾値ＳＯＢ以下である場合（ステップＳ６１：ＮＯ）、細線化処理部１３０はベタ判定フラグONSOLIDをＯＦＦとする（ステップＳ６３）。
また、細線化処理部１３０は、各色（例えばＣＭＹＫ）の負エッジ情報REDGE[ch]のいずれか一つ以上について、第三の閾値ＳＯＢより大きいか否かを判定する。（ステップＳ６４）各色の負エッジ情報REDGE[ch]のいずれか一つ以上が第三の閾値ＳＯＢより大きい場合（ステップＳ６４：ＹＥＳ）、細線化処理部１３０はベタ判定フラグRVSOLIDをＯＮとする（ステップＳ６５）。各色の負エッジ情報REDGE[ch]のいずれも第三の閾値ＳＯＢ以下である場合（ステップＳ６４：ＮＯ）、細線化処理部１３０はベタ判定フラグRVSOLIDをＯＦＦとする（ステップＳ６６）。
【００９６】
ベタ判定フラグONSOLIDの生成処理とベタ判定フラグRVSOLIDの生成処理の順序は順不同である。
【００９７】
図２２に、拡張タグ（ETAG）の設定処理の流れをフローチャートで示す。
細線化処理部１３０は。注目画素Ｃ及び注目画素Ｃに対して上下左右又は斜めのいずれかで隣接する８画素、計９画素の属性データＴＡＧが全てＩＭＡＧＥを示す値であるか否か判定する（ステップＳ７１）。当該９画素の属性データＴＡＧが全てＩＭＡＧＥを示す値である場合（ステップＳ７１：ＹＥＳ）、細線化処理部１３０は、ETAGの値をＩＭＡＧＥとする（ステップＳ７２）。一方、当該９画素の属性データＴＡＧのいずれか１画素以上がＩＭＡＧＥを示す値でない場合（ステップＳ７１：ＮＯ）、細線化処理部１３０は、ETAGの値をＴＥＸＴ／ＧＲＡＰＨＩＣＳとする（ステップＳ７３）。
【００９８】
図２３に、補正値dST[ch]及び細線化フラグFlagST[ch]の生成処理の流れをフローチャートで示す。
まず、細線化処理部１３０は、前景強度dST_power_FG[ch]、背景強度dST_power_BG[ch]を算出する（ステップＳ８１）。
次に、細線化処理部１３０は、注目画素Ｃについて、輪郭情報E_EDGEがＯＮであり、ETAGの値がＩＭＡＧＥでなく、かつ、ベタ判定フラグONSOLIDがＯＮであるか否かを判定する（ステップＳ８２）。注目画素Ｃについて、輪郭情報E_EDGEがＯＮであり、ETAGの値がＩＭＡＧＥでなく、かつ、ベタ判定フラグONSOLIDがＯＮである場合（ステップＳ８２：ＹＥＳ）、細線化処理部１３０は、背景情報BACKGROUND[ch]がＯＮであるか否かを判定する（ステップＳ８３）。背景情報BACKGROUND[ch]がＯＮである場合（ステップＳ８３：ＹＥＳ）、細線化処理部１３０は、背景強度dST_power_BG[ch]の値を補正値dST[ch]の値とし、細線化フラグFlagST[ch]をＯＮとする（ステップＳ８４）。背景情報BACKGROUND[ch]がＯＦＦである場合（ステップＳ８３：ＮＯ）、細線化処理部１３０は、前景強度dST_power_FG[ch]の値を補正値dST[ch]の値とし、細線化フラグFlagST[ch]をＯＮとする（ステップＳ８５）。ステップＳ８２において、注目画素Ｃについて、輪郭情報E_EDGEがＯＦＦであるか、ETAGの値がＩＭＡＧＥであるか、又は、ベタ判定フラグONSOLIDがＯＦＦである場合（ステップＳ８２：ＮＯ）、細線化処理部１３０は、補正値dST[ch]の値を0とし、細線化フラグFlagST[ch]をＯＦＦとする（ステップＳ８６）。
【００９９】
図２４に、出力画像データOut[ch]の生成処理の流れをフローチャートで示す。
セレクタ１６０は、細線化実施フラグTotalSTがＯＮであるか否かを判定する（ステップＳ９１）。細線化実施フラグTotalSTがＯＮである場合（ステップＳ９１：ＹＥＳ）、セレクタ１６０は、コントーン出力信号contone[ch]を出力画像データOut[ch]として出力する（ステップＳ９２）。細線化実施フラグTotalSTがＯＦＦである場合（ステップＳ９１：ＹＥＳ）、セレクタ１６０は、スクリーン出力信号screen[ch]を出力画像データOut[ch]として出力する（ステップＳ９３）。
【０１００】
画像形成部１０は、画像処理部１００からの出力画像データOut[ch]に基づいて画像を形成する。
図２５に、画像形成部１０の主要構成を示す。
画像形成部１０は、用紙Ａを備蓄可能な給紙トレイ１１、１２と、給紙トレイ１１、１２から一枚ずつ用紙Ａを引き出す給紙部１５、１５と、用紙Ａを後述する転写部３０へ搬送する搬送部２０と、用紙Ａに画像を転写する転写部３０と、用紙Ａに転写された画像を定着させる定着部４５と、用紙Ａを排紙受け部８０の上方へ排出する排紙部５０と、手差しで給紙を行うための手差し給紙部７０と、を有する。
【０１０１】
給紙トレイ１１は、画像形成部１０の側方から引出し可能に設けられる。給紙トレイ１１を引き出した状態で、その上方から用紙Ａを載置して給紙トレイ１１を画像形成部１０にセットすることで給紙部１５による用紙Ａの給紙動作が可能となる。給紙トレイ１１は、用紙Ａを載置する底面に上げ底部（図示略）を有し、給紙トレイ１１のセット時には用紙Ａが載置された上げ底部が上昇動作する。これによって、給紙トレイ１１内に備蓄された複数の用紙Ａのうち、最も上に位置する用紙Ａの上面が給紙部１５の可動ローラ１６に当接する。給紙トレイ１２についても給紙トレイ１１と同様である。
本実施形態の給紙トレイ１１、１２は、Ａ４サイズの普通紙を備蓄する。
【０１０２】
給紙部１５は、その回転軸が上下動可能に設けられた可動ローラ１６と、回転軸が固定された固定ローラ１７とを有する。可動ローラ１６、固定ローラ１７はそれぞれモータ等の駆動部（図示略）によって回転駆動する。
可動ローラ１６は、前述のように給紙トレイ１１、１２内に備蓄された複数の用紙Ａのうち、最も上に位置する用紙Ａの上面と当接する。用紙Ａと当接した状態の可動ローラ１６が回転駆動されることで、用紙Ａは１枚ずつ固定ローラ１７側へと引き出される。固定ローラ１７は、可動ローラ１６によって引き出された用紙Ａを挟んで対向する位置に設けられたローラ１８と協働して用紙Ａを挟みこみ、回転駆動されることで用紙Ａを搬送する。
【０１０３】
給紙部１５によって引き出されて搬送された用紙Ａは、搬送部２０の搬送ローラ２１，２１によって転写部３０へと搬送される。搬送ローラ２１，２１は、用紙Ａの搬送経路を挟んで対向する位置に設けられた一対のローラであり、モータ等の駆動部（図示略）によって回転駆動されることで用紙Ａを搬送する。
【０１０４】
転写部３０は、中間転写体としての中間転写ベルト３１と、テンションローラ３３と協働で中間転写ベルト３１を張架すると共に中間転写ベルト３１を駆動する２次転写駆動ローラ３２と、各色（シアン、マゼンダ、イエロー、ブラック）のトナーを担持する感光ドラム３４Ｃ，３４Ｍ，３４Ｙ，３４Ｋと、中間転写ベルト３１を挟んで各感光ドラムと対向する位置にそれぞれ設けられて各感光ドラムのトナーを中間転写ベルト３１に転写するプラテンローラ３５と、用紙Ａにトナーを転写する転写ローラ３６と、中間転写ベルト３１をクリーニングするクリーニング部４１を有する。
【０１０５】
感光ドラム３４Ｃ，３４Ｍ，３４Ｙ，３４Ｋの近傍にはそれぞれ各感光ドラムに帯電処理を施す帯電部３７Ｃ，３７Ｍ，３７Ｙ，３７Ｋ、各感光ドラムに露光処理を施す露光部３８Ｃ，３８Ｍ，３８Ｙ，３８Ｋ、各色のトナーカートリッジ３９Ｃ，３９Ｍ，３９Ｙ，３９Ｋ及び各感光ドラムをクリーニングするクリーニング部４０、４０、４０、４０が設けられている。２次転写駆動ローラ３２及び各感光ドラムはそれぞれモータ等の駆動部（図示略）によって回転駆動される。
【０１０６】
以下、転写部３０による用紙Ａへのトナー画像の転写について、感光ドラム３４Ｋを例に説明する。まず、感光ドラム３４Ｋの近傍の帯電部３７Ｋによって感光ドラム３４Ｋが帯電され、露光部３８Ｋによる感光ドラムの露光により感光ドラム３４Ｋの被露光部分が除電される処理、所謂現像処理が行われる。当該現像処理によってトナーカートリッジ３９Ｋのトナーが感光ドラム３４Ｋに担持される。当該現像処理は、形成する画像に基づいて行われる。他の感光ドラム３４Ｃ，３４Ｍ，３４Ｙについても同様に現像処理が行われる。
【０１０７】
中間転写ベルト３１は２次転写駆動ローラ３２の駆動によって稼動し、各感光ドラムに担持されたトナーはそれぞれのプラテンローラ３５により中間転写ベルト３１に転写される（一次転写）。一次転写により、中間転写ベルト３１はトナーを担持する。このとき、各色のトナーが重なるように転写され、ひとつの画像を形成する。中間転写ベルト３１に担持されたトナーは、中間転写ベルト３１と転写ローラ３６とによって用紙Ａが挟まれる位置で用紙Ａに転写される（２次転写）。かようにして用紙Ａへのトナー画像の転写が行われる。用紙Ａへのトナー画像の転写と共に、中間転写ベルト３１の稼動と転写ローラ３６の協働により用紙Ａは定着部４５へと搬送される。一次転写後の各感光ドラムは各感光ドラム近傍のクリーニング部４０に、２次転写後の中間転写ベルト３１はクリーニング部４１によって転写されなかった残存トナーをクリーニングされる。
【０１０８】
定着部４５は、用紙Ａを加熱して用紙Ａに転写されたトナーを定着させる定着ローラ４６と、用紙Ａの搬送経路を挟んで定着ローラ４６と対向する位置に設けられて用紙Ａを定着ローラ４６に圧接させる圧接ローラ４７と、を有する。
転写部３０によってトナーを転写された用紙Ａは定着部４５へと搬送され、定着ローラ４６と圧接ローラ４７との間へ導かれる。定着ローラ４６はその内部に熱源（例えばコイルやハロゲンランプ等）を有しており、当該熱源により用紙Ａを加熱して定着処理を行う。このとき、圧接ローラ４７が用紙Ａを定着ローラ４６に圧接する。定着ローラ４６、圧接ローラ４７は用紙Ａに対する定着処理と共にその回転運動により用紙Ａを上方へと搬送する。
【０１０９】
排紙部５０は、モータ等の駆動部（図示略）により回転駆動される排紙ローラ５１と、ローラ５２とを有する。排紙ローラ５１は回転駆動されることにより、画像形成の終了した用紙Ａを排紙受け部８０の上方に排出する。
【０１１０】
手差し給紙部７０は、用紙Ａを載置する外部給紙トレイ７１と、外部給紙トレイ７１に載置された用紙Ａを搬送する給紙ローラ７２と、を有する。用紙Ａは、外部給紙トレイ７１上に載置され、モータ等の駆動部（図示略）によって駆動される給紙ローラ７２により引き込まれ、搬送部２０へと搬送される。
【０１１１】
以上、本実施形態によれば、エッジ抽出部１２０によって輪郭画素の検出が行われる。そして、細線化処理部１３０によって検出された輪郭画素を含む線画の線幅と、輪郭画素を含む線画の線幅に応じて設定された細線化強度係数FTVL、BTVLとに基づいて細線化処理が行われる。これによって、線画の線幅に応じた強度の細線化処理を行うことができる。このため、太い線幅を有する線画に対しては強い細線化処理を施し、細い線幅を有する線画に対しては弱い細線化処理を施すことができる。よって、本実施形態の画像処理部１００は、細線化処理によって画像データに含まれる線画の見た目の太さを均一化させてしまうことなく、線幅の見た目の太さの差異を保持した細線化処理を行うことができる。また、細い線幅を有する線画に対しては弱い細線化処理を施すことができるので、細線化処理によって線が細くなりすぎてかすれや消失を生じることがあった従来の細線化処理の問題点も解消することができる。つまり、画質を損なうことのない良好な細線化処理を施すことができる。
【０１１２】
さらに、細線構造信号ThinLine[ch]は、注目画素Ｃを含む線画の幅方向の画素数に応じて個別に値を設定することができるので、細線構造信号ThinLine[ch]の値によって線画の幅方向の画素数を分類することができる。これによって、線画の幅方向の画素数に応じて細線化処理の強度を個別に設定することができ、より柔軟できめ細かな細線化処理を行うことができる。
【０１１３】
さらに、細線構造信号ThinLine[ch]は、注目画素Ｃを含む線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っているか否かに応じて設定することができる。
線画の線幅は、線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っている場合、線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っていない場合（例えば斜め方向の場合等）に比して線幅が細くなる。例えば、正方形の画素の場合、斜め方向である対角線の幅は、縦横の辺の幅に対して約1.41倍（√２倍）となる。このように、線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っているか否かによって線画の線幅が変わる。本実施形態では、細線構造信号ThinLine[ch]の値によって線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っているか否かを分類することができるので、線画の幅方向が画像データにおける画素の並びの縦横のいずれか一方に沿っているか否かによって変ずる線画の線幅に応じて細線化処理の強度を個別に設定することができる。つまり、本実施形態の画像処理部１００は、いっそう柔軟できめ細かな細線化処理を行うことができる。
【０１１４】
さらに、対応付け情報は、細線構造信号ThinLine[ch]が示す線画の幅方向の画素数が多いほど輪郭画素の画素値の変更の度合いを大きくするよう設定される。このため、細線化処理部１３０は、太い線幅を有する線画に対しては強い細線化処理を施し、細い線幅を有する線画に対しては弱い細線化処理を施す。これによって、細線化処理によって画像データに含まれる線画の見た目の太さを均一化させてしまうことなく、線幅の見た目の太さの差異を保持した細線化処理を行うことができる。また、細い線幅を有する線画に対しては弱い細線化処理を施すことができるので、細線化処理によって線が細くなりすぎてかすれや消失を生じることがあった従来の細線化処理の問題点も解消することができる。つまり、画質を損なうことのない良好な細線化処理を施すことができる。
【０１１５】
さらに、セレクタ１６０は、輪郭画素である注目画素Ｃの画素値としてコントーン出力信号contone[ch]を適用し、輪郭画素でない注目画素Ｃの画素値としてスクリーン出力信号screen[ch]を適用する。これによって、輪郭画素に細線化処理を施し、輪郭画素ではない画素に細線化処理を施さないことができる。つまり、細線化処理を施す対象を好適に選定することができ、不要な細線化処理による画質劣化を生じさせずに良好な細線化処理を施すことができる。
【０１１６】
さらに、本実施形態の細線化処理部１３０は、各画素が白抜き文字の輪郭を構成するか否かについて判定する。そして、細線化処理部１３０は、白抜き文字を構成するか否かの情報を白抜き文字情報WThinLine[ch]の値によって各画素に対して設定する。さらに、細線化処理部１３０は、細線構造信号ThinLine[ch]及び白抜き文字情報WThinLine[ch]の値と細線化処理の強度を示す各設定値とを対応付ける対応付け情報を保持する。そして、細線化処理の強度は、当該対応付け情報によって決定される。つまり、線画の線幅に加えて、白抜き文字を構成するか否かに基づいて細線化処理の強度が決定される。これによって、白抜き文字をつぶさない良好な細線化処理を施すことができる。
【０１１７】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１１８】
例えば、前述の実施形態では、画像形成装置に設けられた画像処理部１００について記載されているが、他の形態をとってもよい。例えば、本発明の画像処理装置をコントローラに設けてもよいし、独立した装置として設けてもよい。
【０１１９】
また、前述の実施形態では、画像処理装置の各部の機能をハードウェア処理によって実現しているが、ソフトウェア処理によって同様の処理を行ってもよい。
【０１２０】
また、画像形成装置が用いる色の種類及び色数（ＣＭＹＫ）は一例であり、他の色、色数を用いてもよい。例えば、ＣＭＹ、ＲＧＢ、その他の画像形成装置で用いることのできる色が挙げられる。
【０１２１】
その他、前述の実施形態で画像処理部１００が生成、設定する各種のパラメータ、予め設定された閾値やパターンマッチングのパターン、対応付け情報等の開示例はあくまで一例であり、本発明の特徴を逸脱しない範囲内で適宜設定することができる。
【符号の説明】
【０１２２】
１１０ ラインバッファ
１２０ エッジ抽出部
１３０ 細線化処理部
１４０ コントーン処理部
１５０ スクリーン処理部
１５９ スクリーン処理部
１６０ セレクタ
【図１】
0005593769.tif 000002
【図２】
0005593769.tif 000003
【図３】
0005593769.tif 000004
【図４】
0005593769.tif 000005
【図５】
0005593769.tif 000006
【図６】
0005593769.tif 000007
【図７】
0005593769.tif 000008
【図８】
0005593769.tif 000009
【図９】
0005593769.tif 000010
【図１０】
0005593769.tif 000011
【図１１】
0005593769.tif 000012
【図１２】
0005593769.tif 000013
【図１３】
0005593769.tif 000014
【図１４】
0005593769.tif 000015
【図１５】
0005593769.tif 000016
【図１６】
0005593769.tif 000017
【図１７】
0005593769.tif 000018
【図１８】
0005593769.tif 000019
【図１９】
0005593769.tif 000020
【図２０】
0005593769.tif 000021
【図２１】
0005593769.tif 000022
【図２２】
0005593769.tif 000023
【図２３】
0005593769.tif 000024
【図２４】
0005593769.tif 000025
【図２５】
0005593769.tif 000026
【図２６】
0005593769.tif 000027