(57)【要約】【課題】印刷実行時間の増大を抑制すること。【解決手段】プリンタ２０から印刷データの処理能力及びプロッタエンジンの待機時間の情報を取得し（Ｓ１）、あるＰＤＬを用いて印刷データを生成し（Ｓ２）印刷データの各ページごとの処理時間を見積もる（Ｓ３）。次に、生成した印刷データの各ページの見積時間の中に、待機時間を超えるものがあるか否かを調べ（Ｓ４）、生成した印刷データの各ページの見積時間の中に、待機時間を超えるものがある場合は（Ｓ４のＹ）、他のＰＤＬを用いて当該ページの印刷データを生成し（Ｓ５）、当該他のＰＤＬを用いて生成された当該ページの処理時間が、待機時間よりも短い場合は（Ｓ６のＹ）、当該他のＰＤＬで生成した当該ページを、あるＰＤＬで生成した印刷データの当該ページと差し替え、プリンタ２０に送る印刷データを作成し（Ｓ７）、その印刷データをプリンタ２０に送信する（Ｓ８）。【選択図】        図８
2015166996.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに印刷の内容を示す印刷データを供給する情報処理装置であって、
前記プリンタに供給する印刷データを生成する印刷データ生成手段と、
前記印刷データの供給先である前記プリンタにおける印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報を取得する取得手段と、
前記印刷データ生成手段がある形式で生成した所定単位の印刷データについて、前記取得手段が取得した情報に基づき、前記画像形成装置が該所定単位の印刷データを処理するのに要する時間が前記待機時間よりも長いと予測される場合に、前記印刷データ生成手段に、前記所定単位の印刷データを、前記画像形成装置がより短い時間で処理できる別の形式で生成させる制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記所定単位は、１ページ分であることを特徴とする情報処理装置。
【請求項３】
画像形成装置に印刷の内容を示す印刷データを供給する情報処理装置であって、
前記画像形成装置に供給する印刷データを生成する印刷データ生成手段と、
前記印刷データの供給先である前記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報と、前記画像形成装置が待機モードから復帰するのに要する復帰時間の情報とを取得する取得手段と、
前記印刷データ生成手段が生成した複数の形式の印刷データについて、前記取得手段が取得した情報に基づき、該印刷データの処理中に前記画像形成装置が待機モードに移行してしまう場合にその待機モードから復帰するのに要する復帰時間の合計も考慮して、前記複数の形式の中で印刷データの処理に要する時間の合計が最も短い形式で前記印刷データ生成手段に印刷データを生成させる制御手段とを備えることを特徴とする情報処理装置。
【請求項４】
画像形成装置に印刷内容を示す印刷データを供給する情報処理方法であって、
前記画像形成装置に供給する印刷データを生成する印刷データ生成手順と、
前記印刷データの供給先である前記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報を取得する取得手順と、
前記印刷データ生成手順である形式で生成した所定単位の印刷データについて、前記取得手順で取得した情報に基づき、前記画像形成装置が該所定単位の印刷データを処理するのに要する時間が前記待機時間よりも長いと予測される場合に、前記印刷データ生成手順で、前記所定単位の印刷データを、前記画像形成装置がより短い時間で処理できる別の形式で生成するように制御する制御手順とを備えることを特徴とする情報処理方法。
【請求項５】
画像形成装置に印刷内容を示す印刷データを供給する情報処理方法であって、
前記画像形成装置に供給する印刷データを生成する印刷データ生成手順と、
前記印刷データの供給先である前記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報と、前記画像形成装置が待機モードから復帰するのに要する復帰時間の情報とを取得する取得手順と、
前記印刷データ生成手順で生成した複数の形式の印刷データについて、前記取得手順で取得した情報に基づき、該印刷データの処理中に前記画像形成装置が待機モードに移行してしまう場合にその待機モードから復帰するのに要する前記復帰時間の合計を考慮して、前記複数の形式の中で印刷データの処理に要する時間の合計が最も短い形式で、前記印刷データ生成手順で印刷データを生成するように制御する制御手順とを備えることを特徴とする情報処理方法。
【請求項６】
コンピュータを、
画像形成装置に印刷の内容を示す印刷データを供給する情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
前記画像形成装置に供給する印刷データを生成する印刷データ生成手段と、
前記印刷データの供給先である前記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報を取得する取得手段と、
前記印刷データ生成手段がある形式で生成した所定単位の印刷データについて、前記取得手段が取得した情報に基づき、前記画像形成装置が該所定単位の印刷データを処理するのに要する時間が前記待機時間よりも長いと予測される場合に、前記印刷データ生成手段に、前記所定単位の印刷データを、前記画像形成装置がより短い時間で処理できる別の形式で生成させる制御手段として機能させるためのプログラム。
【請求項７】
コンピュータを、
画像形成装置に印刷内容を示す印刷データを供給する情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
前記画像形成装置に供給する印刷データを生成する印刷データ生成手段と、
前記印刷データの供給先である前記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報と、前記画像形成装置が待機モードから復帰するのに要する復帰時間の情報とを取得する取得手段と、
前記印刷データ生成手段が生成した複数の形式の印刷データについて、前記取得手段が取得した情報に基づき、該印刷データの処理中に前記画像形成装置が待機モードに移行してしまう場合にその待機モードから復帰するのに要する復帰時間の合計も考慮して、前記複数の形式の中で印刷データの処理に要する時間の合計が最も短い形式で前記印刷データ生成手段に印刷データを生成させる制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
印刷を実行するときに、どのページ記述言語（Page  Description  Language）以下「ＰＤＬ」という。）を用いればホストＰＣ側で印刷データを最も速く生成できるかを判断する手段が既に知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、印刷データを最も速く生成できても、生成された複数ページの印刷データを印刷装置でＰＤＬの解釈および数値計算処理を行う段階において、特定のページの計算処理時間が一定時間を超えてしまった場合、次のような問題がある。すなわち、エネルギー消費を抑えるために、印字処理を行うプロッタエンジンが待機モードに移行し、計算処理が完了してからプロッタエンジンが印刷実行モードに復帰する制御を行うことがある。
この制御により、プロッタエンジンの待機モードへの移行と印刷実行モードへの復帰に時間がかかり、総印刷時間が増大するという問題があった。
【０００４】
従来、複数のＰＤＬに対応するプリンタを利用する場合に、プリンタドライバの側で、データ転送効率、データ処理量及び画像品質の点から最も適切なＰＤＬを自動で選択することができるプリンタドライバを提供することを目的として、最適なＰＤＬの種類を選択する技術について提案されている（例えば、特許文献１参照）。
しかしながら、特許文献１に記載の発明は、特定のページの計算処理時間が一定時間を超えてしまった場合に、印字処理を行うプロッタエンジンが待機モードに移行し、計算処理が完了してからプロッタエンジンが印刷実行モードに復帰するために、総印刷時間が増大してしまうという問題を解決するものではなかった。
【０００５】
本発明は上述のような事情に鑑み為されたものであり、情報処理装置から画像形成装置に対して印刷実行指示を行った場合に、印刷実行時間の増大を抑制することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る情報処理装置は、画像形成装置に印刷の内容を示す印刷データを供給する情報処理装置であって、上記画像形成装置に供給する印刷データを生成する印刷データ生成手段と、上記印刷データの供給先である上記画像形成装置における印刷データの処理能力の情報と、該画像形成装置が待機モードへ移行するまでの待機時間の情報を取得する取得手段と、上記印刷データ生成手段がある形式で生成した所定単位の印刷データについて、上記取得手段が取得した情報に基づき、上記画像形成装置が該所定単位の印刷データを処理するのに要する時間が上記待機時間よりも長いと予測される場合に、上記印刷データ生成手段に、上記所定単位の印刷データを、上記画像形成装置がより短い時間で処理できる別の形式で生成させる制御手段とを備えることを特徴とする。
【発明の効果】
【０００７】
上記構成による情報処理装置によれば、印刷実行時間の増大を抑制することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の情報処理装置を含む印刷システムの全体構成を示すブロック図である。
【図２】図１に示したＰＣ１０のハードウェア構成を示すブロック図である。
【図３】図１に示したプリンタ２０のハードウェア構成を示すブロック図である。
【図４】本発明の第１実施形態における印刷データ生成処理の概念を示した図である。
【図５】図１に示した情報処理装置１０の機能構成を示すブロック図である。
【図６】印刷データの計算処理時間を見積もるための情報を示すテーブルである。
【図７】プリンタコントローラの機能構成を示すブロック図である。
【図８】本発明の第１実施形態のフローチャートである。
【図９】本発明の第２実施形態の概念を示した図である。
【図１０】各ＰＤＬにおいて、プリンタコントローラでの計算処理時間とプロッタエンジンでの印刷処理時間とを対比させて表示したものである。
【図１１】本発明の第２実施形態のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明を実施するための形態について、図面を用いて詳細に説明する。
【００１０】
［第１実施形態：図１乃至図８］
図１は、本発明の情報処理装置の第１実施形態である印刷システムの構成について説明する図である。図１に示す印刷システムは、情報処理装置であるＰＣ（パーソナルコンピュータ）１０と画像形成装置であるプリンタ２０とをネットワーク３０を介して相互に通信可能に接続して構成したものである。
【００１１】
ＰＣ１０は、プリンタ２０が画像形成（ここでは印刷を指す。）する内容を示す印刷データを生成し、プリンタ２０にその印刷データを供給して、印刷指示を行う機能を備えた装置である。なお、ＰＣ１０以外にも、パーソナルコンピュータ（ＰＣ）のほか、タブレット端末や携帯情報端末等の情報処理装置も使用できる。
【００１２】
印刷データの供給先であるプリンタ２０は、ＰＣ１０から受け取った印刷データから、計算処理によって印刷用の画像データを生成し、後述のプロッタエンジンを用いて用紙等の媒体に印刷を行う機能を備えた装置である。
画像形成装置の例としては、プリンタ、複写機、ファクシミリのほか、プリント、スキャン、コピー、ファクシミリ通信、ネットワーク通信、データ保存等の機能を備えたデジタル複合機（ＭＦＰ）が挙げられるが、ここではプリンタであるとする。
ネットワーク３０は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）が利用可能である。利用する通信規格は任意であるし、有線／無線の別を問わない。
【００１３】
図２は、ＰＣ１０のハードウェア構成を示すブロック図である。ＰＣ１０は、図２に示すように、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、通信Ｉ／Ｆ（インタフェース）１０４、ＨＤＤ１０５及びＵＩ部１０６をシステムバス１０７により接続した構成とすることができる。
そして、ＣＰＵ１０１がＲＡＭ１０３をワークエリアとしてＲＯＭ１０２あるいはＨＤＤ１０５に記憶されたアプリケーションやその他のプログラムを実行することによりＰＣ１０の動作を制御し、種々の機能を実現することができる。
【００１４】
通信Ｉ／Ｆ１０４は、ＬＡＮ等のネットワーク３０を介して、他の装置と通信するためのインタフェースであり、ＬＡＮ端子、モデム、無線ＬＡＮを実現するためのアンテナおよび送受信機を含むことができる。
ＵＩ部１０６は、ユーザの操作を受け付けるための操作部や、ユーザに情報を提示するための表示部を含む操作受付手段である。外付けの操作部や表示部を用いてもよいことはもちろんである。
【００１５】
操作部は、例えば、文字や数字を入力するためのキーボード、画面に表示されるカーソルの移動、アイコン等の選択等を実現するためのマウス等を備える。また、上述の表示部としては、液晶ディスプレイやＣＲＴ等を採用することができる。
さらに、ＨＤＤ１０５のほかに、外部記憶デバイスとしてのメモリカード、ＣＤやＤＶＤ等の光ディスクのＲ／Ｗ装置を備えることができる。
【００１６】
図３は、プリンタ２０のハードウェア構成を示すブロック図である。
例えば、図３に示すように、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＮＶＲＡＭ２０４、ＨＤＤ２０５、通信Ｉ／Ｆ２０６、エンジンＩ／Ｆ２０７、ＵＩ（ユーザインタフェース）部Ｉ／Ｆ２０８、外部Ｉ／Ｆ２０９をシステムバス２１０により接続した構成とすることができる。上記ＣＰＵ２０１からシステムバス２１０までを全部含めて、便宜上プリンタコントローラ２００と称する。
また、エンジンＩ／Ｆ２０７にはエンジン部２１１を、ＵＩ部Ｉ／Ｆ２０８にはＵＩ部２１２をそれぞれ接続する。
【００１７】
そして、ＣＰＵ２０１がＲＡＭ２０３をワークエリアとしてＲＯＭ２０２あるいはＨＤＤ２０５に記憶されたプログラムを実行することにより、プリンタ２０全体の動作を制御し、画像データの生成や印刷を始めとする種々の機能を実現することができる。
なお、ＮＶＲＡＭ２０４は、プリンタ２０のプロッタエンジンの特性パラメータや印刷条件設定などを保存しておく不揮発性メモリであるが、ＲＯＭ２０２あるいはＨＤＤ２０５が利用可能である場合は、省略可能である。
通信Ｉ／Ｆ２０６は、ＬＡＮ等のネットワーク３０を介して、ＰＣ１０と通信するためのインタフェースである。
【００１８】
エンジン部２１１は、印刷エンジン（以下「プロッタエンジン」という。）等の、外部に対して通信及び表示以外の物理的な出力を行う手段を示す。エンジンＩ／Ｆ２０７は、エンジン部２１１とＣＰＵ２０１とを接続してエンジン部２１１をＣＰＵ２０１から制御可能とするためのインタフェースである。
ＵＩ部Ｉ／Ｆ２０８は、ＵＩ部２１２とＣＰＵ２０１とを接続してＵＩ部２１２をＣＰＵ２０１から制御可能とするためのインタフェースである。
【００１９】
ＵＩ部２１２は、ユーザの操作を受付けるための操作部や、ユーザに情報を提示するための表示部を含む操作受付手段である。操作部は、例えば、文字や数字を入力するためのキーボードを表示し、指での入力が可能なタッチパネルを採用することができる。
また、外部Ｉ／Ｆ２０９は、データを外部Ｉ／Ｆ２０９を介して接続される外部記憶装置（不図示）に保持・記録するためのインタフェースである。
【００２０】
次に、図１に示したＰＣ１０が実行する印刷データの生成処理について説明する。図４は、その処理の概念を示した図である。
【００２１】
ＰＣ１０は、図４に示すように、アプリケーションデータから、複数あるページ記述言語（ＰＤＬ）のうち特定のＰＤＬ（ＰＤＬ＃１）を用いて印刷データを生成する。生成された印刷データのうちのあるページ（Page_Xとする。）をプリンタ２０において計算処理を行ってページ画像（Page  Image）を生成するのに要する時間（以下、「印刷データを処理するのに要する時間」又は単に「処理時間」という。）が、プリンタ２０のプロッタエンジンが待機モードに移行するまでの時間（以下、「待機時間」という。）よりも長くなることが見込まれる場合は、アプリケーションデータから他のＰＤＬ（ＰＤＬ＃２）を用いて印刷データを生成する。
【００２２】
そして、新たに生成された印刷データの中にあるPage_Xに対応するページ（Page_X'とする。）の処理時間が待機時間よりも短いと見込まれるときは、最初に生成された印刷データの中のPage_XをPage_X'に差し替えて印刷データを完成させ、プリンタ２０に送る。
なお、この場合において、ＰＣ１０は、プリンタ２０から、処理時間を見積もるための処理能力情報や待機時間の情報を予め取得しておく。その取得方法については後述する。
【００２３】
ＰＣ１０から印刷データを受け取ったプリンタ２０のプリンタコントローラ２００は、コマンド処理（ＰＪＬコマンド処理、ＰＤＬコマンド処理）及び描画処理を行い、印刷のためのページ画像（ビットマップイメージ）を生成し、プロッタエンジン２１１が用紙等に印刷を行う。
このようにすることにより、プリンタ２０における処理時間が待機時間を超えることがないので、プリンタ２０が印刷データの処理中に待機モードに移行しないようにすることができる。そしてこのことにより、待機モードからの復帰に要する時間に起因する印刷時間の増大を防ぐことができる。
【００２４】
なお、ＰＣ１０が最初に使用するＰＤＬは、任意に選んでもよいが、生成されるコマンド数、１コマンド当たりの処理時間、プリンタコントローラ２００の処理能力等を考慮して、適宜公知の手法を採用し、平均的にはプリンタコントローラ２００における処理時間が短いと予想されるものを選択するとよい。図４に示した置き換えにより、このような一律の予想では却って印刷に時間がかかってしまうケースにも対応可能である。
【００２５】
次に、ＰＣ１０の機能構成について説明する。図５は、図１に示したＰＣ１０の機能構成を示すブロック図である。各機能は、ＰＣ１０のＣＰＵ１０１が所定のプログラムを実行することにより、その機能を実現する。
図５に示すＰＣ１０は、アプリケーションプログラム４０とプリンタドライバ５０を備える。
このうち、アプリケーションプログラム４０は、文書作成ソフトや描画ソフト等の文書作成ツールであり、これによって作成されたアプリケーションデータ（図４参照）からＰＤＬによって印刷データを生成する。
【００２６】
また、プリンタドライバ５０は、ＰＤＬコマンド生成部５１、ＰＪＬコマンド生成部５２、プリンタ情報取得部５３及びページデータ構成部５４を備える。
このうち、ＰＤＬコマンド生成部５１は、複数種類のＰＤＬ（ＰＤＬ＃１、ＰＤＬ＃２、ＰＤＬ＃３、・・・）を備え、アプリケーションプログラム４０で作成されたアプリケーションデータから所定のＰＤＬを用いて、文字の印字位置や文字種等をコマンド（ＰＤＬコマンド）で指定し、プリンタ２０が解釈可能な印刷データを生成する機能を備える。ＰＤＬとしては、例えば、PostScript（アドビシステムズ社）、ＰＣＬ（ヒューレット・パッカード社）、ＬＩＰＳ（キヤノン社）等が知られている。
【００２７】
また、ＰＪＬ（プリンタジョブ言語）コマンド生成部５２は、プリンタの印刷ジョブを制御するコマンド（ＰＪＬコマンド）を生成する機能を備える。例えば、印刷設定はＰＪＬコマンドによって指定される。上記ＰＤＬコマンドとＰＪＬコマンドによって印刷データが構成される。
【００２８】
すなわち、ＰＤＬコマンド生成部５１とＰＪＬコマンド生成部５２とが協働することにより、プリンタに供給する印刷データを生成する印刷データ生成手段として機能する。また、印刷データ生成手段が行う印刷データの生成処理が、印刷データ生成手順の処理に該当する。
また、上記ＰＤＬが、印刷データ生成手段が印刷データの生成の際に用いる形式に対応する。
【００２９】
プリンタ情報取得部５３は、後述のプリンタ情報提供部６５（図７）から、プリンタ２０における印刷データの処理時間を見積もるための処理能力の情報と、プリンタが待機モードへ移行するまでの待機時間及び待機モードからの復帰時間の情報を取得する機能を備える。
処理能力の情報とは、例えば、ＣＰＵの速度（クロック数等）やメモリの情報（容量、レイテンシ、バス幅等）である。
【００３０】
プリンタ情報取得部５３は、プリンタにおける印刷データの処理能力の情報と、プリンタが待機モードへ移行するまでの待機時間の情報を取得する取得手段として機能する。また、この取得手段の行う処理が、取得手順の処理に該当する。
【００３１】
ページデータ構成部５４は、プリンタ情報取得部５３が取得した処理能力の情報に基づいて、あるＰＤＬ（例えばＰＤＬ＃１）により生成された印刷データの各ページのプリンタ２０での計算処理時間を見積もる。そして、処理時間が待機時間よりも長く待機モードへの移行が見込まれるページがある場合は、別のＰＤＬ(例えばＰＤＬ＃２)を用いてそのページのＰＤＬコマンドを再生成した上で、当該ページを差し替えて、最終的にプリンタ２０に供給する印刷ページを生成する機能を備える。
【００３２】
すなわち、ページデータ構成部５４は、印刷データ生成手段がある形式で生成した所定単位の印刷データについて、上記取得手段が取得した情報に基づき、プリンタがページ単位の印刷データを処理するのに要する時間が待機時間よりも長いと予測される場合に、上記印刷データ生成手段に、ページ単位の印刷データを、プリンタがより短い時間で処理できる別の形式で生成させる制御手段として機能する。また、この制御手段の行う処理が、制御手順の処理に該当する。
【００３３】
ここで、ページデータ構成部５４が、プリンタ２０から取得した処理能力の情報に基づいて、プリンタ２０における印刷データの処理時間を見積もる方法を、図６に基づいて説明する。
図６は、印刷データの計算処理時間を見積もるための情報を示すテーブルである。ページデータ構成部５４はこのテーブルを保持している。
【００３４】
図６において、符号７１が示す項目は、印刷データの各ページに含まれるＰＤＬコマンドの種類であり、符号７２が示す項目は、印刷データからページ画像を生成する際に、それぞれのコマンドの計算処理に要する時間比である。例えば、グラフィック描画コマンドにおいて、ベジェ曲線の描画コマンドを処理する時間は、直線のコマンド処理時間の１０倍かかるということを示している。これらの所要時間比はプリンタの処理能力にかかわらず、予め判明しているものである。
【００３５】
ページデータ構成部５４は、例えば、印刷データのあるページについて、直線のコマンド処理時間を１として、すべての描画コマンドの処理時間を合計し、合計した時間に、直線コマンドの処理の実時間を乗じて、印刷データの計算処理時間の実時間を求める。
なお、実時間算出の基となる１つの直線コマンドを処理するための実時間は、プリンタ情報取得部５３が取得したプリンタの処理能力の情報によって決まるものである。
なお、印刷データを生成するＰＤＬによって処理時間が異なるのは、印刷データに含まれるコマンド列の数が異なるからである。
【００３６】
次に、プリンタコントローラ２００の機能構成について説明する。図７は、図３に示したプリンタ２０のプリンタコントローラ２００の機能構成を示すブロック図である。各機能は、プリンタコントローラ２００のＣＰＵ２０１が所定のプログラムを実行することにより、その機能を実現する。
図７に示すプリンタコントローラ２００は、ＰＪＬコマンド処理部６１、ＰＤＬコマンド処理部６２、ＰＤＬ制御部６３、ページ描画処理部６４、プリンタ情報提供部６５及びプリンタ情報データベース（ＤＢ）６６を備える。
【００３７】
図７のうち、ＰＪＬコマンド処理部６１は、ＰＣ１０から受け取った印刷データに含まれるＰＪＬコマンドを読み出し、印刷設定等の印刷ジョブ情報を解析し、ページ描画処理部６４に渡す機能を備える。
また、ＰＤＬコマンド処理部６２は、ＰＣ１０から受け取った印刷データから、その生成に使用したＰＤＬを用いてＰＤＬコマンド列を展開し、ページ描画処理部６４に渡す機能を備える。
【００３８】
また、ＰＤＬ制御部６３は、ＰＤＬコマンド処理部６２が、印刷データの中に別のＰＤＬで作成されたページを発見した場合に、当該別のＰＤＬを処理するプログラムに切り換える機能を備える。
【００３９】
ページ描画処理部６４は、ＰＪＬコマンド処理部６１及びＰＤＬコマンド処理部６２から受け取ったＰＪＬコマンド及びＰＤＬコマンドに基づき、ページ画像を生成する描画処理を行う機能を備える。生成されたページ画像をプロッタエンジンに送り、プロッタエンジンが用紙等に印刷を行う。この印刷データから描画処理を行う処理時間が、プロッタエンジンの待機時間よりも長くなると、プロッタエンジンが待機モードに移行してしまうことになる。
【００４０】
プリンタ情報提供部６５は、プリンタ情報取得部５３（図５）からの要求により、印刷データの処理時間を見積もるための処理能力の情報と、プリンタ２０が待機モードへ移行するまでの待機時間及び待機モードからの復帰時間の情報をＰＣ１０に送信する機能を備える。
プリンタ情報ＤＢ６６は、印刷データの処理時間を見積もるための処理能力の情報と、プリンタ２０が待機モードへ移行するまでの待機時間及び待機モードからの復帰時間の情報を保持する機能を備える。
【００４１】
次に、本発明の情報処理装置の第１実施形態における処理について説明する。図８は、その処理の流れを示すフローチャートである。各ステップにおける処理は、ＰＣ１０のＣＰＵ１０１が所定のプログラムに基づいて行うものである。
この処理は、ＰＣ１０において、ユーザがアプリケーションデータの印刷指示を行い、ＣＰＵ１０１がその信号を検出した時にスタートする。
【００４２】
まずＣＰＵ１０１は、プリンタ２０から印刷データの処理能力及びプロッタエンジンの待機時間の情報を取得し、記憶する（Ｓ１）。この処理は、プリンタ情報取得部５３の機能と対応する。
次に、ＣＰＵ１０１は、アプリケーションデータから、あるＰＤＬ（例えばＰＤＬ＃１とする。）と所定のＰＪＬを用いて印刷データを生成する（Ｓ２）。これは、ＰＤＬコマンド生成部５１及びＰＪＬコマンド生成部５２の機能と対応する。また、ここで用いるＰＤＬは、上述のように、平均的にはプリンタコントローラ２００における処理時間が短いと予想されるものを選択するとする。
次に、ＣＰＵ１０１は、印刷データの各ページごとのプリンタコントローラ２００における処理時間を見積もる（Ｓ３）。この処理は、ページデータ構成部５４の機能と対応する。
【００４３】
次に、ＣＰＵ１０１は、ＰＤＬ＃１で生成した印刷データの各ページの見積時間の中に、ステップＳ１で取得した待機時間を超えるものがあるか否かを調べる（Ｓ４）。
どのページの見積時間も待機時間を超えない場合は（Ｓ４のＮ）、ＣＰＵ１０１は、生成した印刷データをプリンタ２０に送信し（Ｓ８）、処理を終了する。
【００４４】
一方、生成した印刷データの各ページの見積時間の中に、ステップＳ１で取得した待機時間を超えるものがある場合（Ｓ４のＹ）、ＣＰＵ１０１は、アプリケーションデータから、他のＰＤＬ（例えばＰＤＬ＃２）を用いて当該ページの印刷データを生成する（Ｓ５）。
そして、ＣＰＵ１０１は、ＰＤＬ＃２を用いて生成された当該ページの処理時間が、待機時間よりも短いか否かを調べる（Ｓ６）。
【００４５】
ステップＳ６でＹｅｓの場合は、当該他のＰＤＬ（この場合はＰＤＬ＃２）で生成した当該ページを、先にＰＤＬ＃１で生成した印刷データの当該ページと差し替え、プリンタ２０に送る印刷データを作成する（Ｓ７）。そして、その印刷データをプリンタ２０に送信し（Ｓ８）、処理を終了する。
【００４６】
一方、ステップＳ６でＮｏの場合、ＣＰＵ１０１は、ＰＤＬ＃２で作成した当該ページの処理時間を、当該他のＰＤＬの種類（この場合はＰＤＬ＃２）と関連付けて、適当なメモリに記憶する（Ｓ９）。
そして、ＣＰＵ１０１は、利用可能な他のＰＤＬがあるかどうかを調べる（Ｓ１０）。他のＰＤＬ（例えばＰＤＬ＃３）が存在する場合（Ｓ１０のＹ）、ＣＰＵ１０１は、ステップＳ５に戻り、アプリケーションデータから、ＰＤＬ＃３を用いて当該ページの印刷データを生成し（Ｓ５）、ステップＳ６以降の処理を行う。
【００４７】
ステップＳ１０における判断がＮｏの場合、すなわち、ＰＤＬコマンド生成部５１に存在する全てのＰＤＬを使用しても、生成した当該ページの処理時間が待機モードに突入するまでの時間よりも短くならなかった場合（Ｓ６のＮ）は、次のステップＳ１１の処理を行う。すなわち、ステップＳ９で記憶した、処理時間の最も短いＰＤＬで生成した当該ページを、ＰＤＬ＃１を用いて生成した印刷データの当該ページと差し替え、プリンタ２０に送る印刷データを作成する（Ｓ１１）。そして、その印刷データをプリンタ２０に送信し（Ｓ８）、処理を終了する。
【００４８】
以上の処理によれば、印刷データを生成する印刷データ生成手段と、プリンタ２０の処理能力の情報と待機時間の情報を取得する取得手段と、上記印刷データ生成手段があるＰＤＬで生成した印刷データのあるページの処理時間が、待機時間よりも長いと予測される場合に、上記印刷データ生成手段に、当該ページをプリンタ２０がより短い時間で処理できる別のＰＤＬで生成させるように制御する。このため、特定のページの処理時間が待機時間を超えて待機モードに移行することによる印刷実行時間の増大を抑制することができる。
【００４９】
〔第２実施形態：図９乃至図１１〕
次に、本発明の情報処理装置の第２実施形態について説明する。
第２実施形態は、第１実施形態とは次の点で異なる。すなわち、第１実施形態は、ある特定のページの処理時間が待機時間を超えると見込まれる場合に、当該ページを別のＰＤＬで生成したページで差し替えるものである。これに対して、第２実施形態は、ページの差し替えは行わず、複数のＰＤＬでそれぞれ印刷データを生成し、トータルの処理時間が最も短い印刷データを採用する点が異なる。
【００５０】
トータルの処理時間は、印刷データから描画によりページ画像を生成する時間と復帰時間の合計となる。
すなわち、あるＰＤＬで生成した印刷データの特定のページのページ画像を生成する時間が待機時間よりも長くなった場合は、待機モードに移行するため、そこからの復帰時間も考慮しなければ、トータルの処理時間での比較ができないからである。
【００５１】
次に、本発明の情報処理装置の第２実施形態による処理について説明する。図９は、本発明の情報処理装置の第２実施形態による処理の概念を示した図である。
図９の中央の横線９１の上側に示すのは、ＰＤＬ＃１で生成した印刷データからプリンタ２０でページ画像を生成するのに要するページごとの時間の一例である。
すなわち、１ページ目と２ページ目の処理時間が１秒、３ページ目の処理時間が６秒、４ページ目の処理時間が１秒かかり、計算処理時間の合計が９秒であることを示している。
【００５２】
しかし、３ページ目の処理時間が６秒かかっているため、３ページ目の計算処理を行っている間に、プロッタエンジンの待機時間（例えば、５秒）を超え、プロッタエンジンが待機モードに移行してしまう。３ページ目の計算処理が終わって、ページ画像データをプロッタエンジンに送ると、プロッタエンジンは復帰を開始し、復帰時間（例えば、２秒）経過後に動作状態に復帰する。従って、印刷に要するトータルの時間は、この復帰時間も含めた全体消費時間として算出する必要がある。なお、ＰＤＬ＃１で生成された印刷データの全体消費時間は１２秒となるが、これについては、後述する。
【００５３】
これに対して、図９の中央の横線９１の下側に示すのは、別のＰＤＬ（ＰＤＬ＃２）で生成した印刷データからプリンタ２０でページ画像を生成するのに要するページごとの時間の一例である。
すなわち、１ページ目と２ページ目の処理時間が各２秒、３ページ目と４ページ目の処理時間が各３秒かかり、計算処理時間の合計が１０秒であることを示している。
【００５４】
しかし、この場合は、どのページ目の処理時間も待機時間の５秒よりも短いため、計算処理中にプロッタエンジンが待機モードに移行してしまうことがない。この結果、ＰＤＬ＃２で生成された印刷データの全体消費時間は、計算処理時間の１０秒に、プロッタエンジンに送られて印刷に要する時間（ここでは１秒とする）を加えた１１秒となる。
従って、第２実施形態においては、計算処理時間はＰＤＬ＃１で生成された印刷データよりも長いが、全体消費時間が短い、ＰＤＬ＃２で生成された印刷データをプリンタ２０に供給する。
なお、図９では、便宜上、使用するＰＤＬが２種類の場合について説明しているが、ＰＣ１０が備えるすべてのＰＤＬを用いて印刷データの生成を行い、その中で最も全体消費時間が短いものをプリンタ２０に供給する。
【００５５】
次に、図９に示す全体消費時間の算出方法の考え方について、図１０を用いて説明する。図１０は、ＰＤＬ＃１及びＰＤＬ＃２のそれぞれにおいて、プリンタコントローラ（ＣＴＬ）での処理時間とプロッタエンジン（ＥＮＧ）での処理時間とを対比させて表示したものである。
図１０において、経過時間９２は、ＣＴＬが処理を開始してから、ＥＮＧが印刷処理を終了するまでの経過時間を示すものである。
【００５６】
まず、ＰＤＬ＃１の場合について説明する。ＣＴＬが１頁目の計算処理を行い、その処理に１秒かかり、１秒後にそのデータをＥＮＧに渡す。一方、ＣＴＬ側では、１頁目の処理が終わればすぐに２頁目の処理に移行し、２頁目の処理が終わるとＥＮＧにデータを渡す。
ここで、ＣＴＬでの３頁目の計算処理が経過時間２秒後から開始され、６秒かかって８秒後に終わった場合、ＥＮＧは経過時間３秒後（４秒目の頭）からデータの受信を待って８秒目に、５秒間実行すべき処理がなかったため待機モードに移行してしまう。
【００５７】
ＣＴＬにおいて、３頁目の処理が終わったとき（８秒経過後）に、ＥＮＧに対してデータを送ると、それが事実上の復帰命令となり、ＥＮＧはそこから復帰動作を開始し、２秒かかって復帰する（経過時間１０秒）。ＥＮＧは復帰してから３頁目の印刷処理を行い、それが終わってからすぐに４頁目の印刷処理を行うので、全部が終了する時間、すなわち全体消費時間は１２秒となる。なお、ＣＴＬでの４頁目の計算処理は経過時間９秒後に終了するが、ＥＮＧでの３頁目の印刷処理を行っている間、ＣＴＬで送信を待っている状態になる。
【００５８】
ＰＤＬ＃２の場合について説明する。この場合は、ＣＴＬにおける計算処理が、いずれの頁の場合も、待機時間の５秒よりも短いため、待機モードに移行することがない。
従って、ＣＴＬにおける計算処理の終了後に順次データがＥＮＧに送られ、すぐに印刷処理を開始することができる。従って、全体消費時間は、ＣＴＬにおける最後の頁（４頁）の計算処理が終わり、ＥＮＧにデータが送られてから１秒後、すなわち、ＣＴＬでの計算処理の所要時間１０秒に１秒を加えた１１秒となる。
【００５９】
次に、本発明の情報処理装置の第２実施形態における処理について説明する。図１１は、その処理の流れを示すフローチャートである。各ステップにおける処理は、ＰＣ１０のＣＰＵ１０１が所定のプログラムに基づいて行うものである。
なお、この図は、図８と対応するものであるが、図８の処理と同じものについては、同じステップ番号を付し、その説明は省略する。
この処理は、ＰＣ１０において、ユーザがアプリケーションデータの印刷指示を行い、ＣＰＵ１０１がその信号を検出した時にスタートする。
【００６０】
まずＣＰＵ１０１は、プリンタ２０から印刷データの処理能力、プロッタエンジンの待機時間及び復帰時間の情報を取得し、記憶する（Ｓ１′）。この処理は、プリンタ情報取得部５３の機能と対応する。
次に、ＣＰＵ１０１は、図８と同様にステップＳ２からＳ４までの処理を行う。
【００６１】
生成した印刷データの各ページの見積時間の中に、ステップＳ１′で取得した待機時間を超えるものがある場合（Ｓ４のＹ）、ＣＰＵ１０１は、各ページの処理時間の合計と、待機モードからの復帰時間とを合算し、全体消費時間を算出する（Ｓ２１）。この場合、見積時間が待機時間を超えるページが複数ある場合は、そのページ数分だけ復帰時間を加算する。
そして、ＣＰＵ１０１は、全体消費時間とＰＤＬの種類とを対応させて記憶する（Ｓ２２）。
【００６２】
一方、どのページの見積時間も待機時間を超えない場合は（Ｓ４のＮ）、ＣＰＵ１０１は、各ページの処理時間の合計時間を算出し、全体消費時間とする（Ｓ２３）。そして、それをＰＤＬの種類と対応させて記憶する（Ｓ２２）。
そして、ＣＰＵ１０１は、ＰＣ１０に他のＰＤＬがあるかどうかを調べる（Ｓ２４）。他のＰＤＬ（例えばＰＤＬ＃３）が存在する場合（Ｓ２４のＹ）、ＣＰＵ１０１は、ステップＳ２５に移行し、アプリケーションデータから、他のＰＤＬを用いて印刷データを生成し（Ｓ２５）、ステップＳ３に戻って、それ以降の処理を行う。
【００６３】
ステップＳ３からステップＳ２５までの処理をすべてのＰＤＬについて行い、印刷データの生成に使用できる他のＰＤＬが無くなると（Ｓ２４のＮ）、ＣＰＵ１０１は、ステップＳ２２で記憶した全体消費時間の中で、最も短い時間に対応するＰＤＬで生成した印刷データを、プリンタ２０に送信し（Ｓ２６）、処理を終了する。
【００６４】
本発明の情報処理装置の第２実施形態による処理によれば、複数のＰＤＬを用いて生成した印刷データの中から、印刷データ全体の処理に要する時間と復帰時間との合計が最も短くなるような印刷データを選択してプリンタ２０に供給することができるので、印刷実行時間が最短となるように制御できる。
【００６５】
以上、発明を実施するための形態について説明を行ったが、本発明は、上述した実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
例えば、第２実施形態において、全てのＰＤＬについて消費時間を求めるようにしているが、ステップＳ４でＮとなるＰＤＬがあった場合には、その時点でそのＰＤＬを採用し、そのＰＤＬを用いて生成した印刷データをプリンタ２０に送信してもよい。
【００６６】
図４の説明で述べたように、ＰＤＬを、平均的にはプリンタコントローラ２００における処理時間が短いと予想されるものから順に試していけば、待機時間を超えない（途中で復帰時間の加算が生じない）時点で、概ね他のＰＤＬと比べて消費時間が短いと考えられるためである。一方、必ず全てのＰＤＬを試すとすると、図１１の処理自体にかかる時間が増加し、その分プリンタ２０における印刷開始も遅れるので、結果として印刷完了までに要する時間が増えてしまうためである。
【００６７】
また、上記実施形態では、各機能がＰＣ１０及びプリンタ２０に分かれているが、これらの機能を一つに統合した１台の複合機（ＭＦＰ）として構成してもよい。そして、別の装置で作成したアプリケーションデータをＭＦＰに読み込ませ、上記処理を行うことにより、ＭＦＰにおける印刷実行時間の抑制を図ることも可能である。
また、上述の実施形態では、１ページごとに処理時間を見積もっているが、複数ページごとに見積もってもよい。
【００６８】
また、この発明の実施形態であるプログラムは、１のコンピュータを上述した情報処理システムの機能を実現させるためのプログラムである。そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【００６９】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。しかし、記録媒体であるＣＤ−ＲＯＭ、あるいはメモリカード，フレキシブルディスク，ＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，又はＤＶＤ−ＲＡＭ等の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
【００７０】
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明した各実施形態、動作の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることはもちろんである。
【符号の説明】
【００７１】
１０：ＰＣ、２０：プリンタ、３０：ネットワーク、４０：アプリケーションプログラム、５０：プリンタドライバ、５１：ＰＤＬコマンド生成部、５２：ＰＪＬコマンド生成部、５３：プリンタ情報取得部、５４：ページデータ構成部、６１：ＰＪＬコマンド処理部、６２：ＰＤＬコマンド処理部、６３：ＰＤＬ制御部、６４：ページ描画処理部、６５：プリンタ情報提供部、６６：プリンタ情報データベース、１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：通信Ｉ／Ｆ、１０５：ＨＤＤ、１０６：ＵＩ部、２００：プリンタコントローラ、２０１：ＣＰＵ、２０２：ＲＯＭ、２０３：ＲＡＭ、２０４：ＮＶＲＡＭ、２０５：ＨＤＤ、２０６：通信Ｉ／Ｆ、２０７：エンジンＩ／Ｆ、２０８：ＵＩ部Ｉ／Ｆ、２１１：エンジン部、２１２：ＵＩ部、
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開平９−３１９５３０号公報
【図１】
2015166996.tif 000003
【図２】
2015166996.tif 000004
【図３】
2015166996.tif 000005
【図４】
2015166996.tif 000006
【図５】
2015166996.tif 000007
【図６】
2015166996.tif 000008
【図７】
2015166996.tif 000009
【図８】
2015166996.tif 000010
【図９】
2015166996.tif 000011
【図１０】
2015166996.tif 000012
【図１１】
2015166996.tif 000013