(57)【要約】【課題】  印刷装置で中間データが１頁揃う前に、既にレンダリング可能な中間データのレンダリング処理を開始可能な状態に遷移させることである。【解決手段】  ホストコンピュータ２０１のプリンタドライバＰＤは、アプリケーションが生成するページ単位の複数の描画オブジェクトを順次、印刷装置が解釈可能なページ単位の描画命令に変換してプリンタコントローラ１０１に転送処理する際に、１ページが印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を印刷装置に通知する構成を特徴とする。【選択図】  図２
2005316950.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置であって、
アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、
１ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、
前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、
前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするデータ処理装置。
【請求項２】
各描画オブジェクト情報を収集して複数のバンドに分割される各バンド毎の最終描画オブジェクト番号を生成する生成手段と、
各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶する記憶手段とを有し、
前記検出手段は、前記記憶手段に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記検出手段は、選択される用紙向きに基づき、縦向きと横向きとを識別して１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項１記載のデータ処理装置。
【請求項４】
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバプログラムであって、
アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、
１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、
前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、
前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするプリンタドライバプログラム。
【請求項５】
前記検出工程は、各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶領域に記憶し、前記記憶領域に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項４記載のプリンタドライバプログラム。
【請求項６】
前記検出工程は、選択される用紙向きに基づき、縦向きと横向きとを識別して１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項４記載のプリンタドライバプログラム。
【請求項７】
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置におけるデータ処理方法であって、
アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、
１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、
前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、
前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするデータ処理方法。
【請求項８】
前記検出工程は、各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶領域に記憶し、前記記憶領域に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項７記載のデータ処理方法。
【請求項９】
前記検出工程は、選択される用紙向きに基づき、縦向きと横向きとを識別して１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項７記載のデータ処理方法。
【請求項１０】
データ処理装置から受信する印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング処理可能な印刷制御装置であって、
前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、
前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、
前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、
前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを有し、
前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする印刷制御装置。
【請求項１１】
前記レンダリング手段は、前記中間バッファ内でレンダリング可能な状態で記憶されているバンドの前記中間データから順次印刷部が印刷可能な画像データにレンダリングすることを特徴とする請求項１０記載の印刷制御装置。
【請求項１２】
前記判断手段が印刷ジョブに前記終了情報が含まれていることを判断しない場合に、前記制御手段は、少なくとも１ページ分の中間データが前記中間バッファに記憶された後で、各バンドを所定の順序で前記レンダリング手段がレンダリング可能な状態に遷移させるべく制御することを特徴とする請求項１０または１１に記載の印刷制御装置。
【請求項１３】
データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置における印刷制御方法であって、
前記データ処理装置から受信される前記描画命令に基づいて、前記印刷制御装置で内部処理可能な中間データに変換して中間バッファに記憶する変換工程と、
前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリングステップと、
前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断ステップと、
前記判断ステップが前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリングステップがレンダリング可能な状態に遷移させる制御ステップとを有し、
前記制御ステップは、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリングステップによりレンダリング処理させるよう制御することを特徴とする印刷制御方法。
【請求項１４】
前記レンダリングステップは、前記中間バッファ内でレンダリング可能な状態で記憶されているバンドの前記中間データから順次印刷部が印刷可能な画像データにレンダリングすることを特徴とする請求項１３記載の印刷制御方法。
【請求項１５】
前記判断ステップが印刷ジョブに前記終了情報が含まれていることを判断しない場合に、前記制御ステップは、少なくとも１ページ分の中間データが前記中間バッファに記憶された後で、各バンドを所定の順序で前記レンダリングステップがレンダリング可能な状態に遷移させるべく制御することを特徴とする請求項１３または１４に記載の印刷制御方法。
【請求項１６】
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置と、データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置とを含む印刷システムであって、
前記データ処理装置は、
アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、
１ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、
前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、
前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とし、
前記印刷制御装置は、
前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、
前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、
前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、
前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを備え、
前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータ上のプリンタドライバから描画データをページ単位でプリンタに送信し、プリンタ側でそれをバンド単位に分割した中間データに変換してレンダリングする印刷システムに関するものである。
【背景技術】
【０００２】
従来、この種の印刷システムにおいては、データ処理装置の記憶装置にインストールされているプリンタドライバは、アプリケーションが生成する描画データをプリンタが解釈可能な描画データに変換してプリンタに送信する処理を印刷要求時に実行する。この場合、プリンタドライバからプリンタに送信される描画データはＰＤＬ（ページ記述言語）データと呼ばれ、ページ単位で記述されている。
【０００３】
そして、プリンタは、ページ単位の描画データをバンド単位の中間データに変換して、１ページ分の中間データの生成が完了すると先頭のバンドから順番にレンダリングしてイメージデータを生成し、更にそれを圧縮して保持し、全てのバンド即ち１ページ分のレンダリングと圧縮が終了すると、圧縮されたイメージデータは印刷プロセスに同期して伸張されて印刷画像データとなる。
【０００４】
なお、バンド単位でレンダリング及び圧縮するのは、１ページ分の非圧縮イメージを保持するには非常に大きな連続メモリが必要となってしまうことが主な理由である。
【０００５】
通常、印刷装置において、プリンタコントローラ内で実行される中間データの生成処理、レンダリング及び圧縮処理、伸張及び印刷処理の３つの処理はそれぞれ並列的に行なわれるのが一般的であり、中間データ及び圧縮されたイメージデータのメモリ領域にはそれぞれ複数のページが蓄積される。
【０００６】
このようなシステムをＬＢＰ等の一般的な電子写真装置に適用する場合、各ページを複数枚印刷するコピー印刷やペーパジャム後の再印刷（リカバリ）は圧縮されているイメージを使って行なわれるため、圧縮イメージはそのページの印刷完了まで保持されるが、中間データはバンド単位でレンダリングが終了した時点で解放される（例えば、特許文献１）。
【０００７】
一般にレンダリングされたイメージデータはフルカラーならＣＭＹＫの各プレーンに変換され、更に電子写真装置の諧調に合わせてハーフトーン処理を施してから圧縮される。これによりイメージデータの圧縮率は高まり、印刷実行時のイメージデータの伸張処理も効率的に行える。
【０００８】
１ページ分の全バンドをレンダリングしてから印刷を開始するシステムはＣＭＹＫの４つの現像機構を有しているタンデム方式と呼ばれるフルカラー電子写真装置や、高速のモノクロ電子写真装置に適している。
【０００９】
尚、中低速のモノクロ電子写真装置や、現像機構を１つしかもたない非タンデムのフルカラー電子写真装置では、印刷処理に同期してレンダリングを行う方法も古くから使われている。
【００１０】
尚、ホストコンピュータにインストールされているプリンタドライバにおいて、プリンタドライバがアプリケーションからの描画コマンドを１ページ分スプールし、スプールされた描画コマンドを印刷装置の印刷開始方向にあわせてバンド分割してソートすることで、ページ単位ではなくバンド単位で描画データを生成し、プリンタに送信する印刷システムも考案されている（例えば、特許文献２）。このようなシステムの場合、印刷装置はホストコンピュータから１バンド分の描画データの受信が完了した時点でそのバンドをレンダリングすることが可能となり、レンダリングが終了するとそのバンドの中間データは解放されるため、ページ単位で描画データを生成する印刷システムと比較して中間データ用のメモリを圧迫しにくいというメットと、印刷装置におけるレンダリング処理が早く終了するというメリットがある。
【００１１】
しかしながら、プリンタドライバは、アプリケーションから任意の順序（印刷装置における印刷順序とは無関係）で出力される描画コマンドから、バンド単位で描画データを生成しなければならないため、描画コマンドを印刷装置の印刷方向を意識してソートするというソート作業に時間を要するデメリットと、複数バンドに跨る描画オブジェクトに関しては複数に分割しなければならず描画オブジェクトの生成に要する処理時間の増加というデメリットと、複数のバンドに分割できない描画オブジェクトに関しては各バンド毎に描画データを生成しなければならず、印刷ジョブのデータ量が増大するというデメリットがある。
【００１２】
例えばアプリケーションから出力される描画コマンドがＪＰＥＧのイメージオブジェクトの場合、プリンタドライバにおいてそのイメージオブジェクトを複数のバンドに合わせて分割するためには、ＪＰＥＧフォーマット形式のイメージオブジェクトを伸張する必要があり、また印刷ジョブには分割されたイメージオブジェクトを送信しなければならず、ＪＰＥＧフォーマットに再度変換できないため印刷ジョブのデータサイズが肥大してしまう。
【００１３】
また、一般的な図形オブジェクトの場合、それを分割するにはスキャンオブジェクトに変換する必要があるため、スキャンオブジェクト毎のヘッダ指定を行うと印刷ジョブのデータサイズが肥大してしまう。そしてスキャンオブジェクトのデータサイズは解像度に比例するため、特に１２００ＤＰＩや２４００ＤＰＩのような高解像度の印刷システムには向かない。更に文字オブジェクトの場合、それを分割すること自体が不可能であるため、バンド毎に文字を描画しなければならない。
【特許文献１】特開平１０−１４７０１７号公報
【特許文献２】特開２００３−２１６３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
先に説明した特許文献１のような印刷システムでは、印刷装置のメモリデッドロックにより１ページ分の全てのバンドをレンダリングしてから印刷を開始すると、印刷処理に同期してレンダリングを行うバンドレンダリングの方法と比較して印刷を開始するタイミングが遅いという第１の課題があった。
【００１５】
又、中間データを格納するためのメモリ（後述する中間バッファ）はメモリ容量が有限であるのに対して、１ページを構成する中間データのサイズは、データ処理装置のプリンタドライバから送信される描画データを構成する描画オブジェクトの数、種類、大きさ、更には描画位置に依存して変動する流動的なものである。
【００１６】
例えば１ページを構成する中間データのサイズが大きい場合、それ以前のページのバンドがレンダリングされて中間データの格納メモリが解放されるのを待たなければならないことがある。
【００１７】
更に、１ページを構成する中間データのサイズが非常に大きい場合には、直前のページの全てのバンドがレンダリングされても中間データの格納メモリが足らない場合がある。そのような場合には中間データを生成中のページの１つ又は複数のバンドを一旦レンダリングして、中間データの格納メモリを空ける必要がある。その際にレンダリングされたイメージデータに対してＣＭＹＫ変換やハーフトーン処理を施してしまうと後の描画データの描画論理によっては正しく描画することができない。
【００１８】
よって、レンダリングしたイメージデータはＲＧＢ画像のまま保持するのが理想的であるが、非常に大きなメモリを必要とするためＪＰＥＧ等の圧縮を適用するのが一般的である。それでもハーフトーン処理されたＣＭＹＫ画像と比較すれば大きなメモリが必要であり、更にＪＰＥＧ圧縮による画像の劣化や処理速度の低下は避けられない等の第２の課題があった。
【００１９】
そして、印刷装置側でメモリデッドロックが発生しないように、ホストコンピュータのプリンタドライバにおいて、特許文献２のように、バンドソートを行いバンド単位に分割された印刷ジョブを生成する場合には、上述したように、プリンタドライバの処理負担の増加により印刷ジョブ自体の生成が遅くなり、ファーストプリントアウトの遅延が発生してしまうデメリットがあり、また、バンド分割により結果として印刷データ量が増えてしまう場合もあり、印刷装置側でバンドレンダリングが可能であるとしても、ネットワークの通信負荷の増大を招く結果となってしまうという第３の課題があった。
【００２０】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、印刷装置側に多くのメモリを必要とせず、かつ、プリンタドライバの負担も軽くすることで、印刷スループットを従来よりも向上させる仕組みを提供することである。
【００２１】
そのために、本発明は、アプリケーションが生成するページ単位の複数の描画オブジェクトを、プリンタドライバで受け取った順序で、印刷装置が解釈可能な描画命令に変換して印刷装置に転送処理する際に、１ページが印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出して、各バンド内で最後に描画すべき描画オブジェクトを検出する毎に、該最後に描画すべき描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を印刷装置に通知することにより、印刷装置で中間データが１頁揃う前に、既にレンダリング可能な中間データのレンダリング処理を開始可能な状態に遷移させることができるデータ処理装置およびプリンタドライバおよびデータ処理方法を提供する。
【００２２】
また、データ処理装置からページ単位の描画情報を中間データに変換して中間バッファに記憶させる際に、データ処理装置から描画オブジェクトから描画情報への生成処理がバンド単位に終了したことを示す終了情報を受信すると、中間データに記憶されてレンダリング可能な中間データが存在する場合には、１ページの中間データ生成処理終了を待つことなく、中間データに対するレンダリング処理を先行させることにより、中間データを記憶すべき中間バッファが圧迫されてしまう事態を回避しながら、バンド単位の中間データのレンダリング処理を効率よく行い、印刷システム全体としてデータ処理速度及び画質の低下を防ぐことができる印刷制御装置および印刷制御方法を提供する。
【課題を解決するための手段】
【００２３】
本発明に係るデータ処理装置は、以下の特徴的構成を備える。
【００２４】
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置であって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、１ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
【００２５】
本発明に係るプリンタドライバプログラムは、以下の特徴的構成を備える。
【００２６】
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバプログラムであって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
【００２７】
本発明に係るデータ処理方法は、以下の特徴的構成を備える。
【００２８】
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置におけるデータ処理方法であって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、１ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
【００２９】
本発明に係る印刷制御装置は、以下の特徴的構成を備える。
【００３０】
データ処理装置から受信する印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング処理可能な印刷制御装置であって、前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを有し、前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする。
【００３１】
本発明に係る印刷制御方法は、以下の特徴的構成を備える。
【００３２】
データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置における印刷制御方法であって、前記データ処理装置から受信される前記描画命令に基づいて、前記印刷制御装置で内部処理可能な中間データに変換して中間バッファに記憶する変換工程と、記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリングステップと、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断ステップと、前記判断ステップが前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリングステップがレンダリング可能な状態に遷移させる制御ステップとを有し、前記制御ステップは、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリングステップによりレンダリング処理させるよう制御することを特徴とする。
【００３３】
本発明に係る印刷システムは、以下の特徴的構成を備える。
【００３４】
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置と、データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置とを含む印刷システムであって、前記データ処理装置は、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、１ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とし、前記印刷制御装置は、前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを備え、前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする。
【発明の効果】
【００３５】
本発明によれば、データ処理装置またはプリンタドライバにより、印刷装置で中間データが１頁揃う前に、既にレンダリング可能な中間データのレンダリング処理を開始可能な状態に遷移させることが可能となるように、適切にバンド単位の描画情報生成が終了していることを通知できる。
【００３６】
また、印刷装置側において、データ処理装置から受信した描画情報から中間データを生成して中間バッファに記憶する際に、バンド処理の終了を示す情報によりレンダリングを開始することができ、必ずしも１ページ分の中間データが格納されることを待つことがなくなり、中間データを記憶すべき中間バッファが圧迫されてしまう事態を回避しながら、バンド単位の中間データのレンダリング処理を効率よく行い、印刷システム全体としてデータ処理速度及び画質の低下を防ぐことができる等の効果を奏する。
【発明を実施するための最良の形態】
【００３７】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００３８】
図１は、本発明を適用可能な印刷装置（本発明の印刷制御装置に相当する）の構成を説明する断面図であり、例えばレーザビームプリンタ（ＬＢＰ）例に対応する。
【００３９】
図１において、１００はＬＢＰ本体（ＬＢＰ）であり、このＬＢＰ１００はＬＡＮ接続されているコンピュータ（図２に示すホストコンピュータ２０１であり、本発明のデータ処理装置に相当する）から供給される用紙サイズ指定命令、文字印刷命令、各種図形描画命令、イメージ描画命令及び色指定命令等に従って対応する文字パターンや図形、イメージ等を作成し、記録媒体である記録用紙上に像を形成する。
【００４０】
１５１は操作パネルで、操作のためのスイッチ及びプリンタの状態を表示するＬＥＤ表示器やＬＣＤ表示器等が配されている。１０１はプリンタ制御ユニット（プリンタコントローラ）で、ＬＢＰ１００全体の制御及びコンピュータから供給される文字印刷命令等を解析する。
【００４１】
なお、本実施形態におけるＬＢＰはＲＧＢの色情報をＭ（マゼンタ）Ｃ（シアン）Ｙ（イエロー）Ｋ（クロ）に変換し、それらを並列で像形成・現像するため、ＭＣＹＫそれぞれが像形成・現像機構を持つ。プリンタ制御ユニット１０１はＭＣＹＫそれぞれの印刷イメージを生成し、ビデオ信号に変換してＭＣＹＫそれぞれのレーザ・ドライバに出力する。
【００４２】
Ｍ（マゼンタ）のレーザ・ドライバ１１０は半導体レーザ１１１を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１１１から発射されるレーザ光１１２をオン・オフに切り替えする。レーザ光１１２は回転多面鏡１１３で左右方向に振られて静電ドラム１１４上を走査する。これにより、静電ドラム１１４上には文字や図形のパターンの静電潜像が形成される。この潜像は静電ドラム１１４周囲の現像ユニット（トナーカートリッジ）１１５によって現像された後、記録用紙に転写される。
【００４３】
Ｃ（シアン）、Ｙ（イエロー）、Ｋ（クロ）に関してもＭ（マゼンタ）と同様の像形成・現像機構をそれぞれ備えている。個々の機能はＭ（マゼンタ）の像形成・現像機構と同じであるので説明は省略する。
【００４４】
記録用紙にはカット・シートを用い、カット・シート記録紙はＬＢＰ１００に装着した給紙トレイ１０２に収納されバネ１０３で一定の高さに保たれており、給紙ローラ１０４及び搬送ローラ１０５と１０６とにより装置内に取り込まれ、用紙搬送ベルト１０７に乗せられてＭＣＹＫの各像形成・現像機構を通過する。
【００４５】
記録用紙に転写されたＭＣＹＫの各トナー（粉末インク）は定着器１０８で熱と圧力により記録用紙に固定され、記録用紙は搬送ローラ１０９と１５０によってＬＢＰ１００本体上部に出力される。
【００４６】
図２は、図１に示したＬＢＰ１００のプリンタコントローラ１０１の概略構成を示すブロック図であり、該プリンタコントローラ１０１は、ＬＡＮ２１６で接続されているコンピュータ２０１のプリンタドライバＰＤを介して送られてきた印刷ジョブに含まれる文字、図形、イメージの各描画命令及び色情報等からなる印刷データを入力し、各バンド単位にレンダリングすることで、ページ単位で文書情報等を印刷するようにしている。
【００４７】
なお、ホストコンピュータ２０１には、図示しないいわゆるパーソナルコンピュータとしてのハードディスクウエア資源（ＣＰＵ，ＲＡＭ，ＲＯＭを含む）を備え、ハードディスク等に記憶される所定のＯＳの下で、種々のアプリケーションをＵＩを介して実行し、印刷要求をユーザが入力デバイスを操作して行うと、プリンタドライバＰＤに描画データをプリンタが解析可能なＰＤＬデータ（ページ記述言語で記述された印刷データ）に変換して転送する処理を行う。
【００４８】
２０２は入力インタフェース部で、コンピュータ２０１と各種情報をやり取りする。２０３は入力バッファメモリで、入力インタフェース部２０２を介して入力された各種情報を一時記憶する。２０４は文字パターン発生器で、文字の幅や高さ等の属性や実際の文字パターンのアドレスが格納されているフォント情報部２１９、文字パターン自身が格納されている文字パターン部２２０、及びその読みだし制御プログラムから成る。読み出し制御プログラムはＲＯＭ２１７に含まれ、文字コードを入力するとそのコードに対応する文字パターンのアドレスを算出するコード・コンバート機能をも有している。
【００４９】
２０５はＲＡＭで、文字パターン発生器２０４より出力された文字パターンを記憶するフォント・キャッシュ領域２０７、コンピュータ２０１より送られてきた外字フォント及び現在の印刷環境等を記憶する記憶領域２０６を含んでいる。
【００５０】
このように、一旦文字パターンに展開したパターン情報をフォント・キャッシュとしてフォント・キャッシュ領域２０７に記憶しておくことにより、同じ文字を印刷する時に再度同じ文字を復号してパターン展開する必要がなくなるため、文字パターンへの展開が速くなる。
【００５１】
２０８はプリンタの制御ユニット全体を制御するためのＣＰＵで、ＲＯＭ２１７に記憶されたＣＰＵ２０８の制御プログラムにより装置全体の制御を行っている。２０９は入力データを元に生成される内部的なデータ群である中間バッファである。１ページ分のデータの受信が完了し、それらがよりシンプルな中間データに変換されて中間バッファに蓄えられた後、後述するように、任意のバンドの中間データが生成されたことを検出した場合、もしくは１ページ分の中間データが生成された場合に、レンダラ２１０によりバンド単位でレンダリングされ、各色８ビットのＲＧＢ画像としてバンドバッファ２１１に出力される。なお、本実施例では、各色８ビットのＲＧＢ画像としてレンダリングする印刷装置について説明するが、これに限るものではなく、１ビットのモノクロ印刷装置であってもいいし、各色４ビットのＹＭＣＫ画像としてレンダリングするカラー印刷装置であってもよい。
【００５２】
そして、バンドバッファ２１１に出力されたＲＧＢ画像はハーフトーニングプロセッサ２１２により各色１ビットのＭＣＹＫ画像に変換され、ＭＣＹＫの各プレーンに分離されてスプールメモリ２１３に格納される。スプールメモリ２１３に格納されたＭＣＹＫ画像はプレーン毎に圧縮されて保持される。１ページ分の全バンドのデータが格納されると、ページ・プリンタの印刷機構部分であるプリンタ印刷部２１５が起動される。そして、ＭＣＹＫ画像がプレーン毎に伸長されて出力インタフェース部２１４でビデオ信号に変換され、プリンタ部２１５に出力される。
【００５３】
このように、ＣＰＵ２０８による各バンドの中間データの生成とレンダラ２１０の制御は別タスクで実行される。レンダラ２１０の制御の方がタスクの優先度は高いがレンダリングそのものはレンダラ２１０で行われるため各バンドのレンダリング中はＣＰＵ２０８による各バンドの中間データの生成処理が行なわれる。
【００５４】
先に図１を用いて説明したように、本実施形態におけるＬＢＰでは、ＭＣＹＫの像形成・現像を並列で行うため、出力インタフェース部２１４はＭ出力インタフェース部、Ｃ出力インタフェース部、Ｙ出力インタフェース部、Ｋ出力インタフェース部の４つのインタフェース部で構成され、それぞれが独立にスプールメモリ２１３からプレーン画像を読み出し、ビデオ信号に変換して各プレーンのレーザ・ドライバ１１０（１２０、１３０、１４０）へ出力する。
【００５５】
２１８は一般のＥＥＰＲＯＭ等で構成する不揮発性メモリであり、以後ＮＶＲＡＭ(Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ)と称す。ＮＶＲＡＭ２１８には操作パネル１５１で指定されるパネル設定値などが記憶される。
【００５６】
なお、ＲＯＭ２１７にはコンピュータ２０１から入力されるデータの解析、中間データの生成、印刷機構本体部（プリンタ部）２１５の制御プログラム、及びＲＧＢ色空間からＭＣＹＫ色空間への色変換テーブル等も含まれる。
【００５７】
２２１はハードディスクで、任意の情報を記録することができ、電源が切断されても情報が失われることはない不揮発性メモリ媒体で構成されている。
【００５８】
図３は、図２に示したプリンタコントローラ１０１によるバンド処理状態を説明する模式図であり、ページをバンド単位に分割して処理する例である。
【００５９】
図３において、３００はＡ４縦サイズの用紙である。本実施形態においては、例えばＡ４縦サイズの用紙はバンド３０１，３０２，３０３，３０４，３０５，３０６の６つの領域に分割されて処理される。
【００６０】
ホストコンピュータ２０１から送信されるページ記述言語（ＰＤＬ）形式の印刷データに含まれる文字印刷命令、各種図形描画命令、イメージ描画命令等はＲＡＭ２０５に記憶された後、ＣＰＵ２０８によって解析され、その描画オブジェクトの位置と大きさによってバンド３０１〜３０６の中間データに変換されて中間バッファ２０９に格納される。なお、描画オブジェクトが複数のバンドに跨る場合には分割されてそれぞれのバンドの中間データとなる。
【００６１】
図４は、図２に示した中間バッファ２０９の構成を説明するための図であり、ページの生成が開始されると、まず最初に各バンドの中間データの先頭アドレスを保持するための領域が中間バッファ２０９上に確保される。この領域をページ先頭領域と呼ぶ。
【００６２】
図において、４００は第Ｎページのページ先頭領域である。ページ生成開始直後はページ先頭領域にはどのバンドの先頭アドレスもセットされておらず、各バンドの中間データが生成されてはじめてページ先頭領域にそのバンドの先頭アドレスがセットされる。例えば、ＰＤＬ形式の印刷データをＣＰＵ２０８が解析して中間データを生成する際に、最初に解析した描画オブジェクトの位置がバンド１（図３の３０１）であれば、バンド１の中間データの先頭アドレスを保持するための領域４０１が中間バッファ２０９上に確保され、確保された領域４０１に中間データを格納する。そして、次に解析した中間オブジェクトの位置がバンド４（図３の３０４）であれば、バンド４の中間データの先頭アドレスを保持するための領域４０４が中間バッファ２０９上に確保され、確保された領域４０４に中間データを格納する。このようにホストコンピュータから受信したＰＤＬ順に解析して中間データを生成し、その中間データのバンドに対応して中間データ格納領域が中間バッファ２０９上に確保され、生成された中間データが格納される。
【００６３】
各バンドの中間データ領域は必要に応じて適当な大きさの領域が必要に応じて確保され、確保された領域が中間データでいっぱいになるとその領域が拡張される。連続領域として領域を拡張できない場合には新たな領域が確保され、アドレスによるリンクが張られる。その場合の領域の検索は下位アドレスに向かって行なわれ、下位アドレスに空き領域がない場合には中間バッファ２０９の先頭アドレスから検索される。例えば、バンド１として確保された中間データ格納領域４０１が中間データでいっぱいになるとその領域を拡張し、連続領域として拡張できない場合には新たな領域図４の中央の領域４０１が確保され、アドレスによるリンクが張られることになる。
【００６４】
図４は第Ｎページの中間データの生成が完了し、次ページのページ先頭領域４１０以降より第Ｎ＋１ページの中間データを生成している状態を表している。４０１，４０２，４０３，４０４，４０５，４０６はそれぞれ第Ｎページに対応するバンド３０１，３０２，３０３，３０４，３０５，３０６の中間データである。
【００６５】
第Ｎページの中間データは、バンドバッファ２１１に空きがあれば、図２に示したレンダラ２１０によりレンダリングされ、レンダリングされたバンドの中間データは解放される状態にある。
【００６６】
但し、バンドバッファ２１１は複数のバンドの画像を保持するだけのメモリは割り当てられておらず、実質的にはスプールメモリ２１３の空き状態がレンダリングの実行タイミングに影響する。
【００６７】
４１０は第Ｎ＋１ページのページ先頭領域であり、４１１，４１２，４１３，４１５，４１６はそれぞれ第Ｎ＋１ページに対応するバンド３０１，３０２，３０３，３０５，３０６の中間データである。なお、バンド３０４に対応する中間データが無いことはこの時点ではそのバンドに描画オブジェクトが存在していないことを意味する。
【００６８】
図５は、図４に示したページ先頭領域の構成を更に詳しく説明するための図である。
【００６９】
図５において５０１，５０２，５０３，５０４，５０５，５０６はそれぞれ対応するバンド３０１，３０２，３０３，３０４，３０５，３０６の中間バッファ２０９内の中間データ先頭アドレスの格納領域である。
【００７０】
また、５１１，５１２，５１３，５１４，５１５，５１６はバンド３０１，３０２，３０３，３０４，３０５，３０６の状態を管理するための領域であり、「０」〜「２」の値（後述する内容を示す状態変数）がセットされる。領域５１１，５１２，５１３，５１４，５１５，５１６には、「０：中間データ生成中、１：中間データ生成完了（レンダリング開始可能）、２：レンダリング完了（中間データは解放可能）」のいずれかの値がセットされる。
【００７１】
通常この状態管理領域である領域５１１，５１２，５１３，５１４，５１５，５１６には、排紙命令によってそのページの中間データの生成が完了した時点でＣＰＵ２０８が値「１」をセットするが、ホストコンピュータ２０１からの特定バンドの生成完了の通知によりそのバンドの状態管理領域が値「１」にセットされる場合もある。本発明では、バンド終了を示す終了情報が印刷データに記述されている場合には、特定バンドの中間データの生成完了に応じて、そのバンドの状態管理領域が値「１」にセットされることになり、また従来のバンド終了情報を含まない印刷データを処理する場合には、そのページの中間データの生成が完了した時点でＣＰＵ２０８が値「１」をセットする。
【００７２】
ホストコンピュータ２０１からの特定バンドの生成完了通知は文字印刷命令、各種図形描画命令、イメージ描画命令等と同様にＰＤＬコマンドで行なわれる。このコマンドをバンド終了通知命令（もしくは簡単に、バンド終了情報とも呼ぶ）と呼ぶ。
【００７３】
例えば第Ｎページがバンド３０６，３０１，３０２，３０５，３０３，３０４の順で中間データの生成が完了し、各バンドの描画オブジェクトが終了する都度バンド終了通知命令を受け取ったとする。その場合、バンド３０６，３０１，３０２，３０５，３０３はそのページの中間データの生成が終了する前にバンド終了情報を受け取るため、該当するバンドのレンダリングを開始することが可能となる。レンダリングは中間データの生成が終了したバンドから順番にレンダラ２１０により行われ、バンドバッファ２１１にレンダリングされたイメージデータは画像処理が行われた後、スプールメモリ２１３に格納される。スプールメモリ２１３は、１ページ分のイメージデータが生成されると、出力インタフェース部２１４を介してビデオ信号としてプリンタエンジン２１５へ出力されて、印刷される。
【００７４】
その場合、第Ｎ＋１ページの中間データの生成を開始する時点で第Ｎページの幾つかのバンドはレンダリングが完了しており、レンダリング済みのバンドの中間データは解放可能な状態にあることになる。
【００７５】
但し、中間データ生成処理とレンダリング処理は並列に独立したタスクとして行なわれているが、メモリ領域の獲得と解放を同時に行うことはできないため、あるバンドのレンダリング終了時にはそのバンドの状態管理領域（バンド３０６，３０１，３０２，３０５，３０３に対応する領域５１６，５１１，５１２，５１５，５１３）を値「２」にセットするにとどまり、実際の解放処理はメモリ獲得時に必要に応じて解放可能なバンドのメモリがＣＰＵ２０８により解放される。
【００７６】
図６は、図２に示した中間バッファ２０９の状態の例を示す図であり、例えば第Ｎ＋１ページの中間データの生成を開始する時点における状態に対応する。網掛けされていないバンドの中間データ格納領域は、バンドの状態管理領域の値が「２」にセットされていることを示している。
【００７７】
図６に示す例では、第Ｎページのバンド３０６，３０１，３０２，３０５が既にレンダラ２１０によりレンダリングが完了し、そのバンドの中間データ格納領域に対応するメモリが解放可能な状態にあることを表している。また、図６では、第Ｎ＋１ページの中間データの生成を開始する時点では、第Ｎページのバンド３０３、３０４のレンダリングは終了しておらず、メモリが解放できないことを示している。
【００７８】
次に、図２に示したＣＰＵ２０８による各種コマンド処理と１ページ分の中間データの生成処理について図７に示すフローチャートを参照して説明する。
【００７９】
図７は、本発明に係る印刷制御装置における第１のデータ処理手順の一例を示すフローチャートであり、図２に示したＣＰＵ２０８による各種コマンド処理と１ページ分の中間データの生成処理手順に対応する。なお、Ｓ７０１〜Ｓ７１２は各ステップを示す。また、各ステップに示す手順に対応する制御プログラムは、ＲＯＭ２１７等に記憶されており、該制御プログラムをＲＡＭ２０５上のワーク上にロードして実行することにより実現される。
【００８０】
まず、ステップＳ７０１で、ＣＰＵ２０８は、入力バッファメモリ２０３からホストコンピュータ２０１から受信した印刷データを読み出し、ＰＤＬコマンドの１命令を解析する。そして、ステップＳ７０２で、それが文字、図形、イメージ等の描画命令であるか否かを判断し、描画命令であると判断した場合は、ステップＳ７０３に進んで、その描画オブジェクトの描画位置と大きさから、それがどのバンドに描画されるかをＣＰＵ２０８が判定する。そして、どのバンドに描画するかを判定したら、ステップＳ７０４でそのバンド用に確保済みの中間データメモリを拡張する必要があるか否かをＣＰＵ２０８が判定して、拡張が必要でない、即ち追加すべき中間データがそのバンドに対して確保済みの領域内に収まると判断した場合には、ステップＳ７０７に進んで中間データを追加して、ステップＳ７０１へ戻る。
【００８１】
一方、ステップＳ７０４で、中間データメモリを拡張する必要があると判断した場合には、ステップＳ７０５に進んでメモリの確保を試みて、メモリ確保に成功したか否かをＣＰＵ２０８が判断して、確保できなかったと判断した場合には、ステップＳ７０６に進んで、解放可能なメモリ領域の解放処理を実行し、ステップＳ７０５に戻って再度メモリの獲得を試みる。
【００８２】
一方、ステップＳ７０５でメモリの獲得に成功したと判断した場合は、ステップＳ７０７に進んで確保した領域に中間データを追加して、ステップＳ７０７で中間データの追加が終わると、ステップＳ７０１に戻って次のコマンドを解析する。
【００８３】
なお、ステップＳ７０６で行うＣＰＵ２０８によるメモリの解放処理は、処理中のページを含むそれ以前のページの先頭領域を参照し、そのバンド状態管理領域に値「２（レンダリング完了を示す状態）」がセットされているバンドに対して行い、解放したバンドの中間データ先頭アドレスの格納領域には値「０」がセットされる。
【００８４】
また、ＣＰＵ２０８は、中間バッファ２０９上で解放すべきページの全てのバンドの中間データを解放した場合には、そのページのページ先頭領域そのものも解放する。
【００８５】
一方、ステップＳ７０２で、ＣＰＵ２０８が描画命令でないと判断した場合には、ステップＳ７０８に進み、それがページ終了命令（ページ終了情報）であるか否かを判断して、ページ終了命令であると判断した場合には、ステップＳ７０９に進んでそのページの全てのバンドの状態管理領域に値「１（中間データ生成完了状態）」をセットし、そのページの中間データ生成処理を終了する。
【００８６】
一方、ステップＳ７０８で、ページ終了命令でないと判断した場合には、ステップＳ７１０に進んで、それがバンド終了命令（バンド終了命令はそのパラメータにバンド番号を有する）であるか否かをＣＰＵ２０８が判断して、バンド終了命令であると判断した場合には、ステップＳ７１１で指定されたバンドの状態管理領域に値「１（中間データ生成完了状態）」をセットしてステップＳ７０１に戻る。すなわち、ＣＰＵ２０８は、バンド終了命令で指定されるバンドをレンダラ２１０がレンダリング可能な状態（バンドの状態管理領域が値「１」）に遷移させる。
【００８７】
なお、本実施形態において、バンド終了命令の書式は、Ｅｓｃ＜ｂａｎｄ＞ＢＥである。
【００８８】
ここで、“Ｅｓｃ”は１６進数の「１Ｂ」であり、制御命令の開始であることを示すコードである。
【００８９】
また、＜ｂａｎｄ＞は本制御命令のパラメータであり、バンド番号を示す。“Ｂ”，“Ｅ”はその２バイトで制御命令の種類を示す。
【００９０】
一方、ステップＳ７１０で、その他の命令であるとＣＰＵ２０８が判断した場合には、ステップＳ７１２でその命令に対応する処理を行って、ステップＳ７０１に戻る。
【００９１】
これは例えば文字サイズの指定などのコマンドであるが本発明との直接的な関係は無いので説明は省略する。
【００９２】
このように、ＣＰＵ２０８（本発明の制御手段）は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドをレンダラ２１０によりレンダリング処理させるよう制御することになる。
【００９３】
尚、本実施例において、従来のＰＤＬ形式の印刷データのように、印刷データ中にバンド終了コマンドが全く使用されない場合、即ちステップＳ７１１の処理が全く行なわれない場合は１ページ分の中間データが生成されてから各バンドのレンダリングを開始するとになる。これは従来の印刷システムと全く同じ動作である。このように、本発明の印刷制御装置は、バンド終了情報を含む印刷データを受けると、中間データの生成が終了したバンドからレンダリングを行うことで、描画処理（レンダリング処理）が早く終了することでスループットが向上し、かつ、レンダリングが終了したバンドはメモリを次々に解放することで必ずしも1ページ分の中間データを格納することなく描画処理を行えるため、メモリ容量を少なくでき、コストダウンが図れるという効果が得られる。また、本発明の印刷制御装置は、従来のＰＤＬ形式の印刷データのようにバンド終了命令が含まれていない場合にも、1ページ分の中間データの生成に応じてレンダリング処理を行うことで印刷処理を実現でき、ホストコンピュータ側のプリンタドライバが古いバージョンのものであったとしても、システムとして印刷保証を行うことが可能となる。
【００９４】
次にレンダリング処理について図８に示すフローチャートを参照して説明する。
【００９５】
図８は、本発明に係る印刷制御装置における第２のデータ処理手順の一例を示すフローチャートであり、図２に示したＣＰＵ２０８によって制御されるレンダラ２１０によって実行されるレンダリング処理手順に対応する。なお、レンダラ２１０は、ハードウェアで構成されているため、Ｓ８０１〜Ｓ８０５は、先に説明したＣＰＵ２０８による中間データの生成処理と並列に独立して行なわれるが中間データの生成処理よりも優先度の高いタスクで行なわれるため、中間バッファ２０９へのアクセスは、レンダラ２１０がＣＰＵ２０８よりも優先されることになる。このタスクをレンダリングタスクと呼ぶ。
【００９６】
レンダリングタスクでは中間バッファ２０９の状態をポーリングしており、ステップＳ８０１でレンダリング可能、即ち状態管理領域に値「１（中間データ生成完了）」がセットされているバンドの有無を調べ、存在しないと判断した場合には所定のポーリング間隔で再度判定する。
【００９７】
そして、ステップＳ８０１で、レンダリング可能なバンドが存在すると判断した場合には、ステップＳ８０２に進んでスプールメモリ２１３に空きがあるか否かを判定する。
【００９８】
なお、正常な動作を保証するためにはハーフトーンＣＭＹＫのプレーン画像を非圧縮状態で格納できる領域が必要である。但し、実際にはＣＭＹＫのプレーン画像は圧縮されるため通常の画像であればその数％程度しか消費されない。
【００９９】
そして、ステップＳ８０２で、スプールメモリ２１３にＣＭＹＫのプレーン画像を非圧縮状態で格納するための空きがないと判断した場合には、所定のポーリング間隔で再度判定する。
【０１００】
一方、ステップＳ８０２で、スプールメモリ２１３に空きがあると判断した場合には、ステップＳ８０３に進んで、レンダラ２１０にそのバンドの中間データのアドレスと、バンドバッファ２１１のアドレスをセットしてレンダリングを実行する。レンダリング結果はＲＧＢ画像としてバンドバッファ２１１に出力される。
【０１０１】
そして、レンダリングが終了すると、ステップＳ８０４に進んでハーフトーニングプロセッサ２１２によりＣＭＹＫ各色２ＢＰＰの画像データに変換されてスプールメモリ２１３に出力され、更にプレーン毎に圧縮される。
【０１０２】
そして、最後にステップＳ８０５で対象バンドのバンド状態管理領域に「２（レンダリング完了状態）」をセットして、ステップＳ８０１に戻る。
【０１０３】
図７及び図８を参照して説明したように、各バンドはバンド終了通知コマンドで指定されたバンドから順にレンダリングされ、１ページ分の全てのバンドの画像データがスプールメモリ２１３に格納されると、そのページは印刷可能な状態になり、プリンタ部２１５に同期して出力される。
【０１０４】
次に、ホストコンピュータ２０１上のプログラムであるプリンタドライバＰＲの処理について説明する。
【０１０５】
ホストコンピュータ２０１に備えるハードディスク等に記憶され、システム起動時に、ＲＡＭ上の所定領域に常駐するプリント制御プログラムとして構成されるプリンタドライバＰＲは、各バンドに対して最後に描画されるオブジェクトがどれであるかを管理する手段を有する。
【０１０６】
まず、図９を用いて、本発明の情報処理装置に相当するホストコンピュータ（図２の２０１に相当する）を説明する。
【０１０７】
図９は、本発明に係る情報処理装置の概略構成を説明するブロック図であり、図２と同一のものには同一の符号を付してある。
【０１０８】
図９において、ホストコンピュータ２０１は、ＣＰＵ１４０１と、ＲＡＭ１４０２と、ＲＯＭ１４０３と、キーボードコントローラ（ＫＢＣ）１４０５と、ＣＲＴコントローラ（ＣＲＴＣ）１４０６と、ディスクコントローラ（ＤＫＣ）１４０７と、プリンタコントローラ（ＰＲＴＣ）１４０８とが、システムバス１４０４を介して相互に接続してある。
【０１０９】
ＣＰＵ１４０１は、プログラム用ＲＯＭであるＲＯＭ１４０３か、又は外部メモリ１４１１に記憶されたドキュメント処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行し、システムバス１４０４に接続される各デバイスを制御するものである。また、ＣＰＵ１４０１は、例えばＲＡＭ１４０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１４１０上でのＷＹＳＩＷＹＧを可能としている。さらに、ＣＰＵ１４０１は、ＣＲＴ１４１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【０１１０】
ＲＯＭ１４０３のプログラム用ＲＯＭまたは外部メモリ１４１１には、ＯＳ等が記憶され、ＲＯＭ１４０３のフォント用ＲＯＭまたは外部メモリ１４１１には、上記文書処理の際に使用するフォントデータ等が記憶され、ＲＯＭ１４０３のデータ用ＲＯＭまたは外部メモリ１４１１には、上記文書処理等を行う際に使用する各種データが記憶されている。ＲＡＭ１４０２は、ＣＰＵ１４０１の主メモリであり、ワークエリア等である。
【０１１１】
キーボードコントローラ（ＫＢＣ）１４０５は、キーボード（ＫＢ）１４０９や不図示のポインティングデバイスからのキー入力を制御するものである。ＣＲＴコントローラ（ＣＲＴＣ）１４０６は、ＣＲＴディスプレイ（ＣＲＴ）１４１０の表示を制御するものである。ディスクコントローラ（ＤＫＣ）１４０７は、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１４１１とのアクセスを制御するものである。
【０１１２】
ハードディスク（ＨＤ）には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下「プリンタドライバ」という。）等が記憶してある。
【０１１３】
プリンタコントローラ（ＰＲＴＣ）１４０８は、双方向性インタフェースまたはネットワーク（ＬＡＮ２１６）に接続してあり、プリンタ１０１との通信制御処理を実行するものである。
【０１１４】
ユーザは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【０１１５】
次に図１０を参照して、ホストコンピュータ２０１における典型的な印刷処理を説明する。
【０１１６】
図１０は、本発明に係る情報処理装置のモジュール構成を示す機能ブロック図であり、図９に示したホストコンピュータ２０１の印刷処理モジュールの一例に対応する。なお、図２と同一のものには同一の符号を付してある。
【０１１７】
図１０において、アプリケーション１５０１、グラフィックエンジン１５０２、プリンタドライバ１５０３、およびシステムスプーラ１５０４は、外部メモリ１４１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１４０２にロードされ実行されるプログラムモジュールである。また、アプリケーション１５０１およびプリンタドライバ１５０３は、外部メモリ１４１１のＦＤや不図示のＣＤ−ＲＯＭ、または不図示のネットワークを経由して外部メモリ１４１１に追加することが可能となっている。外部メモリ１４１１に保存されているアプリケーション１５０１は、ＲＡＭ１４０２にロードされて実行されるが、このアプリケーション１５０１からプリンタ１０１に対して印刷を行う際には、同様にＲＡＭ１４０２にロードされ実行可能となっているグラフィックエンジン１５０２を利用して出力（描画）を行う。
【０１１８】
グラフィックエンジン１５０２は印刷装置ごとに用意されたプリンタドライバ１５０３を同様に外部メモリ１４１１からＲＡＭ１４０２にロードし、アプリケーション１５０１の出力をプリンタドライバ１５０３を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１４０２にロードされたシステムスプーラ１５０４を経て、双方向性インタフェースを経由して、プリンタ１０１へ出力されるようになっている。
【０１１９】
また、プリンタドライバ１５０３は、アプリケーション１５０１からの描画データをＰＤＬ形式の印刷データに変換する際に、各描画データが印刷装置の排紙方向を考慮して分割される複数のバンドのいずれに対応するか、および、各バンドの最後の描画データであることを検出するために、各ページの描画データをドライバスプーラ１５０５に一時的に格納する。この動作については、後述する。
【０１２０】
図１１は、図２に示したホストコンピュータ２０１上のプリンタドライバＰＲ（図１７の１５０３）によるオブジェクトを管理する第１のメモリ領域を説明する図であり、例えば最終描画オブジェクトを管理するためのメモリ領域に対応する。
【０１２１】
図１１において、９００は各バンドに描画される最終オブジェクトを管理するための情報を格納する領域であり、これを最終描画オブジェクト管理領域と呼ぶ。９０１，９０２，９０３，９０４，９０５，９０６はそれぞれ第１、第２、第３、第４、第５、第６バンドに描画される最終オブジェクトを管理するための領域である。この領域に格納される番号を最終オブジェクト番号と呼ぶ。
【０１２２】
次にプリンタドライバ１５０３による１ページ分のＰＤＬ形式の印刷データの生成処理を図１２に示すフローチャートを参照して説明する。
【０１２３】
図１２は、本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートであり、ホストコンピュータ２０１上が備えるハードウェアであるコントローラ部のＣＰＵ１４０１がハードディスク等の外部記憶装置１４１１に記憶されるプリンタドライバ１５０３に対応する制御プログラムをＲＡＭ１４０２上にロードして実行することにより実現される。なお、Ｓ１００１〜Ｓ１０１８は各ステップを示す。
【０１２４】
ページの処理が開始されると、まず、ステップＳ１００１において、プリンタドライバ１５０３は、最終描画オブジェクト管理領域９００の全てのバンドの最終オブジェクト番号を値「０」に全て初期化する。ここで、値「０」は何も描画されていない状態を表す。
【０１２５】
次に、ステップＳ１００２で、プリンタドライバ１５０３は、描画オブジェクト番号ｎを値「０」にセットする。ここで、描画オブジェクト番号とは、１ページ内で描画される描画オブジェクトに対して描画される順番に「１」から番号を付けたものである。各バンドの最終描画オブジェクトはこの番号で特定される。
【０１２６】
次に、ステップＳ１００３で、プリンタドライバ１５０３は、上位のソフトウェアであるアプリケーション１５０１から出力された描画オブジェクトを１つ取得し、ドライバスプーラ１５０５に一時的に格納する。そして、ステップＳ１００４で、プリンタドライバ１５０３は、全ての描画オブジェクトのスプールが完了したか否かを判断して、完了していると判断した場合は、すなわち、描画オブジェクトを取得した場合には、ステップＳ１００５で、描画オブジェクト番号ｎを１カウントアップする。
【０１２７】
そして、ステップＳ１００６で、プリンタドライバ１５０３は、印刷装置の用紙搬送方向に合わせて分割されるバンド領域を認識しており、その描画オブジェクトの描画位置と大きさから描画オブジェクトに外接する矩形領域を計算する。なお、外接矩形はホストコンピュータ２０１の描画システムによっては描画オブジェクトに付随する情報としてプリンタドライバ１５０３に渡されてもよい。
【０１２８】
描画オブジェクトの外接矩形がプリンタドライバ１５０３に渡されないような描画システムでは描画オブジェクトを構成する座標点や線幅等からプリンタドライバ１５０３が計算することになる。
【０１２９】
次に、ステップＳ１００７で、プリンタドライバ１５０３は、印刷装置の用紙搬送方向に合わせて分割されるバンド領域を認識しており、プリンタドライバ１５０３は、描画オブジェクトの外接矩形を元にその描画オブジェクトがどのバンドに描画されるかを判断し、更にステップＳ１００８で、最終描画オブジェクト管理領域９００の対象となるバンドの最終オブジェクト番号に描画オブジェクト番号をセットする。
【０１３０】
なお、描画オブジェクトの外接矩形が複数のバンドにかかる場合には９０１，９０２，９０３，９０４，９０５，９０６の複数の最終オブジェクト番号が更新される。
【０１３１】
次に、ステップＳ１００９で、プリンタドライバ１５０３は、その描画オブジェクトを一時記憶領域（ＲＡＭ）内のドライバスプーラ１５０５のスプールファイルに書き込んでスプールして、ステップＳ１００３に戻って、次の描画オブジェクトを取得して処理する。そして、ステップＳ１００４で、１ページを構成する全ての描画オブジェクトのスプールが完了したら、ステップＳ１０１０に進み、描画オブジェクト番号ｎを「０」にセットする。
【０１３２】
次に、ステップＳ１０１１で、図１１に示した最終描画オブジェクト管理領域９００の各バンドの最終オブジェクト番号と描画オブジェクト番号ｎとを比較し、両者が等しいかどうかを判断して、両者が等しくないと判断した場合には、ステップＳ１０１３へ進み、両者が等しいと判断した場合には、ステップＳ１０１２で対象バンドに対してバンド終了命令（バンド終了情報）をプリンタのプリンタコントローラ１０１に送信する。
【０１３３】
次に、ステップＳ１０１３に進んで、ステップＳ１００９の処理でスプールされている描画オブジェクトをファイルより１つ読み出し、ステップＳ１０１４で読み出せたか否か（全ての描画オブジェクト処理が終了しているか否か）を判断して、描画オブジェクトを読み出せた、即ち未処理の描画オブジェクトが存在する場合には、ステップＳ１０１５に進んで、描画オブジェクト番号ｎを１カウントアップする。
【０１３４】
そして、ステップＳ１０１６で、その描画オブジェクトをプリンタで解釈可能なＰＤＬ形式の描画命令に変換してシステムスプーラ１５０４に書き込み、更にステップＳ１０１７で、システムスプーラ１５０４に書き込まれている描画命令を、双方向インタフェースもしくはＬＡＮを介してプリンタのプリンタコントローラ１０１に送信して、ステップＳ１０１１に戻る。
【０１３５】
そして、ステップＳ１０１１に戻って、ステップＳ１０１２，Ｓ１０１３を実行し、各バンドの描画オブジェクトをプリンタのプリンタコントローラ１０１に送信し終わったか否かを判断して、すなわち、ステップＳ１０１４において全ての描画オブジェクトの処理が終了したと判断された場合には、ステップＳ１０１８で、プリンタのプリンタコントローラ１０１に対してページ終了命令を送信して１ページの処理を終了する。また、アプリケーション１５０１から出力される描画データが複数ページである場合は、ステップＳ１００１へ処理を戻す。
【０１３６】
なお、本実施例では、システムスプーラ１５０４に書き込まれたＰＤＬ形式の印刷データは順次プリンタコントローラ１０１に対して送信していたが、これに限るものではなく、1ページ分の印刷データが書き込まれてからプリンタコントローラ１０１に対して送信したり、また、全ページ分の印刷データがシステムスプーラ１５０４に書き込まれてからプリンタコントローラ１０１に対して送信するように制御してもよい。
【０１３７】
以上説明したように、本実施形態においては、ホストコンピュータ２０１のプリンタドライバＰＤは各描画オブジェクトがどのバンドにかかるかを判定し、１ページ分の描画オブジェクトをスプールすることで、各バンドの最終描画オブジェクトをプリンタのプリンタコントローラ１０１に送信後にバンド終了命令を送信する。
【０１３８】
このように、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換するプリンタドライバにおいて、１ページが印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出し、各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知し、また、変換時には、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換する。
【０１３９】
プリンタのプリンタコントローラ１０１は、バンド終了命令を受け取るとそのバンドをレンダリング開始可能な状態にすることで、１ページ目の印刷開始を早め、更に中間バッファ２０９内の中間データが解放可能になるタイミングも早まるので中間バッファ２０９が圧迫され難くスループットを維持し易くなる。
【０１４０】
なお、プリンタドライバＰＤにおいて、１ページ分スプールした描画オブジェクトをバンド単位に分割し、分割したバンド単位の描画コマンドをプリンタコントローラ１０１に送信する仕組みも考えられるが、このようにバンド単位に描画コマンドを分割する場合、複数のバンドにまたがる描画コマンドは繰り返し送信されることになり、印刷装置において、中間データを格納する領域を大きく用意しなければならない。それに対して上述した方式では、ＰＤＬ形式、つまりページ単位で描画コマンドを送信するため、複数のバンドにまたがる描画コマンドであっても１度送信すればよく、なおかつバンド終了命令を印刷装置が受信することで、その指定されたバンドについては描画処理（レンダリング処理）を開始することができるため、従来のＰＤＬ形式の印刷装置に比べて印刷スループットが向上するという効果が得られる。
【０１４１】
上記実施形態によれば、プリンタドライバＰＤが各バンドの最終描画オブジェクトを管理してプリンタにバンド終了命令を送信し、プリンタはバンド終了命令を受け取ったバンドをレンダリング可能な状態にする。これによって１ページ目の印刷開始を早め、更に中間データが解放可能になるタイミングも早まるので中間バッファが圧迫され難くスループットを維持し易くなる。
【０１４２】
また、通常ならば中間バッファを圧迫するような描画オブジェクトが多く複雑なページであっても中間データの生成が終了したバンドからレンダリングが開始されるので中間データ用メモリの不足による画質の劣化も起こり難くなる。
【０１４３】
〔第２実施形態〕
第１実施形態では、Ａ４縦サイズの用紙を例に説明したが、Ａ３サイズまで対応しているプリンタでは、Ａ４はＡ４横サイズを用いるのが一般的である。Ａ４が縦を選択されるか横を選択されるかはプリンタの機種又は給紙カセット１０２にセットされている用紙サイズ等に依存する。
【０１４４】
また、印刷後にステープルやパンチなどを行うフィニッシング機構を有するプリンタではステープルやパンチの指定位置が選択される用紙の向きによって影響される。
【０１４５】
つまり、第１実施形態に示す印刷システムは、プリンタドライバがこのような条件を認識する必要があるため汎用的なプリンタドライバには適さない。
【０１４６】
そこで、上記のような問題点を解決するために、プリンタが縦の用紙を選択するか横の用紙を選択するかをデータ処理装置側のプリンタドライバが認識する必要の無い印刷システムについて好適な実施形態について説明する。なお、本実施形態においても、エンジン系の構成として、ＬＢＰに対して本発明を適用する例とする。
【０１４７】
なお、本実施形態におけるＬＢＰの内部構造、及びその制御ユニットの構成は第１実施形態において図１及び図２を参照して説明したものと同じであるので説明は省略する。
【０１４８】
図１３は、図２に示したプリンタ部２１５で印刷処理されるページをバンド単位に分割して処理する状態を説明する模式図であり、例えば文字と図形等のオブジェクトが各バンドにあるいは各バンドを跨ぐ状態で展開される場合に対応する。
【０１４９】
図１３において、１１００はＡ４横サイズの用紙である。本実施形態においてはＡ４縦サイズの用紙はバンド１１０１，１１０２，１１０３，１１０４の４つの領域に分割されて処理される。
【０１５０】
図２に示した中間バッファ２０９の構成、中間データの生成、レンダリングを開始するタイミング、中間データの解放などは第１実施形態と同じであるので説明は省略する。
【０１５１】
次に、ＣＰＵ２０８による各種コマンド処理と１ページ分の中間データの生成処理について説明する。本実施形態における中間データの生成処理の処理フローは第１実施形態において図７に示すフローチャートを参照して説明したものと同じであるが、ステップＳ７１１の処理が異なる。
【０１５２】
本実施形態におけるバンド終了命令の書式は、ｓｃ＜ｂａｎｄ＞；＜ｄｉｒｅｃｔｉｏｎ＞ＢＥ
であり、第１実施形態との違いは第２パラメータ＜ｄｉｒｅｃｔｉｏｎ＞が追加されていることである。
【０１５３】
＜ｄｉｒｅｃｔｉｏｎ＞はプリンタドライバＰＤが想定している用紙の向きを示し、値「０」は縦（ポートレート）での給紙を意味し、「１」は横（ランドスケープ）での給紙を意味する。
【０１５４】
そして、図７に示したステップＳ７１１では＜ｄｉｒｅｃｔｉｏｎ＞による縦横の指定が現在のページの縦横と一致している場合にのみ＜ｂａｎｄ＞で指定されるバンドの状態管理領域に値「１（中間データ生成完了）」をセットして、ステップＳ７０１に戻る。
【０１５５】
一方、＜ｄｉｒｅｃｔｉｏｎ＞による縦横の指定が現在のページの縦横と一致しない場合にはそのバンド終了命令は無効となる。
【０１５６】
なお、レンダリング処理については、第１実施形態において図８に示したフローチャートを参照して説明したしたものと同じであるため説明は省略する。
【０１５７】
次に、第２実施形態におけるホストコンピュータ２０１上のプログラムであるプリンタドライバＰＤの処理について説明する。なお、プリンタドライバＰＤは各バンドに対して最後に描画されるオブジェクトがどれであるかを管理する手段を有する。
【０１５８】
図１４は、本発明の第２実施形態を示すデータ処理装置におけるオブジェクトを管理する第２のメモリ領域を説明する図であり、図２に示したホストコンピュータ２０１上のプリンタドライバＰＤによるオブジェクトを管理するメモリ領域に対応し、図１１に示したメモリ領域との構成上の差異は、例えば最終描画オブジェクトを用紙の給紙方向に対応して管理するためのメモリ領域を確保する点である。
【０１５９】
図１４において、１２００は各バンドに描画される最終オブジェクトを管理するための情報を格納する領域であり、これを最終描画オブジェクト管理領域と呼ぶ。本実施形態においてはプリンタが縦用紙を選択した場合と横用紙を選択した場合の両方について各バンドの最終描画オブジェクトの管理を行う。１２０１，１２０２，１２０３，１２０４，１２０５，１２０６はそれぞれプリンタが縦用紙を選択した場合の第１、第２、第３、第４、第５、第６バンドに描画される最終オブジェクトを管理するための領域である。
【０１６０】
また、１２１１，１２１２，１２１３，１２１４はそれぞれプリンタが縦用紙を選択した場合の第１、第２、第３、第４バンドに描画される最終オブジェクトを管理するための領域である。
【０１６１】
本実施形態におけるプリンタドライバＰＤによる１ページ分の処理は、第１実施形態において図１２に示すフローチャートを参照して説明したものと同じであるが、ステップＳ１００７、ステップＳ１００８及びＳ１０１２の処理が異なる。
【０１６２】
ステップＳ１００７では描画オブジェクトの外接矩形を元にその描画オブジェクトがどのバンドに描画されるかを判断し、更にステップＳ１００８で最終描画オブジェクト管理領域１２００の対象となるバンドの最終オブジェクト番号に描画オブジェクト番号をセットするが、この処理は縦用紙用のバンドと横用紙用のバンドの両方に対して行なわれる。
【０１６３】
また、ステップＳ１０１２では対象バンドに対してバンド終了命令をプリンタに送信するが、対象バンドが縦用紙用のバンドか横用紙用のバンドかによってバンド終了命令の第２パラメータ＜ｄｉｒｅｃｔｉｏｎ＞を切り替える。対象バンドが縦用紙用のバンドである場合には、値「０」であり、横用紙用のバンドである場合には値「１」である。
【０１６４】
以上説明したように本実施形態においては、ホストコンピュータ２０１のプリンタドライバＰＤが各描画オブジェクトがどのバンドにかかるかを判定する際に、プリンタが縦用紙を選択する場合と、横用紙を選択する場合との両方について判定し、縦用紙と横用紙のそれぞれのバンドについて最終描画オブジェクトを管理してプリンタにバンド終了を通知するためプリンタが縦横どちらの用紙を選択しても第１実施形態と同様の効果が得られる。
【０１６５】
このことは、ホストコンピュータ側のプリンタドライバＰＤがプリンタの機種、給紙カセットにセットされている用紙の向き、フィニッシングなどのその他の条件を認識する必要が無いことを意味しており、汎用的なプリンタドライバＰＤを開発するのに好適である。
【０１６６】
以下、図１５に示すメモリマップを参照して本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
【０１６７】
図１５は、本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１６８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１６９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１７０】
本実施形態における図７、図８、図１２に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１７１】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１７２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７３】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１７４】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１７５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１７７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１７８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１８１】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【０１８２】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【０１８３】
上記実施形態では、印刷装置内に設けられるプリンタコントローラ１０１内におけるデータ処理を例として説明したが、プリンタコントローラの機能をサーバが代行するような印刷システムにも適用可能である。
【図面の簡単な説明】
【０１８４】
【図１】本発明を適用可能な印刷装置の構成を説明する断面図である。
【図２】図１に示したＬＢＰのプリンタコントローラの概略構成を示すブロック図である。
【図３】図２に示したプリンタコントローラによるバンド処理状態を説明する模式図である。
【図４】図２に示した中間バッファの構成を説明するための図である。
【図５】図４に示したページ先頭領域の構成を更に詳しく説明するための図である。
【図６】図２に示した中間バッファの状態の例を示す図である。
【図７】本発明に係る印刷制御装置における第１のデータ処理手順の一例を示すフローチャートである。
【図８】本発明に係る印刷制御装置における第２のデータ処理手順の一例を示すフローチャートである。
【図９】本発明に係る情報処理装置の概略構成を示すブロック図である。
【図１０】本発明に係る情報処理装置のモジュール構成を示す機能ブロック図である。
【図１１】図２に示したホストコンピュータ上のプリンタドライバによるオブジェクトを管理する第１のメモリ領域を説明する図である。
【図１２】本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。
【図１３】図２に示したプリンタ部で印刷処理されるページをバンド単位に分割して処理する状態を説明する模式図である。
【図１４】本発明の第２実施形態を示すデータ処理装置におけるオブジェクトを管理する第２のメモリ領域を説明する図である。
【図１５】本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１８５】
１０１  プリンタコントローラ
２０１  ホストコンピュータ
２０５  ＲＡＭ
２０８  ＣＰＵ
２０９  中間バッファ
２１１  レンダラ
２１７  ＲＯＭ
１５０１  アプリケーション
１５０２  グラフィックエンジン
１５０３  プリンタドライバ
１５０４  システムスプーラ
１５０５  ドライバスプーラ
【図１】
2005316950.tif 000003
【図２】
2005316950.tif 000004
【図３】
2005316950.tif 000005
【図４】
2005316950.tif 000006
【図５】
2005316950.tif 000007
【図６】
2005316950.tif 000008
【図７】
2005316950.tif 000009
【図８】
2005316950.tif 000010
【図９】
2005316950.tif 000011
【図１０】
2005316950.tif 000012
【図１１】
2005316950.tif 000013
【図１２】
2005316950.tif 000014
【図１３】
2005316950.tif 000015
【図１４】
2005316950.tif 000016
【図１５】
2005316950.tif 000017