(57)【特許請求の範囲】
【請求項１】
画像データに細線化処理を施す細線化処理部と、
画像データにスムージング処理を施すスムージング処理部と、
画像データの各画素についてエッジ方向を判定するエッジ方向判定部と、
注目画素、注目画素の周辺画素の各画素値、前記スムージング処理による画素値の変化量、前記細線化処理による画素値の変化量、注目画素について判定された前記エッジ方向を用い、前記注目画素の前記スムージング処理による画素値の変化量及び前記細線化処理による画素値の変化量の組み合わせに応じて、前記スムージング処理及び前記細線化処理を施した後の前記注目画素の画素値を決定するブレンド処理部と、
前記注目画素及びその周辺画素の前記細線化処理による画素値の変化量により、細線化された画素が孤立するか否かを判定し、孤立すると判定された場合、注目画素又は注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素のうち、細線化された画素の前記細線化処理による画素値の変化量を０の値にリセットする細線化調整部と、を備え、
前記ブレンド処理部は、前記注目画素の画素値の決定に、リセットされた前記細線化処理による画素値の変化量を用いる画像処理装置。
【請求項２】
前記細線化調整部は、細線化された画素が注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素である場合、注目画素が細線化されていることを条件に当該周辺画素の細線化処理による画素値の変化量を０の値にリセットする請求項１に記載の画像処理装置。
【請求項３】
前記細線化調整部は、前記ブレンド処理部が前記注目画素の前記細線化処理による画素値の変化量及び前記スムージング処理による画素値の変化量の組み合わせを分類した後、前記リセットを行う請求項１又は２に記載の画像処理装置。
【請求項４】
前記細線化調整部による前記リセットを実行するか否かを切り替える制御部を備える請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
コンピューターに、
画像データに細線化処理を施す工程と、
画像データにスムージング処理を施す工程と、
画像データの各画素についてエッジ方向を判定する工程と、
注目画素、注目画素の周辺画素の各画素値、前記スムージング処理による画素値の変化量、前記細線化処理による画素値の変化量、注目画素について判定された前記エッジ方向を用い、前記注目画素の前記スムージング処理による画素値の変化量及び前記細線化処理による画素値の変化量の組み合わせに応じて、前記スムージング処理及び前記細線化処理を施した後の前記注目画素の画素値を決定する工程と、
前記注目画素及びその周辺画素の前記細線化処理による画素値の変化量により、細線化された画素が孤立するか否かを判定し、孤立すると判定された場合、注目画素又は注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素のうち、細線化された画素の前記細線化処理による画素値の変化量を０の値にリセットする工程と、を実行させるためのプログラムであって、
前記注目画素の画素値を決定する工程は、リセットされた前記細線化処理による画素値の変化量を用いて前記注目画素の画素値を決定するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
画像処理の１つとして細線化処理が知られている。細線化処理は文字等のエッジを対象として画素値を減じることにより、文字等の鮮鋭性を向上させる。
エッジを対象とする画像処理にはスムージング処理もある。スムージング処理は文字等の斜線部分のエッジの画素値を増減して中間調とすることにより、斜線部分のエッジを視覚的に滑らかにすることができる。
【０００３】
細線化処理とスムージング処理は同じエッジを対象とするが、処理の目的が異なるため、２つの処理を同時に行うことは困難であった。例えば、文字の直線部分で細線化、斜線部分でスムージングが行われると、シャープで滑らかな文字が得られるが、直線部分と斜線部分の構造を検出し、検出された構造によって細線化処理とスムージング処理を切り替えるような方法（例えば、特許文献１参照）ではそのような文字の実現は難しい。これは、直線部分と斜線部分の双方に属する画素があるためであり、本来スムージングではなく細線化が適当であったのにスムージングによって画素値が増加される等、予期しない結果が生じる。
【０００４】
これに対し、出願人は細線化処理とスムージング処理を同時に実現する画像処理装置を開発している（例えば、特許文献２参照）。この画像処理装置によれば、スムージング処理と細線化処理の結果が、元の画素値からの変化量として保持される。保持された変化量が元の画素値に加算されたときの画素値が最大値を超えたり、負の値になったりする場合、その超えた分や不足する分が注目画素と所定の位置関係にある隣接画素の画素値によって調整される。細線化処理とスムージング処理の処理結果を、注目画素だけではなくその隣接画素との２画素分で調整することにより、２つの処理結果を無理なく消化できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３３４６７２号公報
【特許文献２】特許第４２２５３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
もともと線幅の小さい細線が細線化処理された場合、細線の両側とも細線化されるため、細線がかすれたり消えたりする場合がある。例えば、２画素幅の細線の場合、細線化によって両側から画素値が減じられると、細線自体が消失してしまう。このような細線構造の消失を防ぐため、従来、細線化処理時には細線構造を判定し、細線化の対象から除外することが行われている。
【０００７】
しかしながら、このような細線構造の除外が意図しない結果を招くことがある。例えば、画像データが非可逆圧縮された場合、伸張によって完全に元の画像データが復元されるとは限らず、文字等は部分的に画質が劣化する場合がある。例えば、輪郭が滑らかに復元されず、細く尖ることがある。尖った部分は細線化処理時に細線構造と判定され、その部分だけが細線化が無効化される。同じ文字の中で細線化されない部分と細線化される部分があるため、文字の線幅がアンバランスになる。
【０００８】
また、水平に近い斜線は長い水平線が階段状に並ぶ構造を有するが、段差部分では一時的に線幅が大きくなるため、水平線は細線化の対象外であるのに段差部分のみ細線化されるという現象が生じる。細線化されない水平線の画素が多数あるのに対し細線化された段差部分はせいぜい１、２画素であるため、細線化された部分が孤立した状態となる。このような孤立した細線化部分を持つ画像に対し、細線化処理とスムージング処理が同時に行われると、当該細線化部分のみ過剰に画素値が減じられ、細線化もスムージングも実現できず、画質が劣化する。
【０００９】
本発明の課題は、細線化された画素の孤立による画質劣化を防ぐことである。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明によれば、
画像データに細線化処理を施す細線化処理部と、
画像データにスムージング処理を施すスムージング処理部と、
画像データの各画素についてエッジ方向を判定するエッジ方向判定部と、
注目画素、注目画素の周辺画素の各画素値、前記スムージング処理による画素値の変化量、前記細線化処理による画素値の変化量、注目画素について判定された前記エッジ方向を用い、前記注目画素の前記スムージング処理による画素値の変化量及び前記細線化処理による画素値の変化量の組み合わせに応じて、前記スムージング処理及び前記細線化処理を施した後の前記注目画素の画素値を決定するブレンド処理部と、
前記注目画素及びその周辺画素の前記細線化処理による画素値の変化量により、細線化された画素が孤立するか否かを判定し、孤立すると判定された場合、注目画素又は注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素のうち、細線化された画素の前記細線化処理による画素値の変化量を０の値にリセットする細線化調整部と、を備え、
前記ブレンド処理部は、前記注目画素の画素値の決定に、リセットされた前記細線化処理による画素値の変化量を用いる画像処理装置が提供される。
【００１１】
請求項２に記載の発明によれば、
前記細線化調整部は、細線化された画素が注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素である場合、注目画素が細線化されていることを条件に当該周辺画素の細線化処理による画素値の変化量を０の値にリセットする請求項１に記載の画像処理装置が提供される。
【００１２】
請求項３に記載の発明によれば、
前記細線化調整部は、前記ブレンド処理部が前記注目画素の前記細線化処理による画素値の変化量及び前記スムージング処理による画素値の変化量の組み合わせを分類した後、前記リセットを行う請求項１又は２に記載の画像処理装置が提供される。
【００１３】
請求項４に記載の発明によれば、
前記細線化調整部による前記リセットを実行するか否かを切り替える制御部を備える請求項１〜３の何れか一項に記載の画像処理装置が提供される。
【００１４】
請求項５に記載の発明によれば、
コンピューターに、
画像データに細線化処理を施す工程と、
画像データにスムージング処理を施す工程と、
画像データの各画素についてエッジ方向を判定する工程と、
注目画素、注目画素の周辺画素の各画素値、前記スムージング処理による画素値の変化量、前記細線化処理による画素値の変化量、注目画素について判定された前記エッジ方向を用い、前記注目画素の前記スムージング処理による画素値の変化量及び前記細線化処理による画素値の変化量の組み合わせに応じて、前記スムージング処理及び前記細線化処理を施した後の前記注目画素の画素値を決定する工程と、
前記注目画素及びその周辺画素の前記細線化処理による画素値の変化量により、細線化された画素が孤立するか否かを判定し、孤立すると判定された場合、注目画素又は注目画素のエッジ方向又は逆エッジ方向に隣接する周辺画素のうち、細線化された画素の前記細線化処理による画素値の変化量を０の値にリセットする工程と、を実行させるためのプログラムであって、
前記注目画素の画素値を決定する工程は、リセットされた前記細線化処理による画素値の変化量を用いて前記注目画素の画素値を決定するプログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、細線化処理及びスムージング処理を施した後の画素値の決定時、孤立する細線化された画素の細線化を無効化することができる。細線化の無効化により、当該細線化によって生じる画質の劣化を防ぐことができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態に係る画像処理装置の構成図である。
【図２】７×７画素の領域を示す図である。
【図３】スムージング処理部の構成図である。
【図４】スムージングすべきエッジのパターン検出に用いられるテンプレートの一例である。
【図５】細線化処理部の構成図である。
【図６】エッジ方向の判定例である。
【図７】エッジ方向の判定例である。
【図８】エッジ方向の判定例である。
【図９】ブレンド処理部の構成図である。
【図１０】分類部が行う処理のフローチャートである。
【図１１】ケース１の場合に画素値決定部が行う処理のフローチャートである。
【図１２】（ａ）、（ｂ）はケース１の場合に想定される注目画素と周辺画素の位置関係を示す図である。
【図１３】ケース２の場合に画素値決定部が行う処理のフローチャートである。
【図１４】（ａ）、（ｂ）はケース２の場合に想定される注目画素と周辺画素の位置関係を示す図である。
【図１５】ケース３の場合に画素値決定部が行う処理のフローチャートである。
【図１６】（ａ）、（ｂ）はケース３の場合に想定される注目画素と周辺画素の位置関係を示す図である。
【図１７】ケース４の場合に画素値決定部が行う処理のフローチャートである。
【図１８】（ａ）、（ｂ）はケース４の場合に想定される注目画素と周辺画素の位置関係を示す図である。
【図１９】（ａ）ブレンド処理部が行う処理のイメージ図である。（ｂ）ブレンド処理部の処理結果を示す図である。
【図２０】（ａ）元の画像を示す図である。（ｂ）細線化処理とスムージング処理を同時に行ったときの目標画像を示す図である。（ｃ）元の画像にスムージング処理のみ行った処理結果を示す図である。（ｄ）元の画像に細線化処理のみ行った処理結果を示す図である。（ｅ）画像の構造によってスムージング処理と細線化処理を切り替えた場合の処理結果を示す図である。（ｆ）スムージング処理において画素値を小さく調整した場合の処理結果を示す図である。
【図２１】細線化調整部が行う処理のフローチャートである。
【図２２】（ａ）元の画像である。（ｂ）元の画像のスムージング処理後の画像である。（ｃ）元の画像の細線化処理後の画像である。（ｄ）元の画像に対し細線化処理とスムージング処理が同時に実現された画像である。（ｅ）孤立する細線化された画素の細線化を無効化した場合の細線化処理後の画像である。（ｆ）細線化を無効化したうえで、元の画像に対し細線化処理とスムージング処理が同時に実現された画像である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態について説明する。
【００１８】
図１は、本実施の形態に係る画像処理装置１の構成を示す。
画像処理装置１は、図１に示すようにスムージング処理部２、細線化処理部３、エッジ方向判定部４、ブレンド処理部５を備える。
画像処理装置１は副走査方向に０〜８ライン目までの合計９画素分のラインメモリーを備え、画像データは１クロック毎に主走査方向に１画素ずつシフトしながらこのラインメモリーに入力され保持される。画像データは８ｂｉｔであり、画素値の値域が０〜２５５である。カラー画像の場合、Ｙ（イエロー）、Ｍ（マジェンタ）、Ｃ（シアン）、Ｋ（黒）の４色からなる画像データが入力される。
【００１９】
スムージング処理部２は、画像データの各画素にスムージング処理を施す。スムージング処理はアンチエイリアス処理とも呼ばれる。
スムージング処理は７×７画素単位で行われる。スムージング処理部２は、ラインメモリーから７ライン分の画像データを７クロック分、つまり主走査方向に７画素分保持して７×７画素を得る。
【００２０】
スムージング処理部２は３つ設けられ、上段のスムージング処理部２には０〜６ライン目、中段のスムージング処理部２には１〜７ライン目、下段のスムージング処理部２には２〜８ライン目の画像データがそれぞれ入力される。
図２は中段のスムージング処理部２に入力された７×７画素の領域を示す。図２において各画素には画素位置を示す識別番号０１〜４９が付されている。
【００２１】
各スムージング処理部２は７×７画素の中心に位置する画素にスムージング処理を施し、スムージング処理による画素値の変化量ｄＳＭＴを算出して出力する。つまり、１クロック毎に１×７画素の画素値が各スムージング処理部２に入力され、１×３画素（識別番号１８、２５、３２の画素）の画素値の変化量ｄＳＭＴが出力される。
【００２２】
各スムージング処理部２は、図３に示すように、エッジ判定部２１、テンプレート判定部２２、テンプレート選択部２３、画素値算出部２４を備える。
各スムージング処理部２は処理する画素の位置が異なるが、処理内容は同じであるので、識別番号２５の注目画素をスムージング処理する中段のスムージング処理部２を代表としてスムージング処理を説明する。
【００２３】
エッジ判定部２１は、７×７画素に含まれるエッジの有無を判定する。スムージング処理によってスムージングされる対象、つまり画素値が変更される画素は、文字や線画のエッジだからである。
エッジ判定部２１は隣接する２つの画素間で画素値の差分を算出し、差分が閾値ｔｈ１以上であれば、２つの画素間にエッジが有ると判定する。差分が閾値ｔｈ１未満であれば、エッジ判定部２１は２つの画素間にエッジが無いと判定する。ｔｈ１はエッジ判定用に予め定められた閾値である。差分は絶対値で算出され、差分が算出される２つの画素は所定の位置関係で隣接する画素である。
【００２４】
下記は差分が算出される２つの画素Ａ、Ｂの組み合わせであり、組み合わせは画素Ａの識別番号−画素Ｂの識別番号で示される。
０３−１０、０４−１１、０５−１２、１０−１７、１０−１８、１１−１７、１１−１８、１１−１９、１２−１８、１２−１９、１５−１６、１６−１７、１６−２４、１７−１８、１７−２３、１７−２４、１８−１９、１８−２４、１８−２５、１８−２６、１９−２０、１９−２６、１９−２７、２０−２１、２０−２６、２２−２３、２３−２４、２３−３１、２４−２５、２４−３０、２４−３１、２４−３２、２５−２６、２５−３２、２６−２７、２６−３２、２６−３３、２６−３４、２７−２８、２７−３３、２９−３０、３０−３１、３１−３２、３１−３８、３１−３９、３２−３３、３２−３８、３２−３９、３２−４０、３３−３４、３３−３９、３３−４０、３４−３５、３８−４５、３９−４６、４０−４７
【００２５】
エッジ判定部２１はエッジが有ると判定した場合はＶ[ＡＢ]＝１を出力し、エッジが無いと判定した場合はＶ[ＡＢ]＝０を出力する。Ｖ[ＡＢ]において、Ａ、Ｂは差分の算出に用いられた２つの画素を示し、各画素Ａ、Ｂの識別番号０１〜４９の値が入力される。例えば、識別番号０３の画素Ａと識別番号１０の画素Ｂの差分より、画素Ａと画素Ｂ間にエッジが有ると判定された場合、Ｖ[０３１０]＝１が出力される。
【００２６】
なお、画素Ａ、Ｂの組み合わせは全部で５６であり、演算回路としては１クロックで計５６の減算結果が得られなければならないが、演算回路の最適化によって減算の数を減らすことができる。演算回路は１クロック毎に注目画素の演算結果を出力するが、１クロック毎に注目画素は１画素右へ移動していく。そのため、現クロックで減算された画素Ａ、Ｂは次クロックで画素Ａ−１、Ｂ−１になる。このとき、現クロックにおいて用いられた減算結果Ｖ[ＡＢ]は次クロックにおいてはＶ[（Ａ−１）（Ｂ−１）]の値と同じになる。さらに１クロックが経過すると、この減算結果Ｖ[（Ａ−１）（Ｂ−１）]はＶ[（Ａ−２）（Ｂ−２）]と同じ値となる。このような特性を利用すれば、減算結果を６クロック分保持することによって同じラインの減算結果として保持された減算結果を流用することが可能である。
【００２７】
以下は、ある減算結果が次のクロック又はそれ以降のクロックで１つ左に記された減算結果として流用できることを示す。これによれば、１つの減算結果が６クロック分保持されることで最大６つの減算結果として流用することができる。このような流用を行う回路構成にすることにより、５６回必要だった減算は実質１７回にまで削減することが可能である。
Ｖ[０３１０]←Ｖ[０４１１]←Ｖ[０５１２]
Ｖ[１０１７]←Ｖ[１１１８]←Ｖ[１２１９]
Ｖ[１０１８]←Ｖ[１１１９]
Ｖ[１１１７]←Ｖ[１２１８]
Ｖ[１５１６]←Ｖ[１６１７]←Ｖ[１７１８]←Ｖ[１８１９]←Ｖ[１９２０]←Ｖ[２０２１]
Ｖ[１６２４]←Ｖ[１８２６]←Ｖ[１９２７]
Ｖ[１７２３]←Ｖ[１８２４]←Ｖ[２０２６]
Ｖ[１７２４]←Ｖ[１８２５]←Ｖ[１９２６]
Ｖ[２２２３]←Ｖ[２３２４]←Ｖ[２４２５]←Ｖ[２５２６]←Ｖ[２６２７]←Ｖ[２７２８]
Ｖ[２３３１]←Ｖ[２４３２]←Ｖ[２６３４]
Ｖ[２４３０]←Ｖ[２６３２]←Ｖ[２７３３]
Ｖ[２４３１]←Ｖ[２５３２]←Ｖ[２６３３]
Ｖ[２９３０]←Ｖ[３０３１]←Ｖ[３１３２] ←Ｖ[３２３３]←Ｖ[３３３４]←Ｖ[３４３５]
Ｖ[３１３８]←Ｖ[３２３９]←Ｖ[３３４０]
Ｖ[３１３９]←Ｖ[３２４０]
Ｖ[３２３８]←Ｖ[３３３９]  Ｖ[３８４５]←Ｖ[３９４６]←Ｖ[４０４７]
【００２８】
テンプレート判定部２２は、エッジ判定部２１から出力されたＶ[ＡＢ]とテンプレートを照合し、一致するテンプレートを判定する。テンプレートは、スムージングすべきエッジのパターンを検出できるように設計されている。
図４は一例としてのテンプレートである。図４において（）内の数字は、各テンプレートに付された識別番号である。
【００２９】
図４に示すように、テンプレート上の画素はａ、ｂ、ｃの３つに分類される。テンプレート判定部２２は、テンプレート上で分類ａに該当する画素間のＶ[ＡＢ]＝０、分類ｂに該当する画素間のＶ[ＡＢ]＝０、分類ａに該当する画素と分類ｂに該当する画素間のＶ[ＡＢ]＝１を満たすとき、当該テンプレートと一致したと判定する。分類ｃの画素はエッジの有無が問われない。テンプレートは１つだけでなく、複数一致する場合があり、テンプレート判定部２２は全テンプレートと照合し、一致するテンプレートを全て検出する。
【００３０】
例えば、Ｖ[１８２４]＝０、Ｖ[２６３２]＝０、Ｖ[１８２６]＝１、Ｖ[１８１９]＝０、Ｖ[３１３２]＝０の全てが満たされる場合、テンプレート判定部２２は識別番号２１のテンプレートに一致したと判定する。さらに、Ｖ [２３２４]＝０、Ｖ[３０３１]＝０、Ｖ[１９２０]＝０、Ｖ [２６２７]＝０の全てが満たされる場合、テンプレート判定部２２は識別番号２１だけでなく、識別番号２１３のテンプレートにも一致したと判定する。
【００３１】
テンプレート選択部２３は、テンプレート判定部２２のテンプレートの照合により、１又は複数一致したテンプレートの中から１つのテンプレートを選択する。図４に示すテンプレートには優先順位が定められている。この優先順位に従い、テンプレート選択部２３は、一致したテンプレートのうち、最も優先順位の高いテンプレートを選択する。テンプレートの優先順位は、識別番号２４、２３、２２、２１、２３３、２１３、２４３、２２３、２５２、２５１、２５４、２５３、２６２、２６１、２６４、２６３の順に高い。
【００３２】
画素値算出部２４は、テンプレート選択部２３により選択されたテンプレートに定められた分類ａ、ｂに該当する画素の画素値を用いて、スムージング処理による注目画素の画素値の変化量ｄＳＭＴを算出し、出力する。
【００３３】
ｄＳＭＴの算出式は以下の通りである。算出式において、Ｃは[]内の識別番号で示される各画素の画素値である。注目画素の画素値はＣ[２５]で示される。
選択されたテンプレートの識別番号が２１、２２、２３、２４のとき、
ｄＳＭＴ＝（Ｃ[１８]＋Ｃ[２５]＋Ｃ[３２]）／３−Ｃ[２５]
選択されたテンプレートの識別番号が２１３、２３３のとき、
ｄＳＭＴ＝（Ｃ[１８]×２＋Ｃ[２５]＋Ｃ[３２]×２）／５−Ｃ[２５]
選択されたテンプレートの識別番号が２２３、２４３のとき、
ｄＳＭＴ＝（Ｃ[２４]×２＋Ｃ[２５]＋Ｃ[２６]×２）／５−Ｃ[２５]
【００３４】
選択されたテンプレートの識別番号が２５１、２５２のとき、
ｄＳＭＴ＝（Ｃ[２５]×４＋Ｃ[３２]）／５−Ｃ[２５]
選択されたテンプレートの識別番号が２５３、２５４のとき、
ｄＳＭＴ＝（Ｃ[２５]×４＋Ｃ[１８]）／５−Ｃ[２５]
選択されたテンプレートの識別番号が２６１、２６２のとき、
ｄＳＭＴ＝（Ｃ[２５]×４＋Ｃ[２６]）／５−Ｃ[２５]
選択されたテンプレートの識別番号が２６３、２６４のとき、
ｄＳＭＴ＝（Ｃ[２５]×４＋Ｃ[２４]）／５−Ｃ[２５]
【００３５】
得られた変化量ｄＳＭＴを注目画素の画素値に加えることにより、スムージング処理後の注目画素の画素値が得られる。このようなスムージング処理によれば、隣接する２画素間の画素値の差分が略同じ値か異なる値かによって、スムージングすべきエッジに該当する注目画素を検出できる。検出された注目画素の画素値は、注目画素とその周辺画素の画素値を重み付けした平均値に変換されるので、前景や背景の画素値が中間調を含むどのような値であってもスムージング処理することが可能である。
【００３６】
細線化処理部３は、画像データの各画素に細線化処理を施す。
細線化処理は３×３画素単位で行われる。細線化処理部３は、ラインメモリーから３ライン分の画像データを３クロック分入力し、３×３画素を得る。細線化処理部３は３つ設けられ、上段の細線化処理部３には２〜４ライン目、中段の細線化処理部３には３〜５ライン目、下段の細線化処理部３には４〜６ライン目の画像データが入力される。各細線化処理部３は３×３画素の中心に位置する画素に細線化処理を施し、細線化処理による画素値の変化量ｄＳＴを算出して出力する。つまり、１クロック毎に１×３画素の画素値が各細線化処理部３に入力され、１×３画素（識別番号１８、２５、３２の画素）の画素値の変化量ｄＳＴが出力される。
【００３７】
各細線化処理部３は、図５に示すように、エッジ強度算出部３１、エッジ判定部３２、細線化判定部３３、画素値算出部３４を備える。
各細線化処理部３は処理する画素の位置が異なるが、処理内容は同じであるので、識別番号２５の注目画素を処理する中段の細線化処理部３を代表として細線化処理を説明する。
【００３８】
エッジ強度算出部３１は、注目画素におけるエッジ強度を求める。エッジ強度算出部３１は、注目画素とその周辺画素との差Ｅ０〜Ｅ７を算出し、そのうちの最大値ＰＥＤを求める。Ｅ０〜Ｅ７の算出式は以下の通りである。Ｃは[]内の識別番号で示される各画素の画素値である。
Ｅ０＝Ｃ[２５]−Ｃ[１７]
Ｅ１＝Ｃ[２５]−Ｃ[１８]
Ｅ２＝Ｃ[２５]−Ｃ[１９]
Ｅ３＝Ｃ[２５]−Ｃ[２４]
Ｅ４＝Ｃ[２５]−Ｃ[２６]
Ｅ５＝Ｃ[２５]−Ｃ[３１]
Ｅ６＝Ｃ[２５]−Ｃ[３２]
Ｅ７＝Ｃ[２５]−Ｃ[３３]
【００３９】
エッジ強度算出部３１は、Ｅ０〜Ｅ７の符号を反転させ、そのうちの最大値ＲＥＤを求める。細線化処理部３は、ＰＥＤ＜ＲＥＤであれば、ＰＥＤ＝０、ＲＥＤ＜ＰＥＤであれば、ＲＥＤ＝０に修正する。
以上のようにして求めたＥ０〜Ｅ７、ＰＥＤ、ＲＥＤがエッジ強度である。
【００４０】
エッジ判定部３２は、カラー画像の場合、各色の画像データから求められたＰＥＤ、ＲＥＤによって、下記式によりＴＰＥＤ、ＴＲＥＤを求める。[]内のｙはイエロー、ｍはマジェンタ、ｃはシアン、ｋは黒の色の画像データから求められたエッジ強度であることを示す。
ＴＰＥＤ＝
（ＰＥＤ[ｙ]×Ｗｙ＋ＰＥＤ[ｍ] ×Ｗｍ＋ＰＥＤ[ｃ] ×Ｗｃ＋ ＰＥＤ[ｋ] ×Ｗｋ）
ＴＲＥＤ＝
（ＲＥＤ[ｙ]×Ｗｙ＋ＲＥＤ[ｍ] ×Ｗｍ＋ＲＥＤ[ｃ] ×Ｗｃ＋ ＲＥＤ[ｋ] ×Ｗｋ）
上記式において、Ｗｙ、Ｗｍ、Ｗｃ、Ｗｋは予め定められた係数であり、Ｗｙ＋Ｗｍ＋Ｗｃ＋Ｗｋ≦２５５である。
モノクロ画像であれば、ＴＰＥＤ＝ＰＥＤ[ｋ] ×Ｗｋ、ＴＲＥＤ＝ＲＥＤ[ｋ] ×Ｗｋである。
【００４１】
ＴＰＥＤ、ＴＲＥＤは、各色のエッジ強度ＰＥＤ、ＲＥＤを、比視感度に相当する係数Ｗｙ、Ｗｍ、Ｗｃ、Ｗｋで重み付けし足し合わせた値であり、各色を重ね合わせたときの視覚的な濃度の指標となり得る。細線化の対象は前景のエッジであるので、エッジ判定部３２は、ＴＰＥＤ、ＴＲＥＤの大小関係を判定することによって注目画素とその周辺画素のどちらが前景でどちらが背景かを判定する。エッジ判定部３２は、ＴＰＥＤ＞ＴＲＥＤであれば、注目画素が背景より濃度が高い前景のエッジであると判定し、ＥＤ＝１を出力する。一方、ＴＰＥＤ≦ＴＲＥＤであれば、エッジ判定部３２は注目画素は前景のエッジではないと判定し、ＥＤ＝０を出力する。
【００４２】
細線化判定部３３は、前景のエッジと判定された注目画素が細線化の対象となり得るか否かを判定する。エッジではあるが、細線化つまり画素値を減じるのに十分な画素値を注目画素が持たない場合、画素値を減じることによって画素値が非常に小さくなるか、或いは無くなって画像に途切れが生じるため、細線化の対象外とする必要がある。細線化判定部３３は、注目画素の各色の画素値Ｃ[２５]をそれぞれ閾値Ｔｈ２と比較し、何れかの色において画素値Ｃ[２５]が閾値Ｔｈ２以上であれば、細線化に十分な画素値を持つと判定し、ＳＳ＝１を出力する。一方、全ての色において注目画素の画素値Ｃ[２５]が閾値Ｔｈ２未満であれば、細線化判定部３３は注目画素が細線化に十分な画素値を持たないので細線化の対象外であると判定し、ＳＳ＝０を出力する。
【００４３】
画素値算出部３４は、細線化処理による注目画素の画素値の変化量ｄＳＴを算出して出力する。ＥＤ＝１かつＳＳ＝１である場合、注目画素はエッジであり、細線化に十分な画素値を持つので、画素値算出部３４は注目画素を細線化し、下記式によって画素値の変化量ｄＳＴを算出する。変化量ｄＳＴは色毎に求められたＰＥＤ、ＲＥＤを用いて、色毎に求められる。
ｄＳＴ＝（ＰＥＤ−ＲＥＤ）×ＳＴＶＬ
上記ＳＴＶＬは細線化の強度を調整する係数であり、色毎に予め定められている。ＳＴＶＬは０〜１の値域をとり得る。
【００４４】
得られた変化量ｄＳＴを元の画素値に加えることによって細線化処理後の画素値が得られる。ｄＳＴの算出式から分かるように、細線化処理には、ｄＳＴが負の値となって注目画素の画素値が減じられ、文字通り細線化される場合だけでなく、ｄＳＴが正の値となって画素値が増加され、太線化される場合もある。
【００４５】
ＥＤ＝１かつＳＳ＝１ではない場合、注目画素がエッジではない、或いはエッジであるが細線化に十分な画素値を持たないので、画素値算出部３４は注目画素の細線化は行わず、画素値の変化量ｄＳＴ＝０を出力する。
【００４６】
エッジ方向判定部４は、画像データの各画素におけるエッジ方向を判定する。
エッジ方向の判定は５×５画素単位で行われる。エッジ方向判定部４は、ラインメモリーから２〜６ライン目の画像データを５クロック分入力し、ブレンド処理部５における注目画素を中心とする５×５画素を得る。エッジ方向判定部４は、入力された５×５画素の中心に位置する注目画素を対象としてエッジ方向ｐｏｓを判定し、出力する。つまり、１クロック毎に１×５画素の画素値がエッジ方向判定部４に入力され、１画素分のエッジ方向ｐｏｓが出力される。エッジ方向とは画素値が小さい画素から大きい画素へ向かう方向である。注目画素が前景又は背景のエッジであれば、背景から前景への方向がエッジ方向として判定される。
【００４７】
エッジ方向判定部４は、注目画素（識別番号２５の画素）と注目画素に隣接する８つの周辺画素（識別番号１７、１８、１９、２４、２６、３１、３２、３３の画素）との差分ＳＰ、注目画素（識別番号２５の画素）と注目画素の上下左右において注目画素から２画素離れた周辺画素（識別番号１１、２３、２７、３９の画素）との差分ＳＦをそれぞれ算出する。
【００４８】
算出式は以下の通りである。Ｃは[]内の識別番号で示される各画素の画素値である。
ＳＰ[ｕ]＝Ｃ[２５]−Ｃ[１８]
ＳＰ[ｌ]＝Ｃ[２５]−Ｃ[２４]
ＳＰ[ｒ]＝Ｃ[２５]−Ｃ[２６]
ＳＰ[ｄ]＝Ｃ[２５]−Ｃ[３２]
ＳＦ[ｕ]＝Ｃ[２５]−Ｃ[１１]
ＳＦ[ｌ]＝Ｃ[２５]−Ｃ[２３]
ＳＦ[ｒ]＝Ｃ[２５]−Ｃ[２７]
ＳＦ[ｄ]＝Ｃ[２５]−Ｃ[３９]
【００４９】
エッジ方向判定部４は、注目画素の主走査方向におけるエッジ方向ｘ、副走査方向におけるエッジ方向ｙをそれぞれ判定する。ｘ、ｙは０又は±１の値をとり得る。０はエッジが無いことを示し、１はエッジがあることを示す。正負の符号は方向に対応する。
【００５０】
例えば、ＳＰ[ｌ]＜ＳＰ[ｒ]であれば、図６に示すように注目画素の左右のうち右側の周辺画素の画素値が小さい。よって、エッジ方向判定部４は主走査方向におけるエッジ方向を左と判定し、ｘ＝−１を出力する。一方、ＳＰ[ｌ]＞ＳＰ[ｒ]であれば、図７に示すように注目画素の左右のうち左側の画素値が小さい。よって、エッジ方向判定部４は主走査方向におけるエッジ方向を右と判定し、ｘ＝＋１を出力する。
同様に、ＳＰ[ｕ]とＳＰ[ｄ]の比較によって副走査方向のエッジ方向が判定される。ＳＰ[ｕ]＞ＳＰ[ｄ]であれば、エッジ方向判定部４は副走査方向におけるエッジ方向を下と判定し、ｙ＝−１を出力する。ＳＰ[ｕ]＜ＳＰ[ｄ]であれば、エッジ方向判定部４は副走査方向におけるエッジ方向を上と判定し、ｙ＝＋１を出力する。
【００５１】
ＳＰ[ｌ]＝ＳＰ[ｒ]の場合、注目画素の左右で画素値の差が無い。ＳＰ[ｕ]＝ＳＰ[ｄ]の場合も同様に、注目画素の上下で画素値の差が無い。この場合、エッジ方向判定部４は注目画素の左右又は上下でエッジは無いと判定し、ｘ＝０、ｙ＝０をそれぞれ出力する。
【００５２】
エッジ方向判定部４は、注目画素がエッジではないが、エッジから１画素内側の内エッジである場合にも、そのエッジ方向を判定する。
注目画素が内エッジである場合、エッジ方向はｘ＝ｙ＝０である。よって、エッジ方向判定部４は、エッジ方向がｘ＝ｙ＝０である場合、注目画素から２画素離れた周辺画素から求められたＳＦ[ｌ]、ＳＦ[ｒ]、ＳＦ[ｕ]、ＳＦ[ｄ]により、エッジ方向ｘ、ｙを修正する。
【００５３】
エッジ方向判定部４は、ＳＦ[ｌ]＜ＳＦ[ｒ]であれば、ｘ＝０をｘ＝−１に修正し、ＳＦ[ｌ]＞ＳＦ[ｒ]であれば、ｘ＝＋１に修正する。同様に、エッジ方向判定部４は、ＳＦ[ｕ]＞ＳＦ[ｄ]であれば、ｙ＝０をｙ＝−１に修正し、ＳＦ[ｕ]＜ＳＦ[ｄ]であれば、ｙ＝＋１に修正する。ＳＦ[ｌ]＝ＳＦ[ｒ]であれば修正は行わず、エッジ方向判定部４はｘ＝０をそのまま出力する。ＳＦ[ｕ]＝ＳＦ[ｄ]の場合も修正は行わず、エッジ方向判定部４はｙ＝０をそのまま出力する。
【００５４】
例えば、図８に示すように注目画素から２画素離れた右側の周辺画素がエッジであり、注目画素が内エッジである場合、ＳＰ[ｌ]＝ＳＰ[ｒ]であるから、ｘ＝０と判定される。しかし、ＳＦ[ｌ]＜ＳＦ[ｒ]であるから、ｘ＝０はｘ＝−１に修正される。
【００５５】
エッジ方向判定部４は、主走査方向のエッジ方向ｘ及び副走査方向のエッジ方向ｙの組み合わせによって、総合的なエッジ方向ｐｏｓを判定し、出力する。ｐｏｓは０〜４の値をとり得る。０は中央（エッジ無し）、１は左方向、２は右方向、３は上方向、４は下方向を示す。ｘ、ｙの組み合わせに対するエッジ方向ｐｏｓは、以下の通りである。
【００５６】
ｘ＝１かつｙ＝−１のとき、ｐｏｓ＝４
ｘ＝１かつｙ＝０のとき、ｐｏｓ＝２
ｘ＝１かつｙ＝＋１のとき、ｐｏｓ＝２
ｘ＝０かつｙ＝−１のとき、ｐｏｓ＝４
ｘ＝０かつｙ＝０のとき、ｐｏｓ＝０
ｘ＝０かつｙ＝＋１のとき、ｐｏｓ＝３
ｘ＝−１かつｙ＝−１のとき、ｐｏｓ＝１
ｘ＝−１かつｙ＝０のとき、ｐｏｓ＝１
ｘ＝−１かつｙ＝＋１のとき、ｐｏｓ＝３
【００５７】
ブレンド処理部５は、細線化処理とスムージング処理が同時に実現されたときの各画素の画素値を決定する。
ブレンド処理部５は、ラインメモリーの２〜６ライン目の画像データを５クロック分入力し、識別番号２５の注目画素を中心とする５×５画素を得る。また、ブレンド処理部５は、スムージング処理部２及び細線化処理部３から出力される１×３画素の処理結果（変化量ｄＳＭＴ、ｄＳＴ）を主走査方向に３画素シフトして、識別番号２５の注目画素を中心とする３×３画素分の処理結果を入力する。また、ブレンド処理部５はエッジ方向判定部４から注目画素のエッジ方向ｐｏｓを入力する。ブレンド処理部５は、注目画素における細線化の有無、スムージングの有無の組み合わせに応じて、注目画素において細線化とスムージングの双方が同時に実現されたときの画素値Ｇを決定する。画素値Ｇの決定には、注目画素、注目画素の上下左右に隣接する周辺画素、注目画素の上下左右において注目画素から２画素離れた周辺画素の各画素値Ｃ、注目画素と注目画素の上下左右に隣接する周辺画素の画素値の変化量ｄＳＴ、ｄＳＭＴ、注目画素におけるエッジ方向ｐｏｓが用いられる。
【００５８】
ブレンド処理部５は、図９に示すように、分類部５０、画素値決定部５１〜５４を備える。
分類部５０は、注目画素における細線化の有無、スムージングの有無の組み合わせによって、注目画素における細線化とスムージングの状態をケース１〜ケース４に分類する。細線化の有無、スムージングの有無は変化量ｄＳＴ、ｄＳＭＴの値が０か否かによって判定することができる。分類部５０は、注目画素について細線化処理部３から入力される変化量ｄＳＴ[２５]がｄＳＴ[２５]≠０であれば、細線化処理の結果、注目画素において細線化が行われ、ｄＳＴ[２５]＝０であれば細線化が行われなかったと判定する。同様に、分類部５０は注目画素についてスムージング処理部２から入力される変化量ｄＳＭＴ[２５]がｄＳＭＴ[２５]≠０であればスムージングが行われ、ｄＳＭＴ[２５]＝０であればスムージングが行われなかったと判定する。
【００５９】
図１０は、分類部５０による処理の流れを示すフローチャートである。
図１０に示すように、分類部５０は注目画素の変化量ｄＳＴ[２５]≠０、ｄＳＭＴ[２５]≠０のとき（ステップＳ１１；Ｙ）、ケース１に分類する（ステップＳ１２）。注目画素の変化量ｄＳＴ[２５]≠０、ｄＳＭＴ[２５]＝０のとき（ステップＳ１１；Ｎ、Ｓ１３；Ｙ）、分類部５０はケース２に分類する（ステップＳ１４）。注目画素の変化量ｄＳＴ[２５]＝０、ｄＳＭＴ[２５]≠０のとき（ステップＳ１３；Ｎ、Ｓ１５；Ｙ）、分類部５０はケース３に分類する（ステップＳ１６）。注目画素の変化量ｄＳＴ[２５]＝０、ｄＳＭＴ[２５]＝０のとき（ステップＳ１５；Ｎ、Ｓ１７；Ｙ）、分類部５０はケース４に分類する（ステップＳ１８）。
【００６０】
分類部５０は、ケース１に分類された場合は画素値決定部５１に、ケース２に分類された場合は画素値決定部５２に、ケース３に分類された場合は画素値決定部５３に、ケース４に分類された場合は画素値決定部５４に、変化量ｄＳＴ、ｄＳＭＴ、画素値Ｃ、エッジ方向ｐｏｓを出力する。
【００６１】
画素値決定部５１〜５４は、それぞれのケース１〜４に応じて細線化処理及びスムージング処理の双方を同時に実現したときの注目画素の画素値Ｇ[２５]を決定する。
【００６２】
〈ケース１〉
図１１は、ケース１に対し、画素値決定部５１が実行する処理のフローチャートである。
ケース１において注目画素は細線化もスムージングも行われているので、図１２（ａ）に示すような前景のエッジであるか、或いは図１２（ｂ）に示すような背景のエッジであることが想定される。前景のエッジである場合、図１２（ａ）に示すように注目画素Ｍの変化量ｄＳＴ、ｄＳＭＴは何れも負の値であり、細線化処理、スムージング処理のそれぞれによって画素値が減じられる。背景のエッジである場合、図１２（ｂ）に示すように注目画素Ｍの変化量ｄＳＴ、ｄＳＭＴは何れも正の値であり、細線化処理、スムージング処理のそれぞれによって画素値が増加される。
【００６３】
何れの場合も、注目画素Ｍは細線化及びスムージングされ、注目画素Ｍのエッジ方向ｐｏｓ又はエッジ方向の逆方向である逆エッジ方向ａｐｏｓに隣接する周辺画素Ｎは細線化もスムージングもされていない。よって、画素値決定部５１は、図１１に示すように注目画素の元の画素値Ｃ[２５]に、変化量ｄＳＴ[２５]、ｄＳＭＴ[２５]を加えた値を、細線化処理とスムージング処理を同時に実現させたときの注目画素の画素値Ｇ[２５]として決定し、出力する（ステップＳ２１）。
【００６４】
決定された注目画素の画素値Ｇ[２５]は、前景の画素値と背景の画素値の間になければ、前景と背景の境界で注目画素の濃度が突出し、不自然である。よって、注目画素の画素値Ｇ[２５]が、前景つまり注目画素のエッジ方向に隣接する周辺画素の画素値Ｃ[ｐｏｓ]より大きいとき（ステップＳ２２；Ｙ）、画素値決定部５１は決定された注目画素の画素値Ｇ[２５]を前景の画素値Ｃ[ｐｏｓ]に修正する（ステップＳ２３）。また、注目画素の画素値Ｇ[２５]が、背景つまり注目画素の逆エッジ方向に隣接する周辺画素の画素値Ｃ[ａｐｏｓ]より小さいとき（ステップＳ２２；Ｙ）、画素値決定部５１は決定された注目画素の画素値Ｇ[２５]を背景の画素値Ｃ[ａｐｏｓ]に修正する（ステップＳ２３）。ａｐｏｓはエッジ方向ｐｏｓと逆方向の値が設定される。つまり、ｐｏｓ＝１であればａｐｏｓ＝２、ｐｏｓ＝３であればａｐｏｓ＝４である。エッジ方向が無い場合、ｐｏｓ＝ａｐｏｓ＝０である。
【００６５】
〈ケース２〉
図１３は、ケース２に対し、画素値決定部５２が実行する処理のフローチャートである。
ケース２において注目画素は細線化のみ行われているので、図１４（ａ）に示すような前景のエッジであるか、図１４（ｂ）に示すような背景のエッジであると想定される。前景のエッジである場合、図１４（ａ）に示すように注目画素Ｍの変化量ｄＳＴは負の値であり、細線化処理によって画素値が減じられる。注目画素Ｍに逆エッジ方向ａｐｏｓに隣接する周辺画素Ｎの変化量ｄＳＭＴは正の値であり、スムージング処理によって画素値が増加される。背景のエッジである場合、図１４（ｂ）に示すように注目画素Ｍの変化量ｄＳＴは正の値であり、細線化処理によって画素値が増加される。注目画素Ｍにエッジ方向ｐｏｓに隣接する周辺画素Ｎの変化量ｄＳＭＴは負の値であり、スムージング処理によって画素値が減じられる。
【００６６】
このように、細線化された注目画素のエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに、細線化されず、スムージングされた周辺画素が隣接する場合、画素値決定部５２は注目画素とともに当該周辺画素の細線化処理とスムージング処理が同時に実現されたときの画素値を決定する。
【００６７】
注目画素は細線化のみされているので、画素値決定部５２は、図１３に示すように、注目画素の元の画素値Ｃ[２５]に細線化処理による注目画素の画素値の変化量ｄＳＴ[２５]を加えた値を、細線化処理とスムージング処理が同時に実現されたときの注目画素の画素値Ｇ[２５]として一時的に決定する（ステップＳ３１）。次に、画素値決定部５２は、スムージングされた周辺画素がエッジ方向ｐｏｓと逆エッジ方向ａｐｏｓの何れに隣接するかを判定する。
【００６８】
画素値決定部５２は、エッジ方向ｐｏｓ、エッジ方向ｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ｐｏｓ]、ｄＳＭＴ[ｐｏｓ]が、ｐｏｓ≠０、ｄＳＴ[ｐｏｓ]＝０、ｄＳＭＴ[ｐｏｓ]≠０を満たす場合（ステップＳ３２；Ｙ）、スムージングされた周辺画素が注目画素のエッジ方向ｐｏｓに隣接すると判定する（ステップＳ３３）。
【００６９】
画素値決定部５２は、逆エッジ方向ａｐｏｓ、逆エッジ方向ａｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ａｐｏｓ]、ｄＳＭＴ[ａｐｏｓ]が、ａｐｏｓ≠０、ｄＳＴ[ａｐｏｓ]＝０、ｄＳＭＴ[ａｐｏｓ]≠０を満たす場合（ステップＳ３２；Ｎ、Ｓ３４；Ｙ）、スムージングされた周辺画素が背景、つまり注目画素の逆エッジ方向ａｐｏｓに隣接すると判定する（ステップＳ３５）。
何れの条件も満たさない場合（ステップＳ３４；Ｎ）、画素値決定部５２は、スムージングされた周辺画素がエッジ方向ｐｏｓにも逆エッジ方向ａｐｏｓにも隣接しないと判定し、ステップＳ３１で決定された注目画素の画素値Ｇ[２５]を出力する。
【００７０】
スムージングされた周辺画素が隣接する方向が特定されると、画素値決定部５２は注目画素の元の画素値Ｃ[２５]に、細線化処理による注目画素の画素値の変化量ｄＳＴ[２５]、スムージング処理による当該周辺画素の画素値の変化量ｄＳＭＴ[Ｐ]を加えた値を、注目画素の画素値Ｇ[２５]として決定する（ステップＳ３６）。Ｐはｐｏｓ又はａｐｏｓが入力される。ｄＳＭＴ[Ｐ]は、スムージングされた周辺画素がエッジ方向ｐｏｓに隣接するのであれば、ｄＳＭＴ[ｐｏｓ]が用いられ、逆エッジ方向ａｐｏｓに隣接するのであれば、ｄＳＭＴ[ａｐｏｓ]が用いられる。
【００７１】
その後、注目画素の画素値Ｇ[２５]を前景と背景の画素値によって修正する点は、ケース１と同じである。よって、図１１と同じ処理のステップには図１３においても同じステップ番号を付して説明を省略する。
【００７２】
〈ケース３〉
図１５は、ケース３に対し、画素値決定部５３が実行する処理のフローチャートである。
ケース３において注目画素はスムージングのみ行われているので、注目画素は図１６（ａ）に示すような背景のエッジであるか、或いは図１６（ｂ）に示すような前景のエッジであることが想定される。背景のエッジである場合、図１６（ａ）に示すように注目画素Ｍの変化量ｄＳＭＴは正の値であり、スムージング処理によって画素値が増加される。注目画素Ｍにエッジ方向ｐｏｓに隣接する周辺画素Ｎの変化量ｄＳＴは負の値であり、細線化処理によって画素値が減じられる。前景のエッジである場合、図１６（ｂ）に示すように注目画素Ｍの変化量ｄＳＭＴは負の値であり、スムージング処理によって画素値が減じられる。注目画素Ｍに逆エッジ方向ａｐｏｓに隣接する周辺画素Ｎの変化量ｄＳＴは正の値であり、細線化処理によって画素値が増加される。
【００７３】
このように、スムージングされた注目画素のエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに、細線化された周辺画素が隣接する場合、画素値決定部５３は、注目画素とともに当該周辺画素の細線化処理とスムージング処理が同時に実現されたときの画素値Ｇ[Ｐ]を決定する。
【００７４】
注目画素はスムージングのみされているので、画素値決定部５３は、図１５に示すように注目画素の元の画素値Ｃ[２５]にスムージング処理による注目画素の変化量ｄＳＭＴ[２５]を加えた値を、細線化処理とスムージング処理が同時に実現されたときの注目画素の画素値Ｇ[２５]として一時的に決定する（ステップＳ４１）。次に、画素値決定部５３は、細線化された周辺画素がエッジ方向ｐｏｓと逆エッジ方向ａｐｏｓの何れの方向に隣接するかを判定する。
【００７５】
画素値決定部５３は、エッジ方向ｐｏｓ、エッジ方向ｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ｐｏｓ]、ｄＳＭＴ[ｐｏｓ]が、ｐｏｓ≠０、ｄＳＴ[ｐｏｓ]≠０、ｄＳＭＴ[ｐｏｓ]＝０を満たす場合（ステップＳ４２；Ｙ）、細線化された周辺画素が注目画素のエッジ方向ｐｏｓに隣接すると判定する（ステップＳ４３）。
【００７６】
画素値決定部５３は、逆エッジ方向ａｐｏｓ、逆エッジ方向ａｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ａｐｏｓ]、ｄＳＭＴ[ａｐｏｓ]が、ａｐｏｓ≠０、ｄＳＴ[ａｐｏｓ]≠０、ｄＳＭＴ[ａｐｏｓ]＝０を満たす場合（ステップＳ４２；Ｎ、Ｓ４４；Ｙ）、細線化された周辺画素が注目画素の逆エッジ方向ａｐｏｓに隣接すると判定する（ステップＳ４５）。
何れの条件も満たさない場合（ステップＳ４４；Ｎ）、画素値決定部５３は、細線化された周辺画素がエッジ方向ｐｏｓにも逆エッジ方向ａｐｏｓにも隣接しないと判定し、ステップＳ４１で決定された注目画素の画素値Ｇ[２５]を出力する。
【００７７】
細線化された周辺画素が隣接する方向が特定されると、画素値決定部５３は注目画素の画素値Ｃ[２５]と、細線化された周辺画素の画素値Ｃ[Ｐ]のうち、大きい方をＬ、小さい方をＳに入力し（ステップＳ４６）、下記式によりｔｅｍｐを算出する（ステップＳ４７）。
ｔｅｍｐ＝Ｌ＋Ｓ＋ｄＳＴ[Ｐ]＋ｄＳＭＴ[２５]
Ｐはｐｏｓ又はａｐｏｓが入力される。Ｃ[Ｐ]、 ｄＳＴ[Ｐ]は、細線化された周辺画素がエッジ方向ｐｏｓに隣接するのであればＣ[ｐｏｓ]、ｄＳＴ[ｐｏｓ]であり、逆エッジ方向に隣接するのであればＣ[ａｐｏｓ]、ｄＳＴ[ａｐｏｓ]である。
【００７８】
ｔｅｍｐは、スムージングされた注目画素の画素値と細線化された周辺画素の画素値を足し合わせた総和である。画素値決定部５３は、このｔｅｍｐを注目画素と周辺画素に配分する。
【００７９】
スムージング処理による注目画素の画素値の変化量ｄＳＭＴ[２５]と、細線化処理による周辺画素の画素値の変化量ｄＳＴ[Ｐ]の合計が正の値である場合、注目画素のスムージングと周辺画素の細線化によって、この２つの画素の画素値の総和ｔｅｍｐが元の画素値の合計Ｌ＋Ｓより大きくなる。この場合、画素値決定部５３は、元の画素値が大きい方の画素に画素値Ｌを割り当て、他方の画素値に残りの画素値ｔｅｍｐ−Ｌを割り当てる。なお、総和ｔｅｍｐがＬの２倍より大きければ、注目画素も周辺画素も画素値はＬ以上となり、前景にも背景にもなじまない。この場合、画素値決定部５３は何れに対しても最大限許容されるＬの値を割り当てる。
【００８０】
図１５に示すように、ｔｅｍｐ＞Ｌ＋Ｓを満たし（ステップＳ４８；Ｙ）、ｔｅｍｐ＜Ｌ×２を満たす場合（ステップＳ４９；Ｙ）、画素値決定部５３は注目画素の元の画素値Ｃ[２５]が周辺画素の元の画素値Ｃ[Ｐ]より大きければ、注目画素の画素値Ｇ[２５]＝Ｌ、周辺画素の画素値Ｇ[Ｐ]＝ｔｅｍｐ−Ｌに決定する。注目画素の元の画素値Ｃ[２５]が周辺画素の元の画素値Ｃ[Ｐ]より小さければ、画素値決定部５３は注目画素の画素値Ｇ[２５]＝ｔｅｍｐ−Ｌ、周辺画素の画素値Ｇ[Ｐ]＝Ｌに決定する（ステップＳ５０）。
ｔｅｍｐ＞Ｌ＋Ｓを満たすが（ステップＳ４８；Ｙ）、ｔｅｍｐ＜Ｌ×２を満たさない場合（ステップＳ４９；Ｎ）、注目画素の画素値Ｇ[２５]＝Ｌ、周辺画素の画素値Ｇ[Ｐ]＝Ｌに決定する（ステップＳ５１）。
【００８１】
一方、スムージング処理による注目画素の画素値の変化量ｄＳＭＴ[２５]と、細線化処理による周辺画素の画素値の変化量ｄＳＴ[Ｐ]の合計が負の値である場合、注目画素のスムージングと周辺画素の細線化によって、この２つの画素の画素値の総和ｔｅｍｐが元の画素値の合計Ｌ＋Ｓより小さくなる。この場合、画素値決定部５３は、元の画素値が小さい方の画素に画素値Ｓを割り当て、他方の画素に残りの画素値ｔｅｍｐ−Ｓを割り当てる。なお、総和ｔｅｍｐがＳの２倍より小さければ、注目画素も周辺画素も画素値はＳ以下となり、前景にも背景にもなじまない。この場合、画素値決定部５３は何れに対しても最大限許容されるＳの値を割り当てる。
【００８２】
図１５に示すように、ｔｅｍｐ＞Ｌ＋Ｓを満たさず（ステップＳ４８；Ｎ）、ｔｅｍｐ＞Ｓ×２を満たす場合（ステップＳ５２；Ｙ）、注目画素の元の画素値Ｃ[２５]が周辺画素の元の画素値Ｃ[Ｐ]より大きければ、画素値決定部５３は注目画素の画素値Ｇ[２５]＝ｔｅｍｐ−Ｓ、周辺画素の画素値Ｇ[Ｐ]＝Ｓに決定する。注目画素の元の画素値Ｃ[２５]が周辺画素の元の画素値Ｃ[Ｐ]より小さければ、画素値決定部５３は注目画素の画素値Ｇ[２５]＝Ｓ、周辺画素の画素値Ｇ[Ｐ]＝ｔｅｍｐ−Ｓに決定する（ステップＳ５３）。
ｔｅｍｐ＞Ｌ＋Ｓを満たさず（ステップＳ４８；Ｎ）、ｔｅｍｐ＞Ｓ×２も満たさない場合（ステップＳ５２；Ｎ）、画素値決定部５３は注目画素の画素値Ｇ[２５]＝Ｓ、周辺画素の画素値Ｇ[Ｐ]＝Ｓに決定する（ステップＳ５４）。
【００８３】
〈ケース４〉
図１７は、ケース４に対し、画素値決定部５４が実行する処理のフローチャートである。
ケース４において注目画素は細線化もスムージングも行われていないので、注目画素は図１８（ａ）に示すような前景の内エッジであるか、図１８（ｂ）に示すような背景の内エッジであることが想定される。前景の内エッジである場合、図１８（ａ）に示すように注目画素Ｍは細線化もスムージングもされないが、注目画素Ｍに逆エッジ方向ａｐｏｓに隣接する周辺画素Ｎの変化量ｄＳＴ、ｄＳＭＴはそれぞれ負の値であるので、細線化処理及びスムージング処理によって画素値が減じられる。背景の内エッジである場合、図１８（ｂ）に示すように注目画素Ｍは細線化もスムージングもされないが、注目画素Ｍにエッジ方向に隣接する周辺画素Ｎの変化量ｄＳＴ、ｄＳＭＴはそれぞれ正の値であるので、細線化処理及びスムージング処理によって画素値が増加される。
【００８４】
このように、エッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓにおいて細線化もスムージングもされた周辺画素が注目画素に隣接する場合、画素値決定部５４は、注目画素とともに当該周辺画素の細線化処理とスムージング処理が同時に実現されたときの画素値Ｇ[Ｐ]を決定する。
【００８５】
注目画素は細線化もスムージングもされていないので、画素値決定部５４は、図１７に示すように注目画素の元の画素値Ｃ[２５]を、細線化処理とスムージング処理が同時に実現されたときの注目画素の画素値Ｇ[２５]として一時的に決定する（ステップＳ６１）。
【００８６】
次に、画素値決定部５４は、注目画素、注目画素のエッジ方向ｐｏｓに隣接する周辺画素、逆エッジ方向ａｐｏｓに隣接する周辺画素の３つの画素が略同一の画素値であるかを判定する（ステップＳ６２）。注目画素が内エッジである場合、注目画素と、エッジ方向ｐｏｓ及び逆エッジ方向ａｐｏｓに隣接する周辺画素の３つの画素の画素値は略同一となるからである。画素値決定部５４は、エッジ方向ｐｏｓに隣接する周辺画素の画素値Ｃ[ｐｏｓ]から逆エッジ方向ａｐｏｓに隣接する周辺画素の画素値Ｃ[ａｐｏｓ]を差し引いた値と、エッジ方向ｐｏｓに隣接する周辺画素の画素値Ｃ[ｐｏｓ]から注目画素の画素値Ｃ[２５]を差し引いた値の何れもが閾値Ｔｈ３未満である場合、３つの画素の画素値は略同一であると判定する。何れか一方でも閾値Ｔｈ３を越える場合、画素値決定部５４は３つの画素の画素値は略同一ではないと判定する。
【００８７】
３つの画素の画素値が略同一ではない場合（ステップＳ６２；Ｎ）、注目画素は内エッジではなく、内エッジより内側に位置するので、画素値決定部５４はステップＳ６１で決定された画素値Ｇ[２５]を出力する。注目画素が内エッジより内側に位置する場合、注目画素に隣接する周辺画素も内エッジか内エッジより内側に位置するので、当該周辺画素に対する細線化やスムージングは適当でない。よって、画素値決定部５４は強制的に周辺画素の変化量をｄＳＴ[ｐｏｓ]＝ｄＳＴ[ａｐｏｓ]＝０に修正し（ステップＳ６３）、細線化やスムージングを無効化する。
【００８８】
３つの画素の画素値が略同一である場合（ステップＳ６２；Ｙ）、注目画素は内エッジである。画素値決定部５４は、細線化され、スムージングされた周辺画素が注目画素のエッジ方向ｐｏｓと逆エッジ方向ａｐｏｓの何れの方向に隣接するかを判定する（ステップＳ６４）。
【００８９】
画素値決定部５４は、エッジ方向ｐｏｓ、エッジ方向ｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ｐｏｓ]、ｄＳＭＴ[ｐｏｓ]が、ｐｏｓ≠０、ｄＳＴ[ｐｏｓ]≠０、ｄＳＭＴ[ｐｏｓ]≠０を満たす場合（ステップＳ６４；Ｙ）、細線化され、スムージングされた周辺画素が注目画素のエッジ方向ｐｏｓに隣接すると判定する（ステップＳ６５）。
【００９０】
画素値決定部５２は、逆エッジ方向ａｐｏｓ、逆エッジ方向ａｐｏｓにおいて注目画素に隣接する周辺画素について入力された変化量ｄＳＴ[ａｐｏｓ]、ｄＳＭＴ[ａｐｏｓ]が、ａｐｏｓ≠０、ｄＳＴ[ａｐｏｓ]≠０、ｄＳＭＴ[ａｐｏｓ]≠０を満たす場合（ステップＳ６４；Ｎ、Ｓ６６；Ｙ）、細線化され、スムージングされた周辺画素が注目画素の逆エッジ方向ａｐｏｓに隣接すると判定する（ステップＳ６７）。
何れの条件も満たさない場合（ステップＳ６６；Ｎ）、画素値決定部５４は、細線化され、スムージングされた周辺画素は注目画素のエッジ方向及び逆エッジ方向の何れにも隣接しないと判定し、ステップＳ６１で決定された注目画素の画素値Ｇ[２５]を出力する。
【００９１】
細線化され、スムージングされた周辺画素がエッジ方向ｐｏｓに隣接すると特定された場合、画素値決定部５４は当該周辺画素の画素値Ｃ[ｐｏｓ]に、細線化の変化量ｄＳＴ[ｐｏｓ]、スムージングによる変化量ｄＳＭＴ[ｐｏｓ]を加えた値を、細線化処理とスムージング処理が同時に実現されたときの周辺画素の画素値Ｇ[ｐｏｓ]として決定する（ステップＳ６８）。
【００９２】
細線化及びスムージングによって周辺画素の画素値Ｇ[ｐｏｓ]が前景の画素値より大きくなると、不自然である。よって、画素値決定部５４は、決定された画素値Ｇ[ｐｏｓ]が、注目画素からエッジ方向ｐｏｓに２画素離れた周辺画素の画素値Ｃ[２ｐｏｓ]より大きい場合（ステップＳ６９；Ｙ）、周辺画素の画素値Ｇ[ｐｏｓ]を２画素離れた周辺画素の画素値Ｃ[２ｐｏｓ]に修正する。また、画素値決定部５４は周辺画素で処理しきれなかった残りの画素値Ｇ[ｐｏｓ]−Ｃ[２ｐｏｓ]を、注目画素の画素値Ｃ[２５]に加えた値を、細線化処理とスムージング処理が同時に実現されたときの注目画素の画素値Ｇ[２５]として決定する（ステップＳ７０）。
【００９３】
決定された注目画素の画素値Ｇ[２５]も前景の画素値以下に収めるため、決定された注目画素の画素値Ｇ[２５]がエッジ方向に２画素離れた周辺画素の画素値Ｃ[２ｐｏｓ]より大きければ（ステップＳ７１；Ｙ）、画素値決定部５４は注目画素の画素値Ｇ[２５]を２画素離れた周辺画素の画素値Ｃ[２ｐｏｓ]にさらに修正する（ステップＳ７２）。
【００９４】
一方、細線化され、スムージングされた周辺画素が逆エッジ方向ａｐｏｓに隣接すると特定された場合、画素値決定部５４は当該周辺画素の画素値Ｃ[ａｐｏｓ]に、細線化処理による変化量ｄＳＴ[ａｐｏｓ]、スムージング処理による変化量ｄＳＭＴ[ａｐｏｓ]を加えた値を、細線化処理とスムージング処理が同時に実現されたときの周辺画素の画素値Ｇ[ａｐｏｓ]として決定する（ステップＳ７３）。
【００９５】
細線化及びスムージングによって周辺画素の画素値Ｇ[ａｐｏｓ]が背景の画素値より小さくなると、不自然である。よって、画素値決定部５４は、決定された画素値Ｇ[ａｐｏｓ]が、注目画素から逆エッジ方向に２画素離れた周辺画素の画素値Ｃ[２ａｐｏｓ]より小さい場合（ステップＳ７４；Ｙ）、周辺画素の画素値Ｇ[ａｐｏｓ]を２画素離れた周辺画素の画素値Ｃ[２ａｐｏｓ]に修正する。また、画素値決定部５４は周辺画素で処理しきれなかった残りの画素値Ｇ[ａｐｏｓ]−Ｃ[２ａｐｏｓ]を、注目画素の画素値Ｃ[２５]に加えて、注目画素の画素値Ｇ[２５]として決定する（ステップＳ７５）。
【００９６】
決定された注目画素の画素値Ｇ[２５]も背景の画素値以下に収めるため、決定された注目画素の画素値Ｇ[２５]が逆エッジ方向に２画素離れた周辺画素の画素値Ｃ[２ａｐｏｓ]より小さければ（ステップＳ７６；Ｙ）、画素値決定部５４は注目画素の画素値Ｇ[２５]を２画素離れた周辺画素の画素値Ｃ[２ａｐｏｓ]にさらに修正する（ステップＳ７７）。
【００９７】
図１９（ａ）は、上記ブレンド処理部５が行う処理のイメージ図である。
図１９（ａ）に示す画像を細線化処理及びスムージング処理する場合、注目画素Ｍ１は細線化のみされるためケース２に分類される。このとき、エッジ方向及び逆エッジ方向に隣接する周辺画素は細線化もスムージングもされないため、細線化のみされた注目画素Ｍ１の画素値が出力される。
【００９８】
一方、注目画素Ｍ２はスムージングされ、注目画素Ｍ２のエッジ方向に隣接する周辺画素Ｎ２が細線化される。よって、ケース３に分類され、スムージングされた注目画素Ｍ２の画素値と細線化された周辺画素Ｎ２の画素値を足し合わせた画素値が、元の画素値が大きい周辺画素Ｎ２に寄せるように注目画素Ｍ２と周辺画素Ｎ２に配分される。
【００９９】
注目画素Ｍ３はスムージングと細線化の双方が行われ、エッジ方向又は逆エッジ方向に隣接する周辺画素は細線化もスムージングもされない。この場合はケース１に分類され、細線化され、スムージングされた注目画素Ｍ３の画素値が出力される。
【０１００】
その結果、図１９（ｂ）に示すように、直線部分は細線化され、斜線部分はスムージングによって滑らかに階段化されて、細線化とスムージングがバランスよく実現されている。
このようなブレンド処理部５の良好な処理結果に対し、直線部分は細線化処理、斜線部分はスムージング処理と、画像の構造によって処理を切り替える方法や、細線化処理も同時に行われることを考慮してスムージング処理時に変更された画素値を小さな値に設定するような方法では、細線化とスムージングを同時に実現することは難しい。
【０１０１】
図２０（ａ）は元の画像を示す。図２０（ｂ）は元の画像に対し、細線化処理とスムージング処理を同時に行った場合に実現したい目標画像である。
元の画像にスムージング処理のみ実行すると、図２０（ｃ）に示すように、斜線部分のエッジに位置する画素の画素値が増加され、滑らかな斜線となる。元の画像に細線化処理のみ実行すると、図２０（ｄ）に示すように、直線部分の画素値が減じられ、視覚的に細線化される。
【０１０２】
スムージング処理と細線化処理の双方を同時に施す場合、図２０（ｂ）に示す目標画像のように、斜線部分は滑らかとなり、直線部分はエッジの画素値が減じられることが期待される。しかし、単に斜線部分をスムージング処理、直線部分を細線化処理するように切り替えると、図２０（ｅ）に示すように、矢印で示す箇所に予期しない段差が生じ、滑らかな斜線が実現できない。
また、細線化処理も同時に行われることを考慮してスムージング処理時に変更された画素値を小さな値に設定した場合、図２０（ｆ）に示すような処理結果となる。図２０（ｅ）に示される処理結果よりは改善が見られるものの、矢印で示す箇所に段差が生じ、目標画像や本実施の形態に係るブレンド処理部５の処理結果（図１９（ｂ）参照）に比べれば画質が劣る。
【０１０３】
上述の細線化処理とスムージング処理を同時に実現するブレンド処理において、細線化された画素が孤立すると、細線化もスムージングも実現せず、画質劣化を引き起こす。そこで、図１に示すように、画像処理装置１は細線化調整部６を備え、細線化調整部６は細線化された画素が孤立する場合に細線化処理部３による細線化を無効化する。
【０１０４】
細線化調整部６は、ブレンド処理部５における注目画素とその周辺画素の変化量ｄＳＴを細線化処理部３から入力し、入力された変化量ｄＳＴにより注目画素とその周辺画素で細線化された画素が孤立するか否かを判定する。孤立すると判定された場合、細線化調整部６は注目画素と周辺画素のうち、細線化された画素の変化量ｄＳＴを０の値にリセットし、細線化を無効化する。細線化調整部６は、制御部７から制御信号ＳＷに応じて細線化の無効化を実行する。
【０１０５】
制御部７は、細線化調整部６に制御信号ＳＷを出力し、細線化調整部６による細線化の無効化を実行するか否かを切り替える。制御部７は、細線化の無効化を実行する設定の場合はＳＷ＝１、無効化を実行しない設定の場合はＳＷ＝０を出力する。
【０１０６】
図２１は、細線化調整部６が実行する処理のフローチャートである。
図２１に示すように、細線化調整部６は、３つの細線化処理部３から出力される１×３画素の変化量ｄＳＴを主走査方向に３画素分保持し、識別番号２５の注目画素とその周辺画素からなる３×３画素の変化量ｄＳＴを入力する。細線化調整部６は、３×３画素のうち、細線化処理によって細線化された画素、つまりｄＳＴ≠０の画素の数をカウントし、そのカウント数を孤立度ＣＮとして出力する（ステップＳ８１）。
【０１０７】
孤立度ＣＮ、つまり細線化された画素の数が１又は２であれば、３×３画素において細線化された画素が孤立すると考えられる。以下、孤立度ＣＮが０より大きく２以下であれば、細線化調整部６は細線化された画素が孤立すると判定する例を示すが、細線化された画素が孤立する判定基準として孤立度ＣＮが０より大きく１以下の条件を用いてもよい。孤立度ＣＮが１以下の判定基準であっても２以下の判定基準の場合と同様の効果が得られる。
【０１０８】
細線化調整部６は、ＣＮ≦２かつＳＷ＝１の場合（ステップＳ８２；Ｙ）、注目画素と注目画素にエッジ方向又は逆エッジ方向に隣接する周辺画素のうち、細線化された画素の細線化処理による画素値の変化量ｄＳＴ[２５]、ｄＳＴ[ｐｏｓ]、ｄＳＴ[ａｐｏｓ]を強制的に０の値にリセットする（ステップＳＳ８３）。細線化された画素がエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに隣接する周辺画素である場合、細線化調整部６は注目画素が細線化されていることを条件に当該周辺画素の変化量ｄＳＴ[ｐｏｓ]、ｄＳＴ[ａｐｏｓ]をリセットすることが好ましい。リセット後、細線化調整部６は３×３画素（注目画素と周辺画素）の細線化処理による画素値の変化量ｄＳＴをブレンド処理部５に出力する。
【０１０９】
ＣＮ≦２かつＳＷ＝１を満たさない場合（ステップＳ８２；Ｎ）、細線化された画素が孤立しないか、孤立するが細線化のリセットを実行しない設定がされているかの何れかである。何れの場合も、細線化調整部６は変化量ｄＳＴのリセットは実行せず、入力された３×３画素の細線化処理による変化量ｄＳＴをそのままブレンド処理部５に出力する。
【０１１０】
ブレンド処理部５の分類部５０は、細線化調整部６から出力された変化量ｄＳＴを用いて前述のケース１〜４への分類を行う。注目画素の細線化が無効化された場合、ケース３又はケース４に分類される。また、画素値決定部５１〜５４も細線化調整部６から出力された変化量ｄＳＴを用いて前述の注目画素のＧ[２５]、注目画素のエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに隣接する周辺画素の画素値Ｇ[ｐｏｓ]、Ｇ[ａｐｏｓ]の決定を行う。
【０１１１】
上記細線化の無効化によって細線の再現性が向上する。
例えば、図２２（ａ）に示すように３画素幅の細線が階段状に並ぶ斜線構造を持つ元画像に対し、スムージング処理のみを施すと、処理結果として図２２（ｂ）に示すような画像が得られる。スムージング処理によって段差部分の各画素の画素値が増減され、滑らかな斜線が形成されている。
【０１１２】
一方、元画像に細線化処理のみを施した場合は処理結果として図２２（ｃ）に示すような画像が得られる。図２２（ｃ）に示すように細線化された画素（図２２（ｃ）中、丸で囲まれた画素）が１画素のみであり孤立する場合、ブレンド処理部５により細線化処理とスムージング処理が同時に実現されると、図２２（ｄ）において丸で囲まれた、孤立する細線化された画素において過剰に画素値が減じられ、スムージングが実現できない。
【０１１３】
そこで、孤立する細線化された画素の細線化が無効化されると、図２２（ｃ）に示す画像に替えて図２２（ｅ）に示す画像が細線化処理の処理結果として得られる。図２２（ｅ）において丸で囲まれた画素が、細線化が無効化された画素である。その後、ブレンド処理部５により細線化処理とスムージング処理が同時に実現されると、図２２（ｆ）に示すように細線化もスムージングも実現された細線の画像が得られる。
【０１１４】
以上のように、本実施の形態によれば、画像データに細線化処理を施す細線化処理部３と、画像データにスムージング処理を施すスムージング処理部２と、画像データの各画素についてエッジ方向ｐｏｓを判定するエッジ方向判定部４と、注目画素、注目画素の周辺画素の各画素値、スムージング処理による画素値の変化量ｄＳＭＴ、細線化処理による画素値の変化量ｄＳＴ、注目画素について判定されたエッジ方向ｐｏｓを用い、注目画素における細線化の有無、スムージングの有無の組み合わせに応じて、スムージング処理と細線化処理が同時に実現されたときの注目画素の画素値Ｇ[２５]を決定するブレンド処理部５と、注目画素及びその周辺画素の細線化処理による画素値の変化量ｄＳＴにより、細線化された画素が孤立するか否かを判定し、孤立すると判定された場合、注目画素又は注目画素のエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに隣接する周辺画素のうち、細線化された画素の細線化処理による画素値の変化量ｄＳＴ[２５]、ｄＳＴ[ｐｏｓ]、ｄＳＴ[ａｐｏｓ]を０の値にリセットする細線化調整部６と、を備える。ブレンド処理部５は、注目画素の画素値Ｇ[２５]の決定に、リセットされた細線化処理による画素値の変化量ｄＳＴ[２５]、ｄＳＴ[ｐｏｓ]、ｄＳＴ[ａｐｏｓ]を用いる。
【０１１５】
これにより、細線化処理とスムージング処理を同時に実現するうえで、細線化された画素の孤立によって生じる画質の劣化を防ぐことができる。
【０１１６】
細線化調整部６は、細線化された画素が注目画素のエッジ方向ｐｏｓ又は逆エッジ方向ａｐｏｓに隣接する周辺画素である場合、注目画素が細線化されていることを条件に当該周辺画素の細線化処理による画素値の変化量ｄＳＴ[ｐｏｓ]、ｄＳＴ[ａｐｏｓ]を０の値にリセットすることが好ましい。
【０１１７】
細線化調整部６によるリセットを実行するか否かを切り替える制御部７を備えるので、変化量ｄＳＴのリセットを実行するか否かは適宜切り替えることができる。
【０１１８】
なお、上述した実施の形態は本発明の好適な一例であり、これに限定されない。
例えば、ブレンド処理部５が注目画素における細線化の有無、スムージングの有無の組み合わせをケース１〜４に分類した後に、細線化調整部６が変化量ｄＳＴのリセットを行ってもよい。この場合、画素値決定部５１〜５４がそれぞれ細線化調整部６を備え、図１１、１３、１５、１７に示した処理の前に、図２１に示した細線化調整部６による処理を実行する。これにより、ケース１、２の場合、注目画素の変化量ｄＳＴ[２５]がｄＳＴ[２５]＝０にリセットされる。ケース３、４の場合、エッジ方向ｐｏｓに隣接する周辺画素の変化量ｄＳＴ[ｐｏｓ] 又は逆エッジ方向ａｐｏｓに隣接する周辺画素の変化量ｄＳＴ[ａｐｏｓ]が０にリセットされる。
【０１１９】
上述した実施の形態ではケース１〜４の分類前に変化量ｄＳＴの値が０にリセットされるため、リセットがケース１〜４の分類に関わってくる。これに対し、ケース１〜４の分類後にリセットを行うことにより、ケース１〜４の分類は元々の変化量ｄＳＴの値を用いて行い、ブレンド処理部５が画素値の演算をするときだけリセットした変化量ｄＳＴの値を用いることができる。
【０１２０】
また、細線化処理、スムージング処理の処理方法は、上述した処理方法に限定されない。細線化処理による画素値の変化量、スムージング処理による画素値の変化量を出力するのであれば、何れの処理方法であってもよい。
【０１２１】
また、ブレンド処理部５が用いる変化量ｄＳＴ、ｄＳＭＴを、スムージング処理部２、細線化処理部３がそれぞれ算出していたが、スムージング処理部２、細線化処理部３からは処理後の画素値を出力し、ブレンド処理部５が処理後の画素値から元の画素値を差し引いて変化量ｄＳＴ、ｄＳＭＴを算出してもよい。
【０１２２】
また、ブレンド処理部５や細線化調整部６等の各部の処理内容をプログラム化し、このプログラムとＣＰＵ等との協働によってソフトウェア処理してもよい。このとき、プログラムのコンピューター読み取り可能な媒体としては、ＲＯＭ、フラッシュメモリー等の不揮発性メモリー、ＣＤ-ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、プログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【０１２３】
１  画像処理装置
２  スムージング処理部
３  細線化処理部
４  エッジ方向判定部
５  ブレンド処理部
６  細線化調整部
７  制御部
【図１】
0006003260.tif 000002
【図２】
0006003260.tif 000003
【図３】
0006003260.tif 000004
【図４】
0006003260.tif 000005
【図５】
0006003260.tif 000006
【図６】
0006003260.tif 000007
【図７】
0006003260.tif 000008
【図８】
0006003260.tif 000009
【図９】
0006003260.tif 000010
【図１０】
0006003260.tif 000011
【図１１】
0006003260.tif 000012
【図１２】
0006003260.tif 000013
【図１３】
0006003260.tif 000014
【図１４】
0006003260.tif 000015
【図１５】
0006003260.tif 000016
【図１６】
0006003260.tif 000017
【図１７】
0006003260.tif 000018
【図１８】
0006003260.tif 000019
【図１９】
0006003260.tif 000020
【図２０】
0006003260.tif 000021
【図２１】
0006003260.tif 000022
【図２２】
0006003260.tif 000023