(57)【特許請求の範囲】
【請求項１】
印刷データを生成する印刷データ生成装置と、前記印刷データ生成装置から受信した前記印刷データに基づいて印刷処理を実行する印刷装置とを有する印刷システムであって、
前記印刷データ生成装置は、印刷データを生成する印刷データ生成手段を有し、
前記印刷装置は、
前記印刷データ生成装置から印刷データを受信する受信手段と、
前記受信手段が受信した印刷データに基づいてページ単位の画像データを生成する画像データ生成手段と、
前記画像データ生成手段が生成したページ単位の画像データに基づいてページ単位で記録媒体上に印刷処理する印刷手段と、
前記受信手段が受信した印刷データからページ単位の画像データを生成するために前記画像データ生成手段が要する生成時間を算出する算出手段と、
前記画像データ生成手段が生成したページ単位の画像データを前記印刷手段へ出力するタイミングを制御する制御手段とを有し、
前記印刷手段は、複数ページの画像データを特定の時間間隔で連続的に印刷処理をすることが可能であり、
前記制御手段は、特定ページの画像データに後続するｎページ分の画像データを生成するために要するｎページ分の前記生成時間が前記ｎページ分の画像データを前記特定の時間間隔で連続的に印刷処理するのに要する印刷時間より短い場合は前記特定ページの画像データが前記画像データ生成手段により生成されたことに応じて前記特定ページの画像データを前記印刷手段へ出力するよう制御し、前記ｎページ分の生成時間が前記印刷時間より長い場合は前記ｎページ分の生成時間と前記印刷時間の差分時間だけ遅延させたタイミングで前記特定ページの画像データを前記印刷手段へ出力するよう制御することを特徴とする印刷システム。
【請求項２】
前記印刷データ生成手段は、前記印刷データから画像データを生成するために要する生成時間を算出するための生成時間情報を前記印刷データに付加し、
前記算出手段は、前記印刷データに付加された前記生成時間情報に基づいて前記生成時間を算出することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記生成時間情報は、前記印刷データのページ毎に付加されていることを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記制御手段は、前記画像データ生成手段が生成した画像データを前記印刷手段へ出力するタイミングに対応させて、前記印刷手段による印刷処理に用いる記録媒体を前記印刷手段へ給送するタイミングを制御することを特徴とする請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
外部装置から印刷データを受信して印刷処理を実行する印刷装置であって、
前記外部装置から印刷データを受信する受信手段と、
前記受信手段が受信した印刷データに基づいてページ単位の画像データを生成する画像データ生成手段と、
前記画像データ生成手段が生成したページ単位の画像データに基づいてページ単位で記録媒体上に印刷処理する印刷手段と、
前記受信手段が受信した印刷データからページ単位の画像データを生成するために前記画像データ生成手段が要する生成時間を算出する算出手段と、
前記画像データ生成手段が生成したページ単位の画像データを前記印刷手段へ出力するタイミングを制御する制御手段とを有し、
前記印刷手段は、複数ページの画像データを特定の時間間隔で連続的に印刷処理をすることが可能であり、
前記制御手段は、特定ページの画像データに後続するｎページ分の画像データを生成するために要するｎページ分の前記生成時間が前記ｎページ分の画像データを前記特定の時間間隔で連続的に印刷処理するのに要する印刷時間より短い場合は前記特定ページの画像データが前記画像データ生成手段により生成されたことに応じて前記特定ページの画像データを前記印刷手段へ出力するよう制御し、前記ｎページ分の生成時間が前記印刷時間より長い場合は前記ｎページ分の生成時間と前記印刷時間の差分時間だけ遅延させたタイミングで前記特定ページの画像データを前記印刷手段へ出力するよう制御することを特徴とする印刷装置。
【請求項６】
前記印刷データ生成手段は、前記印刷データから画像データを生成するために要する生成時間を算出するための生成時間情報を前記印刷データに付加し、
前記算出手段は、前記印刷データに付加された前記生成時間情報に基づいて前記生成時間を算出することを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記生成時間情報は、前記印刷データのページ毎に付加されていることを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記制御手段は、前記画像データ生成手段が生成した画像データを前記印刷手段へ出力するタイミングに対応させて、前記印刷手段による印刷処理に用いる記録媒体を前記印刷手段へ給送するタイミングを制御することを特徴とする請求項５乃至７のいずれか１項に記載の印刷装置。
【請求項９】
受信手段と画像データ生成手段と印刷手段と算出手段と制御手段とを有する印刷装置の制御方法であって、
前記受信手段が、外部装置から印刷データを受信する受信工程と、
前記画像データ生成手段が、前記受信工程にて受信された印刷データに基づいてページ単位の画像データを生成する画像データ生成工程と、
前記算出手段が、前記印刷データからページ単位の画像データを生成するために前記画像データ生成工程にて要する生成時間を算出する算出工程と、
前記制御手段が、前記画像データ生成工程にて生成されたページ単位の画像データを前記印刷手段へ出力するタイミングを制御する制御工程と、
前記印刷手段が、前記制御工程にて出力されたページ単位の画像データに基づいてページ単位で記録媒体上に印刷処理する印刷工程とを有し、
前記印刷手段は、複数ページの画像データを特定の時間間隔で連続的に印刷処理をすることが可能であり、
前記制御工程では、特定ページに後続するｎページ分の画像データを生成するために要するｎページ分の前記生成時間が前記ｎページ分の画像データを前記特定の時間間隔で連続的に印刷処理するのに要する印刷時間より短い場合は前記特定ページの画像データが前記画像データ生成工程にて生成されたことに応じて前記特定ページの画像データを前記印刷手段へ出力するよう制御し、前記ｎページ分の生成時間が前記印刷時間より長い場合は前記ｎページ分の生成時間と前記印刷時間の差分時間だけ遅延させたタイミングで前記特定ページの画像データを前記印刷手段へ出力するよう制御することを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを生成する印刷データ生成装置と、入力された印刷データに従って画像処理を実行する画像形成装置、およびそれらを有する画像出力システム並びにそれらの方法と、それら装置をコンピュータにより実現するためのプログラムに関する。
【背景技術】
【０００２】
外部より入力された印刷データに従って画像処理を実行するページプリンタ等の画像出力装置（画像形成装置とも呼ぶ。）は、ページ記述言語によって描画指示あるいは機器制御が行われるよう構成されている。ページ記述言語（以下、ＰＤＬ(Page Description Language)と記す）は、所定の書式（シンタックス）にて記述されている。
【０００３】
例えば、パーソナルコンピュータ上で動作するＭＳ−Ｗｉｎｄｏｗｓ（登録商標）等のオペレーティングシステム（ＯＳ）上で動作し、様々な電子文書を作成する各種アプリケーションソフトがある。それらアプリケーションソフトによって印刷処理を行う場合、アプリケーションソフトから出力される描画指示は、そのＯＳ上で動作するプリンタドライバによって画像出力装置（プリンタ）が解釈可能なＰＤＬ形式の印刷データに変換される。その印刷データが、所定のインターフェイスを通じて画像出力装置へ出力される。このようにプリンタドライバと画像出力装置とで画像処理システムを構成している。ここで、プリンタドライバは、予め定められたシンタックスに従ってアプリケーションソフトからの印刷要求を、ページ毎にＰＤＬ形式の印刷データに変換していた。
【０００４】
また、従来のページプリンタ等は、受信したＰＤＬ形式の印刷データを、そのＰＤＬの書式に従って解析し、中間形式の描画オブジェクト（以下、ディスプレイリスト、あるいは略してＤＬと呼ぶ）を生成する。この中間形式の描画オブジェクトを基に、各ページの内容を表すビットマップ画像、すなわちページ画像が生成される。この従来のＰＤＬは、ページ単位に描画指示を行う多種多用な命令から構成されている。例えば、文字印字命令や、線描画命令などの各種図形描画命令、イメージ描画命令、描画論理（ＡＮＤまたはＯＲなどのＲＯＰ指定）、クリッピング領域の指定のための命令、複数命令をグループ化して記憶し呼び出すマクロ命令、各種の印字環境を設定するための命令群などが、ＰＤＬには含まれる。
【０００５】
ページプリンタは、ページ画像を生成する度に、プリンタエンジン部に対して該ページの画像形成開始を指示するためのＰＲＮＴ信号を出力する。そして、ＰＲＮＴ信号に続けて、ページ画像に対応するビデオ信号をプリンタエンジン部に対して送信し、既知の電子写真プロセスによって紙面上に画像形成することでページ画像を出力する。
【０００６】
このような構成を有する画像形成装置は、受信した印刷データ中のＰＤＬ命令の解析が短時間で完了するとは限らない。ＰＤＬ命令の解析に長時間要する場合には、ページ画像が準備できるまでプリンタエンジンを待機させる必要がある。たとえば、あるページの画像解析処理が終了するタイミングが、そのページのビデオ信号の送出開始タイミングに間に合う場合は画像解析処理が終了する以前に給紙を開始させる。一方、間に合わない場合は間に合うタイミングまでまってから給紙を開始させる（特許文献１等参照）。あるいは、ホストコンピュータ１０１があらかじめ先頭ページの印刷データをエンジン部１２２から出力可能な画像展開処理時間を予測算定して印刷データに付加して転送する（たとえば特許文献２等参照）。そして、プリンタは、その付加された処理時間だけ遅延させてエンジンをスタートさせる。
【特許文献１】特開平７−２５６９３５号公報
【特許文献２】特開２０００−２０７１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、アプリケーションソフトから指示される描画処理の複雑度に応じてＰＤＬ解析処理に時間を要してしまい、プリンタエンジンの性能を発揮できない場合があるという問題があった。
【０００８】
すなわち、処理負荷の高いＰＤＬデータが入力されると、ＰＤＬデータの解析時間すなわちＤＬ生成時間がプリンタエンジンのスループットを維持できる上限値を超えてしまう。プリンタエンジンのスループットを維持できる上限値とは、たとえばシート媒体１枚あたりの画像形成に要する形成時間である。ＤＬ生成時間がこの形成時間を越えると、プリンタエンジンに遊休時間が生じる。プリンタエンジンに遊休時間が生じると、プリンタエンジンを一旦停止させるのが普通である。そのためこの様な場合には、プリンタエンジンが後回転処理が行われてしまう。後回転処理とは、画像形成を一旦終了して、プリンタエンジンを一旦停止させるまでの処理である。一旦プリンタエンジンを停止させると、再度画像形成可能な状態まで立ち上げる前回転処理を行う必要がある。この後回転処理および前回転処理の時間が、プリンタエンジンのダウンタイムとなっていた。例えば、３０ｐｐｍ（枚／分）の能力を持つプリンタエンジンの場合、最高スループットを維持するためには、各ページのページ画像を２秒以内に用意する必要がある。これは或るページのページ画像を、そのページの直前のページの印刷中に形成しておくことが必要なためである。ＰＤＬ解析に２秒以上要する場合は、プリンタエンジンは一旦停止してしまうことになる。このため、ＰＤＬ処理負荷が高いページが連続する高解像度印刷の印刷ジョブの実行中には、プリンタエンジンの停止・再起動が何度も発生することになる。
【０００９】
特許文献１によれば、給紙を行うタイミングを調整するものの、上述したプリンタエンジンのダウンタイムの発生は避けることが出来ない。また特許文献２によれば、先頭ページについてのみ画像形成を開始するタイミングを遅延させることができる。しかし、ページ間におけるプリンタエンジンのダウンタイムは避けることが出来ない。
【００１０】
本発明は上記従来例に鑑みてなされたものである。本発明の目的は、印刷データの解析処理に要する時間をページごとに予測し、予測結果に基づいてページ画像の出力タイミングを制御することにある。それによって、印刷データの解析処理に起因した画像形成手段のダウンタイム発生を最小限に抑え、出力結果を得るまでの時間を短縮することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために本発明は以下の構成を備える。すなわち、印刷データを生成する印刷データ生成装置と、前記印刷データ生成装置から受信した前記印刷データに基づいて印刷処理を実行する印刷装置とを有する印刷システムであって、
前記印刷データ生成装置は、印刷データを生成する印刷データ生成手段を有し、
前記印刷装置は、
前記印刷データ生成装置から印刷データを受信する受信手段と、
前記受信手段が受信した印刷データに基づいてページ単位の画像データを生成する画像データ生成手段と、
前記画像データ生成手段が生成したページ単位の画像データに基づいてページ単位で記録媒体上に印刷処理する印刷手段と、
前記受信手段が受信した印刷データからページ単位の画像データを生成するために前記画像データ生成手段が要する生成時間を算出する算出手段と、
前記画像データ生成手段が生成したページ単位の画像データを前記印刷手段へ出力するタイミングを制御する制御手段とを有し、
前記印刷手段は、複数ページの画像データを特定の時間間隔で連続的に印刷処理をすることが可能であり、
前記制御手段は、特定ページの画像データに後続するｎページ分の画像データを生成するために要するｎページ分の前記生成時間が前記ｎページ分の画像データを前記特定の時間間隔で連続的に印刷処理するのに要する印刷時間より短い場合は前記特定ページの画像データが前記画像データ生成手段により生成されたことに応じて前記特定ページの画像データを前記印刷手段へ出力するよう制御し、前記ｎページ分の生成時間が前記印刷時間より長い場合は前記ｎページ分の生成時間と前記印刷時間の差分時間だけ遅延させたタイミングで前記特定ページの画像データを前記印刷手段へ出力するよう制御する。
【００１２】
あるいは、外部装置から印刷データを受信して印刷処理を実行する印刷装置であって、
前記外部装置から印刷データを受信する受信手段と、
前記受信手段が受信した印刷データに基づいてページ単位の画像データを生成する画像データ生成手段と、
前記画像データ生成手段が生成したページ単位の画像データに基づいてページ単位で記録媒体上に印刷処理する印刷手段と、
前記受信手段が受信した印刷データからページ単位の画像データを生成するために前記画像データ生成手段が要する生成時間を算出する算出手段と、
前記画像データ生成手段が生成したページ単位の画像データを前記印刷手段へ出力するタイミングを制御する制御手段とを有し、
前記印刷手段は、複数ページの画像データを特定の時間間隔で連続的に印刷処理をすることが可能であり、
前記制御手段は、特定ページの画像データに後続するｎページ分の画像データを生成するために要するｎページ分の前記生成時間が前記ｎページ分の画像データを前記特定の時間間隔で連続的に印刷処理するのに要する印刷時間より短い場合は前記特定ページの画像データが前記画像データ生成手段により生成されたことに応じて前記特定ページの画像データを前記印刷手段へ出力するよう制御し、前記ｎページ分の生成時間が前記印刷時間より長い場合は前記ｎページ分の生成時間と前記印刷時間の差分時間だけ遅延させたタイミングで前記特定ページの画像データを前記印刷手段へ出力するよう制御する。
【発明の効果】
【００１４】
本発明によれば、特定ページの画像データを印刷手段へ出力するタイミングを、特定ページに後続するｎページ分の画像データを生成するために要するｎページ分の生成時間とｎページ分の画像データを特定の時間間隔で連続的に処理するのに要する印刷時間を考慮した適切なタイミングとすることにより、画像データを生成するために要する生成時間に起因するダウンタイム発生を最小限に抑えることができる。
【発明を実施するための最良の形態】
【００１５】
［実施形態１］
以下に添付の図面を参照して、本発明の実施の形態について説明する。
【００１６】
＜本実施形態の画像出力システムの構成例＞
まず、図１、図２を参照しながら、本発明を適用するに好適な本実施形態の画像出力システムの構成について説明する。
【００１７】
図１は、本実施形態の画像出力システムの概略を示すブロック図であり、例えば、レーザビームプリンタの場合を示す。なお、本発明を適用可能な画像出力装置はレーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いし、モノクロ／カラープリンタといった機器構成の違いにも関係なく適用可能である。さらに、本発明はプリンタに限定されるものでもなく、同様の画像出力制御を必要とする画像記録装置や画像表示装置、画像通信装置の制御についても適用可能である。
【００１８】
図１において、１０１はホストコンピュータ等の外部機器、１０２は本実施の形態のレーザビームプリンタ本体である。
【００１９】
レーザビームプリンタ１０２は、前記外部機器１０１上で動作するプリンタドライバによって生成されたページ記述言語（ＰＤＬ）形式の印刷データ（文字コードや図形データ、イメージデータ等）を受け取る。そしてそれらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。またレーザビームプリンタ１０２は、不図示のデータ記憶部に対して文字パターンの登録やフォームデータ、マクロデータなどの登録も行える。レーザビームプリンタ１０２は、ホストコンピュータ１０１から受信した印刷データと同様に、前記記憶部の印字データに応じたページ画像を生成する。
【００２０】
レーザビームプリンタ１０２において、１０３はプリンタ制御ユニット（コントローラ部）であって、レーザビームプリンタ１０２全体の制御、およびホストコンピュータ１０１から供給される印刷データを解析する。制御ユニット１０３は、プリンタエンジン部１０５と接続され、前記印刷データに基づいたドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して順次ドットデータ（ビデオ信号）を送信する。
【００２１】
１０５はプリンタエンジン部であって、前記ドットデータ（ビデオ信号）に従って実際に感光ドラムに潜像を形成し、用紙に熱定着させることによって印字を行う。１０４は、操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネルであって、オペレータ（使用者）は、パネル部１０４を操作することによって、レーザビームプリンタ１０２に所定の動作の指定、あるいは印刷環境の設定等を行うことができる。
【００２２】
ここで、レーザビームプリンタ１０２とホストコンピュータ１０１とは、ＴＣＰ／ＩＰ等の所定のプロトコルによって通信可能なネットワーク１０６で接続されており、同ネットワークには複数台のホストコンピュータが接続されているのが一般的である。なお、接続形態としては、セントロニクスやＵＳＢ等の他のインターフェイスによって１対１で接続されていても構わない。
【００２３】
図２は、本実施形態のレーザビームプリンタ１０２の内部構造を示す断面図であり、主にプリンタエンジン部１０５の構成を示している。ここでは、図１と同じ構成に対しては同一番号を付け、説明を省略する。
【００２４】
同図において、レーザドライバ２０１は半導体レーザ２０２を駆動するための回路であり、制御ユニット１０３が出力する前記ビデオ信号に応じて、半導体レーザ２０２から発射されるレーザ光２０３をオン／オフ切り替えする。レーザ２０３は回転多面鏡２０４で左右方向に振られ、静電ドラム２０５上を走査する。これにより、静電ドラム２０５上には帯電されたトナーによる文字パターン等の静電潜像が形成される。この潜像は、静電ドラム２０５周囲の現像ユニット２０６により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はレーザビームプリンタ１０２に装着した用紙カセット２０７に収納されており、給紙ローラ２０８及び搬送ローラ２０９と２１０とにより装置内に取り込まれて、静電ドラム２０５に供給される。
【００２５】
図３は、本実施形態の画像出力システムの基本構成部を説明するブロック図であり、図１の画像出力装置の制御ユニット１０３の内部構成と、プリンタドライバ３１２の主要構成とを示している。
【００２６】
同図において、レーザビームプリンタの制御ユニット１０３は、所定のインターフェイス３０８（１０６）を介して外部機器であるホストコンピュータ１０１と接続されている。制御ユニット１０３は、ホストコンピュータ１０１上で動作するプリンタドライバ３１２が送出する印刷データに従って所定の印刷処理を実行するように構成されている。ここで、ホストコンピュータ１０１から受信した印刷データは、まず受信バッファ３０５ａに受信データとして一時的に蓄えられる。
【００２７】
３０１はプリンタＣＰＵである。ＣＰＵ３０１は、読み出し専用のＲＯＭ３０２内のプログラムＲＯＭ３０３に記憶された制御プログラムに基づいて、システムバス３０６に接続された各種デバイスとのアクセスや、ハードウェア回路によって構成されるＡＳＩＣ３０９を統括的に制御している。また、ＲＯＭ３０２は、文字出力に用いるドットフォントやアウトライン形式のスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている（フォントＲＯＭ３０４）。
【００２８】
ここで、前記制御プログラムは、以下に示すプログラムから構成されている。
（１）受信バッファ３０５ａに蓄えられた印刷データを解析し、少なくとも１バンド分あるいは１ページ分の描画オブジェクト（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ＤＬ）を生成するＤＬ生成部３０３ａ、
（２）生成されたＤＬに基づいてバンド単位でラスタイメージ（すなわちバンド画像）を生成するＤＬ描画部３０３ｂ、
（３）印刷部Ｉ／Ｆ３１０を介して印刷部（プリンタエンジン）１０５に対して、前記バンド画像を表すビットのＯＮ／ＯＦＦによるビデオ信号の出力や、紙なし検知などの各種用紙ハンドリング制御等を行うエンジン制御部３０３ｄ。
【００２９】
なおビデオ信号の出力を、以下「シップ」と記す。ビデオ信号を出力することを「シッピング」と呼ぶ。なお、本実施形態では、各制御プログラムをＣＰＵ３０１により実行して実現される各機能モジュールを、対応するプログラムと同じ名称で呼ぶことにする。たとえばエンジン制御部３０３ｄはプログラムの名称であるが、そのプログラムを実行して実現される機能モジュールもエンジン制御部３０３ｄと呼ぶ。
【００３０】
なお、前記バンド画像を複数（例えば２つ）用意して印刷を行うバンディング方式では、前記バンド画像の生成（レンダリング動作）とシップ動作とが紙搬送と同期して同時に行われる。バンディング処理では、エンジン制御部３０３ｄは、レンダリング済みの一方のバンド画像をシップしながら、他方のバンドメモリに属する描画オブジェクトを描画する。ここで、本実施の形態では、前記バンディング方式で印刷を行うようにバンドメモリ３０５ｃを構成した。しかし、１ページ分のページ画像を保持可能なページメモリとして３０５ｃを構成し、フルペイント方式で描画／シップ動作を行っても良い。また、前記バンド画像を順次ハードディスク３１１にページ単位でスプールした後、ページ単位でシップ動作を行うよう構成しても構わない（ページスプール方式）。更に、前記バンディング方式とフルペイント方式、ページスプール方式とをパネルからの指示等によって切り替え可能なように構成されていても構わない。
【００３１】
レーザビームプリンタ１０２は図示しない電源部から電力の供給を受けている。また、制御プログラム３０３は、上記構成以外に、以下の機能を実現するためのプログラムを含んでいる。
（４）受信した印刷データにページ単位で付加された解析時間情報を読み取り、前記ページの解析処理に要する時間を予測する解析時間情報解析部３０３ｃ、
（５）ハードディスク３１１に対してページ画像を含む各種データのＲ／Ｗアクセスを制御するＨＤ制御部３０３ｅ、
（６）操作パネル１０４からの入力に従って各種印刷環境を設定する印刷環境制御部（不図示）。
【００３２】
ここで解析時間情報とは、ページ画像を生成するための時間を示す情報あるいは、その時間を算出するための基礎となる情報を含む情報である。このほかヒント情報などと呼ぶ場合もある。たとえば、処理時間の予測方程式が、画像を構成する各種類の構成要素（オブジェクト）の数をパラメータとする線形方程式であるとする。その場合、予測された時間そのものも解析時間情報と言えるし、計算のためのパラメータ（画像を構成する各種類の構成要素の数）もまた解析時間情報である。
【００３３】
さらに、前記エンジン制御部３０３ｄは、前記解析時間情報解析部３０３ｃの解析結果を元に、シップ開始タイミングの制御を行う。
【００３４】
３０５は、ＣＰＵ３０１の主メモリ、ワークメモリ等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。ＲＡＭ３０５は、前記ＤＬ生成部３０３ａが生成した描画オブジェクトを格納するＤＬ格納部３０５ｂや、制御プログラム３０３が行う各種描画処理において一時的に使用されるワークメモリ３０５ｄに用いられる。またＲＡＭ３０５は、１ページを複数のバンド状に分割した領域のうち、２面分（あるいはそれ以上）の領域に相当するバンドメモリ３０５ｃに用いられる。また、フォントメモリ３０４内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするフォントキャッシュメモリ（不図示）等に用いられる。
【００３５】
３１１はハードディスクであって、フォントデータやＰＤＬ形式で記述されたオーバレイデータ等のリソースの登録や、該画像出力装置内で生成される各種印刷ログに用いられる。そのほか、保存ジョブや電子ソート（複数部数印刷）、機密印刷等の機能を実現するために一時的に印刷データおよびＲＩＰ済みのページ画像を格納するために用いられる。なお、前記リソースデータやページ画像等はハードディスク３１１に格納されると説明したが、フラッシュメモリ等の不揮発性メモリ（不図示）等、他の構成による記憶装置に格納しても構わない。また、本発明を構成する装置がＲＯＭに格納されたプログラムとして供給されるよう説明したが、これに限らず、ハードディスク等の他の媒体によって供給され、実行前にＲＡＭ等へロードされた後、実行されるよう構成されていても構わない。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ等のような記憶媒体から図示省略したドライブを解して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明はこれを含むものである。
【００３６】
３１２はホストコンピュータ上で動作するプリンタドライバである。プリンタドライバ３１２は、ページ単位でスプールする描画処理部３１２ａと、前記印刷データの生成状況に応じて、印刷データの解析に要する時間を算出可能な解析時間情報を生成する解析時間情報生成部３１２ｂとから構成されている。描画処理部３１２ａは、アプリケーションソフトからの印刷指示をＯＳを通して受け取り、前記画像処理装置１０３が解釈可能なＰＤＬ形式の印刷データを生成する。なお、解析時間情報の内容および生成手順については後述する。
【００３７】
＜インターフェース信号（図１８）＞
図１８に制御ユニット１０３（プリンタコントローラとも呼ぶ。）とプリンタエンジン１０５（エンジンコントローラとも呼ぶ。）との間の信号の一例を示す。ここでは代表的な信号についてのみ説明を行う。
【００３８】
まず、／ＰＰＲＤＹ信号１８０３はプリンタに電源が供給されたあと、初期設定等の処理が終了した後、プリンタコントローラ１０３との通信が可能となった事を示す信号である。
【００３９】
／ＣＰＲＤＹ信号１８０４は、プリンタコントローラ１０３に電源が供給され、初期設定等の処理が終了した後、エンジンコントローラ１０５との通信が可能となったを示す信号である。
【００４０】
／ＲＤＹ信号１８０５は、エンジンコントローラ１０５がプリンタコントローラ１０３からプリント開始指示（後述の／ＰＲＮＴ信号）により、プリント動作可能になったことを示す信号である。この信号が真になる条件は、定着器内の温度が所定温度に達しているか、記録紙がプリンタ内に残留していないか、ポリゴンミラーが所定の速度で回転しているか等のプリンタの各部分が正常に動作している場合である。
【００４１】
／ＰＲＮＴ信号１８０６は、プリンタコントローラ１０３がエンジンコントローラ１０５に対して、印字動作の開始、あるいは継続を指示する信号である。なお／ＰＲＮＴ信号は、本実施形態の他の箇所でも参照されているＰＲＮＴ信号と同じ信号である。
【００４２】
／ＴＯＰ信号１８０７は、エンジンコントローラ１０５からプリンタコントローラ１０３に対して渡される、画像の垂直走査の基準となる同期信号である。この信号は、／ＰＲＮＴ信号１８０６がプリンタコントローラ１０３から出力された後、一定時間後に出力される。
【００４３】
／ＬＳＹＮＣ信号１８０８は、プリンタコントローラ１０３が水平走査の基準とする同期信号である。／ＬＳＹＮＣ信号１８０８は、／ＴＯＰ信号と同様、／ＰＲＮＴ信号１８０６がプリンタコントローラ１０３から出力された後、一定時間後にプリンタコントローラ１０３に対して出力される。
【００４４】
／ＶＣＬＫ信号１８０９は、後述するに／ＶＤＯＥＮ及び／ＶＤＯ信号の為の同期クロックであり、プリンタコントローラ１０３から画像信号に対応する周波数のクロックを発生する。
【００４５】
／ＶＤＯＥＮ信号１８１０は、プリンタコントローラ１０３が出力する画像信号のエンジンコントローラ１０５への取り込みを制御する信号である。エンジンコントローラ１０５は、／ＶＣＬＫ信号に同期してこの信号がＴＲＵＥ／ＦＡＬＳＥであるかを検出し、ＴＲＵＥの場合は画像信号を取り込み、ＦＡＬＳＥの場合は取り込みを行わない。
【００４６】
／ＶＤＯ信号１８１１は画像データである。プリンタコントローラ１０３は、垂直方向に対しては／ＴＯＰ信号、水平方向に対しては／ＬＳＹＮＣ信号を基準として、／ＶＣＬＫ信号に同期して出力する。
【００４７】
／ＣＣＬＫ信号１８１２は、プリンタコントローラ１０３がシリアルコマンドをエンジンコントローラ１０５に送信する時、及びエンジンコントローラ１０５がシリアルステータスをプリンタコントローラ１０３に対して返答する時の同期クロックである。／ＣＣＬＫ信号１８１２は、プリンタコントローラ１０３から出力される。
【００４８】
／ＣＢＳＹ信号１８１３は、プリンタコントローラ１０３が、後述する／ＣＭＤ信号を用いてシリアルコマンドを送信している事をエンジンコントローラ１０５に示す信号である。
【００４９】
／ＣＭＤ信号１８１４は、プリンタコントローラ１０３がエンジンコントローラ１０５へシリアル情報を送信する場合に使用する信号であり、シリアル情報をコマンドと呼ぶことにする。
【００５０】
／ＳＢＳＹ信号１８１５は、エンジンコントローラ１０５が／ＳＴＳ信号を用いてシリアルステータスを返信している事をプリンタコントローラ１０３に示す信号である。
【００５１】
／ＳＴＳ信号１８１６は、エンジンコントローラ１０５がプリンタコントローラ１０３に対してシリアル情報を返答する時に使用する信号であり、シリアル情報をステータスと呼ぶことにする。
【００５２】
／ＣＣＲＴ信号１８１７は、プリンタ内部のステータスが変化した時にプリンタコントローラ１０３に対して報告するための信号である。プリンタコントローラ１０３がこの報告信号を受けると、／ＣＭＤ信号を使ってエンジン側の状態の何が変化したかを問い合わせるコマンドを発行し、それに対してエンジンコントローラ１０５は、／ＳＴＳ信号でその状態を知らせる。
【００５３】
＜プリント制御（図１９）＞
次に、ビデオＩ／Ｆ間でやり取りされる信号のタイミングを図１９に示す。これは前述したビデオＩ／Ｆの信号説明を、時間経過に従って示したものである。
【００５４】
まず、プリンタコントローラ１０３の画像情報の準備が完了すると、／ＰＲＮＴ信号（すなわちＰＲＮＴ信号）をローレベル（真）にしてエンジンコントローラ１０５に伝える。それと同時に、画像信号の転送に用いられる画像同期信号／ＶＣＬＫ信号も発生する。
【００５５】
それに応答してエンジンコントローラ１０５は、プリンタ内部の様々な設定等を行い、画像の受け入れが可能となったところで、／ＴＯＰ信号と／ＬＳＹＮＣ信号をプリンタコントローラ１０３に対して出力する。この垂直同期信号／ＴＯＰと、水平同期信号／ＬＳＹＮＣに合わせて、プリンタコントローラ１０３は画像信号／ＶＤＯと、画像有効信号である／ＶＤＯＥＮをエンジンコントローラ１０５に対して転送する。プリンタエンジンは、受信した画像信号／ＶＤＯをたとえばＰＷＭ変調する。そして変調されたＰＷＭ信号により半導体レーザを変調して、変調されたレーザ光により予備帯電された感光ドラムを照射して潜像を形成する。それと平行して、形成される潜像のトップ位置とシート媒体の先端位置とが一致するタイミングで、シート媒体の供給及び搬送を行う。
【００５６】
このように、ＰＲＮＴ信号の送信をきっかけとして、プリンタコントローラからプリンタエンジンへの画像信号の送信等の画像形成のための一連の処理が行われる。本実施形態では、以下の説明においては、画像形成装置におけるＰＲＮＴ信号の発行から先の処理については省略する場合がある。しかし、そのような場合であっても、ＰＲＮＴ信号の発行に引き続いて、上述の通りの画像形成処理が行われる。
【００５７】
＜本実施の形態の画像出力システムにおける印刷ジョブ動作例＞
（印刷データの生成手順）
以下、図７のフローチャートを用いて、前記プリンタドライバ３１２が印刷データを生成する手順について説明する。同図において、まずステップＳ７０１では、アプリケーションソフトからの描画指示命令がＯＳ（ＧＤＩ）を通してプリンタドライバに投入される。プリンタドライバでは、以下のステップによって、ＯＳから渡された描画指示の内容に応じたＰＤＬ形式の印刷データを生成する。
【００５８】
まず、Ｓ７０２において、ＯＳから受け取った描画指示命令がジョブ終了であるか否かを調べ、そうであればＰＤＬジョブ終了命令をプリンタに対して発行し（Ｓ７０３）、印刷ジョブを終了する。一方、ジョブ終了でない場合は、命令が、グラフィック（スキャンライン）描画命令であるか（Ｓ７０４）、矩形描画命令であるか（Ｓ７０７）、文字印字命令であるか（Ｓ７０９）、イメージ描画命令であるか（Ｓ７１１）を判定する。ステップＳ７０４でグラフィック（スキャンライン）描画命令であると判定された場合には、グラフィック（スキャンライン）描画命令の数を示すカウンタに１加算する（Ｓ７０５）。ステップＳ７０７で矩形描画命令であると判定された場合には、矩形描画命令の数を示すカウンタに１加算する（Ｓ７０８）。ステップＳ７０９で文字印字命令であると判定された場合には、文字印字命令の数を示すカウンタに１加算する（Ｓ７１０）。ステップＳ７０１１でイメージ描画命令であると判定された場合には、そのパラメータに含まれるイメージサイズを、描画命令で描画されるイメージサイズを示すカウンタに加算する（Ｓ７１２）。
【００５９】
そして前記各描画命令をＰＤＬ形式に変換し、ページ単位でスプールする（Ｓ７０６）。そして、続く描画命令を処理するためにＳ７０１へ戻る。
【００６０】
ここで、各命令のカウンタ値は、図１５に示したように、グラフィックすなわちスキャンライン描画命令に対しては前記スキャンラインのライン数（Ｈｓ）１５０１であり、矩形描画命令に対しては前記矩形の描画数（Ｈｂ）１５０２である。また文字印字命令に対しては登録文字数（Ｈｒ）１５０３および印字文字数（Ｈｃ）１５０４であり、イメージ描画に対してはイメージデータのサイズ１５０５（Ｈｉ）をそれぞれページ単位で累計したものとなる。したがってステップＳ７１０でインクリメントされるカウンタは、登録文字数（Ｈｒ）１５０３および印字文字数（Ｈｃ）１５０４の２つのカウンタである。登録を伴わない単なる印字命令であれば登録文字数（Ｈｒ）はインクリメントされない。
【００６１】
プリンタドライバは、ＯＳから受け取った描画命令の種別に対応する命令数あるいはデータサイズをそれぞれ累積して、画像出力装置が解析すべき各描画命令の数量をページ単位で解析時間情報として求める。画像出力装置は、ページ単位の解析時間情報を印刷データとして（あるいは印刷データと共に）受信する。そして、解析時間情報に含まれる命令種別ごとのカウンタ値を、命令種別毎に予め求めておいた単位時間当りの処理能力にて除算する。こうして、各ページのＰＤＬ解析に要する予測時間を算出する。あるページについて、そのページの解析時間情報に含まれるカウント値は、それぞれＨｓ（スキャンライン数）、Ｈｂ（矩形数）、Ｈｒ（文字数）、Ｈｃ（文字数）、Ｈｉ（ＫＢ）である。各描画命令を解析する単位時間当りの処理能力は、ＣＰＵ性能を始めとする画像出力装置のコントローラ性能により定まり、予め算出できる。なお本実施形態では能力情報はＲＯＭ３０２の能力情報領域３０４ｂに保存されている。スキャンライン、矩形、文字登録、文字印字、イメージ描画について、処理能力がそれぞれＡｓ（ライン／秒）、Ａｂ（個／秒）、Ａｒ（個／秒）、Ａｃ（個／秒）、Ａｉ（ＫＢ／秒）であるとする。この場合、このページの描画命令を解析するために要する処理時間の予測値Ｔｐは、
Ｔｐ＝Ｈｓ／Ａｓ＋Ｈｂ／Ａｂ＋Ｈｒ／Ａｒ＋Ｈｃ／Ａｃ＋Ｈｉ／Ａｉ（秒）
によって算出することができる。
【００６２】
再び図７に戻り、プリンタドライバの処理手順の続きを説明する。ステップＳ７１１においてイメージ描画命令でもなかった場合は、ページ終了命令か否かを調べる（Ｓ７１３）。ページ終了命令であればステップＳ７１４以降のステップにおいて、スプールしていた１ページ分のＰＤＬ描画命令と、ステップＳ７０５，Ｓ７０８，Ｓ７１０，Ｓ７１２でカウントしたカウンタ値（解析時間情報）とを画像出力装置に対して出力する。すなわち、まずページ開始コマンドを発行し（Ｓ７１４）、続いて解析時間情報を発行し、後続ページにて累計を取るために各解析時間情報をリセットする（Ｓ７１５）。さらにスプール済みの１ページ分の描画命令を発行した後（Ｓ７１６）、最後にページ終了コマンドを発行する（Ｓ７１７）。
【００６３】
一方、ステップＳ７１３にてページ終了命令でもないと判断された場合は、タイル登録や色指定等のコマンド等、その他の命令であるから、スキャンラインや矩形、文字、イメージ描画命令と同様に、ページ単位でスプールを行う（Ｓ７１８）。ここで、本実施形態ではスキャンライン、矩形、文字登録、文字印字、イメージ描画命令に対する解析時間情報のみを算出すると説明したが、より正確な予測値を求めるために、他のコマンドに対する描画命令数の累計を取るように構成しても構わない。
【００６４】
上述した通り、本実施形態におけるプリンタドライバは、ページ単位に描画データをスプールしつつ、描画命令の種別別に解析処理に要する時間を算出すための基礎情報（解析時間情報）をページ単位で求める。そして、描画データと共に前記解析時間情報を印刷データとして出力する。ここで、描画データをスプールする単位をページとしたことで、印刷ジョブ全体をスプールする必要がなく、印刷データが画像出力装置に入力される時間が遅れることを避けることができる。
【００６５】
＜印刷データの構成例＞
続いて図６および図１２を用いて、図７のフローチャートに示した動作を行うプリンタドライバから本画像出力装置に対して出力される印刷データの形式例を説明する。図６は、印刷データにおけるＰＤＬデータの概略構成を示している。ＰＤＬデータは、ページ単位で独立した構成となっている。すなわち、ジョブ開始命令５０１とジョブ終了命令５０６に挟まれた形で各ページを構成するＰＤＬデータが含まれている。また、各ページのＰＤＬデータは、ページ開始命令５０２とページ終了命令５０５によって挟まれた構成となっている。ページ開始命令に続いて該ページの解析時間情報５０３が挿入されている。各ページのＰＤＬデータには、スキャンライン描画命令、矩形描画命令、文字登録命令、文字印字命令、イメージ描画命令の他、タイル登録命令や色指定命令等の描画命令が含まれている。
【００６６】
図１２は、印刷データの全体構成とＰＤＬ部分に含まれる描画命令の具体例を示している。同図において、印刷ジョブの最初と最後はＪＬ(Job Language)という言語で構成されており、印刷ジョブ内で一律な各種環境（ジョブ環境）を指定する以下の命令群を含む。
・印刷ジョブの開始を示すジョブ開始命令（パラメータとしてジョブＩＤ＝ＪＯＢＩＤが指定される。）
・後続のＰＤＬデータ形式の描画命令を処理すべき印字解像度を設定する印字解像度指定命令（本実施の形態では６００ｄｐｉ）
・印刷を用紙の片面に行うか両面に行うかを指定する印刷面指定命令（片面）
・排紙口選択命令（１＝カセット１）
・印刷データを処理するためにＰＤＬ解析処理プログラムの起動を指示するＰＤＬ移行命令（ＬＩＰＳＬＸを起動）。
なお、本実施形態では簡単のために省略したが、ＪＬには上記に示した印刷環境のほかに、操作パネル１０４から設定可能な各種印刷環境を、リモートで設定するための各種命令が含まれている場合もある。また、ＪＬによって設定される内容は、操作パネルにて設定される印刷環境を一時的に上書きし、当該ＪＬジョブ内でのみ有効となるよう構成されている。
【００６７】
ここまでがＪＬコマンド（以下、ジョブ環境設定命令と記す）であって、これからはＰＤＬで書かれる。
・ＰＤＬデータの開始を示すＰＤＬジョブ開始命令（パラメータとして、描画データが記述されている解像度＝６００ｄｐｉ）
・ページ開始命令（用紙サイズＡ４、画像の向き＝９０°等のパラメータを伴う）
・解析時間情報（図１５参照）。
【００６８】
以下、ページ単位で描画命令が記述される。
・ＯＳによって指示された文字パターンを登録処理するための文字セット登録命令（各種パラメータと文字パターンデータが続く）
・描画色を決定するブラシ指定命令（Ｒ＝０，Ｇ＝０，Ｂ＝０）
・文字セット登録命令で登録された文字パターンを印字する登録文字印字命令（フォントＩＤ，文字ＩＤ）
・矩形描画命令（始点、終点）
・矩形描画命令
・スキャンライン描画命令
・イメージ開始命令およびイメージ終了命令。
【００６９】
このほかの種類の命令が含まれる場合もある。上記命令等に続いて、同図に示したようなデータ構成により、各ページ単位に各種の描画命令が指示される。
・ページ終了命令（排紙命令）
複数ページの印刷データである場合は、前記ページ開始命令からページ終了命令までが繰り返し指定される。そしてＰＤＬデータの末尾には、
・ＰＤＬジョブ終了命令
が含まれる。ＰＤＬデータの後には、再びＪＬにより印刷ジョブの終了が指示される。すなわち、
・ＪＬによる、印刷ジョブの終了を定義するジョブ終了命令
が含まれる。
【００７０】
＜プリンタエンジン制御例＞
続いて、本実施の形態の画像出力装置におけるプリンタエンジン（画像形成手段）制御手順を、図４、図５、および図１１のフローチャートを用いて以下に説明する。まず、図１１のフローチャートを用いて、画像出力装置が解析時間情報を参照して行う処理手順について説明する。図１１は、各ページの画像データ即ちページ画像を生成するために、各ページごとに実行される。図３においては、ステップＳ１１０１〜Ｓ１１０４は解析時間情報解析部３０３ｃにより、ステップＳ１１０６〜Ｓ１１０８はエンジン制御部３０３ｄにより、ステップＳ１１０５はＤＬ生成部３０３ａにより実行される。図１１の処理と平行して、ページ画像の出力および画像形成が行われている。なお図１１ではページ画像生成（Ｓ１１０４）前に後続ｎページの処理時間予測（Ｓ１１０１〜Ｓ１１０３）を行っている。しかし、この順序を入れ替えて、ページ画像生成（Ｓ１１０４）後に後続ｎページの処理時間予測（Ｓ１１０１〜Ｓ１１０３）を行ってもよい。
【００７１】
まずステップＳ１１０１で、着目ページのページ番号ｐを（ｎ＋１）で除算した剰余が０であるか判定する（Ｓ１１０５）。ここでページ番号とは、印刷ジョブにおいて先頭を第０ページとし、画像形成されるシートの１面を１ページと数えた場合のページの順序である。すなわち、ｎページおきにステップＳ１１０２〜Ｓ１１０４が実行される。ここでｎとは、後続のｎページについて、その処理予測時間を勘案して着目ページの出力タイミングを制御するために参照するページ数を示す。たとえばｎが１であれば、遇数ページについて、ステップＳ１１０５ではＹＥＳと判定される。またたとえばｎが２であれば、着目ページ番号が３の倍数であれば、ステップＳ１１０５でＹＥＳと判定される。
【００７２】
ステップＳ１１０１においてＹＥＳと判定されれば、ステップＳ１１０２において、解析時間情報解析部３０３ｃは、受信バッファ３０５ａに格納された未処理の印刷データを参照して、着目ページに続くｎページの解析時間情報を読み出す。すなわち第ｐ＋１ページ〜第ｐ＋ｎページの解析時間情報を読む。本実施形態では解析時間情報を参照するページ数ｎは１とする。すなわち、着目ページの直後に続くページｐ＋ｎの解析時間情報のみを参照する。続くステップＳ１１０３にて、後続ｎページのＰＤＬ解析に要する合計時間を、前述したように前記解析時間情報と画像出力装置の処理能力とから算出する。なお、ページｉの予測解析時間をＴｐ（ｉ）と記す。また、ページｐ＋１からｎページ分合計した予測解析時間をＳＴｐ（ｐ，ｎ）と表す。すなわち、ＳＴｐ（ｐ，ｎ）＝ΣＴｐ（ｉ）（ｉ＝ｐ＋１…ｐ＋ｎ）である。予測解析時間の算出はページごとに行い、それをｎページ分について合計してＳＴｐ（ｐ，ｎ）が得られる。
【００７３】
続いて、ステップＳ１１０４にて、予測解析時間ＳＴｐ（ｐ，ｎ）と、画像形成手段のページ出力間隔（以下、スループット維持間隔とも呼ぶ。）とから、プリンタエンジンに対する出力指示（シップ）を開始するタイミングを算出する。スループット維持間隔は、ひとつの画像形成装置においては、たとえばサイズによって一定（Ｔｅ）である。ｎページ分のスループット維持間隔はｎ×Ｔｅであり、これをＳＴｅ（ｎ）と表す。すなわち、ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ）の計算によって遅延させるべき時間を算出する（Ｓ１１０４）。なお、算出した遅延時間はＲＡＭ等に保存しておく。
【００７４】
続いて、ステップＳ１１０５において、ページ画像を生成しようとするページ（着目ページ）について、ＰＤＬデータを解析して中間データ（ＤＬ）を生成する。なお着目ページのページ番号をｐとする。
【００７５】
ステップＳ１１０６では、ステップＳ１１０３で求めた遅延時間（ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ））が０より大か否か判定する。遅延時間（ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ））が０より大の場合は、遅延時間（ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ））だけ着目ページのシップ開始のタイミングを遅延させる（Ｓ１１０７）。ステップＳ１１０７における出力の遅延はたとえば以下の通り行われる。シップ開始タイミングを、ＲＡＭ３０５等に設けた遅延タイミング領域の値（遅延タイミング値）で示すとする。ページ画像の生成が完了した直後に遅延なくそのページ画像のシップを開始する出力タイミングを、遅延タイミング値０とする。すなわち、ページ画像の生成が完了した時点を基点として遅延タイミングを示す。その遅延タイミング値に、ステップＳ１１０５で求めた遅延時間を加算する。こうしてページ画像の生成完了時を基点とする遅延タイミング値を定量的に記憶することができる。ステップＳ１１０７ではさらに、たとえば着目ページの遅延タイミング値をタイマにセットしてタイマをスタートさせる。そして、タイマが満了した時点で着目ページについてＰＲＮＴ信号を発行し、着目ページのページ画像の出力を開始する。このように着目ページの出力タイミングを遅延させることで、前ページの出力（画像形成）の完了と、後続ページの出力の開始とが連続する。このため、エンジンのスループットを維持しながら出力することが可能となる。
【００７６】
一方、ステップＳ１１０６で遅延時間が０以下であると判定された場合、ステップＳ１１０８に分岐する。遅延時間（ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ））が０以下である場合は、着目ページの画像形成が完了する前に、後続するページのスループットを維持したまま出力可能であるため、シップ開始を遅延させることなくＰＲＮＴ信号を出力する（Ｓ１１０８）。ＰＲＮＴ信号発行後は図１９で説明したように画像信号がプリンタエンジンに出力される。
【００７７】
ステップＳ１１０１においてＮＯと判定された場合には、後続ｎページについて処理時間の予測計算は行わない。そこで、ステップＳ１１０５に分岐する。なお、ステップＳ１１０４で計算される遅延時間は、各ページについて図１１を実行する前に０にリセットされる。そのため、ステップＳ１１０１からステップＳ１１０５に分岐した場合には、ステップＳ１１０６では必ずＮＯと判定され、ステップＳ１１０８に分岐する。
【００７８】
ここで、前記スループット維持間隔Ｔｅは、プリンタエンジンが最高スループットを維持している時に用紙が排紙される間隔時間のことである。例えば３０ｐｐｍのプリンタエンジンであれば、１ページあたりのスループット維持間隔Ｔｅは６０／３０＝２秒となる。図１１の手順はページごとに実行される。
【００７９】
この手順により、ｎページおきに、後続ｎページのＰＤＬデータ解析の所要時間の予測計算を行う。そしてその予測結果から、シッピングの遅延時間を求める。そして求めた遅延時間分、ｎページおきにシッピングを遅延させることで、後続するｎページの画像形成を行う間のダウンタイムを短縮させることができる。このようにシッピング開始されるタイミングが遅延されれば、それに合わせて用紙（シート媒体）が、たとえば給紙トレイか供給されるタイミングも遅延される。
【００８０】
なおシッピングをバンディング方式で行う場合には、バンド毎の中間データに基づいてバンド毎のイメージデータを生成する処理と、生成したバンド毎のイメージデータをシッピングする処理とが並列に行われる。このため先頭のバンドのイメージ生成に要する時間分、シッピングはさらに遅延されるが、エンジンの前回転処理時間によりこの遅延は吸収可能である。なお前回転処理で吸収できない場合には、図１１のステップＳ１１０４において算出する解析時間ＳＴｐ（ｐ，ｎ）に、先頭のバンドのイメージ生成に要する時間を加算すればよい。第２番目のバンド以降のイメージ生成処理は、画像形成と配列で行われるために、本発明においては考慮の必要はない。また、バンドごとのイメージ生成が画像形成に間に合わないいわゆるデータアンダーランは生じないものとする。
【００８１】
なおページ数ｎの指定は、プリンタの操作パネルから指定させることができる。また、プリンタに対して、ホストコンピュータで指定されたｎの値を、ＪＬ等あるいは独自のコマンドに含めて通知することもできる。もちろん、あらかじめ決定しておき、プリンタが固定されたｎの値を用いることもできる。ｎの値は本例では１として説明したが、２以上とすることもできる。
【００８２】
＜シップタイミングの具体例＞
図４は、本実施形態におけるｎ＝１とした場合のシップタイミングの制御例を示している。同図においては、５ページの印刷ジョブが処理される様子が示されており、各ページの解析時間Ｔｐがそれぞれ、２、６、１、２、２秒と算出されている。ここで、着目ページ（１ページ目）の解析が終了した際に、従来であればシップ開始を行う。本実施形態では、着目ページ（第１ページ）の後続ページ（２ページ目）の解析時間情報から算出した解析時間Ｔｐ（２）は６秒である。そのため、ＳＴｐ（１，１）−ＳＴｅ（１）＝６−２＝４秒だけ着目ページのシップ開始を遅延させる。このことによって、着目ページに後続するページの解析処理開始からスループット維持間隔ＳＴｅ経った後に後続ページ（２ページ目）の解析処理が丁度終了する。このため、後続ページは遅延なくシップ開始することができ、１〜２ページ目の間にはプリンタエンジンのダウンタイムが発生させずに出力を継続することができる。同様に、３ページ目以降についても後続ページの解析時間情報を参照して、各ページについてＳＴｐ−ＳＴｅが算出される。そしてＳＴｐ−ＳＴｅ＞０の場合には、シップ開始タイミングをＳＴｐ−ＳＴｅ遅延させる。ただし図４の例では後続ページは全てスループットを維持可能であるため、シップ開始タイミングを遅延させることなく印刷動作が継続される。
【００８３】
図５は図４に示した制御によって各ページの排紙間隔が従来例に比べてどのように変化するかを示したものである。ここでは１ページ目の解析終了タイミング（従来例でシップを開始するタイミング）を基点として表記している。図５（Ｂ）に示した通り、１ページ目の解析完了時にＳＴｐ（１，１）−ＳＴｅ（１）＝６−２＝４秒だけシップを遅延させてから１ページ目をシップさせる。こうすることで、２ページ目以降もスループットを維持したまま出力することが可能となるため、プリンタエンジンの後回転およびレディ状態になるまでのダウンタイムが発生しない分、高速に出力することが可能となる。これに対して従来例を示す図５（Ａ）では、１ページ目と２ページ目の間に後回転処理及び前回転処理が実行されてプリンタエンジンのダウンタイムが生じている。このダウンタイムは、図５（Ｂ）における遅延時間よりも長い。このように本実施形態の印刷システムによれば、印刷途中のダウンタイムをなくして、処理効率を向上させることができる。
【００８４】
＜描画オブジェクト及び描画情報の構成例＞
本実施の形態における画像出力装置が生成する描画オブジェクトおよび描画情報の構成について、図８、図９、図１０を参照しながら以下に説明する。図８は本実施形態における１ページ分のＤＬ格納部３０５ｂのメモリマップを示す図であり、図９は描画オブジェクトと描画情報のリンク構成を示す図、図１０は描画情報の構成例の概略を示す図である。
【００８５】
図８において、８０１は各ページの種々の描画パラメータを格納するページ情報ヘッダ部である。ページヘッダ情報部８０１は、当該ページの印字解像度、用紙サイズ、カラーモード、バンド数、該ページに属する描画オブジェクトの総容量（メモリ使用量）、ページ状態（描画済み／シップ中等）、電源投入時からシーケンシャルにカウントされ該ページを識別するためのページ番号など、ページ毎に管理すべき情報から構成されている。なお、前記印字解像度等は、ジョブ開始時点にＪＬにて指示される印字解像度から決められる。前記バンド数は、各バンドの高さを所定の固定値とし、用紙サイズと印字解像度から求められる。
【００８６】
８０２はバンドテーブルであって、バンド数だけ領域が用意され、各バンドテーブルには該バンドに属する描画情報群８０３がリンクされている（図９参照）。描画情報群は描画情報単位を含む。以下に説明する通り、各描画情報単位は、個々の描画オブジェクトを各バンド内のどの位置に、どのように印字するかを示す情報を保持している。ＤＬ格納部３０５ｂには、印字すべき文字パターンやイメージデータ、矩形やスキャンライン等の図形データから生成されるＤＬが格納される描画オブジェクト群８０４が含まれる。ここで、描画情報単位のことを、図中では”appl”（略語）と呼ぶことにする。なお、本実施の形態では、個々の描画情報単位９０１、描画オブジェクト９０２はそれぞれ、ＤＬ記憶部３０５ｂ内の描画情報群８０３と描画オブジェクト群８０４とに分けて保持されるとしたが、混在して保持されるように構成されていても構わない。
【００８７】
図１０は、１つの描画情報単位の構成を示す概略図である。描画情報単位は、描画オブジェクトを描画するための以下の情報を含むよう構成されている。すなわち、ひとつの描画情報単位は、バンド内の印字位置（バンド左上端からのビットオフセット値）１００１、描画オブジェクトの描画高さ１００２、バンドラスタとの描画論理（ＡＮＤ／ＯＲ等）１００３、描画オブジェクトの背景に描画すべき情報が示されたバックグラウンド情報（ＢＧ情報）１００４、関連する描画オブジェクトの先頭アドレス１００５、描画オブジェクトの途中部分以降をバント先頭から描画する場合に該描画オブジェクトをどれだけ読み飛ばすべきかを示したオフセット（ライン数）１００６、次の描画情報の先頭アドレス（リンク最後はＮＵＬＬとする）１００７等を含む。ここで、前記ＢＧ情報は、グレーレベルから構成されているものとし、描画時には該グレーレベルに相当するディザパターンが各描画オブジェクトの背景として貼り付けられる。
【００８８】
ここで、描画オブジェクトが複数のバンドにまたがって描画される場合は、１つの描画オブジェクトに複数の描画情報単位が関連付けられることになる。また、フォントオブジェクトによって同一の文字を印字する場合は、一つのフォントオブジェクトに対して複数の描画情報単位が対応する。つまり描画回数だけ描画情報単位が割り当てられるのである。図９の例では、描画情報単位appl１とappl２によって、文字「Ａ」がバンド０とバンド１にまたがって描画され、さらにappl５によってバンドｎ内にも描画される様子を示している。
【００８９】
なお、図１０に示す描画情報単位に含まれる各要素は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があれば良い。各描画情報間や描画オブジェクトとのリンクはＲＡＭ内のアドレスに限らず、ＩＤによるリンクとしても良い（この場合は、予め用意したＩＤテーブルを介してアドレスに変換する）。
【００９０】
上記の構成によって、各描画オブジェクトをバンド毎に描画してバンド画像を生成するためには、バンドテーブルからリンクされている各描画情報単位を順次読み出し、各描画情報単位内に記憶された印字位置情報に応じて描画オブジェクトを描画すれば良い。この処理を次の描画情報アドレスがＮＵＬＬとなるところまで繰り返すことで、１バンド分のレンダリング処理が終了する。
【００９１】
以上の手順により、本実施形態の印刷システムによれば、指定したページ数（ｎ＋１）の画像形成の間に、プリンタエンジンの停止および再開によるダウンタイムの発生を防止できる。このため、ダウンタイムの発生による処理時間の遅延を防止でき、出力時間を短縮できる。
【００９２】
［実施形態１の変形例１］
図１１の処理では、着目ページｐに後続するｎページについて、ＰＤＬ解析に要する予測解析時間の合計ＳＴｐ（ｐ，ｎ）と、その時間と、各ページの画像形成に要する時間（スループット維持間隔）ＳＴｅ（ｎ）とを求める。そして、その差ＳＴｐ（ｐ，ｎ）−ＳＴｅ（ｎ）を着目ページの出力遅延時間としている。
【００９３】
しかしこの方法では、１ページのスループット維持時間ｔｅに対して予測解析時間が長いページと短いページとが混在していると、ｎ＋１ページの出力の間にダウンタイムが生じる場合があり得る。そこで、着目ページ番号をｐとして場合、それに後続するｎページの各ページ（ｐ＋１、Ｐ＋２、…、Ｐ＋ｎ）について予測解析時間を求める。すなわちまず各ページ（ページｉとする）の予測解析時間Ｔｐ（ｉ）を解析時間情報に基づいて計算する。そして、各ページの解析完了時刻の予想値ＳＴｐ（ｐ，ｉ）を計算する。この計算は、各ページまでの予測解析時間Ｔｐ（ｉ）を積算していけばよい。
【００９４】
一方、時間ＳＴｅ（ｉ）は、ページｐのシッピング開始タイミングを基準（すなわち０）として、ページｐ＋ｉの最善のシッピング開始のタイミングを表している。したがって、第ｐページから第ｐ＋ｉページの出力の間にエンジンを停止させないためには以下のようにする必要がある。すなわち、スループット維持時間に基づいて計算した最善のシッピングタイミングＳＴｅ（ｉ）と、解析完了時刻ＳＴｐ（ｐ，ｉ）とのずれが最も大きいページに合わせてシッピングタイミングを遅延させる必要がある。
【００９５】
そこで、着目ページｐの直後のページｐ＋１からページｐ＋ｎまでの各ページｐ＋ｉについて、ＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ）を計算する。これがページｐ＋ｉについて遅延時間となる。計算したＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ）の値はＲＡＭ等に保存し、保存した値のうちから最大値（ＭＡＸ（ＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ）），ｉ＝１…ｎ）を決定する。これが本変形例における遅延時間である。すなわち、本変形例では、各ｉについてＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ）と、その最大値を求める処理が、図１１のステップＳ１１０４において実行される。そしてステップＳ１１０６では、その最大の遅延時間が０と比較される。そしてステップＳ１１０７では、その最大の遅延時間だけ、着目ページのＰＲＮＴ信号が遅延される。
【００９６】
たとえば、１ページのスループット維持間隔を２、指定されたｎ＝３とする。そして、着目ページの次のページから３ページ分の予測解析時間が、順に２，３，１とする。この場合、着目ページの次のページについては、予測解析時間は２、スループット維持間隔は２×１＝２である。したがって、遅延時間Ｔ１＝２−２＝０である。着目ページの次の次、すなわち２ページ後のページについては、処理予測時間は２＋３＝５、スループット維持間隔は２×２＝４である。したがって、遅延時間Ｔ２＝５−４＝１である。着目ページの次の次の次、すなわち３ページ後のページについては、処理予測時間は２＋３＋１＝６、スループット維持間隔は３×２＝６である。したがって、遅延時間Ｔ３＝６−６＝０である。
【００９７】
そして、Ｔ１，Ｔ２，Ｔ３のうちの最大値Ｔ２＝１が遅延時間として選択される。このため、着目ページのＰＲＮＴ信号は、画像形成完了からタイミング１だけ遅延して出力が開始される。この結果、着目ページおよびそれに後続するｎページのシッピングタイミングは、予測された解析完了時刻と同時かあるいはそれ以降となる。このため、着目ページ及びそれに続くｎページの合わせてｎ＋１（本例では４）ページを出力する間は、プリンタエンジンのダウンタイムの発生を防止できる。
【００９８】
このように、本実施形態では指定されるｎは、印刷される文書を、先頭から（ｎ＋１）ページ単位で連続して出力させるための指定値である。もしもユーザに値ｎを指定させるのであれば、先頭ページも含めたページ数を指定させるように構成すれば、操作性がよりう向上する。
【００９９】
なお本変形例は第１実施形態を基本とし、特に説明していない部分は第１実施形態と共通である。
【０１００】
第１実施形態をまとめると、着目ページの後続ｎページ分の解析時間情報を参照してｎページ分の解析処理に要する予測時間を計算する。そしてその値に基づいて、その各ページについて、当該ページの解析完了のタイミングと当該ページのページ画像の前記画像形成手段への出力タイミングとを、互いに一致するかあるいは前記出力のタイミングの方が遅らせる。そのために、着目ページ（すなわち先頭ページ）のページ画像の出力タイミングを、シッピングのタイミングと解析完了のタイミングとのずれが最大のページに合わせて遅延させる、といえる。この結果、エンジンをスループット維持間隔で駆動したとしても、着目ページおよびその後続ｎページのそれぞれについて、シッピングの開始は早くとも解析完了直後となる。このため、エンジンのスループットを落とすことがない。
【０１０１】
［実施形態１の変形例２］
プリンタエンジンはその立ち上がりにおいて前述の通り前回転処理が行われる。この処理は一定の時間を要する。そこで、エンジンが停止しているのであれば、前回転処理に要する時間（これをレディ時間Ｔｗとも呼ぶ）分だけ前倒ししてエンジンを起動し、定常駆動状態になってからページ画像をシッピングすれば、レディ時間分だけ印刷完了時刻を早めることができる。そこで、本変形例では、図１１のステップＳ１１０４において、まず変形例１の遅延時間（ＭＡＸ（ＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ））からレディ時間Ｔｗを差し引いた値ＭＡＸ（ＳＴｐ（ｐ，ｉ）−ＳＴｅ（ｉ））−Ｔｗのタイミングでエンジン駆動を開始する。このタイミングの基準点は、ページｐの解析完了時である。これによって、エンジンの立ち上げ時間をさらに前倒しできる。エンジン起動からＴｗ経過後にページｐのシッピングを開始する。この処理は図１１のステップＳ１１０８において行われる。こうして、ページｐからページｐ＋ｎまでのｎ＋１ページを、連続してダウンタイムなしに印刷できる。しかもエンジンの起動処理と平行して解析処理が進行するために、一層印刷時間を短縮できる。
【０１０２】
なお本変形例は第１実施形態の変形例１を基本とし、特に説明していない部分は第１実施形態の変形例１と共通である。
【０１０３】
［第２実施形態］
＜第２実施形態の画像出力システムにおける印刷ジョブ処理例＞
第１の実施形態では、前記解析時間Ｔｐとスループット維持間隔Ｔｅとから、どのタイミングでプリンタエンジンに対する出力指示を開始すれば良いかを算出していた。本実施形態ではさらに、前記画像形成手段に対して出力指示を行ってからページ画像が出力可能となるまでの時間をも考慮して出力指示を開始すべき時間を算出することができる。画像形成手段に対して出力指示を行ってからページ画像が出力可能となるまでの時間は、第１実施形態の前回転処理に要する時間であり、以下、レディ時間Ｔｗと呼ぶ。すなわち、Ｔｐ−Ｔｅ＞０となりダウンタイムが発生すると判断された場合に、Ｔｐ−Ｔｅだけシップ開始を遅延するのではなく、Ｔｐ−ＴｅよりもＴｗだけ前倒ししたタイミング、つまりＴｐ−Ｔｅ−Ｔｗだけ遅延したタイミングにエンジンを起動させる。こうすることで、必要最低限の待ち時間でプリンタエンジンに対してページ画像のシップ動作を開始することができ、より効率的なエンジン制御が可能となる。
【０１０４】
なお、前記レディ時間は、ＰＲＮＴ信号をプリンタエンジンに対して出力してから、レディ状態になるまでの時間であって、スキャナモータの立ち上げ、定着器の昇温に要する時間などから予め決まっている。本実施形態では、前記レディ時間が３秒である場合について説明する。
【０１０５】
本実施形態において、シップすべきタイミングは、参照した各ページのＴｐとＴｅとを後ろのページから比較を行ない、差分が正である場合に限りＴｅだけ前倒しすることで算出する。すなわち、ページｉまでの解析完了時刻をＴｐ（ｉ）、１ページのスループット維持時間をＴｅとする。
【０１０６】
また第１実施形態では、指定されたｎに対してｎ＋１ページを連続して出力する。また、ｎ＋１ページの先頭ページのＰＤＬ解析完了時刻をシッピングの遅延の基準としていた。これに対して本実施形態では、指定されたｎに対してｎページを連続して出力する。また、ｎページの先頭ページのＰＤＬ解析開始時刻をシッピングの遅延の基準としている。もちろん、これらの相違点は単なる取り決め上の相違であり、容易に変換できる程度の相違である。
【０１０７】
さて、本実施形態において、着目ページｐが（ｐ  ｍｏｄ  ｎ＝０）を満たす場合、以下の通りに動作する。値Ｔｐ（ｐ＋ｎ）−Ｔｅ＝Ｔｓ（ｐ＋ｎ）が正であれば、ｐ＋ｎページ目のＰＤＬ解析が終わるタイミングよりもｔｅだけ前倒したタイミングでｐ＋ｎ−１ページ目のシップ動作を開始する。すなわちＴｓ（ｐ＋ｎ）は、ｐ＋ｎページ目のＰＤＬ解析開始時刻を基準とした、ｐ＋ｎ−１ページのシップ開始のタイミングを示す。これは、この場合、最終ページについてはその解析完了後直ちにシップするのが最も効率的だからである。一方、Ｔｓ（ｐ＋ｎ）が０または負であれば、Ｔｓ（ｐ＋ｎ）を０とする。Ｔｓ（ｐ＋ｎ）にｐ＋ｎ−１ページ目のＴｐ（ｐ＋ｎ−１）を加算した値からＴｅを引いた値が正であれば、さらにＴｅだけ前倒したタイミングＴｓ（ｐ＋ｎ−１）＝Ｔｓ（ｐ＋ｎ）＋Ｔｐ（ｐ＋ｎ−１）−Ｔｅをｎ−１ページ目のシップタイミングとする。このタイミングＴｓ（ｐ＋ｎ−１）は、ｐ＋ｎ−１ページ目のＰＤＬ解析開始時刻を基準とした、ｐ＋ｎ−２ページのシップ開始のタイミングを示す。一方、Ｔｓ（ｐ＋ｎ−１）が負であれば、ｐ＋ｎ−２ページのシップ開始は前倒しできないので、Ｔｓ（ｐ＋ｎ−１）を０とする。
【０１０８】
上記手順をｎページ分、末尾（ページｐ＋ｎ）から先頭（ページｐ＋１）まで順番に分繰り返し、最後にレディ時間Ｔｗだけさらに前倒ししたタイミングをプリンタエンジン起動タイミングとする。これらの手順は、図１１のステップＳ１１０４からステップＳ１１０８において実行されることになる。
【０１０９】
図１３は、本実施形態におけるシップタイミングの制御例を示している。図１３では、ｎ＝１の場合について説明するが、ｎは多ければ多いほど良く、実際には受信バッファに入力された印刷データから読み取れるだけのページ数を参照する。なお本実施形態におけるｎの意味は第１実施形態と同様である。
【０１１０】
図１３はｎ＝１とした例である。すなわち、文書の先頭から２ページずつを単位として、連続出力させる例である。図１３においては、４ページの印刷ジョブが処理される様子が示されており、各ページの解析時間ｔｐがそれぞれ、２、６、８、８秒と算出されている。
【０１１１】
まず、１ページ目のＰＤＬ解析を行う前に、解析時間情報解析部３０３ｃは、１ページ目及び２ページ目の解析時間情報を参照して、各ページのＴｐを算出する。結果、各ページのＴｐがそれぞれ２秒、および６秒であると判断された場合に、２ページ目のＴｐからＴｅを引くと、６−２＝４秒＞０となる。そのため、１ページ目のシップ開始タイミングを２ページ目のＰＤＬ解析が終了するタイミングよりもＴｅ（２秒）だけ前倒ししたタイミングとする。すなわち、１ページ目のシップ開始は、２ページ目のＰＤＬ解析開始から４秒遅延される。
【０１１２】
続いて、先ほどの引き算の結果４秒（＝Ｔｓ（２））にＴｐ（１）＝２を加算してＴｗ＝３を引くと、４＋２−３＝３秒となる。これが１ページ目のシッピング遅延時間である。１ページ目のＰＤＬ解析開始時よりも３秒後にプリンタエンジンの起動を行えば、１ページ目と２ページ目を最高スループットを維持したまま出力することができる。なお、ここで遅延時間が１ページ目のＴｐよりも小さくなった場合は、１ページ目のＰＤＬ解析終了を待たずに、１ページ目の解析を行っている最中にプリンタエンジンの起動を行えば良い。さらに、Ｔｗを引いた結果が負となった場合は、後続のＴｐを算出した直後にプリンタエンジンを起動して良いことを表している。上記のようにプリンタエンジンを制御すると、２ページ目のＰＤＬ解析が終了した直後に２ページ目のシップ動作を開始することができる。
【０１１３】
同様に、３ページ目のＰＤＬ解析を行う前に、ページ３および４の２ページ分のＴｐを算出する。３，４ページ目のＴｐがそれぞれ８秒，８秒だった場合は、Ｔｓ（４）＝８−２＝６秒、すなわち４ページ目のＰＤＬ解析が終了するよりも２秒前に３ページ目のシップ動作を行う。すなわち、３ページ目の解析完了時から６秒後に３ページ目のシップを開始する。同様の計算をＴｓ（３）について行う。すなわちＴｓ（３）＝Ｔｓ（４）＋Ｔｐ（３）−Ｔｗ＝６＋８−３＝１１秒となる。したがって、３ページ目のＰＤＬ解析開始よりも１１秒遅延させる遅れてエンジン起動を行い、そのＴｗ後に３ページ目のシッピングを開始すれば、３，４ページ目もスループットを維持したまま出力することができる。
【０１１４】
上記示したように、スループット維持間隔Ｔｅとレディ時間Ｔｗとを考慮して、プリンタエンジンを起動すべきタイミングを制御する。こうして、図１４に示したように、従来に比べダウンタイム発生回数を減らして、最終ページが出力完了されるまでの時間を短縮することが可能となる。
【０１１５】
［第２実施形態の他の例１］
図１６は、第２実施形態において、ｎ＝４、Ｔｗ＝３秒、Ｔｅ＝２秒、各ページのｔｐがそれぞれ２，３，３，５秒であった場合の第３実施形態の一例を示している。ここでは、まず４ページ目から順に以下に示した計算を行う。
【０１１６】
ｔｐ（４）−ｔｅ＝５−２＝３：Ｔｓ（４）
上記の結果Ｔｓ（４）が正であるから、３ページ目のシップはＰＤＬ解析終了タイミングより後に遅らせる必要があると判断される。続いて、２ページ目についてもシップタイミングＴｓ（３）を以下の計算式によって求める。
【０１１７】
Ｔｓ（４）＋ｔｐ（３）−ｔｅ＝３＋３−２＝４：Ｔｓ（３）
上記の結果が正であるから、２ページ目のシップもＰＤＬ解析終了タイミングより後に遅らせる必要があると判断される。さらに、同様に１ページ目についても計算を行う。
【０１１８】
Ｔｓ（３）＋ｔｐ（２）−ｔｅ＝４＋２−２＝４：Ｔｓ（２）
上記の結果が正であるから、１ページ目のシップもＰＤＬ解析終了タイミングより後に遅らせる必要があると判断される。最後にエンジン起動タイミングについて計算を行う。
【０１１９】
Ｔｓ（２）＋ｔｐ（１）−Ｔｗ＝４＋２−３＝３：Ｔｓ（１）
従って、１ページ目のＰＤＬ解析開始よりも３秒遅らせてプリンタエンジンを起動すれば、１〜４の各ページはエンジンスループットを維持したまま出力できることになる。
【０１２０】
［第２実施形態の他の例２］
図１７は、ｎ＝４、Ｔｗ＝３秒、Ｔｅ＝２秒、各ページのＴｐがそれぞれ２，５，２，１秒であった場合を示している。ここでは、まず４ページ目から順に以下に示した計算を行う。
【０１２１】
Ｔｐ（４）−Ｔｅ＝１−２＝−１：Ｔｓ（４）
上記の結果が負であるから、３ページ目のシップはＰＤＬ解析終了タイミングより後に遅らせることはできないと判断される。すなわちＴｓ（４）＝０となる。３ページ目については以下の通りである。
【０１２２】
Ｔｓ（４）＋Ｔｐ（３）−Ｔｅ＝０＋２−２＝０：Ｔｓ（３）
上記の結果が０以上であるから、２ページ目はＰＤＬ解析終了と同時にシップを開始すれば良いと判断される。続いて、１ページ目のシップタイミングを以下のように求める。
【０１２３】
Ｔｓ（３）＋Ｔｐ（２）−Ｔｅ＝０＋５−２＝３：Ｔｓ（２）
上記の結果が正であるから、以下の通りとなる。
【０１２４】
Ｔｓ（２）＋Ｔｐ（１）−Ｔｗ＝３＋２−３＝２
従って、１ページ目のＰＤＬ解析開始よりも２秒遅らせてプリンタエンジンを起動すれば、１〜４の各ページはエンジンスループットを維持したまま出力できることになる。
【０１２５】
［第１および第２実施形態の変形例１］
第１及び第２実施形態は、プリンタドライバにて求めた描画命令の個数とプリンタコントローラの単位時間当たりの処理能力とから、各ページのＰＤＬ解析に要する時間Ｔｐを予想していた。これに対して、印刷データをＨＤＤ等にスプールしておき、パネル等から前記印刷データを指定して複数回の出力を行うような再印刷（リプリント）時には、再計算を省略できる。すなわち、１回目に印刷した際の各ページのＰＤＬ処理時間Ｔｐを覚えておき、２回目以降の印刷におけるプリンタエンジン制御に用いるよう構成しても良い。本変形例の場合は、印刷ジョブに含まれる全ページの正確なＴｐが予め求められているため、最も効率的にプリンタエンジンの制御を行うことができる。
【０１２６】
［第１および第２実施形態の変形例２］
第１および第２実施形態では、プリンタドライバにて求めた描画命令の個数とプリンタコントローラの単位時間当たりの処理能力とから、プリンタコントローラ側で各ページのＰＤＬ解析に要する時間Ｔｐを算出していた。これに対して、解析時間情報をプリンタドライバが送るのではなく、各ページの解析に要する時間Ｔｐをプリンタドライバ側で算出するよう構成しても構わない。ただし、本変形例の場合は、各プリンタに対応したプリンタドライバを用いる必要がある。
【０１２７】
［第１および第２実施形態の変形例３］
本発明は、プリンタエンジン起動に要するレディ時間以外のダウンタイム要因を考慮した場合にも適用可能であり、例えば、用紙サイズ（給紙段）切り替えに要する時間や、カラーエンジンの場合のモノカラー切り替え時に発生する遅延時間を考慮しても良い。本実施形態では、シップタイミングの計算を行う際に、前記条件に該当するページが存在した場合、スループット維持間隔Ｔｅに加え、前記ダウンタイムによる遅延分を加えて前倒ししたシップが可能かを計算する。
【０１２８】
また第１及び第２実施形態では、解析時間情報には、ページごとに描画コマンド毎の数が含まれている。しかしホストコンピュータがジョブを発行する宛先のプリンタの能力情報をあらかじめ取得しておけば、各コマンドひとつ当たりの予測時間を求めておける。このため、個など種別に応じた予測時間をコマンド出現毎に積算すればページの予測解析時間を求めることもできる。このようにすれば、解析時間情報として、まさに予測解析時間そのものを含めることができる。この結果、画像形成装置の予測解析時間の算出のための処理負担を軽減することができる。
【０１２９】
［ソフトウエアによる構成例］
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３０】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【０１３１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合がある。この場合も本発明に含まれる。
【０１３２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図５、図１２、図１３に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３３】
【図１】本発明を適用可能なレーザビームプリンタとプリンタドライバが動作するホストコンピュータの概略構成を説明するブロック図である。
【図２】本実施の形態に示すレーザビームプリンタの内部構造を示す断面図である。
【図３】本実施の形態に示す画像出力装置の制御ユニット（コントローラ部）の基本構成と、プリンタドライバの基本構成を説明するブロック図である。
【図４】第１の実施形態によるエンジン起動および各ページのシップ開始タイミングの制御例を示した図である。
【図５】従来の制御方法によるエンジン状態および排紙間隔の例と、第１の実施形態によるエンジン制御方法によるエンジン状態および排紙間隔の例を示した図である。
【図６】本実施形態に示したプリンタドライバから本画像出力装置に対して出力される印刷データの形式例を説明した図である。
【図７】第１の実施形態におけるプリンタドライバが印刷データを生成する手順を示したフローチャートである。
【図８】１ページ分のＤＬ格納部３０５ｂの内容を示すメモリマップを示す図である。
【図９】描画情報／描画オブジェクト間のリンク構成の概略を示すブロック図である。
【図１０】描画情報の構成を示す図である。
【図１１】本実施の形態に示す画像出力装置におけるプリンタエンジン（画像形成手段）の制御手順を説明したフローチャートである。
【図１２】印刷データの全体構成とＰＤＬ部分に含まれる描画命令の具体例を示した図である。
【図１３】第２の実施形態におけるエンジン起動および各ページのシップ開始タイミングの制御例を示した図である。
【図１４】従来の制御方法によるエンジン状態および排紙間隔の例と、第２の実施形態によるエンジン制御方法によるエンジン状態および排紙間隔の例を示した図である。
【図１５】解析時間情報の一例を示した図である。
【図１６】第１及び第２実施形態の変形例におけるエンジン起動および各ページのシップ開始タイミングの制御例を示した図である。
【図１７】第４の実施形態におけるエンジン起動および各ページのシップ開始タイミングの制御例を示した図である。
【図１８】プリンタコントローラとエンジンとの間の信号の例を示す図である。
【図１９】プリンタコントローラとエンジンとの間の信号の例を示すタイミング図である。
【符号の説明】
【０１３４】
１０１  ホストコンピュータ
１０２  画像出力装置
１０３  コントローラ部
１０５  プリンタエンジン部
３０１  ＣＰＵ
３０３  プログラムＲＯＭ
３０３ａ  ＤＬ生成部
３０３ｃ  解析時間情報解析部
３０３ｄ  エンジン制御部
３０５  ＲＡＭ
３０５ｂ  ＤＬ格納部
３１２  プリンタドライバ
３１２ａ  描画処理部
３１２ｂ  解析時間情報生成部
５０３  解析時間情報
８０３  描画情報部
８０４  描画オブジェクト（ＤＬ）群
９０１  描画情報（ａｐｐｌ）
【図１】
0004455459.tif 000002
【図２】
0004455459.tif 000003
【図３】
0004455459.tif 000004
【図４】
0004455459.tif 000005
【図５】
0004455459.tif 000006
【図６】
0004455459.tif 000007
【図７】
0004455459.tif 000008
【図８】
0004455459.tif 000009
【図９】
0004455459.tif 000010
【図１０】
0004455459.tif 000011
【図１１】
0004455459.tif 000012
【図１２】
0004455459.tif 000013
【図１３】
0004455459.tif 000014
【図１４】
0004455459.tif 000015
【図１５】
0004455459.tif 000016
【図１６】
0004455459.tif 000017
【図１７】
0004455459.tif 000018
【図１８】
0004455459.tif 000019
【図１９】
0004455459.tif 000020