(57)【要約】【課題】  フォールバックが発生すると処理時間が長くなり、また画質の劣化を招くため、カラーの電子ドキュメントを高精細に印刷したいという要望に応えられなくなる。【解決手段】  ジョブ制御部２００４が、ＰＤＬ解析部２００５ａ，２００５ｂへリソースを割り当てて、複数のＰＤＬ解析部によるＰＤＬデータの解析処理を並行して実行しているとき、いずれかのＰＤＬ解析部でリソース不足が発生すると（１１２１）、その並行処理中のＰＤＬ解析部による処理を中止させ（１１２２）、その処理の中止に応じて、当該中止した処理に対応するリソースを解放し、その解放したリソースを残りのＰＤＬ解析部に割り当てて、その残りのＰＤＬ解析部による処理を継続させる（１１２４ａ）。【選択図】  図８
2008143067.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の描画手段と、
前記複数の描画手段へのリソースの割り当て及び前記複数の描画手段による並行処理を制御する制御手段と、
前記並行処理中にいずれかの描画手段においてリソース不足が発生すると、前記並行処理中の前記複数の描画手段の内の第１描画手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第１描画手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の描画手段に割り当てて当該他の描画手段による処理を継続させることを特徴とする印刷制御装置。
【請求項２】
前記第１描画手段は、前記複数の描画手段の内、最後に処理を開始した描画手段であることを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記第１描画手段は、前記ページ記述言語データの解析処理速度が最も遅い描画手段であることを特徴とする請求項１に記載の印刷制御装置。
【請求項４】
前記第１描画手段は、使用するリソースの量が最も多い描画手段であることを特徴とする請求項１に記載の印刷制御装置。
【請求項５】
ページ記述言語データからイメージデータへの展開処理をマルチタスクで実行する印刷制御装置の制御方法であって、
ページ記述言語データを入力する入力工程と、
それぞれが、前記入力工程により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析処理タスクへのリソースの割り当て及び前記複数の解析処理タスクによる並行処理を制御する制御工程と、
前記並行処理中にいずれかの解析処理タスクにおいてリソース不足が発生すると、前記並行処理中の前記複数の解析処理タスクの内の第１解析処理タスクによる処理を中止させる中止工程とを有し、
前記制御工程は、前記第１解析処理タスクによる処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の解析処理タスクに割り当てて当該他の解析処理タスクによる処理を継続させることを特徴とする印刷制御装置の制御方法。
【請求項６】
前記第１解析処理タスクは、前記複数の解析工程の内、最後に処理を開始した解析処理タスクであることを特徴とする請求項５に記載の印刷制御装置の制御方法。
【請求項７】
前記第１解析処理タスクは、前記ページ記述言語データの解析処理速度が最も遅い解析処理タスクであることを特徴とする請求項５に記載の印刷制御装置の制御方法。
【請求項８】
前記第１解析処理タスクは、使用するリソースの量が最も多い解析処理タスクであることを特徴とする請求項５に記載の印刷制御装置の制御方法。
【請求項９】
ページ記述言語データからイメージデータへの展開処理をマルチタスクで実行するデバイスドライバであって、
ページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の描画手段と、
前記複数の描画手段へのリソースの割り当て及び前記複数の描画手段による並行処理を制御する制御手段と、
前記並行処理中にいずれかの描画手段においてリソース不足が発生すると、前記並行処理中の前記複数の描画手段の内の第１描画手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第１描画手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の描画手段に割り当てて当該他の描画手段による処理を継続させることを特徴とするデバイスドライバ。
【請求項１０】
前記第１描画手段は、前記複数の描画手段の内、最後に処理を開始した描画手段であることを特徴とする請求項９に記載のデバイスドライバ。
【請求項１１】
前記第１描画手段は、前記ページ記述言語データの解析処理速度が最も遅い描画手段であることを特徴とする請求項９に記載のデバイスドライバ。
【請求項１２】
前記第１描画手段は、使用するリソースの量が最も多い描画手段であることを特徴とする請求項９に記載のデバイスドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語の解析処理及びレンダリング処理を実行する印刷制御装置及びその制御方法とデバイスドライバに関するものである。
【背景技術】
【０００２】
近年、電子ドキュメントを印刷する印刷システムが一般化されており、カラープリンタを使用したカラー画像の印刷に対する要求も増大してきている。この印刷システムでは、プリンタは、ホストコンピュータやプリントサーバから送信されてきたページ記述言語（ＰＤＬ）を解析してラスタイメージを作成し、そのラスタイメージに基づいて印刷を行っている。このような印刷の過程では、ＰＤＬデータを解析して中間言語であるディスプレイリスト（ＤＬ）を作成し、このＤＬからラスタイメージに変換する（レンダリング）のが一般的である。
【０００３】
近年のホストコンピュータにおける機能の高度化に伴ってカラー電子ドキュメントが増加し、高精細のカラー画像データやグラフィックデータを扱えるようになってきた。更に、多くのホストコンピュータとカラープリンタとがネットワークで接続され、カラープリンタに対して、より多くの印刷物を高速、且つ高精細に印刷することが求められるようになってきた。このような高精細なドキュメントを高速に印刷するという要求に応えるためには、ホストコンピュータから送られてくるＰＤＬデータをより高速に解析する必要がある。この高速に処理する方法の一つとして、プリンタが有するＰＤＬ処理に係る中央演算処理装置（ＣＰＵ）の多重化がある。例えば、カラープリンタが複数のＣＰＵを有し、各ＣＰＵに処理を分散させることにより、より高速なＰＤＬ処理を実現したものがある。また一つのシリコンダイ上に複数のＣＰＵコアを搭載したＣＰＵも近年一般的になりつつあり、このような高速ＣＰＵを搭載したカラープリンタも実現されている。
【０００４】
一方、このような形態のＣＰＵの機能を十分に活かすためのソフトウェア技術も必要になる。複数のＣＰＵコアが存在しても、各ＣＰＵコアに与えられる処理が並行して実行される用にデータを供給しないと、充分にそのハードウェア能力を生かすことができない。このようなマルチコアや複数のＣＰＵを備えるＣＰＵ形態を生かすソフトウェア技術にマルチタスクがある。このマルチタスクは、複数の処理を並行して、或は擬似的に並行して動作させる方法である。この方法を採ることにより、複数のＣＰＵコアにより並行処理させることが可能となり、そのハードウェア能力を充分に生かすことが可能となる。このような背景から今日では特に、ホストコンピュータが複数のＣＰＵコアを有するハードウェアを有し、このハードウェアでマルチタスク化されたソフトウェアが動作するといった形態が一般的になりつつある。
【０００５】
［フォールバックに係る説明］
従来、ページ記述言語（ＰＤＬ）を処理するプリンタやプリンタコントローラは、ＰＤＬで表現されるデータ（ＰＤＬデータ又は画像記述データ）を解析した上で中間言語であるディスプレイリスト（ＤＬ）を作成する。そして、このＤＬからラスタイメージを生成（レンダリング）するのが一般的である。この一連の処理の中で、レンダリング部分は非常に処理の負荷が大きいたあめ、レンダリング専用のハードウェア（ＲＩＰ）を実装するのが一般的である。しかし、ハードウェアの実装だけでは、予め限定されたメモリ空間にしかアクセスできないため、レンダリングする領域（通常は、１ページ）のＤＬを、全てこの限定されたメモリ空間に収めなければならないという制約がある。
【０００６】
従来は、このような制約を回避するために、フォールバックと呼ばれる処理が行われてきた。ここではフォールバック処理を説明するためにまず、フォールバック処理が行われない場合の処理の流れを説明し、次いでフォールバックが行われた場合の処理の流れを説明する。
【０００７】
図１０は、一般的なジョブ制御部、ＰＤＬ解析部、ＲＩＰによる処理の流れを説明する図である。ここではジョブ制御部は、所定量のＰＤＬデータを受信するとＰＤＬ解析部にそれを渡し、ＰＤＬデータの解析開始を指示する。この指示に応じてＰＤＬ解析部はＰＤＬデータの解析処理を開始し、そのＰＤＬデータの解析処理が終了するとＰＤＬ解析終了で応答する。この解析処理中、ＰＤＬ解析部で中間データを記憶するメモリ容量の不足が発生すると、そのメモリ不足をジョブ制御部に通知する。これによりジョブ制御部からＰＤＬ解析部にＰＤＬ解析中止が指示される。そして、そのメモリ不足が解消すると、ジョブ制御部からＰＤＬ解析部にＰＤＬ解析再開が指示される。こうしてＰＤＬデータの解析が終了すると、ＲＩＰに対してレンダリング処理の開始（ＲＩＰ開始）を指示する。これによりＲＩＰはレンダリング処理を開始し、そのレンダリング処理が終了するとジョブ制御部に対してレンダリング処理の終了（ＲＩＰ終了）が通知される。
【０００８】
これをデータの流れと共に説明したのが図１１である。
【０００９】
図１１（Ａ）〜（Ｃ）は、ジョブ制御部、ＰＤＬ解析部、ＲＩＰとの間におけるデータの流れを説明する図である。
【００１０】
図１１（Ａ）〜（Ｃ）において、１００１はＰＤＬデータを記憶するためのメモリ領域を示し、限られたメモリ領域の中にＰＤＬデータ１００７を記憶している。このプリンタ装置が受信したＰＤＬデータ１００７は、ＰＤＬに係る処理の流れを管理するジョブ制御部１００４に渡される。次に、このジョブ制御部１００４は、外部の情報処理装置から受信した情報や、このプリンタ装置が記憶している設定情報等に基づいて、そのＰＤＬデータの処理に必要な情報をＰＤＬデータ１００７に付加して、これらをＰＤＬ解析部１００５へ送る（図１１（Ａ））。
【００１１】
ＰＤＬ解析部１００５は、こうして与えられたＰＤＬデータ１００７を解析し、ＲＩＰ１００６が処理可能な中間データであるＤＬ１００８を生成する（図１１（Ｂ））。ＲＩＰ１００６は、このＤＬ１００８からイメージデータ１００９を生成する（図１１（Ｃ））。ここで、このＤＬ１００８は、ＤＬを保存するための限られた容量の領域１００２に書き込まれる。またイメージデータ１００９は、このＲＩＰ１００６によって限られた容量の領域１００３に書き込まれる。こうしてイメージデータ１００９を、このプリンタ装置のエンジンへ送信して可視画像を得ることができる。
【００１２】
しかし、この処理で使われる記憶領域の容量は有限であり、与えられたＰＤＬデータ１００７の複雑さなどに依存して、使用されるメモリ容量はそれぞれに異なる。つまりＰＤＬデータ１００７のデータサイズ（容量）が限定されていないため、このＰＤＬデータ１００７から作成されるＤＬ１００８のデータサイズが非常に大きくなる場合がある。またＤＬ１００８が複雑になり、そのデータサイズが大きくなると、このＤＬ１００８をレンダリングするＲＩＰ１００６が使用するワーク領域の容量も大きくなる。この場合には、ＤＬ１００８を保存する領域１００２のメモリ容量が不足する可能性がある。
【００１３】
この制限を回避する方法がフォールバックであり、図１２はこのフォールバックを説明する図である。
【００１４】
図１２（Ａ）〜（Ｃ）は、図１１の状態で領域１００２のメモリ容量が不足した場合の処理を説明する図である。
【００１５】
フォールバックは、図１２（Ａ）で、ＤＬ１００８のデータサイズがＲＩＰ１００６がアクセス可能なメモリ空間１００２を超えると、一旦、その時点までのＤＬ１００８をレンダリングしてイメージデータ１００９を生成する。更に、それまでに作成したＤＬ１００８を消去する。こうして生成したイメージデータを描画エリアのバックグラウンドイメージ１０１０として、再びＤＬ１００８に追加する（図１２（Ｂ））。ここで通常、このバックグラウンドイメージ１０１０は圧縮されているため、追加されるＤＬのデータサイズは、メモリ空間１００２の容量よりも小さくなる。これによりこのメモリ空間１００２の空いた領域に残りのＤＬを記憶することができる（図１２（Ｃ））。このようにして、限定されたメモリ１００２の容量で大きなデータサイズのＤＬ１００８を処理できる。また、フォールバック時のレンダリング終了時にＲＩＰ１００６のワーク領域もクリアされるため、このワーク領域のサイズ制限も回避することができ低コストのプリンタ装置を提供することができる。上述のフォールバック処理は、例えば、下記の特許文献１〜３に記載されている。
【特許文献１】特開平７−１３７３５５号公報
【特許文献２】特開２０００−２６１６３２号公報
【特許文献３】特開２００２−１２０４１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、このマルチタスク処理は、メモリに代表されるリソースをより多く消費するという問題がある。これに対して順次一つずつ処理を行うバッチ処理を採れば、消費されるメモリの容量は、一つの処理に必要なメモリ量に限られる。これに対してマルチタスクを導入すると、複数の処理で必要となるデータの全て或は少なくとも一部をメモリに展開する必要があるため、バッチ処理よりも多くのメモリを必要とする。
【００１７】
上述したようにプリンタ装置が有するメモリ領域の容量は限られており、またマルチタスク処理によって画像形成処理を行うとメモリ消費量が多くなるため、上述したフォールバックが発生する確率が高くなる。つまり上述した従来技術では、フォールバック処理が行われると、途中までのＤＬをレンダリングしてバックグランドイメージを作成する時間が必要になる。更に、このバックグランドイメージを圧縮する時間、そしてその圧縮されたイメージを解凍する時間が必要になる。従って、フォールバック処理が発生しない場合に比べると余計に処理時間が長くなるという問題がある。これによって、マルチタスク処理を導入したにも拘わらず、マルチタスク本来の機能を充分に生かせない結果なる可能性がある。
【００１８】
このように、フォールバック処理を行うことにより、限られたメモリ容量で像形成を行うことができるという利点がある一方、画像データの圧縮や解凍が必要となることにより処理時間が長くなってしまう。このため、デュアルコアのマルチタスク処理による高速化の利点が発揮されないという問題があった。これにより上述した電子ドキュメント等を高速に印刷したいという要望に答えられなくなる。
【００１９】
また画像データの圧縮及び解凍は、一般に不可逆圧縮と呼ばれる画像劣化を伴う手法が使われることが一般的である。このため、フォールバックが発生すると、画質の劣化を招き、上述したカラーの電子ドキュメントを高精細に印刷したいという要望に応えられなくなる。
【００２０】
本発明の目的は、このような従来の問題点を解決することを目的とする。
【００２１】
本願発明の特徴は、マルチタスク処理におけるリソース不足が招く画像データの生成処理効率の低下を防止する印刷制御装置及びその制御方法とデバイスドライバを提供することにある。
【課題を解決するための手段】
【００２２】
上記目的を達成するために本発明の一態様に係る印刷制御装置は以下のような構成を備える。即ち、
ページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の描画手段と、
前記複数の描画手段へのリソースの割り当て及び前記複数の描画手段による並行処理を制御する制御手段と、
前記並行処理中にいずれかの描画手段においてリソース不足が発生すると、前記並行処理中の前記複数の描画手段の内の第１描画手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第１描画手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の描画手段に割り当てて当該他の描画手段による処理を継続させることを特徴とする。
【００２３】
上記目的を達成するために本発明の一態様に係るデバイスドライバは以下のような構成を備える。即ち、
ページ記述言語データからイメージデータへの展開処理をマルチタスクで実行するデバイスドライバであって、
ページ記述言語データを入力する入力手段と、
それぞれが、前記入力手段により入力されたページ記述言語データを解析してイメージデータを作成する複数の描画手段と、
前記複数の描画手段へのリソースの割り当て及び前記複数の描画手段による並行処理を制御する制御手段と、
前記並行処理中にいずれかの描画手段においてリソース不足が発生すると、前記並行処理中の前記複数の描画手段の内の第１描画手段による処理を中止させる中止手段とを有し、
前記制御手段は、前記第１描画手段による処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の描画手段に割り当てて当該他の描画手段による処理を継続させることを特徴とする。
【００２４】
上記目的を達成するために本発明の一態様に係る印刷制御装置の制御方法は以下のような工程を備える。即ち、
ページ記述言語データからイメージデータへの展開処理をマルチタスクで実行する画像形成装置の制御方法であって、
ページ記述言語データを入力する入力工程と、
それぞれが、前記入力工程により入力されたページ記述言語データを解析してイメージデータを作成する複数の解析処理タスクへのリソースの割り当て及び前記複数の解析処理タスクによる並行処理を制御する制御工程と、
前記並行処理中にいずれかの解析処理タスクにおいてリソース不足が発生すると、前記並行処理中の前記複数の解析処理タスクの内の第１解析処理タスクによる処理を中止させる中止工程とを有し、
前記制御工程は、前記第１解析処理タスクによる処理の中止に応じて、当該中止した処理に対応するリソースを解放し、当該解放した前記リソースを他の解析処理タスクに割り当てて当該他の解析処理タスクによる処理を継続させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、マルチタスク処理におけるリソース不足が招く画像データの生成処理効率の低下を防止できるという効果がある。
【発明を実施するための最良の形態】
【００２６】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２７】
まず、本発明の実施の形態を適用可能な印刷制御装置を備える画像形成装置の一例としてレーザビームプリンタの構成例を説明する。尚、本実施の形態は、このようなレーザビームプリンタのみならず、例えばインクジェットプリンタ、ＭＦＰ（Multi Function Peripheral）、イメージセッター、オフセット印刷機等、他の方式の出力装置にも適用可能である。
【００２８】
図１は、本発明の実施の形態に係る画像形成装置（レーザビームプリンタ）１０２の構成を主として示すブロック図である。
【００２９】
図において、データ処理装置１０１は、例えば、ＰＣ等のコンピュータであり、画像情報の供給源、或はプリンタの制御装置として機能する。本実施の形態では、画像形成装置１０２として、レーザビームプリンタ（プリンタ）を用いている。印刷制御装置の一例であるプリンタコントローラ１０３は、データ処理装置１０１から供給される画像情報（例えば、ESCコード、ページ記述言語等）に基づいて、ページ毎にビットマップデータを生成し、プリンタエンジン１０５に送出する。プリンタエンジン１０５は、プリンタコントローラ１０３から供給されるビットマップデータに基づいて感光ドラム上に静電潜像を形成し、その静電潜像を記録媒体上に転写して定着（電子写真方式）することにより画像を記録する。操作パネル１０４は、ユーザインタフェースとして使用される。ユーザは、この操作パネル１０４を操作することにより、所望の動作を指示することができる。またこの操作パネル１０４には、プリンタ１０２の処理内容や、ユーザへの警告内容が表示される。
【００３０】
図２は、本発明の実施の形態に係るレーザビームプリンタ１０２の機構を摸式的に示す概略断面図である。ここでは、タンデム方式のカラープリンタ１０２の構成を説明する断面図で示している。
【００３１】
同図において、２０１は、プリンタ筐体である。操作パネル１０４は、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するための表示器等を有している。２０３はボード収容部で、ビデオコントローラ１０３及びプリンタエンジン１０５の電子回路部分を構成するボード（回路基板等）を収容している。
【００３２】
用紙カセット２２０は、用紙（記録媒体）Ｓを複数保持しており、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有している。カセットクラッチ２２１は、用紙カセット２２０に載置された用紙Ｓの最上位の用紙Ｓを一枚を取り出して、その取り出した用紙Ｓを不図示の駆動手段から伝達される駆動力によって給紙ローラ２２２の位置まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙Ｓを給紙する。用紙検知センサ２２３は、それぞれ用紙カセット２２０に保持されている用紙Ｓの量を検知する。給紙ローラ２２２は、用紙Ｓの先端部をレジストシャッタ２２４まで搬送するローラである。レジストシャッタ２２４は、用紙Ｓを押圧することにより給紙を停止することができる。
【００３３】
２３０は手差しトレイであり、２３１は手差し給紙クラッチである。この手差し給紙クラッチ２３１は、用紙Ｓの先端を手差し給紙ローラ２３２の位置まで搬送するために使用される。手差し給紙ローラ２３２は、用紙Ｓの先端をレジストシャッタ２２４の位置まで搬送するために使用される。尚、この画像の記録に供する用紙Ｓは、用紙カセット２２０及び手差しトレイ２３０のいずれかの給紙手段を選択して給紙される。
【００３４】
プリンタエンジン１０５は、ビデオコントローラ１０３と所定の通信プロトコルに従って通信し、ビデオコントローラ１０３からの指示に従って用紙カセット２２０、手差しトレイ２３０の中からいずれかの給紙手段を選択する。そして、印刷の開始指示に応じて、選択した給紙手段よりレジストシャッタ２２４まで用紙Ｓを搬送する。尚、プリンタエンジン１０５は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含んでいる。
【００３５】
２０４ａ，２０４ｂ，２０４ｃ，２０４ｄは、感光ドラム２０５ａ，２０５ｂ，２０５ｃ，２０５ｄやトナー保持部等を有する像記録部であり、電子写真プロセスにより、用紙Ｓにトナー像を形成する。一方、２０６ａ，２０６ｂ，２０６ｃ，２０６ｄはレーザスキャナ部であり、それぞれ対応する像記録部にレーザビームによる画像情報を供給する。像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄには、用紙Ｓを搬送する用紙搬送ベルト２５０が複数個の回転ローラ２５１〜２５４によって用紙搬送方向（図の下から上方向）に扁平に張設されている。この用紙搬送ベルト２５０による搬送方向の最上流部では、バイアスを印加した吸着ローラ２２５によって、用紙Ｓが用紙搬送ベルト２５０に静電吸着される。またこのベルト２５０の搬送面に対向して４個の感光ドラム２０５ａ，２０５ｂ，２０５ｃ，２０５ｄが直線状に配設されて像形成手段を構成している。これら像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄのそれぞれには、各感光ドラムの周辺近傍を順次取り囲んで、帯電器、現像器が配置されている。
【００３６】
レーザスキャナ部２０６ａ，２０６ｂ，２０６ｃ，２０６ｄにおいて、２０７ａ，２０７ｂ，２０７ｃ，２０７ｄはレーザユニットである。各レーザユニットの半導体レーザは、プリンタコントローラ１０３から送出される画像信号（/VIDEO信号）に応じて駆動されて、レーザビームを発射する。こうして各レーザユニットから発せられたレーザビームは、各対応するポリゴンミラー（回転多面鏡）２０８ａ，２０８ｂ，２０８ｃ，２０８ｄにより走査され、各対応する感光ドラム上に静電潜像を形成する。
【００３７】
定着器２６０は、像記録部２０４ａ〜２０４ｄにより用紙Ｓに形成されたトナー画像を熱定着させる。搬送ローラ２６１は、用紙Ｓを排紙するように搬送する。排紙センサ２６２は、用紙Ｓの排紙状態を検知する。排紙ローラ兼両面印刷用の搬送路切替えローラ２６３は、用紙Ｓを排紙方向へ搬送し、用紙Ｓの搬送指示が排紙の場合はそのまま排紙トレイ２６４に排紙する。一方、搬送指示が両面搬送の場合は、用紙Ｓの後端が排紙センサ２６２を通過した直後に、そのローラ２６３の回転方向を逆向きに変えてスイッチバックすることにより用紙Ｓを両面印刷用搬送路２７０へ搬送する。排紙積載量検知センサ２６５は、排紙トレイ２６４上に積載された用紙Ｓの積載量を検知する。
【００３８】
両面印刷用搬送路２７０には、排紙ローラ兼両面印刷用の搬送路切替えローラ２６３により両面印刷用に用紙Ｓが搬送される。この搬送路２７０では、両面搬送ローラ２７１〜２７４の回転によって再びレジストシャッタ２２４まで搬送されて像記録部２０４ａ，２０４ｂ，２０４ｃ，２０４ｄへの搬送指示を待つ。尚、プリンタ１０２には、更に、オプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
【００３９】
図３は、本実施の形態に係るレーザプリンタ１０２の印刷制御装置を構成するプリンタコントローラ１０３の構成を示すブロック図である。
【００４０】
ホストＩ／Ｆ部３０２は、データ処理装置１０１から送出されたＰＤＬデータや、このプリンタ１０２の動作を指示する設定を入力する入力バッファ（図示せず）を有している。またデータ処理装置１０１へ送出する信号や、このプリンタ装置の機器情報を含む出力データを一時的に保持する出力バッファ（図示せず）も備えている。このホストＩ／Ｆ部３０２は、データ処理装置１０１との間でやりとりされる信号や通信パケットの入出力部を構成するとともに、データ処理装置１０１との間の通信制御を行っている。このホストＩ／Ｆ部３０２を介して入力されたＰＤＬデータは、画像データ発生部３０３に与えられる。この画像データ発生部３０３は、予め定められている解析手段に基づいて、その入力したＰＤＬデータの解析、及びその解析結果から中間言語（ＤＬ）である描画オブジェクトを生成する。更に、プリンタエンジン１０５が処理可能なビットマップデータを生成する。具体的には、ＰＤＬデータの解析とその解析によるオブジェクト情報の作成を行うとともに、そのオブジェクト情報の作成と並行してラスタライズ処理を行う。このラスタライズ処理では、ＰＤＬデータに含まれる表示色ＲＧＢ（加法混色）から、プリンタエンジン１０５が処理可能なＹＭＣＫ（減法混色）へ変換している。また、ＰＤＬデータに含まれる文字コードから予め格納されているビットパターン、アウトラインフォント等のフォントデータへの変換等を行い、ページ単位或はバンド単位でビットマップデータを作成している。更に、このビットマップデータに対しディザパターンを用いる疑似階調処理を施し、プリンタエンジン１０５で印刷処理が可能なビットマップデータを生成する。尚、ここでは上記解析手段による処理からビットマップデータへの展開処理までを描画手段と呼ぶこともある。この作成されたビットマップデータは画像メモリ３０５に格納される。この画像メモリ３０５に格納されているビットマップデータの読み出しはＤＭＡ制御部３０８で制御される。このＤＭＡ制御部３０８による画像メモリ３０５からのビットマップデータの読み出しに対する制御は、ＣＰＵ３０９からの指示に基づき行なわれる。
【００４１】
こうして画像メモリ３０５から読み出されたビットマップデータは、エンジンＩ／Ｆ部３０６を介してビデオ信号としてプリンタエンジン１０５に転送される。このエンジンＩ／Ｆ部３０６は、エンジン１０５へ転送するビデオ信号を一時的に保持する出力バッファ（不図示）と、エンジン１０５から送出された信号を一時的に保持する入力バッファ（不図示）とを有している。エンジンＩ／Ｆ部３０６は、プリンタエンジン１０５との間でやりとりされる信号の入出力部を構成するとともに、プリンタエンジン１０５との間の通信制御を行う。
【００４２】
操作パネル１０４におけるユーザの操作入力によって出されたモード設定に関する指示等は、パネルＩ／Ｆ部３０１を介して入力される。このパネルＩ／Ｆ部３０１は、この操作パネル１０４とＣＰＵ３０９との間のインタフェースを構成する。この操作パネル１０４での操作入力によって出されるモード設定等の、このプリンタ１０２に対する指示は、データ処理装置１０１と双方向の通信を行うホストＩ／Ｆ部３０２を介しても指示可能である。
【００４３】
ＣＰＵ３０９は、操作パネル１０４もしくはデータ処理装置１０１から指示されたモードに応じて上述の各ブロックに対する制御を行い、この制御はＲＯＭ３０４に格納されている制御プログラムに基づいて実行される。このＲＯＭ３０４に格納されている制御プログラムは、システムクロックによってタスクと称されるロードモジュール単位に時分割制御を行うＯＳ（オペレーティングシステム）と、このＯＳによって機能単位に実行制御される複数のロードモジュールを含む。このロードモジュールを含む制御プログラムは必要に応じてＥＥＰＲＯＭ（不揮発性メモリ）３１０に格納される。ＣＰＵ３０９による演算処理の作業領域としてＲＡＭ３０７が使用される。尚、ＲＡＭ３０７は、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。またＲＡＭ３０７には画像出力バッファが用意されており（不図示）、フォールバックバッファや出力バッファとして後述するＲＩＰによる処理で作成されるラスタイメージ及び属性ビットが記憶される。この出力バッファに記憶されて圧縮されたイメージデータは、ＣＰＵ３０９或は専用の伸張器で伸長されてエンジンインタフェース部３０６に転送される。これらＣＰＵ３０９を含む各ブロックはシステムバス３２０に接続されている。このシステムバス３２０は、アドレスバスとシステムバスとを有している。
【００４４】
非可逆圧縮部３１１は、後述するラスタライズ処理部４０３（図４）で展開されたラスタイメージに非可逆圧縮を施し、ＲＡＭ３０７の前述の出力バッファへ記憶する。本実施の形態に係る非可逆圧縮部はＪＰＥＧを採用している。ＪＰＥＧは圧縮時に使用するＱテーブルを変更することにより、圧縮対象となる画像の圧縮率を変更することが可能であり、圧縮率が高くなるほど画像劣化が大きくなる。尚、ここでは、非可逆圧縮としてＪＰＥＧを使用するとしているが、圧縮率を変更可能な非可逆圧縮方法であれば本発明に適用できることは言うまでもない。可逆圧縮部３１２は、後述する属性ビットに可逆圧縮を施して出力バッファへ記憶する。画像処理部３１３は、生成された属性ビットに基づいて、ラスタデータに文字用の画像処理、イメージ用の画像処理、グラフィック用の画像処理、カラー用の画像処理、白黒用の画像処理のいずれか又は組み合わせて処理を施す。
【００４５】
図４は、本実施の形態に係るプリンタコントローラ１０３における入力データの処理経路を機能ブロック別に説明する流れ図である。
【００４６】
データ処理装置１０１からホストインタフェース部３０２を通って入力されたＰＤＬデータは、ＰＤＬ解析部４０１によりコマンドが解析される。こうして解析された結果は、描画オブジェクト生成部４０２において描画オブジェクト（中間言語）として生成されＲＡＭ３０７の作業メモリに一時的に記録される。ラスタライズ処理部４０３は、ＲＡＭ３０７の作業メモリから描画オブジェクトを随時読み出してラスタライズ処理を実行する。そして最終的に用紙に印刷される画像データをビットマップイメージ及び、そのイメージ各ピクセル毎に対応する属性ビットを展開して画像メモリ３０５に格納する。こうして画像メモリ３０５に格納されたビットマップデータは、エンジンＩ／Ｆ部３０６を介してプリンタエンジン１０５に出力して用紙への画像記録が行われる。
【００４７】
図５は、本実施の形態に係るマルチタスクを有効にした場合のジョブ制御部とＰＤＬ解析部と、ＲＩＰのソフトウェア構成を説明する図である。
【００４８】
次にマルチタスクを有効にしたことによって、図に示すように、一つのジョブ制御部２００４と、二つのＰＤＬ解析部２００５ａ，２００５ｂと、一つのＲＩＰ２００６が動作する。
【００４９】
図６は、本実施の形態に係るジョブ制御部とＰＤＬ解析部とＲＩＰによる処理の流れを説明する図である。
【００５０】
データ処理装置１０１からホストインタフェース部３０２を通って入力されたＰＤＬデータは、一旦、ジョブ制御部２００４が受け取る。このＰＤＬデータは複数送られてくることもあるが、ここでは一つのＰＤＬデータの解析処理が完了する前に次の解析処理を開始する。
【００５１】
つまりジョブ制御部２００４は、外部のデータ処理装置１０１から受信した情報や、このプリンタ装置１０２が記憶している設定情報等を基に、ＰＤＬ解析部２００５ａがＰＤＬデータを解析するＰＤＬ解析開始命令（１１０１ａ）を発行する。そして、このＰＤＬ解析部２００５ａからの処理の完了通知（１１０３ａ）を待たずに、ジョブ制御部２００４は次のＰＤＬデータを処理するために、ＰＤＬ解析部２００５ｂに、同様にＰＤＬ解析開始命令（１１０１ｂ）を発行する。
【００５２】
このジョブ制御部２００４の処理を受けて、二つのＰＤＬ解析部２００５ａ，２００５ｂはＰＤＬデータを解析し、描画オブジェクト（中間言語）として生成してＲＡＭ３０７の作業メモリに一時的に記憶する（１１０２ａ，１１０２ｂ）。このＰＤＬ解析部２００５ａ，２００５ｂの処理が完了すると、それぞれのＰＤＬ解析部は、ジョブ制御部２００４にＰＤＬ処理が完了したことを通知する（１１０３ａ，１１０３ｂ）。ジョブ制御部２００４は、これらＰＤＬ解析部の処理を受けて、順次ＲＩＰ２００６に描画オブジェクト（中間言語）として生成されＲＡＭ３０７に記憶されているデータを通知する。それとともにラスタライズ処理（ＲＩＰ）開始命令を発行する（１１１１ａ，１１１１ｂ）。これによりＲＩＰ２００６は、ジョブ制御部２００４からの命令を受けて、それぞれの処理に対してＲＡＭ３０７の作業メモリから描画メモリを随時読み出してラスタライズ処理を行う。そして用紙Ｓに記録される画像データをビットマップイメージに展開して画像メモリ３０５に格納する（１１１２ａ，１１１２ｂ）。これらのＲＩＰ２００６の処理が完了すると、ＲＩＰ２００６は、ジョブ制御部２００４にラスタライズ処理が終了したことを通知する（１１１３ａ，１１１３ｂ）。ジョブ制御部２００４は、このＲＩＰ２００６の処理結果を受信すると、得られた画像メモリ３０５のビットマップイメージをエンジンインタフェース部３０６に出力することによって用紙Ｓへの記録が行われる。
【００５３】
このように、２つのＰＤＬ解析部により並行してＰＤＬ解析処理を行うことによって、複数のＣＰＵコアを持つハード構成を充分に活かし、より高速な画像形成処理を実現することができる。
【００５４】
また、上述した並行処理がＰＤＬ解析部部分の一部であっても本発明を実施できることは言うまでもない。
【００５５】
また、上述した並行処理が、ジョブ制御部２００４部分の一部か、或は全てで行われても本発明を実施できることは言うまでもない。
【００５６】
また上述した実施の形態では、２つのＰＤＬ解析処理が並行して実行される例を示したが、並行して行われるＰＤＬ解析処理の数は２つ以上であっても良い。
【００５７】
このように構成された画像形成のシステムにおいて、本発明の実施形態を説明する。
【００５８】
［実施の形態］
次に本実施の形態に係る処理シーケンスを、上述したのようなマルチタスクが有効である場合で、且つフォールバックが発生した場合の処理例をもとに図７Ａ，７Ｂ及び図８を参照して説明する。
【００５９】
図７Ａ及び図７Ｂは、本実施の形態に係るＰＤＬ解析処理をマルチタスクで実現した場合のデータの流れを説明する図である。
【００６０】
図８は、本実施の形態に係るジョブ制御部、ＰＤＬ解析部及びラスタライズの処理を説明する図である。
【００６１】
マルチタスクが有効である場合には、図７Ａ（Ａ）において、データ処理装置１０１からホストインタフェース部３０２を介して入力されたＰＤＬデータ１００７ａ，１００７ｂを、一旦ジョブ制御部２００４が受け取る。このＰＤＬデータ１００７ａ，１００７ｂは２つに限らず２つ以上送られてくることもある。ここでは一つのＰＤＬデータ１００７ａの解析処理によるＤＬ１００８ａの生成が完了する前に、次に受信したＰＤＬデータ１００７ｂのＰＤＬ解析処理を開始してＤＬ１００８ｂを生成するものとする（図７Ａ（Ｂ））。
【００６２】
つまりジョブ制御部２００４は、データ処理装置１０１から受信した情報や、このプリンタ装置１０２が記憶している設定情報等を基に、ＰＤＬ解析部２００５ａ，２００５ｂでのＰＤＬ処理に必要な情報をＰＤＬデータ１００７ａ，１００７ｂに付加する。そしてこれらをＰＤＬ解析部２００５ａ，２００５ｂへ送り、ＰＤＬ解析開始の命令（図８の１１０１ａ，１１０１ｂ）を発行する。ここでは、ジョブ制御部２００４は、先に開始した処理の完了通知（１１０３ａ）を待たずに、次のＰＤＬデータ１００７ｂを処理するためにＰＤＬ解析部２００５ｂにＰＤＬ解析開始命令（１１０１ｂ）を発行している。
【００６３】
このジョブ制御部２００４の処理を受けて、２つのＰＤＬ解析部２００５ａ，２００５ｂはそれぞれ、ＰＤＬデータ１００７ａ，１００７ｂを解析し、中間言語ＤＬ１００８ａ，１００８ｂを生成する。そして、これら中間言語ＤＬ１００８ａ，１００８ｂをＲＡＭ３０７のメモリ領域１００２に一時的に記録する（１１０２ａ，１１０２ｂ）。この状態が図７Ａ（Ｂ）に示されている。
【００６４】
上述したように、この中間言語を記録するＲＡＭ３０７のメモリ領域１００２の容量は有限で、ＰＤＬデータ１００７ａ，１００７ｂのサイズは限定されていない。このため、このＰＤＬデータ１００７ａ，１００７ｂから作成されるＤＬ１００８ａ，１００８ｂのデータサイズが、この領域１００２の容量を越えることがある。またＤＬ１００８ａ，１００８ｂが複雑になり、そのデータ容量が大きくなると、このＤＬ１００８ａ，１００８ｂをレンダリングするＲＩＰ２００６の使用するワーク領域も大きなものとなる。よって、ＤＬ１００８ａ，１００８ｂを保存する領域１００２が不足する可能性がある。
【００６５】
また領域１００２のメモリ容量が一定であれば、並行して生成される中間データの種類が単一であるより、複数の場合の方が領域１００２のメモリ不足が発生し易いことはいうまでもない。この領域１００２でのメモリ不足が発生すると、従来技術では回避するためにフォールバック処理を実施していた。しかし、このフォールバック処理の弊害は上述した通りである。
【００６６】
そこで本実施の形態では、ＤＬ（１００８ａ，１００８ｂ）を保存する領域１００２のメモリ不足が生じた場合、フォールバック処理を行うことなく、このメモリ不足に対処する方法について説明する。
【００６７】
図８において、２つのＰＤＬ解析部２００５ａ，２００５ｂによるＤＬ生成処理（１１０２ａ，１１０２ｂ）中に、これら処理のための領域１００２のメモリ容量が不足が発生する（１２００）。この場合、各ＰＤＬ解析部は、このメモリ不足が発生したことをジョブ制御部２００４に対して通知する（１１２１ａ，１１２１ｂ）。
【００６８】
これらメモリ不足通知（１１２１ａ，１１２１ｂ）を受けるとジョブ制御部２００４は、これら複数のＰＤＬ解析部２００５ａ，２００５ｂにおけるＤＬ生成処理でメモリ不足が発生していると認識する。そして次にジョブ制御部２００４は、いずれのＰＤＬ解析部の処理を中止すべきかを判断する。この中止するＰＤＬ解析部を決定して中止させる中止手段の処理に関しては後述する。
【００６９】
図８の例では、ＰＤＬ解析部２００５ｂでの解析処理を中止するように、ＰＤＬ解析部２００５ｂに対してはジョブ制御部２００４からＰＤＬ解析中止通知を発行する（１１２２）。このジョブ制御部２００４からのＰＤＬ解析中止通知を受けると、ＰＤＬ解析部２００５ｂは、ＤＬの生成処理を中止する（１１２３）。これにより、ＰＤＬ解析部２００５ｂが行っていた、ＤＬ１００８ｂを生成する処理に使われているＲＡＭ３０７の領域１００２の全て、或はその一部が解放される。
【００７０】
これによりジョブ制御部２００４は、この解放されたメモリ領域を使い、領域１００２のメモリ不足で処理が継続できなくなっていたもう一方のＰＤＬ解析部２００５ａのＤＬ生成処理のためにＲＡＭ３０７の領域１００２を再配分する。そして、このＰＤＬ解析部２００５ａに対して、ＰＤＬ解析処理の再開通知を発行する（１１２４ａ）。これによりＰＤＬ解析部２００５ａは、ジョブ制御部２００４で再配分された領域１００２を使用してＤＬ生成処理を再開する（１１０２ａ）。こうして領域１００２にＤＬ１００８ａが記憶されている状態が図７Ａ（Ｃ）に示されている。
【００７１】
こうして、このＰＤＬ解析部２００５ａにおけるＤＬ１００８ａの生成処理が完了するとＰＤＬ解析部２００５ａは、ＰＤＬ解析処理の完了通知をジョブ制御部２００４に対して通知する（１１０３ａ）。ジョブ制御部２００４はこのＰＤＬ解析完了通知を受けると、ＲＩＰ２００６に対してレンダリングの開始を指示するラスタライズ開始通知を発行する（１１１１ａ）。こうしてＲＩＰ２００６によるレンダリング処理が開始され、これにより生成されたビットマップイメージデータ１００９ａが領域１００３に記憶される。この状態を図７Ｂ（Ａ）に示す。
【００７２】
またジョブ制御部２００４は、このＰＤＬ解析部２００５ａからのＰＤＬ解析完了通知により、ＰＤＬ解析部２００５ａがＤＬ生成のために占有していた領域１００２が解放できると判断する。そしてその解放した領域１００２のメモリエリアをＰＤＬ解析部２００５ｂのＤＬ生成処理のために再配分する。こうしてメモリエリアを再配分した後、ジョブ制御部２００４は、ＰＤＬ解析部２００５ｂに対してＰＤＬ解析再開通知を発行する（１１２４ｂ）。これによりＰＤＬ解析部２００５ｂは、その再配分された領域１００２のメモリを用いてＤＬ生成処理を再開する（１１２５）。こうして領域１００２に、ＰＤＬ解析部２００５ｂにより生成されたＤＬ（１００８ｂ）が記憶された状態を図７Ｂ（Ｂ）に示す。
【００７３】
こうしてＰＤＬ解析部２００５ｂによるＤＬ生成処理が終了すると、ＰＤＬ解析完了通知がＰＤＬ解析部２００５ｂからジョブ制御部２００４に発行される（１１０３ｂ）。このときＲＩＰ２００６からレンダリング終了が通知されていると（１１１３ａ）、今度はこのＰＤＬ解析部２００５ｂによリ生成されたＤＬ１００８ｂのレンダリングの開始をＲＩＰ２００６に指示する（１１１１ｂ）。こうしてＲＩＰ２００６によるレンダリング処理が開始され、これにより生成されたビットマップイメージデータ１００９ｂが領域１００３に記憶される。この状態を図７Ｂ（Ｃ）に示す。そしてＲＩＰ２００６からレンダリング終了がジョブ制御部２００４に通知されると（１１１３ｂ）、このレンダリング処理を終了する。
【００７４】
こうしてＲＩＰ２００６におけるレンダリング処理が完了すると、ジョブ制御部２００４は、画像メモリ３０５に展開されているビットマップイメージをエンジンインタフェース部３０６を介してプリンタエンジン１０５に出力する。こうしてプリンタエンジン１０５で画像が形成される。
【００７５】
次に、メモリ不足が発生したときに、ジョブ制御部２００４が処理を中止するＰＤＬ解析部を決定する処理について説明する。
【００７６】
本実施の形態では、この決定法則を複数持つ。この複数ある決定法則は下記の通りである。
（Ａ）ジョブ制御部２００４は、複数のＰＤＬデータに係る処理を行っている複数のＰＤＬ解析部の内、最後のＰＤＬ解析処理の開始命令を通知したＰＤＬ解析部におけるＰＤＬ解析処理を中止する。
（Ｂ）ジョブ制御部２００４は、複数のＰＤＬデータに係る処理を行っている複数のＰＤＬ解析部の内、ＤＬ生成処理の進捗が最も遅いＰＤＬ解析部におけるＰＤＬ処理を中止する。
（Ｃ）ジョブ制御部２００４は、複数のＰＤＬデータに係る処理を行っている複数のＰＤＬ解析部の内、使用するメモリ領域を最も多く使用してＰＤＬ解析処理を行っているＰＤＬ解析部部におけるＰＤＬ処理を中止する。
【００７７】
以上の決定法則の内、決定法則（Ａ）は、複数実行されているＤＬ生成処理の内、最も処理が進んでいるであろう処理の継続を優先させて、後から投入されたＤＬ生成処理を中止するものである。これにより、複数のＰＤＬデータに基づいて画像の形成が完了する順序をジョブ制御部２００４が受け取ったデータの順番と一致させることができる。
【００７８】
法則（Ｂ）は、ＤＬ生成処理が先行しているＰＤＬ処理部の処理を優先させて処理を継続させることができる。このＤＬ生成処理の進捗を予測する方法は、既に生成された複数のＤＬの内、最も容量の小さいＤＬに係るＤＬ生成処理が遅れていると判断することによってなされる。
【００７９】
また決定法則（Ｃ）によれば、できるだけ多くのメモリエリアを解放することにより、メモリ不足をより確実に回避することができる。マルチタスクを有効にしたＰＤＬ解析処理は、複数のＰＤＬ処理の並行処理を可能とする。よって、より確実に領域１００２の不足の状態を回避するためには、最も領域１００２を消費している処理を中止することが有効となる。
【００８０】
図９は、本発明の実施の形態に係るジョブ制御部において、上述した複数の法則の内いずれを採用して、処理を中止させるＰＤＬ解析部を決定するかを説明するフローチャートである。
【００８１】
まずステップＳ１００１で、上述したデータ処理装置１０１からホストインタフェース部３０２を通って入力された情報及びＰＤＬデータ１００７ａ，１００７ｂに係る処理の設定情報を読み取る。そして、上述した３つの法則のいずれを使用して、処理を中止させるＰＤＬ解析部を決定するかを判断する。ここで設定情報が存在すればステップＳ１００５に進み、その設定情報に基づいて、上述した３つの法則のいずれかを選択し、その選択した法則に従って、処理を中止させるＰＤＬ解析部を決定する。
【００８２】
一方、ステップＳ１００１で、設定情報がない場合はステップＳ１００２に進み、データ処理装置１０１からの情報及びＰＤＬデータから、帳票印刷かどうかを判断する。帳票印刷であればステップＳ１００６に進み、上記（Ａ）の法則を選択する。これによって複数あるＰＤＬデータに基づく画像形成が完了する順番を、ジョブ制御部２００４が受信したＰＤＬデータの順番と一致させることができる。この処理は一般的に帳票印刷においては、画像形成の順番が重要になるため有効となる。
【００８３】
一方ステップＳ１００２で帳票印刷でない場合はステップＳ１００３に進み、データ処理装置１０１からの情報及びＰＤＬデータに基づいて、フィニッシング処理を必要としているか否かをを判断する。ここでフィニッシング処理を必要としている場合はステップＳ１００６に進み、上記法則（Ａ）を選択する。これにより、複数のＰＤＬデータに基づく画像形成が完了する順番を、ジョブ制御部２００４が受け取ったＰＤＬデータの順番と一致させることができる。この処理はフィニッシング処理では、画像形成の順番が保たれることが求められることが多い有効となる。
【００８４】
一方、ステップＳ１００３で、フィニッシング処理を必要としていない場合はステップＳ１００４に進み、上記法則（Ｃ）を選択する。これにより、最も多くメモリエリアを消費しているＤＬの生成処理が中止される。これにより、複数のＤＬ生成処理で発生したメモリ不足をより確実に解消させることができる。
【００８５】
以上説明したように本実施の形態によれば、メモリに代表されるリソースの不足が招くフォールバック処理を回避することによって、ＰＤＬ解析処理の効率の低下を抑制し、より高速に画像形成を行うことができる。
【００８６】
上述したように複数のＰＤＬ解析部の一方のＰＤＬ解析部によるＤＬの生成処理を中止することにより、そのＤＬの生成処理で占有されていたメモリ等に代表されるリソースを解放できる。こうして、そのリソースを他方のＰＤＬ解析部に再分配することにより、メモリに代表されるリソース不足を回避して画像形成処理を行うことができる。
【００８７】
また本実施の形態によれば、複数のＣＰＵコアを備えたハードウェアに応じたマルチタスクを実現して、より高画質な画像形成を行うことができる。
【００８８】
尚、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様例について説明する。
【００８９】
［実施態様１］
ＰＤＬ解析部におけるＤＬの生成処理を中止する場合、それまで生成されたＤＬを領域１００２から消去するとともに、その中止された際のＰＤＬデータの処理情報をジョブ制御部２００４が保持する。そして、その中止されたＰＤＬ処理を再開する際、ジョブ制御部２００４が保持している、その中止した時点でのＰＤＬデータの処理情報を読み出して、そのＰＤＬ解析部に与えることにより再開処理を実行するようにしても良い。
【００９０】
これによりＰＤＬ処理を再開したＰＤＬ解析部におけるＰＤＬデータの解析処理を効率化できる。
【００９１】
［実施態様２］
ＰＤＬ解析部におけるＤＬの生成処理を中止する場合、そのＰＤＬ解析部が生成したＤＬを外部の記憶装置（例えばＨＤＤ）に保存した後、領域１００２から、そのＤＬを消去する。そして、その中止された処理を再開する際、この保存処理によって保存されたＤＬをＨＤＤから読み出すようにしても良い。
【００９２】
これにより、中止された際のＤＬを復元して、ＰＤＬ解析処理を継続できるため、それまでの処理で作成されたＤＬを有効に活用して処理速度を早めることができる。
【００９３】
［実施態様３］
ＰＤＬ解析部におけるＤＬ生成処理を中止する場合、そのＰＤＬ解析部が生成したＤＬを圧縮処理した後に、領域１００２の一部を解放する。そして、その中止された処理を再開する際、この圧縮されたＤＬを伸張して領域１００２に展開するようにしても良い。
【００９４】
これにより、中止された際の情報を復元してＰＤＬ処理を再開できるため、ＰＤＬ処理を再開して迅速に処理できるという効果がある。
【００９５】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【００９６】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００９７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９８】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００９９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１００】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【０１０１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０２】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０１０３】
尚、この実施の形態では、２つのＰＤＬ解析部の場合で説明しているが、ＰＤＬ解析部の数が３を含むそれ以上の場合にも同様に適用できる。その場合には、処理を再開するＰＤＬ解析部の数は複数となるため、それぞれのＰＤＬ解析部に対してリソースの割り当て、ＰＤＬ解析所の再開を指示する必要がある。
【０１０４】
またこの実施の形態では、ＰＤＬ解析部が複数で、ＲＩＰが単体の場合を示しているが、描画手段として機能しているＲＩＰも同様に複数存在しても良いことはもちろんである。
【０１０５】
また本実施の形態に係るプリンタ装置では、各ＰＤＬ解析部、各ＲＩＰに対応して専用のハードウェア（ＣＰＵコア）が設けられているのが好ましい。
【０１０６】
また本発明は、このようなプリンタの場合に限らず、ＰＣ等に実装され、アプリケーションで作成された画像データからこのようなプリンタやディスプレイ等にイメージデータを供給するデバイスドライバにも適用できる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施の形態に係る画像形成装置（レーザビームプリンタ）の構成を主として示すブロック図である。
【図２】本実施の形態に係るレーザビームプリンタの機構を摸式的に示す概略断面図である。
【図３】本実施の形態に係るレーザプリンタのプリンタコントローラの構成を示すブロック図である。
【図４】本実施の形態に係るプリンタコントローラにおける入力データの処理経路を機能ブロック別に説明する流れ図である。
【図５】本実施の形態に係るマルチタスクを有効にした場合のジョブ制御部とＰＤＬ解析部と、ＲＩＰのソフトウェア構成を説明する図である。
【図６】本実施の形態に係るジョブ制御部とＰＤＬ解析部とＲＩＰによる処理の流れを説明する図である。
【図７Ａ】、
【図７Ｂ】本実施の形態に係るＰＤＬ解析処理をマルチタスクで実現した場合のデータの流れを説明する図である。
【図８】本実施の形態に係るジョブ制御部、ＰＤＬ解析部及びＲＩＰの処理を説明する図である。
【図９】本発明の実施の形態に係るジョブ制御部において、上述した複数の法則の内いずれを採用して、処理を中止させるＰＤＬ解析部を決定するかを説明するフローチャートである。
【図１０】マルチタスクによりレンダリングを実現するプログラムのモジュール概念図である。
【図１１】従来のＰＤＬ処理及びレンダリング処理を説明する図である。
【図１２】従来のＰＤＬ処理及びレンダリング処理におけるフォールバック処理を説明する図である。
【図１】
2008143067.tif 000003
【図２】
2008143067.tif 000004
【図３】
2008143067.tif 000005
【図４】
2008143067.tif 000006
【図５】
2008143067.tif 000007
【図６】
2008143067.tif 000008
【図７Ａ】
2008143067.tif 000009
【図７Ｂ】
2008143067.tif 000010
【図８】
2008143067.tif 000011
【図９】
2008143067.tif 000012
【図１０】
2008143067.tif 000013
【図１１】
2008143067.tif 000014
【図１２】
2008143067.tif 000015