(57)【特許請求の範囲】
【請求項１】
Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換するための（Ｍ−１）個のディザマスクを作成するディザマスク作成方法において，
前記ディザマスクに，ブルーノイズ特性を有する初期ディザマスクを，特定範囲の閾値を所定規則に基づいて変更することで、前記初期ディザマスクに，非周期性を形成するとともに，画像データの特定の入力値に対して，最小出力レベル「０」および最大出力レベル「Ｍ−１」を除いた特定の出力レベルだけが出力されることがないようにその閾値を設定することを特徴とするディザマスク作成方法。
【請求項２】
請求項１に記載のディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換することを特徴とする画像処理装置。
【請求項３】
請求項１に記載のディザマスク作成方法で作成されたディザマスクを使用して，コンピュータでＮ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換するためのコンピュータが実行するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ディザマスク作成方法，画像処理装置，およびコンピュータが実行するためのプログラムに関し，詳細には，レーザープリンタ，デジタル複写機，およびインクジェットプリンタ等の画像形成装置および表示装置等に適用されるディザマスク作成方法，画像処理装置，およびコンピュータが実行するためのプログラムに関する。
【０００２】
【従来の技術】
従来より，出力装置の記録レベル数で中間調を表現するための方法として，ディザ法や誤差拡散法が一般的に用いられている。ディザ法は，閾値マトリクスと原画像データを比較して記録レベルを決定する方法であり，閾値マトリクス単位で階調表現を行なう。かかるディザ法では，高速な処理が可能であるが，閾値マトリクスの繰り返しによる特定パターン（テクスチャ）が発生するため，自然画像等の中間調を滑らかに表現することができないという問題がある。また，ディザ法では，原画像が周期性を有する画像である場合に，ディザとの干渉によってモアレが発生するという問題がある。
【０００３】
他方，誤差拡散法は，量子化による誤差を周辺画素に伝播させて階調表現するため，ディザ法に比して滑らかな中間調再現が可能である。しかるに，誤差拡散法では，ディザ法に比べて格段に処理時間を要するため，高解像度の出力装置ではその処理時間が問題となってくる。
【０００４】
近時，ディザ法の高速性と誤差拡散法の階調再現性を両立させた中間調処理方法として，ブルーノイズ特性を有する閾値マトリクスによるディザ法（以下，ブルーノイズマスク法）が提案されている。特許第２６２２４２９号や特開平８−８０６４１号公報では，２値出力装置のためのブルーノイズマスクの作成方法が開示されている。
【０００５】
「ブルーノイズ」とは，ホワイト・ノイズ・スペクトルの高周波成分のものである。ブルーノイズのパワースペクトルは，低周波で遮断され，相当な高周波の限界までフラットな状態にある。一般的に，ブルーノイズマスクで生成されるドット・パターンは，非周期的で放射線状に対称性のものであり，これらのパターンによれば，低周波での粒子性なしに，非周期的で非相関性のディザアレイが生成される。
【０００６】
これらのドットパターンが，パワー対周波数のパワースペクトルに変換された場合，該パワースペクトルが有する低周波での遮断点は，「ブルーノイズ」なる名称の通り，青色光の周波数範囲で生じるということである。
【０００７】
パワースペクトルの形状については，ブルーノイズのパワースペクトルを生成するドットパターンを吟味して，これらのドットパターンからディザアレイを生成することにより，ディザアレイを構成するために用いることができる。ブルーノイズマスクについては，Ｐｒｏｃｅｅｄｉｎｇｓ  ＳＰＩＥ，Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ａｌｇｏｒｉｔｈｍｓ  Ａｎｄ  ｔｅｃｈｎｉｑｕｅｓ  ＩＩ  ｖ．１４５２，ｐｐｓ．４７−５６，Ｆｅｂｒｕａｒｙ  ２１ｓｔ−Ｍａｒｃｈ  １，１９９１の，Ｔ．ＭｉｔｓａおよびＫ．Ｐａｒｋｅｒによる「Ｄｉｇｉｔａｌ  Ｈａｌｆｔｏｎｉｎｇ  Ｕｓｉｇ  Ａ  Ｂｌｕｅ  ＮｏｉｓｅＭａｓｋ（ブルーノイズマスクを用いたデジタル的な中間調処理）」に詳細に記述されている。
【０００８】
上記特許第２６２２４２９号や特開平８−８０６４１号公報は，２値を出力する場合のブルーノイズマスクの作成方法に関する技術が開示されているが，ここでは，多値（３値以上）を出力する場合について考えてみる。図１７は多値ディザ法の原理を説明するための説明図，図１８は疑似輪郭の発生原因を説明するための模式図である。
【０００９】
３値以上の多値出力装置，例えば３値の記録装置の場合には，図１７に示すように，小ドット用閾値マトリクスおよび大ドット用閾値マトリクスの２つの閾値マトリクスを用いて，小ドット（淡ドット）および大ドット（濃ドット）のＯＮ／ＯＦＦを決定する。
【００１０】
例えば，原画像データが８ｂｉｔ（０〜２５５）の場合，従来のブルーノイズマスク作成方法と同様の方法で，１〜１２８までの閾値を有する小ドット用マスクと，１２９〜２５５までの閾値を有する大ドット用マスクを個別に作成する。
【００１１】
しかしながら，このようにして作成した小ドット用マスクおよび大ドット用マスクを用いて３値化を行った場合，図１８に示すように，入力「１２８」では，小ドットのみがＯＮとなるため，擬似輪郭が発生してしまうという問題がある。
【００１２】
【発明が解決しようとする課題】
本発明は，上記に鑑みてなされたものであり，ディザマスクを使用して，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する際に，擬似輪郭の発生を防止することが可能なディザマスク作成方法，画像処理装置，およびコンピュータが実行するためのプログラムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するために，本発明は，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換するための（Ｍ−１）個のディザマスクを作成するディザマスク作成方法において，前記ディザマスクに，非周期性を形成するとともに，画像データの特定の入力値に対して，最小出力レベル「０」および最大出力レベル「Ｍ−１」を除いた特定の出力レベルだけが出力されることがないようにその閾値を設定することを特徴とする。
【００１４】
上記発明によれば，ディザマスクに，非周期性を形成するとともに，画像データの特定の入力値に対して，最小出力レベル「０」および最大出力レベル「Ｍ−１」を除いた特定の出力レベルだけが出力されることがないようにその閾値を設定する。
【００１５】
また，本発明は、前記非周期性は，ブルーノイズ特性であることを特徴とする。上記発明によれば，ブルーノイズ特性を有するディザマスクを作成して非周期性を具備させる。
【００１６】
また，本発明は，画像データの特定範囲の入力値に対して，少なくとも異なる３つの出力レベルが出力されるように，前記閾値を設定することを特徴とする。上記発明によれば，画像データの特定範囲の入力値に対して，少なくとも異なる３つの出力レベルが出力されるように，ディザマスクの閾値を設定する。
【００１７】
また，本発明は，前記特定範囲の入力値は，（Ｎ／（Ｍ−１））×Ｃ（但し，１≦Ｃ≦（Ｍ−２）の整数）の近傍であることを特徴とする。上記発明によれば，特定範囲の入力値は，（Ｎ／（Ｍ−１））×Ｃ（但し，１≦Ｃ≦（Ｍ−２）の整数）の近傍とする。
【００１８】
また，本発明は、前記画像データが特定の入力値以上の場合，中間レベルの出力を抑制するように，前記閾値を設定することを特徴とする。上記発明によれば，画像データが特定の入力値以上の場合に中間レベルの出力を抑制するように，ディザマスクの閾値を設定する。
【００１９】
また，本発明は、前記ディザマスクは，ブルーノイズ特性を有する初期ディザマスクを，特定範囲の閾値を所定規則に基づいて変更したものであることを特徴とする。上記発明によれば，ブルーノイズ特性を有する初期ディザマスクを，特定範囲の閾値を所定規則に基づいて変更してディザマスクを作成する。
【００２０】
また，本発明は、出力レベルＬ（０≦Ｌ≦（Ｍ−２））のオン／オフを決定するディザマスクの閾値に基づいて，出力レベル（Ｌ＋１）のオン／オフを決定するディザマスクの閾値を設定することを特徴とする。
【００２１】
また，本発明は、上記発明のディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換することを特徴とする。上記発明によれば，請求項１〜請求項７のいずれか１つに記載のディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する。
【００２２】
また，本発明は，上記発明のディザマスク作成方法で作成されたディザマスクを使用して，コンピュータでＮ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換するためのコンピュータが実行するためのプログラムであることを特徴とする。上記発明によれば，コンピュータでプログラムを実行することにより，請求項１〜請求項７のいずれか１つに記載のディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する。
【００２３】
【発明の実施の形態】
以下，図面を参照して，本発明にかかるディザマスク作成方法，画像処理装置，およびコンピュータが実行するためのプログラムの好適な実施の形態を，（画像処理システムの構成），（実施の形態１），（実施の形態２），（実施の形態３），（実施の形態４），（画像処理システムの構成）の順に詳細に説明する。
【００２４】
Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）に変換するための（Ｍ−１）個のディザマスクの作成方法を説明する。以下の説明では，８ｂｉｔ（０〜２５５）の原画像データをＭ値（３値（ドットＯＦＦ／小ドット／大ドット））に量子化するための２個のディザマスク（小ドット用マスク（Ｍａｓｋ１），大ドット用マスク（Ｍａｓｋ２））を作成する方法を説明する。
【００２５】
（実施の形態１）
図１〜図４を参照して，実施の形態１にかかるディザマスク作成方法を説明する。図１は，実施の形態１にかかるディザマスク作成方法を説明するためのフローチャート，図２は，小ドット用マスクの閾値の変更を説明するための説明図，図３は，大ドット用マスクの閾値の変更を説明するための説明図である。
【００２６】
図１において，まず，小ドット用初期マスクを作成する（ステップＳ１）。従来のブルーノイズマスク作成方法と同様の方法で，「１」〜「１２８」までの閾値を有する小ドット用マスクを作成し，これを小ドット用初期マスクとする。
【００２７】
この小ドット用初期マスクの閾値（１２８−Ｔ）〜１２８の画素に対して，閾値を変更して，小ドット用マスク（Ｍａｓｋ１）を作成する（ステップＳ２）。具体的には，以下のように，小ドット用マスク（Ｍａｓｋ１）の新しい閾値＝初期マスクの閾値＋Ｔ＋１とし，初期マスクの（１２８−Ｔ）未満の閾値は変更しない。
【００２８】
初期マスクの（１２８−Ｔ）      →１２９
初期マスクの（１２８−Ｔ＋１）  →１３０
初期マスクの（１２８−Ｔ＋２）  →１３１
・・・
初期マスクの（１２８）          →１２８＋Ｔ＋１
【００２９】
ここで，例えば，Ｔ＝４とした場合には，図２に示すように，閾値の変更を行うことで小ドット用マスク（Ｍａｓｋ１）が完成する。Ｔ＝４の場合には，Ｍａｓｋ１は「１」〜「１２３」と「１２９」〜「１３３」の閾値を有する。
【００３０】
次に，大ドット用初期マスクを作成する（ステップＳ３）。従来のブルーノイズマスク作成方法と同様の方法で，「１２９」〜「２５５」の閾値を有する大ドット用マスクを作成し，これを大ドット用初期マスクとする。
【００３１】
この大ドット用初期マスクの閾値１２９〜（１２９＋Ｔ）の画素に対して，閾値を変更して，大ドット用マスク（Ｍａｓｋ２）を作成する（ステップＳ４）。具体的には，以下のようにして，大ドット用マスク（Ｍａｓｋ２）の新しい閾値＝初期マスクの閾値−Ｔ−１とし，初期マスクの（１２９＋Ｔ）以上の閾値は変更しない。
【００３２】
初期マスクの（１２９）          →１２８−Ｔ
初期マスクの（１３０）          →１２８−Ｔ＋１
初期マスクの（１３１）          →１２８−Ｔ＋２
・・・
初期マスクの（１２９＋Ｔ）      →１２８
【００３３】
ここで，例えば，Ｔ＝４とした場合には，図３に示すように，閾値の変更を行なって大ドット用マスク（Ｍａｓｋ２）を完成させる。Ｔ＝４の場合には，Ｍａｓｋ２は「１２４」〜「１２８」と「１３４〜２５５」の閾値を有する。
【００３４】
このようにして作成したディザマスク（Ｍａｓｋ１，Ｍａｓｋ２）を用いて３値化を行なった結果を，図４を参照して説明する。図４は３値化結果を説明するための模式図である。
【００３５】
図４（ａ）のＰ１〜Ｐ５の画素は，小ドット用マスク（Ｍａｓｋ１）の閾値「１２９」〜「１３３」に対応する画素である。入力「１２３」では，小ドット用マスク（Ｍａｓｋ１）の閾値「１」〜「１２３」の画素に小ドットが出力される（図４（ａ））。入力「１２４」では，大ドット用マスク（Ｍａｓｋ２）の閾値「１２４」の画素（Ｐ６）に大ドットが出力され（図４（ｂ）），入力「１２８」まで順次，大ドット用マスク（Ｍａｓｋ２）の閾値「１２４」〜「１２８」の画素に大ドットが出力される（図４（ｃ））。入力「１２９」〜「１３３」では，小ドット用マスク（Ｍａｓｋ１）の閾値「１２９」〜「１３３」の画素に順次小ドットが出力される（図４（ｄ），（ｅ））。
【００３６】
このように，入力「１２８」の前後の出力が，ドットＯＦＦ／小ドット／大ドットが混在するように，ディザマスク（Ｍａｓｋ１，Ｍａｓｋ２）の閾値を設定することとしたので，擬似輪郭の発生を防止することが可能となる。
【００３７】
以上説明したように，実施の形態１によれば，ブルーノイズ特性を有し，画像データの特定の入力値（上記では「１２８」）に対して，最小出力値（ドットＯＦＦ）および最大出力値（大ドット）を除いた，特定の出力値（小ドット）だけが出力されることがないように，ディザマスクの閾値を設定しているので，擬似輪郭の発生を防止することが可能となる。
【００３８】
また，画像データの特定範囲の入力値に対して，３つの出力値（ドットＯＦＦ／小ドット／大ドット）が出力されるように，ディザマスクの閾値を設定しているので，画像データの特定範囲の入力値に対して擬似輪郭の発生を防止することが可能となる。
【００３９】
また，特定範囲の入力値は，（Ｎ／（Ｍ−１））×Ｃ（但し，１≦Ｃ≦（Ｍ−２）の整数）の近傍（上記では「１２８」の近傍）としたので，（Ｎ／（Ｍ−１））×Ｃの近傍の入力値による疑似輪郭の発生を防止することが可能となる。
【００４０】
また，ブルーノイズ特性を有する初期マスクの特定範囲の閾値を，所定規則に基づいて変更してディザマスクを作成することとしたので，簡易な方法で所望のディザマスクを作成することが可能となる。
【００４１】
（実施の形態２）
図５〜図８を参照して，実施の形態２にかかるディザマスク作成方法を説明する。図５は，実施の形態２にかかるディザマスク作成方法を説明するためのフローチャートである。図６は，小ドット用初期マスクの閾値の変更を説明するための説明図である。図７は，大ドット用初期マスクの閾値の変更を説明するための説明図である。
【００４２】
図５において，まず，実施の形態１と同様にして，小ドット用マスクの初期マスクを作成する（ステップＳ１１）。この初期マスクの閾値（１２８−Ｔ）〜１２８の画素に対して，閾値を変更して小ドット用マスク（Ｍａｓｋ１）を作成する（ステップＳ１２）。具体的には，以下に示すように，小ドット用マスク（Ｍａｓｋ１）の新しい閾値＝（１２８−Ｔ）＋〔初期マスクの閾値−（１２８−Ｔ）〕×２として閾値の変更を行い，初期マスクの（１２８−Ｔ）未満の閾値は変更しない。
【００４３】
初期マスクの（１２８−Ｔ）      →１２８−Ｔ
初期マスクの（１２８−Ｔ＋１）  →１２８−Ｔ＋２
初期マスクの（１２８−Ｔ＋２）  →１２８−Ｔ＋３
・・・
初期マスクの（１２８）          →１２８＋Ｔ
【００４４】
ここで，例えば，Ｔ＝４とした場合には，図６に示すような閾値の変更を行うことで，小ドット用マスク（Ｍａｓｋ１）が完成する。Ｍａｓｋ１は，「１」〜「１２４」，「１２６」，「１２８」，「１３０」，「１３２」の閾値を有する。
【００４５】
次に，小ドット用マスク（Ｍａｓｋ１）に基づいて，大ドット用マスク（Ｍａｓｋ２）の最初の（Ｔ＋１）レベルの閾値を設定する（ステップＳ１３）。具体的には，Ｍａｓｋ１の閾値（１２８−Ｔ）〜（１２８＋Ｔ）の画素に対応する位置に，以下のように，Ｍａｓｋ２の閾値＝Ｍａｓｋ１の閾値＋１として閾値を設定する。
【００４６】
Ｍａｓｋ１の（１２８−Ｔ）      →１２８−Ｔ＋１
Ｍａｓｋ１の（１２８−Ｔ＋２）  →１２８−Ｔ＋３
Ｍａｓｋ１の（１２８−Ｔ＋４）  →１２８−Ｔ＋５
・・・
Ｍａｓｋ１の（１２８＋Ｔ）      →１２８＋Ｔ＋１
【００４７】
つづいて，小ドット用マスク（Ｍａｓｋ１）に基づいて，大ドット用マスク（Ｍａｓｋ２）の閾値（１２８＋Ｔ＋２）〜２５５を設定する（ステップＳ１４）。具体的には，Ｍａｓｋ１の閾値（１）〜（１２８−Ｔ−１）の画素に対応する位置に，以下のように，Ｍａｓｋ２の閾値＝（１２８＋Ｔ＋１）＋〔（１２８−Ｔ）−Ｍａｓｋ１の閾値〕として，閾値を設定する。
【００４８】
Ｍａｓｋ１の（１２８−Ｔ−１）  →１２８＋Ｔ＋２
Ｍａｓｋ１の（１２８−Ｔ−２）  →１２８＋Ｔ＋３
Ｍａｓｋ１の（１２８−Ｔ−３）  →１２８＋Ｔ＋４
・・・・・・
Ｍａｓｋ１の（１）              →２５５
【００４９】
ここで，例えば，Ｔ＝４とした場合には，図７に示すような閾値の変更を行うことで，大ドット用マスクＭａｓｋ２が完成する。図６および図７に示すように，閾値「１２４」〜「１３３」は，Ｍａｓｋ１とＭａｓｋ２に交互に設定される。
【００５０】
このようにして作成した閾値マトリクス（Ｍａｓｋ１，Ｍａｓｋ２）を用いて３値化を行なった結果を図８を参照して説明する。図８は３値化結果を説明するための模式図である。
【００５１】
図８（ａ）のＰ１〜Ｐ５の画素は，小ドット用マスク（Ｍａｓｋ１）の閾値１２４，１２６，…，１３２に対応する画素である。入力「１２３」では，小ドット用マスク（Ｍａｓｋ１）の閾値１〜１２３の画素に小ドットが出力される（図８（ａ））。入力「１２４」では，小ドット用マスク（Ｍａｓｋ１）の閾値１２４の画素（Ｐ１）に小ドットが出力される（図８（ｂ））。入力「１２５」では画素Ｐ１に大ドット用マスク（Ｍａｓｋ２）の閾値１２５があるため，画素Ｐ１に大ドットが出力される（図８（ｃ））。入力「１２６」〜「１３３」では画素Ｐ２，Ｐ３，…，Ｐ５の順にドットＯＦＦの画素が小ドットＯＮ→大ドットＯＮとなる（図８（ｄ），（ｅ））。
【００５２】
本実施の形態では，入力「１２９」の場合のように，ドットＯＦＦ／小ドット／大ドットが混在した状態で，ドットＯＦＦの画素と大ドットの画素位置はブルーノイズ特性を有して分布していることになるため，ドットＯＦＦ／小ドット／大ドットが混在しても粒状性が悪化することを防止することができる。
【００５３】
また，大ドット用マスク（Ｍａｓｋ２）の閾値「１３４」以上では，小ドット用マスク（Ｍａｓｋ１）の閾値「１２３」〜「１」に対して，逆順に閾値を割り当てているため，入力が「１３４」以上の場合，図８（ｄ）の状態から大ドットがさらに増えた場合でも，ブルーノイズ特性を満たしたドット配置となる。具体的には，入力「１３４」のドット配置は，入力「１２２」におけるドットＯＦＦの画素を大ドットに変えたものに等しくなっている。
【００５４】
以上説明したように，実施の形態２によれば，出力レベルＬ（０≦Ｌ≦（Ｍ−２））のオン／オフを決定するディザマスク（Ｍａｓｋ１）の閾値の配置に基づいて，出力レベル（Ｌ＋１）のオン／オフを決定するディザマスク（Ｍａｓｋ２）の閾値を設定することとしたので，出力レベル（Ｌ＋１）のオン／オフを決定するディザマスク（Ｍａｓｋ２）を簡易に作成することが可能となる。
【００５５】
（実施の形態３）
図９〜図１１を参照して，実施の形態３にかかるディザマスク作成方法を説明する。図９は，実施の形態３にかかるディザマスク作成方法を説明するためのフローチャートである。図９において，図１と同様の処理を行うステップは，図１と同一のステップ番号を付してある。
【００５６】
図９において，小ドット用閾値マスク（Ｍａｓｋ１）の作成方法は実施の形態１と同様である。まず，実施の形態１と同様にして，小ドット用初期マスクを作成する（ステップＳ１）。ついで，この初期マスクの閾値（１２８−Ｔ）〜１２８の画素に対して，新しい閾値＝初期マスクの閾値＋Ｔ＋１として，閾値の変更を行なって小ドット用マスク（Ｍａｓｋ１）を完成させる（ステップＳ２）。
【００５７】
つぎに，大ドット用マスク（Ｍａｓｋ２）の閾値（１２８−Ｔ）〜１２８の最初の（Ｔ＋１）レベルの閾値を設定する（ステップＳ２３）。この最初の（Ｔ＋１）レベルの閾値の設定方法は，Ｍａｓｋ２の適当な位置に閾値（１２８−Ｔ）〜１２８を配置し，例えば，規則的（周期的）な配置とする。ただし，この閾値（１２８−Ｔ）〜１２８の画素がＭａｓｋ１の閾値１２９〜（１２９＋Ｔ）の画素と重ならないように配置することが望ましい。
【００５８】
次に，（Ｔ＋１）レベル以降の閾値（１２９＋Ｔ＋１）〜２５５を設定して，大ドット用マスク（Ｍａｓｋ２）を完成させる（ステップＳ２４）。この閾値（１２９＋Ｔ＋１）〜２５５に関しては，先に決定した閾値（１２８−Ｔ）〜１２８の画素がＯＮになった状態のパターンを初期パターンとして，従来のブルーノイズマスク作成方法を用いて作成する。Ｔ＝４の場合には，Ｍａｓｋ１は「１」〜「１２３」，「１２９」〜「１３３」の閾値を有し，Ｍａｓｋ２は「１２４」〜「１２８」と「１３４」〜「２５５」の閾値を有する。
【００５９】
このようにして作成したデイザマスク（Ｍａｓｋ１，Ｍａｓｋ２）を用いて３値化を行なった結果を図１０を参照して説明する。図１０は３値化結果を説明するための模式図である。
【００６０】
図１０（ａ）のＰ１〜Ｐ５の画素は，小ドット用マスクの閾値１２９〜１３３に対応する画素である。また，図１０（ｃ）のＰ６〜Ｐ１０の画素は大ドット用マスク（Ｍａｓｋ２）の閾値「１２４」〜「１２８」に対応する画素であり，規則的な配置になるように設定されている。入力「１２３」では，小ドット用マスク（Ｍａｓｋ１）の閾値１〜１２３の画素に小ドットが出力される（図１０（ａ））。入力「１２４」では，大ドット用マスク（Ｍａｓｋ２）の閾値１２４の画素（Ｐ６）に大ドットが出力され（図１０（ｂ）），入力「１２８」まで順次，大ドット用マスクの閾値１２４〜１２８の画素に大ドットが出力される（図１０（ｃ））。
【００６１】
入力「１２９」〜「１３３」では，小ドット用マスクの閾値１２９〜１３３の画素に順次小ドットが出力される（図１０（ｄ），（ｅ））。図１０（ｅ）では，大ドットが規則的な配置となっているが，大ドット用マスク（Ｍａｓｋ２）は，このパターンを初期パターンとしたブルーノイズマスク作成方法によって作成されているため，入力データが高い場合にはブルーノイズ特性を持ったドット配置となる。
【００６２】
本実施の形態では，入力「１２８」のときのように，ドットＯＦＦ／小ドット／大ドットが混在した状態のときに，目に付きやすい大ドットを特定のパターン，例えば規則的（周期的）な配置パターンとすることで，粒状感を抑えることが可能である。このように本発明は，一部の階調レベル範囲に対してのみ周期性を持つようなディザマトリクスに対しても適用可能である。
【００６３】
また，大ドット用マスク（Ｍａｓｋ２）の閾値（１２８−Ｔ）〜１２８の配置は，規則的なパターンとする以外にも，例えば小ドット用マスク（Ｍａｓｋ１）の閾値（１２９）〜（１２９＋Ｔ）の画素の隣接画素（例えば右側の画素）に配置しても良い。この場合には，入力「１２８」では，図１１に示すように，大ドットは必ずドットＯＦＦの画素に隣接して出力されるため，大ドットの粒状感が比較的目立ちにくくなる。
【００６４】
（実施の形態４）
図１２〜図１４を参照して，実施の形態４にかかるディザマスク作成方法を説明する。図１２は，実施の形態４にかかるディザマスク作成方法を説明するためのフローチャートである。図１３は，小ドット用初期マスクの閾値の変更を説明するための説明図である。図１４は，大ドット用初期マスクの閾値の変更を説明するための説明図である。
【００６５】
実施の形態１〜実施の形態３においては，入力「１２８」付近において，ドットＯＦＦ／小ドット／大ドットを混在させることにより，小ドットのみがＯＮとなって擬似輪郭の発生を防止している。インクジェットプリンタでは，このような処理が有効となるが，レーザープリンタのような電子写真方式を用いた出力装置の場合には，小ドットの安定性が不十分であるため，小ドットを多く出力させた場合，濃度ムラが発生し易いという問題がある。また，電子写真方式を用いた出力装置では，ドットゲインによる階調つぶれも起こり易くなるという問題がある。
【００６６】
そのため，電子写真方式を用いた出力装置の場合には，擬似輪郭の発生防止と共に，高濃度部において小ドットの出力を抑えることが必要となる。実施の形態４では，高濃度部において小ドットの出力を抑えることが可能なディザマトリクスの作成方法を説明する。
【００６７】
図１２において，まず，実施の形態１と同様に，閾値「１」〜「１２８」の画素に対して，小ドット用初期マスクを作成する（ステップＳ３１）。つぎに，この小ドット用初期マスクの閾値「Ｄ＋１」〜「１２８」の画素に対して，閾値を変更する（ステップＳ３２）。具体的には，以下のように，Ｍａｓｋ１の新しい閾値＝２×初期マスクの閾値−１として，初期マスクの（Ｄ＋１）未満の閾値は変更しない。ここで，「Ｄ」は小ドットの発生の抑制を開始する入力データ値を示している。
【００６８】
初期マスクの（Ｄ＋１）      →２Ｄ＋１
初期マスクの（Ｄ＋２）      →２Ｄ＋３
初期マスクの（Ｄ＋３）      →２Ｄ＋５
・・・ ・・・
初期マスクの（１２８）      →２５５
【００６９】
ここで，例えば，Ｄ＝６４とした場合，図１３に示すような閾値の変更を行って小ドット用マスクＭａｓｋ１を完成させる。Ｍａｓｋ１は「１」〜「６４」，「１２９」，「１３１」，…，「２５５」の閾値を有する。
【００７０】
次に，大ドット用マスク（Ｍａｓｋ２）を作成する。まず，小ドット用マスク（Ｍａｓｋ１）に基づいて，大ドット用マスクＭａｓｋ２の閾値（Ｄ＋１）〜２Ｄを設定する（ステップＳ３３）。具体的には，Ｍａｓｋ１の閾値「１」〜「Ｄ」の画素に対応する位置に，Ｍａｓｋ２の閾値＝Ｍａｓｋ１の閾値＋Ｄとして，以下のように，Ｍａｓｋ２の閾値を設定する。
【００７１】
Ｍａｓｋ１の（１）              →Ｄ＋１
Ｍａｓｋ１の（２）              →Ｄ＋３
Ｍａｓｋ１の（３）              →Ｄ＋５
・・・   ・・・
Ｍａｓｋ１の（Ｄ）              →２Ｄ
【００７２】
つづいて，小ドット用マスク（Ｍａｓｋ１）に基づいて，大ドット用マスク（Ｍａｓｋ２）の閾値（２Ｄ＋１）〜２５５を設定する（ステップＳ３４）。具体的には，Ｍａｓｋ１の閾値（２Ｄ＋１）〜２５５の画素に対応する位置に，以下のように，Ｍａｓｋ２の閾値＝Ｍａｓｋ１の閾値＋１として，閾値を設定する。
【００７３】
Ｍａｓｋ１の（２Ｄ＋１）        →２Ｄ＋２
Ｍａｓｋ１の（２Ｄ＋３）        →２Ｄ＋４
Ｍａｓｋ１の（２Ｄ＋５）        →２Ｄ＋６
・・・ ・・・
Ｍａｓｋ１の（２５５）          →２５５
【００７４】
ここで，例えば，Ｄ＝６４の場合，図１４に示すような閾値の変更を行って大ドット用マスク（Ｍａｓｋ２）を完成させる。Ｍａｓｋ２は，図１４に示すように，「６５」〜「１２８」，「１３０」，「１３２」，…，「２５５」の閾値を有する。すなわち，閾値「１」〜「６４」はＭａｓｋ１に，閾値「６５」〜「１２８」はＭａｓｋ２に，閾値「１２９」以上は，Ｍａｓｋ１とＭａｓｋ２に交互に配置される。
【００７５】
このようにして作成したディザマスク（Ｍａｓｋ１，Ｍａｓｋ２）を用いて３値化を行なった結果を図１５を参照して説明する。図１５は３値化結果を説明するための模式図である。
【００７６】
図１５において，入力「６４」までは，小ドットが出力される（図１５（ａ））。入力「６５」では，大ドット用マスクの閾値「６５」（小ドット用マスクの閾値１の位置と同じ）の画素（Ｐ１）に大ドットが出力される（図１５（ｂ））。その後，入力「１２８」までは，大ドット用マスク（Ｍａｓｋ２）の閾値「６６」，「６７」，…，「１２８」（小ドット用マスクの閾値「２」，「３」，…，「６４」の位置と同じ）の画素に順次大ドットが出力される（図１５（ｃ），（ｄ））。入力「１２９」では，小ドット用マスク（Ｍａｓｋ１）の閾値「１２９」の画素（Ｐ２）に小ドット出力され（図１５（ｅ）），入力「１３０」では画素Ｐ２に大ドットが出力される（図１５（ｆ））。その後，入力「２５５」まで図１５の（ｅ），（ｆ）と同様に小ドットと大ドットが交互に出力される。
【００７７】
以上説明したように，上記した実施の形態４では，入力値が所定値Ｄ以上の場合には，中間レベルの出力を抑制するように，ディザマスクの閾値を設定しているので，所定値Ｄまでは小ドットのみが出力されるが，入力値が所定値Ｄ以上になると，小ドットが減少して大ドットを増加させることができ，擬似輪郭を防止できるだけでなく，小ドットの増加による濃度ムラや階調つぶれも防止して，画像の安定性・階調性を向上させることが可能となる。
【００７８】
なお，上記実施の形態１〜４において，大ドットが出力し始める入力値（第１〜第３の実施の形態では「１２４」，第４の実施の形態では「６５」）は，その階調レベル付近で急激な粒状性・階調性の変化が生じることのないような値とすることが望ましく，その値は対象となる出力装置を用いた実験によって決定することが可能である。
【００７９】
また，上記実施の形態１〜４においては，ブルーノイズ特性を有するディザマスクの作成方法について述べたが，ブルーノイズ特性以外の非周期的な特性（例えばランダムノイズ特性）を有するディザマスクも同様の方法で作成が可能である。
【００８０】
また，上記実施の形態１〜４においては，画像データを，３値（ドットＯＦＦ／小ドット／大ドット）に量子化する場合について説明したが，４値以上に量子化する場合にも同様の方法で閾値マトリクスを作成することが可能である。
【００８１】
（画像処理システムの構成）
図１６は，上記したディザマスクの作成や作成したディザマスクを用いてディザ処理等を行うための画像処理システム（画像処理装置）の一例を示す図である。同図に示す画像処理システムは、データを入力するための入力部１１と，表示部１３と，データ通信をおこなうためのデータ通信部１２と，装置全体の制御を司るＣＰＵ１４と，ＣＰＵ１４のワークエリアとして使用されるＲＡＭ１５と，記録媒体１７のデータのリード／ライトを行う記録媒体アクセス装置１６と，ＣＰＵ１４を動作させるための各種プログラム等を記憶した記録媒体１７と，画像データを入力するための画像入力部１８と，画像データ等を紙に印字出力するための印字出力部１９とから構成されている。
【００８２】
ＣＰＵ１４は，記録媒体１７に格納されているプログラムに従って各種処理を行うと共に，装置全体を制御する中央制御ユニットであり，入力部１１，表示部１３，データ通信部１２，ＲＡＭ１５，記録媒体アクセス装置１６，画像入力部１８，印字出力部１９が接続されており，データ通信，メモリへのアクセスによるプログラムの読み出しや各種データのリード／ライト，データ／コマンド入力，表示等を制御する。ＲＡＭ１５は，指定されたプログラム，入力指示，入力データ及び処理結果等を格納し，ＣＰＵ１４のワークメモリとして使用される。
【００８３】
上記記録媒体１７は，ＣＰＵ１４が実行可能なＯＳプログラム１７ａ，画像データを画像入力部１８によって取り込むための画像入力プログラム１７ｂ，上述したディザマスクを作成するためのディザマスク作成プログラム１７ｃ，ディザマスク作成プログラム１７ｃで作成したディザマスクを使用して，画像データに対してディザ処理を行ったり，他の画像処理を行うための画像処理プログラム１７ｄ等の各種プログラム，ディザマスク作成プログラム１７ｃで作成したディザマスク１７ｅや，各種データ等を格納する。ＣＰＵ１４は，ディザマスク作成プログラム１７ｃに従って，上述したディザマスクの作成を行い，作成したディザマスクを記録媒体１７に格納する。また，ＣＰＵ１４は，画像処理プログラム１７ｄに従って，作成されたディザマスク１７ｅを使用して画像データに対してディザ処理を実行する。
【００８４】
記録媒体１７としては，例えば，フロッピー（Ｒ）ディスク，ハードディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＭＯやＰＣカード等の光学的・磁気的・電気的な記録媒体から成る。上記各種プログラムは，予め記録媒体に記録されている場合や通信回線を介してダウンロードされて記録媒体に格納される場合等がある。また，上記各種プログラムは通信回線を介して配信可能である。
【００８５】
印字出力部１９は，電子写真方式やインクジェット方式のプリンタエンジンを備えており，画像処理が施された画像データ等を紙に印字出力する。
【００８６】
なお，本発明は，上記した実施の形態に限定されるものではなく，発明の要旨を変更しない範囲で適宜変形して実行可能である。
【発明の効果】
以上説明したように，本発明に係るディザマスク作成方法によれば，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換するための（Ｍ−１）個のディザマスクを作成するディザマスク作成方法において，ディザマスクに，非周期性を形成するとともに，画像データの特定の入力値に対して，最小出力レベル「０」および最大出力レベル「Ｍ−１」を除いた特定の出力レベルだけが出力されることがないようにその閾値を設定することとしたので，ディザマスクを使用して，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する際に，擬似輪郭の発生を防止することが可能なディザマスク作成方法を提供することが可能となる。
【００８７】
また，本発明に係るディザマスク作成方法によれば，ブルーノイズ特性を有するディザマスクを作成して非周期性を具備させることとしたので，簡単な方法でディザマスクに非周期性を形成することが可能となる。
【００８８】
また，本発明に係るディザマスク作成方法によれば，画像データの特定範囲の入力値に対して，少なくとも異なる３つの出力レベルが出力されるように，ディザマスクの閾値を設定することとしたので，画像データの特定範囲の入力値による擬似輪郭の発生を防止することが可能となる。
【００８９】
また，本発明に係るディザマスク作成方法によれば，特定範囲の入力値は，（Ｎ／（Ｍ−１））×Ｃ（但し，１≦Ｃ≦（Ｍ−２）の整数）の近傍であることとしたので，（Ｎ／（Ｍ−１））×Ｃの近傍の入力値による疑似輪郭の発生を防止することが可能となる。
【００９０】
また，本発明に係るディザマスク作成方法によれば，画像データが特定の入力値以上の場合に中間レベルの出力を抑制するように，ディザマスクの閾値を設定することとしたので，小ドットの増加による濃度ムラや階調つぶれを防止して，画像の安定性・階調性を向上させることが可能となる。
【００９１】
また，本発明に係るディザマスク作成方法によれば，ブルーノイズ特性を有する初期ディザマスクを，特定範囲の閾値を所定規則に基づいて変更してディザマスクを作成することとしたので，簡易な方法で所望のディザマスクを作成することが可能となる。
【００９２】
また，本発明に係るディザマスク作成方法によれば，出力レベルＬ（０≦Ｌ≦（Ｍ−２））のオン／オフを決定するディザマスクの閾値に基づいて，出力レベル（Ｌ＋１）のオン／オフを決定するディザマスクの閾値を設定することとしたので，請求項１〜請求項６のいずれか１つにかかる発明の効果に加えて，出力レベル（Ｌ＋１）のオン／オフを決定するディザマスクを簡易に作成することが可能となる。
【００９３】
また，本発明に係る画像処理装置によれば，本発明のディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換することとしたので，ディザマスクを使用して，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する際に，擬似輪郭の発生を防止することが可能な画像処理装置を提供することが可能となる。
【００９４】
また，本発明に係るコンピュータが実行するためのプログラムによれば，コンピュータでプログラムを実行することにより，本発明に係るディザマスク作成方法で作成されたディザマスクを使用して，Ｎ値の入力画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換することとしたので，ディザマスクを使用して，Ｎ値の画像データをＭ値（２＜Ｍ＜Ｎ）の画像データに変換する際に，擬似輪郭の発生を防止することが可能なコンピュータが実行するためのプログラムを提供することが可能となる。
【図面の簡単な説明】
【図１】  実施の形態１にかかるディザマスク作成方法を説明するためのフローチャートである。
【図２】  小ドット用マスクの閾値の変更を説明するための説明図である。
【図３】  大ドット用マスクの閾値の変更を説明するための説明図である。
【図４】  ３値化結果を説明するための模式図である。
【図５】  実施の形態２にかかるディザマスク作成方法を説明するためのフローチャートである。
【図６】  小ドット用マスクの閾値の変更を説明するための説明図である。
【図７】  大ドット用マスクの閾値の変更を説明するための説明図である。
【図８】  ３値化結果を説明するための模式図である。
【図９】  実施の形態３にかかるディザマスク作成方法を説明するためのフローチャートである。
【図１０】  ３値化結果を説明するための模式図である。
【図１１】  大ドット用マスク（Ｍａｓｋ２）の閾値（１２８−Ｔ）〜１２８を，小ドット用マスク（Ｍａｓｋ１）の閾値１２９〜（１２９＋Ｔ）の画素の隣接画素（例えば右側の画素）に配置した場合の３値化結果を説明するための模式図である。
【図１２】  実施の形態４にかかるディザマスク作成方法を説明するためのフローチャートである。
【図１３】  図１３は，小ドット用マスクの閾値の変更を説明するための説明図である。
【図１４】  図１４は，大ドット用マスクの閾値の変更を説明するための説明図である。
【図１５】  ３値化結果を説明するための模式図である。
【図１６】  画像処理システムの一例を示す図である。
【図１７】  多値ディザ法の原理を説明するための説明図である。
【図１８】  疑似輪郭の発生原因を説明するための模式図である。
【符号の説明】
１１    入力部
１２    データ通信部
１３    表示部
１４    ＣＰＵ
１５    ＲＡＭ
１６    記録媒体アクセス装置
１７    記録媒体
１８    画像入力部
１９    印字出力部
【図１】
0004059701.tif 000002
【図２】
0004059701.tif 000003
【図３】
0004059701.tif 000004
【図４】
0004059701.tif 000005
【図５】
0004059701.tif 000006
【図６】
0004059701.tif 000007
【図７】
0004059701.tif 000008
【図８】
0004059701.tif 000009
【図９】
0004059701.tif 000010
【図１０】
0004059701.tif 000011
【図１１】
0004059701.tif 000012
【図１２】
0004059701.tif 000013
【図１３】
0004059701.tif 000014
【図１４】
0004059701.tif 000015
【図１５】
0004059701.tif 000016
【図１６】
0004059701.tif 000017
【図１７】
0004059701.tif 000018
【図１８】
0004059701.tif 000019