(57)【特許請求の範囲】
【請求項１】
注目画素が輪郭であるかを予め記憶された輪郭パターンを用いて判定する輪郭画素抽出部と、
前記輪郭画素抽出部が、前記注目画素が輪郭であると判定した場合に前記注目画素に施す画素削減量である細線化の量を設定する複数のフィルタ係数を前記輪郭のパターンに応じて生成する細線化量計算部と、
前記注目画素を含む画素領域が所定の画素パターンであるかを判定する矩形領域連結性判定部と、
前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定しない場合に前記複数のフィルタ係数の選択された一つの細線化の量で前記注目画素の画素を削減する細線化を施し、前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定する場合に前記選択されたフィルタ係数の細線化の量とは異なる代替の細線化の量で前記注目画素に細線化を施す選択的補正出力部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記行単位連結性カウント及び列単位連結性カウントからの入力に基づいて、前記所定領域に特異な細線化が必要な図形パターンである特異点が存在するかを判定し、特異点に応じた信号を出力する特異点検出部と、
前記特異点検出部から入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記特異点検出部が、あらかじめ格納されている特異点の特徴を順次読みだし、この読み出した特異点の特徴と前記行単位連結性カウント及び前記列単位連結性カウントからの入力とをパターンマッチングすることによって特異点を検出する、
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力に基づいて前記所定領域の線幅を判定し、この線幅に応じた信号を出力するライン調整処理選択テーブルと、
前記ライン調整処理選択テーブルから入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記ライン調整処理選択テーブルが、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力と出力値の対応テーブルに従って信号を出力する、
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記行単位連結性カウント及び列単位連結性カウントからの入力に基づいて、前記所定領域に特異な細線化が必要な図形パターンである特異点が存在するかを判定し、特異点に応じた信号を出力する特異点検出部と、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力に基づいて前記所定領域の線幅を判定し、この線幅に応じた信号を出力するライン調整処理選択テーブルと、
前記ライン調整処理選択テーブルから入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換え、前記特異点検出部から入力した信号に前記ライン調整処理選択テーブルから入力した信号並びに前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記特異点検出部が、あらかじめ格納されている特異点の特徴を順次読みだし、この読み出した特異点の特徴と前記行単位連結性カウント及び前記列単位連結性カウントからの入力とをパターンマッチングすることによって特異点を検出し、
前記ライン調整処理選択テーブルが、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力と出力値の対応テーブルに従って信号を出力する、
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記矩形領域連結性判定部を複数有することを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記細線化量計算部を複数有することを特徴とする請求項１記載の画像処理装置。
【請求項１０】
注目画素が輪郭であるかを予め記憶された輪郭パターンを用いて判定する輪郭画素抽出部と、
前記輪郭画素抽出部が、前記注目画素が輪郭であると判定した場合に前記注目画素に施す画素削減量である細線化の量を設定する複数のフィルタ係数を前記輪郭のパターンに応じて生成する細線化量計算部と、
前記注目画素を含む画素領域が所定の画素パターンであるかを判定する矩形領域連結性判定部と、
前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定しない場合に前記複数のフィルタ係数の選択された一つの細線化の量で前記注目画素の画素を削減する細線化を施し、前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定する場合に前記選択されたフィルタ係数の細線化の量とは異なる代替の細線化の量で前記注目画素に細線化を施す選択的補正出力部と、
を備えることを特徴とする画像処理装置
を備える画像形成装置。
【請求項１１】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記行単位連結性カウント及び列単位連結性カウントからの入力に基づいて、前記所定領域に特異な細線化が必要な図形パターンである特異点が存在するかを判定し、特異点に応じた信号を出力する特異点検出部と、
前記特異点検出部から入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１０記載の画像形成装置。
【請求項１２】
前記特異点検出部が、あらかじめ格納されている特異点の特徴を順次読みだし、この読み出した特異点の特徴と前記行単位連結性カウント及び前記列単位連結性カウントからの入力とをパターンマッチングすることによって特異点を検出する、
ことを特徴とする請求項１１記載の画像形成装置。
【請求項１３】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力に基づいて前記所定領域の線幅を判定し、この線幅に応じた信号を出力するライン調整処理選択テーブルと、
前記ライン調整処理選択テーブルから入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１０記載の画像形成装置。
【請求項１４】
前記ライン調整処理選択テーブルが、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力と出力値の対応テーブルに従って信号を出力する、
ことを特徴とする請求項１３記載の画像形成装置。
【請求項１５】
前記矩形領域連結性判定部が、
所定の領域における行単位の画素の連続の程度を判定する行単位連結性カウントと、
所定の領域における列単位の画素の連続の程度を判定する列単位連結性カウントと、
所定の領域における上辺から下辺に向けての画素の連結性を判定する上辺連結性判定部と、
所定の領域における下辺から上辺に向けての画素の連結性を判定する下辺連結性判定部と、
所定の領域における左辺から右辺に向けての画素の連結性を判定する左辺連結性判定部と、
所定の領域における右辺から左辺に向けての画素の連結性を判定する右辺連結性判定部と、
前記行単位連結性カウント及び列単位連結性カウントからの入力に基づいて、前記所定領域に特異な細線化が必要な図形パターンである特異点が存在するかを判定し、特異点に応じた信号を出力する特異点検出部と、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力に基づいて前記所定領域の線幅を判定し、この線幅に応じた信号を出力するライン調整処理選択テーブルと、
前記ライン調整処理選択テーブルから入力した信号に前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換え、前記特異点検出部から入力した信号に前記ライン調整処理選択テーブルから入力した信号並びに前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの出力を置き換えるライン調整決定部と、
を備えることを特徴とする請求項１０記載の画像形成装置。
【請求項１６】
前記特異点検出部が、あらかじめ格納されている特異点の特徴を順次読みだし、この読み出した特異点の特徴と前記行単位連結性カウント及び前記列単位連結性カウントからの入力とをパターンマッチングすることによって特異点を検出し、
前記ライン調整処理選択テーブルが、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力と出力値の対応テーブルに従って信号を出力する、
ことを特徴とする請求項１５記載の画像形成装置。
【請求項１７】
前記矩形領域連結性判定部を複数有することを特徴とする請求項１０記載の画像形成装置。
【請求項１８】
前記細線化量計算部を複数有することを特徴とする請求項１０記載の画像形成装置。
【請求項１９】
画像処理装置の細線化方法であって、
輪郭画素抽出部が、注目画素が輪郭であるかを予め記憶された輪郭パターンを用いて判定し、
細線化量計算部が、前記輪郭画素抽出部が前記注目画素が輪郭であると判定した場合に前記注目画素に施す画素削減量である細線化の量を設定する複数のフィルタ係数を前記輪郭のパターンに応じて生成し、
矩形領域連結性判定部が前記注目画素を含む画素領域が所定の画素パターンであるかを判定し、
選択的補正出力部が、前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定しない場合に前記複数のフィルタ係数の選択された一つの細線化の量で前記注目画素の画素を削減する細線化を施し、前記矩形領域連結性判定部が前記注目画素を含む画素領域を前記所定の画素パターンであると判定する場合に前記選択されたフィルタ係数の細線化の量とは異なる代替の細線化の量で前記注目画素に細線化を施す、
ことを特徴とする画像処理装置の細線化方法。
【請求項２０】
前記輪郭画素抽出部の特異点検出部が、あらかじめ格納されている特異点の特徴を順次読みだし、この読み出した特異点の特徴と行単位連結性カウント及び列単位連結性カウントからの入力とをパターンマッチングすることによって特異点を検出し、この特異点に応じた信号を出力し
前記輪郭画素抽出部のライン調整処理選択テーブルが、
前記上辺連結性判定部及び前記下辺連結性判定部及び前記左辺連結性判定部及び前記右辺連結性判定部からの入力と出力値の対応テーブルに従って信号を出力する、
ことを特徴とする請求項１９記載の画像処理装置の細線化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、多機能画像形成装置（以下、ＭＦＰと呼ぶ。）などの画像形成装置に用いられる画像処理装置及び画像形成処理方法並びにこれらを用いたプリンタ、ＭＦＰに関する。
【背景技術】
【０００２】
従来の画像処理装置は、形成する画像の輪郭部を整形し、印刷領域を小さくする細線化を行う。細線化を行うと、トナーなどの現像剤の消費量を削減することができるという効果がある。この点に関し、細線化の方法が開発されてきた。
【０００３】
例えば、細線化前の状態と細線化後の状態の画素のパターンを記憶しておき、パターンマッチングによって細線化前の状態に対応する細線化後の状態に画素パターンを変換することにより細線化を行う技術が提案されている（例えば、特許文献１）。
【０００４】
この技術によっては、比較的単純な直線や斜線は再現性がよいが、形状が複雑になると再現性が悪くなるという問題点があった。
【０００５】
この点に関し、輪郭と黒画素の連結性を判定し、この判定結果に応じて細線化の度合いを切り替える技術が提案されている（例えば、特許文献２）。
【特許文献１】特開２００８−１５３７４２号公報
【特許文献２】米国特許出願公開第２００５／００７３７２３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この技術は、主として６００ｄｐｉ程度の解像度において、印刷品質の劣化を低減させるのに効果的な方法であった。
【０００７】
しかし、近時において画像形成装置の高解像度化が進んできている。このような高解像度の画像形成装置に従来の方法を単純に適用すると、様々な不具合が生じる。
【０００８】
図１６Ａは６００ｄｐｉの細線化前の画像の例を示す図である。この線を左右１画素分削除する細線化を行うと図１６Ｂのようになる。ここで、斜線部分は削除した部分を表す。
【０００９】
図１６Ｃは１２００ｄｐｉの細線化前の画像の例を示す図である。これに６００ｄｐｉに適用した細線化を施すと、図１６Ｄのようになる。このように、単純に従来の細線化方法を適用した場合、細線化量が半減するため細線化の効果が十分に得られない。
【００１０】
そこで、削除する画素数を２倍にすると、図１６Ｅのようになる。図１６Ｅのように、ある程度の幅を持った線を細線化する場合には、問題はない。しかし、例えば５画素の線から４画素分削除すると細線化後の線は１画素の線となり、細くなりすぎてしまう。
【００１１】
そこで、細線化を開始するための画素数の閾値を設けることが考えられる。すなわち、６画素以上の線に対して細線化を施すという制御を行う。この場合、６画素の線から４画素分削除すると２画素となり、細線化を施さない５画素の線より細くなるという問題点が起きる。
【００１２】
従って、このような問題が起きないように、例えば図１６Ｆのように細線化量をより細かく制御する必要がある。
【００１３】
本発明は上記のような問題点に鑑みてなされたものであり、高解像度においても再現性の良い細線化が可能な画像処理装置及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
この目的を達成するために本発明は、注目画素が輪郭であるかを予め記憶された輪郭パターンを用いて判定する輪郭画素抽出部と、輪郭画素抽出部が、注目画素が輪郭であると判定した場合に注目画素に施す画素削減量である細線化の量を設定する複数のフィルタ係数を輪郭のパターンに応じて生成する細線化量計算部と、注目画素を含む画素領域が所定の画素パターンであるかを判定する矩形領域連結性判定部と、矩形領域連結性判定部が注目画素を含む画素領域を前記所定の画素パターンであると判定しない場合に複数のフィルタ係数の選択された一つの細線化の量で注目画素の画素を削減する細線化を施し、矩形領域連結性判定部が注目画素を含む画素領域を所定の画素パターンであると判定する場合に選択されたフィルタ係数の細線化の量とは異なる代替の細線化の量で注目画素に細線化を施す選択的補正出力部と、を備えることを特徴とする画像処理装置を提供する。
【発明の効果】
【００１５】
本発明によれば、細線化後に変形しやすい形状である特異点を有する図形であってもその図形の特徴を維持しながら細線化することが可能となるという効果がある。また、本発明によれば、よりきめ細やかに制御された細線化をすることが可能となり、再現性が向上するという効果がある。
【発明を実施するための最良の形態】
【００１６】
以下、画像処理装置の一実施の形態について、図面を用いて詳細に説明する。
【００１７】
（第１の実施形態）
図１７は、本実施形態の画像処理装置のハードウエア構成を示す図である。図１７に示すように、画像処理装置は、演算装置であるＣＰＵ３１１と、ＣＰＵ３１１に接続するノースブリッジ３１２と、ノースブリッジ３１２に接続するシステムメモリ３１３と、を備える。
【００１８】
ノースブリッジ３１２にはさらに、ネットワークインターフェース３１４、入出力部３１５、ページメモリ３１６、データ記憶部３１７、システムＡＳＩＣ３１８、画像処理を行うＡＳＩＣである画像処理ＡＳＩＣ３１９が接続する。
【００１９】
図１８は、本実施形態の画像処理装置の処理の概要を示すフローチャートである。図１８に示すように、画像処理装置は、ステップ１においてパソコンなどの上位機器から印字するためのデータを受信する。
【００２０】
画像処理装置は、ステップＳ２においてイメージ属性分析を行い、印字するためのデータをＴｅｘｔ，Ｇｒａｐｈｉｃｓ，ｐｈｏｔｏに分類する。画像処理装置は、ステップＳ３においてラスター演算を行い、ステップＳ４においてガンマ変換を行い、ステップＳ５においてハーフトーン処理を行う。
【００２１】
ステップＳ２からステップＳ５までの処理はＣＰＵ３１１がソフトウエアを用いて行う。
【００２２】
画像処理装置は、ステップＳ６においてデータを符号化し、データ記憶部３１７に順次格納する。画像処理装置は、ステップＳ７において格納したデータを順次読みだして復号化する。ステップＳ６からステップＳ７までの処理はシステムＡＳＩＣ３１８が行う。
【００２３】
画像処理装置は、ステップＳ８において細線化を行い、ステップＳ９において細線化後のデータをＰＷＭエンジンに出力する。ステップＳ８の処理は画像処理ＡＳＩＣ３１９が行う。
【００２４】
図１９は、画像処理装置の細線化に係る部分のブロック図である。図１９に示すように、画像処理装置は画像処理窓Ｗａと、輪郭画素抽出部１１と、矩形領域連結性判定部１５と、細線化量計算部１３と、選択的補正出力部１４と、を備える。
【００２５】
画像処理窓Ｗａは信号を輪郭画素抽出部１１と矩形領域連結性判定部１５とに出力する。輪郭画素抽出部１１は信号を細線化量計算部１３に出力する。細線化量計算部１３と矩形領域連結性判定部１５は信号を選択的補正出力部１４に出力する。以下順に説明する。
【００２６】
（画像処理窓）
画像処理窓Ｗａは対象画素を含む２次元の画像信号の記憶領域である。画像処理窓Ｗａには、通常２次元の画像信号が外部から入力する。但し、１次元の信号が入力する場合には、画像の主走査幅以上の記憶容量を持つ複数本のラインメモリがこの１次元信号を一時的に記憶し、この信号を２次元信号として画像処理窓Ｗａが参照する。なお、本実施形態においては、２値画像信号の黒画像を表す信号レベルを“１”、白画像を表す信号レベルを“０”とする。
【００２７】
図２０は画像処理窓Ｗａの概念図である。図２０に示すように、画像処理窓Ｗａは１辺が奇数個の画素の正方形によって表わすことができる。図２０には１辺が１３画素の画像処理窓Ｗａが示されているが、１辺の大きさはこれに限られるものではない。
【００２８】
主走査方向をｊａ、副走査方向をｉａとし、左上をＷａ（０，０）とすると、注目画素３３はＷａ（６，６）となる。
【００２９】
図２１は、印字すべき画像の細線化前の画像の例である原画像４１を示す図である。図２２は、この原画像４１に注目画素３３に合わせて画像処理窓Ｗａを設定した例を示した図である。図２２に示すように、画像処理装置は原画像４１を、画像処理窓Ｗａを用いて順次走査してゆく。
【００３０】
（輪郭画素抽出部）
輪郭画素抽出部１１は注目画素３３が輪郭であるかを判定する。輪郭画素抽出部１１は例えばパターンマッチングによって注目画素３３が輪郭であるかを判定する。
【００３１】
画像処理窓Ｗａは輪郭画素抽出部１１に輪郭画素抽出窓３２を出力する。輪郭画素抽出窓３２は、画像処理窓Ｗａの注目画素３３を中心に含む１辺が奇数個の画素の正方形の領域である。例えば１辺は３画素とすることができる。図２０及び図２２に輪郭画素抽出窓３２の例を示す。この場合、輪郭画素抽出窓３２は画像処理窓ＷａのＷａ（５，５）からＷａ（７，７）となる。
【００３２】
輪郭画素抽出部１１は輪郭パターンを記憶しており、この輪郭パターンと輪郭画素抽出窓３２との論理積をとる。
【００３３】
図２３は、輪郭パターンの例である。図２３に示すように輪郭画素抽出部１１は注目画素３２が輪郭となる場合の例である輪郭パターンを複数記憶している。図２２の例において、輪郭画素抽出窓３２は３３番の輪郭パターンと一致する。このように一致する輪郭パターンが存在する場合、輪郭画素抽出部１１は“１”を出力する。一致する輪郭パターンがない場合には、輪郭画素抽出部１１は“０”を判定結果Ｒｏとして出力する。
【００３４】
図２４は、輪郭画素抽出部１１の処理を示すフローチャートである。図２４に示すように、輪郭画素抽出部１１は、ステップＳ１０１において、輪郭抽出窓を生成し、ステップＳ１０２において、カウンタｋと判定結果Ｒｏを０で初期化する。
【００３５】
輪郭画素抽出部１１は、ステップＳ１０３においてｋが輪郭パターンの数ｎを超えているか判定する。ｋ＞ｎの場合はステップＳ１０７に進み、ｋ＞ｎではない場合にはステップＳ１０４に進む。
【００３６】
輪郭画素抽出部１１は、ステップＳ１０４において、ｋ番目の輪郭パターンと輪郭画素抽出窓３２との論理積を算出し判定結果Ｒｏに代入する。輪郭画素抽出部１１は、ステップＳ１０５において、Ｒｏが１かを判定する。輪郭画素抽出部１１は、Ｒｏ＝１の場合はステップＳ１０７に進み、Ｒｏ＝１でない場合にはステップＳ１０６に進む。
【００３７】
輪郭画素抽出部１１は、ステップＳ１０６においてｋに１を加算し、ステップＳ１０３に戻る。輪郭画素抽出部１１は、ステップＳ１０７においてＲｏを出力する。
【００３８】
（矩形領域連結性判定部）
矩形領域連結性判定部１５は矩形領域判定窓ｗｃにおける連結性を判定し、結果を出力する。矩形領域判定窓ｗｃは、画像処理窓Ｗａのうち注目画素３３を中心に含む１辺が奇数画素の正方形として表すことができる。矩形領域判定窓ｗｃの１辺は、例えば７画素と１３画素のように大きさの異なる領域を用いることができる。
【００３９】
本実施形態においては、第１の矩形領域連結性判定部１５１においては１辺が１３画素の矩形領域判定窓ｗｃ１を、第２の矩形領域連結性判定部１５２においては１辺が７画素の矩形領域判定窓ｗｃ２を用いている。
【００４０】
図１は、矩形領域連結性判定部１５の概要を示すブロック図である。第１の矩形領域連結性判定部１５１と第２の矩形領域連結性判定部１５２の構成は矩形領域判定窓ｗｃ１と矩形領域判定窓ｗｃ２の大きさ以外は同じである。以下、第１の矩形領域判定部１５１を例に説明する。
【００４１】
図１に示すように、矩形領域連結性判定部１５１は、行単位連結性カウント２０２と、列単位連結性カウント２０３と、上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７と、ライン調整決定部２１０と、特異点検出部２１１とを備える。以下、各部について説明する。
【００４２】
（行単位連結性カウント及び列単位連結性カウント）
行単位連結性カウント２０２は画像処理窓Ｗａから信号を入力する。行単位連結性カウント２０２はこの入力した信号から行の連結性を判定して出力する。
【００４３】
図２Ａは、連結性判定の処理方法を示した図である。図２において、判定ｂｉｔは予め設定されたビット値であり、細線化を行う場合は１が設定されている。ｐ０からｐ８は矩形領域判定窓ｗｃ１の１列を表す。ここでは、矩形領域判定窓ｗｃ１の１辺は９画素であるとする。
【００４４】
行単位連結性カウント２０２は、まず判定ｂｉｔとｐ０とのｘｏｒを算出する。
【００４５】
ここで、ｘｏｒは排他的論理和を意味する。すなわち、Ａ  ｘｏｒ  Ｂの値は、Ａ＝Ｂのとき０であり、Ａ≠Ｂのとき１である。
【００４６】
判定ｂｉｔは１であり、ｐ０は０であるため、判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０は１となる。
【００４７】
次に、行単位連結性カウント２０２はｐ０とｐ１とのｘｏｒであるＳｘｏｒ１を算出する。ｐ０は０であり、ｐ１も０であるためＳｘｏｒ１は０となる。
【００４８】
行単位連結性カウント２０２はこれを順次繰り返して９個のＳｘｏｒを算出する。
【００４９】
次に算出した９個のＳｘｏｒの和であるｃｎｔ＿ｂを算出する。図２Ａの例ではｃｎｔ＿ｂは１である。
【００５０】
図２Ｂは判定対象となった列の全ての画素が１である場合の例を示す図である。図２Ｂに示すように、判定対象となった列の全ての画素が１である場合、すべてのＳｘｏｒが０となるため、ｃｎｔ＿ｂは０となる。
【００５１】
図２Ｃは判定の対象となった列に一部白い画素がある場合の例を示す図である。図２Ｃに示すように、ｐ２  ｘｏｒ  ｐ３と、ｐ５  ｘｏｒ  ｐ６がそれぞれ１となるため、ｃｎｔ＿ｂは２となる。
【００５２】
図３は矩形領域判定窓ｗｃ１の１辺が１３画素である場合の例を示す図である。図３に示すように、行単位連結性カウント２０２は、上辺から下辺に向かって１３個のｃｎｔ＿ｂ［０］を計算し、次いで下辺から上辺に向かって１３個のｃｎｔ＿ｂ［２］を計算する。
【００５３】
図３の例では、６画素の幅の横線が示されている。この場合、ｃｎｔ＿ｂ［０］とｃｎｔ＿ｂ［２］はすべて３となる。また、ｃｎｔ＿ｂ［１］とｃｎｔ＿ｂ［３］は線部が０であり、線部以外の部分が１となる。
【００５４】
行単位連結性カウント２０２は、算出したｃｎｔ＿ｂ［０］を上辺連結性判定部２０４に、ｃｎｔ＿ｂ［２］を下辺連結性判定部２０５に、それぞれ出力する。
【００５５】
列単位連結性カウント２０３は行単位連結性カウント２０２と同様の動作によって、左辺から右辺に向かって１３個のｃｎｔ＿ｂ［１］を計算し、次いで右辺から左辺に向かって１３個のｃｎｔ＿ｂ［３］を計算する。
【００５６】
列単位連結性カウント２０３は、算出したｃｎｔ＿ｂ［１］を左辺連結性判定部２０６に、ｃｎｔ＿ｂ［３］を右辺連結性判定部２０７に、それぞれ出力する。
【００５７】
図４は、行単位連結性カウント２０２のｃｎｔ＿ｂ算出のフローチャートである。図４に示すように、ステップＳ２０１において、行単位連結性カウント２０２はカウンタｉとｃｎｔ＿ｂとを０で初期化する。ステップＳ２０２において、行単位連結性カウント２０２は判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０を算出する。
【００５８】
ステップＳ２０３において、行単位連結性カウント２０２はｉに１を加算する。ステップＳ２０４において、行単位連結性カウント２０２はｉが８より大きいか判定する。この８という値は、矩形領域判定窓ｗｃ１の１辺が９画素である場合の値である。例えば矩形領域判定窓ｗｃ１の１辺が１３画素である場合は１２となる。ｉ＞８のとき、行単位連結性カウント２０２はステップＳ２０６に進み、ｉ＞８ではないとき、ステップＳ２０５に進む。
【００５９】
ステップＳ２０５において、行単位連結性カウント２０２は（ｉ−１）番目の画素であるｐｉ−１とｉ番目の画素であるｐｉとのｘｏｒを算出してｉ番目のＳｘｏｒであるＳｘｏｒｉに代入し、ステップＳ２０３に戻る。
【００６０】
ステップＳ２０６において、行単位連結性カウント２０２は０番目から８番目のＳｘｏｒを合計してｃｎｔ＿ｂに代入する。ステップＳ２０７において、行単位連結性カウント２０２はｃｎｔ＿ｂを出力する。
【００６１】
行単位連結性カウント２０２はこのステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、上辺連結性判定部２０４に出力する。
【００６２】
さらに、行単位連結性カウント２０２はステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の下辺から上辺に向かって矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、下辺連結性判定部２０５に出力する。
【００６３】
列単位連結性カウント２０３は、上記の行単位連結性カウント２０２のｃｎｔ＿ｂ算出動作を、矩形領域判定窓ｗｃ１の左辺から右辺に向かって行って左辺連結性判定部２０６に出力し、矩形領域判定窓ｗｃ１の右辺から左辺に向かって行って右辺連結性判定部２０７に出力する。
【００６４】
（連結性判定部）
上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７とは、それぞれｃｎｔ＿ｂを入力して連結性を判定し、判定結果としてｃｎｎｃｔ＿ｂを出力する。
【００６５】
図５は、上辺連結性判定部２０４の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図５においては１辺が７画素の例を示している。また、図５においては判定ｂｉｔをｂｗとして記載してある。
【００６６】
上辺連結性判定部２０４は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［０］＝１を判定結果連結部２０９のｂ４に出力する。上辺連結性判定部２０４は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［０］＝０を判定結果連結部２０９のｂ４に出力する。
【００６７】
図５の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［０］は０となる。
【００６８】
図６は、下辺連結性判定部２０５の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図６においては１辺が７画素の例を示している。
【００６９】
下辺連結性判定部２０５は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［２］＝１を判定結果連結部２０９のｂ６に出力する。下辺連結性判定部２０５は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［２］＝０を判定結果連結部２０９のｂ６に出力する。
【００７０】
図６の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［２］は０となる。
【００７１】
図７は、左辺連結性判定部２０６の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図７においては１辺が７画素の例を示している。
【００７２】
左辺連結性判定部２０６は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［１］＝１を判定結果連結部２０９のｂ５に出力する。左辺連結性判定部２０６は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［１］＝０を判定結果連結部２０９のｂ５に出力する。
【００７３】
図７の例においては、ｃｎｔ＿ｂが全て１以下であるため、ｃｎｎｃｔ＿ｂ［０］は１となる。
【００７４】
図８は、右辺連結性判定部２０７の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図８においては１辺が７画素の例を示している。
【００７５】
右辺連結性判定部２０７は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［３］＝１を判定結果連結部２０９のｂ７に出力する。右辺連結性判定部２０７は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［３］＝０を判定結果連結部２０９のｂ７に出力する。
【００７６】
図８の例においては、ｃｎｔ＿ｂに２があるため、ｃｎｎｃｔ＿ｂ［３］は０となる。
【００７７】
判定結果連結部２０９はｂ４乃至ｂ７の４ｂｉｔであるｆｌａｇｃをライン調整決定部２１０に出力する。
【００７８】
（特異点検出部）
図９は、丸いドットを画像処理窓Ｗａにて表示した図である。図１０は、図９に示す図を従来の方法によって細線化した結果を示す図である。図１０に示すように、従来の方法によっては細線化後の図形が丸くならず上下左右に突出した形状となる。
【００７９】
本実施形態においては、このような現象が起きる図形である特異点を検出し、より滑らかに細線化するようにｆｌａｇｃを強制的に切り替える。
【００８０】
行単位連結性カウント２０２は特異点検出部２１１にｃｎｔ＿ｂ［０］とｃｎｔ＿ｂ［２］を出力する。列単位連結性カウント２０３は特異点検出部２１１にｃｎｔ＿ｂ［１］とｃｎｔ＿ｂ［３］を出力する。
【００８１】
一方、特異点検出部２１１は、特異点のｃｎｔ＿ｂのパターンである特異点パターンを記憶している。図１１Ａは特異点とｃｎｔ＿ｂのパターンの例である。
【００８２】
特異点検出部２１１は、ｃｎｔ＿ｂの入力を受け入れると、特異点パターンを順次読みだし、ｃｎｔ＿ｂとの比較を行う。比較の方法は論理積をとることによっておこなってもよい。
【００８３】
図９の例において、ｗｃ１は１０番目の特異点パターンと同一である。このため、特異点検出部２１１は画像処理窓Ｗａに特異点が存在すると判定する。
【００８４】
特異点検出部２１１は特異点が存在すると判定したとき、あらかじめ定められたｆｌａｇｃを出力する。例えば、特異点が検出された場合のｆｌａｇｃとして１１０１を出力する。
【００８５】
ライン調整決定部２１０は特異点検出部２１１から入力があると、判定結果連結部２０９からの入力に代えて特異点検出部２１１からの出力をｆｌａｇｃとして出力する。
【００８６】
例えば、判定結果連結部２０９からの入力が００１０のとき、特異点検出部２１１が１１０１を出力するとする。００１０より１１０１の方が連結性は高い、このため、後続の細線化量計算部１３はより多くの画素を削除する。これにより、特異点の突出部が削除され、より滑らかに細線化される。
【００８７】
図１１Ｂは、特異点検出部２１１の出力に応じて細線化された結果を示した図である。図１１Ｂに示すように、図１１Ａの１０番は図１１Ｂの１０番のように、図１１Ａの１１番は図１１Ｂの１１番のように、図１１Ａの１２番は図１１Ｂの１２番のように、図１１Ａの１３番は図１１Ｂの１３番のように、それぞれ滑らかに細線化される。
【００８８】
図１２は、フラグ連結部１６の連結動作を表した図である。図１２に示すようにフラグ連結部１６は、輪郭画素抽出部１１からの出力であるＲｏをｂ８に、第１の矩形領域連結性判定部１５１からのｆｌａｇｃの出力であるｆｌａｇｃ［０］をｂ７乃至ｂ４に、第２の矩形領域連結性判定部１５２からのｆｌａｇｃの出力であるｆｌａｇｃ［１］をｂ３乃至ｂ０に設定して出力する。
【００８９】
（細線化量計算部）
細線化量計算部１３は第１の細線化量計算部１３１乃至第８の細線化量計算部１３８を備える。細線化量計算部１３は輪郭画素抽出窓３２を構成する画素の２値化量を入力し、輪郭画素抽出窓３２のパターンに従ってフィルタ係数を生成する。
【００９０】
このフィルタ係数は、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８ではそれぞれ異なっている。例えば、第１の細線化量計算部１３１から第８の細線化量計算部１３８まで順により多く細線化するように、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８はそれぞれのフィルタ係数を生成し、このフィルタ係数をＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴ８として、選択的補正出力部１４のセレクタ１４１に出力する。
【００９１】
セレクタ１４１は、フラグ連結部１６からの入力に従って、０及びＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴ８を切り替えてＳＥＬＯＵＴとして加算部１４２に出力する。
【００９２】
図１３は、セレクタ１４１のフィルタ選択の例を示す図である。図１３においては説明のためｆｌａｇｃ［０］の部分だけを示している。また、フィルタ係数の数を５個にしてある。
【００９３】
図１３に示すように、セレクタ１４１は、例えばｆｌａｇｃ［０］が００００のときは細線化を行わず、１０１１のときは削減フィルタの強度を大きくしてより多く削除するように、フィルタ係数を選択する。
【００９４】
すなわち、セレクタ１４１は太線部、太線内部は大きく削り、普通線は中程度に削り、細線部は小さく削るというようにフィルタ係数を選択する。
【００９５】
加算部１４２はＳＥＬＯＵＴに注目画素３３を加算して、積算部１４３に出力する、積算部１４３は加算部１４２からの入力値にデューティーＤＴＹを積算して細線化処理後画像信号ＳＨＷ１として出力する。
【００９６】
（第１の実施形態の効果）
以上述べたように、本実施形態の画像処理装置は、特異点を検出してフィルタ選択の基礎となるフラグを強制的に変更する特異点検出部を備える。このため、本実施形態の画像処理装置は、特異点を有する図形であってもその図形の特徴を維持しながら細線化することが可能となるという効果がある。
【００９７】
（第２の実施形態）
次に、第２の実施形態について述べる。なお、前述した第１の実施形態と同一部分には同一の符号を付し、詳細な説明は省略する。本実施形態において、第１の実施形態と異なる点は矩形領域連結性判定部１５の構成と動作である。
【００９８】
（矩形領域連結性判定部）
矩形領域連結性判定部１５は矩形領域判定窓ｗｃにおける連結性を判定し、結果を出力する。矩形領域判定窓ｗｃは、画像処理窓Ｗａのうち注目画素３３を中心に含む１辺が奇数画素の正方形として表すことができる。矩形領域判定窓ｗｃの１辺は、例えば７画素と１３画素のように大きさの異なる領域を用いることができる。
【００９９】
本実施形態においては、第１の矩形領域連結性判定部１５１においては１辺が１３画素の矩形領域判定窓ｗｃ１を、第２の矩形領域連結性判定部１５２においては１辺が７画素の矩形領域判定窓ｗｃ２を用いている。
【０１００】
図１４は、矩形領域連結性判定部１５の概要を示すブロック図である。第１の矩形領域連結性判定部１５１と第２の矩形領域連結性判定部１５２の構成は矩形領域判定窓ｗｃ１と矩形領域判定窓ｗｃ２の大きさ以外は同じである。以下、第１の矩形領域判定部１５１を例に説明する。
【０１０１】
図１４に示すように、矩形領域連結性判定部１５１は、行単位連結性カウント２０２と、列単位連結性カウント２０３と、上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７と、ライン調整決定部２１０と、ライン調整処理選択テーブル２０８とを備える。以下、各部について説明する。
【０１０２】
（行単位連結性カウント及び列単位連結性カウント）
行単位連結性カウント２０２は画像処理窓Ｗａから信号を入力する。行単位連結性カウント２０２はこの入力した信号から行の連結性を判定して出力する。
【０１０３】
図２Ａは、連結性判定の処理方法を示した図である。図２Ａ乃至図２Ｃにおいて、判定ｂｉｔは予め設定されたビット値であり、細線化を行う場合は１が設定されている。ｐ０からｐ８は矩形領域判定窓ｗｃ１の１列を表す。ここでは、矩形領域判定窓ｗｃ１の１辺は９画素であるとする。
【０１０４】
行単位連結性カウント２０２は、まず判定ｂｉｔとｐ０とのｘｏｒを算出する。
【０１０５】
ここで、ｘｏｒは排他的論理和を意味する。すなわち、Ａ  ｘｏｒ  Ｂの値は、Ａ＝Ｂのとき０であり、Ａ≠Ｂのとき１である。
【０１０６】
判定ｂｉｔは１であり、ｐ０は０であるため、判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０は１となる。
【０１０７】
次に、行単位連結性カウント２０２はｐ０とｐ１とのｘｏｒであるＳｘｏｒ１を算出する。ｐ０は０であり、ｐ１も０であるためＳｘｏｒ１は０となる。
【０１０８】
行単位連結性カウント２０２はこれを順次繰り返して９個のＳｘｏｒを算出する。
【０１０９】
次に算出した９個のＳｘｏｒの和であるｃｎｔ＿ｂを算出する。図２Ａの例ではｃｎｔ＿ｂは１である。
【０１１０】
なお、ここで、Ｓｘｏｒ０乃至Ｓｘｏｒ８をまとめてｌｃｏｕｎｔと呼ぶ。
【０１１１】
図２Ｂは判定対象となった列の全ての画素が１である場合の例を示す図である。図２Ｂに示すように、判定対象となった列の全ての画素が１である場合、すべてのＳｘｏｒが０となるため、ｃｎｔ＿ｂは０となる。
【０１１２】
図２Ｃは判定の対象となった列に一部白い画素がある場合の例を示す図である。図２Ｃに示すように、ｐ２  ｘｏｒ  ｐ３と、ｐ５  ｘｏｒ  ｐ６がそれぞれ１となるため、ｃｎｔ＿ｂは２となる。
【０１１３】
図３は矩形領域判定窓ｗｃ１の１辺が１３画素である場合の例を示す図である。図３に示すように、行単位連結性カウント２０２は、上辺から下辺に向かって１３個のｃｎｔ＿ｂ［０］を計算し、次いで下辺から上辺に向かって１３個のｃｎｔ＿ｂ［２］を計算する。
【０１１４】
図３の例では、６画素の幅の横線が示されている。この場合、ｃｎｔ＿ｂ［０］とｃｎｔ＿ｂ［２］はすべて３となる。また、ｃｎｔ＿ｂ［１］とｃｎｔ＿ｂ［３］は線部が０であり、線部以外の部分が１となる。
【０１１５】
行単位連結性カウント２０２は、算出したｃｎｔ＿ｂ［０］を上辺連結性判定部２０４に、ｃｎｔ＿ｂ［２］を下辺連結性判定部２０５に、それぞれ出力する。
【０１１６】
列単位連結性カウント２０３は行単位連結性カウント２０２と同様の動作によって、左辺から右辺に向かって１３個のｃｎｔ＿ｂ［１］を計算し、次いで右辺から左辺に向かって１３個のｃｎｔ＿ｂ［３］を計算する。
【０１１７】
列単位連結性カウント２０３は、算出したｃｎｔ＿ｂ［１］を左辺連結性判定部２０６に、ｃｎｔ＿ｂ［３］を右辺連結性判定部２０７に、それぞれ出力する。
【０１１８】
図４は、行単位連結性カウント２０２のｃｎｔ＿ｂ算出のフローチャートである。図４に示すように、ステップＳ２０１において、行単位連結性カウント２０２はカウンタｉとｃｎｔ＿ｂとを０で初期化する。ステップＳ２０２において、行単位連結性カウント２０２は判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０を算出する。
【０１１９】
ステップＳ２０３において、行単位連結性カウント２０２はｉに１を加算する。ステップＳ２０４において、行単位連結性カウント２０２はｉが８より大きいか判定する。この８という値は、矩形領域判定窓ｗｃ１の１辺が９画素である場合の値である。例えば矩形領域判定窓ｗｃ１の１辺が１３画素である場合は１２となる。ｉ＞８のとき、行単位連結性カウント２０２はステップＳ２０６に進み、ｉ＞８ではないとき、ステップＳ２０５に進む。
【０１２０】
ステップＳ２０５において、行単位連結性カウント２０２は（ｉ−１）番目の画素であるｐｉ−１とｉ番目の画素であるｐｉとのｘｏｒを算出してｉ番目のＳｘｏｒであるＳｘｏｒｉに代入し、ステップＳ２０３に戻る。
【０１２１】
ステップＳ２０６において、行単位連結性カウント２０２は０番目から８番目のＳｘｏｒを合計してｃｎｔ＿ｂに代入する。ステップＳ２０７において、行単位連結性カウント２０２はｃｎｔ＿ｂを出力する。
【０１２２】
行単位連結性カウント２０２はこのステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、上辺連結性判定部２０４に出力する。
【０１２３】
さらに、行単位連結性カウント２０２はステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の下辺から上辺に向かって矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、下辺連結性判定部２０５に出力する。
【０１２４】
列単位連結性カウント２０３は、上記の行単位連結性カウント２０２のｃｎｔ＿ｂ算出動作を、矩形領域判定窓ｗｃ１の左辺から右辺に向かって行って左辺連結性判定部２０６に出力し、矩形領域判定窓ｗｃ１の右辺から左辺に向かって行って右辺連結性判定部２０７に出力する。
【０１２５】
（連結性判定部）
上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７とは、それぞれｃｎｔ＿ｂを入力して連結性を判定し、判定結果としてｃｎｎｃｔ＿ｂを出力する。
【０１２６】
図５は、上辺連結性判定部２０４の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図５においては１辺が７画素の例を示している。
【０１２７】
上辺連結性判定部２０４は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［０］＝１を判定結果連結部２０９のｂ４に出力する。上辺連結性判定部２０４は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［０］＝０を判定結果連結部２０９のｂ４に出力する。
【０１２８】
図５の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［０］は０となる。
【０１２９】
図６は、下辺連結性判定部２０５の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図６においては１辺が７画素の例を示している。
【０１３０】
下辺連結性判定部２０５は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［２］＝１を判定結果連結部２０９のｂ６に出力する。下辺連結性判定部２０５は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［２］＝０を判定結果連結部２０９のｂ６に出力する。
【０１３１】
図６の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［２］は０となる。
【０１３２】
図７は、左辺連結性判定部２０６の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図７においては１辺が７画素の例を示している。
【０１３３】
左辺連結性判定部２０６は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［１］＝１を判定結果連結部２０９のｂ５に出力する。左辺連結性判定部２０６は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［１］＝０を判定結果連結部２０９のｂ５に出力する。
【０１３４】
図７の例においては、ｃｎｔ＿ｂが全て１以下であるため、ｃｎｎｃｔ＿ｂ［０］は１となる。
【０１３５】
図８は、右辺連結性判定部２０７の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図８においては１辺が７画素の例を示している。
【０１３６】
右辺連結性判定部２０７は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［３］＝１を判定結果連結部２０９のｂ７に出力する。右辺連結性判定部２０７は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［３］＝０を判定結果連結部２０９のｂ７に出力する。
【０１３７】
図８の例においては、ｃｎｔ＿ｂに２があるため、ｃｎｎｃｔ＿ｂ［３］は０となる。
【０１３８】
判定結果連結部２０９はｂ４乃至ｂ７の４ｂｉｔであるｆｌａｇｃをライン調整決定部２１０に出力する。
【０１３９】
（ライン調整処理選択テーブル）
上辺連結性判定部２０４はｌｃｏｕｎｔ１を、下辺連結性判定部２０５はｌｃｏｕｔ３を、左辺連結性判定部２０６はｌｃｏｕｎｔ０を、右辺連結性判定部２０７はｌｃｏｕｎｔ２を、それぞれライン調整処理選択テーブル２０８に出力する。
【０１４０】
ライン調整処理選択テーブル２０８は、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力する。
【０１４１】
例えば、図３に示すように、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３が３３３３３３３３３３３３３１１１１００００００１１１３３３３３３３３３３３３３１１１００００００１１１１のときは、６画素の太線であるため、ｆｌａｇｃが０１０１であるところを０１１１に読み替えて、ライン調整決定部２１０に出力するとともに、スイッチビットをライン調整決定部２１０に出力する。
【０１４２】
また、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３が３３３３３３３３３３３３３１１１１０００００１１１１３３３３３３３３３３３３３１１１１０００００１１１１のときは、５画素の普通線であるため、ｆｌａｇｃが０１０１であるところを０１１０に読み替えて、ライン調整決定部２１０に出力するとともに、スイッチビットをライン調整決定部２１０に出力する。
【０１４３】
ライン調整決定部２１０は、スイッチビットを入力した場合、判定結果連結部２０９の出力に代えてライン調整処理選択テーブル２０８からのｆｌａｇｃを出力する。
【０１４４】
このように、同一のｆｌａｇｃとなる場合であっても、ライン調整処理選択テーブル２０８は、あらかじめ格納されているテーブルに従ってｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力する。
【０１４５】
図１２は、フラグ連結部１６の連結動作を表した図である。図１２に示すようにフラグ連結部１６は、輪郭画素抽出部１１からの出力であるＲｏをｂ８に、第１の矩形領域連結性判定部１５１からのｆｌａｇｃの出力であるｆｌａｇｃ［０］をｂ７乃至ｂ４に、第２の矩形領域連結性判定部１５２からのｆｌａｇｃの出力であるｆｌａｇｃ［１］をｂ３乃至ｂ０に設定して出力する。
【０１４６】
（細線化量計算部）
細線化量計算部１３は第１の細線化量計算部１３１乃至第８の細線化量計算部１３８を備える。細線化量計算部１３は輪郭画素抽出窓３２を構成する画素の２値化量を入力し、輪郭画素抽出窓３２のパターンに従ってフィルタ係数を生成する。
【０１４７】
このフィルタ係数は、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８ではそれぞれ異なっている。例えば、第１の細線化量計算部１３１から第８の細線化量計算部１３８まで順により多く細線化するように、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８はそれぞれのフィルタ係数を生成し、このフィルタ係数をＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴ８として、選択的補正出力部１４のセレクタ１４１に出力する。
【０１４８】
セレクタ１４１は、フラグ連結部１６からの入力に従って、０及びＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴ８を切り替えてＳＥＬＯＵＴとして加算部１４２に出力する。
【０１４９】
図１３は、セレクタ１４１のフィルタ選択の例を示す図である。図１３においては説明のためｆｌａｇｃ［０］の部分だけを示している。また、フィルタ係数の数を５個にしてある。
【０１５０】
図１３に示すように、セレクタ１４１は、例えばｆｌａｇｃ［０］が００００のときは細線化を行わず、１０１１のときは削減フィルタの強度を大きくしてより多く削除するように、フィルタ係数を選択する。
【０１５１】
すなわち、セレクタ１４１は太線部、太線内部は大きく削り、普通線は中程度に削り、細線部は小さく削るというようにフィルタを選択する。
【０１５２】
加算部１４２はＳＥＬＯＵＴに注目画素３３を加算して、積算部１４３に出力する、積算部１４３は加算部１４２からの入力値にデューティーＤＴＹを積算して細線化処理後画像信号ＳＨＷ１として出力する。
【０１５３】
（第２の実施形態の効果）
以上述べたように、本実施形態の画像処理装置は、あらかじめ格納されているテーブルに従ってｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力するライン調整処理選択テーブル２０８を備える。このため、本実施形態の画像処理装置は、よりきめ細やかに制御された細線化をすることが可能となるという効果がある。
【０１５４】
（第３の実施形態）
次に、第３の実施形態について述べる。なお、前述した第１の実施形態と同一部分には同一の符号を付し、詳細な説明は省略する。本実施形態において、第１の実施形態と異なる点は矩形領域連結性判定部１５の構成と動作である。
【０１５５】
（矩形領域連結性判定部）
矩形領域連結性判定部１５は矩形領域判定窓ｗｃにおける連結性を判定し、結果を出力する。矩形領域判定窓ｗｃは、画像処理窓Ｗａのうち注目画素３３を中心に含む１辺が奇数画素の正方形として表すことができる。矩形領域判定窓ｗｃの１辺は、例えば７画素と１３画素のように大きさの異なる領域を用いることができる。
【０１５６】
本実施形態においては、第１の矩形領域連結性判定部１５１においては１辺が１３画素の矩形領域判定窓ｗｃ１を、第２の矩形領域連結性判定部１５２においては１辺が７画素の矩形領域判定窓ｗｃ２を用いている。
【０１５７】
図１５は、矩形領域連結性判定部１５の概要を示すブロック図である。第１の矩形領域連結性判定部１５１と第２の矩形領域連結性判定部１５２の構成は矩形領域判定窓ｗｃ１と矩形領域判定窓ｗｃ２の大きさ以外は同じである。以下、第１の矩形領域判定部１５１を例に説明する。
【０１５８】
図１５に示すように、矩形領域連結性判定部１５１は、行単位連結性カウント２０２と、列単位連結性カウント２０３と、上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７と、ライン調整決定部２１０と、ライン調整処理選択テーブル２０８と、特異点検出部２１１と、を備える。以下、各部について説明する。
【０１５９】
（行単位連結性カウント及び列単位連結性カウント）
行単位連結性カウント２０２は画像処理窓Ｗａから信号を入力する。行単位連結性カウント２０２はこの入力した信号から行の連結性を判定して出力する。
【０１６０】
図２Ａは、連結性判定の処理方法を示した図である。図２Ａ乃至図２Ｃにおいて、判定ｂｉｔは予め設定されたビット値であり、細線化を行う場合は１が設定されている。ｐ０からｐ８は矩形領域判定窓ｗｃ１の１列を表す。ここでは、矩形領域判定窓ｗｃ１の１辺は９画素であるとする。
【０１６１】
行単位連結性カウント２０２は、まず判定ｂｉｔとｐ０とのｘｏｒを算出する。
【０１６２】
ここで、ｘｏｒは排他的論理和を意味する。すなわち、Ａ  ｘｏｒ  Ｂの値は、Ａ＝Ｂのとき０であり、Ａ≠Ｂのとき１である。
【０１６３】
判定ｂｉｔは１であり、ｐ０は０であるため、判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０は１となる。
【０１６４】
次に、行単位連結性カウント２０２はｐ０とｐ１とのｘｏｒであるＳｘｏｒ１を算出する。ｐ０は０であり、ｐ１も０であるためＳｘｏｒ１は０となる。
【０１６５】
行単位連結性カウント２０２はこれを順次繰り返して９個のＳｘｏｒを算出する。
【０１６６】
次に算出した９個のＳｘｏｒの和であるｃｎｔ＿ｂを算出する。図２Ａの例ではｃｎｔ＿ｂは１である。
【０１６７】
なお、ここで、Ｓｘｏｒ０乃至Ｓｘｏｒ８をまとめてｌｃｏｕｎｔと呼ぶ。
【０１６８】
図２Ｂは判定対象となった列の全ての画素が１である場合の例を示す図である。図２Ｂに示すように、判定対象となった列の全ての画素が１である場合、すべてのＳｘｏｒが０となるため、ｃｎｔ＿ｂは０となる。
【０１６９】
図２Ｃは判定の対象となった列に一部白い画素がある場合の例を示す図である。図２Ｃに示すように、ｐ２  ｘｏｒ  ｐ３と、ｐ５  ｘｏｒ  ｐ６がそれぞれ１となるため、ｃｎｔ＿ｂは２となる。
【０１７０】
図３は矩形領域判定窓ｗｃ１の１辺が１３画素である場合の例を示す図である。図３に示すように、行単位連結性カウント２０２は、上辺から下辺に向かって１３個のｃｎｔ＿ｂ［０］を計算し、次いで下辺から上辺に向かって１３個のｃｎｔ＿ｂ［２］を計算する。
【０１７１】
図３の例では、６画素の幅の横線が示されている。この場合、ｃｎｔ＿ｂ［０］とｃｎｔ＿ｂ［２］はすべて３となる。また、ｃｎｔ＿ｂ［１］とｃｎｔ＿ｂ［３］は線部が０であり、線部以外の部分が１となる。
【０１７２】
行単位連結性カウント２０２は、算出したｃｎｔ＿ｂ［０］を上辺連結性判定部２０４に、ｃｎｔ＿ｂ［２］を下辺連結性判定部２０５に、それぞれ出力する。
【０１７３】
列単位連結性カウント２０３は行単位連結性カウント２０２と同様の動作によって、左辺から右辺に向かって１３個のｃｎｔ＿ｂ［１］を計算し、次いで右辺から左辺に向かって１３個のｃｎｔ＿ｂ［３］を計算する。
【０１７４】
列単位連結性カウント２０３は、算出したｃｎｔ＿ｂ［１］を左辺連結性判定部２０６に、ｃｎｔ＿ｂ［３］を右辺連結性判定部２０７に、それぞれ出力する。
【０１７５】
図４は、行単位連結性カウント２０２のｃｎｔ＿ｂ算出のフローチャートである。図４に示すように、ステップＳ２０１において、行単位連結性カウント２０２はカウンタｉとｃｎｔ＿ｂとを０で初期化する。ステップＳ２０２において、行単位連結性カウント２０２は判定ｂｉｔとｐ０とのｘｏｒであるＳｘｏｒ０を算出する。
【０１７６】
ステップＳ２０３において、行単位連結性カウント２０２はｉに１を加算する。ステップＳ２０４において、行単位連結性カウント２０２はｉが８より大きいか判定する。この８という値は、矩形領域判定窓ｗｃ１の１辺が９画素である場合の値である。例えば矩形領域判定窓ｗｃ１の１辺が１３画素である場合は１２となる。ｉ＞８のとき、行単位連結性カウント２０２はステップＳ２０６に進み、ｉ＞８ではないとき、ステップＳ２０５に進む。
【０１７７】
ステップＳ２０５において、行単位連結性カウント２０２は（ｉ−１）番目の画素であるｐｉ−１とｉ番目の画素であるｐｉとのｘｏｒを算出してｉ番目のＳｘｏｒであるＳｘｏｒｉに代入し、ステップＳ２０３に戻る。
【０１７８】
ステップＳ２０６において、行単位連結性カウント２０２は０番目から８番目のＳｘｏｒを合計してｃｎｔ＿ｂに代入する。ステップＳ２０７において、行単位連結性カウント２０２はｃｎｔ＿ｂを出力する。
【０１７９】
行単位連結性カウント２０２はこのステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、上辺連結性判定部２０４に出力する。
【０１８０】
さらに、行単位連結性カウント２０２はステップＳ２０１からＳ２０７までの工程を矩形領域判定窓ｗｃ１の下辺から上辺に向かって矩形領域判定窓ｗｃ１の１辺画素数分だけ繰り返すことにより、４ｂｉｔのｃｎｔ＿ｂを矩形領域判定窓ｗｃ１の１辺画素数分だけ算出し、下辺連結性判定部２０５に出力する。
【０１８１】
列単位連結性カウント２０３は、上記の行単位連結性カウント２０２のｃｎｔ＿ｂ算出動作を、矩形領域判定窓ｗｃ１の左辺から右辺に向かって行って左辺連結性判定部２０６に出力し、矩形領域判定窓ｗｃ１の右辺から左辺に向かって行って右辺連結性判定部２０７に出力する。
【０１８２】
（連結性判定部）
上辺連結性判定部２０４と、下辺連結性判定部２０５と、左辺連結性判定部２０６と、右辺連結性判定部２０７とは、それぞれｃｎｔ＿ｂを入力して連結性を判定し、判定結果としてｃｎｎｃｔ＿ｂを出力する。
【０１８３】
図５は、上辺連結性判定部２０４の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図５においては１辺が７画素の例を示している。
【０１８４】
上辺連結性判定部２０４は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［０］＝１を判定結果連結部２０９のｂ４に出力する。上辺連結性判定部２０４は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［０］＝０を判定結果連結部２０９のｂ４に出力する。
【０１８５】
図５の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［０］は０となる。
【０１８６】
図６は、下辺連結性判定部２０５の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図６においては１辺が７画素の例を示している。
【０１８７】
下辺連結性判定部２０５は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［２］＝１を判定結果連結部２０９のｂ６に出力する。下辺連結性判定部２０５は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［２］＝０を判定結果連結部２０９のｂ６に出力する。
【０１８８】
図６の例においては、ｃｎｔ＿ｂに３があるため、ｃｎｎｃｔ＿ｂ［２］は０となる。
【０１８９】
図７は、左辺連結性判定部２０６の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図７においては１辺が７画素の例を示している。
【０１９０】
左辺連結性判定部２０６は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［１］＝１を判定結果連結部２０９のｂ５に出力する。左辺連結性判定部２０６は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［１］＝０を判定結果連結部２０９のｂ５に出力する。
【０１９１】
図７の例においては、ｃｎｔ＿ｂが全て１以下であるため、ｃｎｎｃｔ＿ｂ［０］は１となる。
【０１９２】
図８は、右辺連結性判定部２０７の判定方法を示す図である。ここで、連結性判定窓ｗｄは画像処理窓Ｗａのうち注目画素３３を中心に含む正方形の領域であり、図８においては１辺が７画素の例を示している。
【０１９３】
右辺連結性判定部２０７は、ｃｎｔ＿ｂが全て１以下であるとき、連結性判定値であるｃｎｎｃｔ＿ｂ［３］＝１を判定結果連結部２０９のｂ７に出力する。右辺連結性判定部２０７は、ｃｎｔ＿ｂに一つでも２以上の値がある場合には、ｃｎｎｃｔ＿ｂ［３］＝０を判定結果連結部２０９のｂ７に出力する。
【０１９４】
図８の例においては、ｃｎｔ＿ｂに２があるため、ｃｎｎｃｔ＿ｂ［３］は０となる。
【０１９５】
判定結果連結部２０９はｂ４乃至ｂ７の４ｂｉｔであるｆｌａｇｃをライン調整決定部２１０に出力する。
【０１９６】
（ライン調整処理選択テーブル）
上辺連結性判定部２０４はｌｃｏｕｎｔ１を、下辺連結性判定部２０５はｌｃｏｕｔ３を、左辺連結性判定部２０６はｌｃｏｕｎｔ０を、右辺連結性判定部２０７はｌｃｏｕｎｔ２を、それぞれライン調整処理選択テーブル２０８に出力する。
【０１９７】
ライン調整処理選択テーブル２０８は、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力する。
【０１９８】
例えば、図３に示すように、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３が６画素の太線を表す場合は、ｆｌａｇｃが０１０１であるところを０１１１に読み替えて、ライン調整決定部２１０に出力するとともに、スイッチビットをライン調整決定部２１０に出力する。
【０１９９】
また、ｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３が５画素の普通線を表す場合は、ｆｌａｇｃが０１０１であるところを０１１０に読み替えて、ライン調整決定部２１０に出力するとともに、スイッチビットをライン調整決定部２１０に出力する。
【０２００】
ライン調整決定部２１０は、スイッチビットを入力した場合、判定結果連結部２０９の出力に代えてライン調整処理選択テーブル２０８からのｆｌａｇｃを出力する。
【０２０１】
このように、同一のｆｌａｇｃとなる場合であっても、ライン調整処理選択テーブル２０８は、あらかじめ格納されているテーブルに従ってｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力する。
【０２０２】
（特異点検出部）
図９は、丸いドットを画像処理窓Ｗａにて表示した図である。図１０は、図９に示す図を従来の方法によって細線化した結果を示す図である。図１０に示すように、従来の方法によっては細線化後の図形が丸くならず上下左右に突出した形状となる。
【０２０３】
本実施形態においては、このような現象が起きる図形である特異点を検出し、より滑らかに細線化するようにｆｌａｇｃを強制的に切り替える。
【０２０４】
行単位連結性カウント２０２は特異点検出部２１１にｃｎｔ＿ｂ［０］とｃｎｔ＿ｂ［２］を出力する。列単位連結性カウント２０３は特異点検出部２１１にｃｎｔ＿ｂ［１］とｃｎｔ＿ｂ［３］を出力する。
【０２０５】
一方、特異点検出部２１１は、特異点のｃｎｔ＿ｂのパターンである特異点パターンを記憶している。図１１Ａは特異点とｃｎｔ＿ｂのパターンの例である。
【０２０６】
特異点検出部２１１は、ｃｎｔ＿ｂの入力を受け入れると、特異点パターンを順次読みだし、ｃｎｔ＿ｂとの比較を行う。比較の方法は論理積をとることによっておこなってもよい。
【０２０７】
図９の例において、ｗｃ１は１０番目の特異点パターンと同一である。このため、特異点検出部２１１は画像処理窓Ｗａに特異点が存在すると判定する。
【０２０８】
特異点検出部２１１は特異点が存在すると判定したとき、あらかじめ定められたｆｌａｇｃを出力する。例えば、特異点が検出された場合のｆｌａｇｃとして１１０１を出力する。
【０２０９】
ライン調整決定部２１０は特異点検出部２１１から入力があると、ライン調整処理選択テーブル２０８からのスイッチビットの入力の有無にかかわらず、判定結果連結部２０９からの入力に代えて特異点検出部２１１からの出力をｆｌａｇｃとして出力する。
【０２１０】
例えば、判定結果連結部２０９からの入力が００１０のとき、特異点検出部２１１が１１０１を出力するとする。００１０より１１０１の方が連結性は高い、このため、後続の細線化量計算部１３はより多くの画素を削除する。これにより、特異点の突出部が削除され、より滑らかに細線化される。
【０２１１】
図１１Ｂは、特異点検出部２１１の出力に応じて細線化された結果を示した図である。図１１Ｂに示すように、図１１Ａの１０番は図１１Ｂの１０番のように、図１１Ａの１１番は図１１Ｂの１１番のように、図１１Ａの１２番は図１１Ｂの１２番のように、図１１Ａの１３番は図１１Ｂの１３番のように、それぞれ滑らかに細線化される。
【０２１２】
図１２は、フラグ連結部１６の連結動作を表した図である。図１２に示すようにフラグ連結部１６は、輪郭画素抽出部１１からの出力であるＲｏをｂ８に、第１の矩形領域連結性判定部１５１からのｆｌａｇｃの出力であるｆｌａｇｃ［０］をｂ７乃至ｂ４に、第２の矩形領域連結性判定部１５２からのｆｌａｇｃの出力であるｆｌａｇｃ［１］をｂ３乃至ｂ０に設定して出力する。
【０２１３】
（細線化量計算部）
細線化量計算部１３は第１の細線化量計算部１３１乃至第８の細線化量計算部１３８を備える。細線化量計算部１３は輪郭画素抽出窓３２を構成する画素の２値化量を入力し、輪郭画素抽出窓３２のパターンに従ってフィルタ係数を生成する。
【０２１４】
このフィルタ係数は、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８ではそれぞれ異なっている。例えば、第１の細線化量計算部１３１から第８の細線化量計算部１３８まで順により多く細線化するように、第１の細線化量計算部１３１乃至第８の細線化量計算部１３８はそれぞれのフィルタ係数を生成し、このフィルタ係数をＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴ８として、選択的補正出力部１４のセレクタ１４１に出力する。
【０２１５】
セレクタ１４１は、フラグ連結部１６からの入力に従って、０及びＳＦＩＬＯＵＴ１乃至ＳＦＩＬＯＵＴを切り替えてＳＥＬＯＵＴとして加算部１４２に出力する。
【０２１６】
図１３は、セレクタ１４１のフィルタ選択の例を示す図である。図１３においては説明のためｆｌａｇｃ［０］の部分だけを示している。また、フィルタ係数の数を５個にしてある。
【０２１７】
図１３に示すように、セレクタ１４１は、例えばｆｌａｇｃ［０］が００００のときは細線化を行わず、１０１１のときは削減フィルタの強度を大きくしてより多く削除するように、フィルタ係数を選択する。
【０２１８】
すなわち、セレクタ１４１は太線部、太線内部は大きく削り、普通線は中程度に削り、細線部は小さく削るというようにフィルタを選択する。
【０２１９】
加算部１４２はＳＥＬＯＵＴに注目画素３３を加算して、積算部１４３に出力する、積算部１４３は加算部１４２からの入力値にデューティーＤＴＹを積算して細線化処理後画像信号ＳＨＷ１として出力する。
【０２２０】
（第３の実施形態の効果）
以上述べたように、本実施形態の画像処理装置は、特異点を検出してフィルタ選択の基礎となるフラグを強制的に変更する特異点検出部を備える。また、本実施形態の画像処理装置は、あらかじめ格納されているテーブルに従ってｌｃｏｕｎｔ０乃至ｌｃｏｕｎｔ３のパターンに応じたｃｎｔ＿ｂを出力するライン調整処理選択テーブル２０８を備える。このため、本実施形態の画像処理装置は、特異点を有する図形であってもその図形の特徴を維持しながら細線化することが可能となるという効果がある。また、本実施形態の画像処理装置は、よりきめ細やかに制御された細線化をすることが可能となるという効果がある。
【図面の簡単な説明】
【０２２１】
【図１】矩形領域連結性判定部１５の概要を示すブロック図である。
【図２Ａ】連結性判定の処理方法を示した図である。
【図２Ｂ】判定対象となった列の全ての画素が１である場合の例を示す図である。
【図２Ｃ】判定の対象となった列に一部白い画素がある場合の例を示す図である。
【図３】矩形領域判定窓ｗｃ１の１辺が１３画素である場合の例を示す図である。
【図４】行単位連結性カウント２０２のｃｎｔ＿ｂ算出のフローチャートである。
【図５】上辺連結性判定部２０４の判定方法を示す図である。
【図６】下辺連結性判定部２０５の判定方法を示す図である。
【図７】左辺連結性判定部２０６の判定方法を示す図である。
【図８】右辺連結性判定部２０７の判定方法を示す図である。
【図９】丸いドットを画像処理窓Ｗａにて表示した図である。
【図１０】図９に示す図を従来の方法によって細線化した結果を示す図である。
【図１１Ａ】特異点とｃｎｔ＿ｂのパターンの例である。
【図１１Ｂ】特異点検出部２１１の出力に応じて細線化された結果を示した図である。
【図１２】フラグ連結部１６の連結動作を表した図である。
【図１３】セレクタ１４１のフィルタ選択の例を示す図である。
【図１４】矩形領域連結性判定部１５の概要を示すブロック図である。
【図１５】矩形領域連結性判定部１５の概要を示すブロック図である。
【図１６Ａ】６００ｄｐｉの細線化前の画像の例を示す図である。
【図１６Ｂ】図１６Ａの線を左右１画素分削除する細線化を行った場合の図である。
【図１６Ｃ】１２００ｄｐｉの細線化前の画像の例を示す図である。
【図１６Ｄ】図１６Ｃの線に６００ｄｐｉに適用した細線化を施した場合の図である。
【図１６Ｅ】削除する画素数を２倍にした場合の図である。
【図１６Ｆ】細線化量をより細かく制御した場合の図である。
【図１７】本実施形態の画像処理装置のハードウエア構成を示す図である。
【図１８】本実施形態の画像処理装置の処理の概要を示すフローチャートである。
【図１９】画像処理装置の細線化に係る部分のブロック図である。
【図２０】画像処理窓Ｗａの概念図である。
【図２１】印字すべき画像の細線化前の画像の例である原画像４１を示す図である。
【図２２】原画像４１に注目画素３３に合わせて画像処理窓Ｗａを設定した例を示した図である。
【図２３】輪郭パターンの例である。
【図２４】輪郭画素抽出部１１の処理を示すフローチャートである。
【符号の説明】
【０２２２】
１１：輪郭画素抽出部、
１３：細線化量計算部、
１４：選択的補正出力部、
１５：矩形領域連結性判定部、
２０２：行単位連結性カウント、
２０３：列単位連結性カウント、
２０４：上辺連結性判定部、
２０５：下辺連結性判定部、
２０６：左辺連結性判定部、
２０７：右辺連結性判定部、
２０８：ライン調整処理選択テーブル、
２１０：ライン調整決定部、
２１１：特異点検出部。
【図１】
0004847993.tif 000002
【図２Ａ】
0004847993.tif 000003
【図２Ｂ】
0004847993.tif 000004
【図２Ｃ】
0004847993.tif 000005
【図３】
0004847993.tif 000006
【図４】
0004847993.tif 000007
【図５】
0004847993.tif 000008
【図６】
0004847993.tif 000009
【図７】
0004847993.tif 000010
【図８】
0004847993.tif 000011
【図９】
0004847993.tif 000012
【図１０】
0004847993.tif 000013
【図１１Ａ】
0004847993.tif 000014
【図１１Ｂ】
0004847993.tif 000015
【図１２】
0004847993.tif 000016
【図１３】
0004847993.tif 000017
【図１４】
0004847993.tif 000018
【図１５】
0004847993.tif 000019
【図１６Ａ】
0004847993.tif 000020
【図１６Ｂ】
0004847993.tif 000021
【図１６Ｃ】
0004847993.tif 000022
【図１６Ｄ】
0004847993.tif 000023
【図１６Ｅ】
0004847993.tif 000024
【図１６Ｆ】
0004847993.tif 000025
【図１７】
0004847993.tif 000026
【図１８】
0004847993.tif 000027
【図１９】
0004847993.tif 000028
【図２０】
0004847993.tif 000029
【図２１】
0004847993.tif 000030
【図２２】
0004847993.tif 000031
【図２３】
0004847993.tif 000032
【図２４】
0004847993.tif 000033