(57)【特許請求の範囲】
【請求項１】
所定のマトリクスパターンを用いて、画像データに対して組織的ディザリングを行なうディザリング手段と、
前記組織的ディザリングにおける全ての階調のマトリクスパターンについて、ドットラインのドットの配列方向と直交する方向に、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを設定する設定手段と、
前記ディザリング手段により組織的ディザリングされた前記画像データの１ドットラインごとに、黒ドット数の全ドット数に対する割合を算出する算出手段と、
前記割合が予め定められた閾値以上であるドットラインが存在するか否かを判断する判断手段と、
前記判断手段により、前記割合が予め定められた閾値以上であるドットラインが存在すると判断された場合に、当該存在すると判断されたドットラインの前記割合が前記閾値未満となるように、当該存在すると判断されたドットラインを含む１以上のマトリクスパターンのうち少なくとも１つのマトリクスパターンを、前記設定手段で設定されたシフトマトリクスパターンの何れかに置換する置換手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記マトリクスパターンはＮ×Ｎドット（Ｎは２以上の整数）であり、
前記置換手段は、
前記存在すると判断されたドットラインを含む１以上のマトリクスパターンにおいて、Ｎ・ｄ＋ｎ番目のマトリクスパターンを、前記直交する方向にｎ−１ドットライン巡回シフトさせたシフトマトリクスパターンに置換し、
ｄは、０以上［Ａ／Ｎ２］以下を満たす変数かつ整数であり、Ａは前記組織的ディザリングが行なわれた画像データのドットライン方向の全ドット数であり、［α］はαを超えない最大の整数であり、ｎは１以上Ｎ以下を満たす変数かつ整数であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを作成する作成手段を有し、
前記設定手段は、前記作成手段に作成されたシフトマトリクスパターンを設定することを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを記憶する記憶手段を有し、
前記設定手段は、前記記憶手段に記憶されたシフトマトリクスパターンを設定することを特徴とする請求項１または２記載の画像処理装置。
【請求項５】
所定のマトリクスパターンを用いて、画像データに対して組織的ディザリングを行なうディザリング工程と、
前記組織的ディザリングにおける全ての階調のマトリクスパターンについて、ドットラインのドットの配列方向と直交する方向に、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを設定する設定工程と、
前記ディザリング工程により組織的ディザリングされた前記画像データの１ドットラインごとに、黒ドット数の全ドット数に対する割合を算出する算出工程と、
前記割合が予め定められた閾値以上であるドットラインが存在するか否かを判断する判断工程と、
前記判断工程により、前記割合が予め定められた閾値以上であるドットラインが存在すると判断された場合に、当該存在すると判断されたドットラインの前記割合が前記閾値未満となるように、当該存在すると判断されたドットラインを含む１以上のマトリクスパターンのうち少なくとも１つのマトリクスパターンを、前記設定工程で設定されたシフトマトリクスパターンの何れかに置換する置換工程と、を有することを特徴とする画像処理方法。
【請求項６】
前記マトリクスパターンはＮ×Ｎドット（Ｎは２以上の整数）であり、
前記置換工程は、
前記存在すると判断されたドットラインを含む１以上のマトリクスパターンにおいて、Ｎ・ｄ＋ｎ番目のマトリクスパターンを、前記直交する方向にｎ−１ドットライン巡回シフトさせたシフトマトリクスパターンに置換し、
ｄは、０以上［Ａ／Ｎ２］以下を満たす変数かつ整数であり、Ａは前記組織的ディザリングが行なわれた画像データのドットライン方向の全ドット数であり、［α］はαを超えない最大の整数であり、ｎは１以上Ｎ以下を満たす変数かつ整数であることを特徴とする請求項５記載の画像処理方法。
【請求項７】
１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを作成する作成工程を有し、
前記設定工程は、前記作成工程に作成されたシフトマトリクスパターンを設定することを特徴とする請求項５または６記載の画像処理方法。
【請求項８】
前記設定工程は、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを記憶する記憶手段に記憶されたシフトマトリクスパターンを設定することを特徴とする請求項５または６記載の画像処理方法。
【請求項９】
コンピュータを、
所定のマトリクスパターンを用いて、画像データに対して組織的ディザリングを行なうディザリング手段と、
前記組織的ディザリングにおける全ての階調のマトリクスパターンについて、ドットラインのドットの配列方向と直交する方向に、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを設定する設定手段と、
前記ディザリング手段により組織的ディザリングされた前記画像データの１ドットラインごとに、黒ドット数の全ドット数に対する割合を算出する算出手段と、
前記割合が予め定められた閾値以上であるドットラインが存在するか否かを判断する判断手段と、
前記判断手段により、前記割合が予め定められた閾値以上であるドットラインが存在すると判断された場合に、当該存在すると判断されたドットラインの前記割合が前記閾値未満となるように、当該存在すると判断されたドットラインを含む１以上のマトリクスパターンのうち少なくとも１つのマトリクスパターンを、前記設定手段で設定されたシフトマトリクスパターンの何れかに置換する置換手段と、して機能させることを特徴とする画像処理プログラム。
【請求項１０】
前記マトリクスパターンはＮ×Ｎドット（Ｎは２以上の整数）であり、
前記置換手段は、
前記存在すると判断されたドットラインを含む１以上のマトリクスパターンにおいて、Ｎ・ｄ＋ｎ番目のマトリクスパターンを、前記直交する方向にｎ−１ドットライン巡回シフトさせたシフトマトリクスパターンに置換し、
ｄは、０以上［Ａ／Ｎ２］以下を満たす変数かつ整数であり、Ａは前記組織的ディザリングが行なわれた画像データのドットライン方向の全ドット数であり、［α］はαを超えない最大の整数であり、ｎは１以上Ｎ以下を満たす変数かつ整数であることを特徴とする請求項９記載の画像処理プログラム。
【請求項１１】
１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを作成する作成手段を有し、
前記設定手段は、前記作成手段に作成されたシフトマトリクスパターンを設定することを特徴とする請求項９または１０記載の画像処理プログラム。
【請求項１２】
前記設定手段は、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを記憶する記憶手段に記憶されたシフトマトリクスパターンを設定することを特徴とする請求項９または１０記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、カラーの画像データに対して、組織的ディザリング処理を行い、モノクロの画像データに変換する画像処理装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１２６６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の組織的ディザリング手法では、プリンタヘッドの１ドットラインあたりの印字率が、高くなると、プリンタ側で電源電圧ドロップなどの異常を引き起こす場合がある。電源電圧ドロップが生じると、印刷物の品質低下やプリンタの故障などに繋がる場合がある。
【０００５】
そこで、プリンタ側で電源電圧ドロップなどの異常が生じ難くする画像処理装置、画像処理方法、画像処理プログラムを提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、所定のマトリクスパターンを用いて、画像データに対して組織的ディザリングを行なうディザリング手段と、前記組織的ディザリングにおける全ての階調のマトリクスパターンについて、ドットラインのドットの配列方向と直交する方向に、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンそれぞれを設定する設定手段と、前記ディザリング手段により組織的ディザリングされた前記画像データの１ドットラインごとに、黒ドットの全ドット数に対する割合を算出する算出手段と、前記割合が予め定められた閾値以上であるドットラインが存在するか否かを判断する判断手段と、前記存在すると判断されたドットラインの前記割合が前記閾値未満となるように、前記存在すると判断されたドットラインを含む１以上のマトリクスパターンのうち少なくとも１つのマトリクスパターンを、前記設定手段で設定されたシフトマトリクスパターンの何れかに置換する置換手段と、を有することを特徴とする画像処理装置を提供する。
【発明の効果】
【０００７】
本発明の画像処理装置、画像処理方法、画像処理プログラムであれば、プリンタ側で電源電圧ドロップなどの異常を生じ難くできる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の画像処理システム。
【図２】マトリクスパターンの全ての階調を示した図。
【図３】組織的ディザリングを説明するための図。
【図４】印字率を説明するための図。
【図５】巡回シフトを説明するための図。
【図６】シフトマトリクスパターンを説明するための図。
【図７】４個連続しているマトリクスパターンの一例を示す図。
【図８】４個連続しているマトリクスパターンをシフトマトリクスパターンに置換したことを示す図。
【図９】本実施形態の画像処理装置の機能構成例を示す図。
【図１０】本実施例の画像処理装置の処理フローを示す図。
【図１１】ディザリング処理後の画像データの一例を示す図。
【図１２】１ドットラインを示す図。
【図１３】置換処理の処理フローの一例を示す図。
【図１４】連続しているマトリクスパターンをシフトマトリクスパターンに置換したことを示す図。
【図１５】連続しているマトリクスパターンをシフトマトリクスパターンに置換したことを具体的に示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明を実施するための形態の説明を行う。なお、同じ機能を持つ構成部や同じ処理を行う過程には同じ番号を付し、重複説明を省略する。
［実施形態１］
＜画像処理システムについて＞
図１に、本実施例の画像処理システムの機能構成例を示す。図１の例では、大略して、情報処理装置５０とプリンタ２０とで構成されている。情報処理装置２０とは、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレットなど、の情報処理を行なう装置である。
【００１０】
図１に示す情報処理装置５０にはアプリケーション１と画像処理プログラム１００がインストールされている。画像処理プログラム１００はプリンタドライバとしてもよい。画像処理プログラムの設定情報を元に、作成手段２は、メモリ６に描画領域（デバイスコンテキスト）を作成する。ここで、設定情報とは、ユーザにより設定されるものや、予めっ設定されるものがある。例えば、デバイスモード（例えば、用紙サイズや解像度など）や、画像データ形式の変換方法や、プリンタ２０の制御コマンド設定や、当該制御コマンドの実行タイミングなどである。
【００１１】
次に、描画手段４は、作成されたメモリ６の描画領域に、画像データを描画する。ここで、画像データとは、例えば、文字、図形、イメージなどである。描画手段４の描画処理が終了すると、呼び出し手段８は、画像処理プログラム１００を呼び出す。
【００１２】
画像処理プログラム１００は、アプリケーション１が作成したカラーの画像データに対して、画像処理を行なうことにより、モノクロのビットイメージデータに変換する。画像処理プログラム１００の画像処理の内容については、後述する。
【００１３】
画像処理装置プログラム１００は、必要に応じて、当該ビットイメージデータについてのプリンタ制御コマンドを付加して、プリンタ２０が処理可能なデータ形式に変換する。画像処理プログラム１００は、変換されたプリンタ制御コマンドをインターフェース１０経由で、プリンタ２０に、有線または無線で送信する。
【００１４】
プリンタ２０は、搬送手段２４が、用紙を所定距離、搬送させ、当該所定距離搬送後、印刷手段２２が印刷を行なう。この用紙搬送処理、印刷処理を繰り返しながら、印刷物を作成する。
【００１５】
また、搬送手段２４による用紙の搬送方向を副走査方向とし、当該副走査方向と直交する方向を主走査方向とする。印刷手段２２は、ドットライン単位（例えば、１ドットライン）で印刷を行なう。ここで、ドットラインとは、主走査方向のドットのラインをいう。
【００１６】
また、図１では、情報処理装置５０に画像処理プログラム１００をインストールした例を示した。その他の例として、画像処理プログラム１００の機能を実行する画像処理装置を、情報処理装置５０に組み込ませて実施しても良い。
＜組織的ディザリングについて＞
次に、組織的ディザリングについて簡単に説明する。組織的ディザリングには、Ｎ×Ｎ（Ｎは２以上の整数）のマトリクスパターン（ディザマトリクスともいう。）を用いる。当該マトリクスパターンには、ベイヤー（Ｂａｙｅｒ）型、渦巻き型、網点型など様々な型がある。組織的ディザリングを行なうことで、ドットの密度の異なるマトリクスパターンに置換することにより、多くの階調を表現することが出来、結果として画像の濃淡を鮮明に表現できる。
【００１７】
以下では、マトリクスパターンとして、４×４のベイヤー型のマトリクスパターンを用いるとする。４×４のマトリクスパターンを用いることにより、２値画像でありながら、１７階調を表現することが出来る。
【００１８】
図２に、ベイヤー型のマトリクスパターンを用いた場合の、１７階調（０〜１６階調）のパターンについて示す。このように、ベイヤー型のマトリクスパターンを用いることにより、２値画像データ（白ドットと黒ドット）でありながら、１７階調を表現することが出来る。
【００１９】
図３に、カラー画像データ（ディザリング処理が行なわれる前の元画像データ）の一例を模式的に示す。図３では、１つの格子を１ドットとする。そして、４×４のマトリクスパターンを用いて、ディザリング処理を行なう場合には、ディザリング手段２０４（図９参照）は、画像データの全ドットを４×４のブロックに分割する。図３では、ブロックを太線で示す。
【００２０】
そして、ディザリング手段２０４は、１ブロックずつ、当該１ブロックの階調に応じた、０〜１６階調の何れかのマトリクスパターン（図２参照）に置換する。このように置換することにより、元画像データであるカラー画像データから、１７階調のモノクロ画像データに変換することが出来る。
＜印字率について＞
次に、印字率について説明する。図４（Ａ）、（Ｂ）、（Ｃ）にそれぞれ階調が９、１１、１３のブロックを示す。また、印字率とは、各ドットラインにおいて、黒ドット数の、全ドット数に対する割合をいう。
【００２１】
例えば、図４（Ａ）に示す階調９の最上のドットラインａについては、全ドット数が「４」であり、黒ドット数が「３」であることから、印字率は、７５％（または０．７５）となる。図４（Ａ）〜（Ｃ）には、他のドットラインについての印字率を示す。また、「印字率」を「割合」ともいう。
＜巡回シフト処理について＞
本実施例の画像処理装置では、全ての階調のマトリクスパターンについて、１ドットラインずつ、巡回シフトさせたマトリクスパターン（以下、「シフトマトリクスパターン」という。）を用いる。
【００２２】
図５に階調９のマトリクスパターンを巡回シフトさせる例を説明する。図５（Ａ）は巡回シフトさせる前のマトリクスパターンである。そして、図５（Ｂ）に示すように、当該マトリクスパターンを１ドットラインのドットの配列方向αを直交する方向βにシフトさせる。図５（Ｂ）では、下方向にシフトさせる。その他の例として上方向に１ドットラインをシフトさせるようにしてもよい。
【００２３】
そうすると、図５（Ｂ）に示すように、破線で囲む１ドットラインｂがオーバーフローする。巡回シフト処理では、図５（Ｃ）に示すように、当該オーバーフローしたドットラインｂを、当該ドットラインｂが存在していた位置ｃ（（図５（Ａ）参照）とは反対側の位置に、移動させる。このようにすることで、適切に、巡回シフト処理を行なうことができる。
【００２４】
図６に、全ての階調（階調０〜階調１６）について、１ドットラインずつ巡回シフトさせたシフトマトリクスパターンを示す。図６（Ａ）は、０ドットライン巡回シフトさせたシフトマトリクスパターンである（つまり元のマトリクスパターンと同一である）。図６（Ｂ）は、１ドットライン巡回シフトさせたシフトマトリクスパターンである。図６（Ｃ）は、２ドットライン巡回シフトさせたシフトマトリクスパターンであり、図６（Ｄ）は、３ドットライン巡回シフトさせたシフトマトリクスパターンである。
【００２５】
以下では、階調ｋ（ｋ＝０〜Ｎ２を満たす整数）のマトリクスパターンについて、ｓ（ｓ＝Ｎ−１）ドットライン、巡回シフトさせたシフトマトリクスパターンをＰｓ（ｋ）とする。例えば、図６のＥに示すシフトマトリクスパターンは、階調６であり、２ドットラインシフトさせたものであるから、Ｐ２（６）と示す。また、ｓ＝０の場合には、巡回シフトさせていないことから、マトリクスパターンＰ０（ｋ）ともいう。
【００２６】
本実施例では、図６に示すように、全ての階調の、Ｎ×Ｎのマトリクスパターンにおいて、０〜Ｎ−１ドットラインずつシフトさせたシフトマトリクスパターンＰｓ（ｋ）それぞれを用いる。ただし、ｓは０以上Ｎ−１以下を満たす整数かつ変数とする。
＜印字率とシフトマトリクスパターンの関係について＞
次に、印字率とシフトマトリクスパターンの関係について説明する。図７に、４個連続している、階調１１のマトリクスパターンＰ０（１１）を示す。図７において、１ドットライン目の印字率は１００％となり、２ドットライン目の印字率は５０％となり、３ドットライン目の印字率は７５％となり、４ドットライン目の印字率は５０％となる。
【００２７】
また、本実施例では、各ドットラインの印字率について、予め定められた閾値Ｔｈを用いる。印字率が閾値Ｔｈ以上であるドットラインについては、プリンタ２０側で電源電圧ドロップが生じる可能性がある。以下では、閾値Ｔｈ＝７５％とする。
【００２８】
そうすると、図７の例では、階調９の１ドットライン目と３ドットライン目の印字率が閾値以上であることから、プリンタ２０側で電源電圧ドロップを引き起こす可能性がある。そこで、図８のように、マトリクスパターンをシフトマトリクスパターンに置換する。
【００２９】
図８の例では、１番目のマトリクスパターンＰ０（１１）については置換しない。２番目のマトリクスパターンＰ０（１１）→Ｐ１（１１）に置換する。３番目のマトリクスパターンＰ０（１１）→Ｐ２（１１）に置換する。４番目のマトリクスパターンＰ０（１１）→Ｐ３（１１）に置換する。
【００３０】
このように置換することにより、全てのドットラインについての印字率が６８．７５％となり、全てのドットラインについて、閾値未満とすることが出来る。
＜全体的な処理の流れ＞
次に、全体的な処理の流れについて説明する。図９に、本実施形態の画像処理プログラム１００の機能構成例をブロック図で示し、図１０に画像処理プログラム１００の主な処理の流れについて示す。
【００３１】
アプリケーション１（図１参照）から元画像データであるカラー画像データが、入力手段２０２に入力されると、図１０の処理が開始される。まず、ステップＳ２では、設定手段２０６は、組織的ディザリングにおける全ての階調のマトリクスパターンについて、１ドットラインずつ、方向β（図５（Ａ）参照）に巡回シフトさせたシフトマトリクスパターンＰｓ（ｋ）それぞれを設定する。ただし、ｓ＝０，．．．，Ｎ−１とし、ｋ＝１，．．．，Ｎ２となる。
【００３２】
ここで、設定手段２０６により設定されるシフトマトリクスパターンは、図６に示す６４個（＝Ｎ３個）のマトリクスパターンである。なお、階調０のマトリクスパターンも考慮すると、マトリクスパターンの数は６５個となる。
【００３３】
また、設定手段２０６の設定手法として、本実施形態では、２つの手法がある。第１の手法として、作成手段２１６が、Ｐ０（ｋ）を用いて、当該Ｐ０（ｋ）１ドットラインずつ方向βに巡回シフトさせて、シフトマトリクスパターンを作成する。そして、設定手段２０６は、当該作成手段２１６が作成した全てのシフトマトリクスパターンＰｓ（ｋ）を設定する。
【００３４】
また、第２の手法として、予め、全てのシフトマトリクスパターンＰｓ（ｋ）を記憶手段２１８に記憶させておく。そして、設定手段２０６が、記憶手段２１８に記憶されている全てのシフトマトリクスパターンＰｓ（ｋ）を呼び出し、設定する。
【００３５】
図９の例では、作成手段２１６および記憶手段２１８を記載しているが、作成手段２１６および記憶手段２１８のうち、どちらか一方を具備させればよい。
【００３６】
次に、ディザリング手段２０４が、組織的ディザリング処理を行なう。組織的ディザリングについては、図３で説明したとおりである。図１１にディザリング手段２０４により組織的ディザリングが施された画像データを模式的に示す。
【００３７】
図１１では、１つのマトリクスパターンについては太線で囲っており、１つのドットについては細線で囲っている。また、図１１に示すように、行方向（ドットラインのドットの配列方向）に配列されているマトリクスパターンの数をＪ個（Ｊは２以上の整数）とする。また、行方向の全ドット数をＡ個とする。つまり、Ａ＝４Ｊとなる。
【００３８】
また、列方向（行方向と直交する方向）に配列されているマトリクスパターンの数をＩ個（Ｉは２以上の整数）とする。また、列方向の全ドット数をＢ個とする。つまりＢ＝４Ｉとする。また、以下の説明では、「行」および「列」とは、１つのマトリクスパターンについてのものである。
【００３９】
次に、制御手段２２０は、パターン判定行ｉ（ｉ＝１，．．．，Ｉとなる整数かつ変数）を「１」と設定する。ここで、パターン判定行、パターン列についての番号は、原点のマトリクスパターンから計測されるものとする。図１１の例では、原点のマトリクスパターンは左上に位置するマトリクスパターンＦとする。
【００４０】
次に、ステップＳ８において、制御手段２２０は、パターン列ｊ＝１とする。次に、ステップＳ１０において、制御手段２２０は、パターン判定行ｉ＝Ｉであるか、つまり、パターン判定行ｉが、最終行Ｉに到達したか否かを判断する。ここでは、未だ、Ｉ＝ｉに到達していないことから、ステップＳ１０ではＮｏと判断され、ステップＳ１２に移行する。
【００４１】
次に、ステップＳ１２において、制御手段２２０は、パターン列ｊ＝Ｊになったか、つまり、パターン列ｊが、最終列Ｊに到達したか否かを判断する。ここでは、未だ、ｊ＝Ｊに到達していないことから、ステップＳ１２ではＮｏと判断される。
【００４２】
次に、ステップＳ１４において、算出手段２０８は、１〜Ｎ（ここでは、１〜４）ドットラインそれぞれの黒ドット数を算出する。ここでは、ｉ＝１、ｊ＝１となるマトリクスパターンの１〜４ドットラインそれぞれの黒ドットを算出する。
【００４３】
次に、ステップＳ１６において、制御手段２２０は、パターン列ｊを「１」インクリメントし、つまり、ｊ＝２とし、ステップＳ１２の処理に戻る。ステップＳ１２の処理を経て、ステップＳ１４の処理では、算出手段２０８は、１〜Ｎ（ここでは、１〜４）ドットラインそれぞれの黒ドット数を算出する。ここで、算出手段２０８は、過去に算出した黒ドット数に、今回算出した黒ドット数を加算する。つまり、算出手段２０８は、累積算出を行なう。
【００４４】
このように、ステップＳ１２、Ｓ１４、Ｓ１６の処理を繰り返すことにより、図１２に示すように、パターン判定行ｉ＝１のマトリクスパターンの１〜４ドットラインそれぞれの黒ドット合計数を算出することが出来る。なお、ステップＳ１２〜Ｓ１６の時点では、シフトマトリクスパターンに置換されていないことから、図１２に示す全てのマトリクスパターンについては、Ｐ０（ｋ）となる。図１２の記載では、Ｐ０（ｋ）の「（ｋ）」を省略して記載している。
【００４５】
次に、ステップＳ１８において、算出手段２０８は、１〜Ｎ（＝４）ドットラインごとに印字率を算出する。また、行方向ｊ番目のマトリクスパターンのｎ（ｎ＝１，．．．，Ｎを満たす整数）ドットライン目の黒ドットの数をＤ［ｊ］［ｎ］とすると、１〜４ドットラインそれぞれの印字率は以下の式（１）で表すことができる。
【００４６】
【数１】
0005838087.tif 000002
【００４７】
そして、ステップＳ２０において、判断手段２１０は、１〜Ｎ（＝４）ドットラインごとに、印字率が予め定められた閾値（例えば、７５％）以上であるか否かを判断する。更に、判断手段２１０は、閾値以上であるドットライン（以下、「閾値以上ドットライン」という。）が１以上存在するか否かを判断する。また、閾値以上ドットラインを含むマトリクスパターンの行を「閾値以上マトリクスパターン行」という。閾値以上マトリクスパターン行は１以上のマトリクスパターンで構成される。
【００４８】
判断手段２１０が、閾値以上ドットラインが存在しないと判断すると（ステップＳ２０のＮｏ）、ステップＳ２４に移行する。ステップＳ２０でＮｏと判断された場合というのは、パターン判定行において、プリンタ２０の電源電圧ドロップを生じさせ得るドットラインが存在しないということである。ステップＳ２４では、パターン判定行ｉを「１」インクリメントし、ステップＳ８に戻る。
【００４９】
一方、判断手段２１０が、閾値以上ドットラインが存在すると判断すると（ステップＳ２０のＹｅｓ）、ステップＳ２２に移行する。閾値以上ドットラインが存在する場合には、プリンタ２０の電源電圧ドロップを生じさせる可能性があるので、電源電圧ドロップを回避するために、次のステップＳ２２で、置換手段２１２が置換処理を行なう。ステップＳ２２の処理については後述する。
【００５０】
そして、ステップＳ１０で、制御手段２２０によりＩ＝ｉであると判断される（ステップＳ１０のＹｅｓ）、つまり、全ての行である１〜Ｊ行についてのステップＳ１０〜Ｓ２２の処理が終了すると、処理を終了させる。
＜置換処理について＞
次に、ステップＳ２２の置換処理の好適な例について説明する。置換手段２１２は、閾値以上ドットラインの印字率が閾値未満となるように、閾値以上マトリクスパターン行を構成する１以上のマトリクスパターンのうち、少なくとも１つを、設定手段２０６で設定されたシフトマトリクスパターンで置換する。この置換処理により、印字率の高いドットラインを分散させることが出来、結果として、閾値以上ドットラインの印字率を低下させることが出来る。
【００５１】
図１３に、ステップＳ２２の置換処理の一例を示す。また、図１２に示す１行目のマトリクスパターンの１〜４ドットラインのうち、少なくとも１つのドットラインの印字率が閾値Ｔｈ以上になったとする（ステップＳ２０のＹｅｓ）。この場合には、当該１行目のマトリクスパターン（つまり、閾値以上マトリクスパターン行）に対して、置換処理を行なう。そして、当該閾値以上マトリクスパターン行に対して、図１３の処理を行なうと、図１４に示すようなマトリクスパターンとなる。
【００５２】
図１５（Ａ）に、図１３の閾値以上マトリクスパターン行の具体例を示す。図１５（Ａ）の例では、全てのマトリクスパターンの階調が１１であるとする。図１５（Ａ）の例では、１ドットラインの印字率は１００％であり、３ドットラインの印字率は７５％であり、閾値Ｔｈ（＝７５％）以上となる。
【００５３】
そして、図１３に示す置換処理を行なうことにより、図１５（Ａ）に示すマトリクスパターンから、図１５（Ｂ）のマトリクスパターンとなる。図１５（Ｂ）に示すように、全てのドットラインの印字率が６８．７５％となり、全てのドットラインについて閾値Ｔｈ（＝７５％）未満とすることが出来る。
【００５４】
図１３の処理を、図１２、図１４、図１５の図を用いながら説明する。まず、ステップＳ５２において、制御手段２２０は、シフト数ｓ＝０と設定する。次に、ステップＳ５４において、制御手段２２０は、ｊ＝１と設定する。次に、ステップＳ５６において、制御手段２２０は、ｊ＝Ｊであるか否かを判断する。
【００５５】
ここで、ｊ＝１であるので、ステップＳ５６ではＮｏと判断され、ステップＳ５８に移行する。次に、置換手段２１２は、Ｐ０（ｋ）をＰｓ（ｋ）に置換する。ここで、ｓ＝０であることから、Ｐ０（ｋ）をＰ０（ｋ）に置換することになるので、置換処理を行なわないようにしてもよい。
【００５６】
次に制御手段２２０は、ｓ＜Ｎ−１（＝３）であるか否かを判断する。ここでは、ｓ＝０であることから、Ｙｅｓと判断され、ステップＳ６０に移行する。ステップＳ６０では、判断手段２２０は、ｓを「１」インクリメントする（つまり、ｓ＝１となる）。
【００５７】
ステップＳ６４では、ｊの値を「１」インクリメントし（つまりｊ＝２となる）、ステップＳ５６に戻る。ステップＳ５６では、Ｎｏと判断され、再び、ステップＳ５８に移行する。
【００５８】
ステップＳ５８では、Ｐ０（ｋ）をＰｓ（ｋ）に置換する。ここで、ｓ＝１であることから、Ｐ０（ｋ）をＰ１（ｋ）に置換する。そして、ステップＳ５９、Ｓ６０、Ｓ６４の処理を行なう。そして、ステップＳ５９で、判断手段２２０が、ｓ＜Ｎ−１であると判断すると（ステップＳ５９のＮｏ）、ステップＳ６２に移行する。
【００５９】
ステップＳ６２では、判断手段２２０は、ｓの値を「０」にリセットして、ステップＳ６４に移行する。また、ステップＳ５６において、判断手段２２０が、ｊ＝Ｊであると判断すると（ステップＳ５６のＹｅｓ）、置換処理を終了させる。
【００６０】
また、図１３の置換処理を更に説明する。置換手段２１２は、閾値以上マトリクスパターン行において、Ｎ・ｄ＋ｎ番目のマトリクスパターンについては、β方向（図５参照）に、ｎ−１ドットライン、巡回シフトさせたシフトマトリクスパターンに置換する。
【００６１】
ここで、ｄは、０以上［Ａ／Ｎ２］以下を満たす変数かつ整数である。つまり、０，．．．，ｄ，．．．，［Ａ／Ｎ２］となる。［・］はガウス記号であり、つまり、［Ａ／Ｎ２］はＡ／Ｎ２を超えない最大の整数である。また、Ａは、図１１で説明したとおり画像データのドットライン方向の全ドット数である。、また、ｎは１以上Ｎ以下を満たす変数かつ整数である。つまり、１，．．．，ｎ，．．．，Ｎとなる。
【００６２】
また、４ドットライン全てにおいて、閾値Ｔｈ以上となる場合がある。この場合に、置換手段２１２が、置換処理を行なっても、印字率を低下させることは困難である。しかし、近傍のマトリクスパターンとのムラを抑える為に、当該４ドットラインを含むマトリクスパターンについて置換処理を行なう。
【００６３】
また、上記説明では、組織的ディザリングにおけるマトリクスパターンを、ベイヤー型であり、４×４型であるマトリクスパターンであるとして説明した。その他のマトリクスパターンとして、例えば、渦巻き型、網点型のマトリクスパターンを用いても良い。また、その他のマトリクスパターンとして、例えば、８×８型、１６×１６型のマトリクスパターンを用いても良い。
【００６４】
この実施形態の画像処理装置であれば、ディザリング手段２０４が画像データに対して、組織的ディザリングを行なった後に、算出手段２０８が、１ドットラインごとに印字率を算出する。また、設定手段２０６が、全ての階調のマトリクスパターンについて、シフトマトリクスパターンを設定する。置換手段２１２は、閾値以上ドットラインの印字率を低下させるように、閾値以上ドットラインを含む１以上のマトリクスパターンのうち少なくとも１つを、シフトマトリクスパターンに置換する。
【００６５】
従って、１ドットラインの印字率を低下させることが出来、結果としてプリンタ２０の電源電圧ドロップなどの異常を生じ難くすることが出来る。
【００６６】
また、図１３に示す置換処理を行なうことにより、更に適切に、１ドットラインの印字率を低下させることが出来る。
【符号の説明】
【００６７】
２        作成手段
４        描画手段
６        メモリ
８        呼び出し手段
１０      インターフェース
２０      プリンタ
２２      印刷手段
２４      搬送手段
１００    画像処理装置
２０２    入力手段
２０４    ディザリング手段
２０６    設定手段
２０８    算出手段
２１０    判断手段
２１２    置換手段
２１６    作成手段
２１８    記憶手段
２２０    制御手段
【図１】
0005838087.tif 000003
【図２】
0005838087.tif 000004
【図３】
0005838087.tif 000005
【図４】
0005838087.tif 000006
【図５】
0005838087.tif 000007
【図６】
0005838087.tif 000008
【図７】
0005838087.tif 000009
【図８】
0005838087.tif 000010
【図９】
0005838087.tif 000011
【図１０】
0005838087.tif 000012
【図１１】
0005838087.tif 000013
【図１２】
0005838087.tif 000014
【図１３】
0005838087.tif 000015
【図１４】
0005838087.tif 000016
【図１５】
0005838087.tif 000017