(57)【要約】【課題】バンディングを抑制することができる画像処理装置、画像処理プログラム、乱数の生成方法を提供すること。【解決手段】離散フーリエ変換された信号値から（Ｓ４０２）、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）であって、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを０にし（Ｓ４０３）、逆離散フーリエ変換する（Ｓ４０４）。こうして生成された乱数を用いて誤差拡散処理で使用するしきい値を変動する。【選択図】図４
2012213916.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体の搬送方向に直交する第１方向に所定の配列周期で配置されるノズルを有する印刷手段を備え、その印刷手段で印刷する画像データを誤差拡散処理によって生成する画像処理装置であって、
前記ノズルの配列周期に相当する周波数を±２ｎ倍（ｎは０以上の整数）した周波数である対象周波数のうち、少なくとも１つ以上の対象周波数についての周波数スペクトルを、又は、前記対象周波数の近傍の周波数である近傍周波数のうち少なくとも１つ以上の近傍周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数を用いて、前記誤差拡散処理で使用するしきい値を変動する変動手段を備えていることを特徴とする画像処理装置。
【請求項２】
前記対象周波数、又は、前記近傍周波数は、±１０ｃｙｃｌｅ／ｍｍの範囲に含まれ、  前記乱数は、ホワイトノイズから生成された乱数であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記近傍周波数は、前記対象周波数の±０．２ｃｙｃｌｅ／ｍｍの範囲内であることを特徴とする請求項１又は２にに記載の画像処理装置。
【請求項４】
前記乱数は、前記第１方向と、その第１方向に直交する第２方向との２次元状のホワイトノイズから、前記第２方向の周波数が±１０ｃｙｃｌｅ／ｍｍの範囲に含まれる周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数であることを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記乱数を、テーブル化して記憶する記憶手段を備え、
前記変動手段は、前記記憶手段にテーブル化して記憶された乱数を用いて変動することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
画像処理プログラムであって、
記録媒体の搬送方向に直交する第１方向に所定の配列周期で配置されるノズルを有する印刷手段で印刷する画像データを誤差拡散処理によって生成するコンピュータを、
前記ノズルの配列周期に相当する周波数を±２ｎ倍（ｎは０以上の整数）した周波数である対象周波数のうち、少なくとも１以上の対象周波数についての周波数スペクトルを、又は、前記対象周波数の近傍の周波数である近傍周波数のうち少なくとも１以上の近傍周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数を用いて、前記誤差拡散処理で使用するしきい値を変動する変動手段として機能させることを特徴とする画像処理プログラム。
【請求項７】
記録媒体の搬送方向に直交する第１方向に所定の配列周期で配置されるノズルを有する印刷手段で印刷する画像データを誤差拡散処理によって生成する場合に用いられる乱数の生成方法であって、
ホワイトノイズを生成する生成ステップと、
その生成ステップで生成されたホワイトノイズをフーリエ変換するフーリエ変換ステップと、
そのフーリエ変換ステップでフーリエ変換した出力から、前記ノズルの配列周期に相当する周波数を±２ｎ倍（ｎは０以上の整数）した周波数である対象周波数のうち、少なくとも１以上の対象周波数についての周波数スペクトルを、又は、前記対象周波数の近傍の周波数である近傍周波数のうち少なくとも１以上の近傍周波数についての周波数スペクトルを、０にする、又は、削減するフィルタステップと、
そのフィルタステップでフィルタした後の出力を逆フーリエ変換する逆フーリエ変換ステップとを備えていることを特徴とする乱数の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バンディング抑制技術に関する。
【背景技術】
【０００２】
ラインヘッドでは、高解像度印字を可能にすべく、記録媒体の搬送方向に直交する第１方向に隣接するノズルを、第１方向と直交する第２方向に離して配置している。また、ヘッドのコンパクト化の要請により、各ノズルは第１方向に所定の配列周期で配置されている。そのため、ラインヘッドの取り付け誤差や、用紙搬送誤差があると、ノズルの配列周期に従った筋状のむら（所謂、バンディング）が発生する。そこで、このバンディングを視覚的に目立ち難くすべく、ブルーノイズを用いて誤差拡散処理の閾値を変動し、高周波成分の変動を付加する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−５７０８１
【特許文献２】特開２００３−１１０８５１
【特許文献３】特開２００３−３４８３４５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、誤差拡散処理における省メモリ化、高速化の要請から、乱数をテーブル化し、サイクリックにブルーノイズを擬似発生させると、ブルーノイズでは、テーブルの繰り返しにより、高周波成分よりも低周波成分が高くなり、結局、テーブルごとのむらがバンディングとして発生してしまうという問題点があった。
【０００５】
本発明は、上記の問題点を解決するためになされたものであり、バンディングを抑制することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の装置は、記録媒体の搬送方向に直交する第１方向に所定の配列周期で配置されるノズルを有する印刷手段を備え、その印刷手段で印刷する画像データを誤差拡散処理によって生成するものであって、前記ノズルの配列周期に相当する周波数を±２ｎ倍（ｎは０以上の整数）した周波数である対象周波数のうち、少なくとも１つ以上の対象周波数についての周波数スペクトルを、又は、前記対象周波数の近傍の周波数である近傍周波数のうち少なくとも１つ以上の近傍周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数を用いて、前記誤差拡散処理で使用するしきい値を変動する変動手段を備えている。よって、バンディングを抑制することができる。
【０００７】
上記の装置において、前記対象周波数、又は、前記近傍周波数は、±１０ｃｙｃｌｅ／ｍｍの範囲に含まれ、前記乱数は、ホワイトノイズから生成された乱数である。よって、ホワイトノイズ特性を極力維持した乱数を用いて、誤差拡散処理で使用するしきい値を変動することができる。即ち、周波数スペクトルを０、又は、削減する周波数（対象周波数、近傍周波数）を、視覚上無視できる±１０ｃｙｃｌｅ／ｍｍの範囲に限定することで、ホワイトノイズの高周波成分が低下するのを抑制できる。よって、バンディングを抑制することができる。
【０００８】
上記の装置において、前記近傍周波数は、前記対象周波数の±０．２ｃｙｃｌｅ／ｍｍの範囲内である。よって、対象周波数と一致する周波数スペクトルを、演算上、０又は、削減できなくても、対象周波数に対し、かかる範囲の近傍周波数の周波数スペクトルを操作することで、バンディングを抑制できる。
【０００９】
上記の装置において、前記乱数は、前記第１方向と、その第１方向に直交する第２方向との２次元状のホワイトノイズから、前記第２方向の周波数が±１０ｃｙｃｌｅ／ｍｍの範囲に含まれる周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数である。よって、２次元状のホワイトノイズ特性を極力維持した乱数を用いて、誤差拡散処理で使用するしきい値を変動することができる。即ち、第２方向についても、第１方向と同様に、０、又は、削減する周波数スペクトルを、視覚上無視できる±１０ｃｙｃｌｅ／ｍｍの範囲に限定することで、２次元状のホワイトノイズの高周波成分が低下するのを抑制できる。よって、２次元の乱数テーブルを用いても、バンディングを抑制できる。
【００１０】
上記の装置において、前記乱数を、テーブル化して記憶する記憶手段を備え、前記変動手段は、前記記憶手段にテーブル化して記憶された乱数を用いて変動する。よって、高速に、且つ、安価に、バンディングが抑制された画像データを生成できる。
【００１１】
なお、本発明は、画像処理装置を制御する制御装置、画像処理方法、画像処理装置を制御する画像処理プログラム、該プログラムを記録する記録媒体等の種々の態様で実現可能である。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態であるプリンタの断面図である。
【図２】（ａ）は印刷ヘッドの構成を示した図であり、（ｂ）はノズル配列周期を説明するための図である。
【図３】プリンタの電気的構成を模式的に示すブロック図である。
【図４】（ａ）は印刷ヘッドの周波数スペクトルとＶＴＦ曲線とを示す図である。（ｂ）は乱数テーブル作成処理を示すフローチャートである。
【図５】整数値変換処理を示すフローチャートである。
【図６】図４で説明した乱数テーブル作成方法において生成される信号を説明するための図である。
【図７】図４で説明した乱数テーブル作成方法において生成される信号を説明するための図である。
【図８】図４で説明した乱数テーブル作成方法において生成される信号を説明するための図である。
【図９】誤差拡散処理を示すフローチャートである。
【図１０】（ａ）は、基本閾値Ｔ設定処理を示すフローチャートである。（ｂ）は２次元乱数テーブル作成処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態であるプリンタ１の断面図である。プリンタ１は、視覚的にバンディングが抑制された高品質な画質で画像を印刷できるよう構成されている。
【００１４】
プリンタ１はラインプリンタであって、制御部１０、印刷ヘッド２、用紙Ｐを搬送する搬送機構２１、搬送機構２１に用紙Ｐを給紙する給紙機構３０、印刷ヘッド２により画像が形成された用紙Ｐを排紙する排紙部９０を主に備えている。
【００１５】
搬送機構２１は、ベルトローラ６，７と、ベルトローラ６，７に巻き掛けられた搬送ベルト８とを有する。ベルトローラ７には、搬送モータ２２（図３）が接続され、搬送モータ２２からの回転力によって図１中矢印Ｒ方向に回転する。このとき、搬送ベルト８が用紙Ｐを搬送方向Ｔに搬送するように走行し、従動ローラであるベルトローラ６も回転する。
【００１６】
搬送ベルト８を挟んでベルトローラ６と対向する位置には、ニップローラ４が配置される。ニップローラ４は、給紙機構３０により送られてきた用紙Ｐを、搬送ベルト８の外周面８ａに押さえ付けて、搬送ベルト８の外周面８ａに保持させる。一方、搬送ベルト８の内周側には、プラテン１９が配置され、内周側から搬送ベルト８を支持する。
【００１７】
印刷ヘッド２は、４つのインク色Ｃ，Ｍ，Ｙ，Ｋ（シアン、マゼンタ、イエロー、ブラック）ごとに設けられており、枠体のフレーム３に支持されて、用紙Ｐの搬送方向Ｔに併設されている。各印刷ヘッド２は、それぞれチューブを介してインク貯留部６０と接続される。インク貯留部６０には、インクを色別に貯留するインクカートリッジ６１が設けられ、各印刷ヘッド２には、それぞれ対応する色のインクが供給される。
【００１８】
搬送ベルト８に保持された用紙Ｐが、４つの各印刷ヘッド２を順番に通過することで用紙Ｐに画像が形成される。各印刷ヘッド２は、インク吐出面２ａのノズル２ｄ（図２）からインク滴を吐出し、ドットとして用紙Ｐに着弾させることにより、ドット列を用紙Ｐに形成する。プリンタ１は、ドット列の形成を繰返し、用紙Ｐに多数のドット列を形成することにより、画像を印刷する。画像が印刷された用紙Ｐは、搬送機構２１によって更に下流側の排紙部９０へ搬送される。排出機構９０は、搬送機構２１から搬送されてきた用紙Ｐを上方に搬送し、排紙する。
【００１９】
図２（ａ）は、印刷ヘッド２の配置を示した図である。１色の印刷ヘッド２は、２つのヘッドユニット２ｂを含む。一方のヘッドユニット２ｂは、搬送方向Ｔに平行な方向における第１の位置Ｌ１に設けられ、他方のヘッドユニット２ｂは、搬送方向Ｔに平行な方向における第２の位置Ｌ２に設けられる。
【００２０】
各ヘッドユニット２ｂのインク吐出面２ａには、台形状の部分ヘッド２ｃが複数設けられる。複数の部分ヘッド２ｃは、搬送方向Ｔに直交する方向Ｓに沿って並ぶ。各部分ヘッド２ｃには、図示しない多数のノズルが形成される。尚、以下の説明では、印刷ヘッド２の長手方向をＸ方向、Ｘ方向に直交する方向をＹ方向とする。理想的には、図２（ａ）に示すように、印刷ヘッド２のＸ方向と方向Ｓとが平行となるように、印刷ヘッド２がフレーム３（図１）に取り付けられる。ただし、実際には、製造段階における取り付けの誤差や経時変動を考慮し、プリンタ１の実用上許容される範囲であれば、印刷ヘッド２のＸ方向が方向Ｓに対して傾いていても良い。
【００２１】
図２（ｂ）は、ノズル配列周期を説明するための図である。Ｘ方向において互いに隣り合うノズルは、Ｙ方向において互いに位置が異なるような配置されている。Ｘ方向のノズル間隔は、６００（ｄｐｉ）、即ち、１／６００×２５．４×１０００＝４２．３３３・・・（μｍ）の間隔で配置されている。また、Ｘ方向のノズルは、１６ノズル周期で配置されている。更に、各ノズルは、サイズが互いに異なる３種類のドット（大ドット、中ドット、小ドット）を、用紙Ｐ上に形成可能に構成されている。
【００２２】
図３は、プリンタ１の主な電気的構成を模式的に示すブロック図である。図３に示すように、プリンタ１は、制御部１０、インターフェイス１６（Ｉ／Ｆ１６）、印刷ヘッド２、搬送モータ２２を有する。
【００２３】
制御部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、フラッシュメモリ１４、及びＡＳＩＣ１５を備え、これらは、バスラインを介して互いに接続される。また、制御部１０、Ｉ／Ｆ１６、印刷ヘッド２、搬送モータ２２は、ＡＳＩＣ１５を介して互いに接続される。
【００２４】
ＣＰＵ１１は、ＲＯＭ１２やフラッシュメモリ１４に記憶される固定値やプログラムに従って、プリンタ１が有している各機能の制御や、ＡＳＩＣ１５と接続された各部を制御する。ＲＯＭ１２は、制御プログラム１２ａ、誤差拡散パラメータメモリ１２ｂ、カラープロファイルメモリ１２ｃなどを格納した書換不能なメモリである。制御プログラム１２ａは、図９に示す誤差拡散処理を含む印刷処理をＣＰＵ１１に実行させるためのプログラムである。
【００２５】
誤差拡散パラメータメモリ１２ｂは、３種類のドット毎に誤差拡散パラメータを格納する。カラープロファイルメモリ１２ｃは、Ｒ（赤），Ｇ（緑），Ｂ（青）の各色の画素値を、Ｃ，Ｍ，Ｙ，Ｋの各色の画素値に色変換するための予め定められた対応関係（カラープロファイル）を格納する。カラープロファイルメモリ１２ｃにも、３種類のカラープロファイルが記憶されている。
【００２６】
ＲＡＭ１３は、書換可能な揮発性のメモリであり、画像データメモリ１３ａ、誤差拡散パラメータ設定メモリ１３ｂ、カラープロファイル設定メモリ１３ｃ、乱数カウンタ１３ｄが設けられる。
【００２７】
画像データメモリ１３ａには、処理対象の画像データが格納される。誤差拡散パラメータ設定メモリ１３ｂには、誤差拡散パラメータメモリ１２ｂに記憶された３種類の誤差拡散パラメータのうち、選択された１種類の誤差拡散パラメータが設定される。カラープロファイル設定メモリ１３ｃには、カラープロファイルメモリ１２ｃに記憶された３種類のカラープロファイルのうち、誤差拡散パラメータ設定メモリ１３ｂに設定された誤差拡散パラメータと組み合わせて使用されるべき１種類のカラープロファイルが設定される。
【００２８】
乱数カウンタ１３ｄは、乱数の読み出し位置を示すカウンタである。乱数カウンタ１３ｄの値は、１画素分の処理を終了する度に「１」ずつカウントアップされ、その値が、後述する乱数テーブル１４ａに格納された乱数の個数に達すると、「１」に設定される。制御部１０は、乱数テーブル１４ａから読み出した乱数を用いて誤差拡散処理を実行する。
【００２９】
フラッシュメモリ１４は書換可能な不揮発性のメモリであり、乱数テーブル１４ａが格納されている。乱数テーブル１４ａは、図４（ｂ）に示す乱数テーブル作成処理によって生成され、例えば、５１２個の乱数で構成されている。
【００３０】
制御部１０は、画像データに対して、誤差拡散処理を含む画像処理を施して印刷データを生成し、ＡＳＩＣ１５に供給する。ＡＳＩＣ１５は、印刷データに基づいて、印刷ヘッド２および搬送モータ２２などを制御することにより、用紙Ｐに画像を印刷する。
【００３１】
図４（ａ）は、印刷ヘッド２の周波数スペクトルと、ＶＴＦ曲線とを示す図である。図４（ａ）に示す通り、印刷ヘッド２の周波数スペクトルは、（ア）１．４７６（ｃｙｃｌｅ／ｍｍ）を中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲、（イ）２．９５２（ｃｙｃｌｅ／ｍｍ）中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲、（ウ）５．９０４（ｃｙｃｌｅ／ｍｍ）中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲、（エ）１１．８０８（ｃｙｃｌｅ／ｍｍ）中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲、（オ）２３．６１６（ｃｙｃｌｅ／ｍｍ）中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲において、他の周波数スペクトルと比べ高い周波数スペクトルを示していることが分かる。即ち、印刷ヘッド２では、かかる周波数で、縦筋状のむら（所謂、バンディング）が発生していることが分かる。
【００３２】
印刷ヘッド２に形成されているノズルは、上述した通り、Ｘ方向に６００（ｄｐｉ）、即ち、１／６００×２５．４×１０００＝４２．３３３・・・（μｍ）の間隔で配置されている。また、Ｘ方向のノズルは、１６ノズル周期で配置されている。よって、Ｘ方向のノズルの配列周期は、６００／１６＝３７．５（ｄｐｉ）であり、このノズルの配列周期を周波数に換算すると、１／（１／（６００／１６）×２５．４）＝１．４７６（ｃｙｃｌｅ／ｍｍ）となる。
【００３３】
また、Ｘ方向のノズルの配列周期に相当する周波数である１．４７６（ｃｙｃｌｅ／ｍｍ）の２倍は２．９５２（ｃｙｃｌｅ／ｍｍ）、４倍は５．９０４（ｃｙｃｌｅ／ｍｍ）、８倍は１１．８０８（ｃｙｃｌｅ／ｍｍ）、１６倍は２３．６１６（ｃｙｃｌｅ／ｍｍ）となる。
【００３４】
即ち、バンディングは、Ｘ方向のノズルの配列周期に相当する周波数である１．４７６（ｃｙｃｌｅ／ｍｍ）を、±２ｎ倍（ｎは０以上の整数）した周波数（以下、対象周波数）と、その対象周波数を中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲とで発生していることが分かる。
【００３５】
また、図４（ｂ）に示す観察距離を３０ｃｍとするＶＴＦ曲線（観察距離を３０ｃｍ）に示す通り、１０（ｃｙｃｌｅ／ｍｍ）以上の周波数は、周波数スペクトルがほぼ０となり、視覚的に無視できる範囲である。
【００３６】
本実施形態は、対象周波数（Ｘ方向のノズルの配列周期に相当する周波数である１．４７６（ｃｙｃｌｅ／ｍｍ）を、±２ｎ倍（ｎは０以上の整数）した周波数）であって、±１０（ｃｙｃｌｅ／ｍｍ）の範囲内の周波数について、その周波数スペクトルを０にした周波数特性を持つ乱数を、誤差拡散処理の閾値に加えるものである。
【００３７】
図４（ｂ）は、乱数テーブル作成処理を示すフローチャートである。乱数テーブル１４ａに記憶される乱数テーブルは、この処理によって作成される乱数テーブルが記憶される。即ち、乱数テーブル１４ａに記憶される乱数テーブルは、プリンタ１の工場出荷前に、図示しない乱数テーブル生成装置（以下、単に、生成装置と称す）によって作成される。尚、乱数テーブル生成装置としては、例えば、パーソナルコンピュータが該当する。
【００３８】
生成装置は、公知のアルゴリズムであるメルセンヌツイスターを使って、一様分布乱数であるホワイトノイズを生成し（Ｓ４０１）、その生成したホワイトノイズを離散フーリエ変換する（Ｓ４０２）。尚、一様分布乱数であるホワイトノイズを生成可能なアルゴリズムであれば、例えば、線形合同法など、メルセンヌツイスターに限定されない。
【００３９】
生成装置は、離散フーリエ変換された信号値から、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）であって、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを０にする（Ｓ４０３）。
【００４０】
生成装置は、Ｓ４０３の処理から生成される信号値を、逆離散フーリエ変換し（Ｓ４０４）、虚数値の絶対値をとり、実数値に変換する（Ｓ４０５）。また、Ｓ４０５の処理を経て出力される信号値の最小値が０、最大値が１となる範囲で線形変換し（Ｓ４０６）、更に、Ｓ４０６の処理を経て出力される信号値について、整数値変換処理を実行し（Ｓ４０７）、本処理を終了する。ここで、Ｓ４０７の整数値変換処理について、図５を参照して説明する。
【００４１】
図５は、整数値変換処理を示すフローチャートである。この処理は、実数を−ｎからｎ−１の整数値に変換する処理である。生成装置は、信号値を取得し（Ｓ５０２）、その信号値が０以上１／（２ｎ）未満かを判断し（Ｓ５０２）、０以上１／（２ｎ）未満であれば（Ｓ５０２：Ｙｅｓ）、取得した信号値に−ｎを設定し（Ｓ５０３）、Ｓ５１３の処理に移行する。
【００４２】
生成装置は、取得した信号値が０以上１／（２ｎ）未満でなければ（Ｓ５０２：Ｎｏ）、取得した信号値が１／（２ｎ）以上２／（２ｎ）未満かを判断し（Ｓ５０４）、１／（２ｎ）以上２／（２ｎ）未満であれば（Ｓ５０４：Ｙｅｓ）、取得した信号値に−ｎ＋１を設定し（Ｓ５０５）、Ｓ５１３の処理に移行する。
【００４３】
生成装置は、取得した信号値が、１／（２ｎ）以上２／（２ｎ）未満でなければ（Ｓ５０４：Ｎｏ）、取得した信号値が２／（２ｎ）以上３／（２ｎ）未満かを判断し（Ｓ５０６）、２／（２ｎ）以上３／（２ｎ）未満であれば（Ｓ５０６：Ｙｅｓ）、取得した信号値に−ｎ＋２を設定し（Ｓ５０７）、Ｓ５１３の処理に移行する。
【００４４】
その後は、上述した処理に相当する処理を繰り返し、生成装置は、取得した信号値が、１−３／（２ｎ）以上１−２／（２ｎ）未満かを判断し（Ｓ５０８）、１−３／（２ｎ）以上１−２／（２ｎ）未満であれば（Ｓ５０８：Ｙｅｓ）、取得した信号値にｎ−３を設定し（Ｓ５０９）、Ｓ５１３の処理に移行する。
【００４５】
生成装置は、取得した信号値が、１−３／（２ｎ）以上１−２／（２ｎ）未満でなければ（Ｓ５０８：Ｎｏ）、取得した信号値が１−２／（２ｎ）以上１−１／（２ｎ）未満かを判断し（Ｓ５１０）、１−２／（２ｎ）以上１−１／（２ｎ）未満であれば（Ｓ５１０：Ｙｅｓ）、取得した信号値にｎ−２を設定し（Ｓ５１１）、Ｓ５１３の処理に移行する。
【００４６】
生成装置は、１−２／（２ｎ）以上１−１／（２ｎ）未満でなけば（Ｓ５１０：Ｎｏ）、取得した信号値にｎ−１を設定し（Ｓ５１２）、Ｓ５１３の処理に移行する。
【００４７】
生成装置は、Ｓ５１３の処理において、全データについて、上述した処理を実行したかを判断し（Ｓ５１３）、全データについて、上述した処理を実行していなければ（Ｓ５１３：Ｎｏ）、Ｓ５０１からの処理を繰り返し、全データについて、上述した処理を実行していれば（Ｓ５１３：Ｙｅｓ）、本処理を終了する。
【００４８】
こうして、整数値変換処理によって、図４（ｂ）に示すＳ４０６の処理を経て出力される信号値の全データてについて、実数値を−ｎからｎ−１の整数値に変換することができる。
【００４９】
図６乃至図８は、図４で説明した乱数テーブル作成方法において生成される各信号を説明するための図である。
【００５０】
図６（ａ）は、一様分布乱数信号を示す図であり、図４のＳ４０１で生成される信号を示している。図６（ｂ）は、図６（ａ）に示す一様分布乱数信号を離散フーリエ変換した信号を示す図であり、図４のＳ４０２で生成される信号を示している。図６（ｂ）から、図６（ａ）に示す一様分布乱数信号を離散フーリエ変換した信号は、ホワイトノイズ特性を有していることが分かる。図６（ｃ）は、図６（ａ）の一様分布乱数信号のヒストグラムを示し、乱数値が一様に分布していることが分かる。
【００５１】
図６（ｄ１）は、図６（ｂ）に示す離散フーリエ変換した信号に対して、ハイパスフィルタをかけた信号を示す図であり、この信号は低周波成分が減少したブルーノイズ特性を有していることが分かる。
【００５２】
図６（ｄ２）は、図６（ｂ）に示す離散フーリエ変換した信号に対して、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）であって、且つ、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを０にした信号を示す図である。即ち、図４のＳ４０３で生成される信号を示している。
【００５３】
図６（ｄ３）は、図６（ｂ）に示す離散フーリエ変換した信号に対して、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）であって、且つ、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを５０％削減した信号を示す図である。即ち、図６（ｄ２）は、周波数スペクトルを０にしたが、図６（ｄ３）では、５０％削減した信号を示している。
【００５４】
図７（ｅ１）は、図６（ｄ１）に示す信号に対して、逆離散フーリエ変換した信号を示す図である。図７（ｅ２）は、図６（ｄ２）に示す信号に対して、逆離散フーリエ変換した信号を示す図であり、図４のＳ４０４で生成される信号を示している。図７（ｅ３）は、図６（ｄ３）に示す信号に対して、逆離散フーリエ変換した信号を示す図である。
【００５５】
図７（ｆ１）は、図７（ｅ１）に示す信号のヒストグラムを示す図である。図７（ｆ２）は、図７（ｅ２）に示す信号のヒストグラムを示す図である。図７（ｆ３）は、図７（ｅ３）に示す信号のヒストグラムを示す図である。
【００５６】
図７（ｆ１）〜（ｆ３）から、図７（ｆ１）に示す度数は、図７（ｆ２）、図７（ｆ３）に示す度数に比べ、小さい乱数値に偏りが生じていることが分かる。一方、図７（ｆ２）、図７（ｆ３）に示す度数は、図６（ｃ）に示す度数よりも乱数の一様分布性は劣るものの、図７（ｆ１）に示す度数よりも、乱数の一様分布性を保っており、乱数として好ましいことが分かる。
【００５７】
図８（ｇ１）は、図７（ｅ１）に示す信号をテーブル化して１００回繰り返した場合のフーリエ変換した信号を示す図である。図８（ｇ２）は、図７（ｅ２）に示す信号をテーブル化して１００回繰り返した場合のフーリエ変換した信号を示す図である。図８（ｇ３）は、図７（ｅ３）に示す信号をテーブル化して１００回繰り返した場合のフーリエ変換した信号を示す図である。図８（ｈ）は、図６（ａ）に示す信号をテーブル化して１００回繰り返した場合のフーリエ変換した信号を示す図である。
【００５８】
図８（ｇ１）〜（ｇ３）から、図８（ｇ１）に示す信号は、図８（ｇ２）、図８（ｇ３）に示す信号に比べ、低周波成分（マイナスの場合は絶対値）のスペクトルが高くなっていることが分かる。即ち、乱数の低周波成分は、画像のムラとして知覚されるので、この場合には、画像不良を招くことが分かる。一方、図８（ｇ２）、図８（ｇ３）に示す信号は、図８（ｈ）に示す信号よりも、ホワイトノイズ特性としては劣るものの、図８（ｇ１）に示す信号よりも、ホワイトノイズ特性を保っており、乱数として好ましいことが分かる。
【００５９】
このように、図６（ｂ）に示す離散フーリエ変換した信号に対して、対象周波数であって、且つ、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを０にした信号を、逆離散フーリエ変換して生成される信号は、図７（ｆ２）に示す通り、乱数の一様分布性を保っている。また、この逆離散フーリエ変換して生成される信号は、図８（ｇ２）に示す通り、ホワイトノイズ特性を保っている。よって、乱数をテーブル化して使用しても、また、記録媒体の搬送誤差や、印刷ヘッドの取り付け誤差があっても、バンディングが抑制された高品質な画質で印刷できる。
【００６０】
また、図６（ｂ）に示す離散フーリエ変換した信号に対して、対象周波数であって、且つ、±１０（ｃｙｃｌｅ／ｍｍ）の範囲の周波数について、その周波数スペクトルを５０％削減した信号を、逆離散フーリエ変換して生成される信号は、図７（ｆ３）に示す通り、乱数の一様分布性を保っている。また、この逆離散フーリエ変換して生成される信号は、図８（ｇ３）に示す通り、ホワイトノイズ特性を保っている。よって、乱数をテーブル化して使用しても、また、記録媒体の搬送誤差や、印刷ヘッドの取り付け誤差があっても、バンディングが抑制された高品質な画質で印刷できる。
【００６１】
図９は、ＣＰＵ１１が実行する誤差拡散処理を示すフローチャートである。この処理は外部装置から印刷指示が入力された場合に、ＣＰＵ１１が実行する印刷処理に含まれる処理である。
【００６２】
具体的には、この誤差拡散処理を実行する前に、ＣＰＵ１１は、入力された画像データを画像データメモリ１３ａに格納する。また、ＣＰＵ１１は、誤差拡散パラメータメモリ１２ｂから誤差拡散パラメータを読み出し、誤差拡散パラメータ設定メモリ１３ｂに設定する。更に、ＣＰＵ１１は、カラープロファイルメモリ１２ｃからカラープロファイルを読み出し、カラープロファイル設定メモリ１３ｃに設定する。
【００６３】
ＣＰＵ１１は、カラープロファイル設定メモリ１３ｃに設定されたカラープロファイルを用いて、画像データメモリ１３ａに格納されている画像データに色変換処理を施し、画像データに含まれるＲ，Ｇ，Ｂの画素値を、Ｃ，Ｍ，Ｙ，Ｋの画素値に変換する。
【００６４】
そして、ＣＰＵ１１は、色変換済みの画像データに対して、誤差拡散パラメータ設定メモリ１３ｂに設定した誤差拡散パラメータを用いて誤差拡散処理を施す。尚、ＣＰＵ１１は、誤差拡散処理を施して生成した印刷データを、ＡＳＩＣ１５に供給し、画像を印刷させる。
【００６５】
この誤差拡散処理において、ＣＰＵ１１は、注目画素を選択し（Ｓ９０２）、補正入力値Ｉ’を決定する（Ｓ９０４）。補正入力値Ｉ’は、注目画素の画素値に、周辺画素の誤差ｅを加算した値である。尚、誤差拡散処理における補正入力値Ｉ’の算出方法は公知であるため詳細な説明は省略する。
【００６６】
次に、ＣＰＵ１１は、基本閾値Ｔ設定処理を実行する（Ｓ９０６）。ここで、図１０（ａ）を参照して、基本閾値Ｔ設定処理について説明する。図１０（ａ）は、基本閾値Ｔ設定処理を示すフローチャートである。
【００６７】
ＣＰＵ１１は、乱数テーブル１４ａからカウンタ値ｎが示す乱数を取得し（Ｓ１００１）、閾値に乱数テーブル１４ａから取得した乱数を加算する（Ｓ１００２）。そして、ＣＰＵ１０は、カウンタ値ｎに１を換算し（Ｓ１００３）、カウンタ値ｎが乱数テーブルのサイズを超えたかを判断し（Ｓ１００４）、超えていなければ（Ｓ１００４：Ｎｏ）、本処理を終了し、超えていれば（Ｓ１００４：Ｙｅｓ）、カウンタ値ｎを１に設定し、本処理を終了する。こうして、基本閾値Ｔ設定処理によって（Ｓ９０６）、閾値に乱数テーブル１４ａで設定されている乱数が加算され、基本閾値Ｔが設定される。再び、図９のフローチャートに戻り、説明を続ける。
【００６８】
ＣＰＵ１１は、誤差拡散パラメータ設定メモリ１３ｂに設定された誤差拡散パラメータのうち、threLに乱数Ｔを加算した値を、大ドット閾値として決定する（Ｓ９０８）。そして、ＣＰＵ１１は、補正入力値Ｉ’が大ドット閾値より大きいか否かを判断する（Ｓ９１２）。
【００６９】
その結果、ＣＰＵ１１は、補正入力値Ｉ’が大ドット閾値より大きいと判断した場合（Ｓ９１２：Ｙｅｓ）、注目画素の値を、大ドットの形成を示す値とし、補正入力値Ｉ’から大ドット相対濃度（DotL）を減算した値を、注目画素の誤差ｅとして算出する（Ｓ９１４）。ＣＰＵ１１は、算出した誤差ｅを誤差バッファ（図示せず）に記憶し（Ｓ９３０）、最終画素か否かを判断する（Ｓ９３２）。Ｓ９３２の判断が否定される場合（Ｓ９３２：Ｎｏ）、ＣＰＵ１１はＳ９０２から処理を繰り返す。
【００７０】
一方、ＣＰＵ１１は、補正入力値Ｉ’が大ドット閾値以下であると判断される場合（Ｓ９１２：Ｎｏ）、誤差拡散パラメータ設定メモリ１３ｂに設定された誤差拡散パラメータのうち、threMに乱数Ｔを加算した値を、中ドット閾値として決定する（Ｓ９１６）。そして、ＣＰＵ１１は、補正入力値Ｉ’が中ドット閾値より大きいか否かを判断する（Ｓ９１８）。
【００７１】
その結果、ＣＰＵ１１は、補正入力値Ｉ’が中ドット閾値より大きいと判断される場合（Ｓ９１８：Ｙｅｓ）、注目画素の値を、中ドットの形成を示す値とし、補正入力値Ｉ’から中ドット相対濃度（DotM）を減算した値を、注目画素の誤差ｅとして算出する（Ｓ９２０）。ＣＰＵ１１は、算出した誤差ｅを誤差バッファ（図示せず）に記憶し（Ｓ９３０）、最終画素か否かを判断する（Ｓ９３２）。Ｓ９３２の判断が否定される場合（Ｓ９３２：Ｎｏ）、ＣＰＵ１１はＳ９０２から処理を繰り返す。
【００７２】
一方、ＣＰＵ１１は、補正入力値Ｉ’が中ドット閾値以下であると判断される場合（Ｓ９１８：Ｎｏ）、誤差拡散パラメータ設定メモリ１３ｂに設定された誤差拡散パラメータのうち、threSに乱数Ｔを加算した値を、小ドット閾値として決定する（Ｓ９２２）。そして、ＣＰＵ１１は、補正入力値Ｉ’が小ドット閾値より大きいか否かを判断する（Ｓ９２４）。
【００７３】
その結果、ＣＰＵ１１は、補正入力値Ｉ’が小ドット閾値より大きいと判断される場合（Ｓ９２４：Ｙｅｓ）、注目画素の値を小ドットの形成を示す値とし、補正入力値Ｉ’から小ドット相対濃度（DotS）を減算した値を、注目画素の誤差ｅとして算出する（Ｓ９２６）。ＣＰＵ１１は、算出した誤差ｅを誤差バッファ（図示せず）に記憶し（Ｓ９３０）、最終画素か否かを判断する（Ｓ９３２）。Ｓ９３２の判断が否定される場合（Ｓ９３２：Ｎｏ）、ＣＰＵ１１はＳ９０２から処理を繰り返す。
【００７４】
一方、ＣＰＵ１１は、補正入力値Ｉ’が小ドット閾値以下であると判断される場合（Ｓ９２４：Ｎｏ）、注目画素の値をドットの非形成を示す値とし、補正入力値Ｉ’を誤差ｅとする（Ｓ９２８）。ＣＰＵ１１は、算出した誤差ｅを誤差バッファ（図示せず）に記憶し（Ｓ９３０）、最終画素か否かを判断する（Ｓ９３２）。Ｓ９３２の判断が否定される場合（Ｓ９３２：Ｎｏ）、ＣＰＵ１１はＳ９０２から処理を繰り返す。
【００７５】
このようにして処理を繰り返すうちに、最終画素まで処理を終了すると（Ｓ９３０：Ｙｅｓ）、ＣＰＵ１１は誤差拡散処理を終了する。
【００７６】
このように、上述した誤差拡散処理を含む印刷処理では、図４（ｂ）に示す乱数テーブル作成処理によって作成され、乱数テーブル１４ａに記憶されている乱数テーブルが使用されて画像データを生成するので、乱数をテーブル化しても、また、記録媒体の搬送誤差や、印刷ヘッドの取り付け誤差があっても、バンディングが抑制された高品質な画質で印刷できる。
【００７７】
次に、図１０（ｂ）を参照して本発明の第２実施形態について説明する。第２実施形態では、図１０（ｂ）に示す２次元テーブル作成処理で作成したテーブルを乱数テーブル１４ａに記憶する。
【００７８】
上述した第１実施形態では、Ｘ方向（用紙Ｐの搬送方向と直交する方向）に関する１次元乱数テーブルを作成する場合について説明したが、第２実施携帯では、Ｘ方向と、Ｘ方向に直交するＹ方向との２次元乱数テーブルを作成する。
【００７９】
図１０（ｂ）は、２次元乱数テーブル作成処理を示すフローチャートである。生成装置は、２次元の一様分布乱数を生成する（Ｓ１０１０）。尚、この２次元の一様分布乱数は、第１実施形態の場合と同様に、公知のアルゴリズムであるメルセンヌツイスターを使って、２次元の一様分布乱数であるホワイトノイズを生成する。そして、ＣＰＵ１１は、その生成したホワイトノイズを２次元離散フーリエ変換する（Ｓ１０１１）。
【００８０】
生成装置は、２次元離散フーリエ変換された信号値から、Ｘ方向とＹ方向との空間周波数が±１０（ｃｙｃｌｅ／ｍｍ）の範囲で、且つ、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数について、その周波数スペクトルを０にする（Ｓ１０１２）。
【００８１】
生成装置は、Ｓ１０１２の処理から生成される信号値を、２次元逆離散フーリエ変換し（Ｓ１０１３）、虚数値の絶対値をとり、実数値に変換する（Ｓ１０１４）。また、Ｓ１０１４の処理を経て出力される信号値の最小値が０、最大値が１となる範囲で線形変換し（Ｓ１０１５）、更に、Ｓ１０１５の処理を経て出力される信号値について、図５で説明したのと同様に、整数値変換処理を実行し（Ｓ１０１６）、本処理を終了する。
【００８２】
この２次元乱数テーブル作成処理で作成した２次元乱数テーブルは、第１実施形態と同様に、乱数テーブル１４ａに記憶され、２次元乱数テーブルに記憶されている乱数が誤差拡散処理の閾値加えられる。
【００８３】
このように、２次元乱数テーブル作成処理で作成した２次元乱数テーブルに記憶されている乱数を誤差拡散処理の閾値に加えても、第１実施形態の場合と同様に、誤差拡散処理の閾値に加えられる乱数は、Ｘ方向と、Ｙ方向との２次元状のホワイトノイズから、Ｙ方向の空間周波数が±１０ｃｙｃｌｅ／ｍｍの範囲に含まれ周波数についての周波数スペクトルを、０にして、又は、削減して生成された乱数である。よって、２次元状のホワイトノイズ特性を極力維持した乱数を用いて、誤差拡散処理で使用する閾値を変動することができる。
【００８４】
即ち、Ｙ方向についても、Ｘ方向と同様に、０、又は、削減する周波数スペクトルを、視覚上無視できる±１０ｃｙｃｌｅ／ｍｍの範囲に限定することで、２次元状のホワイトノイズの高周波成分が低下するのを抑制できる。よって、２次元乱数テーブルを用いる場合でも、バンディングが抑制された高品質な画質で印刷できる。
【００８５】
上記の実施形態において、プリンタ１が画像処理装置の一例である。印刷ヘッド２が印刷手段の一例である。ＣＰＵ１１が実行する図９の誤差拡散処理が誤差拡散処理の一例である。ＣＰＵ１１が実行する図９のＳ９０６の処理が変動手段の一例である。乱数テーブル１４ａが記憶手段の一例である。制御プログラム１２ａが画像処理プラグラムの一例である。ＣＰＵ１１がコンピュータの一例である。生成装置が実行する図４（ｂ）のＳ４０１、図１０（ｂ）のＳ１０１０が生成ステップの一例である。生成装置が実行する図４（ｂ）のＳ４０２、図１０（ｂ）のＳ１０１１がフーリエ変換ステップの一例である。生成装置が実行する図４（ｂ）のＳ４０３、図１０（ｂ）のＳ１０１３がフィルタステップの一例である。生成装置が実行する図４（ｂ）のＳ４０４、図１０（ｂ）のＳ１０１４が逆フーリエ変換ステップの一例である。
【００８６】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００８７】
上述した実施形態では、周波数スペクトルを０、又は、５０％に削減する周波数を、±１０（ｃｙｃｌｅ／ｍｍ）の範囲に含まれる周波数に制限する場合について説明したが、必ずしも、かかる制限をする必要はない。例えば、図４に示すＳ４０３の処理において、離散フーリエ変換された信号値から、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）について、その周波数スペクトルを０にしても良い。かかる場合には、上述した実施形態よりは、ホワイトノイズ特性が低減するものの、上述した実施形態と同様な効果を奏することができる。また、この場合は、周波数スペクトルを０にする周波数は、１つでも、複数であっても良い。
【００８８】
また、上述した実施形態では、対象周波数の周波数スペクトルを０にする、または、５０％に削減する場合について説明したが、対象周波数の周波数スペクトルを、削減さえすれば、上述した実施形態と同様な効果を奏することができる。
【００８９】
また、上述した実施形態では、Ｘ方向のノズルの配列周期に相当する周波数を、±２ｎ倍（ｎは０以上の整数）した周波数（対象周波数）について、その周波数スペクトルを０にする場合について説明したが、周波数スペクトルを０、または、削減する周波数としては、対象周波数を中心とした±０．２（ｃｙｃｌｅ／ｍｍ）の範囲に含まれる全部、または、１以上の周波数であっても良い。
【符号の説明】
【００９０】
１            プリンタ
１１          ＣＰＵ
１２ａ        制御プログラム
１４ａ        乱数テーブル
【図１】
2012213916.tif 000003
【図２】
2012213916.tif 000004
【図３】
2012213916.tif 000005
【図４】
2012213916.tif 000006
【図５】
2012213916.tif 000007
【図６】
2012213916.tif 000008
【図７】
2012213916.tif 000009
【図８】
2012213916.tif 000010
【図９】
2012213916.tif 000011
【図１０】
2012213916.tif 000012