(57)【要約】【課題】スジムラ補正の効果を維持しつつ、高品質なハーフトーン画像データを生成する。【解決手段】所定の記録方式で記録媒体に画像形成を行うための画像処理を行う画像処理装置において、前記画像形成の際に発生し得るスジムラを打ち消すように入力画像データにおける画素値を補正する補正手段と、前記補正後の画像データに対し、複数の閾値からなるディザマトリクスを用いて量子化処理を行う量子化手段と、を備え、前記量子化手段は、前記補正後の画像データにおける前記スジムラの方向と同一方向に連続する２以上の画素で構成される所定領域に含まれる各画素の画素値の平均値と、前記ディザマトリクスにおける前記各画素に対応する閾値との比較処理の結果に基づいて、前記所定領域におけるドット配置を決定して、前記ハーフトーン画像データを生成することを特徴とする。【選択図】図６
2020082694.tif 000002
【特許請求の範囲】
【請求項１】
所定の記録方式で記録媒体に画像形成を行うための画像処理を行う画像処理装置において、
前記画像形成の際に発生し得るスジムラを打ち消すように入力画像データにおける画素値を補正する補正手段と、
前記補正後の画像データに対し、複数の閾値からなるディザマトリクスを用いて量子化処理を行う量子化手段と、
を備え、
前記量子化手段は、前記補正後の画像データにおける前記スジムラの方向と同一方向に連続する２以上の画素で構成される所定領域に含まれる各画素の画素値の平均値と、前記ディザマトリクスにおける前記各画素に対応する閾値との比較処理の結果に基づいて、前記所定領域におけるドット配置を決定して、ハーフトーン画像データを生成する
ことを特徴とする画像処理装置。
【請求項２】
前記所定領域は、１画素幅の１次元領域であり、
前記量子化手段は、
前記比較処理によって得られたドットパターンに含まれるオンドットの数に基づき、前記１次元領域におけるオンドットの合計数を導出する合計ドット数導出手段と、
前記１次元領域におけるオンドットの分配順を決定する分配順決定手段と、
前記合計数と前記分配順とに基づいて、前記１次元領域においてオンドットとする画素を決定する出力ドット決定手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定領域は、前記スジムラの方向と同一方向に連続する２以上の画素で構成される１画素幅の１次元領域が、前記スジムラの方向と交差する方向に連続して複数並んだ２次元領域であり、
前記量子化手段は、
前記比較処理によって得られたドットパターンに含まれるオンドットの数に基づき、前記１次元領域におけるオンドットの合計数を導出する合計ドット数導出手段と、
前記２次元領域におけるオンドットの目標数を導出する目標ドット数導出手段と、
前記１次元領域におけるオンドットの分配順を決定する分配順決定手段と、
前記２次元領域を構成する複数の前記１次元領域における前記合計数の総計が、前記目標数と一致するように、前記合計数を変更する変更手段と、
変更後の合計数と前記分配順とに基づいて、前記２次元領域を構成する複数の前記１次元領域においてオンドットとする画素を決定する出力ドット決定手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記分配順決定手段は、前記各画素についての評価値が高い画素から順に、ドットを配置すべき優先順位の高い画素として決定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記評価値は、前記１次元領域内の各画素の画素値と、当該各画素対応する前記ディザマトリクス内の閾値との差分であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記評価値は、前記１次元領域内の各画素に対応する前記ディザマトリクス内の閾値であることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記所定の記録方式は、インクジェット方式であり、
前記前記スジムラの方向は、前記記録媒体の搬送方向である、
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記所定の記録方式は、インクジェット方式であり、
前記１次元領域は、インクを吐出する１つのノズルに対応することを特徴とする請求項２乃至６のいずれか１項に記載の画像処理装置。
【請求項９】
前記ディザマトリクスは、均一な階調を持つ前記入力画像データに対して前記量子化処理を行って得られたドットパターンにおける、前記スジムラの方向と交差する方向の空間周波数成分の低周波成分が、前記スジムラの方向の空間周波数成分の低周波成分と比較して抑圧されているディザマトリクスであることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
均一な階調を持つ入力画像データに対してディザ処理を行った場合に得られるドットパターンにおける、特定の第１の方向と交差する第２の方向の低周波成分が、前記第１の方向の低周波成分と比較して抑制されている、ディザマトリクスを生成する装置であって、
ある階調のドットパターンに対してフィルタを適用して、前記第２の方向の濃度分散成分の分布状態を示すマップを生成する生成手段と、
前記マップを用いて、ドット密度が低い部分にドットを追加する追加手段と、
前記ドットが追加された位置に、閾値を設定する設定手段と、
前記生成手段、前記追加手段及び前記設定手段における各処理を、所定の階調の初期ドットパターンを起点として目標とする階調に達するまで反復して実行させ、所定の階調のドットパターンを生成する制御手段と、
を備えることを特徴とする装置。
【請求項１１】
ドットからの距離ｒが下記の式（１）で表されるとき、前記フィルタの係数ｆは下記の式（２）で表され、
【数１】
2020082694.tif 000006
【数２】
2020082694.tif 000007
上記式（１）及び式（２）において、（ｘ，ｙ）は座標を表し、ｘ0及びｙ0はフィルタ係数ｆの中心座標を表し、αは１よりも大きい定数である、
ことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記初期ドットパターンの階調はゼロ階調であることを特徴とする請求項１０又は１１に記載の装置。
【請求項１３】
所定の記録方式で記録媒体に画像形成を行うための画像処理方法であって、
前記画像形成の際に発生し得るスジムラを打ち消すように入力画像データにおける画素値を補正する補正ステップと、
前記補正後の画像データに対し、複数の閾値からなるディザマトリクスを用いて量子化処理を行う量子化ステップと、
を含み、
前記量子化ステップでは、前記補正後の画像データにおける前記スジムラの方向と同一方向に連続する２以上の画素で構成される所定領域に含まれる各画素の画素値の平均値と、前記ディザマトリクスにおける前記各画素に対応する閾値との比較処理の結果に基づいて、前記所定領域におけるドット配置を決定する
ことを特徴とする画像処理方法。
【請求項１４】
均一な階調を持つ入力画像データに対してディザ処理を行った場合に得られるドットパターンにおける、特定の第１の方向と交差する第２の方向の空間周波数成分の低周波成分が、前記第１の方向の空間周波数成分の低周波成分と比較して抑圧されている、ディザマトリクスを生成する方法であって、
ある階調のドットパターンに対してフィルタを適用して、前記第２の方向の濃度分散成分の分布状態を示すマップを生成する第１ステップと、
前記マップを用いて、ドット密度が低い部分にドットを追加する第２ステップと、
前記ドットが追加された位置に、閾値を設定する第３ステップと、
所定の階調の初期ドットパターンを起点として、前記第１ステップ、前記第２ステップ及び前記第３ステップを、目標とする階調に達するまで繰り返す第４ステップと、
を含むことを特徴とする方法。
【請求項１５】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項１６】
コンピュータを、請求項１０乃至１２のいずれか１項に記載の装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色材を用いて記録媒体上に画像を形成するために、入力画像の階調数を、より少ない階調数へ変換する量子化処理に関する。
【背景技術】
【０００２】
画像記録装置にはインクジェット方式や電子写真方式など、様々な記録方式がある。これらの画像記録装置では、通常、入力画像データの有する階調をドットのオン・オフにより表現するためのハーフトーン処理を施し、それにより得られた画像データ（ハーフトーン画像データ）を用いて印刷する。ハーフトーン処理には、種々の方法が提案されており、その代表的な手法の一つとしてディザ法がある。ディザ法とは、入力画像データの各画素の値（階調値）を、所定の閾値と比較し、画素値が閾値よりも大きければドットをオンに、画素値が閾値よりも小さければドットをオフにして階調表現を行う手法である。ディザ法で用いる、所定の閾値が格納されているディザマトリクスのサイズは一般的に入力画像のサイズよりも小さいため、入力画像に対して周期的に繰り返し適用することで各画素の出力値が決定される。
【０００３】
しかしながら、入力画像データの各画素値と対応する閾値とを比較した結果が、所望のドットパターンを表すハーフトーン画像データにならない場合がある。具体的には、得られたハーフトーン画像データの一部領域において、入力画像データの濃度パターンが表す階調を再現できていなかったり、再現すべき形状が崩れたりしてしまうことがある。これは、入力画像データが表す濃度パターンとディザマトリクスにおける閾値パターンとが干渉することによって起こる。これへの対策として特許文献１には、所定領域において、まず目標値（ドット数）を決定し、さらに閾値と画素値とに基づき各画素の評価値を求め、求めた各画素の評価値と目標値とに基づき、当該所定領域におけるドットの配置を決定する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２１７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、シングルパス方式のインクジェット記録装置では、ノズル毎の吐出量のばらつきや、吐出曲がりにより、用紙搬送方向に沿ったスジ状のムラ（スジムラ）が発生することがある。これに対しては、記録ヘッドを構成するノズル毎の吐出特性に基づき、ノズル毎に入力画像データを補正することで、スジムラの発生を抑制することが行われている。そして、スジムラが発生する現象は他の記録方式でも同様に見られるものであり、これを抑制するための画像補正は、「スジムラ補正」、「シェーディング補正」、「濃度ムラ補正」などと呼ばれる。本明細書では「スジムラ補正」を用いることとする。
【０００６】
スジムラ補正を行った後の画像に対しては、スジムラ補正の効果を低減させないために、スジムラと同一方向における出力値（インクジェット方式であればノズル毎の出力値）の再現性を重視した量子化処理を行うことが望ましいといえる。この点、例えば特許文献１の開示の技術では、ノズル毎の出力値の再現性に関しては考慮されることがないため、スジムラ補正の効果が低減してしまう場合があった。
【０００７】
本発明は上記の課題に鑑みてなされたものであり、スジムラ補正の効果を維持しつつ、高品質なハーフトーン画像データを生成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、所定の記録方式で記録媒体に画像形成を行うための画像処理を行う画像処理装置において、前記画像形成の際に発生し得るスジムラを打ち消すように入力画像データにおける画素値を補正する補正手段と、前記補正後の画像データに対し、複数の閾値からなるディザマトリクスを用いて量子化処理を行う量子化手段と、を備え、前記量子化手段は、前記補正後の画像データにおける前記スジムラの方向と同一方向に連続する２以上の画素で構成される所定領域に含まれる各画素の画素値の平均値と、前記ディザマトリクスにおける前記各画素に対応する閾値との比較処理の結果に基づいて、前記所定領域におけるドット配置を決定して、前記ハーフトーン画像データを生成することを特徴とする。
【発明の効果】
【０００９】
本発明により、スジムラ補正の効果を維持しつつ、高品質なハーフトーン画像データを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】プリンタのハードウェア構成の一例を示す図
【図２】画像処理部及び画像形成部の内部構成を示したブロック図
【図３】補正情報の一例を示す図
【図４】（ａ）は入力画像データの一例、（ｂ）はそれに対してスジムラ補正を行った後の画像データの一例を示す図
【図５】記録ヘッドを構成するノズル列の説明図
【図６】実施形態１に係る、量子化処理部の内部構成を示すブロック図
【図７】実施形態１に係る、量子化処理の流れを示すフローチャート
【図８】補正後画像データの一部を切り出した図
【図９】ディザマトリクスの一例を示す図
【図１０】各１次元領域について決定された合計ドット数の一例を示す図
【図１１】（ａ）は各１次元領域についての評価値を示す図、（ｂ）は当該評価値に基づいて決定されたドット分配順を示す図
【図１２】各１次元領域について決定した各画素の出力値を示す図
【図１３】実施形態２に係る、量子化処理部の内部構成を示すブロック図
【図１４】実施形態２に係る、量子化処理の流れを示すフローチャート
【図１５】ノズル単位でのドットの疎密が顕在化し、粒状性を劣化した状態を説明する図
【図１６】情報処理装置のハードウェア構成の一例を示す図
【図１７】改良型ディザマトリクスの作成を実現するソフトウェア構成を示すブロック図
【図１８】実施形態３に係る、改良型ディザマトリクスの作成の流れを示すフローチャート
【図１９】（ａ）は改良型ディザマトリクスから得られる複数の階調におけるドットパターンの一例を示す図、（ｂ）は（ａ）に示す各階調のドットパターンを２次元フーリエ変換した結果を示した図
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明を好適な実施例に従って詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施形態１】
【００１２】
図１は、本実施形態に適用可能な画像処理コントローラを含む、プリンタのハードウェア構成を示す。プリンタ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、操作部１０４、表示部１０５、大容量記憶装置１０６、画像処理部１０７、画像形成部１０８、Ｉ／Ｆ（インターフェース）部１０９、バス１１０を備える。
【００１３】
ＣＰＵ１０１は、ＲＡＭ１０２やＲＯＭ１０３に格納されているコンピュータプログラムを用いて、プリンタ１００全体の動作を制御する。なお、ここでは１つのＣＰＵ１０１がプリンタ１００全体を制御する場合を例に説明するが、演算処理を行う複数のハードウェアが処理を分担することにより全体を制御するようにしてもよい。
【００１４】
ＲＡＭ１０２は、大容量記憶装置１０６から読み取ったコンピュータプログラムやデータ、Ｉ／Ｆ部１０９を介して外部から受信したデータを一時的に記憶する。またＲＡＭ１０２は、ＣＰＵ１０１や画像処理部１６が処理を行う際のワークエリアとして使用される。ＲＯＭ１０３は、プリンタ１００を構成する各部の設定パラメータやブートプログラムなどを格納する。
【００１５】
操作部１０４は、キーボードやマウスなどにより構成されており、ユーザによる入力操作を介してユーザの指示を受け付ける。表示部１０５は、液晶画面などにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などで表示することができる。なお表示部１０５がユーザのタッチ操作を検知可能なタッチパネルである場合、表示部１０５が操作部１０４の一部として機能することになる。
【００１６】
大容量記憶装置１０６は、例えばＨＤＤ（ハードディスクドライブ）などで構成され、ＯＳ（オペレーティングシステム）やＣＰＵ１０１に各種処理を実行させるためのプログラムやデータなどを保存する。また、各部の処理によって生成される一時的なデータ（入出力される画像データや画像処理部１０７で使われるディザマトリクスなど）を保持する。大容量記憶装置１０６に保存されているプログラムやデータは、ＣＰＵ１０１による制御に従って適宜読み取られ、ＲＡＭ１０２に展開されてＣＰＵ１０による処理対象となる。
【００１７】
画像処理部１０７は、プログラムを実行可能なプロセッサや専用の画像処理回路で構成され、印刷対象として入力された画像データに対し、前述のスジムラ補正処理やハーフトーン処理を行って、画像形成部１０８が使用する出力画像データを生成する。この出力画像データは、Ｎ階調の入力画像データが、量子化されてＭ階調（Ｎ＞Ｍ）となった画像データ（以下、「ハーフトーン画像データ」とも呼ぶ。）である。
【００１８】
画像形成部１０８は、画像処理部１０７から受け取った出力画像データに基づいて、用紙等の記録媒体上に色材を用いて画像を形成する印刷エンジンである。本実施形態では、画像形成部１０８が、ノズルからインクを吐出するインクジェット方式により画像を形成する場合を例に説明を行うものとする。
【００１９】
Ｉ／Ｆ部１０９は、プリンタ１００と外部機器を接続するための外部インターフェースとして機能する。さらに、Ｉ／Ｆ部１０９は、ＬＡＮやインターネット等を介して後述する情報処理装置１６００とデータのやりとりを行うための通信インターフェースとしても機能する。上記の各部はいずれもバス１１０に接続され、バス１１０を介してデータの授受を行う。
【００２０】
（画像処理部及び画像形成部の詳細）
図２は、画像処理部１０７及び画像形成部１０８の内部構成を示したブロック図である。まず画像形成部１０８から説明する。画像形成部１０８は、ヘッド駆動部２１１と記録ヘッド２１２を有する。記録ヘッド２１２は、インクを吐出可能なノズル（記録素子）を複数配列したノズル列で構成される。本実施形態の記録ヘッド２１２の場合、ＣＭＹＫの各インクに対応した４つのノズル列を備える。図５は、記録ヘッド２１２を構成するノズル列の説明図である。例えば１２００ｄｐｉの出力解像度を持つプリンタ１００の場合、１インチ当たり１２００個のノズルが並ぶことになる。このようなノズル列が、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４種類のインクそれぞれについて存在する。本実施形態の記録ヘッド２１２は、ノズル列に平行な方向（ノズル並び方向、ｙ方向）に、描画領域の全範囲をカバーする長尺のいわゆるフルライン型の記録ヘッドであるものとする。ヘッド駆動部２１１は、画像処理部１０７から入力されたハーフトーン画像データに基づいて、記録ヘッド２１２を制御するための駆動信号を生成する。記録ヘッド２１２は、駆動信号に基づき、ｙ方向と交差するノズル列に垂直な方向（用紙搬送方向、ｘ方向）に相対移動しつつ用紙上にドットを生成することにより、画像形成を行う。
【００２１】
画像処理部１０７は、入力画像バッファ２０１、補正処理部２０２、量子化処理部２０３、ハーフトーン画像バッファ２０４を有する。
【００２２】
画像処理部１０７に入力された印刷対象の画像データは、まず、入力画像バッファ２０１に格納される。入力される画像データの形式は特に制限されないが、ここでは説明を簡単にするために、画像形成部１０８で使用されるインク色と同じ色種、色数並びに解像度を持った階調画像であるとする。例えば、プリンタ１００が、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、黒（Ｋ）の４色インクを用いて出力解像度１２００ｄｐｉを実現する場合、入力画像データは、各画素がＣＭＹＫそれぞれ８ｂｉｔ（０〜２５５）の階調値を持つ画像データである。なお、入力画像データの形式が、例えばＲＧＢ色空間で表現されるなど画像形成部１０８で使用するインク色の種類や解像度と一致しない形式であった場合には、図示しない前処理部により色変換や解像度変換などを行えばよい。
【００２３】
補正処理部２０２は、大容量記憶装置１０６等に格納された補正情報を用いて、入力画像データに対し、前述のスジムラ補正を行う。図３に、８ビットの入力画像データを８ビットの補正画像データに変換する場合の補正情報の一例を示す。図３に示す補正情報は、ノズル毎の入力階調と出力階調の関係を示したルックアップテーブル（ＬＵＴ）として構成されている。図３のＬＵＴにおいて、ノズル位置番号は、後述の画像形成部１０８における各ノズルに割り当てられた番号を表す。また、入力階調の行には、入力階調値を表し、各セルの値は出力階調を表している。つまり、図３の補正情報は、各ノズル位置に対応した、入力階調値に対する出力階調値を保持している。補正処理部２０２は、このような補正情報を参照することにより、処理対象とする画素の入力階調値を、対応する出力階調値に変換する。ここでは、簡略化のため、ＬＵＴの縦軸を３２階調刻み（９ステップ）としているが、例えば１６階調刻みなどさらに細かいステップ数で刻んでもよい。また、ＬＵＴに存在しない入力階調値に対する出力階調値は、隣接する入力階調値に対する出力階調値から補間して求めればよい。なお、補正情報は、ＬＵＴに限らず関数形式で保持してもよい。図４（ａ）はスジムラ補正を行う前の入力画像データ、同（ｂ）は図３に示すＬＵＴを用いてスジムラ補正を行った後の画像データを示している。両画像データの上部に付された数字は、ノズル列内のノズルの並び方向に沿ったノズル位置番号を示し、各セル内の数値は各画素における階調値を示す。例えばノズル位置番号“０”に対応する画素列の１番上の画素を見ると、図４（ａ）の入力画像データにおける階調値“１９２”が、図３のＬＵＴを用いた補正の結果、図４（ｂ）の補正後画像データにおいては“１７７”に変換されている。
【００２４】
量子化処理部２０３は、大容量記憶装置１０６等に格納されたディザマトリクスを用いて、Ｎ階調（ここでは２５６階調）の補正後画像データに対し、画像形成部１０８が表現可能なＭ階調（ここでは２階調）の出力画像データに変換する処理を行う。つまり、本実施形態の量子化処理部２０３は、１画素当たり８ビットの画像データを、画素毎に“０”か“１”のいずれかの値を有する１ビット２値のハーフトーン画像データ（出力画像データ）に変換する。ハーフトーン画像データにおいて、画素値（出力値）が“０”である画素はドットのオフを、画素値（出力値）が“１”である画素はドットのオンを表す。このようにハーフトーン画像データは、入力画像データが表す階調数よりも少ない階調数にて、擬似的に入力画像データを再現している。そして、Ｎ階調からＭ階調への変換の際には、ノズル群によって形成される各ドットの配置の決定も行われる。このドット配置の決定の詳細については後述する。最終的に得られたハーフトーン画像データは、ハーフトーン画像バッファ２０４に格納された後、ＣＰＵ１０１の制御の下、画像形成部１０８へ出力される。なお、以下では、ディザマトリクスを用いた量子化処理を「ディザ処理」と表記する場合もある。また、以下の説明において単に「ドット」といった場合には、特に断らない限りはオンドットを意味するものとする。
【００２５】
（量子化処理部の詳細）
一般的なディザ処理では、入力画像データにおける各画素値が一様ではない場合、ディザマトリクスに対応する処理対象領域に含まれる各画素の濃度パターンと、ディザマトリクスにおける閾値パターンとが干渉し、所望の出力結果が得られないことがある。一例を挙げて説明する。例えば、周辺画素よりも大きい画素値を持つ画素については、周辺画素よりも高い確率で、ドットをオンにする２値データ（出力値“１”）に変換した方が良いと言える。しかしながら、ディザマトリクスの閾値の方が画素値よりも大きい場合は、周辺画素よりも大きい画素値を持つ画素であっても、ドットをオフにする２値データ（出力値“０”）に変換されることになる。その結果、入力画像データの解像度や画像特徴が失われてしまう場合がある。特に、スジムラ補正を施した後の画像データにおける画素値はノズル毎に変動するため、出力結果における劣化が目立ちやすい。一方、入力画像データにおける各画素値が一様（すなわち、処理対象領域に含まれる各画素の階調値が一様）である場合、ディザマトリクス内の閾値パターンに基づいてドットが配置される。ディザマトリクスは、ディザ処理の結果得られるドットができるだけ分散し、粒状性がよくなるように設計されているため、処理対象領域内の画素値は均一化され、粒状性の良好な出力結果を得ることができる。しかしながら、スジムラ補正を施した後の画像において処理対象領域に含まれる各画素の画素値を均一化してしまうと、スジムラ補正を抑制するように決定したノズル毎の出力値が適切に再現されなくなり、スジムラ補正の効果が低減してしまう。
【００２６】
そこで、本実施形態の量子化処理では、ノズル列に垂直なｘ方向に延びる所定領域に含まれる各画素の平均値と、ディザマトリクスにおける当該各画素に対応する閾値との比較処理の結果に基づいて、ドット配置を決定する。そうすることで、ｘ方向（用紙搬送方向）に沿ったスジ状の濃度ムラの方向と同一方向に沿って入力画像データにおける画素値を均一化する。これにより、ｘ方向においては所望の出力結果が得られるようにする。この際、本実施形態では、所定領域の幅を、１個のノズルに対応する１画素幅（ノズル単位）に制限することで、ノズル毎の合計ドット数が適切に再現されるようにしている。以下では、スジ状の濃度ムラの方向と同一方向に延びる、連続する２以上の画素で構成される１画素幅の領域を「１次元領域」と表記することとする。つまり本実施形態においては、１ノズルに１つの１次元領域が対応している。こうして、本実施形態では、スジムラ補正の精度を高めつつ、粒状性の良好な高品質なハーフトーン画像データを生成する。以下、本実施形態の量子化処理部２０３の構成要素とその動作について詳しく説明する。
【００２７】
図６は、本実施形態に係る、量子化処理部２０３の内部構成を示すブロック図である。量子化処理部２０３は、画素値取得部６０１、閾値取得部６０２、合計ドット数導出部６０３、ドット分配順決定部６０４、出力ドット決定部６０５を有する。図７のフローチャートを参照して、各部の動作を説明する。なお、以下の説明において記号「Ｓ」はステップを表す。
【００２８】
補正処理部２０２からスジムラ補正が施された補正後画像データが入力されると、まず、Ｓ７０１では、画素値取得部６０１が、当該補正後画像データにおける注目する１次元領域に含まれる各画素の画素値を取得する。上述のとおり１次元領域は、ｘ方向に並ぶＱ個の画素（Ｑは２以上の自然数）で構成される。注目する１次元領域は、例えば、画像内の左上隅の１次元領域から順に右方向に移動していき、画像の右端に到達したら下の１次元領域に移動するといった具合に決定していけばよい。図８は、入力された補正後画像データの一部を切り出した図であり、太枠で囲まれた領域８０１〜８１６が１次元領域を示している。つまり、本実施形態の場合は、補正後の画像データにおけるスジムラの方向と同一方向に延びる、４つの画素からなる領域が１次元領域となる。例えば、処理対象となる注目する１次元領域が、領域８０１であるとすると、当該領域８０１に含まれる４画素分の画素値（上から１７７、６２、１７７、６２）が取得されることになる。なお、実際に適用するＱの値（１次元領域のサイズ）は、出力解像度、狙いとする粒状性、処理負荷などを考慮して決定すればよい。例えば、出力解像度が１２００ｄｐｉのプリンタであれば、Ｑの値を“４〜８”程度とすることが望ましい。取得した各画素値は、合計ドット数導出部６０３とドット分配順決定部６０４に送られる。
【００２９】
次に、Ｓ７０２では、閾値取得部６０２が、注目１次元領域内の各画素に対応するディザマトリクス内の閾値を取得する。図９は、ディザマトリクスの一例であり、図８の入力画像データに対応する、ディザマトリクス全体の一部分を示している。ここでのディザマトリクスは、ｙ方向に２５６個、ｘ方向２５６個、合計６５５３６個の各画素に対し、８ビットの階調値（０〜２５５）の範囲から万遍なく選択された閾値が格納されているものとする。いま、図８の入力画像データにおける領域８０１に対応するディザマトリクスの領域が領域９０１である。この場合、領域９０１に含まれる４つの閾値（上から１７２、１１６、１９１、７０）が取得されることになる。取得した各閾値は、合計ドット数導出部６０３とドット分配順決定部６０４に送られる。
【００３０】
次に、Ｓ７０３では、合計ドット数導出部６０３が、Ｓ７０１で取得された注目１次元領域内の各画素値に基づいて、注目１次元領域におけるオンドットの合計数（以下、「合計ドット数Ｓｎ」と表記）を決定する。前述の通り、オンドットを出力値“１”、オフドットを出力値“０”により表すので、１次元領域における合計ドット数Ｓｎは、その１次元領域における出力値の合計値と等しくなる。本実施形態では、Ｓ７０１で取得された各画素値の平均値と、Ｓ７０２で取得された各閾値とを比較し、平均値の方が大きい場合にその画素をオンドットにするディザ処理を行い、その結果得られるドットパターンにおけるオンドットの数を合計ドット数Ｓｎとする。つまり、１次元領域内の各画素について、閾値よりも平均値の方が大きい場合はＳｎを１加算（インクリメント）し、閾値よりも平均値の方が小さいか或いは両者が同じ場合はＳｎをインクリメントしないという処理を、閾値の数だけ繰り返す。例えば、図８の領域８０１に関しては、４つの画素値の平均値は“１２０”である。したがって、この平均値“１２０”と、領域８０１に対応する領域９０１の４つの閾値（１７２、１１６、１９１、７０）とをそれぞれ比較することになる。この場合、平均値１２０が各閾値よりも大きくなる２つの画素（１１６、７０）についてＳｎをインクリメントするので、最終的な合計ドット数Ｓｎは“２”となる。図１０は、図８に示した１６個の領域８０１〜８１６それぞれについて決定された合計ドット数Ｓｎを示している。こうして決定された合計ドット数Ｓｎは、出力ドット決定部６０５に送られる。
【００３１】
次に、Ｓ７０４では、ドット分配順決定部６０４が、注目１次元領域内の各画素についての評価値に基づいて、当該注目１次元領域におけるドットの分配順を決定する。具体的には、まず、注目１次元領域内の各画素値と、対応する各閾値との差分を、評価値として求める。そして、得られた評価値が高い画素から順に、ドットを配置すべき優先順位の高い画素として決定していく。図１１（ａ）は図８に示した１６個の１次元領域８０１〜８１６それぞれについての評価値を示し、同（ｂ）は当該評価値に基づいて決定されたドット分配順を示している。こうして決定された注目１次元領域におけるドット分配順の情報は、出力ドット決定部６０５に送られる。
【００３２】
次に、Ｓ７０５では、出力ドット決定部６０５が、Ｓ７０４で決定されたドット分配順に従って、Ｓ７０３で決定された合計ドット数Ｓｎに達するまで、注目１次元領域内の各画素にオンドットを表す出力値“１”を割り当てる。これにより、注目１次元領域においてオンドットとする画素が決定される。図１２は、図８に示した１６個の領域８０１〜８１６について決定した各画素の出力値を示している。図１２において、黒塗りの矩形はオンドットの画素を示し、白塗りの矩形はオフドットの画素を示す。
【００３３】
Ｓ７０６では、入力された補正後画像データ内の全ての１次元領域について処理が終了したかどうかを判定する。未処理の１次元領域があれば、Ｓ７０１に戻って次の注目１次元領域を決定して処理を続行する。一方、全ての１次元領域について処理が完了している場合には、本フローを終了する。こうして、補正後の画像データからハーフトーン画像データが得られる。
【００３４】
以上が、本実施形態の量子化処理部２０３における量子化処理の内容である。
【００３５】
以上のとおり本実施形態では、ノズル列に垂直なｘ方向に並ぶ複数画素からなる１次元領域内の画素値の平均値と、各画素に対応する閾値との比較処理により、１次元領域毎のドット数が決定される。これにより、ノズル毎のスジムラ補正の精度を維持しつつ、粒状性の良好な高品質なハーフトーン画像データを生成することができる。
【００３６】
さらに、本実施形態においては、入力された補正後画像データの画素値と、ディザマトリクスの閾値との差分を画素毎に求め、求めた差分を評価値として用い、１次元領域において差分が大きい画素から順にドットを分配するようにしている。これにより、入力された補正後画像データの特徴と設計されたディザマトリクスの特性との両方が考慮された出力値とすることができる。なお、評価値として、ディザマトリクスの閾値そのものを用いてもよい。この場合、１次元領域において対応する閾値が小さい画素から順にドットを分配することになり、設計されたディザマトリクスの特性で、１次元領域におけるオンドットが決定されることになる。これにより、入力された補正後画像データの内容に関わらず、より粒状性の良好なハーフトーン画像データを得ることができる。
【実施形態２】
【００３７】
実施形態１では、スジムラ補正が施された後の画像データにおける画素値がノズル列に垂直なｘ方向にノズル単位で均一化されるように量子化することで、少なくともｘ方向においては望ましい出力結果（＝１次元領域毎の合計ドット数）が得られるようにしていた。この場合、ノズル列に平行なｙ方向に対しては画素値を均一化する効果は得られない。そのため、スジムラ補正が施された後の画像データにおける画素値の変動と、ディザマトリクスにおける閾値の変動とが干渉することによる弊害がｙ方向では残ってしまうことになる。そこで、ｙ方向に連続する複数の１次元領域で構成される２次元領域におけるオンドットの目標数を求め、各ノズルに対応する１次元領域毎の合計ドット数Ｓｎの総計Ｔが目標数と一致するように、合計ドット数Ｓｎを変更する態様を、実施形態２として説明する。なお、プリンタ１００の基本的な構成は実施形態１と異なるところがないので、以下では差異点である量子化処理の内容を中心に説明を行うものとする。
【００３８】
（量子化処理部の詳細）
図１３は、本実施形態に係る、量子化処理部２０３’の内部構成を示すブロック図である。本実施形態の量子化処理部２０３’は、画素値取得部６０１、閾値取得部６０２、合計ドット数導出部６０３、ドット分配順決定部６０４、目標ドット数導出部１３０１、合計ドット数変更部１３０２、出力ドット決定部６０５’を有する。図１４のフローチャートを参照して、各部の動作を説明する。なお、以下の説明において記号「Ｓ」はステップを表す。
【００３９】
Ｓ１４０１〜Ｓ１４０４は、実施形態１の図７のフローにおけるＳ７０１〜Ｓ７０４にそれぞれ対応する。まず、Ｓ１４０１では、画素値取得部６０１が、入力された補正後画像データにおける注目する１次元領域に含まれる各画素の画素値を取得する。ここで取得した各画素値は、合計ドット数導出部６０３とドット分配順決定部６０４に加え、目標ドット数導出部１３０１にも送られる。続くＳ１４０２では、閾値取得部６０２が、注目１次元領域内の各画素に対応するディザマトリクス内の閾値を取得する。ここで取得した各閾値は、合計ドット数導出部６０３とドット分配順決定部６０４に加え、目標ドット数導出部１３０１にも送られる。そして、Ｓ１４０３では、合計ドット数導出部６０３が、Ｓ１４０１で取得された注目１次元領域内の各画素値に基づいて、注目１次元領域における合計ドット数Ｓｎを決定する。決定した合計ドット数Ｓｎは、合計ドット数変更部１３０２に送られる。次に、Ｓ１４０４では、ドット分配順決定部６０４が、Ｓ１４０１で取得された注目１次元領域内の各画素値とＳ１４０２で取得された対応する各閾値とに基づいて、当該注目１次元領域におけるドットの分配順を決定する。こうして決定された注目１次元領域におけるドット分配順の情報は、出力ドット決定部６０５に送られる。
【００４０】
Ｓ１４０５では、Ｐ列分の１次元領域について処理が終了したかどうかが判定される。処理が終了していない場合にはＳ１４０１に戻って処理を繰り返す。一方、Ｐ列分の１次元領域について処理が終了した場合は、Ｓ１４０６に進む。
【００４１】
Ｓ１４０６では、目標ドット数導出部１３０１が、ノズル列に平行なｙ方向において連続する複数の１次元領域から成る２次元領域（Ｐ列×Ｑ画素の領域））の各画素値の平均値に基づいて、当該２次元領域についてのオンドットの目標数を決定する。前述の通り、オンドットを出力値“１”、オフドットを出力値“０”により表すので、２次元領域におけるオンドットの目標数（以下、「目標ドット数Ｓ」と表記）は、その２次元領域における出力値の合計値と等しくなる。本実施形態では、２次元領域に含まれるＱ画素分の画素値の平均値と、Ｓ１４０２で取得された対応する各閾値とを比較するディザ処理を行い、その結果得られるドットパターンにおけるドットの数を目標ドット数Ｓとする。つまり、２次元領域内の全画素値の平均値が閾値よりも大きい場合は目標ドット数Ｓを１加算（インクリメント）し、小さいか同じ場合は目標ドット数Ｓをインクリメントしないという処理を、閾値の数だけ繰り返す。前述の図８〜図１０を参照して、目標ドット数導出処理の一例を説明する。いま、ノズル列に平行なｙ方向に連続する複数の列が４列（Ｐ＝４）であり、図８における４つの領域８０１〜８０４で構成される２次元領域が処理対象であるとする。この場合、当該２次元領域（４×４画素）における各画素値の平均値は“１３０”であり、これと図９に示すディザマトリクス内の対応する４つの領域７０１〜７０４における各閾値との比較を行うことになる。平均値“１３０”の方が大きくなるのは、閾値が“１１６”、“７０”、“１０６”、“１９”、“３４”、“９８”、“５３”、“６６”のときである。したがって、これら８つの閾値に対応する画素について目標ドット数Ｓをインクリメントするので、最終的な目標ドット数Ｓは“８”となる。
【００４２】
次に、Ｓ１４０７では、合計ドット数変更部１３０２は、Ｓ１４０６で決定された目標ドット数Ｓに基づき、Ｐ回のＳ１４０３にて決定されたＰ列分の合計ドット数Ｓｎを変更する。具体的には、まず、ｙ方向に連続するＰ個の１次元領域についての各合計ドット数Ｓｎの総計Ｔを求める。そして、求めた総計Ｔが目標ドット数Ｓよりも大きい場合は、当該総計Ｔが目標ドット数Ｔと同じになるまで、１つ以上の１次元領域についての合計ドット数Ｓｎの値を１減算（デクリメント）する。いま、２次元領域は図８における４つの領域８０１〜８０４で構成されている。この場合の総計Ｔは、前述の図１０から、“２”＋“２”＋“３”＋“１”＝“９”である。総計Ｔが“９”で目標ドット数Ｓが“８”なので、総計Ｔの値を１減らす必要がある。したがって、この場合は、Ｐ個の１次元領域のうちいずれか１つの１次元領域についての合計出力値Ｓｎをデクリメントすることになる。なお、総計Ｔが目標ドット数Ｓより小さい場合は、総計Ｔが目標ドット数Ｔと同じになるまで、１つ以上の１次元領域についての合計ドット数Ｓｎの値を１加算（インクリメント）すればよい。加算・減算の対象とする列は、ランダムで決定してもよいし、ノズル位置毎の量子化誤差（Ｐ列について列毎の、｛入力値の平均値｝−｛出力値×２５５の平均値｝）が最少となるように決定してもよい。また総計Ｔと目標ドット数Ｓの差が２以上である場合は、複数の１次元領域についての合計ドット数Ｓｎを対象に加算・減算すればよい。
【００４３】
次に、Ｓ１４０８では、出力ドット決定部６０５’が、Ｐ列分の各１次元領域に対して、実施形態１の図７のフローにおけるＳ７０５の処理を行う。すなわち、Ｎ回のＳ１４０４にて決定されたそれぞれのドット分配順に従って、Ｓ１４０７で変更された後の合計ドット数Ｓｎにそれぞれ達するまで、１次元領域内の各画素に出力値“１”を割り当てる。これにより、２次元領域を構成するＰ列分の各１次元領域における各画素の出力値を決定する。
【００４４】
Ｓ１４０９では、入力された補正後画像データ内の全ての１次元領域について処理が終了したかどうかを判定する。未処理の１次元領域があれば、Ｓ１４０１に戻って次の注目１次元領域を決定して処理を続行する。一方、全ての１次元領域について処理が完了している場合には、本フローを終了する。
【００４５】
以上が、本実施形態の量子化処理部２０３’における量子化処理の内容である。
【００４６】
以上のとおり本実施形態では、ノズル列に平行なｙ方向に複数（Ｐ列）連続する１次元領域（Ｑ画素）で構成される２次元領域（Ｐ列×Ｑ画素）において目標ドット数Ｓが導出される。そして、１次元領域毎の合計ドット数Ｓｎの総計Ｔが目標ドット数Ｓと一致するように、１つ以上の１次元領域における合計ドット数Ｓｎを変更する。従って、ノズル列に垂直なｘ方向における望ましい出力特性（合計ドット数Ｓｎ）をなるべく反映しつつ、ノズル列に平行なｙ方向をも加味した総合的な出力特性（目標ドット数Ｓ）となるように出力値を得ることができる。これにより、ノズル毎のスジムラ補正の精度を維持しつつ、より粒状性の良好な高品質なハーフトーン画像データを生成することができる。
【実施形態３】
【００４７】
次に、ノズル列に垂直なｘ方向のドット分散性が高くなるように閾値配置を調整したディザマトリクスを使用することにより、より高品質なハーフトーン画像データを生成する態様を、実施形態３として説明する。
【００４８】
（一般的なディザマトリクスの問題点）
一般的なディザマトリクスは、均一な階調の画像データをディザ処理した結果においてドットができるだけ分散し粒状性が良くなるように、すなわち、ドット分散性が等方的となるように、閾値が配置されている。そのため、均一な階調の画像データに対しては、粒状性の良好な出力結果を得ることができる。このような一般的なディザマトリクスを、ノズル列に平行なｙ方向において画素値が一様ではない画像データに対して適用すると、狙った粒状性が得られなかった。これは、ディザマトリクスを構成する複数の閾値のうちオンドットになりやすい小さい閾値が、同一ノズルについて特定の領域に偏ると、当該ノズルについてのドット配置に偏り（ドットの疎密）が発生するためである。特に、スジムラ補正が施された後の画像データのように、ノズル毎に平均階調値が異なる画像データをディザ処理した場合、ノズル単位でのドットの疎密が顕在化し、粒状性を劣化させてしまう。
【００４９】
ここで、図１５に示す具体例を参照して詳しく説明する。図１５（ａ）は画像全体が一様な階調値（１２８で一定）を持つ画像データを示し、同（ｂ）はｘ方向には階調値が均一（１２８で一定）であるがｙ方向には階調値が変動（０と１２８を繰り返す）する画像データを示している。両者の違いを分かりやすく説明するために、図１５（ｂ）の画像データを、極端にｙ方向に階調値の変動が生じた高周波画像データとしている。そして、図１５（ｃ）及び（ｄ）は、一般的なディザマトリクスを使用してディザ処理した結果得られるドットパターンを示し、図１５（ｃ）が図１５（ａ）の画像データに対するディザ処理結果、同（ｄ）が図１５（ｂ）の画像データに対するディザ処理結果を示す。図１５（ｄ）のディザ処理結果におけるドットパターンは、図１５（ｃ）のディザ処理結果におけるドットパターンから１列おきにドットパターンを抽出して得られる結果と同等である。ドット分散性が等方的なディザマトリクスを使用すると、図１５（ａ）に示す画像全体で階調が均一な画像データの場合は、ドット分散性が良好な出力結果を得ることができる。しかしながら、図１５（ｂ）に示す階調が不均一な画像データの場合は、ノズル単位でのドット配置の疎密が顕在化し、ドット分散性が劣化した出力結果となってしまう。ここでは、極端な例を挙げて説明したが、ノズル列に平行なｙ方向における画素値が一様ではない画像データにおいては、その程度の差はあるものの同様の現象が生じることになる。
【００５０】
そこで、本実施形態では、各ノズルで形成されるドットが高分散になるように、ディザマトリクスにおける閾値配置を調整する。すなわち、ｘ方向のドットの分散性が、その他の方向のドットの分散性よりも高くなるように閾値の配置を改良したディザマトリクス（以下、「改良型ディザマトリクス」と呼ぶ。）を用いる。図１５（ｅ）及び（ｆ）は、本実施形態に係る改良型ディザマトリクスを使用して得られるディザ処理結果を示している。図１５（ｅ）が図１５（ａ）に示す画像全体で階調が均一な画像データに対するディザ処理結果、図１５（ｆ）が、図１５（ｂ）に示す階調が不均一な画像データに対するディザ処理結果である。図１５（ｆ）のディザ処理結果におけるドットパターンは、図１５（ｅ）のディザ処理結果におけるドットパターンから１列おきにドットパターンを抽出して得られる結果と同等である。図１５（ｅ）を見ると、図１５（ｃ）と比較してもドットパターンに変化は見られない。さらに、図１５（ｆ）を見ると、図１５（ｄ）と比較して、ドット分散性の劣化が抑制されていることが分かる。
【００５１】
（改良型ディザマトリクスの作成）
続いて、ｘ方向のドット分散性を、その他の方向のドット分散性よりも高くなるように閾値配置を調整した改良型ディザマトリクスの作成方法について説明する。図１６は、改良型ディザマトリクスの作成に用いる一般的なコンピュータ（情報処理装置）のハードウェア構成の一例を示す図である。図１６に示す情報処理装置１６００は、ＣＰＵ１６０１、ＲＯＭ１６０２、ＲＡＭ１６０３、ＨＤＤ１６０４及びネットワークＩ／Ｆ１６０５を有する。ＣＰＵ１６０１は、プラグラム等に従って情報処理装置１６００全体の動作を制御する。ＲＡＭ１６０３は、ＣＰＵ１６０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１６０４は、各種プログラムを記憶する大容量記憶部である。本実施形態に係る改良型ディザマトリクスの作成は、ＨＤＤ１６０４等に格納された対応する制御プログラムをＲＡＭ１６０３に展開し、ＣＰＵ１６０１がこれを実行することで実現される。ネットワークＩ／Ｆ１６０５は、情報処理装置１６００をＬＡＮ等のネットワークに接続するインターフェースである。情報処理装置１６００は、ネットワークＩ／Ｆ１６０５を用いて、ＬＡＮ上のプリンタ１００に対してディザマトリクスのデータを提供する。図１７は、情報処理装置１６００における、改良型ディザマトリクスの作成を実現するソフトウェア構成を示すブロック図である。図１７に示すとおり、ドットパターン生成部１７０１、フィルタ部１７０２、ドット配置部１７０３が協働することにより、改良型ディザマトリクスが作成される。なお、図１７に示す要素の一部又は全部をハードウェア（回路）で実現してもよい。
【００５２】
一般的なディザマトリクスと同様、本実施形態に係る改良型ディザマトリクスは、ｘ方向のサイズをＳｘ行、ｙ方向のサイズをＳｙ列とした二次元配列である。ＳｘとＳｙは任意の自然数であるが、典型的には２のべき乗の辺の長さをもつ四角形で各辺が２５６画素以上（例えば２５６×２５６画素や５１２×５１２画素）が好適である。本実施形態では、Ｓｘ＝Ｓｙ＝２５６とする。ドット分散型のディザマトリクスを作成する手法として、Ｖｏｉｄ＆Ｃｌｕｓｔｅｒ法が知られている。Ｖｏｉｄ＆Ｃｌｕｓｔｅｒ法は、ローパスフィルタを適用して平滑化濃度画像を求め、局所的な濃度変動を抑える様にドットを追加／削除すべき配置を決定する手法である。本実施形態に係る改良型ディザマトリクスもドット分散型のブルーノイズ特性を有するディザマトリクスであり、Ｖｏｉｄ＆Ｃｌｕｓｔｅｒ法を用いて作成する。以下の説明において、Ｖｏｉｄ＆Ｃｌｕｓｔｅｒ法の実行過程で生成されるドットパターンをｄ（ｘ，ｙ）で表すものとする。（ｘ，ｙ）は位置座標を示す。ｄ（ｘ，ｙ）は二次元の配列で、そのサイズは作成対象のディザマトリクスと同じである。ｄ（ｘ，ｙ）の各画素の値は、ドットが存在するときは“１”、ドットが存在しないときは“０”とする。ドットパターンｄ（ｘ，ｙ）は、反復過程において変化する。反復過程を経て、ドット数が０個のドットパターンから、ドット数がＳｘ×Ｓｙ個までの、Ｓｘ×Ｓｙ＋１通りのドットパターンが生成される。そのため、ドットパターンｄ（ｘ，ｙ）におけるドット数をｇとしたとき、このｇを用いることで、反復過程における、ある１つの時点を特定できる。以下の説明では、オンドットの数を示すｇを「階調ｇ」と呼ぶことにする。また、以下の説明では、階調がｇのときのドットパターンｄ（ｘ，ｙ）を「ｄ（ｇ，ｘ，ｙ）」あるいはｘとｙを省略して単に「ｄ（ｇ）」と表記する。
【００５３】
図１８は、本実施形態に係る、改良型ディザマトリクスの作成の流れを示すフローチャートである。以下、図１７の機能ブロック図を参照しつつ、本実施形態に係る改良型ディザマトリクスの作成処理について詳しく説明する。本実施形態では、ドットが１つも存在しない画像を起点として、階調ｇ＝６５５３６に達するまでドットの追加を繰り返し行なうことで、改良型ディザマトリクスを得る。なお、以下の説明では、生成過程または生成後の閾値マトリクスを「Ｍ（ｘ，ｙ）」と表記するものとする。以下、図１７のフローに沿って詳しく説明する。
【００５４】
Ｓ１８０１では、ドットパターン生成部１７０１が、初期ドットパターンｄ（ｇ0）を生成する。初期ドットパターンの階調は任意であるが、できるだけ低階調から開始するのが望ましい。本実施形態では、ドットが１つも存在しない状態を起点とするので初期ドットパターンｄ（ｇ0）はゼロ階調（ｇ＝０）である。
【００５５】
Ｓ１８０２〜Ｓ１８０６は、ステップ１８０１で生成した初期ドットパターンｄ（ｇ0）を起点としたドットの追加を、階調ｇの値がｇMAXに達するまで反復する処理である。つまり、階調がｇのドットパターンに対してドットを１つ追加してその隣接する階調（すなわち、階調がｇ＋１）のドットパターンを生成するという動作が繰り返される。ここで、ｇMAX≧ｇ0であり、本実施形態では、ｇMAX＝Ｓｘ×Ｓｙ＝６５５３６とする。これにより、全階調におけるドット配置が決定される。
【００５６】
Ｓ１８０２では、フィルタ部１７０２が、階調ｇに対応するドットパターンｄ（ｇ）に対してローパスフィルタを適用して各方向における濃度分散成分、中でもｘ方向の濃度分散成分を抽出し、その分布状態を示す情報である濃度変動マップｎ（ｇ）を生成する。濃度変動マップｎ（ｇ）は、ドットパターンｄ（ｇ）と同じサイズの二次元配列であり、ドットパターンｄ（ｇ）と同様に、配列の値が階調ｇによって変化する。濃度変動マップｎ（ｇ）において、その値が小さい場所ほど平滑化濃度が低い（ドットが疎ら）と評価でき、逆に、その値が大きい場所ほど平滑化濃度が高い（ドットが密）と評価できる。この濃度変動マップｎ（ｇ）を用いて、階調がｇのドットパターンｄ（ｇ）におけるドットの分散性、特にｘ方向におけるドットの疎密を評価する。ディザマトリクスは、入力画像データに対してその適用する位置を変えながら周期的に使用される。そのため、本ステップにおけるフィルタ処理では、ドットパターンｄ（ｇ）とフィルタ係数ｆとの巡回畳み込み演算によって、濃度変動マップｎ（ｇ）を生成する。巡回畳み込み演算は、通常の畳み込み演算を、周期的境界条件を設定したドットパターンｄ（ｇ）と、フィルタ係数ｆとの間で行う演算である。なお、フィルタ係数ｆの詳細は後述する。
【００５７】
Ｓ１８０３では、ドット配置部１７０３が、Ｓ１８０２で生成した濃度変動マップｎ（ｇ）を用いて、ドット密度が最も低い部分にドットを追加する処理を行う。具体的には、ドットが存在せず、かつ、濃度変動マップｎ（ｇ，ｘ，ｙ）の値が最少である位置（ｘ，ｙ）にドットを追加する。具体的には、現時点のドットパターンｄ（ｇ，ｘ，ｙ）において画素値が“０”になっている画素の中から、濃度変動マップｎ（ｇ，ｘ，ｙ） の値が最小となる位置（ｘMIN，ｙMIN）を探索する。そして、当該ドットパターンｄ（ｇ，ｘMIN，ｙMIN）の画素値を“１”にする。なお、濃度変動マップｎ（ｇ，ｘ，ｙ） の値が最小となる位置が複数存在する場合は、当該複数の位置の中からドットを追加する位置をランダムに１つ選択すればよい。これにより、階調毎に順次ｘ方向のドットの分散性がその他の方向のドットの分散性よりも高くなるように閾値配置を決定することができる。つまり、階調に依存しない、ノズル毎のｘ方向のドット分散性が高いドットパターンを生成可能となる。
【００５８】
Ｓ１８０４では、Ｓ１８０３でドットが追加された位置（ｘMIN，ｙMIN）に基づき、ディザマトリクスＭ（ｘ，ｙ）における閾値が設定される。具体的には、ディザマトリクスＭ（ｘ，ｙ）の値として、現在のｇの値が設定される。続くステップ１８０５では、階調ｇの値がインクリメントされて、ｇ＝ｇ＋１となる。
【００５９】
Ｓ１８０６では、階調ｇの値がｇMAX（ここでは６５５３６）に達したか否かが判定される。判定の結果、ｇ＝ｇMAXでなければＳ１８０２に戻り、処理が続行される。一方、ｇ＝ｇMAXであればＳ１８０７に進む。
Ｓ１８０７では、ディザ処理の対象となる入力画像データの画素値のレンジに応じて、ディザマトリクスの閾値のレンジが調整される。本ステップまで処理が進んだ段階で、ディザマトリクスＭ（ｘ，ｙ）には、１〜ｇMAXまで（本実施形態の場合は１〜６５５３６）の値が格納されている。ディザ処理を行う際の入力画像の信号値が例えば８ビットで表される場合は、画素値のレンジが０〜２５５であるため、１〜６５５３６までの閾値が格納されたディザマトリクスを使用しても、適切な量子化結果を得ることができない。そこで、本ステップにおいて、想定される入力画像の信号値のビット数に合うように、ディザマトリクスＭ（ｘ，ｙ）の値のレンジを調整する。例えば、ディザマトリクスの値のレンジをｔｈMINからｔｈMAXに変更したい場合は、レンジ調整後のディザマトリクスの値は、ａ×Ｍ（ｘ，ｙ）＋ｂの整数部となる。ただし、ａ＝（ｔｈMAX−ｔｈMIN）÷（ｇMAX−ｇMIN）、ｂ＝ｔｈMIN−ａ×ｇMINである。なお、レンジ調整の方法は上述の方法に限らず、公知の方法を用いればよい。
【００６０】
以上のような処理によって、本実施形態に係る改良型ディザマトリクスが作成される。図１９（ａ）は、改良型ディザマトリクスから得られる複数の階調におけるドットパターンの一例を示す図である。図１９（ａ）において、横軸が上述のｙ方向に対応し、縦軸が上述のｘ方向に対応している。また、図１９（ｂ）は、図１９（ａ）に示す各階調のドットパターンを２次元フーリエ変換した結果（空間周波数領域での分布）を示した図である。図１９（ｂ）における点線で囲った部分が示すとおり、改良型ディザマトリクスにおける閾値配置の場合、どの階調においても、ｘ方向の低周波数成分が抑制されており、ｘ方向におけるドット分散性がその他の方向のドット分散性に比べて向上しているのが分かる。このように、階調に拠らず、ｘ方向の低周波成分がすべて抑制されているので、スジムラ補正によってノズル毎に階調変化が発生しても、ノズル毎のドット分散性を高いまま保つことができる。故に、スジムラ補正による粒状性の劣化やアーティファクトも発生しない。なお、抑制されるｘ方向の低周波成分は、人の目の周波数特性（視覚の空間周波数感度特性）を踏まえ、視認されやすくなる１０ｃｙｃｌｅ／ｍｍ以下であることが望ましい。
【００６１】
（フィルタ係数の詳細）
続いて、Ｓ１８０２のフィルタ処理で使用するフィルタ係数ｆについて説明する。このフィルタ係数ｆは、二次元配列であり、本実施形態ではドットパターンｄ（ｇ）と同じサイズとする。すなわち、ｘ方向のフィルタサイズをＳｆｘ、ｙ方向のフィルタサイズをＳｆｙとしたとき、Ｓｆｘ＝Ｓｆｙ＝２５６とする。ドットからの距離ｒが下記の式（１）で表されるとき、本実施形態のフィルタ係数ｆは下記の式（２）で表される。
【００６２】
【数１】
2020082694.tif 000003
【００６３】
【数２】
2020082694.tif 000004
【００６４】
上記式（１）及び式（２）において、（ｘ，ｙ）は座標を表す。ｘ0及びｙ0はフィルタ係数ｆの中心座標を表し、ｘ0＝Ｓｆｘ÷２、ｙ0＝Ｓｆｙ÷２である。前述のＳ１８０３では、濃度変動マップｎ（ｇ）を緩和するようにドットを追加することにより、ドットの疎密を低減し、これにより低粒状性を実現する。これを好適に実現するためには、ドット同士の間隔を抽出する必要があり、それにはフィルタ係数ｆをドットからの距離ｒの逆数の関数にすればよい。なお、ここでは、距離ｒ＝０におけるゼロ割を避けるため、ｆ＝１となるように分母に１を加算している。さらに、本実施形態に係る改良型ディザマトリクスの特徴である、ｘ方向のドット分散性がその他の方向のドット分散性よりも高くなるように調整するためには、下記式（３）に示すように、ｙ＝ｙ0おいてｆをα倍する。
【００６５】
【数３】
2020082694.tif 000005
【００６６】
この場合において、α＞１であり、本実施形態では例えばα＝２とする。これにより、ドットの疎密の評価に関して、ｘ方向のドットの疎密の影響度をその他の方向のドットの疎密の影響度よりも大きくすることができる。その結果、ｘ方向のドット分散性が、その他の方向のドット分散性よりも高くなるように閾値を配置することが可能となる。なお、上記式（３）においても、上記式（２）と同様に、距離ｒ＝０におけるゼロ割を避けるため、ｆ＝１となるように分母にαを加算している。
【００６７】
以上が、本実施形態に係る改良型ディザマトリクスを得るためのフィルタ係数ｆの説明である。
【００６８】
（改良型ディザマトリクスによる効果）
本実施形態に係る改良型ディザマトリクスを用いて、実施形態１又は２で説明したディザ処理を行った場合の効果を説明する。前述した２つの実施形態におけるディザ処理では、スジムラ補正が施された後の画像データにおける画素値がノズル列に垂直なｘ方向に均一化されるように量子化されるので、ｘ方向において望ましい出力結果を得ることができる。さらに、本実施形態の改良型ディザマトリクスを用いることで、ノズル列に平行なｙ方向に画素値の変動があったとしても、粒状性の良好なドット配置を実現することが可能となる。つまり、入力画像データの各画素値におけるｘ方向の変動に対しては、実施形態１及び２のディザ処理手法によって画素値が均一化されるように量子化することで、入力画像データが表す濃度パターンとディザマトリクスにおける閾値パターンとの干渉を抑制する。一方で、入力画像データの各画素値におけるｙ方向の変動に対しては、改良型ディザマトリクスを用いることで、上述の干渉を抑制する。これにより、入力画像データにおける濃度パターンの変動に関わらず、ノズル毎のスジムラ補正の精度を維持しつつ、粒状性の良好な高品質なハーフトーン画像データを得ることができる。また、入力画像データにおける濃度パターンの変動に依存しないため、入力画像データの特徴に応じてディザマトリクスを切り替える等の処理が不要になるというメリットもある。したがって、スジムラ補正の強弱に関わらず、入力画像全体に同一のディザマトリクスを用いてディザ処理することが可能となる。
【００６９】
＜その他の実施形態＞
なお上述の実施形態では、フルライン型の記録ヘッドについて説明したが、シリアル型の記録ヘッドであってもよい。シリアル型の場合には、記録媒体上における同じ領域に記録ヘッドを用いて複数回記録走査することにより画像を形成する。この時、１回の記録走査において、フルライン型と同様にスジムラが生じる場合がある。そのため上述の実施形態と同様に、ノズルごと補正処理を実行する場合に、１ノズルに対応する１次元領域ごとに、量子化処理を実行することにより、同様の効果を奏することができる。また、ｘ方向とｙ方向は必ずしも垂直に交差していなければならないというわけではなく、用紙搬送方向がノズル並び方向に対して凡そ垂直であればよい。例えば、ノズル列が用紙搬送方向に対して一定の傾きを持っていてもよいし、シリアル型の記録ヘッドを構成する各ノズル列が波型に連結されていてもよい。
【００７０】
さらに例えば、色材としてトナーを使用する電子写真方式のプリンタ対しても、上述の実施形態を適用することもできる。電子写真方式のプリンタにおいては、一方向に生じるスジ状のムラを補正する処理を入力画像データに対して行なっている場合、本実施形態を適用することで、高画質なハーフトーン画像データを得ることができる。
【００７１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７２】
１０７  画像処理部
１０８  画像形成部
２０２  補正処理部
２０３  量子化処理部
【図１】
2020082694.tif 000008
【図２】
2020082694.tif 000009
【図３】
2020082694.tif 000010
【図４】
2020082694.tif 000011
【図５】
2020082694.tif 000012
【図６】
2020082694.tif 000013
【図７】
2020082694.tif 000014
【図８】
2020082694.tif 000015
【図９】
2020082694.tif 000016
【図１０】
2020082694.tif 000017
【図１１】
2020082694.tif 000018
【図１２】
2020082694.tif 000019
【図１３】
2020082694.tif 000020
【図１４】
2020082694.tif 000021
【図１５】
2020082694.tif 000022
【図１６】
2020082694.tif 000023
【図１７】
2020082694.tif 000024
【図１８】
2020082694.tif 000025
【図１９】
2020082694.tif 000026