(57)【要約】【課題】  特に印刷ジョブが連続するような状況やネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、印刷ジョブに描画処理負荷が高い描画命令を含むような場合であっても、最終ページが排紙完了となるまでのトータルでの処理時間を短縮し高速に印刷処理が行える画像処理システムを提供する。【解決手段】  画像処理装置の稼動状況に応じて、印刷データの形態を動的に変動させ、印刷データ生成手段が様々な出力形態の印刷データを生成することで、印刷データの処理負荷を画像処理装置と印刷データ生成手段とで分散させる。【選択図】  図１
2006155307.tif 000002
【特許請求の範囲】
【請求項１】
外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成手段とから構成される画像処理システムにおいて、
前記画像処理装置は、印刷データ生成手段からの問い合わせに対応して、処理ステータスを出力するステータス出力手段と、
前記印刷データを解析してページ画像を生成する解析手段とを備え、
前記印刷データ生成手段は、前記画像処理装置に対して処理ステータスを問い合わせ結果を受け取る応答手段と、
前記応答手段の受け取った結果に応じて出力する印刷データの抽象度を決定する抽象度決定手段とを備え、
前記印刷データ生成手段は前記抽象度決定手段の結果に応じて、出力形態の異なる前記印刷データを生成することを特徴とする画像処理システム。
【請求項２】
前記印刷データは、前記抽象度のレベルが高いほど、前記画像処理装置における処理割合が多い出力形態であることを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記処理ステータスは、前記画像処理装置が処理中である印刷ジョブの有無、あるいは未処理ジョブ数、あるいは未処理ページの総数であることを特徴とする請求項１に記載の画像処理システム。
【請求項４】
前記応答手段は、１つの印刷ジョブの開始前に少なくとも１回、画像処理装置に対して前記問い合わせを行うことを特徴とする請求項１に記載の画像処理システム。
【請求項５】
前記印刷データ生成手段は、オペレーティングシステム上で動作するプリンタドライバであることを特徴とする請求項１に記載の画像処理システム。
【請求項６】
前記印刷データ生成手段は、前記応答手段が前記画像処理装置から所定の時間内に応答が得られなかった場合に、決定する前記抽象度をユーザが指定可能であることを特徴とする請求項１に記載の画像処理システム。
【請求項７】
前記印刷データ生成手段は、最も抽象度の低い印刷データとして、ページ単位でラスタライズされたページ画像あるいは前記ページ画像を所定の圧縮形式によって圧縮したデータを生成して出力することを特徴とする請求項１に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置と前記画像処理装置に印刷データを出力する外部装置上で動作する印刷データ生成手段とから構成される画像処理システムに関するものであって、詳しくは、前記画像処理装置の稼動状況に応じて印刷データの形態を動的に変動させ、印刷データの処理負荷を前記画像処理装置と印刷データ生成手段とで最適に分散させ得る画像処理システムに関するものである。
【背景技術】
【０００２】
近年、コンピュータ関連技術の目覚しい発達や、インターネット、イントラネット等のネットワーク環境の普及に伴い、ビジネス・パーソナルを問わず文書の電子化がますます進んでおり、特にオフィスにおけるビジネス文書の電子化は急速に進んでいる。一方、このようなペーパレス化が進む中、ＤＴＰソフトやＣＡＤなどのグラフィック系ソフトに代表されるアプリケーションソフトも年々高機能化が進み、これらアプリケーションソフトからの印刷要求の内容もますます複雑になり、ページプリンタ等の画像処理装置に要求される処理能力もますます高くなる一方である。さらに、前記画像処理装置に対して高画質化・高品質化を望むユーザの声も年々高まっており、それに伴って印刷データは高解像度化、高階調化し、前記画像処理装置が処理すべき単位ページあるいは単位ジョブあたりのデータ量もますます多くなっている。
【０００３】
また、ネットワーク環境の普及に伴い、１台の画像処理装置を複数のホストコンピュータ、複数のユーザで共有する使用形態が一般的となっており、複数のホストコンピュータから同時に要求される印刷ジョブを効率的に出力する処理能力の向上が望まれている。
【０００４】
ここで、上記のように電子文書から印刷データを生成する環境としては、オペレーティングシステム（ＯＳ）と、前記ＯＳ上で動作して様様な描画指示を出力する各種アプリケーションソフト、同じく前記ＯＳ上で動作して前記描画指示を前記画像処理装置が解釈可能なＰＤＬ形式の印刷データに変換するプリンタドライバとから構成されているのが一般的であって、前記プリンタドライバと前記画像処理装置とで画像処理システムを成している。
【０００５】
なお、従来のページプリンタ等は、ページ記述言語（ＰＤＬ）形式として印刷データを受信し、前記ＰＤＬを予め定められた書式に従って解析し、ページ内容を表すビットマップ画像（ページ画像）を生成するように構成されている。このような従来のＰＤＬは、例えば、文字印字命令や、線描画命令などの各種図形描画命令、イメージ描画命令などの他、描画論理（ＡＮＤまたはＯＲなどのＲＯＰ指定）やクリッピング領域の指定、複数命令をグループ化して記憶し呼び出すマクロ命令や、各種の印字環境を設定するための命令群など、多種多用な命令から構成されている。
【０００６】
以上説明したように、ＰＤＬ形式の印刷データを処理する従来の画像処理システムでは、プリンタドライバは予め定められた書式に従ってアプリケーションソフトからの印刷要求をＰＤＬ形式の印刷データに変換していた。
【０００７】
又、別の従来例としては、特許文献１をあげることが出来る。
【特許文献１】特開平11-198489号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来例では、以下に説明するような問題点があった。
【０００９】
すなわち、従来の画像処理装置とプリンタドライバから構成される画像処理システムでは、前記プリンタドライバは予め静的に定められた書式に従ってアプリケーションソフトからの印刷要求を１対１にＰＤＬ形式の印刷データに変換していたため、変換後の印刷データが前記画像処理装置にとって処理負荷の高い描画命令群で構成されてしまう場合があった。このことは、例えば任意形状のクリッピング指定や、複雑なＲＯＰ指定、あるいはパス図形描画等の複雑かつ抽象度の高い描画命令をサポートした、高機能なＰＤＬにおいて顕著となっていた。
【００１０】
特に、複数の印刷ジョブを連続で出力するような場合や、ネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、処理負荷が高い印刷データを処理する際は、前記処理負荷が高い印刷データのために長い間、画像処理装置が占有されてしまい、連続印刷時の後続の印刷ジョブや、ネットワーク環境で出力された別ユーザの印刷ジョブは、処理完了が遅くなってしまうという問題があった。さらに、後続の印刷データも処理負荷の高い描画命令や大量の描画命令群から構成されている場合は、該印刷ジョブの完了はより遅くなってしまっていた。
【００１１】
本発明は、上記従来の問題点に鑑みたものであって、画像処理装置の稼動状況に応じて、プリンタドライバが様々な出力形式の印刷データを生成することで、特に印刷ジョブが連続するような状況において、トータルで高速に印刷処理が行える画像処理システムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
この課題を解決するために、本発明の画像処理システムは、外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成手段とから構成され、前記画像処理装置は、印刷データ生成手段からの問い合わせに対応して、処理ステータスを出力するステータス出力手段と、前記印刷データを解析してページ画像を生成する解析手段とを備え、前記印刷データ生成手段は、前記画像処理装置に対して処理ステータスを問い合わせ結果を受け取る応答手段と、前記応答手段の受け取った結果に応じて出力する印刷データの抽象度を決定する抽象度決定手段とを備え、前記印刷データ生成手段は前記抽象度決定手段の結果に応じて、出力形態の異なる前記印刷データを生成することを特徴とする。
【００１３】
ここで、前記印刷データは、前記抽象度のレベルが高いほど、前記画像処理装置における処理割合が多い出力形態であることを特徴とする。また、前記処理ステータスは、前記画像処理装置が処理中である印刷ジョブの有無、あるいは未処理ジョブ数、あるいは未処理ページの総数であることを特徴とする。さらに、前記応答手段は、１つの印刷ジョブの開始前に少なくとも１回、画像処理装置に対して前記問い合わせを行うことを特徴とする。
【００１４】
また、この課題を解決するために、本発明の画像処理システムにおける前記印刷データ生成手段は、オペレーティングシステム上で動作するプリンタドライバとして構成されており、前記応答手段が前記画像処理装置から所定の時間内に応答が得られなかった場合に、決定する前記抽象度をユーザが指定可能であることを特徴とする。また、前記印刷データ生成手段は、最も抽象度の低い印刷データとして、ページ単位でラスタライズされたページ画像あるいは前記ページ画像を所定の圧縮形式によって圧縮したデータを生成して出力することを特徴とする。
【００１５】
上記構成により、本発明によれば、画像処理装置の稼動状況に応じて、プリンタドライバが様々な出力形式の印刷データを生成し、特に印刷ジョブが連続するような状況において、トータルで高速に印刷処理が行える画像処理システムを提供可能となる。すなわち、画像処理装置が処理負荷の高い印刷データを解析している間に、前記印刷データ生成手段は、画像処理装置の解析負荷が軽く高速に処理可能な、抽象度の低い形式の印刷データを生成することで、画像処理装置と印刷データ生成手段とで動的に負荷分散を行うことができる。
【発明の効果】
【００１６】
本発明により、画像処理装置の稼動状況に応じて、印刷命令生成手段が様々な出力形態の印刷データを生成することで、特に印刷ジョブが連続するような状況やネットワークに接続された環境で複数のユーザが画像処理装置を共有する環境において、印刷ジョブに描画処理負荷が高い描画命令を含むような場合であっても、最終ページが排紙完了となるまでのトータルでの処理時間を短縮し高速に印刷処理が行える画像処理システムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下に添付の図面を参照して、本発明の実施の形態について説明する。
【００１８】
＜本実施の形態の画像処理装置の構成例＞
まず、図１、図２を参照しながら、本発明を適用するに好適な本実施の形態の画像処理システムの構成について説明する。
【００１９】
図１は、本実施の形態の画像処理システムの概略を示すブロック図であり、例えば、レーザビームプリンタの場合を示す。尚、本発明を適用可能な画像処理装置はレーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いし、モノクロ／カラープリンタといった機器構成の違いにも関係なく適用可能である。更に、本発明の機能が実行されるのであれば、プリンタに限定されるものでもなく、同様の画像処理を必要とする画像記録装置や画像表示装置、画像通信装置の制御においても適用可能である。
【００２０】
図１において、１０１はホストコンピュータ等の外部機器、１０２は本実施の形態のレーザビームプリンタ本体である。
【００２１】
レーザビームプリンタ１０２は、前記外部機器１０１上で動作するプリンタドライバによって生成されたページ記述言語（ＰＤＬ）形式の印刷データ（文字コードや図形データ、イメージデータ等）を受け取り、それらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。又、このレーザビームプリンタ１０２では、不図示のデータ記憶部に対して文字パターンの登録やフォームデータ、マクロデータなどの登録も行えるよう構成されており、ホストコンピュータ１０１から受信した印刷データと同様に、前記記憶部の印字データに応じてページ画像を生成する。
【００２２】
レーザビームプリンタ１０２において、１０３はプリンタ制御ユニット（コントローラ部）であって、レーザビームプリンタ１０２全体の制御、及びホストコンピュータ１０１から供給される印刷データ（文字情報など）を解析する。この制御ユニット１０３は、プリンタエンジン部１０５と接続され、前記印刷データに基づいたドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して順次ドットデータ（ビデオ信号）を送信する。
【００２３】
又、１０５はプリンタエンジン部であって、前記ドットデータ（ビデオ信号）に従って実際に感光ドラムに潜像を形成し、用紙に熱定着させることによって印字を行う。１０４は、操作のためのスイッチ及びＬＥＤ表示器などが配されている操作パネルであって、オペレータ（使用者）は、パネル部１０４を操作することによって、レーザビームプリンタ１０２に所定の動作の指定、あるいは印刷環境の設定等を行うことができる。
【００２４】
ここで、前記レーザビームプリンタ１０６とホストコンピュータ１０１とは、ＴＣＰ／ＩＰ等の所定のプロトコルによって通信可能なネットワークで接続されており、同ネットワークには複数台のホストコンピュータが接続されているのが一般的である。なお、接続形態としては、セントロニクスやＵＳＢ等の他のインターフェースによって１対１で接続されていても構わない。
【００２５】
図２は、本実施の形態のレーザビームプリンタ１０２の内部構造を示す断面図であり、主にプリンタエンジン部１０５の構成を示している。ここでは、図１と同じ構成に対しては同一番号を付け、説明を省略する。
【００２６】
同図において、レーザドライバ２０１は半導体レーザ２０２を駆動するための回路であり、制御ユニット１０３が出力する前記ビデオ信号に応じて、半導体レーザ２０２から発射されるレーザ光２０３をオン／オフ切り替えする。レーザ２０３は回転多面鏡２０４で左右方向に振られ、静電ドラム２０５上を走査する。これにより、静電ドラム２０５上には帯電されたトナーによる文字パターン等の静電潜像が形成される。この潜像は、静電ドラム２０５周囲の現像ユニット２０６により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はレーザビームプリンタ１０２に装着した用紙カセット２０７に収納されており、給紙ローラ２０８及び搬送ローラ２０９と２１０とにより装置内に取り込まれて、静電ドラム２０５に供給される。
【００２７】
図３は、本実施の形態の画像処理システムの基本構成部を説明するブロック図であり、図１の画像処理装置の制御ユニット１０３の内部構成と、プリンタドライバ３１２の主要構成とを示している。尚、本発明の機能が実行されるのであれば、単体の機器であっても、ＬＡＮ等のネットワークを介して配置された複数の機器で処理が行われるシステムであっても良い。
【００２８】
同図において、レーザビームプリンタの制御ユニット１０３は、所定のインターフェース３０８（１０６）を介して外部機器であるホストコンピュータ１０１と接続されており、ホストコンピュータ１０１上で動作するプリンタドライバが送出する印刷データに従って所定の印刷処理を実行するように構成されている。ここで、ホストコンピュータ１０１から受信した印刷データは、まず受信バッファ３０５ａに受信データとして一時的に蓄えられる。
【００２９】
３０１はプリンタＣＰＵであり、読み出し専用メモリであるＲＯＭ３０２内のプログラムＲＯＭ３０３に記憶された制御プログラムに基づいて、システムバス３０６に接続された各種デバイスとのアクセスや、ハードウェア回路によって構成されるＡＳＩＣ３０９を統括的に制御している。ここで、前記制御プログラムは、以下に示すプログラムから構成されている。すなわち、受信バッファ３０５ａに蓄えられた印刷データを解析し、少なくとも１ページ分の描画オブジェクト（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ＤＬ）を生成するＤＬ生成部３０３ｂ、続いて前記描画オブジェクトを元に１ページ分（あるいは複数のバンドに分割した１バンド分）のラスタイメージすなわちページ画像を生成するＤＬ描画部３０３ｂ、印刷部Ｉ／Ｆ３１０を介して印刷部（プリンタエンジン）１０５に対して、前記ページ画像を表すビットのＯＮ／ＯＦＦによるビデオ信号の出力や、紙なし検知などの各種用紙ハンドリング制御等を行うエンジン制御部３０３ｄ（ビデオ信号の出力を、以下"シップ"と記す）などから構成されている。
【００３０】
尚、ページをバンド状に分割したバンドラスタを複数（例えば２つ）用意して印刷を行うバンディング方式では、前記ページ画像の生成（レンダリング動作）とシップ動作とを紙搬送と同期して同時に行うよう構成されており、レンダリング済みの一方のバンドラスタをシップしながら、他方のバンドラスタに属する描画オブジェクトを描画する。ここで、本実施の形態では、前記バンディング方式で印刷を行うようにバンドメモリ３０５ｃを構成したが、１ページ分のページ画像を保持可能なページメモリとして３０５ｃを構成し、フルペイント方式で描画／シップ動作を行っても良い。更に、前記バンディング方式とフルペイント方式とをパネルからの指示等によって切り替え可能なように構成されていても構わないし、固定的にどちらか一方を採用しても構わない。加えて、レーザビームプリンタ１０２は図示しない電源部から電力の供給を受けている。
【００３１】
又、制御プログラム３０３は、上記構成以外に、以下の機能を実現するためのプログラムを含んでいる。すなわち、前記プリンタドライバ３１２からの問い合わせに応じて、該画像処理装置の稼動状況、すなわち処理中の印刷ジョブの有無や印刷終了予定時刻等を判定し、判定結果を前記プリンタドライバへ出力するジョブ状態判定部３０３ｃや、ハードディスク３１１ｅに対する各種データのＲ／Ｗアクセスを制御するＨＤ制御部３０３ｅ、操作パネル１０４からの入力に従って各種印刷環境を設定する印刷環境制御部（不図示）などから構成されている。
【００３２】
又、このＲＯＭ３０２は、文字出力に用いるドットフォントやアウトライン形式のスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている（フォントＲＯＭ３０４）。
【００３３】
３０５は、ＣＰＵ３０１の主メモリ、ワークメモリ等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。ＲＡＭ３０５は、前記ＤＬ生成部３０３ａが生成した描画オブジェクトを格納するＤＬ格納部３０５ａや、制御プログラム３０３によって各種描画処理において一時的に使用されるワークメモリ３０５ｄ、１ページを複数のバンド状に分割した領域のうち、２面分の領域に相当するバンドメモリ３０５ｃの他、前記フォントメモリ３０４内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするフォントキャッシュメモリ（不図示）等に用いられる。
【００３４】
３１１はハードディスクであって、フォントデータやＰＤＬ形式で記述されたオーバレイデータ等のリソースの登録や、該画像処理装置内で生成される各種印刷ログの他、保存ジョブや電子ソート（複数部数印刷）、機密印刷等の機能を実現するために一時的に印刷データを格納するために用いられる。なお、前記印刷データはハードディスク３１１に格納されると説明したが、フラッシュメモリ等の不揮発性メモリ（不図示）やＲＡＭ３０５、あるいは他の構成による記憶装置に格納しても構わない。
【００３５】
又、本発明を構成する装置がＲＯＭに格納されたプログラムとして供給されるよう説明したが、これに限らず、フレキシブルディスクやハードディスク等の媒体によって供給され、実行前にＲＡＭ等へロードされた後、実行されるよう構成されていても構わない。又、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ等のような記憶媒体から図示省略したドライブを解して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明はこれを含むものである。
【００３６】
続いて、３１２はホストコンピュータ上で動作するプリンタドライバであって、前記画像処理装置１０３が解釈可能なＰＤＬ形式の印刷データを生成する。ここで、前記プリンタドライバ３１２は、前記画像処理装置に対して稼動状況を問い合わせ、かつジョブ状態判定部３０３ｃの応答に応じて、印刷データの抽象度を決定する抽象度判定部３１２ａと、アプリケーションソフトからの印刷要求（描画命令）を対応するＰＤＬ形式の印刷データに変換して出力する印刷命令生成部３１２ｂとから構成されている。
【００３７】
＜本実施の形態の画像処理システムにおける印刷ジョブ動作例＞
（印刷データの構成例）
続いて図６を用いて、ホストコンピュータから本画像処理装置に対して出力される印刷データの形式例を説明する。
【００３８】
印刷ジョブの最初と最後はＪＬ(Job Language)という言語で構成されており、印刷ジョブ内で一律な各種環境（ジョブ環境）を指定する以下の命令群を含む。
【００３９】
・印刷ジョブの開始を示すジョブ開始命令（パラメータとしてジョブＩＤ＝ＪＯＢＩＤが指定される。）
・後続のＰＤＬデータ形式の印刷命令を処理すべき印字解像度を設定する印字解像度指定命令（本実施の形態では６００ｄｐｉ）
・印刷を用紙の片面に行うか両面に行うかを指定する印刷面指定命令（両面）
・排紙口選択命令（排紙口１＝フェースダウン）
・用紙を綴じるために余白位置を指定する綴じ幅設定命令（１０ｍｍ）
・印刷データを処理するためにＰＤＬ解析処理プログラムの起動を指示するＰＤＬ移行命令（ＬＩＰＳ（登録商標）を起動）
なお、本実施例では簡単のために省略したが、ＪＬには上記に示した印刷環境のほかに、操作パネル１０４から設定可能な各種印刷環境をリモートで設定可能な各種命令が含まれている。また、ＪＬによって設定される内容は、操作パネルにて設定される印刷環境を一時的に上書きし、当該ＪＬジョブ内でのみ有効となるよう構成されている。
【００４０】
ここまでがＪＬコマンド（以下、ジョブ環境設定命令と記す）であって、これからはＰＤＬで書かれる。
【００４１】
・ＰＤＬデータの開始を示すＰＤＬデータ開始命令
・各ページの用紙サイズを選択する用紙サイズ選択命令（Ａ４）
・描画命令で用いられる単位を指定するサイズ単位指定命令（１／６００インチ）
：
・フォント選択命令（明朝）
・文字セット選択命令（ＪＩＳ９０）
・文字サイズ選択命令（８３／６００インチ＝１０ポイント）
・印字位置指定命令（ｘ座標＝１１６、ｙ座標＝１２０）
・文字印字命令（文字コード列）
：
・図形描画命令
：
・排紙命令
：
・ＰＤＬデータの終了を意味するＰＤＬデータ終了命令、
・ＪＬによる、印刷ジョブの終了を定義するジョブ終了命令
（印刷ジョブ生成処理）
図４は、本実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、イメージ描画命令の場合について説明している。
【００４２】
同図において、（ａ）は抽象度が最も高い０の場合に生成される描画命令であって、４０１は１回のイメージ描画指示でアプリケーションから渡されるイメージデータ、４０２は前記イメージに対して矩形クリップを行っている様子を示している。すなわち、抽象度が０と決定された場合は、アプリケーションから描画指示された通りのイメージデータと、同じくアプリケーションから指示された矩形状のクリッピング命令とが印刷データとして生成される。
【００４３】
次に（ｂ）は、抽象度が１の場合に生成される描画命令であって、４０３は１回のイメージ描画指示でアプリケーションから渡されるイメージデータに対して、矩形クリップを行った後のイメージ様子を示している。すなわち、抽象度が１と決定された場合は、アプリケーションから描画指示された通りのイメージデータに対して、プリンタドライバ側でクリップ処理を行ない、その結果サイズが小さくなったイメージデータを印刷データとして生成する。
【００４４】
最後に（ｃ）は、抽象度が最も低い２の場合に生成される描画命令であって、４０４は矩形クリップを施した後のイメージに対して、更に画像処理装置がレンダリングを行う際の向きに回転したイメージデータの様子を示している。すなわち、抽象度が２と決定された場合は、アプリケーションから描画指示された通りのイメージデータに対して、プリンタドライバ側でクリップ処理と回転処理を行ない、その結果サイズが小さくなった回転済みのイメージデータを印刷データとして生成する。なお、イメージデータの回転角度は、例えば用紙サイズ＝Ａ４／ポートレートの印刷データを、Ａ３用紙が通紙可能（Ａ４用紙は横送りで通紙可能）なレーザビームプリンタに出力する場合、２７０°の回転であると判断する。
【００４５】
このように、印刷データの抽象度が高い程、画像処理装置が処理すべき手順は多くなり、印刷処理を終了するまでにより多くの時間を要する。
【００４６】
続いて、本実施の形態のプリンタドライバにおける印刷データの生成手順を、図５および図１２のフローチャートを用いて以下に説明する。図５は、前記画像処理装置から得られた稼動状況（ジョブ状態）の問い合わせ結果に応じて、印刷データの抽象度を決定する手順を示したフローチャート、図１２は前記抽象度に従って出力形式を変更して印刷データを生成する手順を示したフローチャートであって、イメージ描画命令の場合について説明している。
【００４７】
図５において、まずステップ５０１において、画像処理装置に対してジョブ状態の問い合わせを行う。ここで本実施例では、前記ステップは、ユーザがホストコンピュータのディスプレイ上に表示される印刷ダイアログ上の印刷ボタンをマウス等のポインティングデバイスで押したタイミングで行われるものとする。また、本実施例に示した画像処理装置は、前記問い合わせに対して処理中のジョブが存在するか否か、すなわちアイドル状態であるか否かを返すよう構成されているものとする。
【００４８】
続くステップ５０２以降において、抽象度判断部３１２ａは、前記問い合わせに対する応答結果に応じて印刷データの抽象度を決定する。すなわち、ステップ５０２において、処理中のジョブが存在しないことを示した応答結果であれば抽象度は最も高い０と決定し（ステップ５０３）、印刷命令生成部３１２ｂが抽象度０に応じた形式の印刷データを生成する（ステップ５０４）。一方、ステップ５０２において、処理中のジョブが存在することを示した応答結果が得られた場合は、更に未処理の残りページ数を画像処理装置に対して問い合わせ（ステップ５０５）、残りページ数に応じて抽象度を決定する。ここでは例えば、未処理残りページ数が１０ページ以上であれば、抽象度は最も低い２と決定し、１０ページ未満であれば抽象度は１と決定し（ステップ５０６）、印刷命令生成部３１２ｂが抽象度１あるいは２に応じた形式の印刷データを生成する（ステップ５０４）。
【００４９】
なお、本実施例におけるプリンタドライバは、アプリケーションからの印刷指示をＯＳが提供するＲＡＭ上に、中間形式で一時的に保持するよう構成されており、該印刷ジョブに含まれる総ページ数が把握できるようになっている。また、印刷命令生成部３１２ｂは、各印刷ジョブに含まれる前記総ページ数を該印刷データの属性として印刷データのＪＬ部にて付加するよう構成されており、印刷データを受信した画像処理装置は前記総ページ数から出力済みページ数を差し引くことで、処理中の印刷ジョブ及び処理待ち印刷ジョブの残りページ数が把握できるようになっている。
【００５０】
続いて、図１２のステップ１２０１において、アプリケーションから個々の描画指示を受け取り、続くステップにて前記描画指示の内容と前記抽象度に応じた形態の印刷データを生成する。ステップ１２０２において、前記描画指示がイメージ描画命令であるかを調べ、そうでなければその他の描画命令として扱い（ステップ１２１２）、ＰＤＬとして必要なパラメータを算出した後（ステップ１２０５）、ＰＤＬ形式の各種描画命令を出力する（ステップ１２０６）。
【００５１】
一方、ステップ１２０２において前記描画指示がイメージ描画命令であると判断された場合は、続くステップ１２０３において抽象度が１以上であるか否かを判断する。ここで抽象度が０であると判断された場合、すなわち画像処理装置はアイドル状態であると判断された場合は、アプリケーションから渡されたイメージデータを所定の形式で圧縮した後（ステップ１２０４）、他の描画命令と同様、イメージの幅や高さ、イメージ形式等のパラメータを算出し（ステップ１２０５）、ＰＤＬ形式のイメージ描画命令を出力する。
【００５２】
また、ステップ１２０３において抽象度が１以上であると判断された場合、すなわち画像処理装置はアイドル状態でないと判断された場合は、続くステップ１２０７にて抽象度が１より大であるか否かを調べる。ここで抽象度が１以下（すなわち１）であると判断された場合は、クリッピング指定がなされている場合は（ステップ１２０８の判定結果がＹｅｓの場合）、ステップ１２０９においてイメージデータに対してクリッピング処理を行ない、その後抽象度が０の場合と同様に圧縮処理を行った上で（ステップ１２０４）、イメージの幅や高さ、イメージ形式等のパラメータを算出し（ステップ１２０５）、ＰＤＬ形式のイメージ描画命令を出力する（ステップ１２０６）。なお、クリッピング処理が成されたことによって、印刷データにおけるイメージデータはアプリケーションから渡されたイメージデータから不要な個所が除かれており、前記パラメータにおける幅や高さも相応する値になっている。
【００５３】
また、ステップ１２０７において抽象度が１より大（すなわち２）であると判断された場合、すなわち画像処理装置に１０ページ以上の未処理ページが存在すると判断された場合は、続くステップ１２０１０にて回転処理が必要か否かを調べ、回転が必要であると判断された場合は、回転処理を行った上で（ステップ１２１１）、抽象度が１の場合と同様、クリッピング指定がなされている場合はイメージデータに対してクリッピング処理を行ない、圧縮処理およびイメージの幅や高さ、イメージ形式等のパラメータの算出を行ない、ＰＤＬ形式のイメージ描画命令を出力する。なお、回転処理が成されたことによって、ＰＤＬデータの前記パラメータにおける幅や高さも相応する値になっている。
【００５４】
以上に説明した通り、画像処理装置の稼動状況に応じて、プリンタドライバは抽象度を変化させた印刷データを生成し、稼動状況が混雑している場合（すなわち待ち時間が多い場合）は、より抽象度の低い形式になるまで処理を進め、画像処理装置の描画処理負荷を軽減する。
【００５５】
一方、画像処理装置が印刷データを受信した際は、制御プログラム３０３は、まずホストコンピュータ１０１から所定のインターフェース３０８を介して送られてきた印刷データを受信バッファ３０５ａへ記憶する。続いて、受信バッファ３０５ａ内に未処理の印刷データが存在するか否かを調べ、存在しない場合は処理を終了する一方、未処理の印刷データが存在する場合はＰＤＬ形式の印刷データの解析を行う。ここで、前記印刷データが排紙命令（フォームフィードコード）か否かを調べ、そうでなければ他の印刷命令として解析を続け、所定の手順に従って対応する描画オブジェクト（ＤＬ）を生成する。例えば、前記印刷データが文字印字命令であれば、フォントキャッシュ格納部内に同一の文字パターンが作成済みであるか否かを検索し、文字パターンが作成済み、すなわち検索にヒットした場合は、該文字パターンを描画するために必要な描画情報を作成する。一方、同一文字パターンがフォントキャッシュ内に見つからなければ、フォントスケーラがカレントフォントの指定された文字コードに対応した文字パターンを生成するために呼び出され、文字パターンとして描画オブジェクトを生成する。尚、本実施の形態では、文字パターンを表す描画オブジェクトはビットマップパターンであるとするが、これに限らず、規定のパターンサイズ以下の文字は規定の圧縮形式で圧縮するなどの処理を施しても良い。続いて、検索時にヒットした場合と同様に描画情報を作成し、１命令の解析を終了する。
【００５６】
一方、印刷データが排紙命令であった場合は、プリンタエンジンに対して起動通知を行うとともに、生成済みの１ページ分の描画オブジェクトをレンダリングしてバンドメモリにページ画像を順次描画する。
【００５７】
前記１ページ分のレンダリングおよびシップ処理が終了した後、残りページがなくなるまで上述した処理を繰り返す。
【００５８】
尚、本実施の形態では簡単のため、１ページ分のレンダリングを行った後、続く印刷データの解析を行うように構成したが、レーザビームプリンタ等の画像処理装置では、マルチタスク処理によってレンダリングと印刷データの解析を同時に行えるように構成されているのが普通である。
【００５９】
以上説明した処理手順によって、様様な抽象度の描画命令を解析して印刷データに対応したページ画像を出力する。
【００６０】
（描画オブジェクト及び描画情報の構成例）
本実施の形態における画像処理装置が生成する描画オブジェクト及び描画情報の構成について、図８、図９、図１０、図１１を参照しながら説明する。図８は、本実施の形態における１ページ分のＤＬ格納部３０５ａのメモリマップを示す図、図９は描画オブジェクト、図１０は描画情報の構成例の概略を示す図であって、図１１はこれらの描画オブジェクトをレンダリングした結果得られるページ画像の様子を示した図である。
【００６１】
まず図８において、８０１は各ページ毎の種々の描画情報を格納するページ情報ヘッダ部であって、該ページの印字解像度、用紙サイズ、カラーモード、バンド数、該ページに属する描画オブジェクトの総容量（メモリ使用量）、ページ状態（描画済み／シップ中等）、電源投入時からシーケンシャルにカウントされ該ページを識別するためのページ番号など、ページ毎に管理すべき情報から構成されている。尚、前記印字解像度等は、各ページの処理を開始する時点のカレントグラフィック状態から決められ、前記バンド数は、各バンドの高さを固定とし、用紙サイズと印字解像度から求められる。８０２はバンドテーブルであって、前記バンド数だけ領域が用意され、描画情報群８０１がリンクされている（図９参照）。以下説明する通り、各描画情報は、個々の描画オブジェクトを各バンド内のどの位置に、どのように印字するかを示している。
【００６２】
前記描画情報のことを、図中では”appl”（略語）と呼ぶことにする。尚、本実施の形態では、個々の描画情報９０１、描画オブジェクト９０２はそれぞれ、ＤＬ記憶部３０５ｂ内の描画情報群８０３と描画オブジェクト群８０４とに分けて保持されるとしたが、混在して保持されるように構成されていても構わない。
【００６３】
図１０は、１つの描画情報の構成を示す概略図であり、描画オブジェクトを描画するための情報として以下の情報を含むよう構成されている。すなわち、バンド内の印字位置（バンド左上端からのビットオフセット値）１００１、描画オブジェクトの描画高さ１００２、バンドラスタとの描画論理（ＡＮＤ／ＯＲ等）１００３、描画オブジェクトの背景を示すバックグラウンド情報（ＢＧ情報）１００４、対応する描画オブジェクトの先頭アドレス１００５、描画オブジェクトがバント途中から描画される場合に該描画オブジェクトをどれだけ読み飛ばすべきかを示したオフセット（ライン数）１００６、次の描画情報の先頭アドレス（リンク最後はＮＵＬＬとする）１００７等を含む。ここで、前記ＢＧ情報は、グレイレベルから構成されているものとし、描画時には該グレイレベルに相当するディザパターンが各描画オブジェクトの背景として貼り付けられる。
【００６４】
ここで、描画オブジェクトが複数のバンドにまたがって描画される場合は、該描画オブジェクトは複数の描画情報を持っている。また、フォントオブジェクトによって同一の文字を印字する場合は、一つのフォントオブジェクトに対して複数の描画情報が対応する。つまり描画回数だけ描画情報が割り当てられるのである。図９の例では、appl１とappl３によって、文字"Ａ"がバンド０とバンド１にまたがって描画され、更にappl５によってバンドｎ内に描画される様子を示している。
【００６５】
尚、前述した描画情報内の各情報は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があれば良いし、各描画情報間や描画オブジェクトとのリンクはＲＡＭ内のアドレスに限らず、ＩＤによるリンクとしても良い（この場合は、予め用意したＩＤテーブルを介してアドレスに変換する）。
【００６６】
上記の構成によって、各描画オブジェクトをバンド毎に描画してバンド画像を生成するためには、上記バンドテーブルからリンクされている各描画情報を順次読み出し、各描画情報内に記憶された印字位置情報に応じて描画オブジェクトを描画すれば良い。この処理を次の描画情報アドレスがＮＵＬＬとなるところまで繰り返すことで、１バンド分のレンダリング処理が終了する。
【００６７】
上記に説明したように、描画オブジェクトを描画情報に従って描画を行うと、図１１に示したような内容のページが紙上に描画されることになる。ここで１１０１は用紙そのものを、１１０２は有効印字領域、すなわちページ画像に相当する領域を示している。尚、本実施例ではバンド数は６であってｎは５となる。
【００６８】
＜第２の実施形態の画像処理システムの印刷ジョブ生成例＞
第１の実施例では、画像処理装置の稼動状況に応じて決定した抽象度によって、イメージ描画に関する印刷データの形態を変更したが、他の描画命令に関しても本発明は適応可能であって、本実施例では、多角形描画命令（パスフィル描画命令）の場合について図７の概念図および図１３のフローチャートを用いて以下に説明する。なお、本実施例では、多角形内部を所定のパターンやグレイレベルで塗りつぶす場合に限定して説明する。
【００６９】
図７において、まず（ａ）は、抽象度が最も高い０の場合に生成される多角形描画命令の様子を示しており、アプリケーションソフトから、多角形の輪郭を示す５つの座標点列（（ｘ１、ｙ１）、（ｘ２、ｙ２）、…、（ｘ５、ｙ５））と、該多角形を塗りつぶす命令が入力される。すなわち、抽象度が０と決定された場合は、アプリケーションから描画指示された座標点列がそのまま印刷データとして生成される。ここで、前記座標点列は、アプリケーションが管理する論理座標上での数値であって、必ずホストコンピュータの画面上で左右方向にｘ軸、上下方向にｙ軸が設定されている。なお、前記説明では簡単のため、渡された座標点列をそのまま印刷データとして生成すると説明したが、実際には、画像処理装置のＰＤＬ仕様に適合するよう、印字解像度に適した単位への変換や座標軸の上下反転等を行うことがある。
【００７０】
次に（ｂ）は、抽象度が１の場合に生成される多角形描画命令であって、前記アプリケーションから渡された座標点列で示される輪郭線に接するような矩形リスト（スキャンライン）で描画されている様子を示している。すなわち、抽象度が１と決定された場合は、アプリケーションから指示された輪郭座標点列を、プリンタドライバ側で画像処理装置の用紙の向きに応じて回転し、更にスキャンライン変換処理を行ない、各スキャンラインの左右エッジリスト形式の印刷データが生成する。具体的には、同図に示したように、開始Ｙ座標値、高さＨ（スキャンラインの数）の後に、矩形の左右座標値（ｘｌ１、ｘｒ１、ｘｌ２、ｘｒ２、…、ｘｌｎ、ｘｒｎ）が高さ分だけリストとして記述されている（ｎ＝Ｈ）。なお、本実施例では左右エッジの座標値そのままの数値で矩形リストを構成したが、２ライン目以降の矩形に対しては、１ラインだけ上のエッジの座標値からの差分で表現しても構わない。また、前記スキャンライン変換後の個々の矩形の高さは、画像処理装置の解像度に応じた値となる。すなわち、印字解像度が６００ｄｐｉであれば、１ドットは１／６００インチとなる。なお、スキャンラインの回転角度は、例えば用紙サイズ＝Ａ４／ランドスケープの印刷データを、Ａ３用紙が通紙可能（Ａ４用紙は横送りで通紙可能）なレーザビームプリンタに出力する場合、０°の回転であると判断する。
【００７１】
最後に（ｃ）は、抽象度が最も低い２の場合に生成される描画命令であって、前記スキャンラインによる多角形をレンダリングした結果のバンド画像である様子を示している。すなわち、抽象度が２と決定された場合は、アプリケーションから描画指示された座標点列に対して、プリンタドライバ側で回転処理とスキャンライン変換、レンダリング処理を行ない、その結果得られたバンド画像をイメージ描画命令として出力する。
【００７２】
図１３は、前記抽象度に従って出力形式を変更して印刷データを生成する手順を示したフローチャートであって、多角形描画命令の場合について説明している。
【００７３】
まず同図のステップ１３０１において、アプリケーションから個々の描画指示を受け取り、続くステップにて前記描画指示の内容と前記抽象度に応じた形態の印刷データを生成する。ステップ１３０２において、前記描画指示が多角形描画（パスフィル描画）命令であるかを調べ、そうでなければその他の描画命令として扱い（ステップ１３１４）、ＰＤＬとして必要なパラメータを算出した後（ステップ１３０５）、ＰＤＬ形式の各種描画命令を出力する（ステップ１３０６）。
【００７４】
一方、ステップ１３０２において前記描画指示がパスフィル描画命令であると判断された場合は、続くステップ１３０３において抽象度が１以上であるか否かを判断する。ここで抽象度が０であると判断された場合、すなわち画像処理装置はアイドル状態であると判断された場合は、アプリケーションから渡された座標点列データを所定の単位に変換した後（ステップ１３０４）、他の描画命令と同様、座標点列の個数等のパラメータを算出し（ステップ１３０５）、ＰＤＬ形式の多角形描画命令を出力する（ステップ１３０６）。
【００７５】
また、ステップ１３０３において抽象度が１以上であると判断された場合、すなわち画像処理装置はアイドル状態でないと判断された場合は、続くステップ１３０７にて回転処理が必要か否かを調べ、回転が必要であると判断された場合は、前記座標点列に対して回転処理（１次変換処理）を行う（ステップ１３０８）。その後、ステップ１３０９において、座標点列を元にスキャンライン変換した後、クリッピング指定がなされている場合は（ステップ１３１０の判定結果がＹｅｓの場合）、ステップ１３１１において前記スキャンラインに対してクリッピング処理を行う。なお、前記クリッピング処理は、各スキャンラインの全ｙ座標における左右エッジのｘ座標を、クリップ領域のエッジ座標との大小関係に従って変更するだけであるため、イメージデータに対するクリッピング処理ほどの大きな処理負荷はかからない。
【００７６】
続くステップ１３１２において、前記抽象度が１と等しいか否かを調べる。ここで抽象度が１であると判断された場合は、抽象度が０の場合と同様に開始ｙ座標やスキャンラインの高さ等のパラメータを算出し（ステップ１３０５）、前記スキャンラインをデータとして備えるＰＤＬ形式の多角形描画命令を出力する（ステップ１３０６）。
【００７７】
一方、ステップ１３１２において抽象度が１でない（すなわち２）であると判断された場合、すなわち画像処理装置に１０ページ以上の未処理ページが存在すると判断された場合は、前記スキャンラインを参照してバンドイメージにレンダリングを行ない、イメージ描画命令として印刷データを生成する。
【００７８】
以上に説明した通り、画像処理装置の稼動状況に応じて、プリンタドライバは抽象度を変化させた印刷データを生成し、稼動状況が混雑している場合（すなわち待ち時間が多い場合）は、より抽象度の低い形式になるまで処理を進め、画像処理装置の描画処理負荷を軽減し、トータルでの処理性能を向上させる。
【００７９】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図５、図１２、図１３に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８２】
【図１】本発明を適用可能なレーザビームプリンタとプリンタドライバが動作するホストコンピュータの概略構成を説明するブロック図である。
【図２】本実施の形態に示すレーザビームプリンタの内部構造を示す断面図である。
【図３】本実施の形態に示す画像処理装置の制御ユニット（コントローラ部）の基本構成と、プリンタドライバの基本構成を説明するブロック図である。
【図４】本実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、３つの抽象度に応じたイメージ描画命令の場合について説明した図である。
【図５】本実施の形態のプリンタドライバにおける印刷データの生成手順を示したフローチャートであって、ジョブ状態に応じて印刷データの抽象度を決定する手順を示した図である。
【図６】ホストコンピュータ上のプリンタドライバから本画像処理装置に対して出力される印刷データの形式例を説明した図である。
【図７】第２の実施例におけるプリンタドライバが生成する、抽象度の異なる印刷データを概念的に示した図であって、３つの抽象度に応じた多角形描画命令の場合について説明した図である。
【図８】１ページ分のＤＬ格納部３０５ａの内容を示すメモリマップを示す図である。
【図９】描画情報／描画オブジェクト間のリンク構成の概略を示すブロック図である。
【図１０】描画情報の構成を示す図である。
【図１１】描画オブジェクトを描画情報に従ってレンダリングした結果得られる、１ページ分のページ画像の一例を示した図である。
【図１２】本実施例におけるプリンタドライバが、抽象度に従って異なる出力形式の印刷データを生成する手順を示したフローチャートであって、イメージ描画命令の場合について説明した図である。
【図１３】第２の実施例におけるプリンタドライバが、抽象度に従って異なる出力形式の印刷データを生成する手順を示したフローチャートであって、多角形描画命令の場合について説明した図である。
【符号の説明】
【００８３】
１０１  ホストコンピュータ
１０２  画像処理装置
１０３  コントローラ部
１０５  プリンタエンジン部
３０１  ＣＰＵ
３０３  プログラムＲＯＭ
３０３ａ  ＤＬ生成部
３０３ｃ  ジョブ状態判定部
３０５  ＲＡＭ
３０５ｂ  ＤＬ格納部
３１２  プリンタドライバ
３１２ａ  抽象度判断部
３１２ｂ  印刷命令生成部
８０３  描画情報部
８０４  描画オブジェクト（ＤＬ）群
９０１  描画情報（ａｐｐｌ）
９０２  描画オブジェクト（ＤＬ）
１１０２  ページ画像
【図１】
2006155307.tif 000003
【図２】
2006155307.tif 000004
【図３】
2006155307.tif 000005
【図４】
2006155307.tif 000006
【図５】
2006155307.tif 000007
【図６】
2006155307.tif 000008
【図７】
2006155307.tif 000009
【図８】
2006155307.tif 000010
【図９】
2006155307.tif 000011
【図１０】
2006155307.tif 000012
【図１１】
2006155307.tif 000013
【図１２】
2006155307.tif 000014
【図１３】
2006155307.tif 000015