(57)【要約】【課題】  入力画像に対して適切に閾値マトリクスを用いたハーフトーン処理を施し、高品質な出力画像を得る。【解決手段】  複数画素からなる画素群を閾値マトリクスを用いて量子化する画像処理装置であって、量子化対象となる画素群の特徴を検出する検出手段と、  前記特徴に応じて、前記量子化対象となる画素群に適用する閾値マトリクスとして、基準となる閾値マトリクスか、または、前記基準となる閾値マトリクスにおける閾値の配置を変更された前記基準となる閾値マトリクスとは異なる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化する量子化手段とを有することを特徴とする。【選択図】  図１
2012182651.tif 000002
【特許請求の範囲】
【請求項１】
複数画素からなる画素群を閾値マトリクスを用いて量子化する画像処理装置であって、
量子化対象となる画素群の特徴を検出する検出手段と、
前記特徴に応じて、前記量子化対象となる画素群に適用する閾値マトリクスとして、基準となる閾値マトリクスか、または、前記基準となる閾値マトリクスにおける閾値の配置を変更された前記基準となる閾値マトリクスとは異なる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化する量子化手段と
を有することを特徴とする画像処理装置。
【請求項２】
さらに、前記基準となる閾値マトリクスを保持する保持手段を有し、
前記量子化手段は、前記保持手段から前記基準となる閾値マトリクスを取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記保持手段は、前記基準となる閾値マトリクスが連続的に配置された閾値マトリクス群を有し、
前記量子化手段は、前記閾値マトリクス群の読出し位置を制御することにより、前記異なる閾値マトリクスを取得することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記検出手段は、前記画素群のエッジ度を検出する手段であることを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記画素群のダイナミックレンジを検出する手段であることを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記量子化手段は、前記画素群にエッジが含まれないと判断できる場合、前記基準となる閾値マトリクスを用いて量子化し、前記画素群にエッジが含まれると判断できる場合、前記異なる閾値マトリクスを用いて量子化することを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
さらに、前記画素群の中心となる画素を算出する算出手段を有し、
前記量子化手段は、前記異なる閾値マトリクスとして、前記基準となる閾値マトリクスの中心と前記画素群の中心とが一致するように前記閾値の配置を変更された閾値マトリクスを用いることを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記算出手段は、前記画素群において最も大きい入力値をもつ画素を前記画素群の中心として算出することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記算出手段は、前記画素群において最もエッジ度が高い画素を前記画素群の中心として算出することを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記画素群において重心となる画素を前記画素群の中心として算出することを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
さらに、前記画素群の目標出力値を算出する目標出力値算出手段と、
前記量子化手段による結果が前記目標出力値に近づくように、前記量子化手段による結果を調整する調整手段と
を有することを特徴とする請求項１乃至１０の何れか一項に記載の画像処理装置。
【請求項１２】
複数画素からなる画素群を閾値マトリクスを用いて量子化する画像処理装置であって、
量子化対象となる画素群の特徴を検出する検出手段と、
前記特徴に応じて、前記量子化対象となる画素群に適用する閾値マトリクスとして、基準となる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化した結果、または、前記基準となる閾値マトリクスにおける閾値の配置を変更された前記基準となる閾値マトリクスとは異なる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化した結果の何れかを選択する選択手段と
を有することを特徴とする画像処理装置。
【請求項１３】
前記選択手段は、前記基準となる閾値マトリクスを用いて量子化した量子化結果を前記特徴として適用することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
コンピュータ装置を制御して、請求項１から請求項１３の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１５】
検出手段と量子化手段を有する画像処理装置の制御方法であって、
前記検出手段が、量子化対象となる複数の画素からなる画素群の特徴を検出するステップと、
前記量子化手段が、前記特徴に応じて、前記量子化対象となる画素群に適用する閾値マトリクスとして、基準となる閾値マトリクスか、または、前記基準となる閾値マトリクスにおける閾値の配置を変更された前記基準となる閾値マトリクスとは異なる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化するステップと
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対して、閾値マトリクスを用いたハーフトーン処理を施す技術に関する。
【背景技術】
【０００２】
近年、パソコンで処理した画像データを印刷することが一般的に行われている。ところで、パソコンで扱う画像データの階調数に比べて、プリンタなどの画像形成装置で表現可能な画素あたりの階調数は少ない場合がある。このような場合、入力画像データの階調数を出力装置で表現可能な階調数に変換するハーフトーン処理が必要である。
【０００３】
このハーフトーン処理の１つとして、組織的ディザ法が知られている。組織的ディザ法は、入力画像データにおける画素値と閾値マトリクスにおける画素に対応した閾値とを比較して、各画素の出力値を決定する手法である。
【０００４】
組織的ディザ法は、電子写真プロセスを用いた画像形成装置で頻繁に用いられる。電子写真プロセスを用いた画像形成装置では、帯電、露光、現像、転写、定着などの複雑なプロセスを経て、画像が記録媒体上に形成されるため、微小ドットの再現精度が不安定である。そこで、ドットが集中しやすい閾値マトリクスを周期的に並べた網点スクリーンを用いることで、トナーを安定して記録媒体上に定着させる。
【０００５】
しかしながら上記組織的ディザ法によるハーフトーン処理では、入力画像中で滑らかな斜線として描かれたエッジ部が、出力画像でジャギーと呼ばれる階段状に配置されたドットとして表現されてしまう。また、文字や罫線などの細線においては、ドットの消失や途切れなどが発生することもある。これらの現象は、ドット形成が集中するように設計された閾値マトリクスに由来する。これらドットの中心となる画素を“網点中心”とすると、閾値マトリクス内において最も出力階調値が大きくなりやすい閾値に対応する画素が網点中心となる。また、電子写真プロセスを利用した画像形成装置に適した網点スクリーンの場合、閾値マトリクスにおける各閾値は網点中心から遠ざかるほど、出力値が小さくなるように設計される。これにより、エッジや細線などの入力値が網点中心から比較的遠い場合、出力値は極めて小さくなり、記録媒体上にドットが形成されない。一方、入力値が小さな値でも、網点中心付近である場合、出力値は大きくなり、記録媒体上にドットが形成されるということがあり得る。以上のように、入力画像データにおけるエッジや細線などの特徴や閾値マトリクスの位置関係によって、エッジや細線などの再現性が低下する原因になっていると考えられる。
【０００６】
これに対し、特許文献１では閾値マトリクスに対応する画素群（以下、セル）単位で入力画像の重心を検出し、セルの重心と閾値マトリクスの中心とが一致するように閾値マトリクス内の閾値を変更する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３５２８３７
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に開示された方法によれば、入力画像データにおけるエッジ部のジャギー低減や細線の再現性を向上させることが可能である。しかしながら、特許文献１では、入力画像の特徴に関わらず網点中心を変更するため、画像の特徴的な形状を表すことができない場合がある。また、比較的平坦な分布を有するセルに対しても、セル内の分布に従ってセルの重心が網点中心となるように対応する閾値マトリクスを変更する。そのため、本来は周期的に並ぶドット配置が望ましい平坦部に対しても、セル内の入力値の変動によって過剰にドットの中心を移動させてしまい、視覚的に好ましくない出力となってしまう可能性がある。
本発明の目的は、入力画像の特徴を考慮しつつ、この入力画像に対して適切に閾値マトリクスを用いたハーフトーン処理を施し、高品質な出力画像を得ることにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は、複数画素からなる画素群を閾値マトリクスを用いて量子化する画像処理装置であって、量子化対象となる画素群の特徴を検出する検出手段と、
前記特徴に応じて、前記量子化対象となる画素群に適用する閾値マトリクスとして、基準となる閾値マトリクスか、または、前記基準となる閾値マトリクスにおける閾値の配置を変更された前記基準となる閾値マトリクスとは異なる閾値マトリクスを用いて、前記量子化対象となる画素群を量子化する量子化手段とを有することを特徴とする。
【発明の効果】
【００１０】
以上本発明によれば、入力画像の特徴を考慮しつつ、この入力画像に対して適切に閾値マトリクスを用いたハーフトーン処理を施し、高品質な出力画像を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１における画像処理装置の構成例を示すブロック図
【図２】実施例１に用いられるラプラシアンフィルタの係数を示す図
【図３】実施例１における処理結果の一例を示す図
【図４】実施例１における基準となる閾値マトリクスと閾値マトリクスの閾値の配置を変更する方法を説明する図
【図５】実施例２における画像処理装置の構成例を示すブロック図
【図６】実施例２における網点中心算出のための評価式を説明する図
【図７】実施例２における出力値調整を説明する図
【図８】実施例２における処理結果の一例を示す図
【図９】実施例３における画像処理装置の構成例を示すブロック図
【図１０】実施例３におけるハーフトーン処理を説明する図
【発明を実施するための形態】
【００１２】
［実施例１］
図１は実施例１に係る画像処理装置の構成例を示すブロック図である。図１において画像処理装置１０は、画像入力部１１、色分解部１２、ハーフトーン処理部１３、画像出力部１４によって構成される。
【００１３】
画像入力部１１は、原稿を読み取ることにより画像データを取得する。この画像入力部１１は、必要に応じてコントラスト補正等、精度よく原稿を読み取るための画像処理を行う。また、印刷動作時にホスト・コンピュータ（不図示）から受信した印刷用データを適切な形式に変換、画像データとして取得する構成であってもよい。印刷用データとしては一般に、画像データ、線の位置、方向、および長さによって構成されるベクトル・データや文字の符号とフォント情報からなる文書データなどが利用されている。これらの印刷用データでは、送受信の時間短縮や記憶容量削減のため、圧縮されている場合がある。この場合には、画像入力部１１が圧縮されている印刷データを伸長することになる。
なお本実施例では、画像入力部１１が取得する画像データはレッド（Ｒ）、グリーン（Ｒ）、ブラック（Ｋ）の３つの色成分により構成されているものとする。
【００１４】
色分解部１２は、画像入力部１１が取得した画像データを画像出力部１４が備えた色材色に応じた画像データに変換する。本実施例における色材色は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブルー（Ｂ）の４種類である。そのため、ＲＧＢのカラー画像データは、ＣＭＹＫ各色の画像データに変換される。
色分解部１２は、必要に応じて色域マッピング処理を行ってもよい。また、ＲＧＢのカラー画像データとＣＭＹＫ各色の画像データ間の濃度曲線を整合させるためのガンマ変換を含む構成となっていても良い。
【００１５】
ハーフトーン処理部１３は、画像出力部１４が再現可能な階調数に応じて、ＣＭＹＫ各色の画像データに対してハーフトーン処理を施す。ここでは、色分解部１２から取得する２５６階調で表された画像データを入力画像データとし、ハーフトーン処理によって、２値の画像データ（以下、ハーフトーン処理された画像データを“ハーフトーン画像データ”とする。）に変換する例について説明する。ハーフトーン処理部１３の詳細については後述する。
【００１６】
画像出力部１４は、ハーフトーン処理部１３が生成した各色のハーフトーン画像データに基づいて、記録媒体上に画像を形成する。ここでは画像出力部１４は、トナーを転写する電子写真プロセスを用いて記録媒体上に画像を形成する。
本実施例におけるハーフトーン処理部１３について詳細に説明する。ハーフトーン処理部１３は、入力セルバッファ１００、変更セル判定部１０１、網点中心算出部１０２、及びハーフトーン処理部１０３、閾値マトリクス保持部１０４、閾値マトリクス配置部１０５、及び量子化部１０６から構成される。
【００１７】
入力セルバッファ１００は、ＣＭＹＫ色分解後の画像データを入力して保持し、後述する閾値マトリクスに対応する画素群（以下、セル）単位に、各処理部に供給する。入力セルバッファ１００は、一般的な画像処理装置で用いられるバッファと同じように複数段のラインメモリから構成することができる。また、ハーフトーン処理部における各構成において十分な内部メモリを持つ場合には、この入力セルバッファ１００は省略することも可能である。
【００１８】
変更セル判定部１０１は、入力セルバッファ１００から供給されたセルごとの入力画像データに基づいて、処理対象のセルに適用する閾値マトリクスを判定する。言い換えれば、基準となる閾値マトリクスをそのまま利用するか、基準となる閾値マトリクスの閾値の配置を変更した閾値マトリクスを利用するかを判定する。変更セル判定部１０１は、まず、セル内における各画素のエッジ度を検出する。エッジ度の検出は、公知の技術を用いることができる。本実施例では、図２に示すようなラプラシアンフィルタ２００を使用してエッジ検出を行う例を説明しておく。セル内の各画素に対して、ラプラシアンフィルタ２００を用いてフィルタ処理を行い、この出力結果を各画素のエッジ度とする。そして、各画素において得られたエッジ度の最大値を閾値と比較する等により、そのセルにおけるエッジの有無を判断する。もし、処理対象のセルがエッジを含む場合、すなわち、もし、セル内にエッジ度が大きい画素がある場合には、閾値マトリクスの閾値の配置を変更する必要があると判定する。一方で、もし処理対象のセルがエッジを含まない場合には、すなわち、もし、セル内にエッジ度が大きい画素がない場合には、閾値マトリクスの変更が必要ないと判定する。これは、処理対象のセルの濃度勾配が平坦である場合は、基準となる閾値マトリクスをそのまま利用することに相当する。
【００１９】
網点中心算出部１０２は、入力セルバッファ１００から供給されたセルごとの入力画像データに基づいて、セルの網点中心とすべき画素を算出する。“網点中心”とは、閾値マトリクスにおいて最も小さい閾値に対応する画素のことである。つまり、網点中心はセル内において最もドットが形成されやすい画素であり、ドットの中心になる。セル内において最も特徴的な画素を網点中心とするのが望ましく、本実施例では、セル内において最大入力画素値を有する画素を網点中心として算出する。
閾値マトリクス保持部１０４は、閾値マトリクスを記憶するためのものである。図４（ａ）に示した数字列の全体は、閾値マトリクス保持部１０４に記憶された閾値マトリクス群を示し、個々のセルに用いられる閾値マトリクスよりも大きいサイズのマトリクスである。図を見てわかるとおり、閾値マトリクス保持部１０４には、約５つ分のセルに相当するサイズの数字列が記憶されている。
【００２０】
また、この閾値マトリクス群は、１つの閾値マトリクス４００を構成する閾値を周期的に繰り返すことにより構成されている。１つのセルは１つの閾値マトリクス４００を用いて量子化される。
【００２１】
尚、この図における閾値マトリクス４００を構成するそれぞれの数字は、量子化閾値そのものではなく、閾値の大きさの順番を表したものである。例えば、このマトリクス４００に記載された数値「１」は量子化閾値「５」に相当し、同様に数値「２０」は量子化閾値「１２０」に相当する。すなわち、数字が大きいほど量子化閾値として高い数値であり、量子化対象の画素値は小さい出力値に変換される。実際の閾値は入力画像データの階調数や出力画像データの階調数に合わせて設計されれば良い。
【００２２】
ただし、図４において同じ数値のものは、量子化閾値としても同じ値であると理解してほしい。すなわち、図４（ａ）に示される５つ分のマトリクス４００は、それぞれ、同じ量子化閾値で構成されているものとする。
【００２３】
閾値マトリクス配置部１０５は、変更セル判定部１０１と網点中心算出部１０２から取得する情報に基づいて、処理対象となるセルに適切な閾値マトリクスを決定する。すなわち、処理対象となるセルの特徴に応じて、適切な閾値マトリクスを量子化部１０６に供給する。
閾値マトリクス配置部１０５は、変更セル判定部１０１が処理対象セルに対応する閾値マトリクスを変更する必要はないと判定した場合、閾値マトリクスの変更を行わずに基準となる閾値マトリクスを量子化部１０６に供給する。本実施例では、閾値マトリクス配置部１０５は、閾値マトリクス保持部１０４に保持された閾値マトリクス群の読出しによって閾値マトリクスを取得する。よって、閾値マトリクスの変更をする必要がないと判定された場合には、基準となる閾値マトリクス４００をそのまま読出して、量子化部１０６に供給する。これにより、エッジ部が存在しない、比較的に濃度が平坦な画素群で構成されたセルに対しては、閾値マトリクスの網点中心の位置が変動することを抑制でき、視覚的に良好な画像を表すハーフトーン画像データを出力できる。
【００２４】
一方、変更セル判定部１０１により処理対象セルに対応する閾値マトリクスを変更する必要があると判定された場合、閾値マトリクスの変更を行う。ここでいう閾値マトリクスの変更は、基準となる閾値マトリクスにおける閾値を移動させて、基準となる閾値マトリクスにおける閾値の配置とは異なる配置に変更することを示す。これは、処理対象セルを量子化した際に形成されるドットの中心を変えるためである。閾値マトリクスにおける閾値を用いて変更することで、閾値マトリクス内の全ての閾値を利用するため、組織的ディザ法によるハーフトーン処理の階調性や解像度などの特性が損なわれることはない。
【００２５】
また、閾値マトリクスの変更は、網点中心算出部１０２から取得する網点中心として設定された画素に応じて行われる。閾値マトリクスの変更は、閾値マトリクスの中心とセルの網点中心が一致するように変更する。本実施例では、閾値マトリクス内の中心を最も小さい閾値とし、網点中心となる画素に最小の閾値が対応するように閾値マトリクスを変更する。これにより、セル内において特徴的な画素である網点中心が最も高い出力値に変換されやすくなる。
【００２６】
本実施例において閾値マトリクス配置部１０５は、閾値マトリクス保持部１０４に保持された閾値マトリクス群の読出し位置を変えることで、閾値マトリクスの変更を行う。閾値マトリクス配置部１０５は、網点中心算出部１０２によって網点中心として算出された画素と、基準となる閾値マトリクスの中心である最小閾値とが一致するように、閾値マトリクス保持部１０４が保持する閾値マトリクス群を読み出す。その結果、閾値マトリクスが必要と判定されたセルに対しては基準となる閾値マトリクス４００の閾値の配置とは異なる閾値マトリクスが取得される。これにより、エッジを含むセルに対しては、セルにおいて最も特徴的な画素が最も大きい出力値に変化されやすく、ドットの中心となる。
【００２７】
量子化部１０６は、閾値マトリクス配置部１０５から供給された閾値マトリクスを参照して、処理対象セルを量子化する。より具体的には、処理対象セルを構成する各画素値と、閾値マトリクスを構成し、上記各画素位置に対応する個々の閾値とを比較することにより、量子化を行う。本実施例における量子化部１０６は、８ビットで表された入力画像データを１ビットの出力画像データに変換する。
【００２８】
図３は、本実施例による処理と処理結果の一例を示す。まず入力画像データ３００は、入力セルバッファ１００を介して、各処理部にセルごとに送られる。次に変更セル判定部１０１は、セル３０２内の全ての画素に対してラプラシアンフィルタ２００を用いたフィルタ処理を施し、一律１２８を加算して、エッジ度画像３０１に変換する。エッジ度画像３０１は、各画素のエッジ度を表す数値からなる。本実施例では、セル内の画素のうち少なくとも一つ以上の画素でエッジ度が閾値（ここでは１５８）を超えている場合、セル内にエッジを含み、閾値マトリクスの変更が必要であると判定する。一方で、セル内に閾値を超えるエッジ度を有する画素が一つもない場合には、閾値マトリクスの変更は必要ないと判定する。セル３０２のエッジ画像によれば、セル３０２はエッジ度が閾値を超える画素が存在するので、閾値マトリクスの変更が必要であると判定される。
【００２９】
一方、網点中心算出部１０２は、セル３０２の網点中心を算出する。ここでは、セル内において最大入力値を示す画素を網点中心とする。セル３０２における全画素の入力画素値を比較すると、複数の画素で最大の入力階調値１２を有している。この場合には、本実施例で用いられる基準となる閾値マトリクスが図４に示す閾値マトリクス４００であるとすると、基準となる閾値マトリクス４００を対応させた時に閾値がより小さい画素を優先して網点中心とする。よって網点中心算出部１０２は、画素３０３をセル３０２の網点中心として算出する。
【００３０】
次に閾値マトリクス配置部１０５は、セル３０２に適した閾値マトリクスを量子化部１０６に提供する。セル３０２は、変更セル判定部１０１により基準となる閾値マトリクスの変更が必要であると判定されているので、閾値マトリクス配置部１０５は基準となる閾値マトリクス４００の閾値の配置を変更する。網点中心算出部１０２からセル３０２の網点中心は画素３０３であるという情報を取得し、網点中心と閾値マトリクスにおける最小閾値とが対応するように変更する。閾値マトリクス配置部１０５は、閾値マトリクス保持部１０４が保持する閾値マトリクス４００が周期的に繰り返し配置された閾値マトリクス群から、セル３０２に適した閾値マトリクス４０２を読み出す。これは画素３０３と閾値マトリクス４００において最小である閾値４０１の位置とが一致するように変更されている。この切り出した閾値マトリクス４０２がセル３０２に対応する変更後の閾値マトリクスとなる。
【００３１】
そして量子化部１０６が、閾値マトリクス配置部１０５から取得する閾値マトリクス４０２に基づいて、セル３０２を量子化する。具体的には、セル３０２における画素と対応する閾値マトリクス４０の閾値とを比較し、画素値の方が閾値よりも大きい場合は２５５、小さい場合は０のいずれかに変換する。
【００３２】
以上の処理を全てのセルに施し、入力画像データ３００を出力画像データ３０４に変換する。画像データ３０５は、入力画像データ３００に対して、本実施例における処理を行わずに量子化した結果である。本実施例による出力画像データ３０４と画像データ３０５と比較すると、エッジ部で階段状のジャギーが低減され、消失していた細線が再現されているのが確認できる。
【００３３】
本実施例では、網点中心算出部１０２によりセル内の最大入力画素値を有する画素を網点中心とする例を説明した。この方法では、量子化の際に出力値が最も大きくなりやすい閾値とセル内で最大の入力画素値を比較するため、ドットが生成されやすい。また、セル内で最も濃度が高い画素を中心にドットを成長させることができるため、エッジや細線、孤立点などの画像における特徴を忠実に出力できる。
【００３４】
さらに本実施例では、セルのエッジ度に応じて、閾値マトリクスの変更を行うかどうかを判定する。このため、エッジを含まない比較的平坦な画像領域に対しては、閾値マトリクスの変更をしない。従って、過剰に網点中心が移動して不安定な出力画像になることを低減し、より好ましい出力結果を得られる。
【００３５】
さらに、各色ハーフトーン画像データに基づいて形成されるトナー像を重ね合わせたときに、各色のトナー像が有する周期性が互いに干渉し、色モアレを生じてしまうことがある。一般に、この色モアレを低減するために、各色の画像データにおける周期的に並ぶドットの配置が互いになす角度（以下、スクリーン角）ができるだけ大きくなるように設計されている。そのため、平坦な画像領域において過剰に閾値マトリクスの変更を行うと、各色のスクリーン角が変動し、色モアレを抑制できない場合がある。そこで本実施例による方法も用いれば、上記のように平坦な画像領域では、スクリーン角が変化しないため、多色インク用に設計された閾値マトリクスの配置による効果を低減させることなく良好な出力結果を得ることができる。
【００３６】
なお本実施例では、連続する閾値マトリクス群から算出した網点中心に対応する閾値マトリクスを読み出すことによって、閾値マトリクスの変更を実現する例を示した。しかしながら、網点中心となる画素に応じて、閾値マトリクスの各閾値を移動できればこれ以外の方法でも構わない。また、閾値マトリクス群に対して回転や間引きなどによる変形を加えて、閾値マトリクスの変更を実現してもよい。
【００３７】
また本実施例では、閾値マトリクス配置部５０５は、閾値マトリクス保持部５０４が保持する図４に示すような閾値マトリクス群の読出し位置を制御することにより、処理対象セルに適した閾値マトリクスを取得した。しかしながら、必ずしもこの方法に限られるものではない。例えば閾値マトリクス保持部５０５は、基準となる閾値マトリクス、および基準となる閾値マトリクスが連続して配置された閾値マトリクス群をそれぞれ保持していてもよい。閾値マトリクス配置部５０５は、処理対象セルに対して閾値マトリクスの変更は必要ないと判定された場合、基準となる閾値マトリクスをそのまま取得する。一方、閾値マトリクスの変更が必要であると判定された場合、網点中心算出部１０２が算出した網点中心に応じて閾値マトリクス群の読出し位置を変えて、基準となる閾値マトリクスの閾値の配置とは異なる閾値マトリクスを変更する。
【００３８】
なお、本実施例では、ハーフトーン処理部１３内において、基準となる閾値マトリクスの保持し、および基準となる閾値マトリクスにおける閾値の配置の変更する構成とした。しかしながら、処理対象のセルに対して、基準となる閾値マトリクスか、または基準となる閾値マトリクスの閾値の配置を移動させた閾値マトリクスのいずれかを適用して量子化する構成であればこれに限らない。例えば、基準となる閾値マトリクスおよび、基準となる閾値マトリクスとは中心位置が異なる閾値マトリクスを外部メモリが保持し、処理対象セルの特徴に応じて、取得するような構成でもよい。
【００３９】
［実施例２］
上述の実施例では、閾値マトリクスの変更を行うかどうかをセルのエッジ度に応じて判定した。実施例２では、入力画像データにおけるセルのダイナミックレンジに応じて、閾値マトリクスの変更を行う例について説明する。さらに、本実施例では出力画像データの濃度を調整する構成についても説明する。
【００４０】
図５は、実施例２に係る画像処理装置の構成例を示している。画像処理装置１０における画像入力部１１、色分解部１２、画像出力部１４は実施例１と同一の構成なので説明は省略する。
本実施例におけるハーフトーン処理部１３は、入力セルバッファ５００、変更セル判定部５０１、網点中心算出部５０２、ハーフトーン処理部５０３、目標出力値算出部５０７、出力調整部５０８、閾値マトリクス保持部５０４、閾値マトリクス配置部５０５、及び量子化部５０６から構成される。
ここで、入力セルバッファ５００、閾値マトリクス保持部５０４、閾値マトリクス配置部５０５、及び量子化部５０６は、実施例１の図１に示した各処理部と同一の構成であり、説明を省略する。
【００４１】
変更セル判定部５０１は、入力セルバッファ５００から供給されたセルごとの入力画像データから、基準となる閾値マトリクスとは異なる閾値配置になるよう閾値マトリクスの変更をするべきかどうかの判定を行う。判定方法には、入力ダイナミックレンジを用いる。セルの入力ダイナミックレンジが所定の値より大きい場合には、閾値マトリクスの変更が必要であると判定する。入力ダイナミックレンジが大きいということは、セルにおける各入力画素値の分布に大きな偏りがあるということである。この場合、エッジ部のジャギーや細線の消失などが起きやすいため、閾値マトリクスの変更が必要であると判断する。
【００４２】
網点中心算出部５０２は、セル内の各画素の評価値を算出し、評価値に基づいて網点中心を決める。例えば、画素（ｘ、ｙ）における入力画素値Ｉ（ｘ、ｙ）と元々の網点中心（変更していない閾値マトリクスにおける最小閾値に対応する画素）画素までの距離Ｒから、評価値Ｅは次のような式で表すことができる。
Ｅ  ＝  Ｉ（ｘ，ｙ）  ／  （Ｒ（ｘ，ｙ）＋１）      ・・・（１）
式（１）のように、元々の網点中心から評価したい画素までの距離Ｒに反比例するような評価式を用いて判定することで、元々の網点中心に近い画素位置が優先的に新しい網点中心として選ばれる。これにより、網点中心がセルによって大きく変化するということが起きにくくなるため、平坦部からエッジ部への切り替わりの部分で急激な網点中心の変化のない、見た目上好ましい出力画像を得ることが可能である。図６は、式（１）を網点中心算出に用いた場合の例を示す。図６（ａ）に示す入力画像データにおけるセル６００の画素に対して、式（１）を適用し、セル内の各画素の評価値を算出した結果が図６（ｂ）である。それぞれの画素の評価値を比較し、最も評価値の大きい画素６０１を網点中心として選出する。
【００４３】
また、網点中心算出部５０２に用いられる評価式のその他の例として、図２に示したラプラシアンフィルタをＬとすると、
Ｅ  ＝  Σ（  Ｉ（ｘ，ｙ）  ＊  Ｌ（ｘ，ｙ）  ）      ・・・（２）
が挙げられる。
式（２）のようにエッジ度との相関を評価値に加えることで、エッジの端部が網点中心として優先的に選ばれる。これにより、入力画像データにおけるエッジの形状や孤立点などの画像における特徴を忠実に表現することが可能である。式（２）を図６（ａ）のセル６００の画素に適用した結果が図６（ｃ）である。なお、それぞれの画素の評価値を比較し、最も評価値の大きい画素６０２を網点中心として算出してもよい。
【００４４】
目標出力値算出部５０７は、入力セルバッファ５００から供給される入力画像データに基づいて、セルの目標出力値を算出する。各画素の入力画素値に基づいて量子化すると、全体として出力画像データが入力画像データと大きく異なってしまう場合がある。そこで本実施例では、セルにおける各画素の入力画素値の合計を目標出力値として算出する。例えば、セル６００の場合、目標出力値はセルの全ての入力画素値を加算した値２７５８と算出される。
【００４５】
出力調整部５０８は、目標出力値算出部５０７が算出した目標出力値を参照し、量子化部５０６によって量子化された結果を調整する。図７は、出力調整部５０８が行う処理について示している。セル７００は、入力画像データにおけるセル６００に対して、式（１）の評価値を用いて算出した網点中心に応じて閾値マトリクスを変更し、変更された閾値マトリクスを参照して量子化した結果である。ここで、目標出力値算出部５０７によって算出したセル７００の目標出力値は上述した通り、２７５８である。本実施例において、量子化部５０６は８ビットで表された入力画素値を二値化するため、出力値が１（図中、黒画素）となる画素は濃度２５５を有するとする。また、出力値が０（図中、白画素）となる画素は濃度０を有するとする。
【００４６】
出力調整部５０８は、矢印７０１の順に逐次、画素の出力値を加算して累積出力値を算出する。そして加算前の累積出力値と加算後の累積出力値とが同じ、又は、加算後の累積出力値の方が目標出力値に近い場合には画素の出力値をそのまま出力する。一方、加算後の累積出力値よりも加算前の累積出力値の方が目標出力値に近い場合には、画素の濃度を調整する。つまり加算した画素が黒画素の場合は、出力値を０にし、加算した画素が白画素の場合は、出力値を２５５に変更する。以上の処理の結果、出力調整前のセル７００は黒画素１２個分で濃度３０６０を有していたのに対し、出力調整後のセル７０２は黒画素１１個分で濃度２８０５となる。すなわち、上記のように出力値を調整することで、入力画像データにより近い出力画像データを得ることができる。
【００４７】
図８は、本実施例による処理結果を示す。出力画像データ８００は、図３の入力画像３００に対して、実施例２による処理を施した結果である。出力画像データ８００では、入力画像データに対してハーフトーン処理しただけの画像データ３０５において発生しているエッジ部のジャギーや細線の消失が改善されているのがわかる。
【００４８】
本実施例では、量子化部５０６からの出力に対して、濃度を逐次累積し、目標出力値から遠ざかる場合には出力値を調整する例を示した。これにより、入力画像データにより近い出力画像データを実現することができる。なお、セルの全画素に対して量子化した後に、セルの累積出力値が目標出力値に近づくまで、それぞれの画素に対応する閾値の小さな画素や入力画素値の大きな画素を優先的に出力してもよい。
【００４９】
［実施例３］
上述の実施例では、セルごとに網点中心を算出し、網点中心に合わせて閾値マトリクスを変更する例について説明した。実施例３では、網点中心は算出せず、基準となる閾値マトリクスと異なる閾値配置の閾値マトリクスを複数パターン用意し、最も出力に適した量子化結果を選択する構成について説明する。
【００５０】
図９は、実施例３に係る画像処理装置の構成例を示す。本実施例の画像処理装置における、画像入力部１１、色分解部１２、画像出力部１４、入力セルバッファ９００、目標出力値算出部９０７、閾値マトリクス保持部９０４、量子化部９０６は前述の実施例と同一の構成であり、説明を省略する。
閾値マトリクス配置部９０５は、閾値マトリクス保持部１０４に予め保持された基準となる閾値マトリクスをそのまま量子化部９０６に供給する。
閾値マトリクス配置部９０９、９１０、９１１、９１２は、網点中心とする画素が予め設定されていて、各網点中心に基づいて基準となる閾値マトリクスとは異なる閾値配置になるよう変更された閾値マトリクスを量子化部９０６に提供する。閾値マトリクス配置部９０９、９１０、９１１、９１２に設定された網点中心は互いに異なる。
【００５１】
図１０は、実施例３における処理の一例を示す。閾値マトリクス１０００は、基準となる閾値マトリクスである。閾値マトリクス配置部９０９は、セル１０００における画素１００１が網点中心となるように閾値を変更した閾値マトリクスを量子化部９０６に配置する。基準となる閾値マトリクスの閾値配置の変更は、前述の実施例１や実施例２における処理と同様の方法により実現できる。閾値マトリクス配置部９１０は画素１００２を、閾値マトリクス配置部９１１は画素１００３を、閾値マトリクス配置部９１２は画素１００３を網点中心として閾値を変更した閾値マトリクスを量子化部９０６に提供する。
量子化部９０６は、複数の変更された閾値マトリクスを参照して、入力画像データを量子化する。以上により量子化部９０６は、基準となる閾値マトリクスを用いた量子化結果とは異なる４つの量子化結果を出力する。
【００５２】
変更セル判定部９０１は、処理対象セルに対して基準となる閾値マトリクスを用いて量子化した結果に基づいて、閾値マトリクスの変更が必要かどうかを判定する。つまりここでは、処理対象セルの特徴として、基準となる閾値マトリクスを用いた量子化結果が適用される。まず各画素について、基準となる閾値マトリクスを用いて量子化された結果と処理対象セルにおける入力画素値とを減算し、各画素の量子化誤差を算出する。次に処理対象セル内の量子化誤差の合計を算出し、これが所定の値を超えている場合には、閾値マトリクスの変更が必要であると判定する。これは、量子化誤差の合計が大きくなる（符号がマイナスの場合には小さくなる）のは、入力画像データと量子化結果に大きな乖離があり、入力画像データの形状を十分に表現できていない可能性が高いためである。
【００５３】
なお、他の判定方法として、図９に図示していない経路によって目標出力値算出部９０７が算出した目標出力値を得て、出力目標出力値と量子化結果の差分が所定の値を超える場合に閾値マトリクスの変更が必要であると判定する方法でもよい。上記の量子化誤差の合計を基準に判定する方法と同様に、出力値と目標とする出力値との差が大きい場合には、入力画像データを十分に再現できていない可能性が高く、より適切な量子化結果を選択する必要がある。
量子化結果選択部９１３では、変更セル判定部９０１によって閾値マトリクスの変更が必要なセルである判定された場合、変更された閾値マトリクスを参照して得られた複数の量子化結果のうち、目標出力値に最も近い出力値である量子化結果を選択する。
【００５４】
図１０において、目標出力値算出部９０７は、処理対象セルの入力画像データから目標出力値を１８４０（灰色画素濃度１１５×１６画素＋白画素濃度０×１６画素）と算出する。量子化部９０６から取得した４つの量子化結果１００５、１００６、１００７、１００８のうち、量子化結果１００５が最も目標出力値に近い出力濃度２０４０（黒画素濃度２５５×８画素＋白画素濃度０×２４画素）である。そこで量子化結果選択部９１３は、処理対象セルの量子化結果として量子化結果１００５を選択する。また、変更セル判定部９０１によって処理対象セルは閾値マトリクスの変更が必要ではないと判定された場合、基準となる閾値マトリクス１０００によって量子化した結果を出力する。
【００５５】
以上の通り本実施例では、異なる変更を行った閾値マトリクスを用いて量子化した結果のうち、入力画像データから算出した目標出力値に最も近い量子化結果を選択することで、少なくともセル単位で表現しようとする濃度はほぼ忠実に出力可能である。また、目標出力値は入力画像データと相関があるため、この目標出力値に近い量子化結果は入力画像の特徴をよく表す網点中心を有している可能性が高い。このようにセルごとに適切な量子化結果を選択することで、入力画像の特徴であるエッジや細線を十分に再現し、エッジのジャギーや細線の消失、途切れを低減する。また、本実施例では網点中心となる候補を増加させることで、出力結果における表現可能な形状が増加し、より高画質な出力を得られる。
【００５６】
［その他の実施例］
なお、上記実施例では、多値画像データをハーフトーン処理によって２値画像データを取得する場合を例にあげて説明したが、本発明はこれに限らない。例えば、２値化と同様に公知の３値化あるいは４値化などを用いた場合に適用することも可能である。
【００５７】
本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【図１】
2012182651.tif 000003
【図２】
2012182651.tif 000004
【図３】
2012182651.tif 000005
【図４】
2012182651.tif 000006
【図５】
2012182651.tif 000007
【図６】
2012182651.tif 000008
【図７】
2012182651.tif 000009
【図８】
2012182651.tif 000010
【図９】
2012182651.tif 000011
【図１０】
2012182651.tif 000012