(57)【要約】【課題】  デジタルな画像データを高品位なハーフトーン画像データに変換する画像処理装置を実現する。【解決手段】  画像処理装置であって、入力画像データにおける所定の領域について、前記領域に含まれる各画素の画素値に基づいて、前記領域において出力すべき目標値を算出する目標値算出手段と、複数の閾値からなる閾値マトリクスを保持する保持手段と、前記領域に含まれる画素毎に、前記入力画像データを表す各画素の画素値と、各画素に対応する閾値との差分に基づいて、前記領域における前記目標値に相当する分の出力値を分配する分配順を決定する分配順決定手段と、前記目標値に相当する分の出力値を前記分配順に従って前記領域に含まれる各画素に割り当てることにより、前記領域に含まれる各画素の出力値を決定する出力値決定手段を有する。【選択図】  図２
2019062577.tif 000002
【特許請求の範囲】
【請求項１】
複数の閾値からなる閾値マトリクスを保持する保持手段と、
入力画像における所定の領域に含まれる複数の画素の画素値と、前記閾値マトリクスにおいて前記所定の領域に対応する閾値群とに基づいて、前記所定の領域に対する目標値を取得する目標値取得手段と、
前記目標値と前記閾値群と前記画素値に応じて、前記所定の領域に含まれる各画素の出力値を決定する出力値決定手段を有することを特徴とする画像処理装置。
【請求項２】
前記出力値決定手段は、前記所定の領域に含まれる各画素の出力値が前記目標値になるように、前記所定の領域に含まれる各画素の出力値を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出力値決定手段は、前記所定の領域において出力値を１以上の値とする画素の位置を、前記画素値と前記閾値とに基づいて決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記目標取得手段は、前記閾値群によるディザ処理を用いて前記目標値を導出することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
さらに、前記所定の領域に含まれる各画素の画素値と、各画素に対応する閾値とに基づいて、前記所定の領域に含まれる各画素の評価値を決定する第１の評価値決定手段と、
前記所定の領域に含まれる注目画素について、前記注目画素の画素値と、前記注目画素に対応する閾値とに基づいて、前記注目画素の評価値を決定する第２の評価値決定手段と、
前記注目画素の評価値と、前記各画素の評価値を比較する比較手段と、を有し、
前記出力値決定手段は、前記比較手段による比較結果に応じて前記注目画素の出力値を決定することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記比較手段は、比較により前記注目画素の評価値が前記所定の領域における画素のうち何番目に大きい評価値かを算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記出力値決定手段は、前記注目画素の評価値が、前記所定の領域において前記目標値よりも大きい順位である場合は、前記注目画素の出力値を０とすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記出力値はドットを配置するか否かを示すことを特徴とする請求項１乃至７に記載の画像処理装置。
【請求項９】
前記出力値決定手段は、前記目標値に応じた数のドットを前記所定の領域に配置し、
前記所定の領域におけるドットの位置は前記閾値群と前記画素値に応じて決定されることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
コンピュータを請求項１乃至９のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項１１】
入力画像における所定の領域に含まれる複数の画素の画素値を読み出し、
複数の閾値からなる閾値マトリクスから、前記所定の領域に対応する閾値群を読み出し、
前記所定の領域に含まれる複数の画素の画素値と、前記所定の領域に対応する閾値群とに基づいて、前記所定の領域に対する目標値を取得し、
前記目標値と前記閾値群と前記画素値に応じて、前記所定の領域に含まれる各画素の出力値を決定することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをより高品質なハーフトーン画像データに変換する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
コンピュータやデジタルカメラを介して入力されたデジタル画像データにより表される画像を、記録媒体上に記録剤を用いて印刷するプリンタ等の画像形成装置が広く利用されている。デジタルな画像データにおいて一般に、画像データを構成する各画素の画素値が、１色当り８ビットや１６ビット等の多階調で表現される。一方画像形成装置では、記録剤によるドットのオンオフによって画像を形成するため、画像データの階調数よりも画像形成装置が出力可能な階調数の方が低いことが多い。そこで一般に、画像形成装置により画像を印刷するために、デジタル画像データに対してハーフトーン処理が施される。ハーフトーン処理によって得られるハーフトーン画像データは、画像形成装置が記録媒体上に出力するドットパターンを表し、疑似的に画像の階調を表現する。
【０００３】
ハーフトーン処理の一種として、閾値マトリクスを用いるディザ処理と呼ばれるものがある。閾値マトリクスは、画像データにおける各画素に対応して、閾値が配置されたマトリクスである。ディザ処理は、画像データを構成する画素毎に、画素の画素値と対応する閾値とを比較することにより各画素の画素値を量子化し、画像データの階調数を低減する。閾値マトリクスは、画像データ全体に対してタイル状に繰り返し配置され、全ての画素に閾値が対応するように設定される。
【０００４】
ディザ処理に使われる閾値マトリクスには、２種類に分類される。一つは、大小の閾値が分散して配置されたＦＭ（ｆｒｅｑｕｅｎｃｙ  ｍｏｄｕｌａｔｉｏｎ）系閾値マトリクスである。もう１つは、ある位置から順に閾値が大きくなるように配置されたＡＭ（Ａｍｐｌｉｔｕｄｅ  ｍｏｄｕｌａｔｉｏｎ）系閾値マトリクスがある。ＦＭ系閾値マトリクスを用いて画像データをディザ処理する場合、得られるハーフトーン画像データは分散したドットによるドットパターンを表し、単位面積当たりのドットの数によって擬似的に階調を表現する。またＡＭ系閾値マトリクスを用いて画像データをディザ処理する場合、得られるハーフトーン画像データは複数のドットが集中したドットが周期的に配置されたドットパターンを表し、ドットの面積によって擬似的に階調を表現する。いずれの閾値マトリクスにおいても、平坦な画像データが入力されたときに、画像形成装置の出力特性を考慮して閾値の配置が決められていることが一般的である。
【０００５】
しかしながら、入力画像データの各画素の画素値と対応する閾値を比較した結果、所望のドットパターンを表すハーフトーン画像データにならない場合がある。これは、入力画像データが表す特徴と閾値マトリクスの特性とが干渉することによって起こる。例えば、一部の領域において入力画像データが表す階調を再現できていなかったり、ハーフトーン画像データにおいて再現すべき細線に途切れが生じたりしてしまう。
【０００６】
そこで特許文献１では、閾値マトリクスに対応する領域内に含まれる複数画素の画素値の平均値に応じて領域ごとの理想出力合計値を生成する。そして理想出力合計値に達するまで、画素値によって定まる領域内の重心位置の画素から順に、出力値を割り当てる方法を開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１９４９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１で開示された技術によれば、領域毎に各画素の画素値に応じた重心位置にドットの配置が依存する。従って、入力画像データの特徴に応じて領域内の重心位置が変動するため、画像形成装置が出力するのに適したドットパターンを設定することはできない。また、領域内の重心位置から順にオンドットの位置を決定していくため、入力画像データにおける特徴を維持できず、ぼけたハーフトーン画像データになってしまう。
【０００９】
本発明は、デジタルな画像データを高品位なハーフトーン画像データに変換する画像処理装置を実現することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため本発明にかかる画像処理装置は、入力画像データにおける所定の領域について、前記領域に含まれる各画素の画素値に基づいて、前記領域において出力すべき目標値を算出する目標値算出手段と、複数の閾値からなる閾値マトリクスを保持する保持手段と、前記領域に含まれる画素毎に、前記入力画像データを表す各画素の画素値と、各画素に対応する閾値との差分に基づいて、前記領域における前記目標値に相当する分の出力値を分配する分配順を決定する分配順決定手段と、前記目標値に相当する分の出力値を前記分配順に従って前記領域に含まれる各画素に割り当てることにより、前記領域に含まれる各画素の出力値を決定する出力値決定手段を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、デジタルな画像データを高品位なハーフトーン画像データに変換することができる。
【図面の簡単な説明】
【００１２】
【図１】画像形成システムのハードウェア構成を示すブロック図
【図２】画像処理部１０６の構成を示すブロック図
【図３】入力画像データの構成例を説明する図
【図４】閾値マトリクスおよび閾値マトリクスによるディザ処理を説明する図
【図５】画像処理部１０６における動作を示す図
【図６】画像処理部１０６の構成を示すブロック図
【図７】ブルーノイズ特性を有する閾値マトリクスの一例を示す図
【図８】目標値算出部２０２を説明する図
【図９】目標値算出部２０２における動作を示す図
【図１０】入力画像データにおける領域および処理結果を示す図
【図１１】画像処理部１０６の構成を示すブロック図
【図１２】γ補正を説明する図
【図１３】第一評価値算出部１１０２を説明する図
【図１４】分配順決定部２０３を説明する図
【図１５】目標値算出部２０２における動作を示す図
【図１６】分配順決定部２０３における動作を示す図
【図１７】入力画像データの構成例を示す図
【図１８】ＡＭ系閾値マトリクスの一例を示す図
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜第１実施形態＞
（画像処理装置の構成）
図１は、第１実施形態に適用可能な画像処理装置を含む画像形成システムのハードウェア構成を示す。本実施形態における画像処理装置は一例として、記録媒体上に記録剤を用いて画像を形成するプリンタ内に内蔵された画像処理コントローラを例として説明する。第１実施形態に係る画像形成システムは、ＣＰＵ１００、ＲＡＭ１０１、ＲＯＭ１０２、操作部１０３、表示部１０４、外部記憶装置１０５、画像処理部１０６、画像形成部１０７、Ｉ／Ｆ（インターフェース）部１０８、バス１０９を備える。
【００１５】
ＣＰＵ１００は、入力されたデータや後述のＲＡＭ１０１やＲＯＭ１０２に格納されているコンピュータプログラムを用いて、画像形成システム全体の動作を制御する。なお、ここではＣＰＵ１００が装置全体を制御する場合を例に説明するが、複数のハードウェアが処理を分担することにより、装置全体を制御するようにしてもよい。
【００１６】
ＲＡＭ１０１は、外部記憶装置１０５から読み取ったコンピュータプログラムやデータ、Ｉ／Ｆ部１０８を介して外部から受信したデータを一時的に記憶する記憶領域を有する。またＲＡＭ１０１は、ＣＰＵ１００が各種の処理を実行するために用いる記憶領域や画像処理部１０６が画像処理を実施する際に用いる記憶領域として使用される。すなわちＲＡＭ１０１は、各種の記憶領域を適宜提供することができる。ＲＯＭ１０２には、画像形成システムにおける各部の設定を行う設定パタメータやブートプログラムなどが格納されている。
【００１７】
操作部１０３は、キーボードやマウスなどにより構成されており、操作者による操作を介して操作者の指示を受け付ける。これにより操作者は、各種の指示をＣＰＵ１００に対して入力することができる。
【００１８】
表示部１０４は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１００による処理結果を画像や文字などで表示することができる。なお表示部１０４がタッチ操作を検知可能なタッチパネルである場合、表示部１０４が操作部１０３の一部として機能してもよい。
【００１９】
外部記憶装置１０５は、ハードディスクドライブに代表される大容量情報記憶装置である。外部記憶装置１０５には、ＯＳ（オペレーティングシステム）やＣＰＵ１００に処理を実行させるためのコンピュータプログラムやデータなどが保存されている。また、各部の処理によって生成される一時的なデータ（入出力される画像データや画像処理部で使われる閾値マトリクスなど）を保持している。外部記憶装置１０５に保存されているコンピュータプログラムやデータは、ＣＰＵ１００による制御に従って適宜読み取られ、ＲＡＭ１０１に記憶されてＣＰＵ１００による処理対象となる。
【００２０】
画像処理部１０６は、コンピュータプログラムを実行可能なプロセッサや専用の画像処理回路として実現され、印刷対象として入力された画像データを画像形成部１０７が出力可能な画像データに変換するため各画像処理を実行する。例えば、ＣＰＵ１００から画像処理を実行する指示を受け付けると、外部記憶装置１０５に格納されたＮ階調の入力画像データを処理し、Ｍ階調の出力画像データを出力する。
【００２１】
画像形成部１０７は、画像処理部１０６から受け取った出力画像データに基づいて、記録媒体上に記録剤を用いて画像を形成する。第１実施形態における画像形成部１０７は、インクをノズルから記録媒体上に吐出することにより画像を形成するインクジェット方式とする。なお画像形成部１０７は、帯電した像担持体に露光しトナーで現像し、そのトナー像を記録媒体上に転写することで画像を形成する電子写真方式を用いてもよい。
【００２２】
Ｉ／Ｆ部１０８は、本実施形態における画像形成システムと外部機器と接続するためのインターフェースとして機能する。さらに、Ｉ／Ｆ部１０８は、赤外線通信や無線ＬＡＮ等を用いて通信装置とデータのやりとりを行うためインターネットに接続するためのインターフェースとしても機能する。上記の各部はいずれも、バス１０９に接続され、バス１０９を介してデータの授受を行う。
【００２３】
（画像処理部１０６の構成）
本実施形態における画像処理部１０６について説明する。画像処理部１０６は、入力画像データを、入力画像データが表す階調数より少ない階調数を表すハーフトーン画像データに変換するためのハーフトーン処理を実行する。図２は、画像処理部１０６の詳細な構成を示すブロック図である。本実施形態における画像処理部１０６は、図２に示したブロック図を構成する専用の画像処理回路として実現される。画像処理部１０６は、画素値取得部２０１、目標値算出部２０２、分配順決定部２０３、閾値取得部２０４、出力値決定部２０５を有する。
【００２４】
画像処理部１０６に入力されるデジタルな画像データ（以下、入力画像データ）は、画素毎に０〜２５５いずれかの値を示す８ビットのデータである。本実施形態において画像処理部１０６は、１画素当たり８ビットの入力画像データを、画素毎に０か１のいずれかの値を有する１ビット２値のハーフトーン画像データ（出力画像データ）に変換する。ハーフトーン画像データにおいて、画素値（出力値）が０である画素はドットのオフを、画素値（出力値）が１である画素はドットのオンを表す。このようなハーフトーン画像データは、入力画像データが表す階調数より少ない階調数により擬似的に入力画像データを再現している。
【００２５】
画素値取得部２０１は、入力画像データにおいて処理対象とする単位領域（以下、処理対象領域）に含まれる複数画素の各画素値を取得する。図３は入力画像データ３００を示す。本実施形態は、図３における太枠が示す４画素×４画素の領域を単位領域とする。画素値取得部２０１は、処理対象領域が領域３０１であるとすると、領域３０１に含まれる１６画素の各画素値を取得することになる。
【００２６】
目標値算出部２０２は、処理対象領域に含まれる複数画素の画素値に基づいて、処理対象領域における出力値の合計を目標値として算出する。前述の通り出力値１または０によりドットのオンオフを表すので、単位領域における出力値の合計（目標値）は、単位領域においてオンとすべきドットの数に相当する。本実施形態では、処理対象領域に含まれる複数画素の画素値の合計を２５５で除算した値（小数点以下は切り捨てる）を目標値として算出する。
【００２７】
閾値取得部２０４は、ディザ処理に使用可能な閾値群をＲＡＭ１０１または外部記憶装置１０５から取得する。本実施形態では、図４に示す閾値マトリクス４０１を用いるとする。閾値マトリクス４０１は、マトリクス内の各画素に、値の異なる閾値が配置されている。詳細は後述する。閾値マトリクスと処理単位領域は同じサイズ（４画素×４画素）なので、閾値取得部２０４は、処理対象の単位領域が読み込まれる毎に図４に示す閾値マトリクス４０１を取得する。
【００２８】
分配順決定部２０３は、画素値取得部２０１から取得した処理対象領域の画素値と閾値取得部２０４から取得した閾値とに基づいて、処理対象領域におけるドットの分配順を決定する。本実施形態では、位置的に対応する画素値と閾値との差分値を評価値として算出し、算出された各画素の評価値をソート処理することにより、ドットの分配順を決定する。
【００２９】
出力値決定部２０５は、分配順決定部が決定した分配順に従って、各画素に出力値として１ずつ目標値算出部２０２が算出した目標値（出力値合計）に達するまで割り当て、処理対象領域における各画素の出力値を決定する。
【００３０】
ここで、分配順決定部２０３が決定する処理対象領域におけるドットの分配順について説明する。一般に、閾値マトリクスを用いてディザ処理をする場合、画素値と位置的に対応する閾値とを比較することにより量子化し、出力値を決定する。図４に示す領域４０２は、入力画像データにおいて処理対象領域内の各画素の画素値が一様に値「１０」である例を示す。また、図４に示す領域４０４は、各画素の画素値が一様に値「１５０」である例を示す。領域４０２および４０４それぞれの各画素と、閾値マトリクス４０１における対応する閾値とを比較し、閾値よりも画素値の方が大きい画素を出力値１（ドットがオン）、画素値が閾値以下である画素を出力値０（ドットがオフ）と処理する。その結果、領域４０２は出力結果４０３に変換され、領域４０４は出力結果４０５に変換される。なお出力結果４０３および４０５において黒塗りの矩形はドットがオンである画素を示し、白塗りの画素はドットがオフである画素を示す。
【００３１】
出力結果４０３および４０５から、入力画像データにおける処理対象領域が表す画素値（濃度）が大きいほど、ドットの数が増えることがわかる。特に閾値マトリクス４０１は、値の異なる複数の閾値が、値が小さい順に分散するように配置されている。そのため、ディザ処理の結果得られるドットができるだけ分散し、粒状性がよくなるように設計されている。このように閾値の配置によって、ドットの粒状性を制御することができる。つまり閾値マトリクスは、閾値の配置によってドットを配置する順を制御できるとも言える。一般に、画像形成部１０７の出力特性を考慮して閾値マトリクスにおける閾値を設計する。本実施形態では、一般にディザ処理に用いられる閾値マトリクスを、画像形成部１０７の出力特性に合わせたドットパターンを制御するための、ドットの配置順を示す情報として扱う。
【００３２】
一方、入力画像データにおける処理対象領域内の複数画素の画素値が一様ではない場合、処理対象領域における画素値の変動と、閾値マトリクスにおける閾値の変動とが干渉し、所望の出力結果が得られないことがある。例えば、周辺画素よりも大きい画素値をもつ画素は、周辺画素よりも比較的ドットをオンにする２値データ（出力値１）に変換した方がよい画素と言える。しかしながら、閾値マトリクスの中でも他の閾値より値の大きい閾値が対応するために、周辺画素よりも大きい画素値をもつ画素が出力値０に変換されてしまう場合がある。その結果、入力画像データの解像度や画像が表す特徴が失われてしまう場合がある。特に細線やエッジを表す画素であるほど、出力結果における劣化が目立ちやすい。
【００３３】
そこで第１実施形態における分配順決定部２０３は、画素毎に画素値と閾値との差を評価値として算出する。単位領域において、画素値から対応する閾値を引いた値が大きい画素ほど評価値が大きい値になる。この評価値をソート処理した順にドットを分配することにより、入力画像データの特徴と設計された閾値マトリクスの特性との両方を反映して、処理対象領域におけるドットの出力値を決定することができる。
【００３４】
（画像処理部１０６における動作）
図５は、画像処理部１０６における処理の動作を示す。また図４における４０６〜４０９に、以下の処理によって得られる処理結果の過程を示す。
【００３５】
ステップＳ５０１において画素値取得部２０１は、ＲＡＭ１０１や外部記憶装置１０５から入力画像データのうち処理対象領域に含まれる複数画素の画素値を取得する。例えば、領域４０６を処理対象領域として、各画素の画素値を取得したとする。画素値を１つ取得するとステップＳ５０２において画素値取得部２０１は、処理対象領域に含まれる全ての画素の画素値を取得したかどうかを判定する。処理対象領域に含まれるすべての画素の画素値を取得していない場合はステップＳ５０１に戻り、画素値の取得を繰り返す。処理領域に含まれるすべての画素の画素値を取得したら、ステップＳ５０３に進む。
【００３６】
ステップＳ５０３において閾値取得部２０４は、ＲＡＭ１０１や外部記憶装置１０５から処理対象領域に対応する閾値マトリクスの閾値を取得する。ここでは、閾値マトリクス４０１の各閾値を取得する。ステップＳ５０４において閾値取得部２０４は、処理対象領域に対応する全ての画素を取得したかどうかを判定する。全ての閾値を取得していない場合ステップＳ５０３に戻り、順次閾値を取得する。処理対象領域に対応する全ての閾値を取得したら、ステップＳ５０５に進む。なお、ステップ５０１およびステップ５０２の処理と、ステップＳ５０３およびステップ５０４の処理とは、互いに依存関係を持たない処理であるため、逐次的に処理する場合でもどちらが先に実行してもいいし、並行して実行してもよい。
【００３７】
ステップＳ５０５において目標値算出部２０２は、ステップＳ５０１およびステップＳ５０２において取得した画素値に基づいて、処理対象領域における目標値（目標とする出力値合計）を算出する。ここでは、処理対象領域内の全ての画素値を合計して２５５で除算した商を算出する。ここで得られた商は、処理対象領域においてドットをオンにするべき画素の数を表す。領域４０６の場合、各画素の画素値を合計すると、１１３２が得られる。さらに１１３２を２５５で除算した商は、４．４３・・となるので、領域４０６における目標値として、ドットをオンにする画素数４が算出される。
【００３８】
ステップＳ５０６において分配順決定部２０３は、処理対象領域の画素毎に、画素値から対応する閾値を減算した値を評価値として算出する。本実施形態の場合、処理対象領域には１６画素が含まれるので、１６画素分の評価値が算出される。領域４０６と閾値マトリクス４０１とに基づいて、領域４０６に対応する評価値群４０７が算出される。さらに分配順決定部２０３は、算出した評価値を値が大きい順にソートした結果を分配順とする。つまり、処理対象領域のうち評価値が大きい画素の順に、ドットが分配されることになる。領域４０６の場合、評価値群４０７に基づいて分配順４０８が決定される。
【００３９】
ステップＳ５０７において出力値決定部２０５は、ステップＳ５０５で得られた処理対象領域においてドットをオンにするべき画素の数分の画素の位置を分配順に決定し、決定した順にその位置の画素の出力値を１とする。それ以外の画素は、ドットをオフにする画素として出力値を０とする。領域４０６の各画素の出力値は、出力結果４０９に示す通りに決定される。
【００４０】
ステップＳ５０８において全ての単位領域について処理が終了したかどうかを判定し、終了していない場合には、上記の処理を繰り返す。なおステップＳ５０６は、入力画像データにおける処理対象領域に含まれる複数画素の各画素値を取得すれば処理ができるので、ステップ５０１〜ステップＳ５０５の処理の間、並行してステップＳ５０６における処理をするようにしてもよい。
【００４１】
以上の処理により得られるハーフトーン画像データは、入力画像データを構成する画素値が最大値「２５５」に近い、または対応する閾値が最小値「０」に近い画素ほど、出力値１（ドットオン）が割り当てられやすくなる。また、単位領域が平坦な画像を表す場合、すなわち、複数画素の画素値の変動が小さい場合には、閾値の小さい順にドットが配置されるので、設計した意図を反映したドットの配置を表すハーフトーン画像データに変換される。また単位領域が細線やエッジ等の特徴をもつ場合、画素値の大きさがドットの配置順に反映されるので、閾値マトリクスを用いて単にディザ処理で量子化する方法に比べて、画像の特徴を維持したハーフトーン画像データに変換される。従って本実施形態によれば入力画像データを、より高画質なハーフトーン画像データに変換することができる。  
【００４２】
なお、第１実施形態において目標値算出部２０２は、処理対象領域に含まれる複数画素の画素値を合計し、オンドットの表す画素値に相当する２５５で除算することにより、処理対象領域においてドットをオンにするべき画素の数を算出した。しかしながら、本実施形態のように閾値マトリクスの大きさと一致するセルを入力画像データにおける単位領域とする場合、処理対象領域の画素値が一様であれば、ディザ処理の結果得られるドットの総数は等しくなる。従って目標値算出部２０２は、例えば単位領域における各画素の画素値を平均し、単位領域における全ての画素の画素値の平均値を算出した後、平均値に対応するドット数を目標値として算出するような構成とすることもできる。
【００４３】
なお、第１実施形態において閾値マトリクスは、便宜上、ディザ処理に用いられる閾値マトリクスとしたが、従来のディザ処理のように、入力画像データにおける各画素の画素値と比較するための閾値としては用いていないことに注意されたい。第１実施形態では、入力画像データのレンジ（ここでは、０〜２５５）と同じレンジをもち、所望のドットパターンになるよう複数の値を適切に配置することで、所定領域内の各画素の順序を示す情報として閾値マトリクスを用いている。
【００４４】
＜第２実施形態＞
第１実施形態では、入力画像データを０または１からなるハーフトーン画像データに変換するハーフトーン（２値化）処理を例に説明した。また、画素値から閾値を減算した値を評価値として用いた。第２実施形態では、１画素当たり８ビットの入力画像データを３値化する処理を例にする。また、画像の特徴に応じた評価値を算出する方法について説明する。なお、第１実施形態と同様の構成については同じ符号を付し、詳細な説明を省略する。図６は、第２実施形態における画像処理部１０６の詳細な構成を示す。目標値算出部２０２は、平均値算出部６０１、ディザ処理部６０２、集計部６０３を有する。
【００４５】
平均値算出部６０１は、処理対象領域に含まれる全ての画素の画素値を平均し、処理対象領域における平均値を算出する。平均値算出部６０１は算出した平均値をディザ処理部６０２に出力する。
【００４６】
ディザ処理部６０２は、閾値取得部２０４から処理対象領域に対応する閾値を取得する。第２実施形態では、図７に示すような６４画素×６４画素の閾値マトリクスを用いるとする。ただし処理対象とする単位領域は、第１実施形態と同様４画素×４画素とする。そのため閾値取得部２０４は、処理対象領域が更新されるたびに、図７に示す閾値マトリクスから順に４画素×４画素に対応する位置の閾値を取得する。図７に示す閾値マトリクスは、いわゆるブルーノイズ特性を持つ閾値マトリクス（以下、ブルーノイズマスク）である。ブルーノイズマスクを用いたディザ処理を実行すると、分散性の高いドットパターンを得られることが知られている。なおこのようなブルーノイズマスクは一般に、インクジェット方式の画像形成部１０７のためのハーフトーン処理に適している。
【００４７】
本実施形態におけるブルーノイズマスクには、各画素位置に対して閾値が２つずつ存在する。従って４画素×４画素の単位領域には、３２個の閾値が存在する。また、各閾値は入力画像データの階調に合わせて８ビットの値で表現されている。なお、ディザ処理する閾値の階調数を変更すればＮ値の入力画像データに対してディザ処理を実施可能であり、画素当りの閾値数を変更すれば、Ｍ値化が実施可能である。
【００４８】
ディザ処理部６０２は、平均値算出部６０１から出力された処理対象領域における平均値に対して、閾値取得部２０４が取得した閾値群とのディザ処理をおこなう。本実施形態ではディザ処理では３値化するので、ディザ処理部６０２から出力される各画素の出力値は、０、１、２のいずれかの値である。
【００４９】
集計部６０３は、ディザ処理部６０２によりディザ処理した結果を後述の通り集計する。集計部６０３は、集計結果を処理対象領域における目標値として、出力値決定部２０５に出力する。
【００５０】
分配順決定部２０３は、処理対象領域における各画素について、画素値と閾値とに基づいて評価値を算出し、処理対象領域における評価値をソート処理することで、優先的に出力値を大きくする画素の順番である分配順を決定する。分配順決定部２０３は、決定した分配順を出力値決定部２０５に出力する。
【００５１】
出力値決定部２０５は、集計部６０３から得た目標値となるまで、分配順決定部２０３で決められた順に各画素に出力値を１ずつ割り当て、処理対象領域における各画素の出力値を決定する。
【００５２】
（画像処理部１０６における動作説明）
第２実施形態の画像処理部１０６における動作は、第１実施形態において説明した図５に示すフローチャートのうち、ステップＳ５０５における目標値算出処理、ステップＳ５０６における分配順決定処理、ステップＳ５０７における出力値決定処理が異なる。まずステップＳ５０５における目標値算出処理の詳細を図９に示すフローチャートに沿って説明する。
【００５３】
ステップＳ９０１において平均値算出部６０１は、処理対象の単位領域に含まれる各画素の画素値の平均値を算出する。算出した平均値は、ステップＳ９０２において、ディザ処理部６０２より取得した閾値群とのディザ処理を実施する際に用いられる。図８は、本実施形態におけるディザ処理を説明する図である。各画素に対して設けられた量子化部において平均値と各閾値とを比較し、量子化（ここでは３値化）する。ステップＳ９０１において算出した平均値は１つであるのに対し、取得した閾値群は４画素×４画素に対応する１６組を有している。本実施形態におけるディザ処理では、１つの平均値に対して、閾値群の閾値それぞれと比較した結果を各画素の量子化結果として出力する。これは、処理対象領域における各画素を、平均値に置換した後に、ディザ処理することに相当する。ステップＳ９０２において、夫々の量子化部が出力した量子化結果を後段の集計部６０３に出力する。
【００５４】
次にステップＳ９０３において集計部６０３は、ステップＳ９０２におけるディザ処理の結果を集計する。ステップＳ９０２におけるディザ処理の結果、各画素に対して量子化値０、１、２のいずれかを得る。そこで集計部６０３は、処理対象領域における４画素×４画素の量子化値の総和をとる。この単位領域におけるディザ処理結果の総和は、処理単位毎の最終的な出力値の総和に一致し、後段のステップＳ３５０７によって各画素に出力値が振り分けられる際の目標値となる。以上の処理により、ステップＳ５０５における目標値算出処理が完了する。
【００５５】
なお本実施形態のように、閾値マトリクスにおける一部の局所的な領域を単位領域のサイズとする場合、処理対象領域が閾値マトリクスのどの位置に対応するかによって例え処理対象領域の平均値が同一であってもディザ処理の結果得られる出力値の総和は異なる。例えば、図１０に示す領域１００１、及び領域１００２は、領域内の全ての画素について同一の画素値を持つ画素群を示す。領域１００１および１００２はいずれも、各画素値の平均値は７２である。領域内の各画素の画素値が平均値７２に置換された画素群に対して、図７に示す閾値マトリクス内の閾値群７０１と閾値群７０２によりディザ処理をおこなった結果がディザ処理結果１００３、及びディザ処理結果１００４である。ディザ処理結果１００３およびディザ処理結果１００４について夫々の出力値の総和をとると、ディザ処理結果１００３では出力値合計（目標値）が９、ディザ処理結果１００４では出力値合計（目標値）が８となる。このように画素群の平均値が同じであっても生じる目標値の差異は、閾値マトリクスの設計時に定められた閾値配列により決まり、ディザ処理の結果得られるドットパターンの階調性や粒状性を向上させるために生じるものである。従って、閾値マトリクスの局所領域のサイズを入力画像データの単位領域とする場合は、夫々の局所領域に含まれる閾値群ごとの目標値を算出することが重要となる。
【００５６】
次に第２実施形態におけるステップ５０６の分配順決定処理について説明する。第２実施形態における分配順決定部２０３（図６）は、出力値を分配する順番を決定するため、評価値として、画素値から対応する閾値に係数αを乗算した値を減算した結果“入力画素値−α×閾値”（αは０以上）を用いる。分配順決定部２０３は算出した評価値をソートし、評価値の大きい画素から小さい画素の降順に分配順を決定する。つまり係数αを用いる点で、第１実施形態と異なる。
【００５７】
評価値である“入力画素値−α×閾値”において係数αが０の場合、入力画像データを構成する画素値のパターンのみに依存して分配される順番が決まる。また、係数αが０より大きいほど、閾値マトリクスにおける閾値の配置が評価値に反映される。すなわち、処理対象領域に対応する閾値群のうち、より小さい閾値に対応する画素がより優先的に分配されやすくなる（分配順が早くなりやすい）。係数αが０より大きく、入力画像データにおける画素値が一定である場合、閾値の大きさのみに依存して分配順が決められるため、設計した閾値マトリクスの特性通りの順番で領域におけるドットをオンにすべき画素が決定される。この係数αを大きくするほど、閾値マトリクスによって予め決められた分配順の影響が強くなる。さらに、係数αを１より大きい値に設定すると、入力画像データにおける画素値のパターンよりも閾値の配置の方がより評価値に影響を与えることになる。このような評価値を用いることにより、入力画像データのパターン（特徴）による評価値への影響と、閾値マトリクスにおける閾値の配置による評価値への影響を調整することができる。
【００５８】
例えば、入力画像データがエッジや細線を表す場合、閾値マトリクスの特性に関わらず、入力画像データにおける画素値のパターンを優先した方が、量子化した結果におけるエッジや細線の再現性が高い。従って、入力画像データ（あるいは単位領域）がエッジや細線を表す場合は、“入力画素値−α×閾値”における係数αを１より小さくした方がよい。一方、自然画像や平坦部の多い入力画像データの場合、粒状性を重視するため予め設計された閾値マトリクスの特性（本実施形態ではブルーノイズ特性）に応じて分配順が決定されるように、係数αを１以上の値に設定するとよい。なおα＝１のとき、第１実施形態と同じように評価値が算出されることになる。
【００５９】
このように、処理単位領域または画像全体の特徴（エッジ量、コントラスト量等）や属性データ（エッジ、細線等）、画像の種類・コンテンツ情報（自然画、文字・線画、図面等）に応じて係数αを変更することで、出力画像における画質を調整することができる。係数αは、入力された画像データごとでもよいし、入力画像データにおける領域毎に設定してもよい。本実施形態では、画像データのコンテンツ情報を読み取り、入力画像データが自然画である場合は係数α＝１、入力画像データが図面、文字・線画である場合には、α＝０．５とする。入力画像データを取得すると、分配順決定部２０３は、入力画像データのコンテンツ情報に基づいて、係数αを１または０．５に設定する。そして、処理対象領域に含まれるすべての画素について、評価値である“入力画素値−α×閾値”を算出し、ソート処理する。
【００６０】
ここで、図７に示す画素毎に２つの閾値が対応する閾値マトリクスを用いる場合のソート処理について説明する。図１０の１００５〜１０１０は、α＝１とした時の分配順決定処理の過程を説明する図である。図１０に示す領域１００１と対応する閾値群７０１（図７）とに基づいて、評価値“入力画素値−α×閾値”を各閾値に対して算出した結果が評価値群１００５である。また、領域１００２と対応する閾値群７０２（図７）とに基づいて評価値を算出した結果が評価値群１００６である。評価値群１００５および１００６からわかるように、各画素は閾値に対して評価値が算出されることになるので、評価値算出結果において各画素は２通りの評価値をもつ。さらに、評価値群１００５および１００６をソート処理し、高い評価値から低い評価値へ降順に分配順を割り当てた結果が分配順１００７および１００８である。なお評価値が同じ場合は、閾値の小さいものを分配順として優先するようにしている。本実施形態の場合、３値化をするため各画素に対して２つの閾値が対応する。従って、４画素×４画素の１６画素の領域に対して分配順を決定すると、１〜３２までの分配順が決められる。
【００６１】
次にステップＳ５０７における出力値決定処理について説明する。出力値決定部２０５（図６）は、分配順決定部２０３から受け取る処理対象領域の分配順に従って、集計部６０３から受け取る処理対象領域の目標値になるよう、各画素に出力値を１ずつ順に割り当てていく。処理対象領域における各画素の出力値のカウント値を初期値０とし、出力値「１」を分配する毎に目標値に達するまで順に各カウント値を１ずつ加算する。例えば分配順１００７に対して、集計部６０３により算出された目標値９を割り当てるとする。分配順１の画素から順に出力値「１」を分配する毎にカウント値に１を加算し、目標値９に達すると出力値の分配を完了する。
【００６２】
出力値１を２回割り当てられた画素の出力値は２に、１回割り当てられた画素の出力値は１に、１度も割り当てられなかった画素の出力値は０が決定され、処理対象領域の各画素の出力値は出力結果１００９に示す通りになる。以上の処理により、０〜２５５いずれかの画素値からなる入力画像データを０、１、２のいずれか３値によって表される出力画像データに変換する。処理対象領域を閾値マトリクス（例えば６４画素×６４画素）より小さい４画素×４画素のブロックごとに処理をする。また評価値の算出において、入力画像データが表す特徴による影響と閾値マトリクスの特性による影響を適宜制御できる係数αを導入した。その結果、適応的に入力画像データを量子化し、入力画像データの特徴と閾値マトリクスの特性とが干渉するのを防ぐことができる。
【００６３】
なお第２実施形態において、各画素の分配順ではなく、閾値の数に対して分配順を割り当てた。しかしながら３値化をする場合であっても、第１実施形態のように各画素１つの分配順を割り当ててもよい。例えば、それぞれの閾値に対して評価値を算出した後、画素を代表する評価値を１つ決定する。具体的には画素に対応する複数の評価値のうち、大きい方の評価値を代表値とすればよい。このようにすることで、各画素に対して分配順を１つ割り当てられる。このとき、順に出力値１ずつ分配順に割り当て、一巡した後、さらに出力値１ずつ加算していく方法でもよいし、分配順に出力値２を割り当て、最後に目標値に対して１だけ残った場合のみ、画素の出力値を１としてもよい。
【００６４】
また、入力画像データにおいて画素値が０（入力画像データにおける画素値レンジの最小値）である場合、どのような閾値と比較処理しても、出力値はディザ処理結果における０となる。また、入力画像データにおいて画素値が２５５（入力画像データにおける画素値レンジの最大値）の場合、どのような閾値と比較処理しても、出力値はディザ処理結果における最大値となる。そこで、入力画像データにおいて最小値または最大値をもつ画素については、評価値による順番付けを無視しても良い。その場合は、例えば、画素値が最小値である画素は、分配順が必ず最後にくるように並び替える、もしくは分配対象からはずすようにすればよい。
【００６５】
また、第１実施形態では「入力画素値―閾値」、第２実施形態では、「入力画素値−α×閾値」を評価値の例として説明した。このような評価値の算出は、特にハードウェア回路として実現する場合、簡易で、かつ画素値と閾値の両方を考慮した評価値を算出することができる。しかしながら評価値を導出するための関数はこれに限るわけではない。特に第２実施形態をソフト処理により実現する場合、単純な差分ではなく、画素値によって決まる関数と、閾値によって決まる関数とを組み合わせた評価関数を用いることにより、各画素の評価値を導出してもよい。この場合、画素値によって決まる関数は、画素値に対して単調増加な関数を、閾値によって決まる関数は、閾値に対して単調減少な関数を用いることで、前述の実施形態と同様の効果を得ることができる。
【００６６】
＜第３実施形態＞
第３実施形態では、分配順決定部２０３が実行する分配順決定処理を、より簡易的なハードウェア構成により実装した例について説明する。また本実施形態では、画像形成部１０７や表示部１０４の特性に合せたγ補正機能を追加することで、出力濃度を調整可能な例について説明する。前述の実施形態と同様の構成についは、同一の構成で実現可能であり、その説明を省略する。
【００６７】
（画像処理部１０６の構成）
図１１は、第３実施形態における画像処理部１０６の構成例を示すブロック図である。前述の実施形態において説明した画像処理部１０６に対して、目標値算出部２０２の詳細な構成と、分配順決定部２０３の詳細な構成が異なる。第３実施形態における目標値算出部２０２は、平均値算出部６０１、γ補正部１１０１、ディザ処理部６０２、集計部６０３を有する。つまり第３実施形態では、平均値算出部６０１により各画素の画素値を平均値に置き換えた後に、γ補正部１１０１による処理が施される。本実施形態においてγ補正部１１０１は、画像形成部１０７の出力特性に応じて、γ補正処理を実行する。
【００６８】
また第３実施形態における分配順決定部２０３は、第一評価値算出部１１０２、第二評価値算出部１１０３、比較部１１０４、を有する。
【００６９】
第一評価値算出部１１０２は、処理対象領域に含まれるすべての画素に対して、評価値を算出する。一方第二評価値算出部１１０３は、処理対象領域における注目画素の評価値を算出して、出力する。第二評価値算出部１１０３では、第一評価値算出部１１０２と同じ評価関数に従って評価値を算出する。つまり第一評価値算出部１１０２からの出力が処理対象領域全体の評価値であるのに対し、第二評価値算出部１１０３は、注目画素の評価値のみを出力する。
【００７０】
比較部１１０４は、評価値算出部１１０３から出力される注目画素の評価値を、第一評価値算出部１１０２から出力される注目画素を含む処理対象領域における全ての画素の評価値夫々と比較する。比較結果に基づいて、注目画素に対応する評価値の大きさが何番目にあるか、すなわち分配順を決定する。
【００７１】
（画像処理部１０６における動作）
図１１に示した第３実施形態の画像処理部１０６における動作は、第２実施形態において説明した図５に示すフローチャートのうち、ステップＳ５０５における目標値算出処理、およびステップＳ５０６における分配順決定処理が異なる。
【００７２】
まずステップＳ５０５における目標値算出処理について、図１５を用いて説明する。ステップＳ９０１において平均値算出部６０１は、処理対象領域に含まれる各画素の画素値を平均し、平均値を算出する。算出した平均値を処理対象領域に含まれる各画素の画素値として、処理対象領域の画素値を出力する。
【００７３】
ステップＳ１５０１においてγ補正部２１０は、処理対象領域の各画素に対してγ補正をおこなう。画像処理部１０６が出力する画像データは、出力デバイス（画像形成部１０７や表示部１０４）を経てユーザーに利用される。このとき出力デバイスの特性によって、同じ画像データであっても出力濃度が異なる。そこで出力濃度を出力デバイス間で合せるために、γ補正をする。γ補正は、図１２に示すような出力デバイスの入出力特性１２０２に対して、逆特性となるような補正カーブ１２０１によって、入力値を補正する。このようなγ補正によって、線形な出力濃度特性を得られる。
【００７４】
なお出力デバイスの入出力特性は、画素間の影響を強く受け非線形な特性となる。特にインクジェットプリンタにおいては出力した時のドットゲインの影響により非線形になりやすい。従って各画素に対してγ補正した後に平均化するよりも、所定領域を平均化した後にγ補正する方が、出力濃度を正確に補正ができる。また、γ補正する回数も所定領域を平均化した後にγ補正する方が大幅に少ない（所定領域が４画素×４画素の場合、１／１６に削減される）。
【００７５】
以降のステップＳ９０２およびステップＳ９０３については第２実施形態と同様の処理を実行する。このようにγ補正処理を実行することで、出力デバイスの特性に応じた目標値（出力値合計）を算出することができる。
【００７６】
次に、ステップＳ５０６における分配順決定処理について説明する。図１６は、第３実施形態における分配順決定部２０３の詳細な動作を示す。
【００７７】
ステップＳ１６０１において第一評価値算出部１１０２は、処理対象領域における全ての画素の評価値を算出し、出力する。図１３は、第一評価値算出部１１０２における構成を示す図である。図１０と同様の処理対象領域１００１に対して、対応する図７に示した閾値群７０１を用いて、各画素の画素値と閾値との差分に基づいて評価値群１００５を出力する。なおここでは第２実施形態におけるα＝１とした時の「画素値−α×閾値」の評価値を例にしている。ステップＳ１６０１における処理は、単位領域ごとに行う処理であり、以降の処理は処理対象領域における画素ごとに処理を実行する。
【００７８】
ステップＳ１６０２において第二評価値算出部１１０３は、処理対象領域における注目画素の評価値を算出する。ステップＳ１６０１において第一評価値算出部１１０２と同様、α＝１とした時の「画素値−α×閾値」により評価値を算出する。
【００７９】
ステップＳ１６０３において比較部１１０４は、ステップＳ１６０２において求めた注目画素の評価値を、ステップＳ１６０１において求めた処理対象領域内の全ての評価値と比較し、注目画素の評価値が何番目に大きいかを算出する。図１４に比較部１１０４における構成を示す。評価値群１００５が第一評価値算出部１１０２から出力される。注目画素が処理対象領域における右下画素であるとき、第二評価値算出部１１０３からは、注目画素の評価値１４０１が出力される。ここでは画素毎に２通りの評価値が算出されるので、算出された評価値−１２０および８それぞれを、処理対象領域の３２通りの評価値全てと比較する。注目画素の評価値の方が小さい又は等号成立の場合１を出力、不成立の場合０を出力する。なお、比較器の等号成立の場合には、閾値の大きさなどによって出力値を変更してもよい。以上のように本実施形態では、出力値の分配順を決定する処理を所定領域の画素群単位と画素単位に分離して処理し、画素毎に逐次評価値の大きさ順位を算出することでソート処理をなくしている。このため本実施形態で示した構成は、入力画像データの特徴と閾値マトリクスの特性の干渉を低減しつつ、回路実装も容易となる利点を有する。また、出力デバイスの特性に合わせた精度の高いγ補正も容易となっている。
【００８０】
なお第３実施形態においては、画素毎に分配順が決定した後、出力値決定部２０５は処理対象領域内の全ての画素の分配順を待たずに、画素毎に出力値を決定するように構成してもよい。出力値決定部２０５は、注目画素の評価値が何番目の大きさであるによって決められる分配順と、集計部６０３が算出する処理対象領域の目標値とを比較することによって、注目画素の出力値を決定することができる。ここでは、注目画素に割り当てられた２つの閾値のうち、小さい方の閾値に対応する評価値の順位が目標値より大きい場合には注目画素の出力値を０とする。また、小さい方の閾値に対応する評価値の順位が目標値以下で、且つ、大きい方の閾値に対応する評価値の順位が目標値より大きい場合には出力値を１、大きい方の閾値に対応する評価値の順位が目標値よりも小さい場合には出力値を２とする。このように、出力値決定部２０５が画素毎に出力値を算出することで、処理の高速化を図ることができる。
【００８１】
＜第４実施形態＞
前述の実施形態では、単位領域毎に各画素の出力値を決定した。第４実施形態では、画素ごとに出力値を決定する。注目画素の出力値を決定するために注目画素の近傍画素群を設定する、ウィンドウ処理である場合の適用例について説明する。
【００８２】
第４実施形態における画像処理部１０６の構成は、前述の実施形態と同様の構成で実現可能である。本実施形態では図１７に示すように、入力画像データ１７００に対して、注目画素の出力値を決定するために、注目画素を中心とした３画素×３画素の領域１７０１を設定し、領域１７０１ごとにウィンドウ処理をおこなう。ウィンドウ処理では、注目画素ｅの出力値を領域１７０１内に含まれる画素群に基づいて決定する。ここで前述の実施形態と同様に、ウィンドウ内において画素値と対応する閾値とに基づいて各画素の評価値を算出し、分配順を決定する。領域１７０１内の目標値に達するまで出力値を１ずつ分配順に従って領域内１７０１の画素に割り当てた結果、得られる注目画素の出力値が決定される。注目画素ｅの出力値が決定されると、領域１７０１を隣に１画素ずらして注目画素を右隣りの画素に設定し、同様に注目画素の出力値を設定する。なおこのようなウィンドウ処理の画素群に合わせて、閾値群についても３画素×３画素の領域を閾値マトリクスから取り出して処理をおこなう。
【００８３】
画像処理部１０６の動作としては、前述の実施形態と比較して、所定領域における処理の結果得られる出力値が注目画素のみであること以外は、同様の動作で処理可能である。  
【００８４】
ただし第４実施形態の場合、領域１７０１には既に出力値が確定している画素（一番上の列から右方向に順に処理が進むとすると画素ａ、ｂ、ｃ、ｄ）がある。領域１７０１において目標とする出力値を分配するに当たって、既に確定された出力値を反映させることが望ましい。そこで領域１７０１における目標値（ステップＳ９０３におけるディザ処理結果の集計結果）から、予め出力値が確定している画素（画素ａ〜ｄ）の出力値を差し引いておく。また評価値の算出については、３画素×３画素の領域（ウィンドウ）の移動によって新たにウィンドウに含まれる画素（領域１３０１の画素ｃ、ｆ、ｉ）のみ評価値を計算すればよい。
【００８５】
以上の処理においても、前述の実施形態と同様の効果を得ることができる。
【００８６】
＜第５実施形態＞
第２実施形態では具体例としてブルーノイズ特性をもつ閾値マトリクスを用いる場合を例に説明した。第５実施形態では、ＬＢＰ等の電子写真方式の画像形成部１０７のためのハーフトーン処理に用いられているＡＭ系閾値マトリクスに適用した場合について説明する。本実施形態における画像処理部１０６の構成は、前述の実施液体と同一の構成で実現可能であるため、その説明を省略する。
【００８７】
本実施形態に用いる閾値マトリクスを、図１８に示す。図１８に示す閾値マトリクスはＡＭ系閾値マトリクスやＡＭスクリーンと呼ばれる。ＡＭ系閾値マトリクスを用いてディザ処理すると、集中型ドットが周期的に配置されたドットパターンが得られやすい。図１８に示す閾値マトリクスは、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）各色に異なる閾値マトリクス１８０１、１８０２、１８０３、及び１８０４を有している。このような閾値マトリクスを用いたディザ処理においても、前述の実施形態と同様の処理を適用することによって、入力画像データの特徴と閾値マトリクスの特性との干渉を低減することができる。
【００８８】
本実施形態における単位領域は、閾値マトリクスに一致した領域でもよいし、セルと異なる画素群からなる領域でもよい。ここでは、各色において、共通の領域１８００（３画素×３画素）を単位領域としている。閾値マトリクス１８０１および１８０２のサイズは１３画素であり、処理単位領域１８００（９画素）より大きい場合を示している。閾値マトリクス１８０３は３画素×３画素であり、単位領域１８００と一致している。閾値マトリクス１８０４のサイズは８画素であり、単位領域１８００（９画素）より小さい場合を示している。いずれの場合においても、前述の実施形態と同様に処理することにより、同様の効果を得られる。
【００８９】
前述の実施形態では、入力画像データにおける各画素について、画素値と閾値との差分を算出し、その差分を評価値として用いた。第６実施形態では、画素値と閾値とから評価値が導出される２次元テーブルを参照し、各画素の評価値を決定する方法について説明する。なお第６実施形態における画像処理部１０６の構成は、前述の実施液体と同一の構成で実現可能であるため、各構成の具体的な説明を省略する。
【００９０】
第６実施形態において分配順決定部２０３は、２次元テーブルを参照し、０〜２５５の画素値と、０〜２５５の閾値を入力として、画素毎に評価値を導出する。２次元テーブルには、予め画素値と閾値とに応じた評価値を対応付けて格納されている。評価値は、前述の実施形態と同様、画素値が大きいほど値が大きく、閾値が小さいほど値が小さくなるように対応付けられている。第６実施形態としては、「画素値―閾値」の値を対応づけておく。そして分配順決定部２０３は、処理対象領域における全ての画素に対して評価値を導出した後、評価値の値が大きい順にソートし、分配順を決定する。
【００９１】
以上のような実施形態によっても、前述の実施形態と同様に処理することにより、同様の効果を得ることができる。
【００９２】
なお、分配順決定部２０３が参照テーブルとして、入力画像データを構成する画素の画素値と画素位置（ｘ座標、ｙ座標）とによって評価値を導出する３次元テーブル等を用いることもできる。閾値マトリクスは、対応する画素位置によって閾値が決まる。従って、上述のように直接閾値（分配情報）を入力しなくても、画素位置から対応する閾値を反映した評価値を出力することもできる。
【００９３】
＜その他の実施形態＞
前述の通り、各実施形態では、各画素の画素値と比較することにより出力値を決定するために閾値マトリクスを用いているわけではない。従って評価値を算出する指標として、ディザ処理に使用可能な閾値マトリクスに限らず、所定領域内の各画素の順序を示す情報であれば同様の処理ができる。例えば、単位領域が４×４の場合、その所定領域における各画素の順序を示すためには、０〜１６の４ビットのレンジでもよい。この場合、画素値と順序情報それぞれの評価値への影響度を合わせるため、入力画像データのレンジを順序情報のレンジに合わせてから、画素値と対応する順序との差分を算出するとよい。
【００９４】
前述の実施形態では、処理対象領域における目標値の算出方法として、処理対象領域内の画素値の平均値により各画素の画素値を置換した結果に対してディザ処理を実行し、集計する方法について説明した。しかしながら平均値で置換せずに、入力画像データを構成する処理対象領域の画素群に対してそのままディザ処理する構成としてもよい。この場合、通常の閾値マトリクスを用いたディザ処理によって決定されたドット（出力値）を再分配することになる。この方法においても、入力画像データの特徴を出力結果に反映でき、入力画像データと閾値マトリクスとの干渉により画質劣化するのを低減することができる。
【００９５】
また前述の実施形態では、「画素値−閾値」または「画素値−α×閾値」を画素の評価値と算出し、評価値が大きい順に分配順を決定した。しかしながら、例えば「閾値−画素値」あるいは「α×閾値−画素値」を評価値として算出してもよい。この場合、評価値が小さい値から昇順に分配順を決定することで、目標値に達するまで出力値を分配する順序が得られる。
【００９６】
本実施形態では、複数の画素を含む領域において、画素値が大きい画素ほど、かつ対応する閾値が小さい画素ほど、優先的に出力値１を分配されやすくなる（分配順が早くなる）評価値を設定すればよい。さらに、入力画像データの特徴による影響と閾値マトリクスの特性による影響の度合いを制御する係数αとしては、「α×画素値−閾値」のように画素値の方に乗算する係数であってもよい。
【００９７】
さらには本実施形態では、処理対象領域における複数画素の出力値の合計が目標値に達するまで、出力値を１ずつ分配順に割り当てた。一方、出力値を０とする画素から順に決定してもよい。例えば前述の第１実施形態の場合、画素値と閾値との差分により得られる評価値を、小さい値から大きい値の昇順にソート処理して分配順を決定する。そして、処理対象領域が表現可能な最大の出力値合計から目標値を引いた値に達するまで、分配順に出力値を０とする画素から決定し、残りの画素に出力値１を割り当てる。このような処理によっても、前述の実施形態と同様の処理を実現することができる。
【００９８】
さらに前述の実施形態と、従来のディザ処理を組み合わせるように構成することもできる。前述の実施形態では、入力画像データにおける処理対象領域が平坦部（各画素の画素値が同じ）である場合、評価値は閾値のみに依存することになる。つまりこれは、従来の処理対象領域における各画素の画素値と、対応する閾値とを比較することにより出力値を決定するディザ処理と同じ結果になる。そこでまず入力画像データに対して、処理対象領域ごとに平坦部か否かの属性を検出する。処理対象領域が平坦部である場合は、従来のディザ処理を実行し、平坦部でない場合は、前述の実施形態に示す評価値を用いた分配順の決定処理を経て出力値を決定する処理を実行する。このように従来の処理と組み合わせることもできる。
【００９９】
本発明は、ハードウェア構成により画像処理を実行する実施形態を例に説明したが、１以上の機能の実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。また本発明は、ソフトウェアとして実装してもよい。この場合、画像処理装置は前述の実施形態のように画像形成システムに内蔵されるものではなく、ＰＣ（パーソナルコンピュータ）等、一般のコンピュータのメモリにソフトウェアとしてインストールされることになる。そしてコンピュータのＣＰＵがインストールされたソフトウェアによって、前述の実施形態において示されたフローチャートに沿ったプログラムを読み込み、実行することで、各構成の機能を実現すればよい。その１例として、目標値算出処理を第１のＣＰＵによって実行し、目標値を外部メモリに蓄積する。並行して分配順決定処理を第２のＣＰＵによって実行し、分配順を外部メモリに蓄積する。そして、外部メモリから目標値および分配順を読み出して、出力値決定処理を第３のＣＰＵによって実行させる。さらには、ＣＰＵによるソフトウェア処理と、専用の処理回路によるハードウェアを組み合わせることで、各処理部における処理を並列化することも可能である。
【符号の説明】
【０１００】
２０１  画素値取得部
２０２  目標値算出部
２０３  分配順決定部
２０４  閾値取得部
２０５  出力値決定部
【図１】
2019062577.tif 000003
【図２】
2019062577.tif 000004
【図３】
2019062577.tif 000005
【図４】
2019062577.tif 000006
【図５】
2019062577.tif 000007
【図６】
2019062577.tif 000008
【図７】
2019062577.tif 000009
【図８】
2019062577.tif 000010
【図９】
2019062577.tif 000011
【図１０】
2019062577.tif 000012
【図１１】
2019062577.tif 000013
【図１２】
2019062577.tif 000014
【図１３】
2019062577.tif 000015
【図１４】
2019062577.tif 000016
【図１５】
2019062577.tif 000017
【図１６】
2019062577.tif 000018
【図１７】
2019062577.tif 000019
【図１８】
2019062577.tif 000020
【手続補正書】
【提出日】平成31年1月31日(2019.1.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の閾値からなる閾値マトリクスを保持する保持手段と、
入力画像における所定の領域に含まれる複数の画素の画素値と、前記閾値マトリクスにおいて前記所定の領域に対応する閾値群とに基づいて、前記所定の領域に対する目標値を取得する目標値取得手段と、
前記目標値と前記閾値群と前記画素値に応じて、前記所定の領域に含まれる各画素の出力値を決定する出力値決定手段を有することを特徴とする画像処理装置。
【請求項２】
前記出力値決定手段は、前記所定の領域に含まれる各画素の出力値の合計が前記目標値になるように、前記所定の領域に含まれる各画素の出力値を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出力値決定手段は、前記所定の領域において出力値を１以上の値とする画素の位置を、前記画素値と前記閾値とに基づいて決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記目標値取得手段は、前記閾値群によるディザ処理を用いて前記目標値を導出することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
さらに、前記所定の領域に含まれる各画素の画素値と、各画素に対応する閾値とに基づいて、前記所定の領域に含まれる各画素の評価値を決定する第１の評価値決定手段と、
前記所定の領域に含まれる注目画素について、前記注目画素の画素値と、前記注目画素に対応する閾値とに基づいて、前記注目画素の評価値を決定する第２の評価値決定手段と、
前記注目画素の評価値と、前記各画素の評価値を比較する比較手段と、を有し、
前記出力値決定手段は、前記比較手段による比較結果に応じて前記注目画素の出力値を決定することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記比較手段は、比較により前記注目画素の評価値が前記所定の領域における画素のうち何番目に大きい評価値かを算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記出力値決定手段は、前記注目画素の評価値が、前記所定の領域において前記目標値よりも大きい順位である場合は、前記注目画素の出力値を０とすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記出力値はドットを配置するか否かを示すことを特徴とする請求項１乃至７に記載の画像処理装置。
【請求項９】
前記出力値決定手段は、前記目標値に応じた数のドットを前記所定の領域に配置し、
前記所定の領域におけるドットの位置は前記閾値群と前記画素値に応じて決定されることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
コンピュータを請求項１乃至９のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項１１】
入力画像における所定の領域に含まれる複数の画素の画素値を読み出し、
複数の閾値からなる閾値マトリクスから、前記所定の領域に対応する閾値群を読み出し、
前記所定の領域に含まれる複数の画素の画素値と、前記所定の領域に対応する閾値群とに基づいて、前記所定の領域に対する目標値を取得し、
前記目標値と前記閾値群と前記画素値に応じて、前記所定の領域に含まれる各画素の出力値を決定することを特徴とする画像処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記課題を解決するため本発明にかかる画像処理装置は、複数の閾値からなる閾値マトリクスを保持する保持手段と、入力画像における所定の領域に含まれる複数の画素の画素値と、前記閾値マトリクスにおいて前記所定の領域に対応する閾値群とに基づいて、前記所定の領域に対する目標値を取得する目標値取得手段と、前記目標値と前記閾値群と前記画素値に応じて、前記所定の領域に含まれる各画素の出力値を決定する出力値決定手段を有することを特徴とする。