(57)【特許請求の範囲】
【請求項１】
多値画像データにおける各画素値を分割することによって、それぞれが該多値画像データと同じ画素数からなる第１の画像データと第２の画像データを生成する分割手段と、
前記第１の画像データに対し、第１の閾値マトリクスを用いた量子化を行う第１の量子化手段と、
前記第１の量子化手段による量子化結果を前記第２の画像データに加算して合成画像データを生成する合成手段と、
前記合成画像データに対し、Ｍ×Ｎ個の閾値で構成される第２の閾値マトリクス（Ｍ，Ｎは共に２以上の整数）を用いた量子化を行う第２の量子化手段とを有し、
前記第１の量子化手段は、前記第１の閾値マトリクスを構成する個々の閾値を、Ｍ×Ｎ画素に適用して量子化し、
前記第２の量子化手段は、前記第２の閾値マトリクスを、合成画像データのＭ×Ｎ画素毎に繰り返し用いることを特徴とする画像処理装置。
【請求項２】
前記分割手段は、前記多値画像データにおける各画素値を、前記第２の閾値マトリクスにおける閾値を表すビット数分の上位ビットデータと、それ以外の下位ビットデータに分割し、該下位ビットデータを前記第１の画像データとし、該上位ビットデータを前記第２の画像データとすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の閾値マトリクスにおける閾値を表すビット数と、前記第２の閾値マトリクスにおける閾値を表すビット数との和が、前記多値画像データの階調数を表すビット数に等しいことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第１の量子化手段は、前記第１の閾値マトリクスにおける各閾値をＭ×Ｎに拡大し、当該拡大後の前記第１の閾値マトリクスを前記第１の画像データに対して適用することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２の閾値マトリクスは、閾値の網点セルがスクリーン角度を有するように配置された場合に抽出される矩形のマトリクスであることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１の閾値マトリクスは、前記多値画像データの階調数を前記第２の閾値マトリクスの画素数で除算した値を基準値として、該マトリクスを構成する画素数が該基準値以上の整数値で、かつ該マトリクスの有する閾値が該基準値以下の整数値であり、
前記分割手段は、前記多値画像データにおける各画素値を前記基準値で除算して得られる、商の値を前記第２の画像データとし、剰余の値を前記第１の画像データとすることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
さらに、前記第１および第２の閾値マトリクスを組として、複数の画像処理モードに応じた複数組を保持する保持手段を有することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１の閾値マトリクスがＳ×Ｔのサイズである場合、（Ｓ×Ｍ）×（Ｔ×Ｎ）が前記多値画像データにおける階調数に相当するように、前記第１の閾値マトリクスおよび前記第２の閾値マトリクスのサイズは決定されていることを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項９】
前記第１の閾値マトリクスは、Ｓ＝４、Ｔ＝４のサイズであり、前記第２の閾値マトリクスは、Ｍ＝４、Ｎ＝４のサイズであることを特徴とする請求項９に記載の画像処理装置。
【請求項１０】
多値画像データにおける各画素値を分割することによって、それぞれが該多値画像データと同じ画素数からなる第１の画像データと第２の画像データを生成する分割ステップと、
前記第１の画像データに対し、第１の閾値マトリクスを用いた量子化を行う第１の量子化ステップと、
前記第１の量子化ステップによる量子化結果を前記第２の画像データに加算して合成画像データを生成する合成ステップと、
前記合成画像データに対し、Ｍ×Ｎ個の閾値で構成される第２の閾値マトリクス（Ｍ，Ｎは共に２以上の整数）を用いた量子化を行う第２の量子化ステップとを有し、
前記第１の量子化ステップでは、前記第１の閾値マトリクスを構成する個々の閾値を、Ｍ×Ｎ画素に適用して量子化し、
前記第２の量子化ステップでは、前記第２の閾値マトリクスを、合成画像データのＭ×Ｎ画素毎に繰り返し用いることを特徴とする画像処理方法。
【請求項１１】
コンピュータで実行されることにより、該コンピュータを請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像データをより階調数の少ない画像データに変換する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、電子写真方式やインクジェット方式、熱転写方式等を用いたデジタル複写機、プリンタ、ファクシミリ等の画像形成装置が広く普及してきている。一般にこれらの画像形成装置においては、当該装置の出力可能な階調数が、入力された画像データの階調数よりも低い場合が多いため、入力された画像データに対して擬似中間調処理（ハーフトーン処理）を行っている。ハーフトーン処理としては、誤差拡散法等に代表される注目画素の周辺濃度を考慮して閾値を決定する条件付き決定法と、組織的ディザ法やサブマトリクス法に代表される注目画素のみで閾値を決定する独立決定法が知られている。
【０００３】
ここで、独立決定法によるハーフトーン処理について説明する。まず組織的ディザ法は、例えば二次元平面上に配置したＮ×Ｎ画素（Ｎは整数）の閾値マトリクスを階調再現の１単位として用意し、各画素に対して、閾値マトリクスの閾値と多値の入力画像の画素値を比較することで量子化を行う方法である。また、サブマトリクス法は例えば、８×８画素の閾値マトリクス（サブマトリクス）を４個組み合わせて、１６×１６画素で構成される大きな閾値マトリクスを新たに１単位として、各画素に設定した閾値と多値の入力画素値を比較して量子化を行う方法である。このような独立決定法によるハーフトーン処理は、条件付き決定法に比べて処理が簡単であり、高速処理が要求される場合に有効である。また、特にサブマトリクス法ではより大きなサイズのマトリクスを適用することにより、より多くの階調再現が可能となる点で優れている。
【０００４】
しかしながら、上述したサブマトリクス法において多くの階調数を再現するためには、階調数に対応する大きなサイズの閾値マトリクスが必要となり、その閾値マトリクスを記録しておくためのメモリ容量が膨大となるという問題がある。また、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）の色毎に異なる閾値マトリクスを用意すると、メモリ容量がさらに膨大となる。
【０００５】
そこで、上記サブマトリクス法で用いられる閾値マトリクスを、基本パターン情報と配置パターン情報の２つに分割してＲＯＭに記憶させておく方法が提案されている（例えば、特許文献１参照）。この方法は、画像形成装置内のＲＯＭに記憶された上記基本パターン情報と配置パターン情報に基づく演算をコントローラ部で行い、該演算によって生成された閾値マトリクスをコントローラ部の内部メモリに記憶するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１６６６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１に記載されたハーフトーン処理によれば、以下のような問題があった。上記手法では、ＲＯＭに記憶された基本パターン情報と配置パターン情報に基づく演算によってサイズの大きい閾値マトリクスを生成し、これをコントローラ部の内部メモリに記憶していた。そのため、コントローラ部の内部メモリでは、閾値マトリクスの容量を削減できないという問題がある。
【０００８】
そこで本発明においては、閾値マトリクスを用いるハーフトーン処理において、出力画像の画質を落とすことなく、該閾値マトリクスを保持するためのメモリ容量を削減する画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【００１０】
すなわち、多値画像データにおける各画素値を分割することによって、それぞれが該多値画像データと同じ画素数からなる第１の画像データと第２の画像データを生成する分割手段と、
前記第１の画像データに対し、第１の閾値マトリクスを用いた量子化を行う第１の量子化手段と、
前記第１の量子化手段による量子化結果を前記第２の画像データに加算して合成画像データを生成する合成手段と、
前記合成画像データに対し、Ｍ×Ｎ個の閾値で構成される第２の閾値マトリクス（Ｍ，Ｎは共に２以上の整数）を用いた量子化を行う第２の量子化手段とを有し、
前記第１の量子化手段は、前記第１の閾値マトリクスを構成する個々の閾値を、Ｍ×Ｎ画素に適用して量子化し、
前記第２の量子化手段は、前記第２の閾値マトリクスを、合成画像データのＭ×Ｎ画素毎に繰り返し用いることを特徴とする。
【発明の効果】
【００１１】
上記構成からなる本発明によれば、閾値マトリクスを用いたハーフトーン処理において、出力画像の画質を落とすことなく、該閾値マトリクスを保持するためのメモリ容量を削減することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における画像形成装置のシステム構成を示すブロック図、
【図２】第１実施形態における画像処理部の詳細構成を示すブロック図、
【図３】第１実施形態におけるプリンタエンジン部の詳細構成を示す模式図、
【図４】第１実施形態における画像処理を示すフローチャート、
【図５】第１実施形態におけるハーフトーン処理を示すフローチャート、
【図６】第１実施形態におけるサブマトリクスと係数マトリクスの一例を示す図、
【図７】第１実施形態におけるハーフトーン処理部の詳細構成を示すブロック図、
【図８】第１実施形態における入力画像データの分割例を示す図、
【図９】第１実施形態における下位ビット画像データのハーフトーン処理例を示す図、
【図１０】第１実施形態における合成画像データ例を示す図、
【図１１】第１実施形態における合成画像データのハーフトーン処理例を示す図、
【図１２】第２実施形態におけるスクリーン角度を有する網点セル例を示す図、
【図１３】第２実施形態におけるサブマトリクスと係数マトリクスの一例を示す図、
【図１４】第２実施形態における入力画像データの分割例を示す図、
【図１５】第２実施形態における合成画像データのハーフトーン処理例を示す図、
【図１６】第３実施形態におけるサブマトリクスと係数マトリクスの一例を示す図、
【図１７】第３実施形態における入力画像データの分割例を示す図、
【図１８】第３実施形態における合成画像データのハーフトーン処理例を示す図、である。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態においては、説明を簡単にするために、電子写真方式のカラーレーザプリンタに本発明を適用した例について説明する。但し、本発明はこの例に限られるものではなく、例えばインクジェット方式のカラープリンタや熱転写方式のカラープリンタ等の画像形成装置に適用しても良いし、モノクロプリンタに適用しても良い。また、複写機やファクシミリ等の画像形成装置あるいは表示装置等に適用しても良い。すなわち、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜第１実施形態＞
●システム構成
図１は、本実施形態に係る画像形成装置のシステム構成を示すブロック図である。図１に示すように、本実施形態の画像形成システムは、ホストコンピュータ１０１と画像形成装置１１０がネットワーク１００を介して接続されて構成されている。また画像形成装置１１０は、コントローラ部１２０とプリンタエンジン部１３０を備えている。
【００１５】
ネットワーク１００は例えばＬＡＮ(Local Area Network)であり、ネットワーク１００に接続された各ユニット相互の情報授受やデータ転送を行う。ホストコンピュータ１０１は、例えばアプリケーションプログラムにより色情報、文字、図形、イメージ画像、印刷枚数、印刷モード等の印刷情報を、画像形成装置１１０内のコントローラ部１２０へ送出する。
【００１６】
コントローラ部１２０は、例えばＣＰＵ１２１、Ｉ／Ｏインターフェース１２２、メモリインターフェース１２３、画像処理部１２４、内部メモリ１２５で構成される。コントローラ部１２０には、外部イメージメモリ１１１、ＲＯＭ１１２が接続されている。
【００１７】
ＣＰＵ１２１は、各部とのアクセスおよび処理を統括的に制御する。ＣＰＵ１２１は、例えばホストコンピュータ１０１から送出された印刷対象のデータを複数色成分で表現した画像データに変換して外部イメージメモリ１１１に展開する処理など、各種データの処理や転送命令を行う中央処理装置である。外部イメージメモリ１１１は、ＣＰＵ１２１が展開した画像データ等を一時格納する領域を備えており、例えばＤＲＡＭにより構成される。ＲＯＭ１１２は、コントローラ部１２０を制御するためのプログラムや画像処理部１２４が用いるデータ等を格納するメモリである。Ｉ／Ｏインターフェース１２２は、外部から接続される装置との間でデータの入出力を制御する。メモリインターフェース１２３は、外部イメージメモリ１１１から出力された画像データなどを画像処理部１２４に出力する。画像処理部１２４は、画像データに対し、予め定められた各種画像処理を施し、処理した画像データをプリンタエンジン部１３０に出力する。なお、画像処理部１２４の詳細な構成については後述する。内部メモリ１２５は、例えば揮発性メモリであり、ＳＲＡＭにより構成される。内部メモリ１２５では、画像形成装置１１０の電源オンに、ＣＰＵ１２１の制御で、ＲＯＭ１１２から内部メモリ１２５へ画像処理部１２４の各種画像処理で用いるデータが送出され、格納する。なお、ここでは、内部メモリ１２５としてＳＲＡＭを適用する例を示したが、内部メモリ１２５としてはこの例に限らず、例えば、画像形成装置１１０の電源オフ後も記憶内容を保持する不揮発性メモリを用いても良い。
【００１８】
プリンタエンジン部１３０は、画像処理部１２４から出力された画像信号に基づいて画像形成を行う。
【００１９】
●画像処理部と内部メモリ
以下、画像形成装置１１０のコントローラ部１２０における画像処理部１２４および内部メモリ１２５の詳細構成について、図２のブロック図を用いて説明する。画像処理部１２４は、色変換部２０１、濃度補正処理部２０３、ハーフトーン処理部２０５、ハーフトーンパラメータ選択部２０６を備えている。また内部メモリ１２５には、各種画像処理で用いるデータを格納するために、色変換テーブル格納部２０２、濃度補正テーブル格納部２０４、ハーフトーンパラメータ格納部２０７、を備えている。
【００２０】
色変換部２０１は、例えばメモリインターフェース１２３を介して外部イメージメモリ１１１に格納されたＲＧＢ形式の画像データを、色変換テーブル格納部２０２に格納された変換テーブルを参照して、ＣＭＹＫ形式の画像データに変換する。濃度補正処理部２０３は、色変換部２０１により変換されたＣＭＹＫ形式の画像データに対して、濃度補正テーブル格納部２０４に格納された補正テーブルを参照した濃度補正処理を行う。ハーフトーンパラメータ選択部２０６は、外部イメージメモリ１１１に格納された、印刷モードに対応するハーフトーンパラメータをハーフトーンパラメータ格納部２０７から選択する。ハーフトーンパラメータ格納部２０７は、各種印刷モードに対応する複数のハーフトーンパラメータを格納している。ここで印刷モードとは、印刷の際に重視される項目を示す画像処理モードであり、例えば画像形成装置における階調性を重視する階調モードや、解像性を重視する解像モード等がある。
【００２１】
ハーフトーン処理部２０５は、濃度補正処理部２０３によって補正されたＣＭＹＫ形式の各色の画像データに対して、ハーフトーンパラメータ選択部２０６で選択されたハーフトーンパラメータを参照した比較演算によるハーフトーン処理を行う。これにより、ＣＭＹＫ形式の各色の画像データが、印刷モードに対応した階調数の画像データに変換する。ハーフトーン処理部２０５で変換された画像データは、レーザ露光の照射時間に相当するパルス幅に各画素が変調され、プリンタエンジン部１３０へ送出される。
【００２２】
●プリンタエンジン部
以下、画像形成装置１１０におけるプリンタエンジン部１３０の詳細構成について、図３を用いて説明する。図３に示すようにプリンタエンジン部１３０においては、複数色の画像形成ユニット３１０ａ〜ｄが中間転写ベルト３２１上に矢印の移動方向に沿って順次配列されている。画像形成ユニット３１０ａには、感光ドラム３１１ａが像担持体として中心に軸支され、感光ドラム３１１ａの外周面に対向し回転方向に、帯電器３１２ａ、レーザスキャナ３１３ａ、現像器３１４ａ、クリーニング装置３１５ａが配置されている。なお、他の画像形成ユニット３１０ｂ〜ｄについても、画像形成ユニット３１０ａと同様の構成であるため、説明を省略する。プリンタエンジン部１３０にはさらに、給紙カセット３３０、印刷用紙Ｓ、用紙搬送ベルト３３１、定着器３２２、中間転写ベルト３２１上のクリーニング装置３２３、が備えられている。
【００２３】
ここで、プリンタエンジン部１３０における画像形成動作について、特に画像形成ユニット３１０ａを例として説明する。まず、帯電器３１２ａにおいて感光ドラム３１１ａの表面に均一な帯電量の電荷が与えられる。次に、レーザスキャナ３１３ａにより、画像信号に応じて変調した半導体レーザなどの光線で感光ドラム３１１ａ上を露光し、感光ドラム３１１ａ上に静電潜像を形成する。次に、例えばシアン、マゼンタ、イエロー、ブラックのいずれかの色の現像剤（以下、トナーと称する）を収納した現像器３１４ａによって、上記静電潜像をトナー像とし、可視化する。次に、感光ドラム３１１上のトナー像を中間転写ベルト３２１上に一次転写する。なお、この一次転写処理は、他の画像形成ユニット３１０ｂ〜ｄにおいても、トナー色が変わるだけで同様に行われ、中間転写ベルト３２１上に４色のトナー像が重畳される。次に、給紙カセット３３０から給紙された印刷用紙Ｓが、用紙搬送ベルト３３１上を搬送され、印刷用紙Ｓに中間転写ベルト３２１上のトナー像を二次転写する。次に、定着器３２２は、上記印刷用紙Ｓ上のトナー像を熱と圧力とによって定着する。その後、トナー像定着後の印刷用紙Ｓは、排出ローラによって排紙トレイに排出される。なお、感光ドラム３１１上や中間転写ベルト３２１上に残った残留トナーは、感光ドラム３１１上のクリーニング装置３１５、中間転写ベルト３２１上のクリーニング装置３２３により回収される。
【００２４】
以上説明した画像形成プロセスにより、ホストコンピュータ１０１から入力された印刷情報は、画像形成装置１１０により印刷される。
【００２５】
●画像処理概要
以下、本実施形態の画像形成装置１１０における画像処理部１２４の一連の動作について、図４のフローチャートを用いて説明する。
【００２６】
まずＳ４０１で、ホストコンピュータ１０１からネットワーク１００を介し入力された印刷情報が、Ｉ／Ｏインターフェース１２２、メモリインターフェース１２３経由で、外部イメージメモリ１１１に格納される。ここでの印刷情報とは、例えばＲＧＢ形式の画像データに加え、ホストコンピュータ１０１で設定された印刷モードや印刷枚数等の情報を含む。なお、以下では入力される画像データをＲＧＢ形式として説明するが、入力の形式はこの例に限定されず、例えば、単色画像データやＣＭＹＫ形式の画像データ等であっても良い。
【００２７】
次にＳ４０２で、色変換部２０１において、Ｓ４０１で外部イメージメモリ１１１に格納されたカラー入力画像データに対し、色変換テーブル格納部２０２に格納された色変換テーブルを用いて、ＲＧＢからＣＭＹＫ画像データへの色変換を行う。色変換テーブルは、ＲＧＢの入力値をＣＭＹＫの出力値に変換するテーブルであるから、例えば３入力値から４出力値を得るＬＵＴ（ルックアップテーブル）を用いれば良い。
【００２８】
次にＳ４０３で、濃度補正処理部２０３において、Ｓ４０２で色変換されたＣＭＹＫ画像データに対し、濃度補正テーブル格納部２０４に格納された濃度補正テーブルを用いた濃度補正を行う。濃度補正テーブルとしては、例えば濃度特性が印刷画像の濃度値と入力画像の画素値に線形となるＬＵＴを用いれば良い。なお本実施形態では、Ｓ４０２の色変換処理後、およびＳ４０３の濃度補正処理後において、各画素データを８ビットデータとして扱うが、それ以上の階調数への変換を行っても構わない。
【００２９】
次にＳ４０４で、ハーフトーン処理部２０５において、Ｓ４０３で濃度補正されたＣＭＹＫ各画像データに対し、ハーフトーンパラメータ選択部２０６で選択されたハーフトーンパラメータを用いたハーフトーン処理を行う。ハーフトーンパラメータ選択部２０６は、ハーフトーンパラメータ格納部２０７から、指定された印刷モードに対応するハーフトーンパラメータを選択する。ハーフトーン処理部２０５では、ＣＭＹＫ各色８ビットの画像データのそれぞれについて、階調数を減じるようにＱ値化する（ここでＱは２以上８未満の整数）。Ｑ値化された画像データは、レーザ露光の照射時間に相当するパルス幅に各画素が変調され、最終的に２値画像データとして、画像形成プロセスを行うプリンタエンジン部１３０へ送出される。なお、ハーフトーン処理部２０５およびハーフトーンパラメータ選択部２０６の詳細な構成および動作については後述する。
【００３０】
●ハーフトーン処理
以下、本実施形態におけるハーフトーン処理部２０５の構成および動作について、詳細に説明する。なお、以下では説明を簡略化するため、８ビット（２５６値）の画像データ１色に対し、本実施形態のハーフトーン処理によって２値画像を生成する方法について説明する。但し、本発明はこの例に限らず、任意の画像データに対し、２値以上の画像を生成するハーフトーン処理に適用できる。
【００３１】
図６は、ハーフトーン処理部２０５およびハーフトーンパラメータ選択部２０６の詳細構成を示すブロック図である。図６に示すように、ハーフトーン処理部２０５は画像データ分割部６０１、第１の量子化部６０２、画像データ合成部６０４、合成画像量子化部６０５からなる。またハーフトーンパラメータ選択部２０６は、ハーフトーンパラメータ格納部２０７から第１の閾値マトリクスとして選択された係数マトリクス６０３と、第２の閾値マトリクスとして選択されたサブマトリクス６０６を、ハーフトーン処理部２０５に提供する。
【００３２】
ハーフトーン処理部２０５において、画像データ分割部６０１は、多値の入力画像データを受信して、後述する方法により第１の画像データと第２の画像データに分割する。第１の量子化部６０２は、分割された第１の画像データを、ハーフトーンパラメータ選択部２０６で選択された係数マトリクス６０３を用いて２値化する。画像データ合成部６０４は、２値化された第１の画像データと、第２の画像データを画像合成する。合成画像量子化部６０５は、画像データ合成部６０４で合成された画像データに対し、ハーフトーンパラメータ選択部２０６で選択されたサブマトリクス６０６を用いて２値化する、第２の量子化を行う。なおこの第２の量子化は、入力画像データの画素値とサブマトリクスあるいは係数マトリクスの各画素に設定された閾値を比較することによって行うとする。具体的には、入力画像データの画素値が閾値より大きい値である場合は１、閾値以下である場合は０とすることで２値化する。なお、入力画像データの画素値が最大値である場合、例えば入力画像データが８ビット表現でその値が２５５である場合には、その２値化結果は１となる。
【００３３】
ここで図７に、本実施形態で用いる係数マトリクス６０３とサブマトリクス６０６の例を示す。図７に示すように、サブマトリクス６０６は、例えば出力解像度６００ＤＰＩ、スクリーン線数１５０ＬＰＩ、スクリーン角度０度の場合における１つの網点セルを表しており、４×４画素で構成され、各画素に閾値（０〜１５の全１６閾値）が設定されている。また、係数マトリクス６０３を各画素に閾値（０〜１５の全１６閾値）を設定した４×４画素とする。なお、本実施形態における係数マトリクス６０３とサブマトリクス６０６のそれぞれにおける閾値はそれぞれ４ビットで表される。したがって、これら２つのマトリクスを組み合わせて用いることで、入力画像データと同等の８ビット（２５６階調）表現が可能となる。すなわち、本実施形態における係数マトリクス６０３とサブマトリクス６０６のそれぞれにおける閾値数は、その組み合わせによって入力画像データと同等の階調数が表現可能となるように設定されている。言い換えれば、係数マトリクス６０３の閾値を表すビット数と、サブマトリクス６０６の閾値を表すビット数との和が、入力画像データの階調を表すビット数に等しくなるように設定されていれば良い。なお、サブマトリクス６０６や係数マトリクス６０３の各画素の閾値を変えることで、出力画像をドット集中型やドット分散型にすることができる。
【００３４】
以下、ハーフトーン処理部２０５における処理、すなわち上記Ｓ４０４のハーフトーン処理の詳細について、図５のフローチャートを用いて説明する。
【００３５】
まずＳ５０１で、上記Ｓ４０３で濃度補正されたＣＭＹＫ各色８ビットの画像データをハーフトーン処理部２０５で受信する。次にＳ５０２で、上記Ｓ４０１で外部イメージメモリ１１１に格納された印刷モードを、ハーフトーンパラメータ選択部２０６で受信する。ここで印刷モードとは、例えば画像形成装置における階調性を重視する階調モードや、解像性を重視する解像モードであり、階調性や解像性は、サブマトリクスの大きさ、つまりスクリーン線数の違いにより表現できる。スクリーン線数を低くした場合、サブマトリクスのサイズが大きくなり、表現できる階調数が増える。また、スクリーン線数を高くした場合、サブマトリクスのサイズが小さくなり、サブマトリクスの繰り返し周期が高周波となるため、解像性が増す。
【００３６】
次にＳ５０３で、ハーフトーンパラメータ選択部２０６において、印刷モードに対応したハーフトーンパラメータをハーフトーンパラメータ格納部２０７から選択する。なお、上述したように内部メモリ１２５は、画像形成装置１１０の電源オン時にＲＯＭ１１２から送出された画像処理パラメータを格納する。ここで、内部メモリ１２５内のハーフトーンパラメータ格納部２０７は、ＣＭＹＫ各色に対応するサブマトリクスと係数マトリクスを１組とし、複数組を記憶することで、複数の印刷モードに対応する。
【００３７】
次にＳ５０４で、画像データ分割部６０１において、Ｓ５０１で受信した入力画像データを、それぞれが該入力画像データと同じ画素数からなる第１の画像データと第２の画像データに分割する。詳細には、多値画像データの各画素値において、サブマトリクス６０６の閾値を表すビット数分の上位ビットデータを第２の画像データとし、下位ビットデータを第１の画像データとして分割する。
【００３８】
例えば、入力画像データが８ビットで、サブマトリクス６０６の各画素に配置された閾値が０〜１５の整数値であるとする。この場合、閾値の数が１６個（４ビット分）であるため、入力画像データの上位４ビットの画像データが第２の画像データとして分割され、下位４ビットの画像データが第１の画像データとして分割される。なお、サブマトリクスの各画素に配置された閾値の数が４個（２ビット分）である場合には、入力画像データの上位２ビットが第２の画像データに、下位６ビットが第１の画像データに、それぞれ分割される。すなわち、第２の画像データとしての上位ビット数が、サブマトリクスにおける閾値を表すビット数となるように設定される。なお、本実施形態における係数マトリクスとサブマトリクスのそれぞれの閾値数は、その組み合わせによって入力画像データと同等の階調表現が可能となるように設定されている。したがって言い換えれば、第１の画像データとしての下位ビット数が、係数マトリクスの閾値を表すビット数に応じて決定されている、ということになる。
【００３９】
ここで図８に、入力画像データが８ビット、図６で示したサブマトリクス６０６の閾値数が１６個（４ビット分）の場合における分割例を示す。図８において、入力画像データは各画素値が７０／２５５であり、すなわち８ビット表現では０１０００１１０であるから、これを上位４ビットと下位４ビットに分割する。すると、上位４ビットである第２の画像データの値は０１００００００（２進数）、あるいは６４／２５５（１０進数）となり、上位４ビットだけの値を示すと、０１００（２進数）、あるいは４／１５（１０進数）である。同様に、下位４ビットである第１の画像データは、０１１０（２進数）、あるいは６／１５（１０進数）となる。なお、以降の説明を簡略化するため、便宜的に第１および第２の画像データの画素値を４ビット、１０進数で表記する。
【００４０】
次にＳ５０５で、Ｓ５０４で分割された第１の画像データに対し、係数マトリクス６０３を用いた２値化を行う。ここでは、係数マトリクス６０３の各画素の閾値を、サブマトリクス６０６のサイズに単純拡大して繰り返し用いるとする。詳細には、係数マトリクス６０３における各画素をサブマトリクス６０６を構成する画素数分に拡大して当該画素の閾値で充填し、該拡大された係数マトリクス６０３を第１の画像データに対して適用する。ここで図９に、第１の画像データを、各画素をサブマトリクス６０６のサイズに単純拡大した係数マトリクス６０３によって２値化した結果を示す。
【００４１】
次にＳ５０６で、Ｓ５０５により算出された第１の画像データの２値化結果（量子化結果）と、Ｓ５０４で分割された第２の画像データとを合成する。ここでは、第２の画像データの値に第１の画像データの２値化結果、つまり各画素０あるいは１の値を加算することで、画像データを合成する。図１０は、第１の画像データの２値化結果と第２の画像データを合成して得られる合成画像データの例を示している。
【００４２】
次にＳ５０７で、Ｓ５０６で算出した合成画像データに対し、サブマトリクス６０６を用いて２値化する。図１１は、合成画像データをサブマトリクス６０６で２値化した例を示している。図１１に示すように、４×４画素サイズのサブマトリクス６０６は、入力画像サイズ分に繰り返し用いられる。なお図１１において、２値化された各画素の出力値は０あるいは１の１ビットで表示されているが、画素値が１である画素が、プリンタエンジン部１３０によりドットが打たれる画素である。
【００４３】
以上のように図５のフローチャートに示す一連の処理によって、１色の画像データのハーフトーン処理が完了し、Ｓ５０３〜Ｓ５０７までの処理をＣＭＹＫ分繰り返すことで、入力された画像データの全色についてのハーフトーン処理が終了する。
【００４４】
以上説明したように本実施形態によれば、多値の入力画像をサブマトリクス法によってハーフトーン処理する際に、従来のような大きいサイズの閾値マトリクスを用いず、小さいサイズのサブマトリクスと係数マトリクスを用いる。したがって、内部メモリ１２５に記憶させるべきデータ量はサブマトリクスと係数マトリクスのみであるため、従来のように大きいサイズの閾値マトリクスを記憶する場合に比べ、使用するメモリ容量を少なくすることが可能である。具体的には、８ビットの入力画像データをハーフトーン処理する場合、図７に示したように、サブマトリクスのサイズは４×４＝１６画素であり、各画素が１６階調（４ビット）であるため、データ量は６４ビットとなる。同様に、係数マトリクスのデータ量は、６４ビットであり、サブマトリクス６０６と係数マトリクス６０３のデータ量は合計で１２８ビットとなる。これに対し、従来は、各画素において２５６階調（８ビット）のデータ量を持つ１６×１６＝２５６画素分の閾値マトリクスが必要となるため、データ量は２０４８ビットとなる。
【００４５】
このように本実施形態では、入力画像データをハーフトーン処理する場合に、サブマトリクス法で使用される閾値マトリクスを用いた場合と同等の画質を維持しつつ、該閾値マトリクスを保持するための内部メモリ（ＳＲＡＭ）容量を削減することができる。したがって、画像処理の高速化も実現される。
【００４６】
なお本実施形態では、８ビット（２５６階調）の入力画像データに対して、サブマトリクスと係数マトリクスの１セットを用いたハーフトーン処理を行うことによって２値画像を生成する例について説明した。本発明はこのように８値→２値のハーフトーン処理に限らず、Ｐ値の入力画像データに対し、多値ハーフトーン処理によってＱ値の多値画像を生成することが可能である。Ｑ値画像を生成する場合には、（Ｑ−１）個のサブマトリクスと係数マトリクスを１セット用意すれば良い。具体的には、本実施形態で説明したように、入力画像データを第１および第２の画像データ分割し、第１の画像データを係数マトリクスで２値化する。そして、その２値化結果と第２の画像データを合成し、（Ｑ−１）個のサブマトリクスで量子化すれば、Ｑ値画像を生成することが可能である。このようにＱ値（Ｑ＞２）へのハーフトーン処理を行う場合においても、従来に比べて、小さいサイズのサブマトリクスと係数マトリクスを用いるため、ハーフトーン処理で使用する内部メモリ容量を抑えることができる。
【００４７】
なお本実施形態では、入力画像データを２つの画像データに分割し、第１の閾値マトリクスと第２の閾値マトリクスの２つを用いてハーフトーン処理を行う例を示した。しかしながら本発明はこの例に限らず、入力画像データを２つ以上の画像データに分割しても良いし、２つ以上の閾値マトリクスを用いても良い。例えば、第１の画像データを更に２つの画像データに分割して第３、第４の画像データとする。また、第１の閾値マトリクスを２つの閾値マトリクスに分割して、第３、第４の閾値マトリクスとする。そして、第３の画像データを第３の閾値マトリクスで２値化し、該２値化結果と第４の画像データを合成し、該合成画像データを第４の閾値マトリクスで量子化すれば良い。
【００４８】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。上述した第１実施形態では、多値の入力画像をハーフトーン処理によって２値化する際に、閾値マトリクスのスクリーン角度を０度とする場合について説明した。第２実施形態では、スクリーン角度が０度以外でのハーフトーン処理を行う場合について説明する。
【００４９】
図１２は、出力解像度６００ＤＰＩ、スクリーン線数２１２ＬＰＩ、スクリーン角度４５度の場合における１つの網点セルの例を示している。スクリーン角度が４５度の場合でも、１つの網点セルに対応するサブマトリクスは、網点セルを表す２方向のベクトルが決まれば作成することができる。
【００５０】
ここで図１２において、周知のホラデーアルゴリズム（Holladay Algorithm）を用いてサブマトリクスを作成する例を示す。図１２において、１つの網点セルは、原点（０，０）から（２，２）へ延びるベクトル（ｘ，ｙ）と、原点（０，０）から（−２，２）へ延びるベクトル（ｕ，ｖ）の２方向のベクトルで表される。この２つのベクトルの繰り返しを二次元平面上の矩形マトリクスの繰り返しとシフト量で表現したものを、ホラデー・タイル（Holladay Tile）あるいはホラデーの循環マトリクスと呼び、ほとんどの網点セル配置はこれで表現できる。つまり、ホラデー・タイルにより、１つの網点セルを矩形のサブマトリクスとして表わすことができる。なお、シフト量とは、サブマトリクスの繰り返し周期を表したものである。第２実施形態の場合、ホラデーアルゴリズムを用いることで図１２に破線で示すように、４×２＝８画素のサブマトリクスが抽出され、この場合のシフト量は、主走査方向に２画素、副走査方向に２画素となる。このように、網点セルがスクリーン角度を有するように配置される場合においても、矩形のサブマトリクスを形成することができる。
【００５１】
第２実施形態で用いる係数マトリクスは、サブマトリクスに応じて以下のように設定される。上述した第１実施形態と同様に入力画像データが２５６階調（８ビット）であるとする。すると、図１２に示すサブマトリクスで表現できる階調が８階調（３ビット）であるため、２５６階調を表現可能とするために、係数マトリクスとしては例えば４×８＝３２画素（５ビット）を用いる。図１３に、第２実施形態で用いるサブマトリクス１３０１と係数マトリクス１３０２の例を示す。
【００５２】
●ハーフトーン処理
以下、図１３に示したサブマトリクス１３０１と係数マトリクス１３０２を用いたハーフトーン処理を行う例について説明する。なお、第２実施形態における画像形成システムの構成は上述した第１実施形態と同様であるため、詳細な説明は省略する。以下、図５のフローチャートを用いて、第２実施形態におけるハーフトーン処理について説明する。
【００５３】
まず、Ｓ５０１〜Ｓ５０２で、第１実施形態と同様に、ハーフトーン処理部２０５で濃度補正後のＣＭＹＫ各色８ビットの画像データを受信し、ハーフトーンパラメータ選択部２０６で印刷モードを受信する。そしてＳ５０３でやはり第１実施形態と同様に、ハーフトーンパラメータ選択部２０６で、印刷モードに対応したハーフトーンパラメータをハーフトーンパラメータ格納部２０７から選択する。このとき第２実施形態では、図１３に示したサブマトリクス１３０１と係数マトリクス１３０２が選択される。
【００５４】
次にＳ５０４で、画像データ分割部６０１において、Ｓ５０１で受信した入力画像データを第１の画像データと第２の画像データに分割する。このとき第２実施形態では、サブマトリクス１３０１の閾値数が３ビットで、係数マトリクス１３０２の閾値数が５ビットであるから、８ビットの入力画像データの下位５ビットを第１の画像データ、上位３ビットを第２の画像データとして分割する。ここで図１４に、Ｓ５０４で入力画像データの各画素値９０／２５５を、その下位５ビットからなる第１の画像データと、上位３ビットからなる第２の画像データに分割した例を示す。なお、図１４では上述した第１実施形態と同様に、便宜的に第１および第２の画像データの画素値を１０進数で表示している。
【００５５】
次にＳ５０５で、分割された第１の画像データに対し、係数マトリクス１３０２を用いた２値化を行う。第２実施形態でも第１実施形態と同様に、係数マトリクス１３０２の各画素の閾値をサブマトリクスのサイズに単純拡大し、繰り返し用いる。このように係数マトリクス１３０２を繰り返し用いても、Ｓ５０５で２値化された画像のドット点灯数は変わらないため、係数マトリクス１３０２の繰り返しには、上述したシフト量は用いなくても良い。
【００５６】
そしてＳ５０６で、第１の画像データの２値化結果と、Ｓ５０２で分割された第２の画像データとを合成し、次にＳ５０７で、該合成した画像データに対し、サブマトリクス１３０１を用いた２値化を行う。第２実施形態では、入力画像サイズに合わせてサブマトリクスを繰り返し用いる場合は、上述したシフト量に応じてサブマトリクスを配置する。ここで図１５に、第２実施形態におけるＳ５０７の２値化結果を示す。
【００５７】
以上のように第２実施形態においても、図５のフローチャートに示す一連の処理によって、１色の画像データのハーフトーン処理が完了し、Ｓ５０３〜Ｓ５０７までの処理をＣＭＹＫ分繰り返すことで、全色についてのハーフトーン処理が終了する。
【００５８】
以上説明したように第２実施形態によれば、スクリーン角度を有する場合においても小さいサイズのサブマトリクスと係数マトリクスを用いて、多値の入力画像をハーフトーン処理することが可能である。
【００５９】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。上述した第１および第２実施形態では、ハーフトーン処理で用いるサブマトリクスおよび係数マトリクスの閾値数が２のべき乗である例について説明した。第３実施形態では、この閾値数が２のべき乗でない場合のハーフトーン処理例を示す。なお、第３実施形態における画像形成システムの構成は第１実施形態と同様であるため、詳細な説明は省略する。
【００６０】
●ハーフトーン処理
以下、第３実施形態におけるハーフトーン処理について、図５のフローチャートを用いて説明する。まず、Ｓ５０１〜Ｓ５０２で、第１実施形態と同様に、ハーフトーン処理部２０５で濃度補正後のＣＭＹＫ各色８ビットの画像データを受信し、ハーフトーンパラメータ選択部２０６で印刷モードを受信する。そしてＳ５０３でやはり第１実施形態と同様に、ハーフトーンパラメータ選択部２０６で、印刷モードに対応したハーフトーンパラメータをハーフトーンパラメータ格納部２０７から選択する。このとき第３実施形態では、図１６に示すサブマトリクス１６０１と係数マトリクス１６０２が選択される。
【００６１】
ここで、第３実施形態におけるサブマトリクス１６０１と係数マトリクス１６０２について、詳細に説明する。図１６に示したサブマトリクス１６０１は、例えば、出力解像度６００ＤＰＩ、スクリーン線数１２０ＬＰＩ、スクリーン角度０度であり、サイズが５×５＝２５画素で構成されている。また、サブマトリクス１６０１の各画素には、０〜２４の閾値が配置されている。
【００６２】
係数マトリクス１６０２は、入力画像データの階調数とサブマトリクス１６０１で表現できる階調数に応じて、係数マトリクス１６０２の画素数および各画素の閾値を設定する。すなわち、係数マトリクス１６０２に設定する最大の閾値として、入力画像データの階調数をサブマトリクス１６０１の画素数で除算した値をＴとして設定し、係数マトリクス１６０２の各画素の閾値として、０以上でＴより小さい整数値が設定される。また、係数マトリクス１６０２の画素数は、Ｔ画素以上の個数があれば良い。より具体的には、入力画像データが８ビット（２５６階調）、サブマトリクス１６０１の画素数が２５画素の場合、Ｔ＝２５６／２５＝１０．２４となる。したがってこの場合、係数マトリクス１６０２の画素数は１１画素以上であれば良く、例えば、１×１１画素、３×４画素、４×４画素、等の構成となる。係数マトリクス１６０２の各画素には、Ｔより小さい整数値である０〜１０が閾値として配置される。第３実施形態における係数マトリクス１６０２は図１６に示すように、４×４＝１６画素の構成であり、各画素に０から１０までの閾値が設定されている。
【００６３】
すなわち、第３実施形態における係数マトリクスは、入力された多値画像データの階調数をサブマトリクスの画素数で除算した値Ｔを基準値とした場合に、その画素数が該基準値以上の整数値で、かつ閾値が該基準値以下の整数値となる。
【００６４】
次にＳ５０４で、画像データ分割部６０１において、Ｓ５０１で受信した入力画像データを第１の画像データと第２の画像データに分割する。このとき第３実施形態では、入力画像データの画素値を上述したＴで除算し、得られる商の値を第２の画像データとし、剰余の値を第１の画像データとして、入力画像データを分割する。
【００６５】
第３実施形態における入力画像データの分割方法は、以下のような数式で表される。まず、上述したＴは以下の(1)式で表わされる。なお、INPUT_maxは入力画像データの階調数、Matrix_tはサブマトリクスの画素数を示す。
【００６６】
Ｔ＝(INPUT_max／Matrix_t)      ・・・(1)
そして、第１の画像データの画素値および第２の画像データの画素値は以下の(2)、(3)式で表わされる。なお下式においては、int(x)の表記によってｘの整数部を示す。また、OUT_sが第１の画像データの画素値、OUT_kが第２の画像データの画素値を示す。また、INPUT_vは入力画像データの画素値、Matrix_tはサブマトリクスの画素数、INPUT_maxは入力画像データの階調数、をそれぞれ示している。
【００６７】
OUT_k＝int(INPUT_v／Ｔ)＝int{(INPUT_v×Matrix_t)／INPUT_max}      ・・・(2)
OUT_s＝int(INPUT_v−OUT_k×Ｔ)      ・・・(3)
ここで図１７に、入力画像データの各画素値が９５／２５５（８ビット）の場合における、第１の画像データと第２の画像データへの分割例を示す。この場合、第２の画像データの画素値は(2)式より、OUT_k＝int(９５×２５／２５６)＝９となる。また、第１の画像データの画素値は(3)式より、OUT_s＝int(９５−９×２５６／２５)＝２となる。
【００６８】
以上のように、Ｓ５０４で入力画像データを第１および第２の画像データに分割すると、次にＳ５０５で該第１の画像データに対し、係数マトリクス１６０２を用いた２値化を行う。ここでは上述した第１実施形態と同様に、係数マトリクス１６０２の各画素の閾値をサブマトリクス１６０１のサイズに単純拡大し、繰り返し用いる。
【００６９】
次にＳ５０６で、第１の画像データの２値化結果と、第２の画像データとを合成し、さらにＳ５０７で、該合成した画像データに対し、サブマトリクス１６０１を用いた２値化を行う。ここで図１８に、第３実施形態におけるＳ５０７の２値化結果を示す。
【００７０】
以上のように第３実施形態においても、図５のフローチャートに示す一連の処理によって、１色の画像データのハーフトーン処理が完了し、Ｓ５０３〜Ｓ５０７までの処理をＣＭＹＫ分繰り返すことで、全色についてのハーフトーン処理が終了する。
【００７１】
以上説明したように第３実施形態によれば、サブマトリクスおよび係数マトリクスの閾値数が２のべき乗でない場合においても、上述した第１および第２実施形態と同様のハーフトーン処理を行うことが可能である。
【００７２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005603613.tif 000002
【図２】
0005603613.tif 000003
【図３】
0005603613.tif 000004
【図４】
0005603613.tif 000005
【図５】
0005603613.tif 000006
【図６】
0005603613.tif 000007
【図７】
0005603613.tif 000008
【図８】
0005603613.tif 000009
【図９】
0005603613.tif 000010
【図１０】
0005603613.tif 000011
【図１１】
0005603613.tif 000012
【図１２】
0005603613.tif 000013
【図１３】
0005603613.tif 000014
【図１４】
0005603613.tif 000015
【図１５】
0005603613.tif 000016
【図１６】
0005603613.tif 000017
【図１７】
0005603613.tif 000018
【図１８】
0005603613.tif 000019