【手続補正書】
【提出日】平成16年12月14日(2004.12.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  印刷制御方法及び装置、印刷システム、並びにプログラム
【特許請求の範囲】
【請求項１】  印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御装置の印刷制御方法において、
前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成工程と、
前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成工程と、
前記印刷制御装置における所定の環境情報を取得する環境情報取得工程と、
前記取得された所定の環境情報に基づいて前記非スプールコマンド生成工程及び前記スプールコマンド生成工程から一方の生成工程を選択する選択工程とを備えることを特徴とする印刷制御方法。
【請求項２】 前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択工程は前記印刷データを効率良く印刷することができる生成工程を選択することを特徴とする請求項１記載の印刷制御方法。
【請求項３】 前記選択工程は、前記スプールコマンド生成工程が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする請求項１又は２記載の印刷制御方法。
【請求項４】  前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御方法。
【請求項５】  前記環境情報取得工程は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御方法。
【請求項６】  前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする請求項５記載の印刷制御方法。
【請求項７】  前記スプールコマンド生成工程は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成工程にて前記印刷コマンドの生成を行うことを特徴とする請求項１乃至６のいずれか１項に記載の印刷制御方法。
【請求項８】 印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御装置において、
前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成手段と、
前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成手段と、
前記印刷制御装置における所定の環境情報を取得する環境情報取得手段と、
前記取得された所定の環境情報に基づいて前記非スプールコマンド生成手段及び前記スプールコマンド生成手段から一方の生成手段を選択する選択手段とを備えることを特徴とする印刷制御装置。
【請求項９】 前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択手段は前記印刷データを効率良く印刷することができる生成手段を選択することを特徴とする請求項８記載の印刷制御装置。
【請求項１０】 前記選択手段は、前記スプールコマンド生成手段が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする請求項８又は９記載の印刷制御装置。
【請求項１１】 前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする請求項８乃至１０のいずれか１項に記載の印刷制御装置。
【請求項１２】 前記環境情報取得手段は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする請求項８乃至１１のいずれか１項に記載の印刷制御装置。
【請求項１３】 前記所定のタイミングには、当該印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする請求項１２記載の印刷制御装置。
【請求項１４】 前記スプールコマンド生成手段は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成手段により前記印刷コマンドの生成を行うことを特徴とする請求項８乃至１３のいずれか１項に記載の印刷制御装置。
【請求項１５】 印刷装置と、印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく前記印刷装置に送信する印刷制御手段を備える印刷制御装置とから成る印刷システムにおいて、
前記印刷制御手段は、前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成手段と、
前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成手段と、
前記印刷制御装置における所定の環境情報を取得する環境情報取得手段と、
前記取得された所定の環境情報に基づいて前記非スプールコマンド生成手段及び前記スプールコマンド生成手段から一方の生成手段を選択する選択手段とを備えることを特徴とする印刷システム。
【請求項１６】 前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択手段は前記印刷データを効率良く印刷することができる生成手段を選択することを特徴とする請求項１５記載の印刷システム。
【請求項１７】 前記選択手段は、前記スプールコマンド生成手段が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする請求項１５又は１６記載の印刷システム。
【請求項１８】 前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする請求項１５乃至１７のいずれか１項に記載の印刷システム。
【請求項１９】 前記環境情報取得手段は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする請求項１５乃至１８のいずれか１項に記載の印刷システム。
【請求項２０】 前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする請求項１９記載の印刷システム。
【請求項２１】 前記スプールコマンド生成手段は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成手段により前記印刷コマンドの生成を行うことを特徴とする請求項１５乃至２０のいずれか１項に記載の印刷システム。
【請求項２２】 印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラムにおいて、
前記印刷情報を印刷コマンドへ逐次変換して前記印刷データを生成する非スプールコマンド生成モジュールと、
前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成モジュールと、
前記印刷制御装置における所定の環境情報を取得する環境情報取得モジュールと、
前記取得された所定の環境情報に基づいて前記非スプールコマンド生成モジュール及び前記スプールコマンド生成モジュールから一方の生成モジュールを選択する選択モジュールとを備えることを特徴とするプログラム。
【請求項２３】 前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択モジュールは前記印刷データを効率良く印刷することができる生成モジュールを選択することを特徴とする請求項２２記載のプログラム。
【請求項２４】 前記選択モジュールは、前記スプールコマンド生成モジュールが選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする請求項２２又は２３記載のプログラム。
【請求項２５】 前記所定の環境情報は、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力を含むことを特徴とする請求項２２乃至２４のいずれか１項に記載のプログラム。
【請求項２６】 前記環境情報取得モジュールは、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする請求項２２乃至２５のいずれか１項に記載のプログラム。
【請求項２７】 前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする請求項２６記載のプログラム。
【請求項２８】 前記スプールコマンド生成モジュールは、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成モジュールにより前記印刷コマンドの生成を行うことを特徴とする請求項２２乃至２７のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御方法及び装置、印刷システム、並びにプログラムに関し、特に、ページ記述言語及びイメージ描画命令を具備し、印刷装置に対して印刷コマンドを生成する印刷制御方法及び装置、印刷システム、並びにプログラムに関する。
【０００２】
【従来の技術】
従来、ホストコンピュータにおける印刷データを生成する印刷データ生成部（プリンタドライバ）は、印刷用のアプリケーションソフト（以下「アプリケーション」という。）により作成された印刷情報を印刷命令（印刷コマンド）に逐次変換して印刷データを生成する非スプールコマンド生成手段のみを有するものが殆どであった。そのため、近年の印刷装置の高解像度化、カラー化に伴って印刷コマンドが肥大化し、膨大な量の印刷コマンドを生成することが多くなるにつれて、印刷装置への転送経路や印刷装置の処理能力によってはプリンタドライバが印刷処理速度を低下させる一因となっていた。
【０００３】
そこで、上記問題を解消すべく、印刷情報を一旦磁気ディスク等の記憶装置に格納しておき、この格納された印刷情報を調査し、印刷処理速度を低下させるような非常に複雑なページについては、ビットマップに展開して印刷装置に転送すると共に、印刷処理速度を維持できる程度のページについては上述した印刷コマンドに変換して印刷装置へ転送するスプールコマンド生成機能が考案された。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記スプールコマンド生成機能は、非スプールコマンド生成機能に比べてホストコンピュータに負荷がかかり、低処理能力のホストコンピュータ上で実行されると、かえって非スプールコマンド生成機能を用いたときよりも印刷処理速度が低下し、印刷時間がかかってしまうという問題があった。これは、スプールコマンド生成機能によるスプール処理自体がホストコンピュータに大きな負荷となり、ユーザが印刷指示を出してから最初のページの印刷コマンドが印刷装置へ到達するまでに時間を要していたためである。当然ながら、低処理能力のホストコンピュータでは、スプールコマンド生成機能によるビットマップイメージ生成処理にも時間を要するため、さらに印刷効率が低下していた。
【０００５】
一方、高処理能力のホストコンピュータでは、スプール処理自体を短時間で行うことが可能であり、また、ビットマップイメージ生成処理が短時間で行えるためにスプールコマンド生成機能を有効に活用することができる。
【０００６】
また、印刷装置へのデータ転送能力の低い低速なインターフェース（Ｉ／Ｆ）を用いた場合は、印刷データにスプールコマンド生成機能によりビットマップ展開されたページが存在すると、非スプールコマンド生成機能を用いたときより印刷装置へ転送するデータサイズが大きくなる傾向にあるため、印刷処理の遅延の原因となる。例えば、低速なＩ／Ｆは、標準的なホストコンピュータのローカルポートであるセントロニクス等であり、高速なＩ／Ｆは、ＬＡＮを経由してＬＰＲプロトコルを用いるダイレクト印刷等である。
【０００７】
したがって、ホストコンピュータが低速なＩ／Ｆで印刷装置と接続されている場合、スプールコマンド生成機能を用いるとデータ転送に時間を要するため印刷効率が低下し、非スプールコマンド生成機能を用いると印刷装置側でのデータ待ち時間が短時間となるため印刷効率が向上する。一方、ホストコンピュータが高速なＩ／Ｆで印刷装置と接続されている場合、スプールコマンド生成機能を用いると印刷装置の印刷データ受信能力を充分に活用でき、印刷装置に負荷の少ないコマンドで出力することが可能となるため、より高速な印刷処理が可能となる。
【０００８】
本発明は、ホストコンピュータの処理能力及びホストコンピュータと印刷装置とを接続するＩ／Ｆの能力を考慮にいれ、各ページの複雑さに応じてスプールコマンド生成機能と非スプールコマンド生成機能を使い分けることで、印刷効率を向上させ、印刷処理をより高速に行うことができる印刷制御方法及び装置、印刷システム、並びにプログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の印刷制御方法は、印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御装置の印刷制御方法において、前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成工程と、前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成工程と、前記印刷制御装置における所定の環境情報を取得する環境情報取得工程と、前記取得された所定の環境情報に基づいて前記非スプールコマンド生成工程及び前記スプールコマンド生成工程から一方の生成工程を選択する選択工程とを備えることを特徴とする。
【００１０】
請求項２記載の印刷制御方法は、請求項１記載の印刷制御方法において、前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択工程は前記印刷データを効率良く印刷することができる生成工程を選択することを特徴とする。
【００１１】
請求項３記載の印刷制御方法は、請求項１又は２記載の印刷制御方法において、前記選択工程は、前記スプールコマンド生成工程が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする。
【００１２】
請求項４記載の印刷制御方法は、請求項１乃至３のいずれか１項に記載の印刷制御方法において、前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする。
【００１３】
請求項５記載の印刷制御方法は、請求項１乃至４のいずれか１項に記載の印刷制御方法において、前記環境情報取得工程は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする。
【００１４】
請求項６記載の印刷制御方法は、請求項５記載の印刷制御方法において、前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、前記プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする。
【００１５】
請求項７記載の印刷制御方法は、請求項１乃至６のいずれか１項に記載の印刷制御方法において、前記スプールコマンド生成工程は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成工程にて前記印刷コマンドの生成を行うことを特徴とする。
【００１６】
上記目的を達成するために、請求項８記載の印刷制御装置は、印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御装置において、前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成手段と、前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成手段と、前記印刷制御装置における所定の環境情報を取得する環境情報取得手段と、前記取得された所定の環境情報に基づいて前記非スプールコマンド生成手段及び前記スプールコマンド生成手段から一方の生成手段を選択する選択手段とを備えることを特徴とする。
【００１７】
請求項９記載の印刷制御装置は、請求項８記載の印刷制御装置において、前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択手段は前記印刷データを効率良く印刷することができる生成手段を選択することを特徴とする。
【００１８】
請求項１０記載の印刷制御装置は、請求項８又は９記載の印刷制御装置において、前記選択手段は、前記スプールコマンド生成手段が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする。
【００１９】
請求項１１記載の印刷制御装置は、請求項８乃至１０のいずれか１項に記載の印刷制御装置において、前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする。
【００２０】
請求項１２記載の印刷制御装置は、請求項８乃至１１のいずれか１項に記載の印刷制御装置において、前記環境情報取得手段は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする。
【００２１】
請求項１３記載の印刷制御装置は、請求項１２記載の印刷制御装置において、前記所定のタイミングには、当該印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする。
【００２２】
請求項１４の印刷制御装置は、請求項８乃至１３のいずれか１項に記載の印刷制御装置において、前記スプールコマンド生成手段は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成手段により前記印刷コマンドの生成を行うことを特徴とする。
【００２３】
上記目的を達成するために、請求項１５記載の印刷システムは、印刷装置と、印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく前記印刷装置に送信する印刷制御手段を備える印刷制御装置とから成る印刷システムにおいて、前記印刷制御手段は、前記印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能により前記印刷データを生成する非スプールコマンド生成手段と、前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成機能により前記印刷データを生成するスプールコマンド生成手段と、前記印刷制御装置における所定の環境情報を取得する環境情報取得手段と、前記取得された所定の環境情報に基づいて前記非スプールコマンド生成手段及び前記スプールコマンド生成手段から一方の生成手段を選択する選択手段とを備えることを特徴とする。
【００２４】
請求項１６記載の印刷システムは、請求項１５記載の印刷システムにおいて、前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択手段は前記印刷データを効率良く印刷することができる生成手段を選択することを特徴とする。
【００２５】
請求項１７記載の印刷システムは、請求項１５又は１６記載の印刷システムにおいて、前記選択手段は、前記スプールコマンド生成手段が選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする。
【００２６】
請求項１８記載の印刷システムは、請求項１５乃至１７のいずれか１項に記載の印刷システムにおいて、前記所定の環境情報には、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力が含まれることを特徴とする。
【００２７】
請求項１９記載の印刷システムは、請求項１５乃至１８のいずれか１項に記載の印刷システムにおいて、前記環境情報取得手段は、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする。
【００２８】
請求項２０記載の印刷システムは、請求項１９記載の印刷システムにおいて、前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする。
【００２９】
請求項２１記載の印刷システムは、請求項１５乃至２０のいずれか１項に記載の印刷システムにおいて、前記スプールコマンド生成手段は、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成手段により前記印刷コマンドの生成を行うことを特徴とする。
【００３０】
上記目的を達成するために、請求項２２記載のプログラムは、印刷情報に基づいて印刷データを生成し、該印刷データを印刷させるべく印刷装置に送信する印刷制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラムにおいて、前記印刷情報を印刷コマンドへ逐次変換して前記印刷データを生成する非スプールコマンド生成モジュールと、前記印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位で前記印刷データの生成を行うスプールコマンド生成モジュールと、前記印刷制御装置における所定の環境情報を取得する環境情報取得モジュールと、前記取得された所定の環境情報に基づいて前記非スプールコマンド生成モジュール及び前記スプールコマンド生成モジュールから一方の生成モジュールを選択する選択モジュールとを備えることを特徴とする。
【００３１】
請求項２３記載のプログラムは、請求項２２記載のプログラムにおいて、前記所定の環境情報は前記印刷データを印刷する場合に影響を及ぼす情報であり、前記選択モジュールは前記印刷データを効率良く印刷することができる生成モジュールを選択することを特徴とする。
【００３２】
請求項２４記載のプログラムは、請求項２２又は２３記載のプログラムにおいて、前記選択モジュールは、前記スプールコマンド生成モジュールが選択されたときは、前記印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、前記印刷データを処理するために必要な時間が短くなるように選択することを特徴とする。
【００３３】
請求項２５記載のプログラムは、請求項２２乃至２４のいずれか１項に記載のプログラムにおいて、前記所定の環境情報は、前記印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び前記印刷装置に接続されているインターフェースの転送能力を含むことを特徴とする。
【００３４】
請求項２６記載のプログラムは、請求項２２乃至２５のいずれか１項に記載のプログラムにおいて、前記環境情報取得モジュールは、前記所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを前記所定の環境情報毎に変更することを特徴とする。
【００３５】
請求項２７記載のプログラムは、請求項２６記載のプログラムにおいて、前記所定のタイミングには、前記印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、当該プログラムの起動時、前記印刷装置の接続先ポートの変更時、及び印刷開始時が含まれることを特徴とする。
【００３６】
請求項２８記載のプログラムは、請求項２２乃至２７のいずれか１項に記載のプログラムにおいて、前記スプールコマンド生成モジュールは、前記印刷データを生成するときは、前記印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して前記非スプールコマンド生成モジュールにより前記印刷コマンドの生成を行うことを特徴とする。
【００３７】
【発明の実施の形態】
以下、本発明の実施の形態に係る印刷システムについて図面を参照して説明する。
【００３８】
図１は、本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【００３９】
図１において、本印刷システムは、ホストコンピュータ１００と、ホストコンピュータ１００に所定の通信媒体（例えば、ＬＡＮ等）を介して接続された印刷装置２００とから成り、少なくともホストコンピュータ１００から印刷装置２００への通信が可能である。
【００４０】
ホストコンピュータ１００は、不図示のＣＰＵ、並びにメモリ（ＲＡＭ、ＲＯＭ）及びハードディスク等の記憶装置を備え、所定のオペレーティングシステム（以下「ＯＳ」という。）により動作する。図１のアプリケーション１１０、処理選択部１２０（選択工程）、環境情報取得部１４０（環境情報取得工程）、スプールコマンド生成部１５０（スプールコマンド生成工程）、及び非スプールコマンド生成部１６０（非スプールコマンド生成工程）は、各々がプログラムコードから成り、ホストコンピュータ１００内のハードディスクに格納され、ＣＰＵにより該ハードディスクから読み出されて実行される。環境情報格納部１３０は、ＲＡＭ等の記憶装置内に格納される情報であり、環境情報取得部１４０により所定のタイミングで取得された環境情報が格納される。スプールコマンド生成部１５０は、印刷情報を記憶装置に格納し、格納された印刷情報を取り出してページ単位でコマンド生成又はイメージ展開するスプールコマンド生成機能を有し、非スプールコマンド生成部１６０は、印刷情報を印刷コマンドへ逐次変換する非スプールコマンド生成機能を有する。
【００４１】
印刷装置２００は、不図示のプリンタエンジンコントローラ及びプリンタエンジンを備える。プリンタエンジンコントローラは、不図示のＣＰＵと共に、該プリンタエンジンコントローラのプログラムコードを格納するＲＯＭや一時記憶領域としてのＲＡＭ等のメモリを備える。
【００４２】
プリンタエンジンは、不図示の記録媒体（例えば、記録用紙等）の搬送機構、半導体レーザユニット、感光ドラム、現像ユニット、定着ユニット、ドラムクローニングユニット、及び分離ユニット等で構成され、公知の電子写真プロセスにより記録媒体に印刷を行う。
【００４３】
本印刷システムでは、ホストコンピュータ１００を利用するユーザの指示に基づいてアプリケーション１１０がＯＳの描画インターフェースを介して処理選択部１２０へ印刷開始命令を通知し、処理選択部１２０が印刷開始命令を受けるとホストコンピュータ１００内の環境情報を環境情報取得部１４０から取得する。ホストコンピュータ１００内の環境情報とは、ホストコンピュータ１００内の使用可能な装置の本印刷システムにおける印刷効率（印刷パフォーマンス）に影響を及ぼす能力や容量のことであり、具体的には、ＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び印刷装置２００に接続されているインターフェース（Ｉ／Ｆ）スピード（転送能力）である。
【００４４】
次に、ホストコンピュータ１００内の環境情報が本印刷システムの印刷効率に及ぼす影響を図２を参照して説明する。
【００４５】
図２は、図１のホストコンピュータ１００内の環境情報が印刷効率に及ぼす影響を示す説明図である。
【００４６】
ＣＰＵ能力：
ホストコンピュータ１００内の上述の各プログラムコードを実行する場合、ＣＰＵ能力が高いものほど高速に各プログラムコードによる処理を行うことができる。特に、本印刷システムでは、スプールコマンド生成部１５０が描画コマンドをビットマップイメージに変換する処理を行うので、ＣＰＵ能力が高ければ高速で短時間に当該処理を行うことができるが、ＣＰＵ能力が低いとスプールコマンド生成部１５０で処理時間を要するため、非スプールコマンド生成部１６０を用いた方がより短時間に行うことができる。
【００４７】
ＲＡＭ搭載量：
上述したＣＰＵ能力と同様に、ホストコンピュータ１００内の各プログラムコードを実行する場合には、ＲＡＭ搭載量が多いほど高速に各プログラムコードによる処理を行うことができる。ＯＳを含めたホストコンピュータ１００内の各プログラムコードがＲＡＭ搭載量を超える記憶領域を必要とする場合、ＯＳが使用頻度の低いＲＡＭ上の記憶領域をハードハードディスク等に書き出しておき（ページアウト）、このスワップアウトされた領域内の情報が必要となったときに再度ＲＡＭ上にロード（ページイン）して、見かけ上ＲＡＭ搭載量以上の記憶領域をハンドリングする。
【００４８】
しかしながら、ＲＡＭに対するリード／ライトのスピードに比べ、ハードディスクに対する読み込み／書き込みのスピードが低速なために頻繁にページアウト、ページインを繰り返すとシステム全体のパフォーマンス低下の原因となる。上記ＣＰＵ能力の項目でも述べたように、スプールコマンド生成部１５０は、描画コマンドをビットマップイメージに変換する処理を行うので、非スプールコマンド生成部１６０に比べてより大量の記憶領域へのアクセスが必要となる。よって、ＲＡＭ搭載量の多い環境では、スプールコマンド生成部１５０の方が高速で短時間に前記処理を行うことができるが、ＲＡＭ搭載量の少ない環境では非スプールコマンド生成部１６０を用いた方がより短時間に行うことができる。
【００４９】
ＲＡＭアクセススピード：
当然ながら、ＲＡＭへのアクセススピードが速ければ速いほど高速に上述の処理を行うことができる。また、上述のページアウト、ページインにかかる時間もＲＡＭアクセススピードが速ければよりスムーズに行える。したがって、本印刷システムでは、スプールコマンド生成部１５０が非スプールコマンド生成部１６０より大量のＲＡＭアクセスを必要とするため、ＲＡＭアクセススピードが速い環境では、スプールコマンド生成部１５０を用いた方が短時間で処理を行うことができる。
【００５０】
ハードディスク残容量：
スプールコマンド生成部１５０は、印刷情報（描画情報）を一旦ハードディスクに格納するため、非スプールコマンド生成部１６０に比べてある程度のハードディスクの空き容量が必要である。また、上述したように、プログラムコードがＲＡＭ搭載量を越える記憶領域を必要とする場合、使用頻度の低いＲＡＭ上の記憶領域をページアウトする領域としてハードディスクを使用するので、スプールコマンド生成部１５０の方が、ある程度の使用可能なハードディスク容量を必要とする。
【００５１】
ハードディスクアクセススピード：
スプールコマンド生成部１５０は、印刷情報を一旦ハードディスクに格納するため、非スプールコマンド生成部１６０に比べてハードディスクを多用する。そのため、ハードディスクへのアクセススピードが速ければ速いほど高速に処理を行うことができる。また、ページアウト、ページインにかかる時間もハードディスクアクセススピードが速ければよりスムーズに行える。したがって、ハードディスクアクセススピードが速い環境では、スプールコマンド生成部１５０を用いた方が短時間で処理を行うことができる。一方、ハードディスクアクセススピードが遅い環境では、非スプールコマンドを用いた方がより短時間に処理を行うことができる。
【００５２】
印刷装置に接続されているＩ／Ｆのスピード：
スプールコマンド生成部１５０を用いて印刷する場合、印刷情報におけるページの複雑度により、イメージ展開されたページと文字や図形の描画コマンドで形成されたページとがページ単位で存在することになる。一般的に、イメージ展開されたページは、文字や図形の描画コマンドで形成されたページに比べて印刷装置２００への転送データ量が大きくなる傾向にあり、そのページをカラー印刷や高階調出力する場合には、その差がさらに大きくなる。つまり、高速なＩ／Ｆでホストコンピュータ１００と印刷装置２００とが接続されている場合は、積極的にスプールコマンド生成部１５０を用いた方が印刷パフォーマンスの向上が見込まれ、低速なＩ／Ｆで接続されている場合は、非スプールコマンド生成部１６０を用いた方が好ましい印刷パフォーマンスとなる。
【００５３】
双方向の通信が可能なＩ／Ｆでは、実際にデータを印刷装置２００に転送し、そのリバースを取得することで印刷にかかる処理を実測することが可能であるが、接続されているＩ／Ｆのタイプを取得するだけでも、ある程度の処理能力の把握が可能である。例えば、ニブルモード又はＥＣＰモードのセントロニクス、ＵＳＢ、ＬＰＲ等のＩ／Ｆのタイプを取得することにより大まかな転送能力が把握できる。
【００５４】
処理選択部１２０は、環境情報取得部１４０から取得した環境情報を上述の比較結果に基づいて総合的に判断し、より好ましい印刷パフォーマンスが得られると予測される処理経路、すなわちスプールコマンド生成部１５０及び非スプールコマンド生成部１６０から一方の生成部を選択する。
【００５５】
上述したホストコンピュータ１００内の環境情報は、固定値として扱うことが可能なものが多数ある。そのため、各環境情報をそれぞれ所定のタイミングで取得して環境情報格納部１３０に格納し、印刷時に必要最低限の環境情報を新たに取得することにより、環境情報の取得処理による印刷処理の遅延を極力少なくすることができる。例えば、ホストコンピュータ１００内の各プログラムコード（印刷制御方法）のインストール時にハードディスクアクセススピードを取得したり、ＯＳの起動時にＣＰＵ能力、ＲＡＭ搭載量、及びＲＡＭアクセススピードを取得したり、ホストコンピュータ１００上でユーザにより接続先ポートの設定が変更されたときに印刷装置２００が接続されているＩ／Ｆのタイプを取得したりする。
【００５６】
そして、実際には、処理選択部１２０が印刷開始命令を受けたときに使用可能なハードディスク残容量のみを取得するようにし、他の環境情報を環境情報格納部１３０から取得することで、処理選択部１２０が処理経路の選択を行うために充分な環境情報を短時間で取得することができる。
【００５７】
次に、スプールコマンド生成部１５０及び非スプールコマンド生成部１６０における印刷時の各処理動作について図３、図４、及び図５を参照して説明する。
【００５８】
スプールコマンド生成部１５０
図３は、図１のスプールコマンド生成部１５０における処理動作を説明するためのブロック図である。
【００５９】
図３において、スプールコマンド生成部１５０は、プログラムコードから成るスプール処理部１５１（スプール処理工程）と、デスプール処理部１５３（デスプール処理工程）と、ＰＤＬコマンド生成部１５４（ＰＤＬコマンド生成工程）と、イメージ展開部１５５（イメージ展開工程）とを備える。これらは、スプールコマンド生成処理におけるプログラムコードであり、ＣＰＵによりハードディスクから読み出されてスプールコマンド生成処理として実行される。印刷情報格納部１５２は、ＲＡＭ等の記憶装置内に格納される情報であり、印刷情報が格納される。ＰＤＬコマンド生成部１５４は、文字や図形の描画コマンドで形成された１ページ分の印刷情報をＰＤＬコマンドのみで構成するコマンド生成手段である。イメージ展開部１５５は、イメージ展開された１ページ分の印刷情報をイメージ描画コマンドのみで構成するコマンド生成手段である。
【００６０】
処理選択部１２０によってスプールコマンド生成部１５０が選択された場合、アプリケーション１１０からＯＳの描画インターフェースを介して通知される印刷情報は、全て処理選択部１２０を素通りし、スプール処理部１５１によりハードディスク等の記憶装置から成る印刷情報格納部１５２に一旦格納される。１ページ分の印刷情報を格納し終わると、スプール処理部１５１はデスプール処理部１５３を起動し、デスプール処理部１５３に対してデスプールの開始を通知する。後続するページがあれば引き続きそれらのページをスプールし、１ページ分のスプールが終了する度にデスプールの開始をデスプール処理部１５３へ通知する。また、スプール処理部１５１は、ページ単位で各描画命令により生じる描画領域の外接矩形情報や描画に関する統計情報も同様にスプールする。このスプールされた情報はバンドスプールデータと呼ばれる。
【００６１】
デスプール処理部１５３は、デスプールの開始通知を受けると、先にスプールされた印刷情報やバンドスプールデータを参照し、スプールされた１ページ分の印刷情報をＰＤＬコマンド生成部１５４で処理するか、イメージ展開部１５５で処理するかを選択する。すなわち、デスプール処理部１５３は、ホストコンピュータ１００での処理時間、データ転送時間、及び印刷装置２００での処理時間がトータルで少なくなる方のコマンド生成手段を選択する。
【００６２】
デスプール処理部１５３による選択の結果、ＰＤＬコマンドのみで構成する方が高速と判断した場合は、ＰＤＬコマンド生成部１５４を選択し、イメージ描画コマンドのみで構成する方が高速と判断した場合は、イメージ展開部１５５を選択する。
【００６３】
すなわち、デスプール処理部１５３によりＰＤＬコマンド生成部１５３が選択された場合は、印刷情報格納部１５２にスプールされた印刷情報がＰＤＬコマンド生成部１５３により、逐次、出力対象である印刷装置２００で処理可能なプリンタコマンドへと変換され、該プリンタコマンドが印刷装置２００へ出力される。一方、デスプール処理部１５３によりイメージ展開部１５４が選択された場合は、印刷情報格納部１５２にスプールされた印刷情報及びバンドスプールデータがイメージ展開部１５５により必要に応じてバンディング処理され、イメージ展開される。
【００６４】
更に、イメージ展開された画像は、必要に応じて色変換処理された後、ユーザが指定した出力階調まで落とすＮ値化処理（Ｎ＝１，２，…，８）が施され、適切なイメージ描画コマンドへと変換されて印刷装置２００へ出力される。勿論、イメージ展開された画像がバンディング処理された場合は、イメージ展開、色変換、及びＮ値化処理がバンド単位で全てのバンドに対して行われる。このようにして１ページ分の処理が終了する。後続するページが存在する場合は、同様に、デスプール処理部１５３によりコマンド生成部が選択され、選択されたコマンド生成部がスプールされた印刷情報のコマンド生成を行う。
【００６５】
以上、処理選択部１２０がスプールコマンド生成部１５０を選択した場合の処理について説明したが、ＰＤＬコマンド生成部１５３での変換処理は後述する非スプールコマンド生成部１６０での処理とほぼ同様の処理であることから、図４に示すように処理を行うことでこれら二つの変換処理を一つにまとめることが可能である。
【００６６】
すなわち、図４において、デスプール処理部１５３がＰＤＬコマンド生成部１５４を選択して直接呼び出すのではなく、一旦ＯＳの描画インターフェースを介して処理選択部１２０を呼び出す。処理選択部１２０は、デスプール処理部１５３からの呼び出しを認識し、環境情報の取得や処理経路の選択等を行わずに、非スプールコマンド生成部１６０を用いて印刷コマンドを生成する。これにより、同様のコマンド生成処理を分散させることなく、一箇所（非スプールコマンド生成部１６０）に集約することができ、印刷パフォーマンスを向上させることができる。
【００６７】
非スプールコマンド生成部１６０
図５は、図１の非スプールコマンド生成部１６０における処理動作を説明するためのブロック図である。
【００６８】
図５において、処理選択部１２０によって非スプールコマンド生成部１６０が選択された場合、アプリケーション１１０からＯＳの描画インターフェースを介して通知される印刷情報は、全て処理選択部１２０を素通りし、非スプールコマンド生成部１６０へと転送される。
【００６９】
非スプールコマンド生成部１６０では、通知された印刷情報が、逐次、出力対象である印刷装置２００で処理可能なプリンタコマンドへと変換され、印刷装置２００へと出力される。つまり、こちらの処理経路は、一般的なプリンタドライバによるコマンド生成処理といえる。
【００７０】
本印刷システムでは、ホストコンピュータ１００内の処理選択部１２０がホストコンピュータ１００の各種能力及び印刷装置２００に接続されているＩ／Ｆ等の環境情報を取得し、この環境情報に基づいてスプールコマンド生成部１５０及び非スプールコマンド生成部１６０から最適な方を選択し、ホストコンピュータ１００の各種能力が低処理能力であるか又は印刷装置に接続されているＩ／Ｆが低速であるときは、非スプールコマンド生成部１６０を選択することで、スプールコマンド生成機能を用いた場合に生じるスプール処理のオーバーヘッド、イメージ展開処理の遅延、及びデータ転送時間の遅延等を回避することが可能となる。
【００７１】
一方、ホストコンピュータ１００の各種能力が高処理能力であるか又は印刷装置に接続されているＩ／Ｆが高速であるときは、積極的にスプールコマンド生成部１５０を選択することで、より高速な印刷環境をユーザに提供することができる。
【００７２】
上記実施の形態によれば、ホストコンピュータ１００を利用するユーザの指示に基づいてアプリケーション１１０がＯＳの描画インターフェースを介して処理選択部１２０へ印刷開始命令を通知し、処理選択部１２０が印刷開始命令を受けるとホストコンピュータ１００内の環境情報を環境情報取得部１４０から取得し、取得された環境情報に基づいて処理選択部１２０がスプールコマンド生成部１５０及び非スプールコマンド生成部１６０から一方を選択するので、スプール処理のオーバーヘッド、ビットマップイメージ展開処理の遅延、及びデータ転送時間の遅延等を回避し、印刷効率を向上させ、より高速な印刷処理が可能となる。
【００７３】
また、スプールコマンド生成部１５０が選択された場合、デスプール処理部１５３がホストコンピュータ１００での処理時間、データ転送時間、及び印刷装置２００での処理時間がトータルで少なくなる方のコマンド生成手段を選択するので、印刷効率を確実に向上させ、印刷処理をより高速に行うことができる。
【００７４】
上記実施の形態では、ホストコンピュータ１００の環境情報としてＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、使用可能なハードディスク容量、ハードディスクアクセススピード、及び印刷装置２００に接続されているインターフェース（Ｉ／Ｆ）のスピードを挙げたが、これに限られず、他の環境情報を用いてもよい。
【００７５】
ホストコンピュータ１００内のハードディスクに記憶された上記実施の形態を実現する印刷制御方法を実行するプログラムコードを、リムーバブルな任意の記憶媒体に記憶し、外部からこの記憶媒体を装着することにより、ＣＰＵに該プログラムコードを供給して実行するようにしてもよい。このプログラムコードを供給する記憶媒体としては、例えば、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、及び不揮発性メモリカード等がある。また、ＣＰＵの代わりに、これらと同様の作動をする不図示の回路により上記実施の形態を実現してもよい。
【００７６】
【発明の効果】
以上詳細に説明したように、請求項１記載の方法、請求項８記載の装置、請求項１５記載のシステム、及び請求項２２記載のプログラムによれば、印刷制御装置における所定の環境情報を取得し、取得された所定の環境情報に基づいて非スプールコマンド生成及びスプールコマンド生成から一方を選択するので、印刷効率を向上させ、印刷処理をより高速に行うことができる。
【００７７】
請求項２記載の方法、請求項９記載の装置、請求項１６記載のシステム、及び請求項２３記載のプログラムによれば、所定の環境情報は印刷データを印刷する場合に影響を及ぼす情報であり、印刷データを効率良く印刷することができるものが選択されるので、より印刷効率を向上させることができる。
【００７８】
請求項３記載の方法、請求項１０記載の装置、請求項１７記載のシステム、及び請求項２４記載のプログラムによれば、スプールコマンド生成が選択されたときは、印刷データをページ記述言語コマンドを生成することにより処理するのか又はイメージに展開して処理するのかを、印刷データを処理するために必要な時間が短くなるように選択するので、印刷処理をより短時間に行うことができる。
【００７９】
請求項４記載の方法、請求項１１記載の装置、請求項１８記載のシステム、及び請求項２５記載のプログラムによれば、所定の環境情報には、印刷制御装置のＣＰＵ能力、ＲＡＭ搭載量、ＲＡＭアクセススピード、ハードディスク残容量、ハードディスクアクセススピード、及び印刷装置に接続されているインターフェースの転送能力が含まれるので、これらの環境情報に基づいて印刷効率をより向上させることができる。
【００８０】
請求項５記載の方法、請求項１２記載の装置、請求項１９記載のシステム、及び請求項２６記載のプログラムによれば、所定の環境情報を所定のタイミングで取得し、当該所定のタイミングを環境情報毎に変更するので、印刷制御装置に負担をかけることなく、短時間で環境情報を取得することができる。
【００８１】
請求項６記載の方法、請求項１３記載の装置、請求項２０記載のシステム、及び請求項２７記載のプログラムによれば、所定のタイミングには、印刷制御装置に印刷制御方法を実行させるプログラムのインストール時、プログラムの起動時、印刷装置の接続先ポートの変更時、及び印刷開始時が含まれるので、印刷制御装置に負担をかけることなく、短時間で環境情報を取得するという効果を確実に奏することができる。
【００８２】
請求項７記載の方法、請求項１３記載の装置、請求項２１記載のシステム、及び請求項２８記載のプログラムによれば、スプールコマンド生成は、印刷データを生成するときは、印刷制御装置が搭載するオペレーティングシステムの描画インターフェースを介して非スプールコマンド生成により印刷コマンドの生成を行うので、コマンド生成処理を分散させることなく、印刷効率を向上させることができる。
【図面の簡単な説明】
【図１】
本発明の実施の形態に係る印刷システムの概略構成を示すブロック図である。
【図２】
図１のホストコンピュータ１００内の環境情報が印刷パフォーマンスに及ぼす影響を示す説明図である。
【図３】
図１のスプールコマンド生成部１５０における処理動作を説明するためのブロック図である。
【図４】
図３の処理動作の変形例を示すブロック図である。
【図５】
図１の非スプールコマンド生成部１６０における処理動作を説明するためのブロック図である。
【符号の説明】
１００  ホストコンピュータ
１１０  アプリケーション
１２０  処理選択部
１３０  環境情報格納部
１４０  環境情報取得部
１５０  スプールコマンド生成部
１５１  スプール処理部
１５２  印刷情報格納部
１５３  デスプール処理部
１５４  ＰＤＬコマンド生成部
１５５  イメージ展開部
１６０  非スプールコマンド生成部
２００  印刷装置