(57)【要約】【課題】色処理モジュールは、汎用のハーフトーンロジックを使用してハーフトーン処理を行う。そのため、サイズが異なる様々なディザパターンに最適な処理を行うことはできず、その結果、ハーフトーン処理を高速に行うことができない。【解決手段】複数のディザパターンと、それらの情報、並びに、複数のディザパターンに対応して複数のハーフトーンロジックを記憶するメモリから、使用するディザパターンの情報を取得し（Ｓ４０）、取得した情報に対応するハーフトーンロジックを選択し（Ｓ４１−Ｓ４１３）、選択されたハーフトーンロジックを使用して入力画像全体にハーフトーン処理を施す。【選択図】    図５
2004248108.tif 000002
【特許請求の範囲】
【請求項１】
複数のディザパターンと、それらの情報、並びに、前記複数のディザパターンに対応して複数のハーフトーンロジックを記憶するメモリと、
使用するディザパターンの情報を取得する取得手段と、
取得した情報に対応するハーフトーンロジックを選択する選択手段と、
選択されたハーフトーンロジックを使用して入力画像全体にハーフトーン処理を施す処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記ディザパターンの情報は、ディザパターンの階調数およびサイズを表すことを特徴とする請求項１に記載された画像処理装置。
【請求項３】
前記選択手段は、選択したハーフトーンロジックを示すポインタを前記メモリに保存し、前記処理手段は、前記メモリに保存されたポインタが示すハーフトーンロジックを使用することを特徴とする請求項１または請求項２に記載された画像処理装置。
【請求項４】
前記処理手段は、画像のライン単位にハーフトーン処理を実行することを特徴とする請求項１から請求項３の何れかに記載された画像処理装置。
【請求項５】
複数のディザパターンと、それらの情報、並びに、前記複数のディザパターンに対応して複数のハーフトーンロジックを記憶するメモリから、使用するディザパターンの情報を取得し、
取得した情報に対応するハーフトーンロジックを選択し、
選択されたハーフトーンロジックを使用して入力画像全体にハーフトーン処理を施すことを特徴とする画像処理方法。
【請求項６】
前記ディザパターンの情報は、ディザパターンの階調数およびサイズを表すことを特徴とする請求項５に記載された画像処理方法。
【請求項７】
請求項５または請求項６に記載された画像処理を画像処理装置に実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、プリンタドライバなどの色処理に関する。
【０００２】
【従来の技術】
色処理モジュールは、プリンタドライバが画像処理を行う場合に使用するモジュールである。色処理モジュールは、ディザパターンのサイズに依存しない汎用のロジックを使用してハーフトーン処理を行い、さらに、ハーフトーン処理において、ディザパターンの階調数を認識してハーフトーンロジックを選択し使用する。
【０００３】
【発明が解決しようとする課題】
色処理モジュールは、汎用のハーフトーンロジックを使用してハーフトーン処理を行う。そのため、サイズが異なる様々なディザパターンに最適な処理を行うことはできず、その結果、ハーフトーン処理を高速に行うことができない。
【０００４】
また、ハーフトーンロジックの選択は、本来、最初の一回だけでよいが、ハーフトーン処理時、ラインごとにハーフトーンロジックが選択される。この選択も高速処理の妨げになっている。
【０００５】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、ハーフトーン処理を高速に行うことを目的とする。
【０００６】
また、ディザパターンに応じたハーフトーンロジックを使用してハーフトーン処理を行うことを他の目的とする。
【０００７】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明は、複数のディザパターンと、それらの情報、並びに、前記複数のディザパターンに対応して複数のハーフトーンロジックを記憶するメモリから、使用するディザパターンの情報を取得し、取得した情報に対応するハーフトーンロジックを選択し、選択されたハーフトーンロジックを使用して入力画像全体にハーフトーン処理を施すことを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１０】
［構成］
図１は実施形態の画像処理装置を示すブロック図で、汎用のパーソナルコンピュータに画像処理ソフトウェアなどを供給することで実現される。
【００１１】
ＣＰＵ  ３０１は、ＲＡＭ  ３０２をワークメモリとして、ＲＯＭ  ３０３やハードディスクドライブ（ＨＤＤ）３０４に格納されたオペレーティングシステム（ＯＳ）やアプリケーションソフトウェアなど様々なプログラムを実行し、システムバス３０９に接続された各構成を制御する。なお、後述する画像処理もＣＰＵ  ３０１によって実行される。
【００１２】
液晶ディスプレイ（ＬＣＤ）３０５は、ユーザインタフェイス画面、入力および出力画像を含む様々な処理の状況・結果を表示するためのモニタである。操作部３０７は、例えばキーボードやマウスなどのポインティングデバイスを含み、ユーザがコマンドやデータを画像処理装置へ入力するためのものである。汎用インタフェイス３０８は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４などのシリアルバス、ＳＣＳＩ、ＧＰＩＢ、ＩＥＥＥ１２８４、ＰＣカードバスなどのパラレルインタフェイス、ＲＳ２３２Ｃ、ＲＳ４２２などのシリアルインタフェイスなどで（複数の組み合わせも可能）、例えばイメージスキャナ、フィルムスキャナ、ディジタルカメラ、ビデオカメラなどの入力デバイス、並びに、プリンタなどの出力デバイスを接続することができる。
【００１３】
なお、図には記載しないが、ＨＤＤ  ３０４とシステムバス３０９の間、ＬＣＤ  ３０５とシステムバス３０９の間、および、操作部３０７とシステムバス３０９の間にはそれぞれインタフェイスが存在する。
【００１４】
また、ＨＤＤ  ３０４には、汎用インタフェイス３０８に接続される様々な入出力デバイス用のドライバ（ソフトウェア）が格納され、ＣＰＵ  ３０１と入出力デバイスの間のインタフェイス機能を提供する。
【００１５】
さらに、実施形態のＨＤＤ  ３０４には、ＣＰＵ  ３０１が実行するプリンタドライバが必要とする最小限の色処理モジュールが格納されている。詳細は後述するが、この色処理モジュールは、ディザパターンの階調数およびサイズに対応する複数のハーフトーンロジックを備え、ディザパターンの階調数とサイズ情報を取得するための機能、ハーフトーン初期化時にディザパターンの階調数とサイズに最適なハーフトーンロジックを選択するための機能、選択したハーフトーンロジック関数のポインタを保存するための機能、ディザパターンの階調数およびサイズとハーフトーンロジックを関連付けるためのテーブル、ハーフトーン処理時に保存したハーフトーンロジック関数のポインタ参照によって関数をコールするための機能を有する。従って、プリンタドライバは、様々なディザパターンに最適なハーフトーンロジックによるハーフトーン処理を実行することができる。
【００１６】
［画像処理］
図２はＣＰＵ  ３０１が実行する画像処理を説明する図である。
【００１７】
ユーザは、アプリケーションプログラム（以下「アプリケーション」と呼ぶ）１が提供するユーザインタフェイス画面を介して、印刷処理の実行を指示する。この指示は、プリンタドライバ２へ通知される。
【００１８】
色処理モジュールのコア部３は、入出力デバイスの機種に依存しない処理を行うモジュールを含み、ディザの階調数およびサイズに依存するハーフトーンロジック３１、３２、３４および３５、並びに、ディザの階調数に依存し、サイズに依存しない汎用ハーフトーンロジック３３、３６および３７、などが実装されている。また、テーブル３８は、ディザの階調数およびサイズと、ハーフトーンロジックとの関連付けを示すテーブルである。このテーブル３８を参照することで、ディザの階調数およびサイズに最適なハーフトーンロジックを選択することができる。メモリ領域３９は、選択されたハーフトーンロジック関数へのポインタを格納するためのメモリ領域である。
【００１９】
色処理モジュールには、コア部３のほかに、処理部４およびデータ部５がある。色処理モジュールのデータ部５には、色処理モジュールが保持するディザパターン５１から５３が格納されている。図３はディザパターンの階調数およびサイズと、ハーフトーンロジックとを関連付けるテーブルの一例を示す図である。
【００２０】
図４はハーフトーン処理を説明するフローチャートで、プリンタドライバのユーザインタフェイスを介して、ユーザから印刷の開始が指示された場合に実行される処理である。なお、ディザパターンは、印刷の開始前にユーザに選択される、あるいは、プリンタの能力に応じてプリンタドライバによって選択される。なお、ユーザインタフェイスに表示するディザパターンの種類は、例えば「四階調、８×８画素」のような直接的なものであってもよいし、例えば「写真用」「ビジネス文書用」「汎用」のような間接的なものであってもよい。
【００２１】
まず、ハーフトーン初期化処理を行う（Ｓ３１）。ハーフトーン初期化処理は、色処理モジュールの処理部４を介して、色処理モジュールのデータ部５からディザパターン、および、その階調数およびサイズ情報を取得し、最適なハーフトーンロジックを選択し、その関数へのポインタを保存する処理である。なお、ハーフトーンロジックの選択とポインタの保存に関しては後述する。
【００２２】
次に、入力画像（印刷すべき画像）のラインごとにハーフトーン処理を行う（Ｓ３２）。ここでは、ハーフトーン初期化処理時に保存された、関数へのポインタをコールすることで処理を行う。続いて、最終ラインの処理が終わったか否かを判定し（Ｓ３３）、未了であれば処理をステップＳ３２へ戻す。最終ラインの処理が終了した場合は、ハーフトーン終了処理を行い（Ｓ３４）、ワークメモリ（ＲＡＭ  ３０２等）はこの時点で解放される。なお、ハーフトーン処理された画像はプリンタへ出力されることは言うまでもない。
【００２３】
図５はハーフトーンロジックを選択するハーフトーン初期化処理の一例を説明するフローチャートである。
【００２４】
まず、ディザパターン、および、その階調数とサイズ情報を取得し（Ｓ４０）、取得した階調数が４ビット（１６階調）か否かを判定し（Ｓ４１）、４ビットであれば図２に示すハーフトーンロジックＧ（４ビット、汎用）３７を選択する（Ｓ４１３）。
【００２５】
また、階調数が４ビットでなければ、２ビット（四階調）か否かを判定し（Ｓ４２）、２ビットであれば、サイズが８×８か否かを判定する（Ｓ４８）。８×８ならば図２に示すハーフトーンロジックＤ（２ビット、８×８用）３４を選択する（Ｓ４１２）。サイズが８×８でなければ、１６×１６か否かを判定し（Ｓ４９）、１６×１６ならば図２に示すハーフトーンロジックＥ（２ビット、１６×１６用）３５を選択し（Ｓ４１１）、そうでなければ図２に示すハーフトーンロジックＦ（２ビット、汎用）３６を選択する（Ｓ４１０）。
【００２６】
また、階調数が４ビットでも２ビットでもない場合は１ビット（二階調）と判断し、サイズが８×８か否かを判定する（Ｓ４３）。８×８ならば図２に示すハーフトーンロジックＡ（１ビット、８×８用）３１を選択する（Ｓ４７）。サイズが８×８でなければ、１６×１６か否かを判定し（Ｓ４４）、１６×１６ならば図２に示すハーフトーンロジックＢ（１ビット、１６×１６用）３２を選択し（Ｓ４６）、そうでなければ図２に示すハーフトーンロジックＣ（１ビット、汎用）３３を選択する（Ｓ４５）。
【００２７】
ハーフトーンロジックの選択後、選択したハーフトーンロジックの関数ポインタをＲＡＭ  ３０２のメモリ領域３９に保存する（Ｓ４１４）。なお、ハーフトーンロジックは図３に示したテーブルの記述に基づき選択されることは言うまでもない。
【００２８】
ハーフトーン処理における一連の処理は、従来も、図４の処理とほぼ同じであるが、ハーフトーンロジックの選択方法が異なる。そこで、図５に示した実施形態のハーフトーンロジックの選択方法の優位性を説明するために、一般的なハーフトーンロジックの選択方法を説明する。
【００２９】
図６は一般的なハーフトーンロジックの選択を説明するフローチャートで、図３に示すハーフライン処理Ｓ３２に相当する処理部分である。
【００３０】
従来は、ハーフトーン初期化処理時に、ハーフトーンロジックを選択せずに、ラインごとのハーフトーン処理実行時、つまり１ライン処理ごとにディザパターンの階調数を判定してハーフトーンロジックを選択していた。具体的には、ディザパターンの階調数を取得し（Ｓ５１）、取得した階調数を判定する（Ｓ５２−Ｓ５３）。そして、４ビットならばハーフトーンロジック（４ビット、汎用）を選択し（Ｓ５６）、２ビットならばハーフトーンロジック（２ビット、汎用）を選択し（Ｓ５５）、４ビットでも２ビットでもなければ１ビットと判断してハーフトーンロジック（１ビット、汎用）を選択し（Ｓ５４）、選択したハーフトーンロジックを用いてハーフトーン処理を行う。異常の処理をライン単位に実行する、つまり、ライン単位にハーフトーンロジックを選択し、ディザパターンのサイズに基づくハーフトーンロジックの選択は行っていない。
【００３１】
このように、実施形態によれば、サイズが異なる様々なディザパターンに対応して、適切なハーフトーンロジックを選択し、選択したハーフトーンロジックを使用してハーフトーン処理を行う色処理モジュールを提供することができる。その結果、ハーフトーン処理を高速に行うことはできる。
【００３２】
さらに、一つの入力画像または一回の印刷ジョブに対して、ハーフトーンロジックの選択は一回だけで済み、ラインごとにハーフトーンロジックが選択する場合に比べて、ハーフトーン処理を高速化することができる。
【００３３】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００３４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００３７】
【発明の効果】
以上説明したように、本発明によれば、ハーフトーン処理を高速に行うことができる。
【００３８】
また、ディザパターンに応じたハーフトーンロジックを使用してハーフトーン処理を行うことができる。
【図面の簡単な説明】
【図１】実施形態の画像処理装置を示すブロック図、
【図２】ＣＰＵが実行する画像処理を説明する図、
【図３】ディザパターンの階調数およびサイズと、ハーフトーンロジックとを関連付けるテーブルの一例を示す図、
【図４】ハーフトーン処理を説明するフローチャート、
【図５】ハーフトーンロジックを選択するハーフトーン初期化処理の一例を説明するフローチャート、
【図６】一般的なハーフトーンロジックの選択を説明するフローチャートである。
【図１】
2004248108.tif 000003
【図２】
2004248108.tif 000004
【図３】
2004248108.tif 000005
【図４】
2004248108.tif 000006
【図５】
2004248108.tif 000007
【図６】
2004248108.tif 000008