(57)【特許請求の範囲】
【請求項１】
ページ記述言語で記述された印刷文書を受信する受信手段と、
前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、
前記中間データを前記印刷データに変換する合成手段と、
前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、
前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに画像形成処理を行う画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、
前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、
を備え、
前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、
印刷制御装置。
【請求項２】
ページ記述言語で記述された印刷文書を受信する受信手段と、
前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、
前記中間データを前記印刷データに変換する合成手段と、
前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、
前記印刷データに対して画像形成処理を行う画像形成手段と、
前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに前記画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、
前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、
を備え、
前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、
画像形成装置。
【請求項３】
ページ記述言語で記述された印刷文書を受信する受信手段と、
前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、
前記中間データを前記印刷データに変換する合成手段と、
前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、
前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに画像形成処理を行う画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、
前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、
をコンピュータに実行させ、
前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、
コンピュータに読み取り可能な印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、画像形成装置、及び印刷制御プログラムに関する。
【背景技術】
【０００２】
従来、特許文献１に記載されているように、パーソナルコンピュータ等のホストコンピュータから、ページ記述言語で記述されたデータを含む印刷文書を受信し、受信した印刷文書を一旦中間コード形式のデータに変換し、変換した中間コード形式のデータをビットマップ形式のデータに変換し、変換したビットマップ形式の印刷データをプリンタエンジンに転送するプリンタが知られている。
【０００３】
このような従来の技術は、中間コード形式のデータへの変換処理やビットマップ形式の印刷データへの変換処理といったラスタライズ処理と、用紙に印刷を行う画像形成処理とが同時並行的に行われるため、ラスタライズ処理が画像形成処理に対して間に合わなくなる、いわゆるアンダーランという事態に対処する必要がある。
【０００４】
一方で、ラスタライズ処理と、画像形成処理とを個別に行い、ラスタライズ処理が完全に完了した時点でユーザに印刷データの準備ができたことを通知し、この準備ができた印刷データに対してユーザが画像形成処理の開始を指示することで画像形成処理を行うプリンタも知られている。このような技術では、ラスタライズ処理と、画像形成処理とが同時並行的に行われないので、アンダーランという事態に対処する必要はない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２‐５２７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、アンダーランの発生を防止しつつ、印刷文書を完全に印刷データに変換した後に印刷処理の準備ができたことを報知する場合に比べて、ユーザに報知を早く行うことができるようにすることである。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、ページ記述言語で記述された印刷文書を受信する受信手段と、前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、前記中間データを前記印刷データに変換する合成手段と、前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに画像形成処理を行う画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、を備え、前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、印刷制御装置である。
【００１９】
請求項２に記載の発明は、ページ記述言語で記述された印刷文書を受信する受信手段と、前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、前記中間データを前記印刷データに変換する合成手段と、前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、前記印刷データに対して画像形成処理を行う画像形成手段と、前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに前記画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、を備え、前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、画像形成装置である。
【００２０】
請求項３に記載の発明は、ページ記述言語で記述された印刷文書を受信する受信手段と、前記受信手段により受信した印刷文書をページごとにビットマップ形式の印刷データに変換し、又は、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データに変換するラスタライズ処理を行うラスタライズ処理手段と、前記中間データを前記印刷データに変換する合成手段と、前記印刷文書の全ページに対して前記ラスタライズ処理手段によりラスタライズ処理が完了したことを報知する報知手段と、前記報知手段で報知された前記印刷文書に対して、前記印刷データはページごとに画像形成処理を行う画像形成手段に送信し、また、前記中間データはページごとに前記合成手段により前記印刷データに変換した上で前記画像形成手段に送信するように制御する制御手段と、前記印刷文書をページごとに前記印刷データよりデータ量の少ない表示用データに変換する表示用データ変換手段と、をコンピュータに実行させ、前記ラスタライズ処理手段は、ページごとに前記表示用データ変換手段の変換処理に要した時間が予め定められた閾値以内の前記印刷文書については、前記印刷文書と前記印刷データとの中間的なデータ形式である中間データへ変換することにより、前記印刷文書の一部に対してはラスタライズ処理による前記中間データの生成にとどめる、コンピュータに読み取り可能な印刷制御プログラムである。
【発明の効果】
【００２１】
本発明によれば、アンダーランの発生を防止しつつ、印刷文書を完全に印刷データに変換した後に印刷処理の準備ができたことを報知する場合に比べて、ユーザに報知を早く行うことができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態にかかる画像形成システムの全体構成を示すブロック図である。
【図２】本発明の一実施の形態にかかるコントローラの電気的な接続を示すブロック図である。
【図３】本発明の一実施の形態にかかるコントローラにおいて制御プログラムに基づいて実行する処理の機能ブロック図である。
【図４】本発明の一実施の形態にかかるコントローラが行う一連の処理について説明する説明図である。
【図５】図４の処理に対する比較例の説明図である。
【図６】本発明の一実施の形態にかかるコントローラにおいて変換手段が実行する処理のフローチャートである。
【図７】本発明の一実施の形態にかかるコントローラにおいて使用するパラメータの例を説明する図である。
【図８】本発明の一実施の形態にかかるコントローラにおいて合成難易度判定処理の精度を向上させるための変換手段が行う処理のフローチャートである。
【図９】本発明の一実施の形態にかかるコントローラにおいて合成難易度判定処理の精度を向上させるための変換手段が行う処理の他の例のフローチャートである。
【図１０】本発明の一実施の形態にかかるコントローラにおいて合成難易度判定処理の精度を向上させるための変換手段が行う処理の他の例のフローチャートである。
【図１１】本発明の一実施の形態にかかるコントローラにおいてステップＳ１４，Ｓ２４，Ｓ３４の合成時間予測処理とステップＳ１８，Ｓ３７の予測パラメータ調整の例について詳細に説明する説明図である。
【図１２】本発明の一実施の形態にかかるコントローラにおいてステップＳ１４，Ｓ２４，Ｓ３４の合成時間予測処理とステップＳ１８，Ｓ３７の予測パラメータ調整の他例について詳細に説明する説明図である。
【図１３】本発明の一実施の形態にかかるコントローラにおいて合成難易度判定処理の処理精度、処理速度を向上させるための変換手段が行う処理の他例のフローチャートである。
【図１４】本発明の一実施の形態にかかるコントローラにおいて印刷文書を解釈して中間データを生成し最終的に印刷データを生成するまでの具体例を段階を追って説明する説明図である。
【図１５】本発明の一実施の形態にかかるコントローラにおいて印刷文書を解釈して中間データを生成し最終的に印刷データを生成するまでの具体例を段階を追って説明する説明図である。
【図１６】本発明の一実施の形態にかかるコントローラにおいて印刷文書を解釈して中間データを生成し最終的に印刷データを生成するまでの具体例を段階を追って説明する説明図である。
【図１７】本発明の一実施の形態にかかるコントローラにおいて変換手段が行う処理の他例のフローチャートである。
【図１８】本発明の一実施の形態にかかるコントローラにおいて中間データの部分合成における中間データの生成について説明するフローチャートである。
【図１９】本発明の一実施の形態にかかるコントローラにおいて中間データの部分合成における中間データの生成の他例について説明するフローチャートである。
【図２０】本発明の一実施の形態にかかるコントローラにおいて変換手段が遊休中に行う処理について説明するフローチャートである。
【図２１】本発明の一実施の形態にかかるコントローラにおいて先行合成処理の一例について示すフローチャートである。
【図２２】本発明の一実施の形態にかかるコントローラにおいて先行合成処理の他例について示すフローチャートである。
【図２３】本発明の一実施の形態にかかるコントローラにおいて先行合成処理の他例について示すフローチャートである。
【図２４】本発明の一実施の形態にかかるコントローラにおいてリカバリー処理について説明するフローチャートである。
【図２５】本発明の一実施の形態にかかるコントローラにおいて後続ページ処理のサブルーチンのフローチャートである。
【図２６】本発明の一実施の形態にかかるコントローラにおいて保存印刷要求モードの処理を説明するフローチャートである。
【図２７】本発明の一実施の形態にかかるコントローラにおいて保存印刷要求モードの処理を説明するフローチャートである。
【図２８】本発明の一実施の形態にかかるコントローラにおいて保存印刷要求モードの処理を説明するフローチャートである。
【図２９】本発明の一実施の形態にかかるコントローラにおいて保存印刷要求モードの処理を説明するフローチャートである。
【図３０】本発明の一実施の形態にかかるコントローラにおいて図２８の処理の他例を示すフローチャートである。
【図３１】本発明の別の実施の形態にかかるコントローラにおいて本実施の形態のコントローラが制御プログラムに基づいて実施する処理の機能ブロック図である。
【図３２】本発明の別の実施の形態にかかるコントローラにおいて変換手段が実施する処理について説明する説明図である。
【図３３】本発明の別の実施の形態にかかるコントローラにおいて先行合成ページ数及び先行合成ページ数の入力画面の説明図である。
【図３４】本発明の別の実施の形態にかかるコントローラにおいて合成手段で実行する処理を説明するフローチャートである。
【図３５】本発明の別の実施の形態にかかるコントローラにおいて追加ラスタライズ処理のサブルーチンのフローチャートである。
【図３６】本発明の別の実施の形態にかかるコントローラにおいて追加ラスタライズ処理について説明する説明図である。
【発明を実施するための形態】
【００３４】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００３５】
図１は、本実施の形態にかかる画像形成システムの全体構成を示すブロック図である。
【００３６】
この画像形成システムは、用紙などの印刷媒体上に画像形成を行うための比較的大規模なシステムであり、ユーザが印刷要求を行なう複数台のクライアント端末２と、クライアント端末２とネットワーク３で接続され、ユーザが行った印刷要求に含まれている印刷文書を印刷データとなるラスタデータ等に変換する印刷制御装置となるコントローラ４と、コントローラ４と接続され、コントローラ４が出力する印刷データであるラスタデータに基づいて電子写真方式、やインクジェット方式、又はその他の方式により印刷媒体上に画像形成する画像形成処理手段一例となるプリンタエンジン５と、を備えている。
【００３７】
図２は、コントローラ４の電気的な接続を示すブロック図である。
【００３８】
コントローラ４は、各種演算を行い、各部を集中的に制御するＣＰＵ１１と、ＣＰＵ１１が実行する各種の制御プログラム１２その他のデータを記憶しているＲＯＭ１３と、ＣＰＵ１１の作業エリアとなるＲＡＭ１４と、各種データを記憶する磁気記憶装置１５と、ネットワーク３やプリンタエンジン５と通信を行う通信制御装置１６と、表示装置１７と、入力装置１８とを備えている。なお、表示装置１７は、報知手段の一例として用いられている。
【００３９】
制御プログラム１２は、コントローラ４の製造当初からセットアップされていても良いが、後発的に制御プログラム１２を記憶した記憶媒体から記憶媒体の読取装置により読み取って、磁気記憶装置１５などの記憶装置にセットアップし、あるいは、インターネットなどからダウンロードして磁気記憶装置１５などの記憶装置にセットアップするようにしても良い。
【００４０】
図３は、制御プログラム１２に基づいてコントローラ４が実行する処理の機能ブロック図である。
【００４１】
通信手段２１は、クライアント端末２から印刷要求を受信し、これを磁気記憶装置１５の一定領域に用意された記憶手段２２に記憶する。なお、通信手段２１は、印刷データを受信する受信手段の一例として用いられている。
【００４２】
変換手段２３は、クライアント端末２からの印刷要求に含まれているページ記述言語で記述された印刷文書をページごとにラスタデータ（ビットマップデータ）に変換し、又は、印刷文書とラスタデータとの中間的なデータ形式である中間データ（オブジェクトリストなど）に変換する。なお、変換手段２３において行われる処理は、ラスタライズ処理の一例として用いられている。
【００４３】
制御手段２４は、プリンタエンジン５の駆動を制御し、変換手段２３で変換後のラスタデータをページごとにプリンタエンジン５に送信し、また、変換手段２３で変換後の中間データはページごとに合成手段２５によりラスタデータに変換した上でプリンタエンジン５に送信する。
【００４４】
マーカー２５は、コントローラ４からプリンタエンジン５に送信するデータのページシーケンスの制御を行う。すなわち、両面印刷を行う場合などはプリンタエンジン５で行う画像形成はページ順序どおりにはならないので、ページデータの出力シーケンスを適切に制御する。
【００４５】
図４は、コントローラ４が行う一連の処理について説明する説明図である。また、図５は、図４の処理に対する比較例の説明図である。
【００４６】
図４、図５中で符号３１はページごとのラスタデータを示し、符号３２はページごとの中間データを示す。各ページには１ページから順に、「１」「２」「３」「４」…の番号を付している。コントローラ４とプリンタエンジン５との間では、プリンタエンジン５からコントローラ４に対して次のページのラスタデータを送信するように要求し、この要求に答えてコントローラ４がプリンタエンジン５に目的のページのラスタデータを送信するというやり取りが、各ページについて行われる。
【００４７】
ここで、プリンタエンジン５からコントローラ４に次のページのラスタデータ３１を要求してから予め定められた規定時間（固定）が経過するまでにコントローラ４がラスタデータ３１を転送しないと画像形成処理はフォルトになってしまう。この時間を図４、図５中に「規定時間」として示している。この「規定時間」内に該当ページのラスタデータ３１をプリンタエンジン５に転送する時間である「ラスタデータ転送時間」を「規定時間」から引いても、図５に示すように、残りの規定時間には「余裕時間」がある場合が通例である。
【００４８】
図５の比較例では、印刷文書の全てのページを変換手段２３でラスタデータ３１まで変換する。そして、制御手段２４は、このラスタデータ化済みの各ページのデータを１ページずつプリンタエンジン５に転送する。
【００４９】
これに対して、図４に示す本実施形態の処理では、印刷文書の各ページについて「ラスタデータ転送時間」を「規定時間」から引いた残り時間に、中間データ３２を合成手段２５によりラスタデータ３１に変換する余裕時間的があるか否か判断する。この余裕時間があるときは、当該ページについては変換手段２３で中間データ３２に変換するのにとどめ、合成手段２５で中間データ３２をラスタデータ３１に変換した上でプリンタエンジン５に転送する。「ラスタデータ転送時間」を「規定時間」から引いた残り時間に、中間データ３２を合成手段２５によりラスタデータ３１に変換する余裕時間的がないときは、当該ページについては変換手段２３でラスタデータ３１に変換し、合成手段２５は使用せずに、このラスタデータ３１をプリンタエンジン５に転送する。この場合は、図５の処理と同様になる。なお、合成手段２５において行われる処理は、ラスタライズ処理の一例として用いられている。
【００５０】
ここで、ラスタライズ処理とは、ページ記述言語で記述されたデータから異なるコードデータである中間コードに変換する処理や中間コードからビットマップ形式のデータに変換する処理を含み、ページ記述言語で記述されたデータからビットマップ形式のデータに変換される過程における処理の一部又は全部の処理をいう。
【００５１】
図４の処理については、印刷文書の少なくとも一部のページについては印刷文書をラスタデータ３１ではなく中間データ３２に変換するにとどめることができれば、変換手段２３での処理負荷が軽減し、１つの印刷文書を変換手段２３で処理するのに要する時間は、図５の比較例のように全ページをラスタデータ３１に変換する場合に比べて短くなる。
【００５２】
以下では、コントローラ４が実行する処理について詳細に説明する。
【００５３】
図６は、変換手段２３が実行する処理のフローチャートである。
【００５４】
まず、変換手段２３では、印刷文書の各ページについて、印刷文書であるページ記述言語を解釈して順次中間データを生成する（ステップＳ１）。次に、印刷文書の各ページについて、中間データを合成してラスタデータを生成する際の難易度を判定する合成難易度判定処理（詳細は後述）を行い（ステップＳ２）、その結果から、後段の合成手段２５でラスタデータを合成するようにしても前述の規定時間に間に合うか否かを判定する（ステップＳ３）。
【００５５】
後段の合成手段２５でラスタデータを合成するのでも前述の規定時間に間に合う場合は（ステップＳ３のＹ）、例外にあたるか否かを判断する（ステップＳ４）。ここでいう例外とは、例えば、Ａ４ページ２枚をＡ３ページ１ページにはめ込む面付け処理など、ラスタデータに変換しないと処理できない場合である。時間を要する処理を必要とするか否かである。例外に当たるときは（ステップＳ４のＹ）、中間データの合成処理によりラスタデータを作成する（ステップＳ６）。例外でないときはステップＳ７に進む。
【００５６】
後段の合成手段２５でラスタデータを合成するのでは前述の規定時間に間に合わない場合は（ステップＳ３のＮ）、例外にあたるか否かを判断する（ステップＳ５）。ここでいう例外とは、例えば、印刷文書の最初のページである場合など、規定時間を遵守しなくてよい場合などである。例外に当たるときは（ステップＳ５のＹ）、ステップＳ７に進み、例外でないときは（ステップＳのＮ）、中間データの合成処理によりラスタデータを作成する（ステップＳ６）。
【００５７】
ラスタデータまでの合成は行わなかったときは（ステップＳ４のＮ，Ｓ５のＹ）、印刷文書のラスタデータ等の作成が前頁に亘って完了した旨、当該印刷要求を行なったユーザのクライアント端末２に対して報知するとともに、表示装置１７上にも報知する（ステップＳ８）。なお、本実施の形態では、クライアント端末２と表示装置１７の両方に対して報知を行っているが、片方のみ報知を行うようにしてもよい。
【００５８】
次に、合成難易度判定処理（ステップＳ２）について説明する。
【００５９】
合成難易度判定処理は、印刷文書、コントローラ４、プリンタエンジン５の構成から図７の例示するようなパラメータを抽出し、この各パラメータに予め定められた重み付けをしてその合計値を求めることにより行うことができる。そして、ステップＳ３では、その合計値が予め定められた閾値以上であれば、合成手段２５でラスタデータを合成するのでは前述の規定時間内に間に合わないと判断し、予め定められた閾値未満であれば、合成手段２５でラスタデータを合成しても前述の規定時間内に間に合うと判断する。
【００６０】
図７において、「プリンタエンジンの種類」は、プリンタエンジン５がカット紙用のものであるか連帳紙用のものであるかなどの種類である。「スキップピッチ」はプリンタエンジン５で紙送りするタイミングの調整ピッチである。「最大搬送用紙枚数」はプリンタエンジン５の搬送経路内などに滞留しうる用紙の最大枚数である。「印刷速度」はプリンタエンジン５が画像形成する際の速度である。「ページサイズ」は画像形成する用紙のＡ３，Ａ４などのサイズである。「イメージ数」は１ページ中の画像の数である。「イメージサイズ」は１ページ中の画像のサイズである。「オブジェクトの数と種類」は当該ページ中の画像、文字などのオブジェクトの数と種類である。「オブジェクトの重なり数」は当該ページ中の画像、文字などのオブジェクトの重なりの数である。「塗りつぶしの有無と数」は当該ページ中に塗りつぶした画像があるか否かとその数である。「オペレータ数」とはページ記述言語で記述された印刷文書中の命令となるオペレータの数である。「ＣＰＵスペックと数」はＣＰＵ１１のスペックと数である。「メモリサイズ」はＲＡＭ１４の容量である。バス幅はコントローラ４のバス幅である。
【００６１】
次に、合成難易度判定処理（ステップＳ２）の精度を向上させる処理について説明する。
【００６２】
図８は、合成難易度判定処理の精度を向上させるための変換手段２３が行う処理のフローチャートである。
【００６３】
まず、変換手段２３は、印刷文書の１ページ分について処理を開始する（ステップＳ１１）。そして、当該ページについて前述のとおり中間データを作成する（ステップＳ１２）。また、印刷文書の特徴（図７に示すパラメータ）を抽出する（ステップＳ１３）。そして、抽出した印刷文書の特徴も参照して、前述のパラメータに予め定められた重み付けをしてその合計値を求めることにより、その合計値の大きさにより中間データからラスタデータを合成するのに要する時間を予測する（ステップＳ１４）。そして、その予測値が予め定められた許容値以上であれば（ステップＳ１５のＹ）、前述の規定時間には中間データからラスタデータを合成する処理が間に合わないものとして、前述のとおり中間データからラスタデータを合成する処理を行い（ステップＳ１６）、許容値未満であれば（ステップＳ１５のＮ）、後段の合成手段２５で合成するものと判断する（ステップＳ１７）。
【００６４】
中間データからラスタデータを合成する処理を行なったときには（ステップＳ１６）、現実に印刷文書からラスタデータを合成するのに実際に要した時間がわかるので、その実際の時間とステップＳ１４で予測した時間を比較して、前述のパラメータに用いる重み付けの値を実際の時間に近づくように調整する予測パラメータ調整を行ない（その詳細は後述）（ステップＳ１８）、次のページの処理を開始する（ステップＳ１１）。すなわち、重み付けの値の実測値と予測値とのギャップを常時フィードバックし、合成難易度判定処理の精度を向上させる。なお、パラメータに用いる重み付けの初期値は予め適切と思われる値を与えておく。また、ステップＳ３の処理はステップＳ１開始前に実施しておいてもよい。
【００６５】
図９、図１０は、合成難易度判定処理の精度を向上させるための変換手段２３が行う処理の他例のフローチャートである。
【００６６】
この処理では、図９の通常モードと図１０の学習モードとの切り替えを行う。まず、通常モードについて説明する。変換手段２３は、印刷文書の１ページ分について処理を開始する（ステップＳ２１）。そして、当該ページについて前述のとおり中間データを作成する（ステップＳ２２）。また、印刷文書の特徴（図７に示すパラメータ）を抽出する（ステップＳ２３）。そして、抽出した印刷文書の特徴も参照して、前述のパラメータに予め定められた重み付けをしてその合計値を求めることにより、その合計値の大きさにより中間データからラスタデータを合成するのに要する時間を予測する（ステップＳ２４）。そして、その予測値が予め定められた許容値以上であれば（ステップＳ２５のＹ）、前述の規定時間には中間データからラスタデータを合成する処理が間に合わないものとして、前述のとおり中間データからラスタデータを合成する処理を行い（ステップＳ２６）、許容値未満であれば（ステップＳ２５のＮ）、後段の合成手段２５で合成するものと判断する（ステップＳ２７）。
【００６７】
そして、ステップＳ２４で予測した時間（予測値）と現実に印刷文書からラスタデータを合成するのに実際に要した時間（実測値）とのズレが予め定められた許容範囲内であれば（ステップＳ２８のＹ）、ステップＳ１に戻って次のページの処理を開始して、通常モードを維持する。
【００６８】
許容範囲内になければ（ステップＳ２８のＮ）、学習モードに移行する。なお、学習モードに移行するに際して、処理待ちの中間データが存在する場合は、ステップＳ３４から学習モードを開始し、そうでない場合はステップＳ３１から学習モードを開始する。
【００６９】
学習モードにおいて、変換手段２３は、印刷文書の１ページ分について処理を開始する（ステップＳ３１）。そして、当該ページについて前述のとおり中間データを作成する（ステップＳ３２）。また、印刷文書の特徴（図７に示すパラメータ）を抽出する（ステップＳ３３）。そして、抽出した印刷文書の特徴も参照して、前述のパラメータに予め定められた重み付けをしてその合計値を求めることにより、その合計値の大きさにより中間データからラスタデータを合成するのに要する時間を予測する（ステップＳ３４）。この場合は、一律に、前述の規定時間には中間データからラスタデータを合成する処理が間に合わないものとして、前述のとおり中間データからラスタデータを合成する処理を行なう（ステップＳ３５）。
【００７０】
そして、ステップＳ３４で予測した時間（予測値）と現実に印刷文書からラスタデータを合成するのに実際に要した時間（実測値）とのズレが予め定められた許容範囲内でなければ（ステップＳ３６のＮ）、現実に印刷文書からラスタデータを合成するのに実際に要した時間がわかるので、その実際の時間とステップＳ３４で予測した時間を比較して、前述のパラメータに用いる重み付けの値を実際の時間に近づくように調整する予測パラメータ調整を行なう（その詳細は後述）（ステップＳ３７）。
【００７１】
予測値と実測値とのズレが予め定められた許容範囲内であれば（ステップＳ３６のＹ）、当該印刷文書の過去のページにおいて予測値と実測値とのズレがなかった回数（予測合致回数）が予め定められた閾値以上であるか否かを判断し（ステップＳ３８）、閾値以上である場合は（ステップＳ３８のＹ）、前述の通常モードに移行し、閾値未満である場合は（ステップＳ３８のＮ）、ステップＳ３１に戻り、学習モードで次のページの処理を開始する。すなわち、ステップＳ３７，Ｓ３８の判断により、予測値と実測値とのズレに基づいて予測値を求める手法（前述のパラメータへの重み付け）を変更する必要があるときは学習モードとし、その必要がないときは通常モードとする。なお、通常モードで図８の処理のように予測パラメータ調整を行うようにしてもよい。
【００７２】
このように図９の通常モードと図１０の学習モードとの切り替えを行うようにすると、図８の処理に比べて処理が高速になる。
【００７３】
図１１は、ステップＳ１４，Ｓ２４，Ｓ３４の合成時間予測処理とステップＳ１８，Ｓ３７の予測パラメータ調整の例について詳細に説明する説明図である。
【００７４】
１．まず、ページ記述言語で記述された印刷文書３３から特徴を抽出し、オペレータ数、オブジェクト数などのパラメータを取得する。また、コントローラ４、プリンタエンジン５の構成からもパラメータを取得する。
【００７５】
２．次に、各パラメータに予め定められた値（α，β，γ，…など）を乗算して重み付けをする。
【００７６】
３．そして、各パラメータに重み付けして合計した結果に予め定められた係数ａを掛けて中間データを合成してラスタデータにするのに要する時間の予測値が求められる。
【００７７】
４．次に、この予測値と、中間データを合成してラスタデータにするのに要した実際の処理時間との差をとり、実際の処理時間の内訳（パーセンテージ）により、前述の各重みの値を変更する。例えば、Ｉ／Ｏに時間を要した分は「イメージサイズ」の重みへ、重なったオブジェクトのクリッピングに時間を要した分は「オブジェクト数」「オペレータ数」「イメージ数」などに分散させて重みを変更する。
【００７８】
図１２は、ステップＳ１４，Ｓ２４，Ｓ３４の合成時間予測処理とステップＳ１８，Ｓ３７の予測パラメータ調整の他例について詳細に説明する説明図である。
【００７９】
この例では、ページ記述言語で記述された印刷文書３３から特徴を抽出し、オペレータ数、オブジェクト数などのパラメータを取得する。また、コントローラ４、プリンタエンジン５の構成からもパラメータを取得する。そして、周知の三層ニューラルネットワークにより各パラメータに分散させて各パラメータの重みを変更する。この場合に中間データを合成してラスタデータにするのに要した実際の処理時間を教師信号として使用する。
【００８０】
図１３は、合成難易度判定処理の処理精度、処理速度を向上させるための変換手段２３が行う処理の他の例のフローチャートである。
【００８１】
前述のとおり、画像形成を行うためには印刷文書をラスタデータに変換する必要があるが、同様の変換処理により印刷文書から印刷用のラスタデータより低解像度でデータ量の少ない表示用のラスタデータも作成する場合がある。この表示用のラスタデータは表示装置１７に表示するために使用する画像データである。この処理は、表示用のラスタデータの作成処理を利用して合成難易度判定処理（ステップＳ２）を行うものである。
【００８２】
まず、変換手段２３は、１ページ分の処理を開始し（ステップＳ４１）、前述の印刷用のラスタデータを作成する手法により印刷文書から表示用のラスタデータを作成する（ステップＳ４２）。この表示用のラスタデータは印刷用のラスタデータと同じ印刷文書から作成されるが、解像度が印刷用のラスタデータ（この例で６００dpi）より低い（この例で７２dpi）。次に、同一の印刷文書から中間データを作成する（ステップＳ４３）。そして、ステップＳ４１で表示用のラスタデータの作成に実際に要した時間が予め定められた閾値以内であるか否かを判断し（ステップＳ４４）、閾値以内であれば（ステップ４４ＳのＹ）、前述の規定時間に余裕時間があるものと判断して、ステップＳ４３で作成した中間データをそのままにし、ラスタデータへの合成は行わない（ステップＳ４５）。この場合は合成手段２５でラスタデータへの合成が行われる。
【００８３】
閾値より大きければ（ステップ４４ＳのＮ）、前述の規定時間に余裕時間がないものと判断して、ステップＳ４３で作成した中間データを合成してラスタデータとする（ステップＳ４６）。
【００８４】
その後は、ステップＳ４１に戻り次の１ページの処理を開始する。
【００８５】
図１４〜図１６は、印刷文書を解釈して中間データを生成し最終的に印刷データを合成するまでの具体例を段階を追って説明する説明図である。
【００８６】
まず、この例で、印刷文書から最終的に合成される印刷データの１ページ分のイメージが図１４に示すものであった場合に、図１５（１）に示すように印刷文書の当該ページの各オブジェクトのリストであるオブジェクトリストが１〜８番まで存在していた場合、まず、このオブジェクトリストをソートし、重なりのあるオブジェクト同士のオブジェクトリストごとにグループ化する。図１５（２）にそのソート後の各オブジェクトを示しているが、オブジェクトの重なりなし、重なり数２、重なり数３、バックグランドフォームにそれぞれグループ化するようにソートされた中間データが生成されている。このようにオブジェクトの重なりがあるものがまとめられているので、その後の合成が処理しやすくなる。オブジェクトの重なりは、そのオブジェクトの境界領域間を互いに比較することにより判断する。
【００８７】
次に、ソート後の中間データにおいて、オブジェクトの重なり数の多いもの同士を合成して重なりをなくす。図１５（３）では、重なり数の最も多い重なり数３のオブジェクトを合成して重なりをなしにしている。図１５（３）の中間データは重なりをなしにした部分についてはラスタデータ化されていることになる。
【００８８】
図１６（３）の状態は図１５（３）の状態を示している。この状態から次にオブジェクトの重なり数の多いもの同士を合成して重なりをなくす。図１６（４）では、重なり数が次に多い重なり数２のオブジェクトを合成して重なりをなしにしている。図１６（４）の中間データも重なりをなしにした部分についてはラスタデータ化されていることになる。
【００８９】
このようにして、オブジェクトの重なりをなくした後、その重なりのないオブジェクト同士を合成し（図１６（５））、さらに背景を合成することにより、印刷文書から最終的に合成される印刷データが生成される（図１６（６））。
【００９０】
このように、印刷文書を最終的に印刷データ（ビットマップデータ）に変換するためには、段階的な処理が必要であり、中間データといっても最終的な印刷データへの近さにより様々な段階がある。
【００９１】
前述の例では、変換手段２３で中間データの生成にとどめるといっても、その中間データがどの段階の中間データであるかは一義的に定められている。この中間データが最終的な印刷データから遠い場合、すなわち、変換手段２３における処理をあまりおこなわないものである場合には、変換手段２３の処理負担は軽減され、変換手段２３での処理時間の短縮を図ることができる。
【００９２】
以下では、変換手段２３での中間データの生成について、どの程度の中間データを生成するかをユーザが設定できるようにした例について説明する。
【００９３】
図１７は、変換手段２３が行う処理の他例のフローチャートである。
【００９４】
まず、変換手段２３は、印刷文書の１ページ分について処理を開始する（ステップＳ５１）。そして、当該ページについて前述のとおり中間データを作成する（ステップＳ５２）。また、印刷文書の特徴（図７に示すパラメータ）を抽出する（ステップＳ５３）。そして、抽出した印刷文書の特徴も参照して、前述のパラメータに予め定められた重み付けをしてその合計値を求めることにより、その合計値の大きさにより中間データからラスタデータを合成するのに要する時間を予測する（ステップＳ５４）。そして、その予測値が予め定められた許容値以上であれば（ステップＳ５５のＹ）、前述の規定時間には中間データからラスタデータを合成する処理が間にあわないものとして、前述のとおり中間データからラスタデータを合成する処理を行い（ステップＳ５６）、許容値未満であれば（ステップＳ５５のＮ）、中間データの部分合成を行う（後述）（ステップＳ５７）。
【００９５】
中間データからラスタデータを合成する処理を行なったときには（ステップＳ５６）、現実に印刷文書からラスタデータを合成するのに実際に要した時間がわかるので、その実際の時間とステップＳ１４で予測した時間を比較して、前述のパラメータに用いる重み付けの値を実際の時間に近づくように調整する予測パラメータ調整を行ない（前述のとおり）（ステップＳ５８）、次のページの処理を開始する（ステップＳ５１）。
【００９６】
中間データの部分合成（ステップＳ５７）では、ユーザの設定により印刷文書から完全なラスタデータまでのどの段階の中間データを生成するかをユーザが予め設定できるようにして、その設定に応じた段階の中間データを生成するようにしている。
【００９７】
図１８は、中間データの部分合成（ステップＳ５７）における中間データの生成について説明するフローチャートである。
【００９８】
まず、ステップＳ５２で生成した中間データを取得し（ステップＳ６１）、その中間データを解析して（ステップＳ６２）、Ｎ個以上が重なっている部分（オブジェクト）を取り出して合成する（ステップＳ６３）。ここでは、ユーザが予めＮの値を設定している。すなわち、時間の予測値が小さいと思われるほど、すなわち、前述の規定時間に余裕があると思われるほど、Ｎの値を小さくしてオブジェクトを取り出して合成する処理をより多く変換手段２３で行うようにする。そして、その合成された部分を中間データにマージする（ステップＳ６４）。この処理では、中間データにおける重なりの上限値を決めるので、この処理に続くラスタデータ作成のためのプロセスでラスタデータの合成に必要となる時間が簡単な計算で求められる。
【００９９】
図１９は、中間データの部分合成（ステップＳ５７）における中間データの生成の別例について説明するフローチャートである。
【０１００】
まず、ステップＳ５２で生成した中間データを取得し（ステップＳ７１）、その中間データを解析して（ステップＳ７２）、Ｎ個以上が重なっている部分（オブジェクト）を取り出して合成する（ステップＳ７３）。ここでは、ユーザが予めＮの値を設定している。すなわち、時間の予測値が小さいと思われるほど、すなわち、前述の規定時間に余裕があると思われるほど、Ｎの値を小さくしてオブジェクトを取り出して合成する処理をより多く変換手段２３で行うようにする。
【０１０１】
そして、オブジェクトの総数がＭ以上であれば（ステップＳ７４のＹ）、オブジェクトの総数がＭの値より小さくなるかオブジェクトの重なりがなくなるまでさらに合成する（ステップＳ７５）。ここでは、ユーザが予めＭの値を設定している。すなわち、時間の予測値が小さいと思われるほど、すなわち、前述の規定時間に余裕があると思われるほど、Ｍの値を小さくしてオブジェクトを取り出して合成する処理をより多く変換手段２３で行うようにする。
【０１０２】
以上の各例では、合成手段２５の処理負荷が大きくなると、プリンタエンジン５での印刷処理に合成手段２５でのラスタデータの合成処理が間に合わなくなる事態も考えられる。一方で、変換手段２３は、１つの印刷要求について印刷文書全体の処理を終了し、次の印刷要求の処理要求がないときは遊休状態となる。
【０１０３】
そこで、変換手段２３が遊休状態にあるときは、変換手段２３で処理終了後の印刷文書でも、完全なラスタデータに変換されていないページを含んでいるときは、完全なラスタデータにするために必要な処理の少なくとも一部を合成手段２５にやらせず、変換手段２３で行うようにすれば、合成手段２５の処理負荷が軽減できて、プリンタエンジン５での印刷処理に合成手段２５でのラスタデータの合成処理が間に合わなくなる事態を防止することができる。以下では、かかる処理について説明する。
【０１０４】
図２０は、変換手段２３が遊休中に行う処理について説明するフローチャートである。
【０１０５】
まず、変換手段２３は遊休中か否かを判断する（ステップＳ８１）。変換手段２３が遊休中か否かは、変換手段２３の処理を行っているＣＰＵ１１の処理負荷が予め定められた基準値を上回っているか否かにより判断することができる。
【０１０６】
遊休中であるときは（ステップＳ８１のＹ）、変換手段２３で処理済であるがプリンタエンジン５での印刷待ちになっている印刷要求があるか否かを判断する（ステップＳ８２のＹ）。このような印刷要求があるときは（ステップＳ８２のＹ）、その印刷要求の印刷文書を記憶手段２２から取得し（ステップＳ８３）、先行合成対象ページがあるか否か、すなわち、中間データのままになっていて合成手段２５での処理対象となるページがあるか否かを判断する（ステップＳ８４）。このようなページがあるときは（ステップＳ８４のＹ）、中間データのままになっているページの少なくとも一部を先行して合成する（詳細は後述）（ステップＳ８５）。すなわち、中間データのままになっているページの少なくとも一部を完全なラスタデータにするか、又は完全なラスタデータにより近い中間データにする。
【０１０７】
変換手段２３に新たな印刷要求の印刷文書の処理要求がなされ、変換手段２３の負荷が高まった場合はステップＳ８５の処理はただちに終了し、その新たな印刷要求の印刷文書の処理を実行する。ステップＳ８５の処理の対象はプリンタエンジン５で画像形成中の印刷文書も対象としてよい。
【０１０８】
図２１は、先行合成処理（ステップＳ８５）の一例について示すフローチャートである。
【０１０９】
まず、対象となる印刷文書で中間データのままになっているページのうち、ラスタデータに合成するのが最も難しいページを取得する（ステップＳ９１）。この判断は、変換手段２３の処理終了後においても合成時間の予測値（ステップＳ１４）をページごとに記録しておき、この予測値が最も大きいページはラスタデータに合成するのが最も難しいページであると判断する。そして、このラスタデータに合成するのが最も難しいページについて変換手段２３で再度処理してラスタデータを作成する（ステップＳ９２）。
【０１１０】
図２２は、先行合成処理（ステップＳ８５）の他例について示すフローチャートである。
【０１１１】
この処理例では、対象となる印刷文書で中間データのままになっているページのうち、プリンタエンジンで最初に処理されるページのデータを取得し（ステップＳ１０１）、このページについて変換手段２３で再度処理してラスタデータを作成する（ステップＳ１０２）。
【０１１２】
図２３は、先行合成処理（ステップＳ８５）の他例について示すフローチャートである。
【０１１３】
この処理例では、まず、対象となる印刷文書で中間データのままになっているページのうち１ページを取得し（ステップＳ１１１）、これが中間データ形式であれば（ステップＳ１１２のＹ）、１ステップ分の合成処理を実施し（ステップＳ１１３）、予定していた単位処理量を処理し終われば（ステップＳ１１４のＹ）、一連の処理を終了し、処理し終わっていなければ（ステップＳ１１４のＮ）、処理中の印刷文書に次のページが存在すれば（ステップＳ１１５のＹ）、ステップＳ１に戻り、存在しなければ（ステップＳ１１５のＮ）、
一連の処理を終了する。この処理は、中間データのままになっている各ページについて１ステップずつ処理を進めるもので、１ステップ分の処理としては、オブジェクトリストを１つ減らす、オブジェクトリストが予め定めた枚数となるまで合成する、などの処理が考えられる。変換手段２３に新たな印刷要求の印刷文書の処理要求がなされ、変換手段２３の負荷が高まった場合はステップＳ８５の処理はただちに終了し、その新たな印刷要求の印刷文書の処理を実行する。ステップＳ１１４の単位処理量としては、ページ数、処理時間、画像形成待ちのページ数に対する割合、などが考えられる。ページをステップＳ１１１で取得する順番としては、画像形成を行う順番、ラスタデータへの合成の難易度などを判断条件とすることができる。
【０１１４】
以上の処理により、合成手段２５でラスタデータ化する場合であっても、通常は、前述の「規定時間」内にラスタデータを合成し、プリンタエンジン５に送信することが可能である。
【０１１５】
しかし、コントローラ４で使用しているＯＳ（オペレーティングシステム）の負荷が過大になっている場合などには、前述の処理によっても前述の「規定時間」内にラスタデータを合成し、プリンタエンジン５に送信することが間に合わず、プリンタエンジン５の画像形成がフォルトになって停止してしまう可能性も考えられる。以下では、前述の処理によってもプリンタエンジン５の画像形成がフォルトになって停止してしまった場合のリカバリー処理について説明する。
【０１１６】
図２４は、リカバリー処理について説明するフローチャートである。
【０１１７】
かかる処理は、印刷文書の各ページをコントローラ４で処理して各ページのラスタデータをプリンタエンジン５に出力する処理の最中に実行する。この処理の最中に前述の「規定時間」内にラスタデータを合成し、プリンタエンジン５に送信することに不成功のページが発生したときは（ステップＳ１９１のＹ）、プリンタエンジン５の画像形成がフォルトになって停止してしまう。
【０１１８】
このような場合は、そのエラーページについて前述のステップＳ２で判定した合成難易度（値を“ａ”とする）を取得し（ステップＳ１９２）、この合成難易度ａの値に基づいて当該エラーページについてリカバリーは容易か否かを判断する（ステップＳ１９３）。具体的には、エラーページの合成難易度ａとステップＳ３の判断で用いた閾値との差分が予め定められた一定値以上あればリカバリーは容易と判断し、一定値未満ならリカバリーは困難と判断することが考えられる。
【０１１９】
リカバリーは容易であるときは（ステップＳ１９３のＹ）、エラーページを合成手段２５で再度ラスタデータ化して制御手段２４でプリンタエンジン５に出力する（ステップＳ１９４）。リカバリーは容易でないときは（ステップＳ１９３のＮ）、変換手段２３で中間データをラスタデータ化して（ステップＳ１９５）、後続ページ処理（後述）を行ない（ステップＳ１９６）、これを制御手段２４でプリンタエンジン５に出力する（ステップＳ１９４）。
【０１２０】
図２５は、後続ページ処理（ステップＳ１９６）のサブルーチンのフローチャートである。
【０１２１】
リカバリーは容易でないときは（ステップＳ１９３のＮ）、エラーページの後続のページでも、「規定時間」内にラスタデータを合成し、プリンタエンジン５に送信することが不成功となる可能性が高まるので、後続ページ処理（ステップＳ１９６）では、その対策を講じる。
【０１２２】
まず、印刷文書のｎページ目で中間データからラスタデータを合成するのに失敗したときは（ステップＳ２０１のＹ）、後述の処理を行うページ番号を特定する値「ｉ」の初期値を０として（ステップＳ２０２）、ｎページ目の全後続ページの処理を終了するまでは以下の処理を行う（ステップＳ２０３のＮ）。
【０１２３】
すなわち、ｎ＋ｉページ目が中間データのままであれば（ステップＳ２０４のＹ）、合成難易度（値を“ｂ”とする）を前述の手法で判定し（ステップＳ２０５）、合成難易度ａとｂとにより、印刷文書のｎページ目とｎ＋ｉページ目とが、中間データからラスタデータを合成するのに失敗する失敗しやすさという点で類似しているか否かを判断する（ステップＳ２０６）。そして、類似していない（ステップＳ２０６のＹ）、すなわち、ｎ＋ｉページ目は中間データからラスタデータを合成するのに失敗する可能性は低いと判断したときは、中間データを合成手段２５でラスタデータに変換し（ステップＳ２０７）、「ｉ」の値に１を加算して（ｉ＝ｉ＋１）（ステップＳ２０８）、ステップＳ２０３に戻る。
【０１２４】
ステップＳ２０６では、合成難易度ａとｂとにより、印刷文書のｎページ目を中間データからラスタデータに変換するのに要する時間に影響を与える要素（前述のパラメータ）と、ｎ＋ｉページ目を中間データからラスタデータに変換するのに要する時間に影響を与える要素（前述のパラメータ）とを比較することにより、中間データからラスタデータを合成するのに失敗する失敗しやすさという点で類似しているか否かを判断する。
【０１２５】
より具体的には、ｎページ目の合成難易度ａのうち最も値が大きいパラメータと、ｎ＋ｉページ目の合成難易度ｂのうち最も値が大きいパラメータとが同じであれば、類似していると判断することができる。
【０１２６】
あるいは、ｎページ目の合成難易度ａのうち最も値が大きいパラメータと、ｎ＋ｉページ目の合成難易度ｂのうち最も値が大きいパラメータとを比較し、ｎ＋ｉページ目の当該パラメータの方が等しいか大きい場合は、類似していると判断することができる。
【０１２７】
次に、画像形成システム１の保存印刷要求モードについて説明する。この保存印刷要求モードは、ユーザがクライアント端末２から保存印刷要求を行うと、保存印刷要求に含まれる印刷文書を変換手段２３で処理するが、この処理後の印刷文書を記憶手段２２に保存し、ただちには画像形成を行わず、後ほど記憶手段に保存された当該印刷文書の印刷要求がユーザからなされたときに当該印刷文書を記憶手段２２から呼び出してプリンタエンジン５で画像形成を行うというモードである。
【０１２８】
図２６、図２７は、保存印刷要求モードの処理を説明するフローチャートである。
【０１２９】
図２６は、保存印刷要求がユーザからなされた場合の処理であり、保存印刷要求に含まれる印刷文書のページを変換手段２３で中間データに変換し（ステップＳ１４１）、前述のステップＳ２の同様の処理により合成難易度判定を行い（ステップＳ１４２）、この合成難易度判定の結果を当該ページにつけて記憶手段２２に保存する（ステップＳ１４３）。以上の処理はすべてのページについて行う（ステップＳ１４４）。
【０１３０】
図２７は、図２６の処理により保存された印刷文書の画像形成を行う処理であり、記憶手段２２に保存されていて印刷要求がなされた印刷文書のページの中間データの合成難易度（値を“ｎ”とする）を取得し（ステップＳ１５１）、この合成難易度ｎを予め定められた閾値ａと比較して（ステップＳ１５２）、閾値ａより合成難易度ｎが大きければ（ステップＳ１５２のＹ）、変換手段２３でラスタデータに変換し（ステップＳ１５３）、制御手段２４でプリンタエンジン５に送信する（ステップＳ１５４）。合成難易度ｎが閾値ａ以下であれば（ステップＳ１５２のＮ）、（合成手段２５でラスタデータに変換した上で）、制御手段２４でプリンタエンジン５に送信する（ステップＳ１５４）。以上の処理はすべてのページについて行う（ステップＳ１５５）。
【０１３１】
図２８、図２９は、保存印刷要求モードの処理を説明するフローチャートである。
【０１３２】
図２８は、保存印刷要求がユーザからなされた場合の処理であり、保存印刷要求に含まれる印刷文書のページを変換手段２３で中間データに変換し（ステップＳ１６１）、前述のステップＳ２の同様の処理により合成難易度判定（値を“ｎ”とする）を行い（ステップＳ１６２）、この合成難易度ｎを予め定められた閾値ｂと比較する（ステップＳ１６３）。合成難易度ｎが閾値ｂより大きいときは（ステップＳ１６３のＹ）、当該ページが複雑でラスタデータ化に時間を要すると判断して、変換手段２３でページの中間データからラスタデータを作成し（ステップＳ１６４）、記憶手段２２に保存する（ステップＳ１６５）。合成難易度ｎが閾値ｂ未満のときは（ステップＳ１６３のＹ）、当該ページのラスタデータ化にあまり時間は要しないと判断して、中間データのまま記憶手段２２に保存する（ステップＳ１６５）。以上の処理はすべてのページについて行う（ステップＳ１６６）。
【０１３３】
図２９は、図２８の処理により保存された印刷文書の画像形成を行う処理であり、記憶手段２２に保存されていて印刷要求がなされた印刷文書のページの中間データの属性、すなわち中間データからラスタデータかの情報を取得し（ステップＳ１７１）、ページが中間データであれば合成手段２５でラスタデータに合成の上で（ステップＳ１７３）、制御手段２４がプリンタエンジン５にページのデータを送信し（ステップＳ１７４）、ページがラスタデータであればそのまま制御手段２４がプリンタエンジン５にページのデータを送信する（ステップＳ１７４）。以上の処理はすべてのページについて行う（ステップＳ１７５）。
【０１３４】
図３０は、図２８の処理の他例を示すフローチャートである。
【０１３５】
すなわち、図３０は、保存印刷要求がユーザからなされた場合の処理であり、保存印刷要求に含まれる印刷文書のページを変換手段２３で中間データに変換し（ステップＳ１８１）、この中間データのサイズ（データ量）を検出する（ステップＳ１８２）。そして、そのページのページサイズから当該中間データを合成してラスタデータにした場合のラスタデータサイズ（データ量）を計算する（ステップＳ１８３）。そして、検出した中間データのサイズと計算したラスタデータのサイズを比較し（ステップＳ１８４）、ラスタデータの方がデータサイズ小さければ当該ページの中間データからラスタデータを作成して記憶手段２２に保存し（ステップＳ１８５）。中間データの方がデータサイズ小さければ当該ページを中間データのまま記憶手段２２に保存する（ステップＳ１８６）。以上の処理はすべてのページについて行う（ステップＳ１８７）。
【０１３６】
次に、本発明の別の実施の形態について説明する。
【０１３７】
この実施の形態についても画像形成システム１のハードウェア構成は図１、図２を参照して説明した前述の実施の形態と同様であり、詳細な説明は省略する。
【０１３８】
図３１は、本実施の形態のコントローラ４が制御プログラム１２に基づいて実施する処理の機能ブロック図である。
【０１３９】
図３１において図３と同一符号の機能ブロック等は図３のものと同様であるため、詳細な説明は省略する。本実施の形態においては、合成手段２５が制御手段２４と独立しており、印刷文書をラスタデータに変換する処理を変換手段２３と合成手段２５とで２段階に行っている。
【０１４０】
図３２は、変換手段２３が実施する処理について説明する説明図である。
【０１４１】
図３２において、符号４１は、一つの印刷文書の各ページデータを示しており、最も右のものが１ページ目のデータであり、順次左にいくほどページ番号が多くなる。
【０１４２】
前述の実施の形態では、合成難易度判定処理（ステップＳ２）を行い、ラスタデータを合成するのに時間を要しないページについては変換手段２３では中間データの作成にとどめ、制御手段２４に用意された合成手段２５で中間データをラスタデータに変換していた。
【０１４３】
本実施の形態では、このようにページごとにラスタデータを合成するのに時間を要するか否かを判断して、ラスタデータを作成するか、中間データの作成にとどめるかの処理を分けるようにはしない。別の手法により変換手段２３で中間データの作成にとどめるページを設けるようにして、変換手段２３での処理を早期に終了させるようにしている。
【０１４４】
すなわち、本実施の形態では、予め設定した「先行合成ページ数」のページ数分だけの印刷文書の冒頭のページについては（図３２の（１）の各ページ）、一律に変換手段２３でラスタデータに変換する。そして、その「先行合成ページ数」のページ数分だけのページに続くページについては予め設定した「先行合成ページ間隔」ごとに１ページ分（図３２の（２）のページ）だけラスタデータに変換する処理を行い、そのラスタデータに変換するページとページとの間に挟まれている他のページ（図３２の（３）の各ページ）については中間データに変換する。図３２の例では、「先行合成ページ数」が４、「先行合成ページ間隔」が４である。「先行合成ページ数」分をラスタデータとするのは、印刷の初期において印刷データをプリンタエンジン５に送信するための十分な時間的余裕を作るためである。
【０１４５】
図３３は、先行合成ページ数及び先行合成ページ数の入力画面の説明図である。
【０１４６】
コントローラ４では、この入力画面（先行合成ページ設定画面）を表示装置１７に表示させ、ユーザが入力装置１８を操作することにより、「先行合成ページ数」「先行合成ページ間隔」を様々に設定することができる。
【０１４７】
図３４は、合成手段２５で実行する処理を説明するフローチャートである。
【０１４８】
この処理では、変換手段２３で処理後の印刷文書を処理する。まず、処理する印刷文書の現在のページのページ番号を示す「ｉ」の値を初期値にし（ｉ＝０）、印刷文書のラスタデータ化に要する合計時間である「totalTime」を初期値にし（totalTime＝０）、印刷文書のラスタデータ化に要する平均時間である「aveTime」を初期値にし（aveTime＝０）、ラスタデータ化したページ数を示す「count」の値を初期値にし（count＝０）する（ステップＳ１２１）。また、「pNum」は印刷文書のページ数を示し、「preAssm」は「先行合成ページ数」を示し、「intv」は「先行合成ページ間隔」を示す。
【０１４９】
次に、「ｉ」の値に１を加算し（ｉ＝ｉ＋１）（ステップＳ１２２）、現在のページ番号ｉが最終ページより大きくなっていれば（pNum＜ｉ）（ステップＳ１２３のＮ）、プリンタエンジン４での印刷開始を指示する（ステップＳ１２４）。
【０１５０】
現在のページ番号が最終ページでなければ（pNum≧ｉ）（ステップＳ１２３のＹ）、現在のページ番号ｉのページのデータが中間データであるか否かを判断する（ステップＳ１２５）。すでに変換手段２３でラスタデータ化されていれば（ステップＳ１２５のＮ）、ステップＳ１２２に戻り、中間データであれば（ステップＳ１２５のＹ）、「count」の値に１加算し（count＝count＋１）、当該ｉページ目のデータをラスタデータに変換し、このページのラスタデータへの変換に要した時間（変換時間）を「totalTime」に加算し、「totalTime／count」により「aveTime」を求める（ステップＳ１２６）。
【０１５１】
次に、ｉページ目が「先行合成ページ数」より少ないか否かを判断し（preAssm＞ｉ）（ステップＳ１２７）、ｉページ目が「先行合成ページ数」より少ないときは（ステップＳ１２７のＹ）、ステップＳ１２２に戻り、ｉページ目が「先行合成ページ数」以上であるときは（ステップＳ１２７のＮ）、ステップＳ１２８以下の処理を行う。
【０１５２】
すなわち、制御手段がページのラスタデータをプリンタエンジン５に転送しなければならない前述の「規定時間」とページのラスタデータをプリンタエンジン５に転送するのにようする時間である「転送時間」との差分時間を「短縮時間」とすると、「余裕時間」を“preAssm＊短縮時間”として求める。例えば、「短縮時間」は「規定時間」が２００ms、「転送時間」が５０msとすると、１５０msになる。この「余裕時間」は、「先行合成ページ数」分を変換手段２３でラスタデータに変換済みであることにより生じる制御手段２４のラスタデータ転送のためのゆとり時間である。また、“（aveTime＋転送時間）−規定時間”により、「超過時間」を求める。「超過時間」は、１ページ分の中間データをラスタデータに変換すると制御手段２４でのプリンタエンジン５へのラスタデータの転送に生じる超過時間である。さらに、“（超過時間＊印刷未了中間データページ数）−（短縮時間＊印刷未了ラスタデータページ数）”により、「予測不足時間」を求める。「印刷未了中間データページ数」は印刷されていない中間データのページ数であり、「印刷未了ラスタデータページ数」は印刷されていないラスタデータのページ数である。「予測不足時間」は、制御手段２４でのプリンタエンジン５へのラスタデータの転送における不足時間とゆとり時間との差分であり、全体として、制御手段２４でのプリンタエンジン５へのラスタデータの転送に生じる不足時間である（ステップＳ１２８）。
【０１５３】
そして、「予測不足時間」が「余裕時間」を下回っていれば（ステップＳ１２９のＮ）、制御手段２４でのプリンタエンジン５へのラスタデータの転送にはゆとりがあるため、プリンタエンジン４での印刷開始を指示する（ステップＳ１２４）。「予測不足時間」が「余裕時間」を上回っていれば（ステップＳ１２９のＹ）、制御手段２４でのプリンタエンジン５へのラスタデータの転送には時間が不足するので、次に説明する追加ラスタライズ処理を行う（ステップＳ１３０）。
【０１５４】
図３５は、追加ラスタライズ処理（ステップＳ１３０）のサブルーチンのフローチャートである。
【０１５５】
まず、「先行合成ページ間隔」を１減らす（intv＝intv−１）（ステップＳ１３１）。そして、「先行合成ページ間隔」が１以上であれば（ステップＳ１３２のＹ）、「印刷未了中間データページ数」についてページ間隔を「intv」ごとに中間データをラスタデータに変換し、ラスタデータへの変換済みページ数を表す「preAssm」の値を更新し、中間データからラスタデータへの平均の変換時間を表す「aveTime」の値を更新する。
【０１５６】
図３６は、追加ラスタライズ処理について説明する説明図である。
【０１５７】
図３６において、上段は「先行合成ページ間隔」が４の場合を示し、下段は「先行合成ページ間隔」を１減らして３にした場合を示している。「先行合成ページ間隔」が４の場合は、ラスタデータ１ページ分、中間データ３ページ分が交互に連続して現れる。これに対して、「先行合成ページ間隔」を１減らして３にした場合は、ラスタデータ１ページ分、中間データ２ページ分が交互に連続して現れるので、ラスタデータと中間データとの割合はラスタデータの割合が多くなるように変更されることになる。よって、合成手段２５でのラスタデータ合成の処理負担は軽減されることになる。
【符号の説明】
【０１５８】
１    画像形成システム
２    クライアント端末
４    コントローラ
５    プリンタエンジン
２３  変換手段
２４  制御手段
２５  合成手段
【図１】
0005577658.tif 000002
【図２】
0005577658.tif 000003
【図３】
0005577658.tif 000004
【図４】
0005577658.tif 000005
【図５】
0005577658.tif 000006
【図６】
0005577658.tif 000007
【図７】
0005577658.tif 000008
【図８】
0005577658.tif 000009
【図９】
0005577658.tif 000010
【図１０】
0005577658.tif 000011
【図１１】
0005577658.tif 000012
【図１２】
0005577658.tif 000013
【図１３】
0005577658.tif 000014
【図１４】
0005577658.tif 000015
【図１５】
0005577658.tif 000016
【図１６】
0005577658.tif 000017
【図１７】
0005577658.tif 000018
【図１８】
0005577658.tif 000019
【図１９】
0005577658.tif 000020
【図２０】
0005577658.tif 000021
【図２１】
0005577658.tif 000022
【図２２】
0005577658.tif 000023
【図２３】
0005577658.tif 000024
【図２４】
0005577658.tif 000025
【図２５】
0005577658.tif 000026
【図２６】
0005577658.tif 000027
【図２７】
0005577658.tif 000028
【図２８】
0005577658.tif 000029
【図２９】
0005577658.tif 000030
【図３０】
0005577658.tif 000031
【図３１】
0005577658.tif 000032
【図３２】
0005577658.tif 000033
【図３３】
0005577658.tif 000034
【図３４】
0005577658.tif 000035
【図３５】
0005577658.tif 000036
【図３６】
0005577658.tif 000037