(57)【特許請求の範囲】
【請求項１】
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化部と、
前記ブロック化部によってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出部と、
前記画素ブロック平均値算出部によって算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換部と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出部と、
前記画素ブロックを構成する各画素の階調値に基づいて、階調値の高い順にドットの出力が行われる、前記画素ブロックと同一サイズの第１の画素出力順パターンを設定する画素出力順パターン設定部と、
前記画素ブロックと同一サイズの画素出力順パターンであって、それぞれドットの出力順序が予め定められた複数の第２の画素出力順パターンが記憶された画素出力順パターン記憶部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記画素出力順パターン設定部によって設定された前記第１の画素出力順パターンを選択し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記画素出力順パターン記憶部に記憶された前記複数の第２の画素出力順パターンから何れかを選択する画素出力順パターン選択部と、
前記階調変換部によって得られた階調値から、前記画素出力順パターン選択部によって選択された画素出力順パターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成部と、
前記階調変換部による階調値の平均値の量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画素出力順パターン選択部は、前記エッジ検出部により、前記画素ブロックにおけるエッジ部を検出しないときに、前記複数の第２の画素出力順パターンから何れかについて無作為に選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化部と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出部と、
前記画素ブロックと同一サイズのディザパターンであって、前記画素ブロックの画素毎に対応して閾値が定められた複数のディザパターンが記憶されたディザパターン記憶部と、
前記ブロック化部によってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出部と、
前記画素ブロック平均値算出部によって算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、閾値が何れも同一である第１のディザパターンを選択し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、ドットの出力順序が所定の順序となるように、前記画素ブロックにおける画素毎に対応して定められた閾値がそれぞれ異なる第２のディザパターンを選択するディザパターン選択部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記ブロック化部によってブロック化された画素ブロックのそれぞれの画素の階調値を、前記ディザパターン選択部によって選択された第１のディザパターンに従って量子化して前記画素ブロックの画像データを生成し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記階調変換部によって得られた階調値の平均値から、前記ディザパターン選択部によって選択された第２のディザパターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成部と、
前記階調変換部及び前記画像データ生成部による量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散部と、
を備えることを特徴とする画像処理装置。
【請求項４】
前記ディザパターンに設定された閾値を２値化閾値としたことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記エッジ検出部は、前記画素ブロックにおける最大階調値である画素の階調値と最小階調値である画素の階調値との差と、所定のエッジ検出閾値との関係に基づき、前記エッジ部の検出を行うことを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記画素ブロックは、ｎ個（ｎは自然数）の画素によって構成され、
前記量子化閾値は、前記階調変換部によって量子化後の前記画素ブロックを構成する画素の階調値の平均値がｎ＋１値化されるように定められていることを特徴とする請求項１〜５の何れか一項に記載の画像処理装置。
【請求項７】
前記画素ブロックを構成する画素の属性を示す属性情報を入力し、該属性情報を判定する属性情報判定部を備え、
前記エッジ検出部は、前記属性情報判定部による判定結果、前記画素ブロックに文字属性である属性情報が含まれていることを条件として、前記画素ブロックにおけるエッジ部の検出を行うことを特徴とする請求項１〜６の何れか一項に記載の画像処理装置。
【請求項８】
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化工程と、
前記ブロック化工程においてブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出工程と、
前記画素ブロック平均値算出工程において算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、階調値の高い順にドットの出力が行われる、前記画素ブロックと同一サイズの第１の画素出力順パターンを設定する画素出力順パターン設定工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、前記画素出力順パターン設定工程において設定された前記第１の画素出力順パターンを選択し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、画素出力順パターン記憶部に記憶された、前記画素ブロックと同一サイズの画素出力順パターンであって、それぞれドットの出力順序が予め定められた複数の第２の画素出力順パターンから何れかを選択する画素出力順パターン選択工程と、
前記階調変換工程において得られた階調値から、前記画素出力順パターン選択工程において選択された画素出力順パターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成工程と、
前記階調変換工程における階調値の平均値の量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散工程と、
を含む画像処理方法。
【請求項９】
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出工程と、
前記ブロック化工程においてブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出工程と、
前記画素ブロック平均値算出工程において算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、ディザパターン記憶部に記憶された、前記画素ブロックと同一サイズのディザパターンであって、前記画素ブロックの画素毎に対応して閾値が定められた複数のディザパターンのうち、閾値が何れも同一である第１のディザパターンを選択し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、ドットの出力順序が所定の順序となるように、前記画素ブロックにおける画素毎に対応して定められた閾値がそれぞれ異なる第２のディザパターンを選択するディザパターン選択工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、前記ブロック化工程においてブロック化された画素ブロックのそれぞれの画素の階調値を、前記ディザパターン選択工程において選択された第１のディザパターンに従って量子化して前記画素ブロックの画像データを生成し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、前記階調変換工程において得られた階調値の平均値から、前記ディザパターン選択工程において選択された第２のディザパターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成工程と、
前記階調変換工程及び前記画像データ生成工程における量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散工程と、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、画像処理の際に、注目画素の多値画像データを二値化し、二値化前後の誤差を周辺の未処理画素に拡散させる誤差拡散処理を行う画像処理装置が知られている。このような画像処理装置は、高解像度画像に対して誤差拡散処理を行う場合には、処理量が大変多く、ハードウェアに対する処理負荷が大きいものである。
【０００３】
このような問題に鑑み、従来の画像処理装置では、複数の画素をブロック化し、ブロックを構成する各画素の階調を加算し、加算したブロックに対してディザ処理を行ってブロック内を二値化し、二値化の際に生じた誤差を周辺のブロックに拡散させるものがある（特許文献１）。
【０００４】
ところが、このような誤差拡散処理が行われることによれば、演算量が低減されるので処理負荷は軽減されるが、文字を出力する場合において、輪郭部分（エッジ部）がぼやけてしまい、画質が低下するという問題がある。
【０００５】
このような問題に対し、従来の画像処理装置において、複数の画素をブロックにて読み込み、ブロック内における白画素及び黒画素の存在を判定し、ブロック内における白画素及び黒画素以外の画素の画素値（階調値）の平均を求めて階調変換を行い、これをブロック内の各画素の面積階調パターンに変換し、ブロックの読み込み時において白画素及び黒画素であった画素位置には、強制的に白画素あるいは黒画素に変換するようにしたものがある（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２６２０８９号公報
【特許文献２】特開２００２−２５２７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献２に記載の画像処理装置では、エッジ部の尖鋭性は図られるようになるが、このようなエッジ部の再現はソリッド画像のデータに限られてしまい、中間調画像では、細線や文字を再現する場合において、輪郭がぼやけて表れてしまう。
【０００８】
本発明の課題は、処理負荷を軽減するとともに、中間調であっても、細線や文字などの高精細部における再現性の向上を図ることができる画像処理装置及び画像処理方法を提供することである。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、請求項１に記載の発明は、画像処理装置において、
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化部と、
前記ブロック化部によってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出部と、
前記画素ブロック平均値算出部によって算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換部と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出部と、
前記画素ブロックを構成する各画素の階調値に基づいて、階調値の高い順にドットの出力が行われる、前記画素ブロックと同一サイズの第１の画素出力順パターンを設定する画素出力順パターン設定部と、
前記画素ブロックと同一サイズの画素出力順パターンであって、それぞれドットの出力順序が予め定められた複数の第２の画素出力順パターンが記憶された画素出力順パターン記憶部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記画素出力順パターン設定部によって設定された前記第１の画素出力順パターンを選択し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記画素出力順パターン記憶部に記憶された前記複数の第２の画素出力順パターンから何れかを選択する画素出力順パターン選択部と、
前記階調変換部によって得られた階調値から、前記画素出力順パターン選択部によって選択された画素出力順パターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成部と、
前記階調変換部による階調値の平均値の量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散部と、
を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記画素出力順パターン選択部は、前記エッジ検出部により、前記画素ブロックにおけるエッジ部を検出しないときに、前記複数の第２の画素出力順パターンから何れかについて無作為に選択することを特徴とする。
【００１１】
請求項３に記載の発明は、画像処理装置において、
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化部と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出部と、
前記画素ブロックと同一サイズのディザパターンであって、前記画素ブロックの画素毎に対応して閾値が定められた複数のディザパターンが記憶されたディザパターン記憶部と、
前記ブロック化部によってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出部と、
前記画素ブロック平均値算出部によって算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、閾値が何れも同一である第１のディザパターンを選択し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、ドットの出力順序が所定の順序となるように、前記画素ブロックにおける画素毎に対応して定められた閾値がそれぞれ異なる第２のディザパターンを選択するディザパターン選択部と、
前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出したときに、前記ブロック化部によってブロック化された画素ブロックのそれぞれの画素の階調値を、前記ディザパターン選択部によって選択された第１のディザパターンに従って量子化して前記画素ブロックの画像データを生成し、前記エッジ検出部によって前記画素ブロックにおけるエッジ部を検出しないときに、前記階調変換部によって得られた階調値の平均値から、前記ディザパターン選択部によって選択された第２のディザパターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成部と、
前記階調変換部及び前記画像データ生成部による量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散部と、
を備えることを特徴とする。
【００１２】
請求項４に記載の発明は、請求項３に記載の画像処理装置において、
前記ディザパターンに設定された閾値を２値化閾値としたことを特徴とする。
【００１３】
請求項５に記載の発明は、請求項１〜４の何れか一項に記載の画像処理装置において、
前記エッジ検出部は、前記画素ブロックにおける最大階調値である画素の階調値と最小階調値である画素の階調値との差と、所定のエッジ検出閾値との関係に基づき、前記エッジ部の検出を行うことを特徴とする。
【００１４】
請求項６に記載の発明は、請求項１〜５の何れか一項に記載の画像処理装置において、
前記画素ブロックは、ｎ個（ｎは自然数）の画素によって構成され、
前記量子化閾値は、前記階調変換部によって量子化後の前記画素ブロックを構成する画素の階調値の平均値がｎ＋１値化されるように定められていることを特徴とする。
【００１５】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の画像処理装置において、
前記画素ブロックを構成する画素の属性を示す属性情報を入力し、該属性情報を判定する属性情報判定部を備え、
前記エッジ検出部は、前記属性情報判定部による判定結果、前記画素ブロックに文字属性である属性情報が含まれていることを条件として、前記画素ブロックにおけるエッジ部の検出を行うことを特徴とする。
【００１６】
請求項８に記載の発明は、画像処理方法において、
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化工程と、
前記ブロック化工程においてブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出工程と、
前記画素ブロック平均値算出工程において算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、階調値の高い順にドットの出力が行われる、前記画素ブロックと同一サイズの第１の画素出力順パターンを設定する画素出力順パターン設定工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、前記画素出力順パターン設定工程において設定された前記第１の画素出力順パターンを選択し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、画素出力順パターン記憶部に記憶された、前記画素ブロックと同一サイズの画素出力順パターンであって、それぞれドットの出力順序が予め定められた複数の第２の画素出力順パターンから何れかを選択する画素出力順パターン選択工程と、
前記階調変換工程において得られた階調値から、前記画素出力順パターン選択工程において選択された画素出力順パターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成工程と、
前記階調変換工程における階調値の平均値の量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散工程と、
を含むことを特徴とする。
【００１７】
請求項９に記載の発明は、画像処理方法において、
多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとするブロック化工程と、
前記画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行うエッジ検出工程と、
前記ブロック化工程においてブロック化された画素ブロックを構成する画素の階調値の平均値を算出する画素ブロック平均値算出工程と、
前記画素ブロック平均値算出工程において算出された階調値の平均値を、予め定められた量子化閾値に基づいて量子化する階調変換工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、ディザパターン記憶部に記憶された、前記画素ブロックと同一サイズのディザパターンであって、前記画素ブロックの画素毎に対応して閾値が定められた複数のディザパターンのうち、閾値が何れも同一である第１のディザパターンを選択し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、前記ディザパターン記憶部に記憶されたディザパターンのうち、ドットの出力順序が所定の順序となるように、前記画素ブロックにおける画素毎に対応して定められた閾値がそれぞれ異なる第２のディザパターンを選択するディザパターン選択工程と、
前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出したときに、前記ブロック化工程においてブロック化された画素ブロックのそれぞれの画素の階調値を、前記ディザパターン選択工程において選択された第１のディザパターンに従って量子化して前記画素ブロックの画像データを生成し、前記エッジ検出工程において前記画素ブロックにおけるエッジ部を検出しないときに、前記階調変換工程において得られた階調値の平均値から、前記ディザパターン選択工程において選択された第２のディザパターンに従ってドットが出力されるように前記画素ブロックの画像データを生成する画像データ生成工程と、
前記階調変換工程及び前記画像データ生成工程における量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する誤差拡散工程と、
を含むことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、処理負荷を軽減するとともに、中間調であっても、細線や文字などの高精細部における再現性の向上を図ることができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態における画像形成装置の内部構成を示すブロック図である。
【図２】第１のブロックディザの生成過程について説明する図である。
【図３】第２のブロックディザの構成について説明する図である。
【図４】拡散係数パターンを示す図である。
【図５】第１の実施の形態における画像変換処理について説明するフローチャートである。
【図６】画像処理の過程について説明する図である。
【図７】第１の実施の形態における画像変換処理の別の態様について説明するフローチャートである。
【図８】第２の実施の形態における画像形成装置の内部構成を示すブロック図である。
【図９】画像処理の過程について説明する図である。
【図１０】第２のブロックディザの構成について説明する図である。
【図１１】第２の実施の形態における画像変換処理について説明するフローチャートである。
【図１２】画像処理の過程について説明する図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して説明する。ただし、発明の範囲は図示例に限定されない。なお、以下の説明において、同一の機能及び構成を有するものについては、同一の符号を付し、その説明を省略する。
【００２１】
（第１の実施の形態）
図１に示すように、画像処理装置としての画像形成装置１は、例えば、ＣＰＵ（Central Processing Unit）１０と、ＲＯＭ（Read Only Memory）１１と、ＲＡＭ（Random Access Memory）１２と、画像読取部１３と、画像処理部１４と、メモリ制御部１５と、画像メモリ１６と、画像形成部１７と、搬送部１８と、操作部１９と、通信部２０とを備えて構成され、各部はバス２１により相互に接続される。
【００２２】
ＣＰＵ１０は、画像形成装置１の各部を中央制御する。ＣＰＵ１０は、ＲＯＭ１１に記憶された各種システムプログラム、後述する画像変換処理を実行するための画像変換プログラム等のアプリケーションプログラムの中から指定されたプログラムをＲＡＭ１２に展開し、当該展開されたプログラムと、ＣＰＵ１０との協働により各種処理が実行される。
【００２３】
ＲＯＭ１１は、ＣＰＵ１０によって実行される、画像形成装置１の動作に係る各種機能を実現するための各種プログラムと、当該各種プログラムの実行時に使用される各種データを記憶する。特に、ＲＯＭ１１は、画像変換プログラム、画像処理部１４での階調値の量子化の際に使用する量子化閾値のデータ、画像処理部１４でのエッジ部判定の際に使用するエッジ検出閾値のデータ、誤差拡散処理で使用する拡散係数パターンのデータ等を記憶している。
【００２４】
ＲＡＭ１２は、ＣＰＵ１０によって実行される各種制御プログラムをプログラム格納エリアに展開し、入力されたデータや、各種制御プログラムの実行時に生じる処理結果等のデータをワークエリアに一時的に記憶する。
【００２５】
画像読取部１３は、スキャナ等により構成され、スキャナにより原稿の画像情報を読み取って画像データを生成する。具体的に、画像読取部１３は、透明なコンタクトガラスに載置された原稿を、光源からの照明により走査し、その反射光をＣＣＤ（Charge Coupled Device）により結像して光電変換することにより多値の画像データを生成し、画像処理部１４に出力する。
【００２６】
画像処理部１４は、入力された多値の画像データに対し、変倍処理、フィルタ処理、ガンマ変換処理等の各種画像処理を施す。また、画像処理部１４は、ブロック化部１４ａ、画素ブロック平均値算出部１４ｂ、階調変換部１４ｃ、エッジ検出部１４ｄ、画素出力順パターン生成部１４ｅ、画素出力順パターン記憶部１４ｆ、画素出力順パターン選択部１４ｇ、画像データ生成部１４ｈ、誤差拡散部１４ｉ、属性情報判定部１４ｊを有している。
【００２７】
ブロック化部１４ａは、入力した画像データを、所定の複数画素単位でブロック化して画素ブロックに変換する。本実施の形態では、ブロック化部１４ａは、各画素ブロックのサイズが２×２＝４画素単位となるようにブロック化を行う。なお、ブロック化後の画素ブロックのサイズについては任意に設定することができる。また、画像データにおいて全て同一サイズの画素ブロックにてブロック化するものに限らず、領域によってサイズを異ならせるようにするものであってもよい。
【００２８】
画素ブロック平均値算出部１４ｂは、ブロック化部１４ａによってブロック化された画素ブロックを構成する画素の多値の階調値の平均値を算出する。具体的には、例えば、画素ブロックを構成する画素の多値の階調値が、それぞれ「０」、「１２０」、「１９２」、「２５５」である場合、当該画素ブロックの階調値の平均値は「１４２」となる。なお、後述するように、算出された画素ブロックの階調値の平均値に対しては、誤差拡散部１４ｉによって拡散された量子化誤差が加算される。
【００２９】
階調変換部１４ｃは、画素ブロック平均値算出部１４ｂにて算出された処理対象の画素ブロック（注目画素ブロック）の多値の階調値の平均値を、階調数が減少するように変換（量子化）する。具体的には、階調変換部１４ｃは、ＲＯＭ１１に記憶された量子化閾値のデータを読み出して量子化閾値ＴＨＲ０〜ＴＨＲ３を画像処理部１４内部の閾値レジスタ（図示略）に保持し、注目画素ブロックの多値（２５６値）の階調値の平均値を、閾値レジスタに保持された量子化閾値ＴＨＲ０〜ＴＨＲ３との比較によって変換する。この量子化閾値は、例えば、「ＴＨＲ０＝３２」、「ＴＨＲ１＝９６」、「ＴＨＲ２＝１６０」、「ＴＨＲ３＝２２４」に設定されている。そして、階調変換部１４ｃは、量子化閾値ＴＨＲ０〜ＴＨＲ３により、注目画素ブロックの階調値の平均値を以下の条件に従って５値に量子化する。
注目画素の階調値＜ＴＨＲ０  →  階調値＝０
ＴＨＲ０≦注目画素の階調値＜ＴＨＲ１  →  階調値＝６４
ＴＨＲ１≦注目画素の階調値＜ＴＨＲ２  →  階調値＝１２８
ＴＨＲ２≦注目画素の階調値＜ＴＨＲ３  →  階調値＝１９２
ＴＨＲ３≦注目画素の階調値            →  階調値＝２５５
例えば、注目画素ブロックの階調値の平均値が「１４２」であれば、量子化後の階調値は「１２８」となる。
なお、画素ブロックの多値の階調値の平均値の量子化後の階調数は、次式（１）により求められたものとすると、出力する画素ブロックの階調再現に合わせた量子化閾値が設定できるので好ましい。なお、次式（１）における（ｎ）の値は自然数とする。
画素ブロックの多値の階調値の平均値の量子化後の階調数
＝画素ブロック数（ｎ）＋１    …（１）
本実施の形態では、画素ブロック数（ｎ）＝４ゆえ、画素ブロックの多値の階調値の平均値の量子化後の階調数は５としている。
なお、本実施の形態では、画素ブロックの多値の階調値の平均値を５値に量子化するため、量子化閾値としてＴＨＲ０〜ＴＨＲ３の４つの値を用いるものとするが、量子化閾値の設定数はこの数に限定されるものではない。また、各閾値も任意に設定することができる。また、閾値に限らず、ＲＯＭ１１に記憶された階調変換ＬＵＴを用いて変換するようにしてもよい。
【００３０】
エッジ検出部１４ｄは、注目画素ブロックを構成する各画素の階調値に基づき、注目画素ブロックにエッジ部が含まれているか否かを判定して、エッジ部の検出を行うものである。具体的には、エッジ検出部１４ｄは、ＲＯＭ１１に記憶されたエッジ検出閾値のデータを読み出してエッジ検出閾値ＴＨＲ４を画像処理部１４内部の閾値レジスタに保持し、注目画素ブロックを構成する各画素のうち、最大階調値である画素と最小階調値である画素を特定して、これらの画素の階調値の差分を算出する。そして、エッジ検出部１４ｄは、この階調値の差分がエッジ検出閾値ＴＨＲ４以上であると判定した場合に、エッジ部を含んでいることを検出する。なお、エッジ検出閾値ＴＨＲ４は、ユーザの好みに応じて任意に設定することができるが、「３２」〜「６４」の範囲で設定するのが好ましい。本実施の形態において、文字のエッジ部を明瞭にさせたい場合には、エッジ検出閾値ＴＨＲ４を小さく設定すればよく、例えば、淡い階調の文字のエッジ部を明瞭にさせたい場合には、エッジ検出閾値ＴＨＲ４を「３２」に設定すると効果的である。また、例えば、淡い階調の文字のエッジ部を明瞭にさせるとともに、画像における階調の淡い境界線から、淡い階調の画像内部への階調の移行を自然に行わせるようにする場合には、エッジ検出閾値ＴＨＲ４を「６４」に近い数値に設定すると効果的である。
【００３１】
画素出力順パターン生成部１４ｅは、注目画素ブロックと同サイズのブロックディザ（第１のブロックディザ）の生成を行う。具体的には、画素出力順パターン生成部１４ｅは、注目画素ブロックを構成する各画素の階調値の高い順にドットが出力されるようなブロックディザを生成する。例えば、図２に示すように、注目画素ブロックにおける左上に配置される画素の階調値が「０」、右上に配置される画素の階調値が「１２０」、左下に配置される画素の階調値が「１９２」、右下に配置される画素の階調値が「２５５」の場合、右下、左下、右上、左上の順にドットが出力されるブロックディザが生成される。なお、生成されたブロックディザは、例えば、所定の図示しないメモリ領域に保持される。
【００３２】
画素出力順パターン記憶部１４ｆは、画素ブロックと同一サイズのブロックディザ（第２のブロックディザ）が記憶されるものである。具体的には、画素出力順パターン記憶部１４ｆには、図３に示されるように、ドットの出力順序が予め定められたブロックディザが複数種類記憶されている。
【００３３】
画素出力順パターン選択部１４ｇは、エッジ検出部１４ｄにおけるエッジ部の検出結果に応じてブロックディザを選択するものである。具体的には、エッジ検出部１４ｄにて注目画素ブロックにおいてエッジ部が検出されたときには、画素出力順パターン生成部１４ｅにて生成された第１のブロックディザを読み出し、エッジ検出部１４ｄにて注目画素ブロックにおいてエッジ部が検出されないときには、画素出力順パターン記憶部１４ｆから、１つの第２のブロックディザを無作為に読み出す。なお、第２のブロックディザの選択方法としては、例えば、図示しない乱数発生器からサンプリング値を抽出し、このサンプリング値に対応するブロックディザを選択することにより実現することができる。あるいは、乱数発生器を用いず、ソフトウェア乱数によってサンプリング値を発生させ、これに基づいてブロックディザの選択を行うようにしてもよい。
【００３４】
画像データ生成部１４ｈは、階調変換部１４ｃによって得られた注目画素ブロックにおける階調値から、画素出力順パターン選択部１４ｇによって選択されたブロックディザに従ってドットが出力されるように画素ブロックを生成するブロックディザ処理を行い、その結果を出力する。具体的には、画像データ生成部１４ｈは、例えば、階調変換部１４ｃにおいて量子化された注目画素ブロックにおける階調値が「１２８」であるとき、図２に示される第１のブロックディザが画素出力順パターン選択部１４ｇにより選択された場合、当該注目画素ブロックを構成する各画素に対して２値のデータに変換すると、当該注目画素ブロックにおける右下と左下の各画素については、ドットオンとなる値に変換され、右上と左上の各画素については、ドットオフとなる値に変換される。
【００３５】
誤差拡散部１４ｉは、階調変換部１４ｃでの階調値の量子化前後における注目画素ブロックの階調値の誤差値を画像処理部１４内のバッファメモリ（図示略）に保持し、その誤差値を、多値画像データの未処理の周辺画素ブロックに拡散し、画素ブロック平均値算出部１４ｂによって算出された各周辺画素ブロックの階調値の平均値に対して加算する誤差拡散処理を行う。具体的には、誤差拡散部１４ｉは、ＲＯＭ１１に記憶された拡散係数パターンのデータを読み出して画像処理部１４内部の係数パターンレジスタ（図示略）にユーザ選択可能に保持し、注目画素ブロックの誤差値に、係数パターンレジスタに保持されたユーザ選択後の拡散係数パターンに示された各係数を乗算し、その乗算値を各周辺画素ブロックの量子化前の階調値の平均値に加算する。
ここで、拡散係数パターンの例について説明する。ＲＯＭ１１には、図４に示すような複数の異なる拡散係数パターン（係数パターン１〜５）のデータが記憶されている。この係数パターン１〜５の一つに基づいて、注目画素ブロック「＊」の量子化前後の階調値の誤差が周辺画素ブロックの各拡散係数に乗算されて当該周辺画素ブロックの量子化前の階調値の平均値に加算される。この拡散係数パターンはユーザの操作により選択設定が可能である。
【００３６】
属性情報判定部１４ｊは、画素ブロックを構成する各画素の属性情報を判定する。ここで、属性情報とは、例えば、クライアントコンピュータなどから送信されたＰＤＬ（Page Description Language）で記述された画像データに基づいて解釈された画素毎の属性を示すデータであって、この属性には、文字・下地・イメージなどがある。この属性情報は、各画素の階調値を示すデータとともに画像処理部１４に入力される情報である。
【００３７】
本実施の形態では、ブロック化部１４ａ、画素ブロック平均値算出部１４ｂ、階調変換部１４ｃ、エッジ検出部１４ｄ、画素出力順パターン生成部１４ｅ、画素出力順パターン選択部１４ｇ、画像データ生成部１４ｈ、属性情報判定部１４ｊについては、ＣＰＵ１０とＲＯＭ１１に記憶されているプログラムとの協働によるソフトウェア処理によって実現する構成としたが、画像処理部１４内等にこれら各部を機能させるための回路や専用のプロセッサ等を備えて実現するようにしてもよい。
また、画素出力順パターン記憶部１４ｆは、画像処理部１４内に備えられるものの他、ＲＯＭ１１等、画像処理部１４外に備えられていてもよい。
【００３８】
メモリ制御部１５は、画像データの読み出し及び書き込みの際の画像メモリ１６へのアクセスを制御する。画像メモリ１６は、揮発性、不揮発性の記録媒体で構成されており、画像処理部１４で処理された画像データを記憶する。
【００３９】
画像形成部１７は、ＣＰＵ１０からの印刷制御信号に従って、所定の印刷方式（例えば、電子写真方式、インクジェット方式、熱転写方式等）で、転写紙に画像を形成する。搬送部１８は、複数のローラにより画像形成前及び形成後の転写紙の搬送を行う。
【００４０】
操作部１９は、数字キーやスタートキー等の各種機能キー、ＬＣＤ（Liquid Crystal Display）等の表示画面と一体に構成されるタッチパネルを備えて構成されており、キー操作に対応する操作信号、タッチパネルでの入力操作に応じた操作信号をＣＰＵ１０に出力する。
【００４１】
通信部２０は、ＮＩＣ（Network Interface Card）等により構成され、ＰＣ（Personal Computer）、プリントサーバ等の外部機器と画像データ等の情報の送受信を介する。
【００４２】
次に、以上のようにして構成された画像形成装置１において実行される画像変換処理について図５を参照しながら説明する。この画像変換処理は、画像読取部１３や通信部２０から画像データが入力されたときに実行される処理である。
【００４３】
先ず、ＣＰＵ１０は、画像形成装置１に入力された画像データを画像処理装置１５に送信し、ブロック化部１４ａによって、画素のブロック化を行って画素ブロックの生成を行う（ステップＳ１００）。
そして、ＣＰＵ１０は、生成された画素ブロックのうち、最初に処理を行う画素ブロックを注目画素ブロックとして読み込み（ステップＳ１０１）、画素ブロック平均値算出部１４ｂにて、当該注目画素ブロックを構成する画素の階調値の平均値を算出する（ステップＳ１０２）。本実施の形態においては、画像データを構成する左上の画素ブロックを最初に処理を行う画素ブロックとし、主走査方向及び副走査方向に順次処理を行うようにしている。なお、画素ブロックの処理順序は上記のものに限定されない。
【００４４】
次に、ＣＰＵ１０は、画素出力順パターン生成部１４ｅにて、注目画素ブロックに対応する第１のブロックディザを作成する（ステップＳ１０３）。
そして、ＣＰＵ１０は、属性情報判定部１４ｊにて、注目画素ブロックを構成する各画素の属性情報を参照する（ステップＳ１０４）。
そして、ＣＰＵ１０は、注目画素ブロックを構成する何れかの画素の属性情報に文字であることを示す文字属性が含まれているか否かを判定する（ステップＳ１０５）。ＣＰＵ１０は、文字属性が含まれていると判定したときは（ステップＳ１０５：Ｙ）、上述のようにして、エッジ検出部１４ｄにて、最大階調値と最小階調値との差分がエッジ検出閾値ＴＨＲ４以上であるか否かを判定する（ステップＳ１０６）。
ＣＰＵ１０は、差分がエッジ検出閾値ＴＨＲ４以上であると判定したときは（ステップＳ１０６：Ｙ）、画素出力順パターン選択部１４ｇにて、ステップＳ１０３において、画素出力順パターン生成部１４ｅによって生成された第１のブロックディザを読み出す（ステップＳ１０７）。
【００４５】
また、ＣＰＵ１０は、ステップＳ１０５において、文字属性が含まれていると判定しないとき（ステップＳ１０５：Ｎ）、あるいは、ステップＳ１０６において、差分がエッジ検出閾値ＴＨＲ４以上であると判定しないときは（ステップＳ１０６：Ｎ）、画素出力順パターン選択部１４ｇにて、画素出力順パターン記憶部１４ｆに記憶された複数の第２のブロックディザから何れかを無作為に選択して読み出す（ステップＳ１０８）。
【００４６】
次に、ＣＰＵ１０は、階調変換部１４ｃにて、ステップＳ１０２において算出された注目画素ブロックにおける階調値の平均値の量子化を行う（ステップＳ１０９）。
そして、ＣＰＵ１０は、画像データ生成部１４ｈにて、ステップＳ１０９において得られた注目画素ブロックにおける量子化された階調値から、ステップＳ１０７又はステップＳ１０８によって選択されたブロックディザに従ってドットが出力されるように上述したブロックディザ処理を行い、その結果の出力を行う（ステップＳ１１０）。
【００４７】
そして、ＣＰＵ１０は、誤差拡散部１４ｉにて、ステップＳ１０９において生じた量子化誤差を、未処理の周辺画素ブロックに拡散する（ステップＳ１１１）。
そして、ＣＰＵ１０は、全画素ブロックについてステップＳ１０１〜ステップ１１１の処理が行われたか否かを判定し（ステップ１１２）、全画素ブロックについて処理が行われたと判定したときは（ステップＳ１１２：Ｙ）、この処理を終了する一方、全画素ブロックについて処理が行われたと判定しないときは（ステップＳ１１２：Ｎ）、注目画素ブロックとして処理する画素ブロックを移行してステップＳ１０１の処理を実行する。
【００４８】
以上のように構成された画像形成装置１において実施される画像データの処理手順について、図６を参照しながら説明する。
【００４９】
先ず、入力した画像データについて、ブロック化部１４ａによって２×２＝４画素毎にブロック化される。そして、ブロック化された画像データのうちの１の画素ブロックを注目画素ブロックとして読み込む。なお、この説明において、注目画素ブロックとして、エッジ部を含み、左上の画素の階調値が「０」、右上の画素の階調値が「１２０」、左下の画素の階調値が「１９２」、右下の画素の階調値が「２５５」である画素ブロックを例に説明する。
【００５０】
次に、画素ブロック平均値算出部１４ｂによって注目画素ブロックを構成する画素の階調値の平均化が行われ、その結果、注目画素ブロックにおける画素の階調値の平均値として「１４２」が算出される。
【００５１】
その後、階調変換部１４ｃによって注目画素ブロックにおける画素の階調値の平均値が２５６値から５値に量子化され、その結果、注目画素ブロックにおける量子化された階調値は「１２８」となる。
【００５２】
そして、画像データ生成部１４ｈによって、量子化された階調値から、図２に示すようにして作成された第１のブロックディザに従ってドットが出力されるようにブロックディザ処理が行われ、その結果、注目画素ブロックにおける右下の画素及び左下の画素についてはドットオンとなる一方、左上の画素及び右上の画素についてはドットオフとなるように注目画素ブロックにおける各画素の階調値が２値化される。
なお、注目画素ブロックにエッジ部が含まれない場合は、画素出力順パターン記憶部１４ｆに記憶された第２のブロックディザのうちの何れかが選択され、選択された第２のブロックディザに従ってブロックディザ処理が行われる。
【００５３】
なお、本実施の形態では、注目画素ブロックにおいてエッジ部が検出されたときには、画素出力順パターン生成部１４ｅによって第１のブロックディザを生成し、これに基づいてブロックディザ処理を行うようにしたが、第１のブロックディザとして、例えば、画素出力順パターン記憶部１４ｆに記憶されたブロックディザから最適なものを選択し、これに基づいてブロックディザ処理を行うようにしても同様の結果を得ることができる。
【００５４】
また、第１の実施の形態では、図５に示すように、ステップＳ１０４において、注目画素ブロックを構成する各画素の属性情報を参照し、ステップＳ１０５において、注目画素ブロックを構成する何れかの画素の属性情報に文字であることを示す文字属性が含まれているか否かの判定を行い、文字属性が含まれていると判定された場合にエッジ検出を行うようにしたが、図７に示すように、ステップＳ１０４及びステップＳ１０５の処理を実行しないで、すなわち、文字属性が含まれているか否かの判定を行わないでエッジ検出を行うようにしてもよい。このようにすれば、処理負荷は図５に示すものよりも多少大きくなるが、文字領域のエッジ部だけでなく、イメージ画像等の境界部分についても再現性の向上を図ることができるようになる。なお、他の処理については、図５に示すものと同様であるため、説明を省略する。
【００５５】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。本発明の第２の実施の形態では、図８に示すように、第１の実施の形態における画像処理部１４を構成する画素出力順パターン生成部１４ｅ、画素出力順パターン記憶部１４ｆ及び画素出力順パターン選択部１４ｇを、ディザパターン記憶部１４ｋ及びディザパターン選択部１４ｍに変更したものである。なお、第２の実施の形態においては、第１の実施の形態と相違する部分のみ説明し、その他については説明を省略する。
【００５６】
第２の実施の形態において、画素ブロック平均値算出部１４ｂは、エッジ検出部１４ｄによって注目画素ブロックにエッジ部が含まれていると判定しないことを条件に注目画素ブロックを構成する画素の階調値の平均値の算出を行う。すなわち、画素ブロック平均値算出部１４ｂは、エッジ部が含まれる画素ブロックに対しては画素の階調値の平均値を算出せず、エッジ部が含まれない画素ブロックに対してのみ画素の階調値の平均値の算出を行う。なお、エッジ部が含まれる画素ブロックに対しても階調値の平均値の算出を行うようにしてもよい。
【００５７】
階調変換部１４ｃは、エッジ部が含まれない画素ブロックに対してのみ画素ブロックの階調値の平均値の量子化を行う点以外は、第１の実施の形態と同様である。
【００５８】
ディザパターン記憶部１４ｋは、画素ブロックと同一サイズの複数のブロックディザが記憶されるものである。第２の実施の形態におけるブロックディザは、第１の実施の形態とは異なり、各画素に対応して２値化閾値がそれぞれ設定されている。ディザパターン記憶部１４ｋに記憶されるブロックディザは、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されたときに選択されるブロックディザ（第１のブロックディザ）と、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されないときに選択されるブロックディザ（第２のブロックディザ）とを含んでいる。
第１のブロックディザは、注目画素ブロックの読み込み時における各画素の階調値に対して２値化するために、例えば、図９に示すようなディザパターンによって構成されている。すなわち、全ての画素の階調値に対して同一のディザ閾値によって２値化されるように構成されている。なお、本実施の形態において、ディザ閾値を「１２８」としたが、他の値としてもよい。
第２のブロックディザは、第１の実施の形態と同様に、階調変換部１４ｃによって量子化された注目画素ブロックの階調値の平均値に対して、ドットの出力順序が所定の順序となるように、例えば、図１０に示すような、各画素に対してそれぞれ異なるディザ閾値が割り当てられて２値化されるようなディザパターンにより構成されている。また、図１０に示すように、ディザパターン記憶部１４ｋには、それぞれディザ閾値の配置の異なる複数の第２ブロックディザが記憶されている。
【００５９】
ディザパターン選択部１４ｍは、エッジ検出部１４ｄにおけるエッジ部の検出結果に応じて、ディザパターン記憶部１４ｋより第１のブロックディザ及び第２のブロックディザから何れか１つを選択して読み出すものである。すなわち、ディザパターン選択部１４ｍは、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されたときは第１のブロックディザを読み出し、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されないときは複数の第２のブロックディザから何れかを読み出す。なお、第２のブロックディザの選択については無作為に行われ、その選択方法については、第１の実施の形態と同様である。
【００６０】
画像データ生成部１４ｈは、エッジ検出部１４ｄにおけるエッジ部の検出結果に応じた内容のブロックディザ処理を実行し、その結果を出力する。具体的には、画像データ生成部１４ｈは、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されたときは、注目画素ブロックの読み込み時における各画素の階調値から、ディザパターン選択部１４ｍによって選択された、上述した第１のブロックディザに従ってドットが出力されるようにブロックディザ処理を実行し、注目画素ブロックを構成する各画素の階調値についてそれぞれ２５６値から２値に量子化する。例えば、図９に示すように、注目画素ブロックの読み込み時における左上に配置される画素の階調値が「０」、右上に配置される画素の階調値が「１２０」、左下に配置される画素の階調値が「１９２」、右下に配置される画素の階調値が「２５５」であり、第１のブロックディザが適用され、当該注目画素ブロックを構成する各画素に対して２値のデータに量子化した場合には、当該注目画素ブロックにおける右下と左下の各画素については、ドットオンとなる値に変換され、右上と左上の各画素については、ドットオフとなる値に変換される。ここで、量子化したときに画素毎に量子化誤差が生じるが、これらの量子化誤差は合計され、誤差拡散部１４ｉにより周辺の画素ブロックに対して拡散される。
また、画像データ生成部１４ｈは、エッジ検出部１４ｄによって注目画素ブロックにおいてエッジ部が検出されないときは、階調変換部１４ｃによって得られた注目画素ブロックにおける階調値から、ディザパターン選択部１４ｍによって選択された第２のブロックディザに従ってドットが出力されるように画素ブロックを生成するブロックディザ処理を行い、その結果を出力する。具体的には、画像データ生成部１４ｈは、例えば、階調変換部１４ｃにおいて５値に量子化された注目画素ブロックにおける階調値が「６４」であり、ディザパターン選択部１４ｍによって、左上の画素のディザ閾値が「２５５」、右上の画素のディザ閾値が「１２８」、左下の画素のディザ閾値が「１９２」、右下の画素のディザ閾値が「６４」である第２のブロックディザが選択され、当該注目画素ブロックを構成する各画素に対してさらに２値のデータに量子化した場合には、当該注目画素ブロックにおける右下の画素について、ドットオンとなる値に変換され、その他の画素については、ドットオフとなる値に変換される。なお、このとき、量子化誤差が生じないように、第２のブロックディザにおけるディザ閾値を５値に対応して設定しているが、２値に量子化した際に誤差が生じるようなディザ閾値が設定されていてもよい。この場合、上述したようにして、周辺の画素ブロックに対して誤差拡散するのが好ましい。
【００６１】
誤差拡散部１４ｉは、階調変換部１４ｃでの階調値の量子化前後における注目画素ブロックの階調値の誤差値、及び、画像データ生成部１４ｈでのブロックディザ処理の際に生じた注目画素ブロックにおける階調値の合計の誤差値を、画像処理部１４内のバッファメモリ（図示略）に保持し、その誤差値を、多値画像データの未処理の周辺画素ブロックに拡散する。その他の点については、第１の実施の形態と同様である。
【００６２】
次に、以上のようにして構成された第２の実施の形態における画像形成装置１において実行される画像変換処理について図１１を参照しながら説明する。この画像変換処理は、第１の実施の形態と同様、画像読取部１３や通信部２０から画像データが入力されたときに実行される処理である。
【００６３】
先ず、ＣＰＵ１０は、画像形成装置１に入力された画像データを画像処理装置１５に送信し、ブロック化部１４ａによって、画素のブロック化を行って画素ブロックの生成を行う（ステップＳ２００）。
次に、ＣＰＵ１０は、生成された画素ブロックのうち、最初に処理を行う画素ブロックを注目画素ブロックとして読み込み（ステップＳ２０１）、属性情報判定部１４ｊにて、注目画素ブロックを構成する各画素の属性情報を参照する（ステップＳ２０２）。
そして、ＣＰＵ１０は、注目画素ブロックを構成する何れかの画素の属性情報に文字であることを示す文字属性が含まれているか否かを判定する（ステップＳ２０３）。ＣＰＵ１０は、文字属性が含まれていると判定したときは（ステップＳ２０３：Ｙ）、上述のようにして、エッジ検出部１４ｄにて、最大階調値と最小階調値との差分がエッジ検出閾値ＴＨＲ４以上であるか否かを判定する（ステップＳ２０４）。
ＣＰＵ１０は、差分がエッジ検出閾値ＴＨＲ４以上であると判定したときは（ステップＳ２０４：Ｙ）、ディザパターン選択部１４ｍにて、ディザパターン記憶部１４ｋから第１のブロックディザを選択して読み出す（ステップＳ２０５）。
【００６４】
そして、ＣＰＵ１０は、画像データ生成部１４ｈにて、注目画素ブロックの読み込み時における各画素の階調値から、ステップＳ２０５よって選択された第１のブロックディザに従ってドットが出力されるように上述したブロックディザ処理を行い、その結果の出力を行う（ステップＳ２０６）。
【００６５】
また、ＣＰＵ１０は、ステップＳ２０３において、文字属性が含まれていると判定しないとき（ステップＳ２０３：Ｎ）、あるいは、ステップＳ２０４において、差分がエッジ検出閾値ＴＨＲ４以上であると判定しないときは（ステップＳ２０４：Ｎ）、画素ブロック平均値算出部１４ｂにて、注目画素ブロックを構成する画素の階調値の平均値を算出する（ステップＳ２０７）。
【００６６】
次に、ＣＰＵ１０は、階調変換部１４ｃにて、ステップＳ２０７において算出された注目画素ブロックにおける階調値の平均値の量子化を行う（ステップＳ２０８）。
そして、ＣＰＵ１０は、ディザパターン選択部１４ｍにて、ディザパターン記憶部１４ｋに記憶された複数の第２のブロックディザから何れかを無作為に選択して読み出す（ステップＳ２０９）。
【００６７】
そして、ＣＰＵ１０は、画像データ生成部１４ｈにて、ステップＳ２０８において得られた注目画素ブロックにおける量子化された階調値から、ステップＳ２０９によって選択された第２のブロックディザに従ってドットが出力されるように上述したブロックディザ処理を行い、その結果の出力を行う（ステップＳ２１０）。
【００６８】
そして、ＣＰＵ１０は、誤差拡散部１４ｉにて、ステップＳ２０６及びステップＳ２０８において生じた量子化誤差を、未処理の周辺画素ブロックに拡散する（ステップＳ２１１）。
そして、ＣＰＵ１０は、全画素ブロックについてステップＳ２０１〜ステップ２１１の処理が行われたか否かを判定し（ステップＳ２１２）、全画素ブロックについて処理が行われたと判定したときは（ステップＳ２１２：Ｙ）、この処理を終了する一方、全画素ブロックについて処理が行われたと判定しないときは（ステップＳ２１２：Ｎ）、注目画素ブロックとして処理する画素ブロックを移行してステップＳ２０１の処理を実行する。
【００６９】
以上のように構成された画像形成装置１において実施される画像データの処理手順について、図１２を参照しながら説明する。
【００７０】
先ず、入力した画像データについて、ブロック化部１４ａによって２×２＝４画素毎にブロック化される。そして、ブロック化された画像データのうちの１の画素ブロックを注目画素ブロックとして読み込む。なお、この説明において、注目画素ブロックとして、エッジ部を含まず、左上の画素の階調値が「７０」、右上の画素の階調値が「１００」、左下の画素の階調値が「８０」、右下の画素の階調値が「７５」である画素ブロックを例に説明する。
【００７１】
次に、画素ブロック平均値算出部１４ｂによって注目画素ブロックを構成する画素の階調値の平均化が行われ、その結果、注目画素ブロックにおける画素の階調値の平均値として「８１」が算出される。
【００７２】
その後、階調変換部１４ｃによって注目画素ブロックにおける画素の階調値の平均値が２５６値から５値に量子化され、その結果、注目画素ブロックにおける量子化された階調値は「６４」となる。
【００７３】
そして、ディザパターン記憶部１４ｆに記憶された第２のブロックディザのうちの何れかが選択される。なお、この例では、図１２に示すように、左上の画素のディザ閾値が「２５５」、右上の画素のディザ閾値が「１２８」、左下の画素のディザ閾値が「１９２」、右下の画素のディザ閾値が「６４」である第２のブロックディザが選択されたものとして説明する。
そして、画像データ生成部１４ｈによって、量子化された階調値から、選択された第２のブロックディザに従ってドットが出力されるようにブロックディザ処理が行われ、その結果、注目画素ブロックにおける右下の画素についてはドットオンとなる一方、その他の画素についてはドットオフとなるように注目画素ブロックにおける各画素の階調値が２値化される。
なお、注目画素ブロックにエッジ部が含まれる場合の画像データの処理手順については、図９を参照して上述した通りとなる。
【００７４】
なお、本実施の形態では、注目画素ブロックにエッジ部が含まれている場合に、階調値を２５６値から２値に量子化されるようにディザ閾値を設定したが、３値やそれ以上の値に量子化されるようにディザ閾値を設定してもよい。
【００７５】
また、第２の実施の形態においても、第１の実施の形態と同様に、属性情報に拘わらずエッジ部の検出を行うようにしてもよい。
【００７６】
以上説明したように、本発明の第１の実施の形態によれば、ブロック化部１４ａは、多値の画像データを、所定の複数画素単位でブロック化して画素ブロックとする。そして、画素ブロック平均値算出部１４ｂは、ブロック化部１４ａによってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する。そして、階調変換部１４ｃは、画素ブロック平均値算出部１４ｂによって算出された階調値の平均値を、予め定められた量子化閾値ＴＨＲ０〜ＴＨＲ３に基づいて量子化する。そして、エッジ検出部１４ｄは、画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行う。そして、画素出力順パターン生成部１４ｅは、画素ブロックを構成する各画素の階調値に基づいて、階調値の高い順にドットの出力が行われる、画素ブロックと同一サイズの第１のブロックディザを設定する。そして、画素出力順パターン記憶部１４ｆは、画素ブロックと同一サイズのブロックディザであって、それぞれドットの出力順序が予め定められた複数の第２のブロックディザを記憶する。そして、画素出力順パターン選択部１４ｇは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出したときに、画素出力順パターン生成部１４ｅによって生成された第１のブロックディザを選択する。そして、画素出力パターン選択部１４ｇは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出しないときに、画素出力順パターン記憶部１４ｆに記憶された複数の第２のブロックディザから何れかを選択する。そして、画像データ生成部１４ｈは、階調変換部１４ｃによって得られた階調値から、画素出力パターン選択部１４ｇによって選択されたブロックディザに従ってドットが出力されるように画素ブロックの画像データを生成する。そして、誤差拡散部１４ｉは、階調変換部１４ｃによる階調値の平均値の量子化前後における誤差を、当該処理を行った画素ブロックの周辺の画素ブロックに対して拡散する。その結果、画像処理の高速化が可能となって処理負荷を軽減するとともに、エッジ部に沿ったドットの出力が可能となり、中間調であっても、細線や文字などの高精細部における再現性の向上を図ることができる。また、高精細で高階調な誤差拡散画像を生成することができる。
【００７７】
また、本発明の第１の実施の形態によれば、画素出力パターン選択部１４ｇは、エッジ検出部１４ｄにより、画素ブロックにおけるエッジ部を検出しないときに、複数の第２のブロックディザから何れかについて無作為に選択する。その結果、エッジ部でない非エッジ部に対し、モアレ・パターン化が発生しない階調再現に適した処理を実施することができるようになる。
【００７８】
また、本発明の第２の実施の形態によれば、ブロック化部１４ａは、多値の画像データを所定の複数画素単位でブロック化して画素ブロックとする。そして、エッジ検出部１４ｄは、画素ブロックを構成する各画素の階調値に基づいて、当該画素ブロックにおけるエッジ部の検出を行う。そして、ディザパターン記憶部１４ｋは、画素ブロックと同一サイズのディザブロックであって、画素ブロックの画素毎に対応して閾値が定められた複数のディザパターンを記憶する。そして、画素ブロック平均値算出部１４ｂは、ブロック化部１４ａによってブロック化された画素ブロックを構成する画素の階調値の平均値を算出する。そして、階調変換部１４ｃは、画素ブロック平均値算出部１４ｂによって算出された階調値の平均値を、予め定められた量子化閾値ＴＨＲ０〜ＴＨＲ３に基づいて量子化する。そして、ディザパターン選択部１４ｍは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出したときに、ディザパターン記憶部１４ｋに記憶されたブロックディザのうち、敷地が何れも同一である第１のブロックディザを選択する。そして、ディザパターン選択部１４ｍは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出しないときに、ディザパターン記憶部１４ｋに記憶されたブロックディザのうち、ドットの出力順序が所定の順序となるように、画素ブロックにおける画素毎に対応して定められた閾値がそれぞれ異なる第２のブロックディザを選択する。そして、画像データ生成部１４ｈは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出したときに、ブロック化部１４ａによってブロック化された画素ブロックのそれぞれの画素の階調値を、ディザパターン選択部１４ｍによって選択された第１のブロックディザに従って量子化して画素ブロックの画像データを生成する。そして、画像データ生成部１４ｈは、エッジ検出部１４ｄによって画素ブロックにおけるエッジ部を検出しないときに、階調変換部１４ｃによって得られた階調値の平均値から、ディザパターン選択部１４ｍによって選択された第２のブロックディザに従ってドットが出力されるように画素ブロックの画像データを生成する。そして、誤差拡散部１４ｉは、階調変換部１４ｃ及び画像データ生成部１４ｈによる量子化前後における誤差を、当該処理を行った画素ブロックの周辺画素ブロックに対して拡散する。その結果、画像処理の高速化が可能となって処理負荷を軽減するとともに、エッジ部に沿ったドットの出力が可能となり、中間調であっても、細線や文字などの高精細部における再現性の向上を図ることができる。また、高精細で高階調な誤差拡散画像を生成することができる。
【００７９】
また、本発明の第２の実施の形態によれば、ブロックディザに設定された閾値を２値化閾値としたので、階調値の変換を簡素に行うことができるとともに、高精細なエッジの再現が可能となる。
【００８０】
また、本発明の第１及び第２の実施の形態によれば、エッジ検出部１４ｄは、画素ブロックにおける最大階調値である画素の階調値と最小階調値である画素の階調値との差と、所定のエッジ検出閾値ＴＨＲ４との関係に基づき、エッジ部の検出を行う。その結果、エッジ部の検出を簡素な方法により実施することができる。
【００８１】
また、本発明の第１及び第２の実施の形態によれば、画素ブロックは、ｎ個（ｎは自然数）の画素によって構成される。そして、量子化閾値ＴＨＲ０〜ＴＨＲ３は、階調変換部１４ｃによって量子化後の画素ブロックを構成する画素の階調値の平均値がｎ＋１値化されるように定められている。その結果、出力する画素ブロックにおいて再現可能な階調に合わせた高精細な画像を生成することができる。
【００８２】
また、本発明の第１及び第２の実施の形態によれば、属性情報判定部１４ｊは、画素ブロックを構成する画素の属性を示す属性情報を入力し、該属性情報を判定する。そして、エッジ検出部１４ｄは、属性情報判定部１４ｊによる判定結果、画素ブロックに文字情報である属性情報が含まれていることを条件として、画素ブロックにおけるエッジ部の検出を行う。その結果、文字領域のエッジ部を対象とした高精細部における再現性を向上させることができる。
【００８３】
なお、本発明の実施の形態における記述は、本発明に係る画像処理装置の一例であり、これに限定されるものではない。画像処理装置を構成する各機能部の細部構成及び細部動作に関しても適宜変更可能である。
【００８４】
また、本発明の実施の形態では、最大階調値と最小階調値との差分と所定の閾値との関係に基づいてエッジ部の検出を行うようにしたが、他の方法によってエッジ部の検出を行うようにしてもよく、例えば、属性情報に基づき、下地と文字、下地とイメージあるいは文字とイメージが隣接していることを判定することによってエッジ部の検出を行うようにしてもよい。
【００８５】
また、本発明の実施の形態では、第２のブロックディザを無作為に選択するようにしたが、所定の順序にて選択されるように構成してもよい。この場合、モアレやパターン化が生じないように配慮するのが好ましい。
【００８６】
また、本実施の形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてハードディスクや半導体の不揮発性メモリ等を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）も適用される。
【符号の説明】
【００８７】
１  画像形成装置
１０  ＣＰＵ
１４  画像処理部
１４ａ  ブロック化部
１４ｂ  画素ブロック平均値算出部
１４ｃ  階調変換部
１４ｄ  エッジ検出部
１４ｅ  画素出力順パターン生成部
１４ｆ  画素出力順パターン記憶部
１４ｇ  画素出力順パターン選択部
１４ｈ  画素データ生成部
１４ｉ  誤差拡散部
１４ｊ  属性情報判定部
１４ｋ  ディザパターン記憶部
１４ｍ  ディザパターン選択部
【図１】
0005482535.tif 000002
【図２】
0005482535.tif 000003
【図３】
0005482535.tif 000004
【図４】
0005482535.tif 000005
【図５】
0005482535.tif 000006
【図６】
0005482535.tif 000007
【図７】
0005482535.tif 000008
【図８】
0005482535.tif 000009
【図９】
0005482535.tif 000010
【図１０】
0005482535.tif 000011
【図１１】
0005482535.tif 000012
【図１２】
0005482535.tif 000013