(57)【要約】【課題】メモリ使用量を節約しつつ、高速処理を実現可能な画像処理装置および画像処理プログラムを提供すること。【解決手段】２回目のハーフトーン処理の実行後の次開始位置候補６２は、付加パターン５６に含まれる。換言すれば、次開始位置候補６２が、ボーダライン５８を超える。よって、このような場合は、次開始位置候補６２から行方向先頭側に、サイクルディザパターン長分シフトした位置を、３回目のハーフトーン処理の開始位置として決定する。このようにすれば、３回目のハーフトーン処理の途中で、ディザテーブル５２の行方向末尾端に到達してしまうことがなく、ディザテーブル５２から閾値を確実に取得できる。【選択図】図７
2010057036.tif 000002
【特許請求の範囲】
【請求項１】
ディザテーブルに格納される閾値を用いたハーフトーン処理を実行することにより、入力画像を構成する画素毎の階調を表す多階調データを、その多階調データよりも低い階調数の疑似中間調データに変換する画像処理装置であって、
前記ディザテーブルは、ｎ列以上の閾値が行列状に配置されるサイクルディザパターンと、そのサイクルディザパターンの行方向先頭からｎ列分の閾値であって前記サイクルディザパターンの行方向末尾に配置される付加パターンと、からなる閾値群を格納するものであり、
前記サイクルディザパターンの行方向に並ぶ閾値の個数を表すサイクルディザパターン長を取得するサイクルディザパターン長取得手段と、
前記ディザテーブルに格納される閾値群のうち、行方向に連続するｎ個分の閾値を用いて、ｎ画素分の多階調データについて前記ハーフトーン処理を繰り返し実行するハーフトーン実行手段と、
そのハーフトーン実行手段によるハーフトーン処理の実行に用いられたｎ個分の閾値のうち行方向末尾端に位置する閾値の行方向末尾側に隣接する閾値の位置を次開始位置候補とする場合、その次開始位置候補が前記サイクルディザパターンと前記付加パターンとのいずれに含まれるかを判断する判断手段と、
その判断手段により前記次開始位置候補が前記サイクルディザパターンに含まれると判断される場合、その次開始位置候補を、次に実行するハーフトーン処理の開始位置として決定する第１開始位置決定手段と、
前記判断手段により前記次開始位置候補が前記付加パターンに含まれると判断される場合、その次開始位置候補から行方向先頭側に、サイクルディザパターン長分シフトした位置を、次に実行するハーフトーン処理の開始位置として決定する第２開始位置決定手段と、
前記第１開始位置決定手段または前記第２開始位置決定手段のいずれかにより開始位置が決定されると、その開始位置から行方向に連続するｎ個分の閾値を用いて、前記ハーフトーン実行手段によるハーフトーン処理の実行を繰り返す繰返手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記サイクルディザパターンの列数は、ｎの倍数以外の値であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記サイクルディザパターンは、ｎ列未満の閾値が行列状に配置される基本ディザパターンを、行方向に繰り返し配置した構成であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記サイクルディザパターンの列数は、前記基本ディザパターンの列数の整数倍であって且つｎ以上の整数のうち、最小の値に等しいことを特徴とする請求項３記載の画像処理装置。
【請求項５】
行数または列数が互いに異なる複数種類の基本ディザパターンの中から、いずれかを選択する選択手段と、
その選択手段により選択された基本ディザパターンにおいて行方向に並ぶ閾値の個数がｎ個未満である場合、基本ディザパターンを構成する閾値を、行毎に、行方向に繰り返し配置し、行方向の閾値数がｎ個以上となると、行方向先頭からｎ個分の閾値を、各行の行方向末尾に付加することにより、前記ディザテーブルを生成するディザテーブル生成手段とを備えることを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
ディザテーブルに格納される閾値を用いたハーフトーン処理を処理装置に実行させることにより、入力画像を構成する画素毎の階調を表す多階調データを、その多階調データよりも低い階調数の疑似中間調データに変換させる画像処理プログラムであって、
前記ディザテーブルは、ｎ列以上の閾値が行列状に配置されるサイクルディザパターンと、そのサイクルディザパターンの行方向先頭からｎ列分の閾値であって前記サイクルディザパターンの行方向末尾に配置される付加パターンと、からなる閾値群を格納するものであり、
前記サイクルディザパターンの行方向に並ぶ閾値の個数を表すサイクルディザパターン長を取得するサイクルディザパターン長取得手段と、
前記ディザテーブルに格納される閾値群のうち、行方向に連続するｎ個分の閾値を用いて、ｎ画素分の多階調データについて前記ハーフトーン処理を実行するハーフトーン実行手段と、
そのハーフトーン実行手段によるハーフトーン処理の実行に用いられたｎ個分の閾値のうち行方向末尾端に位置する閾値の行方向末尾側に隣接する閾値の位置を次開始位置候補とする場合、その次開始位置候補が前記サイクルディザパターンと前記付加パターンとのいずれに含まれるかを判断する判断手段と、
その判断手段により前記次開始位置候補が前記サイクルディザパターンに含まれると判断される場合、その次開始位置候補を、次に実行するハーフトーン処理の開始位置として決定する第１開始位置決定手段と、
前記判断手段により前記次開始位置候補が前記付加パターンに含まれると判断される場合、その次開始位置候補から行方向先頭側に、サイクルディザパターン長分シフトした位置を、次に実行するハーフトーン処理の開始位置として決定する第２開始位置決定手段と、
前記第１開始位置決定手段または前記第２開始位置決定手段のいずれかにより開始位置が決定されると、その開始位置から行方向に連続するｎ個分の閾値を用いて、前記ハーフトーン実行手段によるハーフトーン処理の実行を繰り返す繰返手段として、前記処理装置を機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【０００２】
ハーフトーン処理の一手法として知られているディザ法は、ディザパターンに定められる閾値を、入力画像中の画素の階調を表すデータと比較し、当該データが閾値より大であればドットオン（すなわち、インクやトナーなどを載せて着色する）に変換し、当該データが閾値以下であればドットオフ（すなわち、着色しない）に変換することにより、例えば２５６階調で表現されている入力画像データを、プリンタにより擬似的に表現することが可能な階調数のデータに変換するための処理である。
【０００３】
ハーフトーン処理後のデータが、ドットオンまたはドットオフの２値で表現される場合、１画素は１ビットで表すことができるから、ハーフトーン処理は、ＣＰＵが一度に扱えることのできるデータの単位容量に合わせ、例えば、８画素（８ビット）分ずつ実行される。
【０００４】
特許文献１には、ディザパターンの幅（すなわち行方向の閾値数）がｗであって、ハーフトーン処理の実行単位がｍの場合、ｗとｍの最小公倍数まで拡大したディザテーブルを生成し、そのディザテーブルを用いてハーフトーン処理を行う技術が開示されている。このようにすれば、ｍ画素ずつ処理を進めていく中で、ディザパターンの行方向末尾端に到達したか否かの判断処理は、ｍ画素毎に行えば良い。したがって、１画素毎にディザパターンの行方向末尾端か否かを判断する場合に比べて、処理速度を向上することができる。
【特許文献１】特開２００６−５０２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、ディザパターンの幅ｗと処理単位ｍとの組み合わせによっては最小公倍数が極めて大きな値となって、ディザテーブルのサイズが非常に大きくなってしまい、メモリ容量を圧迫するという問題点があった。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、メモリ使用量を節約しつつ、高速処理を実現可能な画像処理装置および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
この目的を達成するために、請求項１記載の画像処理装置は、ディザテーブルに格納される閾値を用いたハーフトーン処理を実行することにより、入力画像を構成する画素毎の階調を表す多階調データを、その多階調データよりも低い階調数の疑似中間調データに変換するものであって、前記ディザテーブルは、ｎ列以上の閾値が行列状に配置されるサイクルディザパターンと、そのサイクルディザパターンの行方向先頭からｎ列分の閾値であって前記サイクルディザパターンの行方向末尾に配置される付加パターンと、からなる閾値群を格納するものであり、前記サイクルディザパターンの行方向に並ぶ閾値の個数を表すサイクルディザパターン長を取得するサイクルディザパターン長取得手段と、前記ディザテーブルに格納される閾値群のうち、行方向に連続するｎ個分の閾値を用いて、ｎ画素分の多階調データについて前記ハーフトーン処理を実行するハーフトーン実行手段と、そのハーフトーン実行手段によるハーフトーン処理の実行に用いられたｎ個分の閾値のうち行方向末尾端に位置する閾値の行方向末尾側に隣接する閾値の位置を次開始位置候補とする場合、その次開始位置候補が前記サイクルディザパターンと前記付加パターンとのいずれに含まれるかを判断する判断手段と、その判断手段により前記次開始位置候補が前記サイクルディザパターンに含まれると判断される場合、その次開始位置候補を、次に実行するハーフトーン処理の開始位置として決定する第１開始位置決定手段と、前記判断手段により前記次開始位置候補が前記付加パターンに含まれると判断される場合、その次開始位置候補から行方向先頭側に、サイクルディザパターン長分シフトした位置を、次に実行するハーフトーン処理の開始位置として決定する第２開始位置決定手段と、前記第１開始位置決定手段または前記第２開始位置決定手段のいずれかにより開始位置が決定されると、その開始位置から行方向に連続するｎ個分の閾値を用いて、前記ハーフトーン実行手段によるハーフトーン処理の実行を繰り返す繰返手段とを備えることを特徴とする。
【０００８】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記サイクルディザパターンの列数は、ｎの倍数以外の値であることを特徴とする。
【０００９】
請求項３記載の画像処理装置は、請求項１または２に記載の画像処理装置において、前記サイクルディザパターンは、ｎ列未満の閾値が行列状に配置される基本ディザパターンを、行方向に繰り返し配置した構成であることを特徴とする。
【００１０】
請求項４記載の画像処理装置は、請求項３記載の画像処理装置において、前記サイクルディザパターンの列数は、前記基本ディザパターンの列数の整数倍であって且つｎ以上の整数のうち、最小の値に等しいことを特徴とする。
【００１１】
請求項５記載の画像処理装置は、請求項３または４に記載の画像処理装置において、行数または列数が互いに異なる複数種類の基本ディザパターンの中から、いずれかを選択する選択手段と、その選択手段により選択された基本ディザパターンにおいて行方向に並ぶ閾値の個数がｎ個未満である場合、基本ディザパターンを構成する閾値を、行毎に、行方向に繰り返し配置し、行方向の閾値数がｎ個以上となると、行方向先頭からｎ個分の閾値を、各行の行方向末尾に付加することにより、前記ディザテーブルを生成するディザテーブル生成手段とを備えることを特徴とする。
【００１２】
請求項６記載の画像処理プログラムは、ディザテーブルに格納される閾値を用いたハーフトーン処理を処理装置に実行させることにより、入力画像を構成する画素毎の階調を表す多階調データを、その多階調データよりも低い階調数の疑似中間調データに変換させるプログラムであって、前記ディザテーブルは、ｎ列以上の閾値が行列状に配置されるサイクルディザパターンと、そのサイクルディザパターンの行方向先頭からｎ列分の閾値であって前記サイクルディザパターンの行方向末尾に配置される付加パターンと、からなる閾値群を格納するものであり、前記サイクルディザパターンの行方向に並ぶ閾値の個数を表すサイクルディザパターン長を取得するサイクルディザパターン長取得手段と、前記ディザテーブルに格納される閾値群のうち、行方向に連続するｎ個分の閾値を用いて、ｎ画素分の多階調データについて前記ハーフトーン処理を実行するハーフトーン実行手段と、そのハーフトーン実行手段によるハーフトーン処理の実行に用いられたｎ個分の閾値のうち行方向末尾端に位置する閾値の行方向末尾側に隣接する閾値の位置を次開始位置候補とする場合、その次開始位置候補が前記サイクルディザパターンと前記付加パターンとのいずれに含まれるかを判断する判断手段と、その判断手段により前記次開始位置候補が前記サイクルディザパターンに含まれると判断される場合、その次開始位置候補を、次に実行するハーフトーン処理の開始位置として決定する第１開始位置決定手段と、前記判断手段により前記次開始位置候補が前記付加パターンに含まれると判断される場合、その次開始位置候補から行方向先頭側に、サイクルディザパターン長分シフトした位置を、次に実行するハーフトーン処理の開始位置として決定する第２開始位置決定手段と、前記第１開始位置決定手段または前記第２開始位置決定手段のいずれかにより開始位置が決定されると、その開始位置から行方向に連続するｎ個分の閾値を用いて、前記ハーフトーン実行手段によるハーフトーン処理の実行を繰り返す繰返手段として、前記処理装置を機能させることを特徴とする。
【発明の効果】
【００１３】
請求項１記載の画像処理装置によれば、ハーフトーン処理の実行に用いられたｎ個分の閾値のうち行方向末尾端に位置する閾値の行方向末尾側に隣接する閾値の位置を次開始位置候補とする場合、その次開始位置候補がサイクルディザパターンと付加パターンとのいずれに含まれるかが判断される。
【００１４】
ここで、次開始位置候補がサイクルディザパターンに含まれると判断される場合、その次開始位置候補が、次に実行するハーフトーン処理の開始位置として決定される。サイクルディザパターンの各行の行方向末尾には、付加パターンに由来するｎ個分の閾値が配置されているから、次に実行するハーフトーン処理に用いるｎ個分の閾値は、ディザテーブルから取得することができる。
【００１５】
一方、次開始位置候補が付加パターンに含まれると判断される場合、その次開始位置候補から行方向先頭側に、サイクルディザパターン長分シフトした位置が、次に実行するハーフトーン処理の開始位置として決定される。サイクルディザパターン長は、ｎ以上であるため、サイクルディザパターン長分、行方向先頭側にシフトした位置を開始位置として決定することにより、次に実行するハーフトーン処理に用いるｎ個分の閾値を、ディザテーブルから取得することができる。
【００１６】
したがって、ディザテーブルに格納される閾値群の行方向末尾端に到達したか否かを画素毎に判断しなくても、ハーフトーン処理を繰り返すことができ、高速処理を実現できるという効果がある。
【００１７】
また、サイクルディザパターンの行方向末尾に付加される付加パターンは、サイクルディザパターンの行方向先頭からｎ列分の閾値からなる。したがって、ディザテーブルに格納される閾値群は、行方向において、サイクルディザパターン長を１単位とする周期的な配列をなしている。
【００１８】
よって、次開始位置候補が付加パターンに由来すると判断される場合に、その次開始位置候補から行方向先頭側にサイクルディザパターン長分シフトした位置を開始位置として決定することにより、周期的な閾値配列における１周期内の進行段階が次開始位置候補と同一の位置、すなわち、次開始位置候補と同一位相にある位置を、次のハーフトーン処理の開始位置とすることができるので、閾値の適用順序を壊すおそれがない。
【００１９】
さらに、ディザテーブルは、サイクルディザパターンと、そのサイクルディザパターンの行方向先頭からｎ列分の閾値からなる付加パターンとからなるので、そのサイズが大となることを抑制でき、メモリ使用量を節約できるという効果を奏する。
【００２０】
請求項２記載の画像処理装置によれば、ディザパターンの列数がｎの倍数以外の値であっても、請求項１記載の画像処理装置と同様に、メモリ使用量を節約しつつ高速処理を実現することができるという効果を奏する。
【００２１】
請求項３記載の画像処理装置によれば、請求項１または２に記載の画像処理装置の奏する効果に加え、サイクルディザパターンは、ｎ列未満の閾値が行列状に配置される基本ディザパターンを、行方向に繰り返し配置した構成であるため、ｎ列未満の基本ディザパターンであっても、これを用いてサイクルディザパターンを生成し、適用可能であるという効果がある。
【００２２】
請求項４記載の画像処理装置によれば、請求項３記載の画像処理装置の奏する効果に加え、前記サイクルディザパターンの列数は、前記基本ディザパターンの列数の整数倍であって且つｎ以上の整数のうち、最小の値に等しいので、サイクルディザパターン、ひいてはディザテーブルに格納される閾値群の列数が大となることを抑制でき、メモリ使用量を節約できるという効果がある。
【００２３】
請求項５記載の画像処理装置によれば、請求項３または４に記載の画像処理装置の奏する効果に加え、選択された基本ディザパターンにおいて行方向に並ぶ閾値の個数がｎ個未満である場合、基本ディザパターンを構成する閾値を、行毎に、行方向に繰り返し配置し、行方向の閾値数がｎ個以上となると、行方向先頭からｎ個分の閾値を、各行の行方向末尾に付加するので、多種多様な基本ディザパターンに基づいて、ディザテーブルを生成することができるという効果がある。
【００２４】
請求項６記載の画像処理プログラムによれば、コンピュータで実行されることにより、請求項１記載の画像処理装置と同様の作用効果を奏する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態であるＰＣ１０と、ケーブル４０を介してＰＣ１０に接続される画像形成装置３０との電気的構成を示すブロック図である。
【００２６】
ＰＣ１０は、入力画像を構成する画素毎の階調を表す多階調データを、その多階調データよりも低い階調数の疑似中間調データに変換するハーフトーン処理（図６参照）を実行する。そして、その疑似中間調データを画像形成装置３０に出力することにより、画像形成装置３０に、入力画像の階調が擬似的に表現された画像を形成させる。特に、本実施形態のＰＣ１０は、メモリ使用量を節約しつつ、ハーフトーン処理を高速で実行できるように構成されている。
【００２７】
ＰＣ１０は、ＣＰＵ１１、ＲＯＭ１２、ハードディスクドライブ１３（以下、ＨＤＤ１３と称す）、ＲＡＭ１４、インターフェイス１６（以下、Ｉ／Ｆと称す）、入力装置１７、表示装置１８とを主に有し、これらはバスライン２０を介してお互いに接続されている。
【００２８】
ＣＰＵ１１は、ＲＯＭ１２やＨＤＤ１３やＲＡＭ１４に記憶される固定値やプログラムに従って、バスライン２０により接続された各部を制御する。なお、本実施形態では、ＣＰＵ１１は、８ビットのデータを一度に扱うことができる８ビットＣＰＵで構成されているものとして説明する。ＲＯＭ１２は、ＰＣ１０の動作を制御するためのプログラムなどが格納されたメモリである。
【００２９】
ＨＤＤ１３は、書換可能な不揮発性のメモリであり、プリンタドライバ１３１、基本ディザパターンメモリ１３２、ディザテーブルメモリ１３３、サイクルディザパターン長メモリ１３４が設けられる。
【００３０】
プリンタドライバ１３１は、図３を参照して後述するディザテーブル生成処理、図５を参照して説明する疑似中間調データ生成処理、図６を参照して後述するハーフトーン処理を実行するためのプログラムである。基本ディザパターンメモリ１３２は、基本ディザパターン５０（図２（ａ）参照）を記憶するメモリであり、ディザテーブルメモリ１３３は、ディザテーブル５２（図２（ｂ）参照）を格納するメモリである。
【００３１】
図２を参照して、基本ディザパターン５０とディザテーブル５２について説明する。なお、図２においては、マトリクス状に配置された要素内の値が閾値を表しており、紙面に向かって左側が行方向先頭側、紙面に向かって右側が行方向末尾側として、閾値の配列を図示している。
【００３２】
図２（ａ）は、基本ディザパターン５０の一例を示す図である。図２（ａ）に示すように、基本ディザパターン５０は、行列状に配置される閾値から構成される。ここで、基本ディザパターン５０の最適な行数や列数は、入力画像の種類（ドキュメント、写真、グラフィック、テキスト）や入力画像の解像度によって異なる。したがって、入力画像の種類と解像度との組み合わせのそれぞれについて、行数または列数が互いに異なる複数種類の基本ディザパターン５０が予め準備され、基本ディザパターンメモリ１３２（図１参照）に格納されている。本実施形態のＰＣ１０は、基本ディザパターンメモリ１３２に格納されている複数種類の基本ディザパターン５０のうち、ユーザにより指定された基本ディザパターン５０に基づいてディザテーブル５２を生成し、ディザテーブルメモリ１３３に格納する。
【００３３】
図２（ｂ）は、ディザテーブル５２に格納される閾値群を模式的に示す図である。図２（ｂ）に示すように、ディザテーブル５２は、サイクルディザパターン５４と、付加パターン５６とからなる閾値群を格納する。
【００３４】
サイクルディザパターン５４は、その列数が、ＣＰＵ１１の処理単位のビット数ｎ以上となるように構成されている。本実施形態では、ＣＰＵ１１が８ビットＣＰＵであるものとして説明するから、サイクルディザパターン５４の列数は、８以上となるように構成される。図２（ｂ）に示す例では、サイクルディザパターン５４は、２個の基本ディザパターン５０を行方向に繰り返し配置した構成を有する。なお、基本ディザパターン５０の列数がＣＰＵ１１の処理単位のビット数ｎ以上である場合には、１のサイクルディザパターン５４が、１つの基本ディザパターン５０から構成されても良い。
【００３５】
ここで、サイクルディザパターン５４の行方向に並ぶ閾値の個数（すなわちサイクルディザパターン５４の列数）をサイクルディザパターン長と称する。図２（ｂ）に示す例では、サイクルディザパターン長は１０である。サイクルディザパターン長は、基本ディザパターン５０の列数の整数倍であって、且つ、ＣＰＵ１１の処理単位ビット数ｎ以上の整数という２つの条件を満たす値であるが、さらに、これら２つの条件を満たす整数のうち、最小の値であることが好ましい。このようにすれば、サイクルディザパターン５４、ひいてはディザテーブル５２に格納される閾値群の列数が大となることを抑制でき、メモリ使用量を節約できる。
【００３６】
付加パターン５６は、サイクルディザパターン５４の行方向先頭から８列分の閾値で構成されるパターンであって、サイクルディザパターン５４の行方向末尾に付加される。すなわち、ディザテーブル５２に格納される閾値群は、行方向において、サイクルディザパターン長（図２に示す例では１０）を１単位とする周期的な配列をなしている。
【００３７】
なお、説明の都合上、サイクルディザパターン５４と付加パターン５６との境界を、ボーダライン５８と称することとする。
【００３８】
図１に戻り説明する。サイクルディザパターン長メモリ１３４は、ディザテーブルメモリ１３３に記憶されたディザテーブル５２の各々について、サイクルディザパターン長を記憶するメモリである。
【００３９】
ＲＡＭ１４は、ＣＰＵ１１の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリであり、入力画像読み出し位置メモリ１４１、ディザテーブル読み出し位置メモリ１４２が設けられる。図６を参照して後述するハーフトーン処理では、入力画像読み出し位置１４１に記憶される位置情報に基づいて、処理対象画素を特定する。そして、処理対象画素の多階調データを、ディザテーブル読み出し位置メモリ１４２に記憶される位置情報で特定される閾値と比較することにより、１画素ずつ処理を進行する。
【００４０】
入力装置１７は、ユーザ指示を入力するためのものであり、例えば、キーボードやマウスなどで構成される。表示装置１８は、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成され、各種処理内容や入力されたデータなどを視覚的に表示するものである。
【００４１】
画像形成装置３０は、演算装置であるＣＰＵ３１と、そのＣＰＵ３１により実行される各種の制御プログラムやデータを記憶したＲＯＭ３２と、ＲＡＭ３３とを備えている。また、これらのＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３は、バスライン３８を介して互いに接続されており、かかるバスライン３８は、入出力インターフェイス３９に接続されている。
【００４２】
この入出力ポート３９は、インターフェイス３４（以下、Ｉ／Ｆ３４と称す）と、操作キー３５と、ＬＣＤ３６と、印刷部３７とに接続されており、ＣＰＵ３１には各部を制御することができる。
【００４３】
Ｉ／Ｆ１６，３４を介して、ＰＣ１０から画像形成装置３０にデータが入力されると、画像形成装置３０は、ＣＰＵ３１により印刷部３７を駆動させて、記録用紙へ画像の形成を行う。なお、本実施形態の画像形成装置３０は、帯電させた感光体にレーザー光などを照射してトナーを付着させ、用紙に転写し定着させて画像を形成する、いわゆるレーザプリンタとして構成される。
【００４４】
図３は、ＰＣ１０において実行されるディザテーブル生成処理（Ｓ１００）を示すフローチャートであり、図４は、ディザテーブル５２の生成の過程を模式的に示す図である。図４においては、紙面に向かって左側が行方向先頭側、紙面に向かって右側が行方向末尾側として、閾値の配列を図示している。
【００４５】
図３に示すディザテーブル生成処理（Ｓ１００）を、図４を適宜参照しつつ説明する。このディザテーブル生成処理（Ｓ１００）は、ディザテーブル５２の生成がユーザから指示された場合に実行される処理であり、基本ディザパターン５０に基づいてディザテーブル５２を生成する。
【００４６】
まず、行数または列数が互いに異なる複数種類の基本ディザパターン５０の中から、ユーザにより指定された基本ディザパターン５０（図２（ａ）参照）を選択する（Ｓ１０２）。次に、選択した基本ディザパターン５０に基づいてディザテーブル５２（図２（ｂ）参照）が既に生成されており、ディザテーブルメモリ１３３（図１参照）に記憶されているか否かを判断する（Ｓ１０４）。Ｓ１０４の判断が肯定される場合（Ｓ１０４：Ｙｅｓ）、ディザテーブル生成処理（Ｓ１００）を終了する。
【００４７】
一方、Ｓ１０４の判断が否定される場合（Ｓ１０４：Ｎｏ）、選択した基本ディザパターン５０の第１行目を処理対象行として選択し（Ｓ１０６）、その処理対象行の閾値数が、ＣＰＵ１１の処理単位ビット数ｎ以上であるか否かを判断する（Ｓ１０８）。なお、本実施形態においては、ｎ＝８であるものとして説明を行う。
【００４８】
Ｓ１０８の判断が否定される場合（Ｓ１０８：Ｎｏ）、行方向末尾に処理対象行を付加し、処理対象行を繰り返し配置する（Ｓ１１０）。次に、行方向の閾値数が、ｎ以上となったか否かを判断する（Ｓ１１２）。Ｓ１１２の判断が否定される場合（Ｓ１１２：Ｎｏ）、Ｓ１１０に戻り、処理を繰り返す。
【００４９】
図４（ａ）は、Ｓ１１０の処理により、処理対象行が付加された状態を示す図である。図４（ａ）に示すように、行方向閾値数がｎ（図４（ａ）に示す例では８）以上となるまで、処理対象行を繰り返し配置する。
【００５０】
図３に戻り説明する。処理対象行の付加により閾値数がｎ以上となったと判断される場合（Ｓ１１２：Ｙｅｓ）、または、処理対象行の閾値数が最初からｎ以上であると判断される場合（Ｓ１０８：Ｙｅｓ）、行方向先頭からｎ個分の閾値を取得し（Ｓ１１４）、その取得したｎ個分の閾値を、行方向末尾に付加する（Ｓ１１６）。
【００５１】
図４（ｂ）は、Ｓ１１４の処理で取得される、行方向先頭から８個分の閾値を示す図である。そして、図４（ｃ）は、その取得された８個分の閾値が行方向末尾に付加された状態を示す図である。図４（ｃ）に示すように、処理対象行を繰り返し配置することにより、ディザテーブル５２の１行分を構成する閾値の配列を生成することができる。
【００５２】
図３に戻り説明する。次に、基本ディザパターン５０の全行を処理したか否かを判断する（Ｓ１１８）。Ｓ１１８の判断が否定される場合（Ｓ１１８：Ｎｏ）、Ｓ１０６に戻り、次の行を処理対象行とし、処理を繰り返す。そして、処理を繰り返すことにより、全行分の処理を終了すると図４（ｄ）に示すように、基本ディザパターン５０に基づくディザテーブル５２を生成することができる。
【００５３】
全行分の処理が終了すると、Ｓ１１８の判断が肯定されるので（Ｓ１１８：Ｙｅｓ）、生成されたディザテーブル５２をディザテーブルメモリ１３３（図１参照）に記憶し（Ｓ１２０）、そのディザテーブル５２のサイクルディザパターン長を取得して、サイクルディザパターン長メモリ１３４に記憶し（Ｓ１２２）、ディザテーブル生成処理（Ｓ１００）を終了する。
【００５４】
上述したように、基本ディザパターンメモリ１３２（図１参照）には、入力画像の種類と解像度の組み合わせの各々について、専用の基本ディザパターン５０が予め準備されているが、ユーザは必ずしも全ての組み合わせを必要とするわけではない。よって、本実施形態で説明したように、ユーザが指定した基本ディザパターン５０について、ディザテーブル作成処理（Ｓ１００）によりディザテーブル５２を生成し、記憶するようにすれば、不必要なディザテーブル５２の保持によるメモリ容量の圧迫を防止できる。また、一度生成したディザテーブル５２は、ディザテーブルメモリ１３３に保存されるので、ディザテーブル５２を生成する処理を、無駄に繰り返す必要がない。
【００５５】
また、ディザテーブル生成処理（Ｓ１００）によれば、選択された基本ディザパターン５０において行方向に並ぶ閾値の個数がｎ個未満である場合であっても、ｎ個以上であってもディザテーブル５２を生成することができるので、多種多様な基本ディザパターン５０に基づいて、ディザテーブル５２を生成することができる。
【００５６】
また、ディザテーブル５２は、サイクルディザパターン５４と、そのサイクルディザパターンの行方向先頭からｎ列分の閾値からなる付加パターン５６とからなるので、そのサイズが大となることを抑制でき、メモリ使用量を節約できる。
【００５７】
図５は、ＰＣ１０において実行される疑似中間調データ生成処理（Ｓ２００）を示すフローチャートである。ＰＣ１０において、印刷対象の入力画像が指定され、その印刷の実行がユーザにより指示されると、ＰＣ１０は、疑似中間調データ生成処理（Ｓ２００）を実行して入力画像の多階調データを疑似中間調データに変換し、画像形成装置３０へ送信する。
【００５８】
まず、入力画像の種類と解像度との組み合わせに対応した基本ディザパターン５０に基づいて生成されたディザテーブル５２を、ディザテーブルメモリ１３３（図１参照）から呼び出す（Ｓ２０１）。なお、適切なディザテーブル５２がディザテーブルメモリ１３３に記憶されていない場合には、新たに生成する必要があるので、図３に示すディザテーブル生成処理（Ｓ１００）の実行をユーザに促し、適切なディザテーブル５２を生成してから、このハーフトーン処理（Ｓ２００）が実行される。
【００５９】
次に、入力画像読み出し位置メモリ１４１およびディザテーブル読み出し位置メモリ１４２（図１参照）を初期化する（Ｓ２０２）。入力画像読み出し位置メモリ１４１は、処理対象の画素を特定するための位置情報として、入力画像の横方向をＸ軸方向、縦方向をＹ軸方向として設定される直交座標系に基づく座標（Ｉｘ，Ｉｙ）を記憶する。一方、ディザテーブル読み出し位置メモリ１４２は、処理対象画素と比較すべき閾値を特定するための位置情報として、ディザテーブル５２の行方向をＸ軸方向、列方向をＹ軸方向として設定される直交座標系に基づく座標（Ｄｘ，Ｄｙ）を記憶する。
【００６０】
次に、ハーフトーン処理を実行する（Ｓ２０３）。このハーフトーン処理（Ｓ２０３）は、ディザテーブル５２に格納される閾値群のうち、行方向に並ぶｎ個分の閾値を用いて、ｎ画素分の多階調データを疑似中間調データに変換する処理である。
【００６１】
図６は、ハーフトーン処理（Ｓ２０３）を示すフローチャートである。入力画像読み出し位置メモリ１４１に記憶された座標（Ｉｘ，Ｉｙ）で特定される画素の多階調データが、ディザテーブル読み出し位置メモリ１４２に記憶された座標（Ｄｘ，Ｄｙ）で特定される位置に格納された閾値よりも大であるか否かを判断する（Ｓ２０３０）。
【００６２】
Ｓ２０３０の判断が肯定される場合（Ｓ２０３０：Ｙｅｓ）、ＲＡＭ１４に設けられた書き込みメモリ（Ｓ２０３０）のビットを立てる（Ｓ２０３２）。すなわち、トナーやインクを定着することにより着色する画素であること（ドットオン）を表す値「１」を記憶する。一方、Ｓ２０３０の判断が否定される場合（Ｓ２０３０：Ｎｏ）、Ｓ２０３２の処理をスキップする。すなわち、着しない画素であること（ドットオフ）を表す値「０」を記憶する。
【００６３】
次に、入力画像読み出し位置メモリ１４１に記憶されたＸ座標に「１」を加算し（Ｓ２０３４）、ディザテーブル読み出し位置メモリ１４２に記憶されたＸ座標に「１」を加算する（Ｓ２０３６）。そして、書き込みメモリを１ビットシフトし（Ｓ２０３８）、ｎ画素分、処理を繰り返したか否かを判断する（Ｓ２０４０）。
【００６４】
Ｓ２０４０の判断が否定される場合（Ｓ２０４０：Ｎｏ）、Ｓ２０３０に戻り処理を繰り返す。一方、８画素分の処理が終了し、Ｓ２０４０の判断が肯定される場合（Ｓ２０４０：Ｙｅｓ）、書き込みメモリに格納されたｎ画素分の処理結果を疑似中間調データとしてメモリに書き込み（Ｓ２０４２）、この処理を終了する。本実施形態では、ｎ＝８であるから、ハーフトーン処理（Ｓ２０３）を１回実行する毎に、１バイト分の疑似中間調データが生成される。
【００６５】
次に、入力画像の横方向における最後の画素まで処理を終了したか否かを判断する（Ｓ２０４）。Ｓ２０４の判断が否定される場合（Ｓ２０４：Ｎｏ）、Ｓ２０５，Ｓ２０６の処理によって、次に実行するハーフトーン処理（Ｓ２０７）の開始位置を決定する。
【００６６】
図７は、ハーフトーン処理（Ｓ２０７）の開始位置の決定について説明する図である。図７においては、図面の理解を容易とするため、サイクルディザパターン５４および付加パターン５６はそれぞれ１行分のみ図示している。また、ｎ＝８の場合におけるハーフトーン処理を図示している。なお、図７においては、紙面に向かって左側が行方向先頭側、紙面に向かって右側が行方向末尾側として、閾値の配列を図示している。
【００６７】
図７に示すように、ｎ＝８とする場合、１回目のハーフトーン処理は、行方向先頭を開始位置とし、先頭から８個目の閾値の位置を終了位置として実行される。この１回目のハーフトーン処理の終了位置の閾値（特許請求の範囲に記載の「ｎ個分の閾値のうち行方向末尾端に位置する閾値」）の行方向末尾側に隣接する閾値の位置を、次開始位置候補６２とする。
【００６８】
図７に示すように、１回目のハーフトーン処理は、行方向先頭の閾値から開始されているから、１回目のハーフトーン処理後の次開始位置候補６２は、サイクルディザパターン５４に含まれる。換言すれば、次開始位置候補６２は、ボーダライン５８を超えない。このような場合は、次開始位置候補６２を、次に実行するハーフトーン処理（２回目のハーフトーン処理）の開始位置として決定する。
【００６９】
上述したように、サイクルディザパターン５４の各行の行方向末尾には、付加パターン５６に由来するｎ個分（本実施形態では８個分）の閾値が配置されているから、次開始位置候補６２をそのまま、２回目のハーフトーン処理の開始位置として決定することにより、２回目のハーフトーン処理の途中で、ディザテーブル５２の行方向末尾端に到達してしまうことがなく、ディザテーブル５２から閾値を確実に取得できる。
【００７０】
図７に示すように、２回目のハーフトーン処理の実行後の次開始位置候補６２は、付加パターン５６に含まれる。換言すれば、次開始位置候補６２が、ボーダライン５８を超える。このような場合は、次開始位置候補６２から行方向先頭側に、サイクルディザパターン長（本実施形態では１０）分シフトした位置を、３回目のハーフトーン処理の開始位置として決定する。このようにすれば、３回目のハーフトーン処理の途中で、ディザテーブル５２の行方向末尾端に到達してしまうことがなく、ディザテーブル５２から閾値を確実に取得できる。
【００７１】
また、上述したように、ディザテーブル５２に格納される閾値群は、行方向において、サイクルディザパターン長を１単位とする周期的な配列をなしている。よって、次開始位置候補６２から行方向先頭側にサイクルディザパターン長分シフトした位置、換言すれば、次開始位置候補６２と同一位相にある位置を、３回目のハーフトーン処理の開始位置とすることができる。同一位相にある位置には、同一の閾値（図７に示す例では「２」）が格納され、その後に連続する閾値の配列も共通しているので、閾値の適用順序を壊すおそれがない。
【００７２】
図５に戻り説明する。図７を参照して説明したように、次開始位置候補６２が、付加パターン５６に由来するか否か、すなわち、次開始位置候補６２がボーダライン５８（図７参照）を超えるか否かを判断する（Ｓ２０５）。
【００７３】
Ｓ２０５の判断が肯定される場合（Ｓ２０５：Ｙｅｓ）、すなわち、次開始位置候補６２が付加パターン５６に含まれると判断される場合、ディザテーブル読み出し位置メモリ１４２に記憶されるＸ座標（Ｄｘ）から、サイクルディザパターン長を減算する。換言すれば、次のハーフトーン処理（Ｓ２０７）の開始位置を、サイクルディザパターン長だけ元に戻す（Ｓ２０６）。このＳ２０６の処理が、「次開始位置候補６２から行方向先頭側に、サイクルディザパターン長分シフトした位置を、次に実行するハーフトーン処理（Ｓ２０７）の開始位置として決定する」処理に該当する。
【００７４】
一方、Ｓ２０５の判断が否定される場合（Ｓ２０５：Ｎｏ）、Ｓ２０６の処理をスキップする。Ｓ２０５の判断結果に従い、Ｓ２０６の処理をスキップする処理が、「次開始位置候補６２を、次に実行するハーフトーン処理（Ｓ２０７）の開始位置として決定する」処理に該当する。
【００７５】
このようにして開始位置が決定されると、その開始位置から行方向に連続する８個分の閾値を用いて、ハーフトーン処理の実行を繰り返す（Ｓ２０７）。なお、ハーフトーン処理（Ｓ２０７）は、図６を参照して説明したハーフトーン処理（Ｓ２０３）と同一の処理であるため、説明を省略する。
【００７６】
入力画像の横方向における最後の画素まで処理を終了したか否かを判断する（Ｓ２０８）。Ｓ２０８の判断が否定される場合（Ｓ２０８：Ｎｏ）、Ｓ２０５からＳ２０８の処理を繰り返す。
【００７７】
一方、Ｓ２０８の判断が肯定されると（Ｓ２０８：Ｙｅｓ）、次に、入力画像を構成する全画素を処理したか否かを判断する（Ｓ２０９）。Ｓ２０９の判断が否定される場合（Ｓ２０９：Ｎｏ）、入力画像読み出し位置メモリ１４１に記憶されたＹ座標（Ｉｙ）、ディザテーブル読み出し位置メモリ１４２に記憶されたＹ座標（Ｄｙ）の各々に「１」加算し、Ｓ２０３に戻る。
【００７８】
一方、Ｓ２０９の判断が肯定されると（Ｓ２０９：Ｙｅｓ）、疑似中間調データ生成処理（Ｓ２００）を終了する。ＰＣ１０は、疑似中間調データを画像形成装置３０へ送信し、画像形成装置３０に画像を形成させる。
【００７９】
本実施形態の疑似中間調データ生成処理によれば、ディザテーブル５２に格納される閾値群の行方向末尾端に到達したか否かを画素毎に判断しなくても、ハーフトーン処理（Ｓ２０７）を繰り返すことができ、高速処理を実現できる。
【００８０】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００８１】
例えば、本実施形態では、ＣＰＵ１１が８ビットＣＰＵで構成されているものとして説明したが、１６ビットＣＰＵ、３２ビットＣＰＵ、６４ビットＣＰＵなどが用いられても良い。その場合、本実施形態中のｎには、１６，３２，６４など、ＣＰＵの処理単位のビット数に応じた値が代入される。
【００８２】
また、上記実施形態のディザテーブル生成処理（Ｓ１００）によって、ディザテーブル５２を生成する際には、サイクルディザパターン５４の列数がｎの倍数となるか否かに応じて、生成処理を異ならせても良い。例えば、サイクルディザパターン５４の列数がｎの倍数以外の値となった場合、上記実施形態で説明したディザテーブル生成処理（Ｓ１００）に従って、ディザテーブル５２を生成する一方で、サイクルディザパターン５４の列数がｎの倍数となる場合には、付加パターン５６無しで、すなわちサイクルディザパターン５４のみからなる閾値群を、ディザテーブル５２に格納することとしても良い。サイクルディザパターン５４の列数がｎの倍数であれば、本実施形態の疑似中間調データ生成処理（Ｓ２００）のように、次開始位置候補６２を判断するのではなく、ｎ画素分のハーフトーン処理を行う毎に、ディザテーブルの行方向末尾まで到達したか否かを判断し、行方向末尾に到達した場合、開始位置を行方向先頭に戻すこととすれば良いからである。このようにしても、メモリ使用量を節約しつつ高速処理を実現することができる。
【００８３】
また、上記実施形態では、ディザテーブル生成処理（Ｓ１００）および疑似中間調生成処理（Ｓ２００）を、ＰＣ１０で実行するものとして説明したが、画像形成装置３０で実行するように構成されても良い。その場合、画像形成装置３０のＣＰＵ３１（図１参照）が、特許請求の範囲に記載の処理装置に相当し、画像形成装置３０のＲＯＭ３２に格納されるプログラムが、特許請求の範囲に記載の画像処理プログラムに相当する。なお、画像形成装置３０は、レーザプリンタと異なる他の印字方式（例えばインクジェット方式）により、画像を形成するように構成されても良い。
【００８４】
また、上記実施形態では、基本ディザパターン５０の行方向先頭から行方向末尾までを１単位とし、それを繰り返すことによりサイクルディザパターン５４を構成することとしていたが、これに代えて、基本ディザパターンの行方向先頭からｍ番目の閾値を、サイクルディザパターンの行方向先頭閾値とし、そのｍ番目の閾値から基本ディザパターン５０の行方向末尾までの閾値の行方向末尾に、基本ディザパターン５０の行方向先頭からｍ−１番目の閾値までを付加したものを１単位とし、それを繰り返すことによりサイクルディザパターン５４を構成しても良い。このようにしても、基本ディザパターン５０と同じ閾値配列でサイクルディザパターン５４を構成することができ、本実施形態と同様の効果が得られる。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態であるＰＣと、ＰＣに接続される画像形成装置との電気的構成を示すブロック図である。
【図２】（ａ）は、基本ディザパターンの一例を示す図であり、（ｂ）は、ディザテーブルに格納される閾値群を模式的に示す図である。
【図３】ＰＣにおいて実行されるディザテーブル生成処理を示すフローチャートである。
【図４】ディザテーブル生成の過程を模式的に示す図である。
【図５】ＰＣにおいて実行される疑似中間調データ生成処理を示すフローチャートである。
【図６】ハーフトーン処理を示すフローチャートである。
【図７】ハーフトーン処理の開始位置の決定について説明する図である。
【符号の説明】
【００８６】
１０                ＰＣ（画像処理装置の一例）
１１                処理装置の一例
１３１              プリンタドライバ（画像処理プログラムの一例）
５０                基本ディザパターン
５２                ディザテーブル
５４                サイクルディザパターン
５６                付加パターン
６２                次開始位置候補
Ｓ１００            ディザテーブル生成手段
Ｓ１０２            選択手段
Ｓ１２２            サイクルディザパターン長取得手段の一例
Ｓ２０３            ハーフトーン実行手段の一例
Ｓ２０５            判断手段の一例、第１開始位置決定手段の一例
Ｓ２０６            第２開始位置決定手段の一例
Ｓ２０７            繰返手段の一例
【図１】
2010057036.tif 000003
【図２】
2010057036.tif 000004
【図３】
2010057036.tif 000005
【図４】
2010057036.tif 000006
【図５】
2010057036.tif 000007
【図６】
2010057036.tif 000008
【図７】
2010057036.tif 000009