(57)【特許請求の範囲】
【請求項１】
複数の解像度および複数の階調数での印刷処理が可能な画像出力装置で印刷される印刷データを生成する情報処理装置であって、
アプリケーションプログラムから出力される印刷要求データを受け取り、印刷データを生成するための中間的なコードからなる中間コードデータに変換し、中間コードデータファイルを生成する変換手段と、
前記変換手段により生成された中間コードデータファイルに格納される中間コードデータにおける描画オブジェクトの種類とデータサイズに基づいて、ページ単位のページインデックスとジョブ単位のジョブインデックスとを生成するインデックス生成手段と、
印刷モードに定義されている解像度判定条件と階調判定条件と、前記インデックス生成手段により生成されたページインデックスとジョブインデックスの内容とに基づいて、解像度および階調数を下げる必要があるか判定し、その判定結果に基づいて解像度及び階調数を決定する決定手段と、
前記決定手段により決定された解像度および階調数を用いて、前記中間コードデータに基づいて印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段により生成された印刷データを前記画像出力装置に送信する送信手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記解像度判定条件および前記階調判定条件は、前記描画オブジェクトの種類に対応するデータサイズを条件としていることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記画像出力装置は、画像処理の方法及び印刷データの形式が異なる複数の印刷モードに対応しており、
前記決定手段は、前記複数の印刷モードに定義されている解像度判定条件と階調判定条件に応じた判定を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
複数の解像度および複数の階調数での印刷処理が可能な画像出力装置で印刷される印刷データを生成する情報処理方法であって、
アプリケーションプログラムから出力される印刷要求データを受け取り、印刷データを生成するための中間的なコードからなる中間コードデータに変換し、中間コードデータファイルを生成する変換工程と、
前記変換工程で生成された中間コードデータファイルに格納される中間コードデータにおける描画オブジェクトの種類とデータサイズに基づいて、ページ単位のページインデックスとジョブ単位のジョブインデックスとを生成するインデックス生成工程と、
印刷モードに定義されている解像度判定条件と階調判定条件と、前記インデックス生成工程で生成されたページインデックスとジョブインデックスの内容とに基づいて、解像度および階調数を下げる必要があるか判定し、その判定結果に基づいて解像度及び階調数を決定する決定工程と、
前記決定工程で決定された解像度および階調数を用いて、前記中間コードデータに基づいて印刷データを生成する印刷データ生成工程と、
前記印刷データ生成手段により生成された印刷データを前記画像出力装置に送信する送信工程と、
を含むことを特徴とする情報処理方法。
【請求項５】
前記解像度判定条件および前記階調判定条件は、前記描画オブジェクトの種類に対応するデータサイズを条件としていることを特徴とする請求項４記載の情報処理方法。
【請求項６】
前記画像出力装置は、画像処理の方法及び印刷データの形式が異なる複数の印刷モードに対応しており、
前記決定工程では、前記複数の印刷モードに定義されている解像度判定条件と階調判定条件に応じた判定を行うことを特徴とする請求項４または５に記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及びその方法に係り、特に、複数の画像処理モードを有する画像出力装置に画像情報を供給して画像を出力させる情報処理装置及びその方法に関する。
【０００２】
【従来の技術】
利用可能なメモリの容量や記録紙の搬送速度（印刷速度）等の制限により、印刷データの供給源としての情報処理装置により指定された印刷モード及び解像度又は階調で印刷処理を実行できない場合に、解像度又は階調数を落として印刷処理を実行するプリンタがある。
【０００３】
かかるプリンタを備えたシステムの場合、プリンタが情報処理装置から印刷データを受信した後に、解像度又は階調数を落とす必要があるか否かを判断し、その必要がある場合には、プリンタ側でページイメージを再構成しなければならない。すなわち、かかるシステムにおいては、印刷結果に繁栄されない大量の印刷データを情報処理装置からプリンタに転送した後に、その印刷データに係るページイメージをプリンタが再構成するため、不要に印刷出力が遅延する結果を招いていた。このような問題は、特に複数ページに及ぶ印刷処理を実行する場合に顕著になる。
【０００４】
また、印刷モードを操作者が指定する機能を有するシステムがあるが、このようなシステムは、どの印刷モードを指定すれば良いかを操作者に知らせる機能を有していない。したがって、本来は解像度や階調数を落とすことなく印刷処理を実行できるにも拘わらず、操作者が適切な印刷モード、すなわち、解像度又は階調数を落とすことなく印刷処理を実行できる印刷モードを指定しなかった場合には、不要に解像度又は階調数が落とされることになる。
【０００５】
【発明が解決しようとする課題】
上記のように、従来のシステムにおいては、印刷データを受信したプリンタが、その印刷データの内容を踏まえて解像度や階調数を落とす場合に印刷処理が不要に遅延する。また、操作者の指示により印刷モードを決定するシステムにおいては、適切な印刷モードが指定されないために不要に解像度や階調数が落とされることがある。
【０００６】
本発明は、上記問題点に鑑みてなされたものであり、出力画像の品位の低下を抑制すると共に画像出力の効率化を図ることを目的とする。
【０００７】
【課題を解決するための手段】
本発明の情報処理装置は、複数の解像度および複数の階調数での印刷処理が可能な画像出力装置で印刷される印刷データを生成する情報処理装置として構成され、アプリケーションプログラムから出力される印刷要求データを受け取り、印刷データを生成するための中間的なコードからなる中間コードデータに変換し、中間コードデータファイルを生成する変換手段と、前記変換手段により生成された中間コードデータファイルに格納される中間コードデータにおける描画オブジェクトの種類とデータサイズに基づいて、ページ単位のページインデックスとジョブ単位のジョブインデックスとを生成するインデックス生成手段と、印刷モードに定義されている解像度判定条件と階調判定条件と、前記インデックス生成手段により生成されたページインデックスとジョブインデックスの内容とに基づいて、解像度および階調数を下げる必要があるか判定し、その判定結果に基づいて解像度及び階調数を決定する決定手段と、前記決定手段により決定された解像度および階調数を用いて、前記中間コードデータに基づいて印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段により生成された印刷データを前記画像出力装置に送信する送信手段とを備えることを特徴とする。
本発明の情報処理方法は、複数の解像度および複数の階調数での印刷処理が可能な画像出力装置で印刷される印刷データを生成する情報処理方法として構成され、アプリケーションプログラムから出力される印刷要求データを受け取り、印刷データを生成するための中間的なコードからなる中間コードデータに変換し、中間コードデータファイルを生成する変換工程と、前記変換工程で生成された中間コードデータファイルに格納される中間コードデータにおける描画オブジェクトの種類とデータサイズに基づいて、ページ単位のページインデックスとジョブ単位のジョブインデックスとを生成するインデックス生成工程と、印刷モードに定義されている解像度判定条件と階調判定条件と、前記インデックス生成工程で生成されたページインデックスとジョブインデックスの内容とに基づいて、解像度および階調数を下げる必要があるか判定し、その判定結果に基づいて解像度及び階調数を決定する決定工程と、前記決定工程で決定された解像度および階調数を用いて、前記中間コードデータに基づいて印刷データを生成する印刷データ生成工程と、前記印刷データ生成手段により生成された印刷データを前記画像出力装置に送信する送信工程とを含むことを特徴とする。
本発明の好適な実施形態に係る情報処理装置は、複数の画像処理モードを有する画像出力装置に画像情報を供給して画像を出力させる情報処理装置であって、前記画像出力装置により出力すべき画像に関する画像情報を取得する取得手段と、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ前記画像出力装置において出力画像を適正に形成し得る画像処理モードを決定する決定手段と、前記取得手段が取得した画像情報を前記決定に係る画像処理モードに適合する画像情報に変換する変換手段と、前記決定に係る画像処理モードを特定する情報及び変換後の画像情報を前記画像出力装置に送信する送信手段とを備えることを特徴とする。
【０００８】
上記情報処理装置において、前記決定手段は、画像の解像度及び／又は階調数の観点において前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ出力画像を形成し得る画像処理モードを決定することが好ましい。
【０００９】
上記情報処理装置において、前記決定手段は、前記取得手段が取得した画像情報の特徴を抽出する抽出手段を有し、その特徴に基づいて、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ出力画像を形成し得る画像処理モードを決定することが好ましい。
【００１０】
上記情報処理装置において、前記抽出手段は、前記取得手段が取得した画像情報よりデータサイズに関する特徴を抽出することが好ましい。
【００１１】
上記情報処理装置において、前記決定手段は、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ前記画像出力装置において適正かつ高速に出力画像を形成し得る画像処理モードを決定することが好ましい。
【００１２】
上記情報処理装置において、前記決定手段は、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ出力画像を適正に形成し得る画像処理モードが複数存在する場合には、前記画像出力装置において、より高速に出力画像を形成し得る画像処理モードを選択することが好ましい。
【００１３】
上記情報処理装置において、前記決定手段は、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ出力画像を適正に形成し得る画像処理モードが複数存在する場合には、その複数の画像処理モードのいずれかを操作者からの指示に基づいて選択することが好ましい。
【００１４】
上記情報処理装置において、前記画像出力装置の仕様を確認する確認手段を更に備え、前記決定手段は、前記画像出力装置の仕様を踏まえて画像処理モードを決定することが好ましい。
【００１５】
上記情報処理装置において、前記確認手段は、前記画像出力装置より通信回線を介してその仕様を示す情報を取得することが好ましい。
【００１６】
上記情報処理装置において、前記取得手段は、オペレーティングシステム上で動作するアプリケーションプログラムより画像情報を取得することが好ましい。
【００１７】
上記情報処理装置において、前記画像出力装置は、通信回線を介して接続されたプリンタであることが好ましい。
【００１８】
本発明の好適な実施形態に係る情報処理方法は、複数の画像処理モードを有する画像出力装置に画像情報を供給して画像を出力させる情報処理方法であって、前記画像出力装置により出力すべき画像に関する画像情報を取得する取得工程と、前記取得工程において取得した画像情報に係る画像の品位を相応の品位に維持しつつ前記画像出力装置において出力画像を適正に形成し得る画像処理モードを決定する決定工程と、前記取得工程において取得した画像情報を前記決定に係る画像処理モードに適合する画像情報に変換する変換工程と、前記決定に係る画像処理モードを特定する情報及び変換後の画像情報を前記画像出力装置に送信する送信工程とを備えることを特徴とする。
【００１９】
本発明の好適な実施形態に係るメモリ媒体は、複数の画像処理モードを有する画像出力装置に画像情報を供給して画像を出力させるためのプログラムコードを収めたメモリ媒体であって、このプログラムコードにより一般的な情報処理装置を、前記画像出力装置により出力すべき画像に関する画像情報を取得する取得手段と、前記取得手段が取得した画像情報に係る画像の品位を相応の品位に維持しつつ前記画像出力装置において出力画像を適正に形成し得る画像処理モードを決定する決定手段と、前記取得手段が取得した画像情報を前記決定に係る画像処理モードに適合する画像情報に変換する変換手段と、前記決定に係る画像処理モードを特定する情報及び変換後の画像情報を前記画像出力装置に送信する送信手段とを備える装置として動作させることを特徴とする。
【００２０】
【発明の実施の形態】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００２１】
［第１の実施の形態］
図１は、本発明の好適な実施の形態に係るプリンタシステムの概略構成を示す図である。このプリンタシステムは、パーソナルコンピュータ等に代表される情報処理装置１００とレーザプリンタ等に代表されるプリンタ２００とをセントロニクスインターフェースケーブル等に代表される通信ケーブル３００により接続してなる。
【００２２】
図２は、図１に示すプリンタシステムの具体的な構成例を示すブロック図である。情報処理装置１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＨＤ（ハードディスク）装置１０３と、ディスプレイ１０４と、ＲＯＭ１０５と、ＦＤ（フロッピーディスク）１０６と、ＦＤドライバ１０７と、キーボード１０８と、Ｉ／Ｆ（インターフェース）１０９とを有する。
【００２３】
また、プリンタ２００は、Ｉ／Ｆ２０１と、ＲＯＭ２０２と、ＣＰＵ２０３と、ＲＡＭ２０５と、コプロセッサ２０６と、エンジンＩ／Ｆ２０４と、プリンタエンジン２０７とを有し、複数の印刷モードを備えている。
【００２４】
なお、両者の間のインターフェースを構成するＩ／Ｆ１０９及び２１０としては、例えばセントロニクスインターフェースが好適である。
【００２５】
情報処理装置１００は、例えばＲＯＭ１０５、ＦＤ１０６、ＨＤ装置１０３のメモリ媒体に格納されたプログラムコードをＲＡＭ１０２にロードすることにより情報処理装置１００の動作を定義する。
【００２６】
以下、情報処理装置１００の具体的な動作を説明する。情報処理装置１００の電源が投入されると、ＣＰＵ１０１は、ＲＯＭ１０５に格納されたＢＩＯＳ中のＩＰＬ（Initial Program Loading）機能に基づいてＨＤ装置１０３に格納されたＯＳをＲＡＭ１０２上にロードし、このＯＳ（図１３の１３０５）の管理下で動作する。
【００２７】
アプリケーションプログラムは、ＯＳの管理下でＨＤ装置１０３からＲＡＭ１０２に読み込まれ（図１３の１３０１）、ＣＰＵ１０１による実行に供される。ＯＳプログラムの管理下で、このアプリケーションプログラムから印刷要求が発生すると、ＣＰＵ１０１は、ＦＤ１０６又はＨＤ装置１０３に格納された印刷関連モジュールをＲＡＭ１０２上にロードし、この印刷関連モジュール（図１３の１３０４）に基づいて印刷処理を実行する。図１３は、この状態におけるＲＡＭ１０２のメモリマップを示す図である。
【００２８】
図３は、印刷関連モジュール１３０４に基づく印刷処理の流れを示すフローチャートである。この印刷処理は、アプリケーションプログラム１３０１からの印刷要求に係るデータ（以下、印刷要求データ）に基づいて中間コードデータを生成するステップＳ３０１と、中間コードデータからインデックスを生成するステップＳ３０２と、インデックスの内容と各印刷モードにおける解像度判定条件（解像度を落とすか否かを判定する条件）及び階調判定条件（階調数を落とすか否かを判定する条件）とを比較して、その比較結果と印刷モードの決定条件とに基づいて印刷モードを決定するステップＳ３０３と、中間コードデータより決定に係る印刷モードに適合した印刷データ（プリンタ２００に送信するデータ。以下において同じ）を生成するステップＳ３０４と、生成した印刷データをプリンタ２００に送信するステップＳ３０５とを含む。
【００２９】
ここで、中間コードデータとは、印刷要求データに対応する印刷データを生成するための中間的なコードからなるデータをいう。図４は、中間コードデータを生成するステップＳ３０１により生成され、ＨＤ装置１０３上に一時的に保持される中間コードデータファイルの一例を示す図である。なお、図４においては、［ジョブ開始命令］、［改ページ命令］等のような記述がなされているが、これらはファイル中の命令の種類を便宜的に表記したものであり、実際には、これらはバイナリ形式で表現されている。
【００３０】
また、インデックスとは、印刷モードを決定する際の基礎とする情報、より詳しくは印刷要求データ（中間コードデータ）の特徴を示す情報である。図８は、インデックスを生成するステップＳ３０２によりＲＡＭ１０２上に生成されるインデックスファイルの一例を示す図である。
【００３１】
図５は、図３における中間コードデータの生成処理（ステップＳ３０１）の詳細な流れを示すフローチャートである。この処理は、アプリケーションプログラムより印刷要求が発生することにより起動される。
【００３２】
ステップＳ５０１では、アプリケーションプログラムから印刷要求（印刷要求データ）を受け取る。ステップＳ５０２では、当該印刷要求がジョブ開始要求であるか否かを判断し、ジョブ開始要求であればステップＳ５０３に進み、中間コードデータを一時的に保持するための中間コードデータファイルをＨＤ装置１０３上にオープンし、ステップＳ５０４に進む。一方、当該印刷要求がジョブ開始要求でなければ直接ステップＳ５０４に進む。
【００３３】
ステップＳ５０４では、当該印刷要求がジョブ終了要求であるか否かを判断し、ジョブ終了要求であれば、ステップＳ５０７に進み、ＨＤ装置１０３上にオープンされている中間コードデータファイルをクローズし、次のステップであるステップＳ３０２に進む。一方、当該印刷要求がジョブ終了要求でない場合には、ステップＳ５０５に進み、当該印刷要求を図４に示すような中間コード（例えば、［文字印字命令］）に変換し、ステップＳ５０６において、その変換に係る中間コードを中間コードデータファイルの末尾に追加し、ステップＳ５０１に戻る。
【００３４】
以上のように、ジョブ終了要求を受け取るまで、各印刷要求毎にステップＳ５０１〜Ｓ５０６を繰り返して実行することにより、図４に一例を示すような中間コードデータファイルが完成する。
【００３５】
図６は、図３に示すインデックス生成処理（ステップＳ３０２）の詳細な流れを示すフローチャートである。この処理は、前述のステップＳ５０７の後に起動される。
【００３６】
先ず、ステップＳ６０１では、中間コードデータ生成処理（ステップＳ３０１）より、中間コードデータファイルのファイル名を取得し、当該ファイル名の中間コードデータファイルをオープンする。
【００３７】
ステップＳ６０２では、項目が空のジョブインデックス８００（図８参照）を作成し、さらに、後続の処理で使用するパラメータｎ、より詳しくは処理対象となるページを示すパラメータｎを１にする。
【００３８】
ステップＳ６０３では、項目が空の第ｎページのインデックスを作成する。なお、図８の８０１〜８０５は、夫々第１ページ〜第５ページの完成したインデックスの一例を示している。
【００３９】
ステップＳ６０４では、オープンされた中間コードデータファイルから１つの中間コードを読み出す。そして、ステップＳ６０５では、読出した中間コードが［改ページ命令］であるか否かを判断する。そして、これが［改ページ命令］であれば、当該ページ（第ｎページ）のインデックスの生成が終了したことを意味しているため、ステップＳ６０９に進み、当該ページのインデックス（例えば、８０１）に基づいてジョブインデックス８００の内容を更新する。次いで、ステップＳ６１０では、処理対象となるページを次のページに進めるために、パラメータｎに１を加算してステップＳ６０３に戻る。
【００４０】
一方、ステップＳ６０５において、当該中間コードが［改ページ命令］ではないと判断した場合には、ステップＳ６０６に進み、当該中間コードが［ジョブ終了命令］であるか否かを判断する。当該中間コードが［ジョブ終了命令］である場合には、全中間コードに関しての処理が終了したことを意味しているため、ステップＳ６１１に進み、最後のページのインデックスに基づいてジョブインデックス８００を更新することにより、これを完成させ、次のステップであるステップＳ３０３に進む。
【００４１】
一方、ステップＳ６０６において、当該中間コードが描画オブジェクト（例えば、［文字印字命令］、［イメージ描画命令］、［矩形描画命令］）であれば、その種類（文字、イメージ、矩形）とデータのサイズに基づいて、当該ページのインデックスを更新し、ステップＳ６０４に戻る。
【００４２】
図７は、図３に示す印刷モード決定処理（ステップＳ３０３）の詳細な流れを示すフローチャートである。この処理は、前述のステップＳ６１１の後に起動される。
【００４３】
ステップＳ７０１では、インデックスと、各印刷モードにおける解像度判定条件及び階調数判定条件とを比較する。この実施の形態においては、印刷モードとして印刷モード１〜４が準備されており、この印刷モードはプリンタ２００に備えられた印刷モードに対応している。各印刷モードは、例えば画像処理の方法や印刷データの形式等が異なり、そのため画像処理のために要するメモリの容量や処理時間、出力画像の質等が異なる。したがって、解像度や階調数の制限は印刷モード毎に異なる。
【００４４】
図９は、印刷モード１〜４における解像度判定条件及び階調判定条件の一例を示す図である。印刷モード１は、その解像度判定条件のいずれかに合致する場合に解像度を落とす必要があり、その階調判定条件のいずれかにに合致する場合に階調数を落とす必要があるモードである。また、印刷モード２は、解像度判定条件に関しては設定されておらず、印刷要求データの内容に拘わらず解像度を維持することができ、一方、階調判定条件のに合致する場合には階調数を落とす必要があるモードである。また、印刷モード３は、解像度判定条件及び階調判定条件が共に設定されておらず、印刷要求データの内容に拘わらず解像度及び階調数を落とす必要がないモードである。また、印刷モード４は、解像度若しくは階調又はその双方を落とす必要があるモードである。
【００４５】
ここで、具体例として、図８に示すインデックスと図９に示す解像度判定条件及び階調判定条件とを比較する場合について説明する。
【００４６】
先ず、インデックスの内容と印刷モード１の解像度判定条件及び階調判定条件とを比較する場合について説明する。先ず、解像度に関しては、ページ当たりのデータサイズ、ジョブ当たりのデータサイズ、白黒のイメージについては解像度判定条件に合致しない。しかし、カラーのイメージのデータサイズが４０９６００ｂｙｔｅであるため、１００×１００ドット×３分解色＝３００００ｂｙｔｅを超え、その解像度判定条件に合致するため、解像度を落とす必要がある。一方、階調に関しては、３つの解像度判定条件のいずれにも該当しないため、階調数を落とす必要はない。結果として、印刷モード１を選択する場合には、階調数を落とす必要はないが、解像度を落とす必要が生じる。
【００４７】
次に、インデックスの内容と印刷モード２の解像度判定条件及び階調判定条件とを比較する場合について説明する。先ず、解像度に関しては、解像度判定条件は設定されておらず、インデックスの内容に拘わらず指定された解像度で印刷処理を行うことができるため、インデックスの内容との比較を行わない。一方、階調に関しては、プリンタ２００に搭載されているＲＡＭのサイズ（プリンタＲＡＭサイズ）が階調判定条件として設定されている。ここで、プリンタ２００に搭載されているＲＡＭのサイズが２０Ｍｂｙｔｅとすると、階調判定条件に合致することになり、階調数を落とす必要がある。結果として、この仮定の下で印刷モード２を選択する場合には、解像度を落とす必要はないが、階調数を落とす必要が生じる。
【００４８】
次に、インデックスの内容と印刷モード３の解像度判定条件及び階調判定条件とを比較する場合について説明する。この印刷モード３においては、解像度判定条件及び階調判定条件が共に設定されていないため、インデックスの内容に拘わらず解像度及び階調数を落とす必要はない。
【００４９】
次に、インデックスの内容と印刷モード４の解像度判定条件及び階調判定条件とを比較する場合について説明する。この印刷モード４は、無条件に解像度若しくは階調数又はその双方を落とすモードであるため、実質上、比較を行なう必要はない。
【００５０】
上記の比較（ステップＳ７０１）が終了すると、ステップＳ７０２において、その比較結果と、印刷モードの決定条件（優先順位）とに基づいて印刷モードを決定する。この実施の形態における印刷モードの決定条件（優先順位）は次の通りである。
（１）解像度及び階調数の双方を落とす必要のない印刷モードを優先する。
（２）複数の印刷モードにおいて解像度及び階調数が維持される場合には、該複数の印刷モードに関して、優先順位を印刷モード１、印刷モード２、印刷モード３の順とする。
（３）印刷モード３（印刷要求の内容に拘わらず解像度及び階調数を落とす必要のない印刷モード）を利用できない場合（例えば、印刷モード３の使用が禁止されている場合）であって、解像度又は階調数のいずれか或いは双方を落とす必要がある場合には、優先順位を、階調数のみを落とす印刷モード、解像度のみを落とす印刷モード、解像度及び階調数の双方を落とす印刷モードの順とする。
【００５１】
上記の図８及び図９に示す例においては、印刷モード１を選択した場合は、解像度を落とす必要があり、印刷モード２を選択した場合は、階調数を落とす必要があるため、上記（１）の条件に従って印刷モード３が選択される。
【００５２】
なお、印刷モード３を選択可能な場合において、印刷モード１及び印刷モード２を選択すると解像度及び階調数の少なくとも一方を落とす必要がある場合には、（１）の条件に従い印刷モード３が選択されるため、結果として、印刷モード４が選択されることがない（すなわち、プリンタ２００が備えている印刷モード４は使用されない）。これは、解像度及び階調数の維持を優先したためであるが、他の決定条件を採用した場合はこの限りではない。
【００５３】
ステップＳ７０２において、印刷モードが決定されると、ステップＳ３０４（図３参照）において、当該決定に係る印刷モードに適合させて、中間コードデータに基づいて印刷データ（プリンタ２００に送信する印刷データ）を生成する。そして、その印刷データの先頭に、上記決定に係る印刷モードを指定するモード指定命令を付加して、モード指定命令付の印刷データを作成する。図１０は、モード指定命令付の印刷データのフォーマットを示す図である。この実施の形態においては、モード指定命令のコードを＜ＥＳＣ＞［ＭＭｘ］（ｘ＝１〜４：印刷モード）としている。上記の例においては、印刷モード３が指定されるため、モード指定命令は、＜ＥＳＣ＞［ＭＭ３］となる。
【００５４】
ステップＳ３０５では、作成したモード指定命令付の印刷データをプリンタ２００に送信する。これに応じて、プリンタ２００は、指定されたモードで、その印刷データに基づく印刷処理を実行する。
【００５５】
以上のように、この実施の形態に拠れば、アプリケーションプログラムから与えられる印刷処理の要求の内容に応じて情報処理装置１００側において印刷モードを設定し、それに応じた印刷データを生成してプリンタ２００に送信するため、プリンタ２００側の負担が軽減される。
【００５６】
また、情報処理装置１００側において、プリンタ２００の機能に適合した印刷モードを選択して印刷データを生成し、それをプリンタ２００に送信するため、プリンタ２００側で印刷モードを変更することによる問題が解決される。
【００５７】
また、情報処理装置１００側において、解像度や階調数（印刷品位）を落とす必要のない印刷モードを自動選択するため、操作者により不要に解像度や階調数を落とす印刷モードが選択される危険性を回避することができる。
【００５８】
また、印刷モード３を選択できない場合には、他の印刷モードを選択し、必要に応じて解像度又は階調数を落とした印刷データを生成してプリンタ２００に送信するため、プリンタ２００側において、解像度又は階調数を落とすための処理が不要になり印刷処理が高速化される共に情報処理装置１００とプリンタ２００との間における印刷データの転送を効率化することができる。
【００５９】
［第２の実施の形態］
この実施の形態は、各印刷モードにおける印刷処理の速度を考量して、印刷モードの決定条件（優先順位）を切替えるものである。なお、以下の説明において特に言及しない事項に関しては第１の実施の形態に従うものとする。
【００６０】
この実施の形態においては、印刷処理の速度が印刷モードによって異なると共にページ当たりのデータサイズによっても異なることに着目し、ページ当たりのデータサイズ（各ページのインデックスに基づいて認識することができる）に応じて、印刷モードの優先順位を切替える。
【００６１】
すなわち、この実施の形態は、第１の実施の形態における印刷モードの決定条件を次のように変更するものである。
（１）解像度及び階調数の双方を落とす必要のない印刷モードを優先する。
（２ａ）複数の印刷モードにおいて解像度及び階調数が維持される場合であって、ページ当たりのデータサイズが２Ｍｂｙｔｅを越える場合は、該複数の印刷モードについて、優先順位を、印刷モード３、印刷モード１、印刷モード２の順とする。
（２ｂ）複数の印刷モードにおいて解像度及び階調数が維持される場合であって、ページ当たりのデータサイズが２Ｍｂｙｔｅ以下の場合は、該複数の印刷モードについて、優先順位を、印刷モード１、印刷モード３、印刷モード２の順とする。
（３）印刷モード３を利用できない場合であって、解像度又は階調数のいずれかを落とす必要がある場合には、優先順位を、階調数のみを落とす印刷モード、解像度のみを落とす印刷モード、解像度及び階調数の双方を落とす印刷モードの順とする。
【００６２】
なお、印刷処理の速度のみの観点から決定条件を設けても良い。この場合において、さらに、印刷モード４を（２ａ）及び（２ｂ）の優先順位列の中に加えても良い。この場合の印刷モードの決定条件は、例えば、次のようになる。
（１’）ページ当たりのデータサイズが２Ｍｂｙｔｅを越える場合は、優先順位を、印刷モード３、印刷モード１、印刷モード４、印刷モード２の順とする。
（２’）ページ当たりのデータサイズが２Ｍｂｙｔｅ以下の場合は、優先順位を、印刷モード１、印刷モード４、印刷モード３、印刷モード２の順とする。
【００６３】
また、上記の処理は、１ページ当たりのデータサイズに基づいて印刷処理の速度（時間）を予測するものであるが、他の方法により予測することもできる。例えば、各中間コードの内容に応じて印刷処理の速度をより正確に予測することが有効である。
【００６４】
この実施の形態に拠れば、印刷処理の速度の観点から、適切な印刷モードを情報処理装置１００側で決定することができる。
【００６５】
［第３の実施の形態］
この実施の形態は、アプリケーションプログラムにより指定された解像度及び階調数で印刷処理が実行可能な印刷モードが複数ある場合に、それらの印刷モードを操作者に知らせ、その中から操作者に印刷モードを選択させるものである。なお、以下の説明において特に言及しない事項に関しては第１の実施の形態に従うものとする。
【００６６】
具体的には、ステップＳ７０１における処理により、解像度及び階調数を落とすことなく印刷処理を実行可能な複数の印刷モードがあると判断された場合に、ステップＳ７０２において、この複数の印刷モードのいずれかを操作者に選択させるためのメッセージをディスプレイ１０４に表示し、ユーザの指示に基づいて、印刷モードを決定する。
【００６７】
図１１は、解像度及び階調数を落とすことなく印刷処理を実行可能な印刷モードが印刷モード１及び２である場合にディスプレイ１０４に表示するメッセージの一例である。操作者は、所望の印刷モードをＯＮにして、「ＯＫ」ボタンをクリックすることにより印刷モードを選択することができる。
【００６８】
この実施の形態に拠れば、適切に印刷処理を実行可能な印刷モードの中から所望の印刷モードを操作者に選択させるため、不要に解像度又は階調数を落とす印刷モードが選択される危険性を回避することができる。
【００６９】
［第４の実施の形態］
この実施の形態は、プリンタ２００の機能を示す情報をプリンタ２００から取得し、その情報に基づいて印刷モードの決定条件を設定するものである。なお、以下の説明において特に言及しない事項に関しては第１〜３のいずれかの実施の形態に従うものとする。
【００７０】
図１２は、本実施の形態の情報処理装置１００における印刷処理の流れを示すフローチャートである。この処理は、図３のフローチャートに示す処理にステップＳ３０６を追加したものである。
【００７１】
ステップＳ３０６では、情報処理装置１００は、通信ケーブル３００を介して、プリンタ２００より、印刷モードの決定条件を設定するために必要な情報、例えば、プリンタ２００が備える印刷モード、各印刷モードの内容、印刷処理の速度その他のプリンタ２００の仕様を示す情報を取得する。そして、その情報に基づいて、例えば上記の（１）〜（３）のような印刷モードの決定条件を設定する。なお、ステップＳ３０６を追加する位置は、ステップＳ３０４の前であれば、いずれの位置であっても良い。
【００７２】
ステップＳ３０４では、ステップＳ３０６で設定した決定条件に従うよう、インデックスの内容に基づいて印刷モードを決定する。
【００７３】
この実施の形態に拠れば、プリンタ２００からその仕様を示す情報を取得し、その情報に基づいて、印刷モードの決定条件を設定するため、例えばプリンタ２００を交換した場合においても適切な決定条件を設定し、これにより適正な印刷モードを情報処理装置１０側で選択することができる。
【００７４】
［他の実施の形態］
本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００７５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７６】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７９】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
【発明の効果】
本発明に拠れば、出力画像の品位の低下が抑制される共に画像出力が効率化される。
【００８１】
【図面の簡単な説明】
【図１】本発明の好適な実施の形態に係るプリンタシステムの概略構成を示す図である。
【図２】図１に示すプリンタシステムの具体的な構成例を示すブロック図である。
【図３】印刷関連モジュールに基づく印刷処理の流れを示すフローチャートである。
【図４】中間コードデータファイルの一例を示す図である。
【図５】中間コードデータの生成処理の詳細な流れを示すフローチャートである。
【図６】インデックス生成処理の詳細な流れを示すフローチャートである。
【図７】印刷モード決定処理の詳細な流れを示すフローチャートである。
【図８】インデックスファイルの一例を示す図である。
【図９】印刷モード１〜４における解像度判定条件及び階調判定条件の一例を示す図である。
【図１０】モード指定命令付の印刷データのフォーマットを示す図である。
【図１１】解像度及び階調数を落とすことなく印刷処理を実行可能な印刷モードが複数存在する場合にディスプレイに表示するメッセージの一例である。
【図１２】第４の実施の形態の情報処理装置における印刷処理の流れを示すフローチャートである。
【図１３】ＲＡＭ１０のメモリマップの一例を示す図である。
【図１】
0003814371.tif 000002
【図２】
0003814371.tif 000003
【図３】
0003814371.tif 000004
【図４】
0003814371.tif 000005
【図５】
0003814371.tif 000006
【図６】
0003814371.tif 000007
【図７】
0003814371.tif 000008
【図８】
0003814371.tif 000009
【図９】
0003814371.tif 000010
【図１０】
0003814371.tif 000011
【図１１】
0003814371.tif 000012
【図１２】
0003814371.tif 000013
【図１３】
0003814371.tif 000014