(57)【要約】【課題】ハードウェアを用いたレンダリングを行っている最中に、当該ハードウェアの動作を停止させる割り込み処理がなされても、当該レンダリングを可及的に早く終了させるようにする。【解決手段】画像処理コントローラ１００は、ハードウェアによりレンダリングを実行している最中に、レンダリングよりも優先して実行すべきイベント（コピージョブ等）の割り込みが指示されると、ハードウェアの動作を一時的に停止する。そして、情報処理コントローラ２００は、ハードウェアで行っていたレンダリングを、ソフトウェアにより実行する。したがって、ハードウェアによりレンダリングを行っている最中に、そのハードウェアの動作を停止させる割り込み処理がなされても、ハードウェアの動作の再開を待つことなく、そのレンダリングを可及的に早く終了させることができる。【選択図】図１２
2010011325.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアを用いてレンダリングを行うハードレンダリング手段と、
前記レンダリングに優先するイベントの割り込みを検知する検知手段と、
前記ハードレンダリング手段によりレンダリングが行われているときに、前記検知手段により割り込みが検知されると、前記ハードレンダリング手段によりレンダリングを行う動作を停止させる停止手段と、
前記ハードレンダリング手段によりレンダリングが行われているときに、前記検知手段により割り込みが検知されると、ソフトウェアを用いて当該レンダリングを行うソフトレンダリング手段とを有することを特徴とする画像形成装置。
【請求項２】
前記検知手段により割り込みが検知されると、前記レンダリングに優先するイベントに基づく処理を実行する実行手段と、
前記実行手段による処理の実行が完了すると、前記ハードレンダリング手段によりレンダリングを行う動作を再開させる再開手段とを有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記ハードレンダリング手段によるレンダリングと、前記ソフトレンダリング手段によるレンダリングとのうち、先に完了したレンダリングの結果に基づいて画像を形成する形成手段を有することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記ハードレンダリング手段によるレンダリングよりも先に、前記ソフトレンダリング手段によるレンダリングが完了すると、前記ハードレンダリング手段により途中までレンダリングされたデータを削除する削除手段を有することを特徴とする請求項２又は３に記載の画像形成装置。
【請求項５】
前記ソフトレンダリング手段によるレンダリングよりも先に、前記ハードレンダリング手段によるレンダリングが完了すると、前記ソフトレンダリング手段により途中までレンダリングされたデータを削除する削除手段を有することを特徴とする請求項２又は３に記載の画像形成装置。
【請求項６】
前記ソフトレンダリング手段により前記レンダリングの一部分が終了してから、前記ハードレンダリング手段によりレンダリングを行う動作が再開すると、前記レンダリングの一部分については、前記ソフトレンダリング手段によるレンダリングの結果に基づいて画像を形成し、前記レンダリングの残りの部分の少なくとも一部については、前記動作が再開された前記ハードレンダリング手段によるレンダリングの結果に基づいて画像を形成する形成手段を有することを特徴とする請求項２に記載の画像形成装置。
【請求項７】
前記ソフトレンダリング手段は、前記ハードレンダリング手段によりレンダリングを行う動作が再開する前に、ソフトウェアを用いて当該レンダリングを完了させた場合であって、更にレンダリングするデータがある場合には、ソフトウェアを用いて当該レンダリングを更に行うことを特徴とする請求項２〜６の何れか１項に記載の画像形成装置。
【請求項８】
ハードウェアを用いてレンダリングを行うハードレンダリングステップと、
前記レンダリングに優先するイベントの割り込みを検知する検知ステップと、
前記ハードレンダリングステップによりレンダリングが行われているときに、前記検知ステップにより割り込みが検知されると、前記ハードレンダリングステップによりレンダリングを行う動作を停止させる停止手段と、
前記ハードレンダリングステップによりレンダリングが行われているときに、前記検知ステップにより割り込みが検知されると、ソフトウェアを用いて当該レンダリングを行うソフトレンダリングステップとを有することを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像形成方法に関し、特に、レンダリングを行うために用いて好適なものである。
【背景技術】
【０００２】
近年、デジタル複合機に代表される画像処理装置（画像形成装置）では、白黒印刷からカラー印刷へのシフトが進んでいる。カラー印刷になることにより、画像処理装置で処理する情報量が増大する。また、印刷スピードの高速化への要求が増大し、画像処理装置における処理の高速化が望まれている。このような中で、ホストコンピュータから画像処理装置に入力されるプリントジョブについては、以下のような手法により処理の高速化を行うことが一般的に知られている。
【０００３】
入力されたページ記述言語（ＰＤＬ）データを解釈してラスタイメージを作成するシステムでは、ＰＤＬデータを解釈した上で中間言語であるディスプレイリスト（ＤＬ）を作成し、ＤＬをラスタイメージに変換する（レンダリングを行う）のが一般的である。この一連の処理の中で、レンダリングを行う部分は、非常に処理が重いが比較的ハード化しやすい。このため、レンダリングを行う処理の高速化のためにレンダリング専用ハードウェア（ハードレンダラー）をシステムに実装するのが一般的である。
【０００４】
しかしながら、レンダリング専用ハードウェアは、ハードウェアであるがために、レンダリングの途中でワーク用に使用される各種テーブルのサイズが限定される。このため、レンダリング専用ハードウェアでは、複雑なデータを一度でラスタライズできないといった問題があった。そこで、一度にラスタライズできないＰＤＬデータについては、ハードウェアによるレンダリング処理と共に、ソフトウェアによるレンダリング処理を行い、レンダリング処理が早く終了した方のレンダリング処理の結果を使用する技術がある（特許文献１を参照）。
【０００５】
【特許文献１】特開２００４−６６５３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、デジタル複合機のような画像処理装置では、一般的に、コピージョブ等は、プリントジョブよりも優先して処理すべきジョブである。そのため、プリントジョブを処理中（ハードウェアレンダラーが、入力されたＰＤＬデータをレンダリングしている最中）に、画像処理装置にコピージョブが入力されると、ハードウェアレンダラーを一時停止し、コピージョブの処理を優先的に実行する必要がある。しかしながら、従来の技術では、このようにすると、ＰＤＬデータのレンダリング処理が一時停止してしまい、最終的にＰＤＬデータの処理がそこで停止してしまうという問題点があった。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、ハードウェアを用いたレンダリングを行っている最中に、当該ハードウェアの動作を停止させる割り込み処理がなされても、当該レンダリングを可及的に早く終了させるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像形成装置は、ハードウェアを用いてレンダリングを行うハードレンダリング手段と、前記レンダリングに優先するイベントの割り込みを検知する検知手段と、前記ハードレンダリング手段によりレンダリングが行われているときに、前記検知手段により割り込みが検知されると、前記ハードレンダリング手段によりレンダリングを行う動作を停止させる停止手段と、前記ハードレンダリング手段によりレンダリングが行われているときに、前記検知手段により割り込みが検知されると、ソフトウェアを用いて当該レンダリングを行うソフトレンダリング手段とを有することを特徴とする。
【０００９】
本発明の画像形成方法は、ハードウェアを用いてレンダリングを行うハードレンダリングステップと、前記レンダリングに優先するイベントの割り込みを検知する検知ステップと、前記ハードレンダリングステップによりレンダリングが行われているときに、前記検知ステップにより割り込みが検知されると、前記ハードレンダリングステップによりレンダリングを行う動作を停止させる停止手段と、前記ハードレンダリングステップによりレンダリングが行われているときに、前記検知ステップにより割り込みが検知されると、ソフトウェアを用いて当該レンダリングを行うソフトレンダリングステップとを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ハードウェアを用いてレンダリングが行われているときに割り込みが検知されると、ハードウェアを用いたレンダリングを停止し、その代わりにソフトウェアを用いたレンダリングを行うようにした。したがって、ハードウェアを用いたレンダリングを行っている最中に、当該ハードウェアの動作を停止させる割り込み処理がなされても、当該レンダリングを可及的に早く終了させることができる。よって、レンダリングを含むジョブのパフォーマンスが低下することを可及的に防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下に、図面を参照しながら、本発明の実施形態について説明する。
＜画像形成システム構成＞
図１は、画像形成システムの構成の一例を示す図である。
図１において、ファイアーウォール３０３には、インターネット３０４と、ＬＡＮ４０に接続されている装置とが接続され、このファイアーウォール３０３によりセキュリティー管理等が行われる。機器管理サーバ３０２は、ＬＡＮ４０に接続されたデジタル複合機１０、ホストＰＣ２０、２１、ファイルサーバ３０１を管理するサーバである。ファイルサーバ３０１は、ＬＡＮ４０に接続された各装置のユーザが共有するデータを管理するサーバである。
デジタル複合機１０は、画像処理装置（画像形成装置）の一例であり、主に画像の入出力機能を有する。このデジタル複合機１０において、操作部１８０は、ユーザが各種の操作を行うためのものである。本実施形態では、操作部１８０は、タッチパネルを有する表示部を備えている。スキャナ部１４０は、操作部１８０やホストＰＣ２０、２１からの指示に従って画像を読み取るためのイメージスキャナである。プリンタ部１２０は、ホストＰＣ２０、２１やファイルサーバ３０１から送信されたデータを用紙に印刷するプリンタである。
【００１２】
画像処理コントローラ１００は、画像処理を主に行う。情報処理コントローラ２００は、情報処理を主に行う。画像処理コントローラ１００と情報処理コントローラ２００は、ローカル通信線７０を介して相互に接続されている。画像処理コントローラ１００と情報処理コントローラ２００の２つのコントローラで、操作部１８０やホストＰＣ２０、２１からの指示に基づいてスキャナ部１４０、プリンタ部１２０に対する画像データの入出力の制御を行う。例えば、スキャナ部１４０が取り込んだ画像データを、画像処理コントローラ１００や情報処理コントローラ２００の内部のメモリに蓄積したり、ホストＰＣ２０、２１に出力したり、プリンタ部１２０で印刷したりする等の制御が行われる。
【００１３】
＜デジタル複合機１０の外観＞
図２は、デジタル複合機１０の外観構成の一例を示す図である。
画像入力デバイスであるスキャナ部１４０は、ランプにより光が照射された原稿画像をＣＣＤラインセンサで読み取り、電気信号に変換することで画像データとして処理を行う。ユーザは、原稿用紙をドキュメントフィーダ１６０にセットし、操作部１８０から読み取り起動指示を行う。そうすると、ドキュメントフィーダ１６０は原稿用紙を１枚ずつフィードする。その後、原稿用紙はスキャナ部１４０に送られ、前述したようにして原稿画像の読み取り動作が行われる。
【００１４】
画像出力デバイスであるプリンタ部１２０は、画像データを用紙上の画像に変換する部分である。プリンタ部１２０は、感光体ドラムや感光体ベルトを用いた電子写真方式のものであっても、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字する方式のものであっても構わず、プリンタ部１２０のプリント方式は、特に限定されるものではない。プリント動作は、デジタル複合機１０の内部の画像処理コントローラ１００からの指示によって開始する。プリンタ部１２０は、異なる用紙サイズ又は異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット１２１、１２２、１２３、１２４を有する。また、画像形成された用紙は排紙トレイ１３０上に排出される。
【００１５】
＜デジタル複合機の構成：画像処理コントローラ＞
図３は、デジタル複合機１０の画像処理コントローラ１００の構成の一例を示す図である。
画像処理コントローラ１００は、画像入力デバイスであるスキャナ部１４０や画像出力デバイスであるプリンタ部１２０に接続して画像処理を行う。また、画像処理コントローラ１００は、公衆回線（ＷＡＮ）５０等に接続して画像の入出力を行う。
ＣＰＵ１１００は、画像処理コントローラ１００全体を制御するコントローラである。ＲＯＭ１１１０は、ブートＲＯＭであり、画像処理コントローラ１００のブートプログラムを格納している。ＲＡＭ１１２０は、ＣＰＵ１１００が動作するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。
【００１６】
ローカルＩ／Ｆ１１３０は、画像処理コントローラ１００が情報処理コントローラ２００と通信するための高速通信Ｉ／Ｆである。そのため、情報処理コントローラ２００も、同様のローカルＩ／Ｆ２１３０を持っている（図４を参照）。ローカルＩ／Ｆ１１３０、２１３０は、ローカル通信線７０を介して相互に接続されている。ローカルＩ／Ｆ１１３０は、ＰＣＩやPCI＿Express等の通信Ｉ／Ｆであってもよい。画像処理コントローラ１００と情報処理コントローラ２００との間では、画像やコマンド等、様々なデータが転送される。モデム１１４０は、公衆回線５０に接続し、データの入出力を行う。その他、本実施形態では、ハードレンダラーフラグ１５００、ソフトレンダリング終了フラグ１５１０を含むデバイスがシステムバス１３００に接続されている。ハードレンダラーフラグ１５００、ソフトレンダリング終了フラグ１５１０の実体は、例えばレジスタである。また、ハードレンダラーフラグ１５００、ソフトレンダリング終了フラグ１５１０に相当する機能を、例えばＲＡＭ１１２０が有していてもよい。ハードレンダラーフラグ１５００とソフトレンダリング終了フラグ１５１０は特徴的なものであるので、これらの詳細については後述する。
【００１７】
イメージバスＩ／Ｆ１１５０は、システムバス１３００と、画像データを高速で転送する画像バス１３１０とを相互に接続し、データ構造を変換するバスブリッジである。
スキャナＩ／Ｆ１２００は、スキャナ部１４０と相互に接続され、スキャナ部１４０のＣＰＵと通信を行う。また、スキャナＩ／Ｆ１２００は、画像データの同期系／非同期系の変換を行う。その他、スキャナＩ／Ｆ１２００は、スキャナ部１４０に接続されたドキュメントフィーダ１６０に紙が置かれた場合に割り込みを受けること等も可能である。
【００１８】
プリンタＩ／Ｆ１２１０は、プリンタ部１２０と相互に接続され、プリンタ部１２０のＣＰＵと通信を行う。また、プリンタＩ／Ｆ１２１０は、画像データの同期系／非同期系の変換を行う。画像圧縮部１２２０は、多値画像データに対してＪＰＥＧで圧縮伸張処理を行ったり、２値画像データに対してＪＢＩＧ、ＭＭＲ、ＭＨで圧縮伸張処理を行ったりする。画像回転部１２３０は、画像データの回転を行う。ＲＩＰ（Raster image processor）１２４０は、情報処理コントローラ２００で生成され、ハードウェアで処理できる中間言語（本実施形態ではＤＬ（ディスプレイ・リスト））を、ラスタライズデータ（ラスタデータ）に展開する。ここで、ラスタライズデータは、例えばビットマップイメージデータである。尚、以下の説明では、ＲＩＰ１２４０が、ＤＬデータをラスタライズデータに展開することを、必要に応じてハードレンダリングと称する。以上のデバイスが、画像バス１３１０に接続されている。
【００１９】
＜デジタル複合機の構成：情報処理コントローラ＞
図４は、デジタル複合機１０の情報処理コントローラ２００の構成の一例を示す図である。
情報処理コントローラ２００は、主にデジタル複合機１０の情報処理を行うコントローラである。この情報処理コントローラ２００は、ＬＡＮ４０や操作部１８０に接続することで、画像情報やデバイス情報の入出力やユーザからのコマンドに対応する。また、情報処理コントローラ２００は、ＬＡＮ４０や図示しないダウンロードＩ／Ｆを使用して、ソフトウェアやアプリケーションプログラムのアップグレードを行い、ソフトウェア処理を容易に拡張できるものである。
【００２０】
ＣＰＵ２１００は、情報処理コントローラ２００全体を制御するコントローラである。ＲＯＭ２１１０は、ブートＲＯＭであり、情報処理コントローラ２００のブートプログラム等を格納している。ＲＡＭ２１２０は、ＣＰＵ２１００が動作するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。
ローカルＩ／Ｆ１１３０は、前述したように情報処理コントローラ２００が画像処理コントローラ１００と通信を行うための高速Ｉ／Ｆである。ＨＤＤ２１４０は、ハードディスクドライブであり、システムソフトウェア、画像データ、ソフトウェアカウンタ値等を格納する。ここで、システムソフトウェアは、コピー機能やＦＡＸ機能等、様々な機能を実行するソフトウェアである。本実施形態では、このシステムソフトウェアを、必要に応じてbootableと称する。
【００２１】
bootableは、コピー・ＦＡＸ・ＳＥＮＤ・ＳＣＡＮ・操作部（ＵＩ）表示等の機能を実現するためのプログラムであり、ＲＡＭ２１２０や、画像処理コントローラ１００のＲＡＭ１１２０に展開されて動作する。情報処理コントローラ２００は、デジタル複合機１０で必要なbootableのみを画像処理コントローラ１００に送信する。画像処理コントローラ１００は、受信したbootableをＲＡＭ１１２０に展開することでbootableの動作を可能とする。
操作部Ｉ／Ｆ２１５０は、ＵＩである操作部１８０とのインターフェース部であり、操作部１８０に表示する画像データを操作部１８０に対して出力する。また、操作部１８０は、デジタル複合機１０のユーザが操作部１８０に対して入力した情報を、ＣＰＵ１１００に伝える役割をする。
【００２２】
ＬＡＮＣ２１６０は、ＬＡＮ４０に接続し、画像データの入出力や機器制御に関わる情報の入出力を行う。また、ＬＡＮＣ２１６０は、ＬＡＮ４０に接続されているホストＰＣ２０、２１や図示しない出力用画像データ管理装置から、操作部１８０による入力操作に応じた出力用画像データを受信する。拡張Ｉ／Ｆ２１７０は、音声機能等の拡張機能に対するインターフェースである。ＰＤＬテーブル２５００は、ＬＡＮ４０から受信した"ＰＤＬデータを含むＰＤＬジョブ"の処理状況や、ＤＬデータの格納場所等を示すテーブルである。ＰＤＬテーブル２５００は特徴的なものであるので、その詳細については後述する。
また、本実施形態では、情報処理コントローラ２００は、特徴的な機能として、ＬＡＮ４０から受信したＰＤＬデータを、ソフトウェアによりＤＬデータに変換する機能を備えている。その他、情報処理コントローラ２００は、ハードレンダリング用に生成されたＤＬデータを、ソフトウェアによりラスタライズデータ（例えばビットマップイメージデータ）に展開することも可能である。以下の説明では、ＤＬデータをソフトウェアによりラスタライズデータに展開することを、必要に応じてソフトレンダリングと称する。ソフトレンダリングが有する機能は、画像処理コントローラ１００のＲＩＰ１２４０で実行されるハードレンダリングが有する機能と同じである。
【００２３】
＜ハードレンダラーフラグ１５００＞
図３に示したハードレンダラーフラグ１５００は、ＲＩＰ１２４０がハードレンダリングしている状態の場合にＯＮとなり、それ以外の場合にＯＦＦとなるフラグである。例えば、ハードレンダラーフラグ１５００は、画像処理コントローラ１００のＲＩＰ１２４０がＤＬデータをハードレンダリングしているときにＯＮとなる。また、コピージョブ等の優先度の高い割り込みジョブを画像処理コントローラ１００が受信し、ＲＩＰ１２４０によるハードレンダリングが一時的に停止している場合でも、ハードレンダリング処理を終了させているわけではない。したがって、本実施形態では、このような場合でもハードレンダラーフラグ１５００をＯＮのままにしている。
【００２４】
＜ソフトレンダリング終了フラグ１５１０＞
図３に示したソフトレンダリング終了フラグ１５１０は、ソフトレンダリングが終了したか否かを示すフラグである。ソフトレンダリングが終了すると、情報処理コントローラ２００により、ソフトレンダリング終了フラグ１５１０はＯＮに設定される。そして、画像処理コントローラ１００により、ソフトレンダリング終了フラグ１５１０がＯＦＦに設定される。
＜ＰＤＬテーブル＞
図５は、ＰＤＬテーブル２５００の内容の一例を詳細に示す図である。前述したように、ＰＤＬテーブル２５００は、情報処理コントローラ２００が受信したＰＤＬデータの処理状況と、ＤＬデータの格納場所とを示すテーブルである。このＰＤＬテーブル２５００は、情報処理コントローラ２００がＰＤＬデータを受信した場合に、ＲＡＭ２１２０又はＨＤＤ２１４０に作成される。図５では、情報処理コントローラ２００が受信したＰＤＬジョブが４ページある場合を例に挙げて示している。
図５において、Ｐａｇｅの項目は、情報処理コントローラ２００が受信したＰＤＬデータのページを示す。ＤＬ生成済フラグの項目は、情報処理コントローラ２００が受信したＰＤＬデータからＤＬデータを生成済か否かを示すフラグの状態を示す。ＤＬ格納場所の項目は、情報処理コントローラ２００で生成したＤＬデータの格納場所を示す。ＤＬデータは、主に、ＨＤＤ２１４０に格納されるが、ＲＡＭ２１２０に格納されるようにしてもよい。レンダリング処理済フラグの項目は、レンダリング処理により、ＤＬデータからラスタライズデータが生成された否かを示す。また、レンダリング処理済フラグの項目には、ハードレンダリング及びソフトレンダリングの何れによってレンダリング処理が実行されたのかを示す情報を含まれる。
【００２５】
図５（ａ）は、初期状態のＰＤＬテーブル２５００の一例を示す図である。すなわち、図５（ａ）に示すＰＤＬテーブル２５００は、ＰＤＬデータを受信することによって作成された直後の状態を示す。図５（ａ）に示すＰＤＬテーブル２５００では、全てのページでＤＬデータが生成されていない。よって、ＤＬ格納場所もまだ決まっていない。また、図５（ａ）に示すＰＤＬテーブル２５００では、レンダリングもされていないので、レンダリング処理済フラグが全て未となっている。
図５（ｂ）は、Page１からPage３のＤＬデータは生成済みであるが、Page４のみがまだＤＬデータを生成できていない状態におけるＰＤＬテーブル２５００の一例を示す図である。Page１からPage３のＤＬデータは生成済みなので、図５（ｂ）に示すＰＤＬテーブル２５００には、生成済みのＤＬデータの格納場所がＤＬ格納場所に夫々示されている。また、図５（ｂ）に示すＰＤＬテーブル２５００では、Page１でのみハードレンダリングによりレンダリング処理が終了していることを示している。
【００２６】
図５（ｃ）は、全てのページのレンダリング処理が終了している状態におけるＰＤＬテーブル２５００の一例を示す図である。すなわち、図５（ｃ）に示すＰＤＬテーブル２５００は、情報処理コントローラ２００が受信した"ＰＤＬデータを含むジョブ"の処理が終了した状態を示す。このようにしてレンダリング処理済フラグが全て済になると、情報処理コントローラ２００から、該当するＤＬデータが全て削除される。
また、ＰＤＬテーブル２５００は、該当する全てのＰＤＬデータがレンダリングされ、全て印刷が終了すると削除される。
【００２７】
＜優先割り込み検知テーブル＞
図６は、優先割り込み検知テーブルの内容の一例を示す図である。優先割り込み検知テーブルは、画像処理コントローラ１００が優先して処理すべき割り込み処理を、画像処理コントローラ１００や情報処理コントローラ２００が決定するためのテーブルである。
図６に示すような優先割り込み検知テーブルは、画像処理コントローラ１００の不揮発性のＲＯＭ１１１０に格納されていてもよいし、情報処理コントローラ２００のＨＤＤ２１４０に格納されていてもよい。この優先割り込み検知テーブルの内容は、一意に決定されていてもよいし、操作部１８０やＬＡＮ４０経由でユーザにより任意に設定されてもよい。図６に示す例では、コピージョブを最も優先して処理し、次にＳＥＮＤジョブを、その次にＰＤＬジョブを、更にその次にＦＡＸジョブを優先して処理するという優先順位を示している。尚、優先割り込み検知テーブルにより示される優先順位は、フィーダに紙が置かれたこと等、ジョブに限るものではない。
【００２８】
＜画像処理コントローラによる制御フローチャート＞
図７は、画像処理コントローラ１００における処理の一例を説明するフローチャートである。
ステップＳ１０１において、画像処理コントローラ１００は、情報処理コントローラ２００よりＤＬデータを受信する。
次に、ステップＳ１０２において、画像処理コントローラ１００は、ハードレンダリングを実行できるか否かを判定する。この判定の結果、コピージョブ等、優先して処理すべきジョブがあれば、ハードレンダリングを開始できるまで待つ。
【００２９】
ハードレンダリングを開始できる状態になると、ステップＳ１０３に進む。ステップＳ１０３に進むと、画像処理コントローラ１００は、ＲＩＰ１２４０のレジスタ設定や、メモリの確保等、ハードレンダリングに必要な設定を行う。そして、最後に、画像処理コントローラ１００は、ハードレンダラーフラグ１５００をＯＮに設定する。
次に、ステップＳ１０４において、画像処理コントローラ１００は、ＲＩＰ１２４０を使用してハードレンダリングを開始する。
以上のように本実施形態では、例えば、ステップＳ１０４の処理を行うことによりハードレンダリング手段の一例が実現される。
次に、ステップＳ１０５において、画像処理コントローラ１００は、ソフトレンダリング終了フラグ１５１０がＯＮに設定されているか否かを判定する。この判定の結果、ソフトレンダリング終了フラグ１５１０がＯＮに設定されている場合には、後述するステップＳ１１２に進む。
【００３０】
一方、ソフトレンダリング終了フラグ１５１０がＯＮに設定されていない場合には、ステップＳ１０６に進む。ステップＳ１０６に進むと、画像処理コントローラ１００は、優先割り込み検知テーブルの内容に基づいて、ハードレンダリングの実行を一時的に停止する必要のある割り込みを検知したか否かを判定する。この判定の結果、ハードレンダリングの実行を一時的に停止する必要のある割り込みを検知した場合には、後述するステップＳ１０９に進む。
以上のように本実施形態では、例えば、ステップＳ１０６の処理を行うことにより検知手段の一例が実現される。
一方、ハードレンダリングの実行を一時的に停止する必要のある割り込みを検知していない場合には、ステップＳ１０７に進む。ステップＳ１０７に進むと、画像処理コントローラ１００は、ステップＳ１０４で開始したハードレンダリングが終了したか否かを判定する。この判定の結果、ハードレンダリングが終了していない場合には、前述したステップＳ１０５に戻る。
一方、ハードレンダリングが終了した場合には、ステップＳ１０８に進む。ステップＳ１０８に進むと、画像処理コントローラ１００は、ハードレンダリング終了コマンドを情報処理コントローラ２００に発行する。ここで、ハードレンダリングが終了したので、画像処理コントローラ１００は、ハードレンダラーフラグ１５００をＯＦＦに設定する。ハードレンダリングの結果はＲＡＭ１１２０に展開されている。図示しない印刷ジョブを管理するタスクにより、画像処理コントローラ１００は、情報処理コントローラ２００と通信し、通信した結果に基づいて、ハードレンダリングの結果を処理する。例えば、画像処理コントローラ１００は、ハードレンダリングの結果をプリンタ部１２０に出力したり、必要に応じて一度情報処理コントローラ２００に転送したりする。そして、図７のフローチャートによる処理を終了する。
【００３１】
前述したステップＳ１０６において、ハードレンダリングの実行を一時的に停止する必要のある割り込みを検知したと判定された場合には、ステップＳ１０９に進む。例えば、図６に示した優先割り込み検知テーブルを使用した場合には、例えば、ハードレンダリングを実行している最中に、コピージョブやＳＥＮＤジョブが画像処理コントローラ１００に入力された場合に、ステップＳ１０９に進む。
ステップＳ１０９に進むと、画像処理コントローラ１００は、ハードレンダリングの実行を一時的に停止する。
以上のように本実施形態では、例えば、ステップＳ１０９の処理を行うことにより停止手段の一例が実現される。
次に、ステップＳ１１０において、画像処理コントローラ１００は、優先割り込み検知コマンドを情報処理コントローラ２００に発行する。この優先割り込み検知コマンドは、情報処理コントローラ２００においてソフトレンダリングを開始させるためのコマンドである。
【００３２】
次に、ステップＳ１１１において、画像処理コントローラ１００は、割り込みによってハードレンダリングよりも優先して実行する必要のある処理が終了するまで待つ。そして、ハードレンダリングよりも優先して実行する必要のある処理が終了すると、ステップＳ１０４に戻り、ハードレンダリングを再開する。
このように本実施形態では、例えば、ステップＳ１１１からステップＳ１０４に戻ってハードレンダリングを再開することにより、再開手段の一例が実現される。また、例えば、画像処理コントローラ１００等が、ハードレンダリングよりも優先して実行する必要のある処理を実行することにより、実行手段の一例が実現される。
【００３３】
また、前述したステップＳ１０５において、ソフトレンダリング終了フラグ１５１０がＯＮに設定されていると判定されると、ステップＳ１１２に進む。ステップＳ１１２に進むと、画像処理コントローラ１００は、ハードレンダラーを初期化し、ハードレンダラーフラグ１５００をＯＦＦに設定する。ここで、ハードレンダラーの初期化とは、例えば、ＲＩＰ１２４０のレジスタ・モジュールのクリアと、メモリ上にあるレンダリングデータ（ＤＬデータと展開中のラスタライズデータ）のクリアである。そして、図７のフローチャートによる処理を終了する。
以上のように本実施形態では、例えば、ステップＳ１１２の処理を行うことにより削除手段の一例が実現される。
【００３４】
＜情報処理コントローラによるＤＬ生成時の制御フローチャート＞
図８は、ＤＬデータを生成する際の情報処理コントローラ２００における処理の一例を説明するフローチャートである。
ステップＳ２０１において、情報処理コントローラ２００は、ＬＡＮ４０を介して外部装置からＰＤＬデータを受信する。情報処理コントローラ２００は、ＰＤＬデータを受信すると、そのＰＤＬデータ用のＰＤＬテーブル２５００を生成する。
次に、ステップＳ２０２において、情報処理コントローラ２００は、ステップＳ２０１で受信したＰＤＬデータをＤＬデータに変換する。情報処理コントローラ２００は、生成したＤＬデータを、ＲＡＭ２１２０又はＨＤＤ２１４０に格納する。ＤＬデータは、そのページ数が多い場合には、ＨＤＤ２１４０に格納されるのが一般的である。ただし、生成したＤＬデータを十分に保存できるメモリエリアがある場合には、そのメモリエリアを有するＲＡＭ２１２０等のメモリにＤＬデータを格納してもよい。
【００３５】
情報処理コントローラ２００は、ＤＬデータを生成すると、ＰＤＬテーブル２５００を参照し、そのＤＬデータが示すページにおけるＤＬ生成済フラグを済にすると共に、ＤＬ格納場所に、ＤＬデータを格納した領域を示すデータを格納する。ステップＳ２０１で受信したＰＤＬデータを全て処理するまで、ステップＳ２０２の処理が繰り返し実行される。
このようにすることによって、ハードレンダリングが再開される前に、ハードレンダリングの代替となるソフトレンダリングが終了した場合でも、ＤＬデータを生成していないＰＤＬデータがあれば、そのＰＤＬデータからＤＬデータを逐次生成することができる。また、ハードレンダリングが再開される前に、ハードレンダリングの代替となるソフトレンダリングが終了した場合に、ステップＳ２０１で新たなＰＤＬデータを受信していると、そのＰＤＬデータからＤＬデータを生成することもできる。
【００３６】
<情報処理コントローラによるＤＬ生成後の制御フローチャート>
図９は、ＤＬデータを作成した後の情報処理コントローラ２００における処理の一例を説明するフローチャートである。
ステップＳ３０１において、情報処理コントローラ２００は、図８のステップＳ２０２で生成したＤＬデータを、画像処理コントローラ１００に転送する。このとき、情報処理コントローラ２００は、ＰＤＬテーブル２５００のＤＬ生成済フラグが済であり、レンダリング処理済フラグが未のＤＬデータを画像処理コントローラ１００に転送する。
ここで、情報処理コントローラ２００は、図８のステップＳ２０２で１ページ分のＤＬデータが作成される度に、当該ＤＬデータを転送してもよいし、ＰＤＬデータに基づく全ページのＤＬデータが作成される度に、当該ＤＬデータを転送してもよい。また、情報処理コントローラ２００は、この他のタイミングでＤＬデータを転送してもよい。
【００３７】
次に、ステップＳ３０２において、情報処理コントローラ２００は、画像処理コントローラ１００から優先割り込み検知コマンドを受信したか否かを判定する（図７のステップＳ１１０を参照）。この判定の結果、優先割り込み検知コマンドを受信した場合には、後述するステップＳ３０６に進む。
一方、優先割り込み検知コマンドを受信していなければ、ステップＳ３０３に進む。ステップＳ３０３に進むと、情報処理コントローラ２００は、画像処理コントローラ１００からハードレンダリング終了コマンドを受信したか否かを判定する（図７のステップＳ１０８を参照）。
【００３８】
この判定の結果、画像処理コントローラ１００からハードレンダリング終了コマンドを受信していない場合には、ステップＳ３０２に戻る。一方、画像処理コントローラ１００からハードレンダリング終了コマンドを受信した場合には、ステップＳ３０４に進む。ステップＳ３０４に進むと、次ページのＤＬデータがあるか否かを判定する。ここで、次ページのＤＬデータがあるか否かについては、ＰＤＬテーブル２５００のＤＬ生成済フラグが済であり、且つ、レンダリング処理済フラグが未のページがあるか否かによって判定する。
この判定の結果、ＤＬ生成済フラグが済であり、レンダリング処理済フラグが未のページがある場合、つまり、次ページのＤＬデータがある場合には、ステップＳ３０１に戻る。一方、ＤＬ生成済フラグが済であり、レンダリング処理済フラグが未のページがない場合、つまり、次ページのＤＬデータがない場合には、ステップＳ３０５に進む。ステップＳ３０５に進むと、情報処理コントローラ２００は、レンダリングを行ったＰＤＬデータに関するデータ（ＰＤＬテーブル２５００とＤＬデータ）を全て削除する。そして、図９のフローチャートによる処理を終了する。
【００３９】
前述したステップＳ３０２において、優先割り込み検知コマンドを受信した場合には、ステップＳ３０６に進む。ステップＳ３０６に進むと、情報処理コントローラ２００は、ステップＳ３０１で転送したＤＬデータのソフトレンダリングを開始する。ソフトレンダリングの対象となるＤＬデータは、ＰＤＬテーブル２５００のＤＬ生成済フラグが済であり、且つ、レンダリング処理済スラグが未であるページのＤＬデータであって、最も小さいページ（Page）のＤＬデータである。そして、情報処理コントローラ２００は、ソフトレンダリング開始コマンドを画像処理コントローラ１００に発行する。このソフトレンダリング開始コマンドを受信した画像処理コントローラ１００は、ソフトレンダリング終了フラグ１５１０がＯＮに設定されている場合にはＯＦＦに設定する。尚、ソフトレンダリング終了フラグ１５１０をＯＦＦに設定するタイミングは、このタイミングに限定されない。例えば、後述する図９のステップＳ３１２で、ソフトレンダリング終了フラグ１５１０をＯＦＦに設定するための処理を行うようにしてもよい。
以上のように本実施形態では、例えば、ステップＳ３０６の処理を行うことによりソフトレンダリング手段の一例が実現される。
【００４０】
また、前述したように、ハードレンダリングが再開される前に、ハードレンダリングの代替となるソフトレンダリングが終了した場合でも、ＤＬデータを生成していないＰＤＬデータがあれば、そのＰＤＬデータからＤＬデータを逐次生成するようにしている。したがって、このような場合、ステップＳ３０６において、情報処理コントローラ２００は、ソフトレンダリングを行っていないＤＬデータに対してソフトレンダリングを逐次行うことができる。
【００４１】
次に、ステップＳ３０７において、情報処理コントローラ２００は、ハードレンダラーフラグ１５００がＯＦＦか否かを判定する。この判定の結果、ハードレンダラーフラグ１５００がＯＦＦである場合には、後述するステップＳ３１２に進む。
一方、ハードレンダラーフラグ１５００がＯＦＦでない場合（ＯＮである場合）には、ステップＳ３０８に進む。ステップＳ３０８に進むと、情報処理コントローラ２００は、ハードレンダリング終了コマンドを画像処理コントローラ１００から受信したか否かを判定する（図７のステップＳ１０８を参照）。この判定の結果、ハードレンダリング終了コマンドを画像処理コントローラ１００から受信した場合には、後述するステップＳ３１２に進む。
一方、ハードレンダリング終了コマンドを画像処理コントローラ１００から受信していない場合には、ステップＳ３０９に進む。ステップＳ３０９に進むと、情報処理コントローラ２００は、ステップＳ３０６で開始したソフトレンダリングが終了したか否かを判定する。この判定の結果、ソフトレンダリングが終了していない場合には、ステップＳ３０７に戻る。
【００４２】
一方、ソフトレンダリングが終了した場合には、ステップＳ３１０に進む。ステップＳ３１０に進むと、情報処理コントローラ２００は、ソフトレンダリング終了コマンドを画像処理コントローラ１００に発行する。このソフトレンダリング終了コマンドを受信した画像処理コントローラ１００は、ソフトレンダリング終了フラグ１５１０をＯＮに設定する。
ソフトレンダリングによりラスタライズされた画像データは、必要に応じてＪＢＩＧ等で圧縮され、画像処理コントローラ１００で印刷できる状態になるまでＲＡＭ２１２０又はＨＤＤ２１４０に格納される。情報処理コントローラ２００は、図示しない印刷ジョブを管理するタスクにより、画像処理コントローラ１００と通信し、通信した結果に基づいて、格納された画像データを、印刷できるタイミングで画像処理コントローラ１００に転送する。
【００４３】
次に、ステップＳ３１１において、情報処理コントローラ２００は、次ページのＤＬデータがあるか否かを判定する。この判定は、例えばステップＳ３０４と同様にして行うことができる。この判定の結果、次ページのＤＬデータがある場合には、ステップＳ３０６に戻る。
一方、次ページのＤＬデータがない場合には、ステップＳ３１２に進む。また、前述したように、ハードレンダラーフラグがＯＦＦに設定されている場合（ステップＳ３０７）、ハードレンダリング終了コマンドを受信した場合（ステップＳ３０８）にも、ステップＳ３１２に進む。ステップＳ３１２に進むと、情報処理コントローラ２００は、ソフトレンダラーのクリアを行う。そして、ステップＳ３０４に進む。ここで、ソフトレンダラーのクリアとは、ソフトレンダリング用に確保したＲＡＭ２１２０のＷｏｒｋエリアの開放や、ソフトレンダリング用に必要な設定のクリア等の処理を行うことである。このステップＳ３１２の処理は、現在処理中のソフトレンダリング処理を中断することを示す。
尚、ステップＳ３０７において、ハードレンダラーフラグがＯＦＦに設定されていると判定されてステップＳ３１２に進む場合は、ステップＳ３１１において、次のページのＤＬデータがあると判定された場合である。すなわち、ハードレンダリングが可能である状態で、次ページ以降のＤＬデータをソフトレンダリングしている最中に、ステップＳ３０７からステップＳ３１２に進む。
以上のように本実施形態では、例えば、ステップＳ３１２の処理を行うことにより削除手段の一例が実現される。
【００４４】
＜第１の動作例：ＰＤＬデータが１ページで、ハードレンダリングのみが実行された場合＞
図１０は、本実施形態の第１の動作例を説明するタイミングチャートである。第１の動作例では、まず、情報処理コントローラ２００が１ページのＰＤＬデータを受信する。そして、画像処理コントローラ１００でハードレンダリングのみが実行される。尚、図１０では、図の上から下に向けて時間が進むものとする。また、図１１は、第１の動作例における、ＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の内容の一例を示す図である。
【００４５】
図１０において、まず、タイミングＴ１０１で、情報処理コントローラ２００は、ＰＤＬデータを受信する。このとき、図１１（ａ）に示すようなＰＤＬテーブル２５００が生成される。
次に、タイミングＴ１０２で、情報処理コントローラ２００は、ＤＬデータを作成し、画像処理コントローラ１００に、生成したＤＬデータを転送する。
次に、タイミングＴ１０３で、画像処理コントローラ１００は、ＤＬデータを受信し、ハードレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１１（ｂ）に示す状態である。
次に、タイミングＴ１０４で、画像処理コントローラ１００は、ハードレンダリングの終了を検知し、ハードレンダリング終了コマンドを情報処理コントローラ２００に発行する。
【００４６】
次に、タイミングＴ１０５で、画像処理コントローラ１００は、ハードレンダリングにより生成したラスターデータを印刷する。
次に、タイミングＴ１０６で、情報処理コントローラ２００は、ハードレンダリング終了コマンドを受信する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１１（ｃ）に示す状態である。
第１の動作例ではＰＤＬデータは１ページであり、次ページのＤＬデータがないので、タイミングＴ１０７で、情報処理コントローラ２００は、生成したＤＬデータを削除する。
【００４７】
＜第２の動作例：ＰＤＬが１ページで、ハードレンダリング中に優先割り込みが発生した場合１＞
図１２は、本実施形態の第２の動作例を説明するタイミングチャートである。第２の動作例では、まず、情報処理コントローラ２００が１ページのＰＤＬデータを受信する。そして、画像処理コントローラ１００でハードレンダリングを実行している最中に優先割り込みが発生し、情報処理コントローラ２００でソフトレンダリングを実行する。そして、ソフトレンダリングの方がハードレンダリングよりも早く終了する。また、図１２でも、図の上から下に向けて時間が進むものとする。また、図１３は、第２の動作例における、ＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の内容の一例を示す図である。
【００４８】
図１２において、まず、タイミングＴ２０１で、情報処理コントローラ２００は、ＰＤＬデータを受信する。このとき、図１３（ａ）に示すようなＰＤＬテーブル２５００が生成される。
次に、タイミングＴ２０２で、情報処理コントローラ２００は、ＤＬデータを作成し、画像処理コントローラ１００に、生成したＤＬデータを転送する。
次に、タイミングＴ２０３で、画像処理コントローラ１００は、ＤＬデータを受信し、ハードレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１３（ｂ）に示す状態である。
【００４９】
次に、タイミングＴ２０４で、画像処理コントローラ１００は、優先割り込みとしてコピージョブの割り込みを受信する。そして、画像処理コントローラ１００は、ハードレンダリングを一時停止し、情報処理コントローラ２００に優先ジョブ検知コマンドを発行する。
次に、タイミングＴ２０５で、情報処理コントローラ２００は、ソフトレンダリングを開始する。
次に、タイミングＴ２０６で、情報処理コントローラ２００は、ソフトレンダリングの終了を検知し、ソフトレンダリング終了コマンドを画像処理コントローラ１００に発行する。
【００５０】
第２の動作例ではＰＤＬデータは１ページであり、次ページのＤＬデータがないので、タイミングＴ２０７で、情報処理コントローラ２００は、生成したＤＬデータを削除する。
また、タイミングＴ２０８で、画像処理コントローラ１００は、ソフトレンダリング終了コマンドを受信し、ソフトレンダリング終了フラグをＯＮに設定する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１３（ｃ）に示す状態から図１３（ｄ）に示す状態に遷移する。
次に、タイミングＴ２０９で、画像処理コントローラ１００は、コピージョブの処理の終了を検知し、そのことを情報処理コントローラ２００に伝える。
【００５１】
次に、ソフトレンダリング終了フラグがＯＮに設定されているので、タイミングＴ２１０で、画像処理コントローラ１００は、ハードレンダラーの初期化を行う。本実施形態では、例えば、このタイミングＴ２１０における処理を実行することにより、削除手段の一例が実現される。
また、タイミングＴ２１１で、情報処理コントローラ２００は、ソフトレンダリングにより生成したラスタライズデータを画像処理コントローラ１００に転送する。情報処理コントローラ２００は、画像処理コントローラ１００と通信し、通信した結果に基づいて、印刷できるタイミングを判断し、そのタイミングで、ソフトレンダリングにより生成したラスタライズデータを画像処理コントローラ１００に転送する。
次に、タイミングＴ２１２で、画像処理コントローラ１００は、情報処理コントローラ２００からラスタライズデータを受信し、ハードレンダリングで生成したラスタライズデータと受信したラスタライズデータとに基づいて、ＰＤＬデータの印刷を実行する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１３（ｅ）に示す状態である。本実施形態では、例えば、このタイミングＴ２１２における処理を実行することにより、形成手段の一例が実現される。
【００５２】
＜第３の動作例：ＰＤＬが１ページで、ハードレンダリング中に優先割り込みが発生した場合２＞
図１４は、本実施形態の第３の動作例を説明するタイミングチャートである。第３の動作例では、まず、情報処理コントローラ２００が１ページのＰＤＬデータを受信する。そして、画像処理コントローラ１００でハードレンダリングしている最中に優先割り込みが発生し、情報処理コントローラ２００でソフトレンダリングを実行する。そして、ハードレンダリングの方がソフトレンダリングよりも早く終了する。尚、図１４でも、図の上から下に向けて時間が進むものとする。また、図１５は、第３の動作例における、ＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の内容の一例を示す図である。
【００５３】
図１４において、まず、タイミングＴ３０１で、情報処理コントローラ２００は、ＰＤＬデータを受信する。このとき、図１５（ａ）に示すようなＰＤＬテーブル２５００が生成される。
次に、タイミングＴ３０２で、情報処理コントローラ２００は、ＤＬデータを作成し、画像処理コントローラ１００に生成したＤＬデータを転送する。
次に、タイミングＴ３０３で、画像処理コントローラ１００は、ＤＬデータを受信し、ハードレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０は、図１５（ｂ）に示す状態である。
【００５４】
次に、タイミングＴ３０４で、画像処理コントローラ１００は、優先割り込みとしてコピージョブの割り込みを受信する。そして、画像処理コントローラ１００は、ハードレンダリングを一時停止し、情報処理コントローラ２００に優先ジョブ検知コマンドを発行する。
次に、タイミングＴ３０５で、情報処理コントローラ２００は、ソフトレンダリングを開始する。
また、タイミングＴ３０６で、画像処理コントローラ１００は、コピージョブの終了を検知し、ハードレンダリングを再開する。
次に、タイミングＴ３０７で、画像処理コントローラ１００は、ハードレンダリングの終了を検知し、ハードレンダリング終了コマンドを情報処理コントローラ２００に発行する。
【００５５】
次に、タイミングＴ３０８で、画像処理コントローラ１００は、ハードレンダリングで生成したラスタライズデータに基づいて、ＰＤＬデータの印刷を実行する。本実施形態では、例えば、このタイミングＴ３０８における処理を実行することにより、形成手段の一例が実現される。
また、タイミングＴ３０９で、情報処理コントローラ２００は、ハードレンダリング終了コマンドを受信し、ソフトレンダラーのクリアを行う。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１５（ｃ）に示す状態である。本実施形態では、例えば、このタイミングＴ３０９における処理を実行することにより、削除手段の一例が実現される。
第３の動作例ではＰＤＬデータは１ページであり、次ページのＤＬデータがないので、タイミングＴ３１０で、情報処理コントローラ２００は、生成したＤＬデータを削除する。
【００５６】
＜第４の動作例：ＰＤＬが２ページで、ハードレンダリング中に優先割り込みが発生し、２ページともソフトレンダリング処理を行った場合＞
図１６は、本実施形態の第４の動作例を説明するタイミングチャートである。第４の動作例では、まず、情報処理コントローラ２００が２ページのＰＤＬデータを受信する。そして、画像処理コントローラ１００でハードレンダリングしている最中に優先割り込みが発生し、情報処理コントローラ２００で２ページともソフトレンダリングを実行する。尚、図１６でも、図の上から下に向けて時間が進むものとする。また、図１７は、第４の動作例における、ＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の内容の一例を示す図である。
【００５７】
図１６において、まず、タイミングＴ４０１で、情報処理コントローラ２００は、ＰＤＬデータを受信する。このとき、図１７（ａ）に示すようなＰＤＬテーブル２５００が生成される。
次に、タイミングＴ４０２で、情報処理コントローラ２００は、ＤＬデータを作成し、画像処理コントローラ１００に、生成したＤＬデータを転送する。
次に、タイミングＴ４０３で、画像処理コントローラ１００は、ＤＬデータを受信し、ハードレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１７（ｂ）に示す状態である。
【００５８】
次に、タイミングＴ４０４で、画像処理コントローラ１００は、優先割り込みとしてコピージョブの割り込みを受信する。そして、画像処理コントローラ１００は、ハードレンダリングを一時停止し、情報処理コントローラ２００に優先ジョブ検知コマンドを発行する。
次に、タイミングＴ４０５で、情報処理コントローラ２００は、ソフトウェアレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１７（ｃ）に示す状態である。
【００５９】
次に、タイミングＴ４０６で、情報処理コントローラ２００は、ソフトレンダリングの終了を検知し、ソフトレンダリング終了コマンドを画像処理コントローラ１００に発行する。
次に、タイミングＴ４０７で、画像処理コントローラ１００は、ソフトレンダリング終了コマンドを受信し、ソフトレンダリング終了フラグ１５１０をＯＮに設定する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１７（ｄ）に示す状態である。
また、第４の動作例では、次ページ（２ページ目）のＤＬデータがあるので、タイミングＴ４０８で、情報処理コントローラ２００は、２ページ目のＤＬデータのソフトレンダリングを開始する。
【００６０】
次に、タイミングＴ４０９で、情報処理コントローラ２００は、ソフトレンダリングの終了を検知し、ソフトレンダリング終了コマンドを画像処理コントローラ１００に発行する。
そして、次ページのＤＬデータがなくなったので、タイミングＴ４１０で、情報処理コントローラ２００は、生成したＤＬデータを削除する。
また、タイミングＴ４１１では、ソフトレンダリング終了フラグはＯＮの状態のままである。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１７（ｅ）に示す状態である。
次に、タイミングＴ４１２で、画像処理コントローラ１００は、コピージョブの処理の終了を検知し、そのことを情報処理コントローラ２００に伝える。
また、ソフトレンダリングフラグがＯＮに設定されているので、タイミングＴ４１３で、画像処理コントローラ１００は、ハードレンダラーの初期化を行う。そして、画像処理コントローラ１００は、ハードレンダラーフラグ１５００をＯＦＦに設定する。本実施形態では、例えば、このタイミングＴ４１３における処理を実行することにより、削除手段の一例が実現される。
【００６１】
次に、タイミングＴ４１４で、情報処理コントローラ２００は、ソフトレンダリングにより生成したラスタライズデータを画像処理コントローラ１００に転送する。情報処理コントローラ２００は、画像処理コントローラ１００と通信し、通信した結果に基づいて、印刷できるタイミングを判断し、そのタイミングで、ソフトレンダリングにより生成したラスタライズデータを画像処理コントローラ１００に転送する。第４の動作例では、ソフトレンダリング処理により生成されたラスタライズデータが２ページあるので、２ページ分のラスタライズデータを転送する。
次に、タイミングＴ４１５で、画像処理コントローラ１００は、情報処理コントローラ２００からラスタライズデータを受信し、受信したラスタライズデータに基づいて、ＰＤＬデータの印刷を実行する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１７（ｆ）に示す状態である。本実施形態では、例えば、このタイミングＴ４１５における処理を実行することにより、形成手段の一例が実現される。
【００６２】
＜第５の動作例：ＰＤＬが２ページで、ハードレンダリング中に優先割り込みが発生し、２ページ目をソフトレンダリング中にハードレンダリングが使用可能になった場合＞
図１８は、本実施形態の第５の動作例を説明するタイミングチャートである。第５の動作例では、まず、情報処理コントローラ２００が２ページのＰＤＬデータを受信する。そして、画像処理コントローラ１００で１ページ目をハードレンダリングしている最中に優先割り込みが発生し、情報処理コントローラ２００で１ページ目のソフトレンダリングを実行する。２ページ目も情報処理コントローラ２００でソフトレンダリングを実行するが、第５の動作例では、２ページ目をソフトレンダリングしている最中にハードレンダリングが可能になる。時間軸で示す。尚、図１８でも、図の上から下に向けて時間が進むものとする。また、図１８では、レンダリングしたＰＤＬデータは、全ページ分一度に情報処理コントローラ２００のＨＤＤ２１４０に格納され、全ページのレンダリングが完了した時点で、画像処理コントローラ１００にラスタライズデータが転送される場合を例に挙げて示す。
【００６３】
図１８において、まず、タイミングＴ５０１で、情報処理コントローラ２００は、ＰＤＬデータを受信する。このとき、図１９（ａ）に示すようなＰＤＬテーブル２５００が生成される。
次に、タイミングＴ５０２で、情報処理コントローラ２００は、ＤＬデータを作成し、作成したＤＬデータのうち、１ページ目のＤＬデータを画像処理コントローラ１００に転送する。
次に、タイミングＴ５０３で、画像処理コントローラ１００は、１ページ目のＤＬデータを受信し、ハードレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１９（ｂ）に示す状態である。
【００６４】
次に、タイミングＴ５０４で、画像処理コントローラ１００は、優先割り込みとしてコピージョブの割り込みを受信する。そして、画像処理コントローラ１００は、ハードレンダリングを一時停止し、情報処理コントローラ２００に優先ジョブ検知コマンドを発行する。
次に、タイミングＴ５０５で、情報処理コントローラ２００は、ソフトウェアレンダリングを開始する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１９（ｃ）に示す状態である。図１９（ｃ）に示すＰＤＬテーブル２５００から明らかなように、２ページ目のＰＤＬデータもＤＬデータへの変換は終了している状態である。
【００６５】
次に、タイミングＴ５０６で、情報処理コントローラ２００は、ソフトレンダリング終了コマンドを画像処理コントローラ１００に発行する。
次に、タイミングＴ５０７で、画像処理コントローラ１００は、ソフトレンダリング終了フラグ１５１０をＯＮに設定する。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１９（ｄ）に示す状態である。
また、第５の動作例では、次ページ（２ページ目）のＤＬデータがあるので、タイミングＴ５０８で、情報処理コントローラ２００は、２ページ目のＤＬデータのソフトレンダリングを開始する。
【００６６】
また、タイミングＴ５０９で、画像処理コントローラ１００は、コピージョブを終了する。
次に、ソフトレンダリング終了フラグがＯＮに設定されているので、タイミングＴ５１０で、画像処理コントローラ１００は、ハードレンダラーの初期化を行う。そして、画像処理コントローラ１００は、ハードレンダラーフラグ１５００をＯＦＦに設定し、そのことを情報処理コントローラ２００に伝える。
次に、タイミングＴ５１１で、情報処理コントローラ２００は、ハードレンダラーフラグがＯＦＦに設定されていることを検知し、ソフトレンダラーのクリアを行う。ここで、処理中の２ページ目のソフトレンダリングの設定等がクリアされる。このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１９（ｅ）に示す状態である。尚、前述した図９のフローチャートにおいて、ステップＳ３０７からステップＳ３１２に進むのは、このようにしてソフトレンダラーのクリアを行う場合である。
【００６７】
次に、次ページ（２ページ目）のＤＬデータがあるので、タイミングＴ５１２で、情報処理コントローラ２００は、画像処理コントローラ１００に２ページ目のＤＬデータを転送する。
次に、タイミングＴ５１３で、画像処理コントローラ１００は、２ページ目のＤＬデータを受信し、ハードレンダリングを開始する。
次に、タイミングＴ５１４で、画像処理コントローラ１００は、ハードレンダリングの終了を検知し、情報処理コントローラ２００にハードレンダリング終了コマンドを発行する。ここで、画像処理コントローラ１００の印刷ジョブを管理するタスクは、ジャー度レンダリングにより生成された２ページ目のラスタライズデータを、情報処理コントローラ２００に転送する。この２ページ目のラスタライズデータは、必要に応じてＪＢＩＧ等で圧縮されてから転送される。
【００６８】
次に、タイミングＴ５１５で、情報処理コントローラ２００は、ハードレンダリング終了コマンドと、２ページ目のラスタライズデータとを受信する。
そして、次ページＤＬがなくなったので、タイミングＴ５１６で、情報処理コントローラ２００は、全てのＤＬデータを削除する。また、情報処理コントローラ２００は、この間に、タイミングＴ５１５で受信した２ページ目のラスタライズデータをＨＤＤ２１４０等に格納する。
次に、タイミングＴ５１７で、情報処理コントローラ２００は、ＨＤＤ２１４０に格納されたラスタライズデータを画像処理コントローラ１００に転送する。
次に、タイミングＴ５１８で、画像処理コントローラ１００は、ラスタライズデータを受信し、受信したラスタライズデータに基づいて、ＰＤＬデータの印刷を実行する。このときに画像処理コントローラ１００が受信するラスタライズデータのうち、１ページ目のラスタライズデータは、ソフトレンダリングにより得られたものであり、２ページ目のラスタライズデータは、ハードレンダリングにより得られたものである。また、このときのＰＤＬテーブル２５００、ハードレンダラーフラグ１５００、及びソフトレンダリング終了フラグ１５１０の状態は、図１９（ｆ）に示す状態である。本実施形態では、例えば、このタイミングＴ２１２における処理を実行することにより、形成手段の一例が実現される。
【００６９】
以上のように本実施形態では、画像処理コントローラ１００は、ハードウェアによりレンダリングを実行している最中に、レンダリングよりも優先して実行すべきイベント（コピージョブ等）の割り込みが指示されると、ハードウェアの動作を一時的に停止する。そして、情報処理コントローラ２００は、ハードウェアで行っていたレンダリングを、ソフトウェアにより実行する。したがって、ハードウェアによりレンダリングを行っている最中に、そのハードウェアの動作を停止させる割り込みがなされても、ハードウェアの動作の再開を待つことなく、そのレンダリングを可及的に早く終了させることができる。よって、例えばＰＤＬデータ（ＤＬデータ）のレンダリングの実行を含むＰＤＬジョブを処理するパフォーマンスの低下を防止することができる。
【００７０】
また、本実施形態では、ソフトウェアによりレンダリングが完了する前に、優先的に実行すべき処理の実行が終了してハードウェアの動作を再開できるようになると、ハードウェアによるレンダリングを実行する。そして、そのハードウェアによるレンダリングの結果を使用して印刷を実行する（すなわち、ソフトウェアによるレンダリングの結果は破棄する）。したがって、レンダリングの高速化が可能なハードウェアによるレンダリングを可及的に有効に実行することができる。
【００７１】
また、本実施形態では、ソフトウェアによりレンダリングが完了した後にハードウェアの動作を再開できるようになると、ソフトウェアによるレンダリングの結果を使用して印刷を実行する。したがって、ソフトウェアによるレンダリングの結果を適切に使用することができる。
また、本実施形態では、ソフトウェアによるレンダリングが一部分（例えば、あるページまで）完了した後にハードウェアの動作を再開できるようになると、当該完了した部分（途中）までは、ソフトウェアによるレンダリングの結果を使用して印刷を実行する。一方、残りの部分については、ハードウェアによるレンダリングを実行し、そのハードウェアによるレンダリングの結果を使用して印刷を実行する。したがって、ハードウェアによるレンダリング及びソフトウェアによるレンダリングの双方の結果を適切に使用することができる。
【００７２】
（本発明の他の実施形態）
前述した本発明の実施形態における画像形成装置を構成する各手段、並びに画像形成方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００７３】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７４】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図７〜図９に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７７】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００７８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００７９】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００８３】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態を示し、画像形成システムの構成の一例を示す図である。
【図２】本発明の実施形態を示し、デジタル複合機の外観構成の一例を示す図である。
【図３】本発明の実施形態を示し、デジタル複合機の画像処理コントローラの構成の一例を示す図である。
【図４】本発明の実施形態を示し、デジタル複合機の情報処理コントローラの構成の一例を示す図である。
【図５】本発明の実施形態を示し、ＰＤＬテーブルの内容の一例を詳細に示す図である。
【図６】本発明の実施形態を示し、優先割り込み検知テーブルの内容の一例を示す図である。
【図７】本発明の実施形態を示し、画像処理コントローラにおける処理の一例を説明するフローチャートである。
【図８】本発明の実施形態を示し、ＤＬデータを生成する際の情報処理コントローラにおける処理の一例を説明するフローチャートである。
【図９】本発明の実施形態を示し、ＤＬデータを作成した後の情報処理コントローラにおける処理の一例を説明するフローチャートである。
【図１０】本発明の実施形態を示し、第１の動作例を説明するタイミングチャートである。
【図１１】本発明の実施形態を示し、第１の動作例における、ＰＤＬテーブル、ハードレンダラーフラグ、及びソフトレンダリング終了フラグの内容の一例を示す図である。
【図１２】本発明の実施形態を示し、第２の動作例を説明するタイミングチャートである。
【図１３】本発明の実施形態を示し、第２の動作例における、ＰＤＬテーブル、ハードレンダラーフラグ、及びソフトレンダリング終了フラグの内容の一例を示す図である。
【図１４】本発明の実施形態を示し、第３の動作例を説明するタイミングチャートである。
【図１５】本発明の実施形態を示し、第３の動作例における、ＰＤＬテーブル、ハードレンダラーフラグ、及びソフトレンダリング終了フラグの内容の一例を示す図である。
【図１６】本発明の実施形態を示し、第４の動作例を説明するタイミングチャートである。
【図１７】本発明の実施形態を示し、第４の動作例における、ＰＤＬテーブル、ハードレンダラーフラグ、及びソフトレンダリング終了フラグの内容の一例を示す図である。
【図１８】本発明の実施形態を示し、第５の動作例を説明するタイミングチャートである。
【図１９】本発明の実施形態を示し、第５の動作例における、ＰＤＬテーブル、ハードレンダラーフラグ、及びソフトレンダリング終了フラグの内容の一例を示す図である。
【符号の説明】
【００８５】
１０  デジタル複合機
１００  画像処理コントローラ
１２０  プリンタ部
１４０  スキャナ部
１８０  操作部
２００  情報処理コントローラ
【図１】
2010011325.tif 000003
【図２】
2010011325.tif 000004
【図３】
2010011325.tif 000005
【図４】
2010011325.tif 000006
【図５】
2010011325.tif 000007
【図６】
2010011325.tif 000008
【図７】
2010011325.tif 000009
【図８】
2010011325.tif 000010
【図９】
2010011325.tif 000011
【図１０】
2010011325.tif 000012
【図１１】
2010011325.tif 000013
【図１２】
2010011325.tif 000014
【図１３】
2010011325.tif 000015
【図１４】
2010011325.tif 000016
【図１５】
2010011325.tif 000017
【図１６】
2010011325.tif 000018
【図１７】
2010011325.tif 000019
【図１８】
2010011325.tif 000020
【図１９】
2010011325.tif 000021