(57)【要約】【課題】  プロセッサにより画像処理を行う場合において、画像処理に用いるハードウェア資源に適した画像処理方法を自動的に選択することを可能とする。【解決手段】  画像処理についての複数の画像処理方法を候補処理方法として準備する。そして、プロセッサが、候補処理方法のそれぞれを用いて所定の参照画像に対する画像処理を実行し、画像処理の実行に要した時間が最も短い画像処理方法を選択する。【選択図】        図５
2005252558.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサにより行われる画像処理についての画像処理方法を選択する画像処理方法選択方法であって、
（ａ）前記画像処理についての複数の画像処理方法を候補処理方法として準備する工程と、
（ｂ）前記プロセッサが、前記候補処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する工程と、を備える、画像処理方法選択方法。
【請求項２】
請求項１記載の画像処理方法選択方法であって、
前記プロセッサは、１つの実行リソースに対して、レジスタ群を有するアーキテクチャステートを複数備えている、画像処理方法選択方法。
【請求項３】
請求項２記載の画像処理方法選択方法であって、
前記候補処理方法は、前記画像処理の中の少なくとも１つの処理に用いる前記アーキテクチャステートの数が異なる複数の画像処理方法を含む、画像処理方法選択方法。
【請求項４】
請求項２または請求項３に記載の画像処理方法選択方法であって、
前記画像処理は、ハーフトーン処理を含み、
前記候補処理方法は、前記ハーフトーン処理に用いるハーフトーン処理手法の異なる複数の画像処理方法を含む、画像処理方法選択方法。
【請求項５】
請求項３または請求項４に記載の画像処理方法選択方法であって、
前記画像処理方法の選択は、前記画像処理を行うことができる画像処理プログラムのインストールの際に実行される、画像処理方法選択方法。
【請求項６】
請求項５記載の画像処理方法選択方法であって、
前記画像処理方法の選択は、前記画像処理に用いるハードウェア資源について変更があった際に実行される、画像処理方法選択方法。
【請求項７】
プロセッサにより行われる画像処理についての画像処理方法を選択する画像処理方法選択方法であって、
（ａ）前記画像処理の中の少なくとも１つの処理に用いるアーキテクチャステートの数が異なる複数の画像処理方法を候補処理方法として準備する工程と、
（ｂ）前記プロセッサが、前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えているか否かを判定する工程と、
（ｃ）前記プロセッサが、前記工程（ｂ）において前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えていると判定されたときは、前記候補処理方法の中から前記アーキテクチャステートを複数用いて処理を行う画像処理方法を選択し、前記工程（ｂ）において前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えていないと判定されたときは、前記候補処理方法の中から前記アーキテクチャステートを複数用いないで処理を行う画像処理方法を選択する工程と、
（ｄ）前記プロセッサが、前記工程（ｃ）において選択された画像処理方法が複数有るか否かを判定する工程と、
（ｅ）前記プロセッサが、前記工程（ｄ）において画像処理方法が複数あると判定されたときは、前記工程（ｃ）において選択された画像処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する工程と、を備える、画像処理方法選択方法。
【請求項８】
プロセッサにより行われる画像処理についての画像処理方法を選択する画像処理方法選択プログラムであって、
予め準備された前記画像処理についての複数の画像処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する機能、をコンピュータに実現させることを特徴とする、画像処理方法選択プログラム。
【請求項９】
プロセッサにより画像処理を行う画像処理方法であって、
（ａ）前記画像処理についての複数の画像処理方法を候補処理方法として準備する工程と、
（ｂ）前記プロセッサが、前記候補処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する工程と、
（ｃ）前記プロセッサが、前記工程（ｂ）において選択された画像処理方法を用いて前記画像処理を行う工程と、を備える、画像処理方法。
【請求項１０】
プロセッサにより画像処理を行う画像処理装置であって、
前記画像処理についての複数の画像処理方法を候補処理方法として準備し、前記候補処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する画像処理設定部と、
前記画像処理設定部により選択された画像処理方法を用いて前記画像処理を行う画像処理部と、を備える、画像処理装置。
【請求項１１】
プロセッサに画像処理を行わせる画像処理プログラムであって、
予め準備された前記画像処理についての複数の画像処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する機能と、
前記選択された画像処理方法を用いて前記画像処理を行う機能と、をコンピュータに実現させることを特徴とする、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサにより行われる画像処理についての画像処理方法を選択する技術に関する。
【背景技術】
【０００２】
プリンタを用いて画像を印刷するとき、プリンタドライバ内では、画像データに対する色変換処理やハーフトーン処理等の画像処理が行われる。このような画像処理には様々な画像処理方法が用いられており、例えばハーフトーン処理は、誤差拡散法やディザ法等の画像処理方法を用いて、あるいはそれらを組み合わせた画像処理方法を用いて行われている。
【０００３】
近年、印刷の対象となる画像の解像度の増大や、印刷に用いるインクドットの種類の増加といった、プリンタドライバ内での画像処理に要する時間が増大する要因が増加している。そのため、画像処理を高速に行うための種々の技術が提案されている（例えば特許文献１）。
【０００４】
【特許文献１】特開２０００−２９３６７４号公報
【０００５】
他方、近年のコンピュータ技術の進展に伴い、高速なプロセッサや大容量のメモリ等の様々なハードウェア資源が開発されており、例えば、１つのプロセッサを論理的に２つのプロセッサとして働かせる技術も実用化されている。このような様々なハードウェア資源を、上記のような画像処理に用いることによって、画像処理をより高速に行うことが可能となることが期待されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記のような画像処理は、種々のハードウェア資源を活用して行われるため、どのような画像処理方法を用いると高速に処理を行うことができるのかは、処理に用いるハードウェア資源によって異なることが多い。例えば、あるハードウェア資源を用いて画像処理を行うときに高速となる画像処理方法であっても、別のハードウェア資源を用いて画像処理を行うときに高速となるとは限らない。そのため、画像処理に用いるハードウェア資源に適した画像処理方法を選択するのが困難であるという問題があった。
【０００７】
なお、このような問題は、プリンタを用いて画像を印刷するときにプリンタドライバ内で行われる画像処理に限らず、プロセッサにより画像処理を行う場合に共通する問題であった。
【０００８】
本発明は、上述した従来の課題を解決するためになされたものであり、プロセッサにより画像処理を行う場合において、画像処理に用いるハードウェア資源に適した画像処理方法を自動的に選択することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題の少なくとも一部を解決するために、本発明の第１の画像処理方法選択方法は、プロセッサにより行われる画像処理についての画像処理方法を選択する画像処理方法選択方法であって、
（ａ）前記画像処理についての複数の画像処理方法を候補処理方法として準備する工程と、
（ｂ）前記プロセッサが、前記候補処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する工程と、を備える。
【００１０】
この画像処理方法選択方法は、プロセッサが、候補処理方法のそれぞれを用いて画像処理を実行し、画像処理に要した時間が最も短い画像処理方法を自動的に選択するため、プロセッサにより画像処理を行う場合において、画像処理に用いるハードウェア資源に適した画像処理方法を自動的に選択することができる。
【００１１】
上記画像処理方法選択方法において、前記プロセッサは、１つの実行リソースに対して、レジスタ群を有するアーキテクチャステートを複数備えているとしてもよい。
【００１２】
このようにすれば、１つの実行リソースに対して、アーキテクチャステートを複数備えるプロセッサを用いた画像処理に適した画像処理方法を自動的に選択することができる。
【００１３】
上記画像処理方法選択方法において、前記候補処理方法は、前記画像処理の中の少なくとも１つの処理に用いる前記アーキテクチャステートの数が異なる複数の画像処理方法を含むとしてもよい。
【００１４】
このようにすれば、複数のアーキテクチャステートを用いて処理を行う画像処理方法と、複数のアーキテクチャステートを用いないで処理を行う画像処理方法とを含む候補処理方法の中から、画像処理に用いるハードウェア資源に適した画像処理方法を自動的に選択することができる。
【００１５】
また、上記画像処理方法選択方法において、前記画像処理は、ハーフトーン処理を含み、前記候補処理方法は、前記ハーフトーン処理に用いるハーフトーン処理手法の異なる複数の画像処理方法を含むとしてもよい。
【００１６】
このようにすれば、複数のハーフトーン処理手法を用いたハーフトーン処理を含む画像処理方法の中から、画像処理に用いるハードウェア資源に適した画像処理方法を自動的に選択することができる。
【００１７】
また、上記画像処理方法選択方法において、前記画像処理方法の選択は、前記画像処理を行うことができる画像処理プログラムのインストールの際に実行されるとしてもよい。
【００１８】
このようにすれば、画像処理プログラムのインストール後、画像処理に用いるハードウェア資源に適した画像処理方法が自動的に選択され、選択した画像処理方法を用いて画像処理を実行することができる。
【００１９】
また、上記画像処理方法選択方法において、前記画像処理方法の選択は、前記画像処理に用いるハードウェア資源について変更があった際に実行されるとしてもよい。
【００２０】
このようにすれば、変更後のハードウェア資源に適した画像処理方法を自動的に選択することができる。
【００２１】
また、本発明の第２の画像処理方法選択方法は、プロセッサにより行われる画像処理についての画像処理方法を選択する画像処理方法選択方法であって、
（ａ）前記画像処理の中の少なくとも１つの処理に用いるアーキテクチャステートの数が異なる複数の画像処理方法を候補処理方法として準備する工程と、
（ｂ）前記プロセッサが、前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えているか否かを判定する工程と、
（ｃ）前記プロセッサが、前記工程（ｂ）において前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えていると判定されたときは、前記候補処理方法の中から前記アーキテクチャステートを複数用いて処理を行う画像処理方法を選択し、前記工程（ｂ）において前記プロセッサが１つの実行リソースに対して複数の前記アーキテクチャステートを備えていないと判定されたときは、前記候補処理方法の中から前記アーキテクチャステートを複数用いないで処理を行う画像処理方法を選択する工程と、
（ｄ）前記プロセッサが、前記工程（ｃ）において選択された画像処理方法が複数有るか否かを判定する工程と、
（ｅ）前記プロセッサが、前記工程（ｄ）において画像処理方法が複数あると判定されたときは、前記工程（ｃ）において選択された画像処理方法のそれぞれを用いて所定の参照画像に対する前記画像処理を実行し、前記画像処理の実行に要した時間が最も短い画像処理方法を選択する工程と、を備える。
【００２２】
この画像処理方法選択は、まず、ＣＰＵに適した画像処理方法を峻別し、その中から実際に画像処理を実行して画像処理に用いるハードウェア資源に最適な画像処理方法を自動的に選択することができる。このようにすれば、最適な画像処理方法の選択に要する時間を短縮することができる。
【００２３】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法選択方法および装置、画像処理方法および装置、画像変換方法および装置、画像出力方法および装置、印刷方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ａ−１．画像処理装置の構成：
Ａ−２．画像処理部の設定：
Ｂ．第２実施例：
Ｃ．変形例：
【００２５】
Ａ．第１実施例：
Ａ−１．画像処理装置の構成：
図１は、本発明の第１実施例としての画像処理装置の構成を概略的に示した説明図である。第１実施例の画像処理装置としてのコンピュータ２００は、ＣＰＵ２１０と、ＲＯＭやＲＡＭ等の内部記憶装置２２０と、外部記憶装置２５０と、ディスプレイ等の表示部２６０と、キーボードやマウス等の操作部２７０と、インターフェイス部（Ｉ／Ｆ部）２８０とを備えている。
【００２６】
ＣＰＵ２１０は、１つの実行リソース２１２と、実行リソース２１２を共有する２つのアーキテクチャステート（Ａｒｃｈ  Ｓｔａｔｅ）２１４とを備えている。実行リソース２１２は、実際に演算を行う演算ユニットを有している。また、アーキテクチャステート２１４は、汎用レジスタと、コントロールレジスタと、ＡＰＩＣレジスタと、その他のマシンステートレジスタとで構成されるレジスタ群を有している。
【００２７】
このＣＰＵ２１０は、２つのアーキテクチャステート２１４を備えているため、２つの論理プロセッサとして機能することができる。従って、ＣＰＵ２１０は、２つのスレッドを並列に処理するスレッドレベルの並列処理を行い、実行リソース２１２の利用効率を高め、処理速度の向上を図ることができるものである。
【００２８】
内部記憶装置２２０には、画像処理設定部２３０および画像処理部２４０として機能するコンピュータプログラムが格納されている。画像処理部２４０は、印刷データを生成するためのプリンタドライバである。すなわち、画像処理部２４０は、印刷の対象となる画像データに対する画像処理を行って、印刷ドットの形成状態を示すドットデータを生成する。画像処理部２４０が行う画像処理には、色変換処理と、ハーフトーン処理とが含まれる。
【００２９】
画像処理部２４０は、複数のハーフトーンモジュール（ＨＴＭ）を含むハーフトーンモジュールグループ（ＨＴＭＧ）２４２を有している。ここで、ハーフトーンモジュールとは、ハーフトーン処理の処理方法を定めたものである。また、ハーフトーンモジュールグループ２４２は、画像処理部２４０による画像処理に用いる候補としてのハーフトーンモジュールの集まりである。図２は、ハーフトーンモジュールの例を概略的に示した説明図である。
【００３０】
図２（ａ）には、ハーフトーンモジュールの構成の例を示している。本実施例のハーフトーンモジュールは、インク色毎に定められたハーフトーン処理方法（誤差拡散法やディザ法等）の情報と、並列処理を行うスレッド数の情報とを含んでいる。例えば、第１のハーフトーンモジュールＨＴＭ１は、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）、ＤＹ（ダークイエロー）の５色についてはディザ法（ｄｉｔｈｅｒ）を用い、ＬＣ（ライトシアン）、ＬＭ（ライトマゼンタ）の２色については誤差拡散法（ＥＤ）を用いるように定められている。また、第１のハーフトーンモジュールＨＴＭ１は、並列処理を行うスレッド数は１つ、すなわち、スレッドレベルの並列処理を用いないように定められている。一方、第２のハーフトーンモジュールＨＴＭ２は、Ｍ、Ｙ、Ｋ、ＤＹの４色についてはディザ法を用い、Ｃ、ＬＣ、ＬＭの３色については誤差拡散法を用い、並列処理を行うスレッド数は２つ、すなわち、２つのスレッドを並列に処理するように定められている。
【００３１】
図２（ｂ）には、図２（ａ）に示したハーフトーンモジュールを用いてハーフトーン処理を行うときの処理の様子を示している。図２（ｂ）では、上から下へと時間軸を設定している。第１のハーフトーンモジュールＨＴＭ１を用いてハーフトーン処理を行うと、例えば、まずＬＣ（ライトシアン）の処理を行い、それが完了したらＬＭ（ライトマゼンタ）の処理を行い、というように、１色づつ順番に処理を行っていき、最後の１色のＤＹ（ダークイエロー）の処理が完了したらハーフトーン処理は完了する。一方、第２のハーフトーンモジュールＨＴＭ２を用いてハーフトーン処理を行うと、例えば、まずＬＣの処理とＬＭの処理とを並列に行い、どちらかが完了したら次の色の処理を行い、というように、２色の処理を並列に行っていき、最後の１色（ＤＹ）の処理が完了したらハーフトーン処理は完了する。ただし、ハーフトーン処理の後半には、本例のＤＹを処理している時間のように、並列処理を行えない時間が生ずる可能性がある。
【００３２】
ここで、ハーフトーン処理に要する時間は、どの色をどの処理方法で処理するかや、スレッドレベルの並列処理を行うか否か等に応じて、変化する。すなわち、処理に用いるハーフトーンモジュールによって、ハーフトーン処理に要する時間は、種々に変化する。図２（ｂ）に示す例の場合は、第２のハーフトーンモジュールＨＴＭ２を用いたハーフトーン処理の方が、第１のハーフトーンモジュールＨＴＭ１を用いたときよりも、ハーフトーン処理に要する時間が短くなっている。
【００３３】
なお、ハーフトーンモジュールは、そのハーフトーンモジュールを用いた画像処理によって印刷用のデータを生成し、その印刷用データを用いて画像を印刷したときに、印刷画像の画質が所定の画質と同等以上の質を確保できるように、実験的に複数定められる。
【００３４】
画像処理設定部２３０（図１）は、画像処理部２４０の設定を行うためのアプリケーションプログラムである。すなわち、画像処理設定部２３０は、画像処理部２４０が画像処理に用いるハーフトーンモジュールの設定を行う。画像処理設定部２３０は、処理方法選択部２３２と、参照画像（ＳＭＰ）２３４とを含んでいる。
【００３５】
処理方法選択部２３２は、画像処理部２４０が画像処理に用いるハーフトーンモジュールを、ハーフトーンモジュールグループ２４２に含まれるハーフトーンモジュールの中から選択する。処理方法選択部２３２によるハーフトーンモジュールの選択は、画像処理部２４０に、ハーフトーンモジュールグループ２４２に含まれる各ハーフトーンモジュールを用いて参照画像２３４に対するハーフトーン処理を行わせ、処理に要した時間の最も短いハーフトーンモジュールを選択することにより行う。なお、参照画像２３４は、任意の画像を用いることができる。画像処理設定部２３０による画像処理部２４０の設定については、後に詳述する。
【００３６】
インターフェイス部２８０は、複数の入出力端子を備えており、外部に設けられた種々の機器との間でデータ通信を行う。例えば、インターフェイス部２８０は、ケーブルを介してＣＤ−Ｒ／ＲＷドライブ４００と接続され、ＣＤ−Ｒ／ＲＷドライブ４００に記録されたデータの読み込みや、ＣＤ−Ｒ／ＲＷドライブ４００へのデータの書き込みを行う。また、インターフェイス部２８０は、ケーブルを介してプリンタ３００と接続され、プリンタ３００に印刷データを供給する。
【００３７】
Ａ−２．画像処理部の設定：
図３は、画像処理設定部による画像処理部の設定の処理の流れを示すフローチャートである。ステップＳ１００では、ユーザが、プリンタドライバのインストールを行う。画像処理部２４０（図１）としてのプリンタドライバは、インストーラを用いたインストールを行うことによって、外部記憶装置２５０に格納される。また、画像処理部２４０としてのプリンタドライバは、ＣＰＵ２１０により外部記憶装置２５０からロードされることによって内部記憶装置２２０に格納される。なお、画像処理部２４０としてのプリンタドライバは、ハーフトーンモジュールグループ２４２を含んでおり、ステップＳ１００において、ハーフトーンモジュールグループ２４２は画像処理部２４０内の所定の場所に格納されることとなる。
【００３８】
ステップＳ２００では、画像処理設定部２３０の処理方法選択部２３２（図１）が、最適ハーフトーンモジュールｓＨＴＭの選択を行う。最適ハーフトーンモジュールｓＨＴＭとは、ハーフトーンモジュールグループ２４２に含まれるハーフトーンモジュールの中で、コンピュータ２００における画像処理部２４０による画像処理に用いるのに最も適したハーフトーンモジュールである。具体的には、最適ハーフトーンモジュールｓＨＴＭは、画像処理部２４０による画像処理が最も高速となるハーフトーンモジュールである。
【００３９】
図４は、最適ハーフトーンモジュールｓＨＴＭの選択（図３のステップＳ２００）の処理の流れを示すフローチャートである。また、図５は、最適ハーフトーンモジュールｓＨＴＭの選択の処理の概要を示す説明図である。図５（ａ）には、画像処理部２４０にハーフトーンモジュールグループ２４２が格納されている様子を示している。図５に示した例では、ハーフトーンモジュールグループ２４２内には、３つのハーフトーンモジュール（ＨＴＭ１、ＨＴＭ２、ＨＴＭ３）が含まれている。
【００４０】
ステップＳ２１０（図４）では、処理方法選択部２３２（図１）が、画像処理部２４０に、参照画像（ＳＭＰ）２３４の色変換処理を行わせる。本実施例では、参照画像２３４は、ＲＧＢデータとして画像処理設定部２３０に保持されている。画像処理部２４０は、参照画像２３４に対して、ＲＧＢデータからＣＭＹＫデータへの色変換処理を行う。画像処理部２４０による色変換処理は、例えば、ルックアップテーブル（ＬＵＴ）を用いて行うことができる。図５（ｂ）には、ＲＧＢデータの参照画像（ＳＭＰ）２３４が、色変換処理によりＣＭＹＫデータに変換されている様子を表している。
【００４１】
ステップＳ２２０（図４）では、処理方法選択部２３２（図１）が、対象ハーフトーンモジュールｏＨＴＭの設定を行う。対象ハーフトーンモジュールｏＨＴＭの設定は、ハーフトーンモジュールグループ２４２に含まれるハーフトーンモジュールの内、まだ対象ハーフトーンモジュールｏＨＴＭとして設定されていないものの中から、１つのハーフトーンモジュールを選んで対象ハーフトーンモジュールｏＨＴＭとして設定することにより行う。
【００４２】
ステップＳ２３０では、処理方法選択部２３２が、画像処理部２４０に、対象ハーフトーンモジュールｏＨＴＭを用いた参照画像２３４のハーフトーン処理を行わせる。画像処理部２４０は、対象ハーフトーンモジュールｏＨＴＭを用いて参照画像２３４のハーフトーン処理を行い、印刷ドットの形成状態を示すドットデータを生成する。また、このとき処理方法選択部２３２は、ハーフトーン処理に要した時間ｔを計測する。なお、ハーフトーン処理に要する時間は、内部記憶装置２２０内に他のアプリケーションプログラムが格納されているか否かによって、変化してしまう。そのため、画像処理設定部２３０は、ステップＳ２３０の冒頭で、内部記憶装置２２０内に他のアプリケーションプログラムが格納されているか否かを判定し、他のアプリケーションプログラムが格納されているときは、そのアプリケーションプログラムを終了させるように、表示部２６０を通じてユーザに通知する。
【００４３】
ステップＳ２４０では、処理方法選択部２３２が、ハーフトーンモジュールグループ２４２内のすべてのハーフトーンモジュールが対象ハーフトーンモジュールｏＨＴＭとして設定されたか否かを判定する。処理方法選択部２３２が、まだ対象ハーフトーンモジュールｏＨＴＭとして設定されていないハーフトーンモジュールがあると判定したときには（ステップＳ２４０：Ｎｏ）、ステップＳ２２０に戻って、すべてのハーフトーンモジュールが対象ハーフトーンモジュールｏＨＴＭとして設定されるまで上記の処理を繰り返す。
【００４４】
一方、処理方法選択部２３２が、すべてのハーフトーンモジュールが対象ハーフトーンモジュールｏＨＴＭとして設定されたと判定したときは（図４のステップＳ２４０：Ｙｅｓ）、ステップＳ２５０に進む。
【００４５】
図５（ｂ）には、ＣＭＹＫデータとしての参照画像（ＳＭＰ）２３４に対して各ハーフトーンモジュールを用いたハーフトーン処理が行われ、ドットデータが生成されている様子を表している。例えば、まず、画像処理部２４０は、ハーフトーンモジュールＨＴＭ１を用いて参照画像２３４に対するハーフトーン処理を行い、ドットデータ１を生成する。続いて、画像処理部２４０は、ハーフトーンモジュールＨＴＭ２を用いてドットデータ２を、ハーフトーンモジュールＨＴＭ３を用いてドットデータ３を、それぞれ生成する。処理方法選択部２３２は、それぞれのハーフトーンモジュール（ＨＴＭ１、ＨＴＭ２、ＨＴＭ３）を用いたハーフトーン処理に要した時間ｔ（ｔ１、ｔ２、ｔ３）を計測する。
【００４６】
ステップＳ２５０（図４）では、処理方法選択部２３２（図１）が、最適ハーフトーンモジュールｓＨＴＭの選択を行う。最適ハーフトーンモジュールｓＨＴＭの選択は、ハーフトーンモジュールグループ２４２に含まれるハーフトーンモジュールの中から、ステップＳ２３０における参照画像２３４に対するハーフトーン処理に要した時間ｔが最も短いハーフトーンモジュールを選択することにより行う。
【００４７】
一般に、ハーフトーン処理に要する時間は、コンピュータ２００を構成するハードウェア資源と、ハーフトーン処理に用いるハーフトーンモジュールとの組み合わせによって定まる。従って、コンピュータ２００における画像処理部２４０によって実際にハーフトーン処理を行った際に、最も所要時間の短いハーフトーンモジュールは、コンピュータ２００を構成するハードウェア資源に最適なハーフトーンモジュールであると言える。
【００４８】
図５（ｂ）に示した例では、ハーフトーンモジュールＨＴＭ２を用いたハーフトーン処理に要した時間ｔ２が最も短いので、ハーフトーンモジュールＨＴＭ２が最適ハーフトーンモジュールｓＨＴＭとして選択される。
【００４９】
このようにして、ハーフトーンモジュールグループ２４２の中から、コンピュータ２００の画像処理部２４０における画像処理に用いるのに最適なハーフトーンモジュールが選択される。
【００５０】
ステップＳ３００（図３）では、画像処理設定部２３０（図１）が、画像処理部２４０の設定を行う。画像処理部２４０の設定は、ステップＳ２００で選択された最適ハーフトーンモジュールｓＨＴＭを、画像処理部２４０における実際の画像処理に用いるハーフトーンモジュールとして設定することにより行う。
【００５１】
図５（ｃ）には、最適ハーフトーンモジュールｓＨＴＭとして選択されたハーフトーンモジュールＨＴＭ２が、画像処理部２４０における画像処理に用いるハーフトーンモジュールとして設定されている様子を表している。
【００５２】
なお、本実施例では、図３のステップＳ２００の処理（最適ハーフトーンモジュールｓＨＴＭの選択）およびステップＳ３００の処理（画像処理部の設定）は、ステップＳ１００の処理（プリンタドライバのインストール）が行われると、自動的に画像処理設定部２３０により実行されるように設定されている。
【００５３】
以上のように、本実施例の画像処理装置としてのコンピュータ２００における画像処理設定部２３０は、コンピュータ２００を構成するハードウェア資源を用いた画像処理に最適なハーフトーンモジュールを自動的に選択することができる。また、画像処理設定部２３０は、選択したハーフトーンモジュールを画像処理部２４０による実際の画像処理に用いるハーフトーンモジュールとして設定することができる。
【００５４】
Ｂ．第２実施例：
図６は、第２実施例としての画像処理装置による画像処理部の設定の処理の流れを示すフローチャートである。第２実施例は、既に画像処理部２４０（図１）の設定が行われた後、コンピュータ２００を構成するハードウェア資源に変更があったときに、再度、画像処理部２４０の設定を行うときの例である。そのため、第２実施例では、画像処理部２４０としてのプリンタドライバは、既に内部記憶装置２２０（図１）に格納されている。図６に示した第２実施例と図３に示した第１実施例との違いは、図３のステップＳ１００の処理（プリンタドライバのインストール）の代わりに、ステップＳ１２０からステップＳ１６０の処理が行われる点だけであり、その他の点は同じである。
【００５５】
ステップＳ１２０では、画像処理部２４０としてのプリンタドライバの起動が行われる。プリンタドライバの起動は、ユーザの、操作部２７０（図１）を通じた画像の印刷指示に従って、自動的に行われる。
【００５６】
ステップＳ１４０では、画像処理設定部２３０が、ステップＳ１２０で行われた起動が、コンピュータ２００に電源が入れられた後の最初の起動か否かを判定する。例えば、画像処理部２４０は、コンピュータ２００の電源ＯＮ後の最初のプリンタドライバ起動時に、内部記憶装置２２０の所定の場所にフラグを記録することとする。このようにすれば、画像処理設定部２３０は、プリンタドライバの起動時に、フラグが無ければ最初の起動と判定し、フラグが有れば最初の起動ではないと判定することによって、コンピュータ２００に電源が入れられた後の最初の起動か否かを判定することができる。
【００５７】
画像処理設定部２３０が、ステップＳ１２０で行われた起動は最初の起動であると判定したときは（ステップＳ１４０：Ｙｅｓ）、ステップＳ１６０に進む。一方、画像処理設定部２３０が、ステップＳ１２０で行われた起動は最初の起動ではないと判定したときは（ステップＳ１４０：Ｎｏ）、最初の起動時から今回の起動時までの間に、コンピュータ２００を構成するハードウェア資源の変更は行われていないと判断され、画像処理部２４０の設定を再度実行する必要がないので、処理を終了する。
【００５８】
ステップＳ１６０では、画像処理設定部２３０が、コンピュータ２００を構成するハードウェア資源の変更が行われたか否かを判定する。ここでいうハードウェア資源の変更とは、画像処理部２４０による画像処理の所要時間に影響を与える可能性のある変更を意味している。従って、ハードウェア資源とは、画像処理部２４０による画像処理に使用されるハードウェア資源であり、具体的には、図１に示すＣＰＵ２１０と、内部記憶装置２２０と、外部記憶装置２５０とを意味している。
【００５９】
画像処理設定部２３０が、コンピュータ２００を構成するハードウェア資源の変更が行われたと判定したときは（ステップＳ１６０：Ｙｅｓ）、ステップＳ２００に進み、さらにステップＳ３００に進む。ステップＳ２００（最適ハーフトーンモジュールｓＨＴＭの選択）およびステップＳ３００（画像処理部の設定）の処理内容は、図３に示した第１実施例と同じである。画像処理設定部２３０は、ステップＳ２００およびステップＳ３００によって、ハードウェア資源の変更後のコンピュータ２００を構成するハードウェア資源に最適なハーフトーンモジュールを選択し、選択したハーフトーンモジュールを画像処理部２４０による画像処理に用いるハーフトーンモジュールとして設定する。
【００６０】
一方、画像処理設定部２３０が、コンピュータ２００を構成するハードウェア資源の変更が行われていないと判定したときは（ステップＳ１６０：Ｎｏ）、画像処理部２４０の設定を再度実行する必要が無いので、処理を終了する。
【００６１】
以上のようにして、第２実施例の画像処理装置としてのコンピュータ２００における画像処理設定部２３０は、コンピュータ２００を構成するハードウェア資源の変更があった後も、変更後のハードウェア資源を用いた画像処理に最適なハーフトーンモジュールを自動的に選択することができる。また、画像処理設定部２３０は、選択したハーフトーンモジュールを画像処理部２４０による実際の画像処理に用いるハーフトーンモジュールとして設定することができる。
【００６２】
Ｃ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００６３】
Ｃ１．変形例１：
上記実施例では、ＣＰＵ２１０は１つの実行リソース２１２を共有する２つのアーキテクチャステート２１４を備えているが、ＣＰＵ２１０は１つの実行リソース２１２を共有する３つ以上のアーキテクチャステート２１４を備えているとしてもよい。また、ＣＰＵ２１０は１つの実行リソース２１２に対して１つのアーキテクチャステート２１４のみを備えているとしてもよい。
【００６４】
Ｃ２．変形例２：
上記実施例では、コンピュータ２００は１つのＣＰＵ２１０を備えているが、コンピュータ２００は２つ以上のＣＰＵ２１０を備えているとしてもよい。このようにしても、上記実施例と同様に、処理方法選択部２３２は、ハーフトーンモジュールグループ２４２に含まれるハーフトーンモジュールの中から最適ハーフトーンモジュールｓＨＴＭを選択し、画像処理部２４０の設定を行うことができる。
【００６５】
Ｃ３．変形例３：
上記実施例では、画像処理の例として、画像処理部２４０としてのプリンタドライバによる印刷データの生成処理を用いて説明したが、画像処理は、例えば画像補正処理や画像合成処理といった他の画像処理であってもよい。
【００６６】
Ｃ４．変形例４：
上記実施例におけるハーフトーンモジュールの構成や内容は、あくまで一例であり、他の構成や内容のハーフトーンモジュールを用いてもよい。例えばハーフトーン処理の方法として、誤差拡散法やディザ法以外の処理方法を定めることも可能である。また、上記実施例では、インク色毎に処理方法を定めているが、インク色とインクドット径との組み合わせ毎に処理方法を定めることも可能である。なお、印刷に用いるインク色についても一例であり、他のインク色を用いることも可能である。
【００６７】
Ｃ５．変形例５：
上記実施例では、プリンタドライバのインストールが行われると、自動的に画像処理設定部２３０による画像処理部２４０の設定が実行されるとしているが、画像処理設定部２３０による画像処理部２４０の設定は、プリンタドライバのインストール後の最初の起動時に実行されるとすることも可能である。また、ユーザの指示に従って任意のタイミングで実行されるとすることも可能である。
【００６８】
Ｃ６．変形例６：
上記実施例では、ハーフトーンモジュールグループ２４２は、プリンタドライバのインストール時に画像処理部２４０内の所定の場所に格納されるとしているが、ハーフトーンモジュールグループ２４２は、プリンタドライバのインストールの後にユーザの操作によって所定の場所に格納されるとしてもよい。また、ハーフトーンモジュールグループ２４２を、画像処理部２４０以外の所定の場所（例えば、画像処理設定部２３０内の所定の場所）に格納し、最適ハーフトーンモジュールｓＨＴＭを選択した後に、最適ハーフトーンモジュールｓＨＴＭのみを画像処理部２４０に格納するとしてもよい。さらに、画像処理部２４０の設定処理の後に、ユーザの準備した新たなハーフトーンモジュールを追加的に画像処理部２４０内に格納し、再度、画像処理部２４０の設定処理を行うことも可能である。
【００６９】
Ｃ７．変形例７：
上記実施例では、処理方法選択部２３２は、ハーフトーンモジュールグループ２４２に含まれるすべてのハーフトーンモジュールを用いて画像処理を実行し、最適ハーフトーンモジュールｓＨＴＭを選択しているが、処理方法選択部２３２は、まずＣＰＵ２１０の種類を判別してＣＰＵ２１０の種類に適したハーフトーンモジュールを峻別し、その中から実際に画像処理を実行して最適ハーフトーンモジュールｓＨＴＭを選択するとしてもよい。例えば、処理方法選択部２３２は、ＣＰＵ２１０が１つの実行リソース２１２に対してアーキテクチャステート２１４を複数備えていると判別したときは、まず複数のスレッドを並列に処理するように定められたハーフトーンモジュールを峻別し、その中から実際に画像処理を実行して最適ハーフトーンモジュールｓＨＴＭを選択することも可能である。このようにすれば、最適ハーフトーンモジュールｓＨＴＭの選択に要する時間を短縮することができる。
【００７０】
Ｃ８．変形例８：
上記実施例では、処理方法選択部２３２は、画像処理部２４０におけるハーフトーン処理に要する時間ｔを用いて最適ハーフトーンモジュールｓＨＴＭを選択しているが、処理方法選択部２３２は、画像処理部２４０における色変換処理とハーフトーン処理とを含む画像処理全体の所要時間を用いて最適ハーフトーンモジュールｓＨＴＭを選択することも可能である。
【００７１】
Ｃ９．変形例９：
上記第２実施例では、画像処理設定部２３０は、コンピュータ２００を構成するハードウェア資源の変更があったときに、再度、画像処理部２４０の設定を行うこととしているが、画像処理設定部２３０は、プリンタドライバのアップデートが実行された際に、再度、画像処理部２４０の設定を行うとすることも可能である。あるいは、画像処理設定部２３０は、プリンタドライバのアップデートが実行された後、最初のプリンタドライバの起動の際に、再度、画像処理部２４０の設定を行うとすることも可能である。
【００７２】
Ｃ１０．変形例１０：
上記実施例では、コンピュータ２００が画像処理部２４０を備えている例を用いて説明したが、プリンタ３００が画像処理部を備えているとすることも可能である。このときも、上記実施例と同様に、プリンタ３００の画像処理部によるハーフトーン処理に用いるのに最適なハーフトーンモジュールを選択することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１実施例としての画像処理装置の構成を概略的に示した説明図。
【図２】ハーフトーンモジュールの例を概略的に示した説明図。
【図３】画像処理設定部による画像処理部の設定の処理の流れを示すフローチャート。
【図４】最適ハーフトーンモジュールｓＨＴＭの選択（図３のステップＳ２００）の処理の流れを示すフローチャート。
【図５】最適ハーフトーンモジュールｓＨＴＭの選択の処理の概要を示す説明図。
【図６】第２実施例としての画像処理装置による画像処理部の設定の処理の流れを示すフローチャート。
【符号の説明】
【００７４】
２００...コンピュータ
２１０...ＣＰＵ
２１２...実行リソース
２１４...アーキテクチャステート
２２０...内部記憶装置
２３０...画像処理設定部
２３２...処理方法選択部
２３４...参照画像
２４０...画像処理部
２４２...ハーフトーンモジュールグループ
２５０...外部記憶装置
２６０...表示部
２７０...操作部
２８０...インターフェイス部
３００...プリンタ
４００...ＣＤ−Ｒ／ＲＷドライブ
【図１】
2005252558.tif 000003
【図２】
2005252558.tif 000004
【図３】
2005252558.tif 000005
【図４】
2005252558.tif 000006
【図５】
2005252558.tif 000007
【図６】
2005252558.tif 000008