(57)【要約】【課題】描画命令に基づく中間データの生成処理と、中間データに基づくページ画像の生成処理との間の適切な負荷分散を行う情報処理装置を提供する。【解決手段】情報処理装置が、入力される描画命令に基づいてジョブデータを生成してジョブキュー１２に格納するジョブ生成処理部１１と、ジョブキュー１２に格納されたジョブデータに基づいて、印刷対象のページ画像を生成するＨ／Ｗレンダラ２３を有するジョブ描画部２とを備える。上記ジョブ生成処理部１１が、ジョブキュー１２の負荷状態とジョブ描画部２の負荷状態とに基づいて、ジョブデータについての第１、第２の抽象度のうち、１つの抽象度を選択し、選択した抽象度に対応するジョブデータを生成する。【選択図】図１
2011095845.tif 000002
【特許請求の範囲】
【請求項１】
入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納する中間データ生成手段と、
前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成する画像生成手段とを備え、
前記中間データ生成手段は、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第１、第２の抽象度のうち、１つの抽象度を選択し、選択した抽象度に対応する中間データを生成する
ことを特徴とする情報処理装置。
【請求項２】
前記中間データ生成手段は、前記記憶手段の負荷状態がフル状態でなく、かつ、前記画像生成手段の負荷状態がビジー状態である場合に、前記生成する中間データに対応する抽象度として前記第１、第２の抽象度のうち抽象度の低い方の抽象度を選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記中間データ生成手段は、前記記憶手段の負荷状態がフル状態でなく、かつ、前記画像生成手段の負荷状態がビジー状態でない場合に、前記生成する中間データに対応する抽象度として前記第１、第２の抽象度のうち抽象度の高い方の抽象度を選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記中間データ生成手段は、更に、前記中間データ生成手段による前記中間データの生成処理を制御する制御装置の負荷状態を取得し、該取得された制御装置の負荷状態に基づいて、前記中間データに対応する抽象度を選択する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記中間データ生成手段は、更に、前記情報処理装置の動作モードが印刷処理を優先するモードであるかを判断し、該判断結果に基づいて、前記中間データに対応する抽象度を選択する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記中間データ生成手段は、更に、前記取得された制御装置の負荷状態に基づいて、前記記憶手段に格納されている中間データの抽象度を変更する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
情報処理装置が備える中間データ生成手段が、入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納し、
情報処理装置が備える画像生成手段が、前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成し、
前記中間データ生成手段が、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第１、第２の抽象度のうち、１つの抽象度を選択し、選択した抽象度に対応する中間データを生成する
ことを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
多機能化されたレーザービームプリンタやインクジェットプリンタが提案されている。例えば、各種のＰＤＬ（Page Description Language ）をサポートするプリンタが増えている。これらのプリンタは、ホストコンピュータやインターネットなどからＰＤＦ（Portable Document Format：米国Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社の登録商標）などのＰＤＬデータを受け取る。ＰＤＬデータを受け取ったプリンタは、ＰＤＬインタープリタプログラムによりＰＤＬデータを解釈し、描画命令（文字、グラフィックス、及び画像）に分解する。そして、プリンタは、分解によって生成した描画命令をレンダリングシステムに入力する。レンダリングシステムは、各描画命令を解釈し、文字、グラフィックス及び画像の描画処理を実行し、画像データを生成する。プリンタは、生成された画像データを印刷に適した形式に変換（ＲＧＢからＣＭＹＫへの変換、ハーフトーン処理等）した後、画像データをプリンタエンジンに送り、印刷処理を実行させる。
【０００３】
図１１は、レンダリングシステムの構成例を示す図である。レンダリングシステム２００に、文字、グラフィックス、及び画像などの描画命令が入力されると、レンダリングシステム２００が備えるジョブ生成部２０１が、この描画命令を解釈し、ジョブデータという中間データを生成する。ジョブ生成部２０１は、ジョブ描画部２０２の状態にかかわらず、所定の抽象度を持つジョブデータを生成する。ジョブ生成部２０１は、生成したジョブデータを１ページ分ずつバッファリングする。ジョブ生成部２０１は、１ページ分のジョブデータの生成が完了すると、このジョブデータをジョブ描画部２０２に渡す。ジョブ描画部２０２は、ジョブ生成部２０１から渡されたジョブデータを解析して、ページ画像に展開する。ページ画像は１ページ分の画像データである。
【０００４】
なお、下記の特許文献１は、画像処理装置の処理ステータスに応じて、プリンタに出力する印刷データの出力形態を変化させる画像処理システムを開示している。また、下記の特許文献２は、印刷データ生成処理時に、データ処理負担を監視して、印刷装置に転送すべき印刷データの加工種別を切り換え制御するデータ処理装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１５５３０７号公報
【特許文献２】特開平１０−２９３６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１２は、図１１に示すレンダリングシステムが実行するジョブ描画処理に掛かる時間（描画時間）を示す図である。図中の９０１乃至９０５は、ジョブ生成部２０１が生成するジョブデータを示す。また、図中の９０６乃至９０９は、各々のジョブデータについてのジョブ描画処理に掛かる時間を示す。図１１に示すレンダリングシステム２００は、ジョブ描画部２０２の状態にかかわらず、所定の抽象度を持つジョブデータを生成するので、ジョブ描画処理に時間が掛かっていても、生成するジョブデータの抽象度を切替えない。その結果、ジョブ描画処理がボトルネックとなって、トータルの描画時間が長くなってしまう。
【０００７】
ここで、抽象度の異なる２種類のジョブデータ形式を持ち、いずれの抽象度に対応するジョブデータも描画できるレンダリングシステムが提案されている。このレンダリングシステムでは、抽象の高いジョブデータ形式の場合には、ジョブ生成部の負荷が軽くなるので高速にジョブ生成処理を実行できる一方で、ジョブ描画部の処理（ジョブ描画処理）が遅くなるという問題がある。また、抽象度の低いジョブデータ形式の場合には、描画命令は実際に生成されるピクセルに近い形式まで噛み砕かれているので、ジョブ描画処理は高速に処理できる一方、ジョブ生成部の負荷が高くなり、ジョブ生成処理が遅くなる。
【０００８】
レンダリングシステムが、上記２種類のジョブデータ形式のいずれかを持つジョブデータを生成する際に、入力された描画命令の複雑さのみに基づいて、ジョブデータの抽象度を切替えることが考えられる。例えば、描画命令が複雑であって、ジョブ描画処理が極端に遅くなることが予測される場合には、レンダリングシステムは、抽象度の低いジョブデータを生成してジョブ描画処理を高速に実行できるようにする。一方、描画命令が複雑でない場合には、レンダリングシステムは、抽象度の高いジョブデータを生成してジョブ生成処理を高速化する。
【０００９】
しかし、描画命令の複雑さのみに基づいてジョブデータの抽象度を切替えるレンダリングシステムでは、ジョブ描画部の負荷が軽い状態（ジョブ描画処理に余裕がある状態）においても、ジョブ生成部が抽象度の低いジョブデータを生成する場合がある。このような場合には、ジョブデータの生成がジョブ描画処理に間に合わなくなる。また、上記のレンダリングシステムでは、ジョブ描画部がビジー（Ｂｕｓｙ）状態であるにも関わらずジョブ生成部が抽象度の高いジョブデータを生成してしまう場合がある。このような場合には、ジョブ描画部の負荷が高くなってしまい、ジョブ描画処理に時間が掛かってしまうという問題がある。従って、上記のレンダリングシステムでは、ジョブ生成処理とジョブ描画処理との間の適切な負荷分散を行うことができず、その結果、効率的な印刷処理を実行できない。
【００１０】
本発明は、描画命令に基づく中間データの生成処理と、中間データに基づくページ画像の生成処理との間の適切な負荷分散を行う情報処理装置の提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態の情報処理装置は、入力される描画命令に基づいて中間データを生成して所定の記憶手段に格納する中間データ生成手段と、前記記憶手段に格納された中間データに基づいて、印刷対象のページ画像を生成する画像生成手段とを備える。前記中間データ生成手段は、前記記憶手段の負荷状態と前記画像生成手段の負荷状態とに基づいて、前記中間データについての第１、第２の抽象度のうち、１つの抽象度を選択し、選択した抽象度に対応する中間データを生成する。
【発明の効果】
【００１２】
本発明の情報処理装置によれば、描画命令に基づく中間データの生成処理と、中間データに基づくページ画像の生成処理との間の適切な負荷分散を行うことができる。その結果、印刷データについての描画のスループットを向上させることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の情報処理装置の構成を示す図である。
【図２】ジョブデータに対応する第１、第２の抽象度を説明する図である。
【図３】ジョブ生成処理フローを示す図である。
【図４】ジョブキュー管理処理フローを示す図である。
【図５】ジョブデータの受信処理フローを示す図である。
【図６】ジョブ描画処理フローを示す図である。
【図７】第１の実施形態の情報処理装置の適用の効果を説明する図である。
【図８】第２の実施の形態の情報処理装置の構成を示す図である。
【図９】ジョブ生成処理フローを示す図である。
【図１０】ジョブキュー管理処理フローを示す図である。
【図１１】レンダリングシステムの構成例を示す図である。
【図１２】レンダリングシステムが実行するジョブ描画処理に掛かる時間を示す図である。
【発明を実施するための形態】
【００１４】
図１は、本発明の第１の実施形態の情報処理装置の構成を示す図である。図１に示す情報処理装置は、例えば印刷制御装置であって、入力された描画命令を処理して印刷対象のページ画像を生成する。入力される描画命令は、例えば、ＰＤＬデータ等の、ページに配置されるオブジェクトを含む印刷データに対応する描画命令である。情報処理装置は、描画命令に基づいて、中間データであるジョブデータをページ単位に生成するジョブ生成部１と、ジョブデータに基づいて、ページ画像を生成するジョブ描画部２とを備える。図１中のＪｏｂＮが、ジョブ生成部１により生成されたジョブデータを示す。ジョブ生成部１は、生成したジョブデータを所定の記憶手段であるジョブキュー１２にキューイング（登録）する。ジョブ生成部１とジョブ描画部２とは、互いに独立したハードウェア上で動作する。
【００１５】
ジョブ生成部１は、ジョブ生成処理部１１、ジョブキュー１２、ステータス管理部１３を備える。ジョブ生成処理部１１、ステータス管理部１３は、情報処理装置全体を制御する制御装置であるＣＰＵ（Central Processing Unit ）の指示に従って、それぞれの処理を実行する。ジョブ生成処理部１１は、中間データ生成手段として機能する。例えば、ジョブ生成処理部１１は、ジョブ生成部１に入力された描画命令を受け取る。また、ジョブ生成処理部１１は、ステータス管理部１３からステータス管理情報を受け取る。ステータス管理情報は、ジョブキュー１２の負荷状態を示す情報とジョブ描画部２の負荷状態を示す情報とを含む。ジョブ生成処理部１１は、ステータス管理情報に含まれるジョブキュー１２の負荷状態を示す情報とジョブ描画部２の負荷状態を示す情報とに基づいて、ジョブデータについての第１、第２の抽象度のうち、１つの抽象度を選択する。そして、描画命令に基づいて、上記選択した抽象度に対応するジョブデータを生成する（ジョブ生成処理を実行する）。ジョブ生成処理部１１は、生成したジョブデータをジョブキュー１２に格納する。なお、ジョブ生成処理部１１が、ステータス管理情報に基づいて、２種類以上の任意の種類の抽象度のうち、１つの抽象度を選択するようにしてもよい。
【００１６】
ジョブキュー１２は、ジョブ生成処理部１１が生成したページ単位のジョブデータをＦｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ（先入れ先出し方式）で管理する。図１中のＪｏｂ３乃至５が、ジョブキュー１２に登録されているジョブデータを示す。ジョブ生成部１は、ジョブキューに登録したジョブデータを、ジョブ描画部２がレディ（Ｒｅａｄｙ）状態になる度に、先に登録されたものから順にジョブ描画部２に送信する。ステータス管理部１３は、ジョブキュー１２の（負荷）状態とジョブ描画部２の（負荷）状態を監視して、上述したステータス管理情報を取得する。ステータス管理部１３は、取得したステータス管理情報をジョブ生成処理部１１に渡す。ここでジョブキューの状態は、下記の３種類からなる。「Ｆｕｌｌ」は、ジョブキューが満杯でこれ以上ジョブを受け付けられない状態（フル状態）である。「Ｅｍｐｔｙ」は、ジョブキューにジョブが一つも登録されていない状態である。「その他」は、上記のいずれでもない状態である。また、ジョブ描画部２の状態は、ジョブデータの受信処理（後述）において、ジョブバッファ２１の状態とＨ／Ｗレンダラ２３の状態に基づいて決定され、以下の２つの状態を持つ。「Ｂｕｓｙ」は、ジョブバッファ２１がＦｕｌｌかつＨ／Ｗレンダラ２３が動作中であり、ジョブの受け入れは不可の状態（ビジー状態）である。「Ｒｅａｄｙ」は、ジョブバッファ２１に余裕があり、ジョブを受け入れ可能な状態である。ジョブ描画部２のジョブバッファ２１の状態も下記の３種類からなる。「Ｆｕｌｌ」は、ジョブバッファ２１が満杯で、これ以上ジョブを受け付けられない状態である。「Ｅｍｐｔｙ」は、ジョブバッファ２１にジョブが一つも登録されていない状態である。「その他」は、上記のいずれでもない状態である。また、Ｈ／Ｗレンダラ２３の状態は、下記のいずれかである。「Ｂｕｓｙ」は、描画中の状態である。「Ｒｅａｄｙ」は、描画を行っていない状態である。
【００１７】
ジョブ描画部２は、ジョブバッファ２１、ページバッファ２２、Ｈ／Ｗレンダラ２３を備え、画像生成手段として機能する。ジョブバッファ２１は、ジョブ生成部１から送信されたジョブデータを１個保存する。図１中では、Ｊｏｂ２がジョブバッファ２１に保存されている。Ｈ／Ｗレンダラ２３は、ジョブバッファ２１に保存されたジョブデータ、すなわちジョブキュー１２に格納された中間データに基づいて、印刷対象のページ画像を生成する。具体的には、Ｈ／Ｗレンダラ２３は、ジョブバッファ２１に保存されたジョブデータをジョブバッファ２１から取り出す。そして、Ｈ／Ｗレンダラ２３は、取り出したジョブデータについて描画処理を実行して、ページ画像を生成する（ジョブ描画処理を実行する）。Ｈ／Ｗレンダラ２３は、生成したページ画像をページバッファ２２に格納する。ページバッファ２２には、ページ画像（図１中ではＰａｇｅ１）が格納される。ジョブ描画部２は、ページバッファに格納されたページ画像をプリンタエンジンに出力する。本実施形態の情報処理装置の制御方法及びそのコンピュータプログラムは、図１に示す情報処理装置が備える各処理部の機能によって実現される。
【００１８】
図２は、ジョブ生成処理部が生成するジョブデータに対応する第１、第２の抽象度を説明する図である。本実施形態において、第１の抽象度は、第２の抽象度よりも、抽象度が高いものとする。図２（Ａ）は、第１の抽象度に対応するジョブデータ形式の例を示す。図２（Ａ）中の３０１は、ジョブ生成部１に入力される描画命令を示す。描画命令３０１に従うと、グレーの台形３０１１、グラデーションの円３０１２、白の三角形３０１３の順で３つの図形が描画され、かつ、最上位の三角形３０１３が透過となる。この描画命令３０１に従って生成されるジョブデータは、描画図形を直線の線分に分割したセグメント情報、各々の図形の上下関係及び透過・論理演算を表すレベル情報（３０２乃至３０４）、及び、各図形の塗りを表す塗り情報（３０５乃至３０７）を含む。
【００１９】
第１の抽象度に対応するジョブデータ形式では、ジョブ描画部２が、セグメント情報から各線分上のピクセル位置を計算するエッジ・トラッキング処理を行う。また、ジョブ描画部２は、図形間の上下関係及び論理演算の処理を行うレベル処理を行う。その結果、ジョブ生成部１の負荷は小さくなって、ジョブ生成処理が高速化される一方で、ジョブ描画部２の負荷が大きくなってジョブ描画処理が遅くなる。
【００２０】
図２（Ｂ）は、第２の抽象度に対応するジョブデータ形式の例を示す。図２（Ｂ）中の４０１は、ジョブ生成部１に入力される描画命令を示す。描画命令４０１に従うと、グラデーションの矩形４０１１の上に透過のグレーの矩形４０１２が描画される。描画命令４０１に従って生成されるジョブデータは、描画開始位置を表すエッジ情報４０２、各エッジにおける塗り及び塗り間の論理演算を表す論理演算情報４０３、及び塗り情報４０４を含む。エッジ情報４０２は、ピクセル単位での描画開始位置を表すデータである。図中の４０２１は、背景のエッジ、４０２２はグレーの矩形のエッジ、４０２３はグレーの矩形４０１２とグラデーション矩形４０１１の透過・重なり部分のエッジ、４０２４は、グラデーションの矩形の残り部分のエッジをそれぞれ表す。各エッジは、論理演算情報４０３を参照する。論理演算情報４０３は、塗り情報４０４を用いた論理演算（上書き、論理和など）の情報を含む。図中の４０３１乃至４０３４が各々の論理演算の情報を示す。例えば、４０２１のエッジは背景のみの論理演算情報４０３１を参照し、該論理演算情報は背景の塗り情報（白）４０４１を参照する。一方、エッジ４０２３は、グレー、グラデーション、及び背景の３つの要素を用いた論理演算の情報４０３３を参照する。そして、この論理演算の情報４０３３は、塗り情報４０４に含まれる、白４０４１、グレー４０４２、及びグラデーション４０４３を参照する。
【００２１】
第２の抽象度に対応するジョブデータ形式では、ジョブ生成部１が、エッジ・トラッキング処理及びレベル処理を実行する。従って、ジョブ生成部１の負荷が大きくなって、ジョブ生成処理が遅くなる一方で、ジョブ描画部２の負荷が小さくなって、ジョブ描画処理が高速化される。
【００２２】
図３は、第１の実施の形態におけるジョブ生成処理フローを示す図である。まず、ジョブ生成処理部１１が起動し、ジョブ生成処理部１１が、１ページ分の描画命令を取得する（ステップＳ１）。次に、ジョブ生成処理部１１が、ステータス管理部１３を呼び出して、ステータス管理部１３からステータス管理情報を取得する（ステップＳ２）。続いて、ジョブ生成処理部１１が、ステータス管理情報に含まれるジョブキュー１２の負荷状態を示す情報に基づいて、ジョブキュー１２がＦｕｌｌであるかを判断する（ステップＳ３）。ジョブ生成処理部１１が、ジョブキュー１２がＦｕｌｌであると判断した場合は、ジョブ生成処理部１１が、第２の抽象度を選択し、描画命令に基づいて第２の抽象度に対応する第２の中間データ形式のジョブデータを生成する（ステップＳ４）。そして、ジョブ生成処理部１１は、生成したジョブデータをジョブキュー１２の終端に登録する（ステップＳ５）。続いて、ジョブ生成処理部１１が、全ページのジョブ生成処理が終了したかを判断する（ステップＳ６）。ジョブ生成処理部１１が、全ページのジョブ生成処理が終了したと判断した場合は、処理を終了する。ジョブ生成処理部１１が、ジョブ生成処理が終了していないページがあると判断した場合は、上記ステップＳ１に戻る。
【００２３】
上記ステップＳ３において、ジョブ生成処理部１１が、ジョブキュー１２がＦｕｌｌでない、すなわち、空きがあると判断した場合は、ジョブ生成処理部１１は、以下の処理を行う。ジョブ生成処理部１１は、ステータス管理情報に基づいて、ジョブ描画部２の状態がＢｕｓｙであるかを判断する（ステップＳ７）。ジョブ生成処理部１１が、ジョブ描画部２の状態がＢｕｓｙであると判断した場合は、上記ステップＳ４に進む。ジョブ生成処理部１１が、ジョブ描画部２の状態がＢｕｓｙでないと判断した場合は、ジョブ生成処理部１１は、以下の処理を行う。すなわち、ジョブ生成処理部１１は、第１の抽象度を選択し、描画命令に基づいて第１の抽象度に対応する第１の中間データ形式のジョブデータを生成し（ステップＳ８）、上記ステップＳ５に進む。
【００２４】
すなわち、ジョブ生成処理部１１は、ジョブキュー１２の状態がＦｕｌｌでなく（ステップＳ３でＮｏ）、かつ、ジョブ描画部２の状態がＢｕｓｙである場合に（ステップＳ７でＹｅｓ）、以下の処理を行う。ジョブ生成処理部１１は、生成するジョブデータに対応する抽象度として、第１、第２の抽象度のうち抽象度の低い方の抽象度である第２の抽象度を選択する（ステップＳ４）。その結果、ページ画像の生成処理の負荷が軽くなる。また、ジョブ生成処理部１１は、ジョブキュー１２の状態がＦｕｌｌでなく（ステップＳ３でＮｏ）、かつ、ジョブ描画部２の状態がＢｕｓｙでない場合に（ステップＳ７でＮｏ）、以下の処理を行う。ジョブ生成処理部１１は、生成するジョブデータに対応する抽象度として、第１、第２の抽象度のうち抽象度の高い方の抽象度である第１の抽象度を選択する（ステップＳ８）。その結果、ジョブデータの生成処理の負荷が軽くなる。従って、図３を参照して説明した第１の実施形態におけるジョブ生成処理によれば、描画命令に基づくジョブデータの生成処理と、ジョブデータに基づくページ画像の生成処理との間の適切な負荷分散を行うことが可能となる。
【００２５】
図４は、第１の実施の形態におけるジョブキュー管理処理フローを示す図である。ジョブキュー管理処理は、図３を参照して説明したジョブ生成処理とは独立したスレッドとして実行され、ジョブキューの負荷状態を監視する処理である。ジョブキュー管理処理は、ジョブ生成処理部１１によって実行される。まず、ジョブ生成処理部１１が、ジョブキュー１２がＥｍｐｔｙ（空）かを判断する（ステップＳ１）。ジョブ生成処理部１１が、ジョブキュー１２が空である、すなわち、ジョブキュー１２の中にジョブデータが存在していないと判断した場合は、ステップＳ１１に戻る。ジョブ生成処理部１１が、ジョブキュー１２が空でない、すなわち、ジョブキュー１２の中にジョブデータが存在していると判断した場合は、ジョブ生成処理部１１は、ジョブ終了かを判断する（ステップＳ１２）。ステップＳ１２においては、ジョブ生成処理部１１は、ジョブ生成処理部１１に入力されるジョブが印刷の終了を示す終了ジョブであるかを判断し、ジョブが終了ジョブである場合には、ジョブ終了と判断する。
【００２６】
ジョブ生成処理部１１が、ジョブ終了であると判断した場合には、ジョブ生成処理部１１は、ジョブキュー管理処理を終了する。ジョブ生成処理部１１が、ジョブ終了でないと判断した場合には、ジョブ生成処理部１１は、ジョブ描画部２がＢｕｓｙであるかを判断する（ステップＳ１３）。ジョブ生成処理部１１が、ジョブ描画部２がＢｕｓｙであると判断した場合は、上記ステップＳ１３に戻る。ジョブ生成処理部１１が、ジョブ描画部２がＢｕｓｙでないと判断した場合は、ジョブ生成処理部１１は、ジョブキュー１２に登録されているジョブデータのうち、先頭のジョブデータを取り出してジョブ描画部２に出力する（ステップＳ１４）。そして、ジョブ生成処理部１１が、上記ステップＳ１４において出力したジョブデータをジョブキュー１２から削除する（ステップＳ１５）。
【００２７】
図５は、第１の実施の形態におけるジョブデータの受信処理フローを示す図である。ジョブ描画部２は以下のようにしてジョブデータの受信処理を実行する。まず、ジョブ描画部２は、ジョブバッファ２１がＦｕｌｌであるかを判断する（ステップＳ２１）。ジョブ描画部２は、ジョブバッファ２１がＦｕｌｌでないと判断した場合は、ジョブ描画部２の状態をＲｅａｄｙに設定する（ステップＳ２２）。続いて、ジョブ描画部２は、ジョブ生成部１から受信したジョブデータをジョブバッファ２１に格納して（ステップＳ２３）、ステップＳ２１に戻る。上記ステップＳ２１において、ジョブ描画部２が、ジョブバッファ２１がＦｕｌｌであると判断した場合は、ジョブ描画部２は、Ｈ／Ｗレンダラ２３が描画中であるか判断する（ステップＳ２４）。ジョブ描画部２が、Ｈ／Ｗレンダラ２３が描画中であると判断した場合、ジョブ描画部２は、ジョブ描画部２の状態をＢｕｓｙに設定する（ステップＳ２５）。ジョブ描画部２が、Ｈ／Ｗレンダラが描画中でないと判断した場合、ジョブ描画部２は、ジョブ描画部２の状態をＲｅａｄｙに設定し（ステップＳ２６）、ステップＳ２１に戻る。図５に示す処理フローを通じて設定されたジョブ描画部２の状態は、ステータス管理部１３が取得するステータス管理情報に反映される。
【００２８】
図６は、第１の実施の形態におけるジョブ描画処理フローを示す図である。ジョブ描画処理は、図５を参照して説明したジョブデータの受信処理とは独立して実行される。まず、ジョブ描画部２が、ジョブバッファ２１にジョブデータが存在するかを判断する（ステップＳ３１）。ジョブ描画部２が、ジョブバッファ２１にジョブデータが存在しないと判断した場合は、上記ステップＳ３１に戻る。ジョブ描画部２が、ジョブバッファ２１にジョブデータが存在すると判断した場合は、ジョブ描画部２が、ジョブバッファ２１内のジョブデータをＨ／Ｗレンダラ２３に渡す（ステップＳ３２）。続いて、ジョブ描画部２が、Ｈ／Ｗレンダラ２３によるジョブデータの描画処理、すなわちページ画像の生成処理が完了したかを判断する（ステップＳ３３）。ジョブ描画部２が、ジョブデータの描画処理が完了していないと判断した場合は、上記ステップＳ３３に戻る。ジョブ描画部２が、ジョブデータの描画処理が完了したと判断した場合は、ジョブ描画部２が、生成されたページ画像をページバッファ２２に格納する（ステップＳ３４）。そして、ジョブ描画部２が、ページバッファ２２に格納したページ画像をジョブバッファ２１から削除して（ステップＳ３５）、上記ステップＳ３１に戻る。
【００２９】
図７は、第１の実施形態の情報処理装置の適用の効果を説明する図である。図中の１００１乃至１００５は、ジョブ生成処理部１１が生成するジョブデータを示す。また、図中の１００６乃至１００９は、各々のジョブデータについてのジョブ描画処理に掛かる時間を示す。第１の実施形態の情報処理装置が備えるジョブ生成部１は、例えば、Ｊｏｂ３Ｂ、Ｊｏｂ４Ｂの生成時に、ステータス管理情報に基づいて、ジョブ描画部２がＢｕｓｙであると判断する。従ってジョブ生成部１は、Ｊｏｂ３Ｂ、Ｊｏｂ４Ｂを、抽象度の低い第２の抽象度で生成する。その結果、ジョブ描画部２によるＪｏｂ３Ｂ、Ｊｏｂ４Ｂについてのジョブ描画処理が高速化され、トータルでの描画処理時間が短くなる。
【００３０】
図８は、第２の実施の形態の情報処理装置の構成を示す図である。図８に示す情報処理装置が備える処理部のうち、図１に示す情報処理装置が備える処理部と同一の符号のものは、図１に示す情報処理装置が備える処理部と同様である。図８に示す情報処理装置は、ジョブ生成部３とジョブ描画部２とを備える。ジョブ生成部３は、ジョブキュー１２、ステータス管理部１３、ジョブ生成処理部１４、ＣＰＵ負荷管理部１５を備える。
【００３１】
ジョブ生成処理部１４は、ジョブ生成部１に入力された描画命令を受け取る。また、ジョブ生成処理部１４は、ステータス管理部１３から、前述したステータス管理情報を受け取る。また、ジョブ生成処理部１４は、ＣＰＵ負荷管理部１５からＣＰＵの負荷状態を示す情報を受け取る。ＣＰＵの負荷状態を示す情報は、例えば、ＣＰＵ負荷率である。ジョブ生成処理部１４は、ステータス管理情報とＣＰＵの負荷状態を示す情報とに基づいて、ジョブデータについての第１、第２の抽象度のうち、１つの抽象度を選択する。そして、ジョブ生成処理部１４は、描画命令に基づいて、上記選択した抽象度に対応するジョブデータを生成する。ジョブ生成処理部１４が、更に、情報処理装置の動作モードが印刷処理を優先するモードであるかを判断し、該判断結果に基づいて、ジョブデータについての抽象度を選択するようにしてもよい。なお、情報処理装置の動作モードは、例えば、情報処理装置のユーザの操作入力に従って情報処理装置が予め設定する。ＣＰＵ負荷管理部１５は、ＣＰＵの負荷状態を示す情報を取得し、取得した情報をジョブ生成処理部１４に渡す。ＣＰＵ負荷管理部１５は、例えば、情報処理装置上で動作するＯＳ（Operating System）からＣＰＵ負荷率を取得する。
【００３２】
図９は、第２の実施の形態におけるジョブ生成処理フローを示す図である。図９に示すステップＳ４５乃至Ｓ５１は、図３に示すステップＳ３乃至Ｓ８と同様であるので、ステップＳ４５乃至Ｓ５１についての説明は省略する。まず、ジョブ生成処理部１１が、１ページ分の描画命令を取得する（ステップＳ４１）。次に、ジョブ生成処理部１１が、ＣＰＵ負荷管理部１５を呼び出して、ＣＰＵ負荷管理部１５からＣＰＵ負荷率を取得する（ステップＳ４２）。続いて、ジョブ生成処理部１１が、情報処理装置が印刷処理を優先する動作モードであるかを判断する（ステップＳ４３）。ジョブ生成処理部１１が、情報処理装置が印刷処理を優先する動作モードであると判断した場合は、ステップＳ４５に進む。ジョブ生成処理部１１が、情報処理装置が印刷処理を優先する動作モードでない、すなわち、印刷処理以外の処理を行うアプリケーションの実行を優先する動作モードであると判断した場合は、ジョブ生成処理部１１は、以下の処理を実行する。すなわち、ジョブ生成処理部１１は、ＣＰＵが高負荷か、すなわち、ＣＰＵ負荷率が所定の閾値を超えるかを判断する（ステップＳ４４）。ジョブ生成処理部１１が、ＣＰＵ負荷率が所定の閾値を超えると判断した場合は、ステップＳ５１に進む。ジョブ生成処理部１１が、ＣＰＵ負荷率が所定の閾値を超えないと判断した場合は、ステップＳ４５に進む。
【００３３】
なお、第２の実施形態のジョブキュー管理処理、ジョブデータの受信処理、ジョブ描画処理は、それぞれ、図４、図５、図６を参照して説明した処理と同様である。第２の実施形態の情報処理装置によれば、印刷処理以外の処理を行うアプリケーションの動作を優先する動作モードの場合に、ジョブ生成処理の負荷を軽減し、より多くのＣＰＵ時間を印刷処理以外の処理を行うアプリケーションに割り当てることが可能になる。一方、印刷処理を優先する動作モードの場合には、第１の実施形態の情報処理装置と同様に、描画命令に基づくジョブデータの生成処理と、ジョブデータに基づくページ画像の生成処理との間の適切な負荷分散を行うことが可能となる。
【００３４】
次に、本発明の第３の実施形態について説明する。第３の実施形態の情報処理装置は、図８に示す第２の実施形態の情報処理装置と同様の構成を備える。そして、第３の実施形態の情報処理装置においては、ジョブ生成処理部１４が、更に、ＣＰＵ負荷管理部１５から取得したＣＰＵ負荷率に基づいて、ジョブキュー１２に格納されているジョブデータの抽象度を変更する処理を行う。
【００３５】
図１０は、第３の実施の形態におけるジョブキュー管理処理フローを示す図である。図１０中に示すステップＳ６１乃至Ｓ６５は、図４中に示すステップＳ１１乃至Ｓ１５と同様であるので、ステップＳ６１乃至Ｓ６５についての説明は省略する。図１０のステップＳ６３において、ジョブ生成処理部１１が、ジョブ描画部２がＢｕｓｙであると判断した場合は、ステップＳ６６に進む。続いて、ジョブ生成処理部１１が、ＣＰＵが低負荷か、すなわち、ＣＰＵ負荷率が所定の閾値以下であるかを判断する（ステップＳ６６）。ジョブ生成処理部１１が、ＣＰＵ負荷率が所定の閾値以下でないと判断した場合は、ステップＳ６３に戻る。ジョブ生成処理部１１が、ＣＰＵ負荷率が所定の閾値以下であると判断した場合は、ステップＳ６７に進む。
【００３６】
次に、ジョブ生成処理部１１が、ジョブキュー１２中の終端に登録されているジョブデータが第１の抽象度に対応するかを判断する（ステップＳ６７）。ジョブ生成処理部１１が、ジョブキュー１２中の終端に登録されているジョブデータが第１の抽象度に対応しないと判断した場合は、ステップＳ７０に進む。ジョブ生成処理部１１が、ジョブキュー１２中の終端に登録されているジョブデータが第１の抽象度に対応すると判断した場合は、ジョブ生成処理部１１は、このジョブデータを第２の抽象度に対応するジョブデータに変換する（ステップＳ６８）。そして、ジョブ生成処理部１１が、変換後のジョブデータをジョブキュー１２に戻す（ステップＳ６９）。
【００３７】
続いて、ジョブ生成処理部１１が、ジョブキュー１２内の次のジョブデータを検索する（ステップＳ７０）。そして、ジョブ生成処理部１１が、ジョブキュー１２内にジョブデータが残っているかを判断する（ステップＳ７１）。ジョブ生成処理部１１が、ジョブキュー１２内にジョブデータが残っていないと判断した場合は、ステップＳ６３に戻る。ジョブ生成処理部１１が、ジョブキュー１２内にジョブデータが残っていると判断した場合は、ステップＳ６７に戻る。
【００３８】
なお、第３の実施形態のジョブ生成処理は、図９を参照して説明した処理と同様である。また、第３の実施形態のジョブデータの受信処理、ジョブ描画処理は、それぞれ、図５、図６を参照して説明した処理と同様である。第３の実施形態によれば、一旦ジョブデータを生成した後であっても、その後ジョブ生成処理の負荷が軽くなった時点（ＣＰＵが低負荷になった時点）で、ジョブキュー１２中のジョブデータを抽象度の低い第２の抽象度に対応するジョブデータに変換できる。その結果、ジョブ描画処理の負荷を低減することが可能になる。
【００３９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００４０】
１  ジョブ生成部
２  ジョブ描画部
１１  ジョブ生成処理部
１２  ジョブキュー
１３  ステータス管理部
２１  ジョブバッファ
２２  ページバッファ
２３  Ｈ／Ｗレンダラ
【図１】
2011095845.tif 000003
【図２】
2011095845.tif 000004
【図３】
2011095845.tif 000005
【図４】
2011095845.tif 000006
【図５】
2011095845.tif 000007
【図６】
2011095845.tif 000008
【図７】
2011095845.tif 000009
【図８】
2011095845.tif 000010
【図９】
2011095845.tif 000011
【図１０】
2011095845.tif 000012
【図１１】
2011095845.tif 000013
【図１２】
2011095845.tif 000014