(57)【特許請求の範囲】
【請求項１】
ページ記述言語で記述された文書データのうちの割り当てられたページのデータを解釈して当該ページの中間データを生成する複数の中間データ生成装置と、
前記複数の中間データ生成装置が生成した前記中間データのうちの割り当てられた部分の中間データを取得し、取得した前記中間データを描画することにより当該割り当てられた部分の画素ごとの情報を含む描画データを生成する１以上の描画データ生成装置であって、取得した前記中間データ内の共通要素の中間データ、又は当該中間データから生成した前記共通要素の描画データ、を記憶する記憶装置を有し、前記割り当てられた部分内の前記共通要素の中間データ又は描画データが前記記憶装置内にあれば、前記記憶装置内の当該共通要素の中間データ又は描画データを用いて当該割り当てられた部分の描画データを生成する、１以上の描画データ生成装置と、
を備え、
前記描画データ生成装置の数は、前記中間データ生成装置の数よりも少なく、
前記複数の中間データ生成装置のそれぞれは、共通要素については、当該共通要素を含むページが割り当てられた中間データ生成装置のうち予め設定された条件に従って決定される１つの中間データ生成装置が当該共通要素の中間データを代表して生成する、
ことを特徴とする画像処理システム。
【請求項２】
前記１以上の描画データ生成装置のうち少なくとも１つは、前記中間データを描画することによりページの描画データを生成する複数の描画回路を備え、それら複数の描画回路が前記記憶装置に記憶された前記共通要素の中間データ又は描画データを共用する、ことを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記中間データは、さらに、前記共通要素と他の要素との間の画像内での上下関係を表す情報を含み、
前記描画データ生成装置は、前記中間データに含まれる前記上下関係を表す情報にさらに従って前記描画データを生成する処理を行う、
ことを特徴とする請求項１〜２のいずれか１項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムに関する。
【背景技術】
【０００２】
印刷出力の高速化のため、複数のＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）により印刷データを並列処理する技術が知られている。なお、ＲＩＰとは、PostScript（登録商標）等のページ記述言語（以下、ＰＤＬという。ＰＤＬは、Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅの略）で記述されたデータを印刷や表示が可能なラスタデータに展開する装置のことである。
【０００３】
また、画像処理システムの中には、複数のページ画像に共通の共通要素（例えば定型フォームなど）を最初に受け取ったときに展開してキャッシュメモリに記憶しておき、次に同じ定型情報を用いるページを処理する場合に、その記憶した共通要素の展開結果を再利用するものが知られている。
【０００４】
特許文献１には、ページ単位の文書データを格納する格納手段と、該文書格納手段により格納された文書データから２つ以上の文書データを指定する文書指定手段と、該文書指定手段により指定された２つ以上の文書データを、１ページ分の画像上に重ねて出力する画像合成手段と、を有する画像形成装置が開示されている。
【０００５】
特許文献２には、画像メモリを備え、該画像メモリにイメージ情報、図形情報、文字情報の内１又は複数の情報を記憶させる機能を持つ情報出力装置に於いて、少なくともオーバレイ情報を専用に格納するメモリと、前記画像メモリの記憶された情報とを読みだして合成する手段を設け、該合成手段により、該画像メモリ上に記憶された情報にオーバレイ情報を重畳させて出力するオーバレイ方式が開示されている。
【０００６】
特許文献３に開示される装置は、共通の印刷データであるフォーム情報データを予め複数個記憶装置に格納しておき、上位装置から送信される可変の一般印刷データを、前記記憶装置に格納されている複数個のフォーム情報データの１つと合成して用紙に印刷するフォームオーバレイ機能を有する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１２５１８８号公報
【特許文献２】実開昭６０−０４２７９１号公報
【特許文献３】特開平０７−２５１５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ＰＤＬのデータを印刷装置で使用可能な画像データに変換するＲＩＰ等の画像処理装置を複数用い、個々の装置に対してそれぞれ別々のページを割り当てて並列処理する方式では、共通要素を保持するキャッシュメモリ等の記憶装置を個々の画像処理装置にそれぞれ別々に設けることとなる。この場合、同じ共通要素がそれぞれ別々の画像処理装置の記憶装置に重複して保持される場合も生じる。
【０００９】
本発明では、並列動作する複数の画像処理装置が共通要素のためのキャッシュメモリ等の記憶装置をそれぞれ個別に持つ構成よりも、キャッシュメモリ等の記憶装置の利用効率を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る画像処理システムは、ページ記述言語で記述された文書データのうちの割り当てられたページのデータを解釈して当該ページの中間データを生成する複数の中間データ生成装置と、前記複数の中間データ生成装置が生成した前記中間データのうちの割り当てられた部分の中間データを取得し、取得した前記中間データを描画することにより当該割り当てられた部分の画素ごとの情報を含む描画データを生成する１以上の描画データ生成装置であって、取得した前記中間データ内の共通要素の中間データ、又は当該中間データから生成した前記共通要素の描画データ、を記憶する記憶装置を有し、前記割り当てられた部分内の前記共通要素の中間データ又は描画データが前記記憶装置内にあれば、前記記憶装置内の当該共通要素の中間データ又は描画データを用いて当該割り当てられた部分の描画データを生成する、１以上の描画データ生成装置と、を備え、前記描画データ生成装置の数は、前記中間データ生成装置の数よりも少なく、前記複数の中間データ生成装置のそれぞれは、共通要素については、当該共通要素を含むページが割り当てられた中間データ生成装置のうち予め設定された条件に従って決定される１つの中間データ生成装置が当該共通要素の中間データを代表して生成する、ことを特徴とする画像処理システムである。
【００１１】
請求項２に係る発明は、前記１以上の描画データ生成装置のうち少なくとも１つは、前記中間データを描画することによりページの描画データを生成する複数の描画回路を備え、それら複数の描画回路が前記記憶装置に記憶された前記共通要素の中間データ又は描画データを共用する、ことを特徴とする請求項１に記載の画像処理システムである。
【００１３】
請求項３に係る発明は、前記中間データは、さらに、前記共通要素と他の要素との間の画像内での上下関係を表す情報を含み、前記描画データ生成装置は、前記中間データに含まれる前記上下関係を表す情報にさらに従って前記描画データを生成する処理を行う、ことを特徴とする請求項１〜２のいずれか１項に記載の画像処理システムである。
【発明の効果】
【００１４】
請求項１に係る発明によれば、並列動作する複数の画像処理装置が共通要素のためのキャッシュメモリ等の記憶装置をそれぞれ個別に持つ構成よりも、キャッシュメモリ等の記憶装置の利用効率を向上させることができる。また、すべての中間データ生成装置が同じ共通要素の中間データを重複して生成する構成よりも、中間データ生成装置からバックエンド装置へ送信するデータの量を削減することができる。
【００１５】
請求項２に係る発明によれば、バックエンド装置が単一の描画回路しか持たない場合よりも、バックエンド装置の処理速度を向上させることができる。
【００１７】
請求項３に係る発明によれば、共通要素を含む文書データ内の構成要素間の上下関係を設定でき、その上下関係に従った描画データを生成することができる。
【図面の簡単な説明】
【００１８】
【図１】印刷システムの一実施形態を示す機能ブロック図である。
【図２】システム全体の処理手順の例を示すフローチャートである。
【図３】フロントエンド装置とバックエンド装置とによるデータ処理の流れの一例を説明するための図である。
【図４】フロントエンド装置の処理手順の例を示すフローチャートである。
【図５】バックエンド装置の処理手順の例を示すフローチャートである。
【図６】フロントエンド装置とバックエンド装置とによるデータ処理の流れの別の例を説明するための図である。
【図７】フロントエンド装置とバックエンド装置とによるデータ処理の流れの更に別の例を説明するための図である。
【図８】変形例におけるフロントエンド装置による中間データ生成の例を説明するための図である。
【図９】変形例におけるバックエンド装置による中間データの処理の例を説明するための図である。
【図１０】フロントエンド装置とバックエンド装置とによるデータ処理の流れの更に別の例を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について説明する。
【００２０】
図１に示すように、本実施形態の印刷システム１００は、複数のフロントエンド装置１１０、１つのバックエンド装置１２０、印刷エンジン１３０、及び振り分け制御部１５０を備える。
【００２１】
振り分け制御部１５０は、ページ単位の並列処理のために、複数のフロントエンド装置１１０に対して担当ページの振り分けを行う。より詳しくは、振り分け制御部１５０は、ＬＡＮ（ローカルエリアネットワーク）２１０を介してクライアント装置２００からページ記述言語（ＰＤＬ）の印刷データを受け取ると、まずその印刷データを各フロントエンド装置１１０にそれぞれ転送する。そして、その印刷データの先頭ページから順に、各ページの処理をそれぞれ別々のフロントエンド装置１１０に振り分ける。この振り分けは、あらかじめ定められた固定的な順序で各フロントエンド装置１１０にページを振り分ける方式であってもよい。また、振り分けられたページの処理が終了するごとにフロントエンド装置１１０が振り分け制御部１５０にその旨を通知し、その通知に応じて振り分け制御部１５０が未処理の先頭のページを通知元のフロントエンド装置１１０に振り分けるという制御でもよい。なお、これらはあくまで一例に過ぎず、他の振り分け方式を用いてもよい。
【００２２】
振り分け制御部１５０は、複数のフロントエンド装置１１０のいずれかに内蔵（例えばプログラムとしてインストール）されていてもよいし、それら複数のフロントエンド装置１１０やバックエンド装置１２０とは別のコンピュータ装置上に構築されていてもよい。
【００２３】
フロントエンド装置１１０は、振り分け制御部１５０からＰＤＬで記述された印刷データを含んだ印刷要求を受信し、その印刷データを中間データに変換する装置である。フロントエンド装置１１０は、インタプリタ１１２と中間データ生成部１１４とを備える。インタプリタ１１２は、ＰＤＬの印刷データを先頭から順に解釈していく。中間データ生成部１１４は、インタプリタ１１２から順に出力される印刷データの解釈結果から、中間データを生成する。中間データは、ページ単位で生成してもよいし、あらかじめ定められた走査線数のバンド単位で生成してもよい。中間データは、例えばいわゆるディスプレイリストなどである。また、中間データは、ページの画像を構成する画像要素である各オブジェクト（例えば、文字フォント、グラフィックス図形、画像データ）を、ラスター走査の走査線ごとに区切った区間データであってもよい。この区間データは、オブジェクトが１つの走査線上に占める区間を表すデータであり、例えばその区間の両端の座標の組で表され、その区間内の各画素の画素値を規定する情報を含んでいてもよい。画素値は、例えばＣ，Ｍ，Ｙ，Ｋなどの印刷エンジン１３０が用いる基本色ごとの濃度値（グレーレベル）である。中間データは、ディスプレイリストや区間データ以外の、ＰＤＬとビットマップ画像（ラスター画像）との中間程度のデータ量のいずれのデータ形式であってもよい。なお、以下でいう中間データは、そのような個々のディスプレイリストや区間データを指す場合もあるし、ページ又はそれを分割したバンドなどといった描画単位を表す複数のディスプレイリストや区間データの集まりを指す場合もある。
【００２４】
より詳しくは、各フロントエンド装置１１０のインタプリタ１１２は、振り分け制御部１５０から受け取ったページ記述言語の印刷データを先頭から順に解釈していく。この解釈処理は、自装置に振り分けられたページのみならず、先頭から全ページについて行う。これは、ページ非独立、すなわち前のページについてのコマンドによるインタプリタ１１２の内部状態の変化が後のページの解釈に影響を与えるタイプ、のページ記述言語を想定したものである。中間データ生成部１１４は、インタプリタ１１２の解釈結果のうち、振り分け制御部１５０により自装置に振り分けられたページについての解釈結果（及びそのときのインタプリタ１１２の内部状態）を用いて、そのページ内の各オブジェクトについてのプリミティブデータ（ディスプレイリストを構成する個々のコマンド、又は区間データなど）からなる中間データを生成する。なお、中間データは、ページ単位で生成してもよいし、あらかじめ定められた走査線数のバンド単位で生成してもよい。
【００２５】
ページ記述言語の解釈も中間データへの変換も、主としてソフトウエア処理により実現される場合が多い。この例では、各フロントエンド装置１１０は、中間データの変換については自装置に割り当てられたページについてのみしか行わないので、その分だけ並列化のメリットが出る。
【００２６】
なお、印刷データがページ独立のページ記述言語で記述されている場合には、振り分け制御部１５０は、その印刷データをページ単位に分割し、各フロントエンド装置１１０に振り分けてもよい。
【００２７】
また、印刷データがページ非独立のページ記述言語で記述されている場合に、振り分け制御部１５０がその印刷データを解釈してページ独立のページ記述言語のデータに変換し、ページ単位に分割して各フロントエンド装置１１０に振り分けてもよい。
【００２８】
いずれにしても、各フロントエンド装置１１０は、振り分け制御部１５０から振り分けられたページについての中間データを生成し、ＬＡＮ又は通信ケーブルなどの伝送路１４０を介して、単一のバックエンド装置１２０に転送する。したがって、図１の例では、複数のフロントエンド装置１１０で並列して生成された複数のページの中間データが、１つのバックエンド装置１２０に集約されることになる。
【００２９】
バックエンド装置１２０は、フロントエンド装置１１０が生成した中間データを、印刷エンジン１３０が取扱可能なラスター走査可能な画像データ（ラスター画像又はビットマップ画像など）へと変換し、その画像データを印刷エンジン１３０に供給する。一例として、バックエンド装置１２０は、分配部１２１、キャッシュメモリ１２３、及び複数の処理回路１２４を備える。分配部１２１は、複数のフロントエンド装置１１０から入力されてくる各ページの中間データを、複数の処理回路１２４に分配する。この分配は、例えばページ単位などのような、あらかじめ定められた単位ごとに行う。この分配の単位は、ページであってもよいし、ページをあらかじめ定めたライン数ずつ分けたバンドであってもよい。また、ページ又はバンドをそれぞれ印刷エンジン１３０の基本色（例えばＹ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック）など）ごとに分版したものを、分配の単位としてもよい。以下では、ページ単位で分配する場合を代表例として説明する。
このような分配により、複数の処理回路１２４が、並列的に、それぞれ分配された部分の中間データを処理する。処理回路１２４は、マーキング処理部１２５、オーバレイ処理部１２６及びハーフトーン処理部１２７を備える。マーキング処理部１２５は、中間データを処理して、ページバッファ又はバンドバッファなどの描画用メモリ上に画像データを形成する。オーバレイ処理部１２６は、印刷データ内の複数の箇所（例えば複数のページ）で共通して使用される共通要素の画像データに、共通要素以外の他の要素からなる画像データをオーバレイ又は合成する処理を実行する。共通要素は、複数のページにおいて共通のオブジェクト（図形、図表、文字、画像など）を含む場合がある。共通要素は、例えば、文書の書式を定める枠線、文書を作成した企業や団体を表す印（ロゴマークなど）、又は文書の種類や機密レベルなどを表す文字列（例えば、「重要」，「社外秘」，「機密」などの文字列）などのオブジェクトである。これらのオブジェクトは、文書中の複数のページに共通して現れることがある。また、ＰｏｓｔＳｃｒｉｐｔ（登録商標）では、そのような共通要素を表すフォーム等といったオブジェクトが用意されている。ハーフトーン処理部１２７は、マーキング処理部１２５が生成した画像データ、又はこの画像データを共通要素の画像データにオーバレイ又は合成して得られる画像データに対してハーフトーン処理を施す。ハーフトーン処理後の画像データが印刷エンジン１３０へと供給される。なお、ハーフトーン処理部１２７の代わりに、或いはこれに加えて、例えばガンマ補正などの他の画像処理を行う機能モジュールを処理回路１２４に設けてもよい。
【００３０】
個々の処理回路１２４は、例えば、ＣＰＵ（中央演算装置）、マイクロプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、又はＤＲＰ（Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）などのプロセッサ又は集積回路である。処理回路１２４をＡＳＩＣで構成する場合、処理回路１２４には上述の各処理部１２５〜１２７の機能を果たす回路が内包されることになる。また、ＤＲＰは、内部の論理回路の構成を動的に（例えば１クロックの間に）変更可能なプロセッサである。処理回路１２４をＤＲＰで構成する場合、そのＤＲＰの回路構成を、例えば、上述の各処理部１２５〜１２７の機能のための回路へと順に切り換えて行くこととなる。
【００３１】
また、キャッシュメモリ１２３には、印刷データの複数の箇所（異なる複数のページなど）で繰り返し利用される共通要素のデータが格納される。格納される共通要素のデータは、中間データであってもよいし、その中間データをマーキング処理部１２５で処理することにより得られるラスター画像データであってもよいし、更にそのラスター画像データをハーフトーン処理部１２７で処理することにより得られるハーフトーン画像データであってもよい。共通要素をいずれの形式でキャッシュメモリ１２３にキャッシュするかは、印刷システム１００の設計としてあらかじめ固定的に定めておいてもよいし、変更可能な設定情報として設定できるようにしてもよい。
【００３２】
キャッシュメモリ１２３は、複数の処理回路１２４により共用される。したがって、それらすべての処理回路１２４が１つのキャッシュメモリ１２３内の共通要素を再利用する。
【００３３】
印刷エンジン１３０は、バックエンド装置１２０の各処理回路１２４から供給されるハーフトーン処理済みのラスター画像データを、用紙に印刷する。
【００３４】
１つの例では、各フロントエンド装置１１０及びバックエンド装置１２０は、それぞれブレードサーバにおける１つのブレード（あるいはボード）として構成してもよい。フロントエンド装置１１０のインタプリタ１１２及び中間データ生成部１１４は、例えば、ブレード上に搭載されたＣＰＵで実行されるプログラムとして実現してもよい。また、１つのブレード上のＣＰＵにて、インタプリタ１１２及び中間データ生成部１１４のペアを複数、別々のプロセス又はスレッドとして実行させてもよい。この場合、１つのブレード上に複数のフロントエンド装置１１０が含まれることになる。また、ブレード上のＣＰＵがマルチコア構成の場合、またはブレード上に複数のＣＰＵが搭載されている場合は、マルチコアを構成する各コア、又は複数のＣＰＵのそれぞれにより、それぞれ１つのフロントエンド装置１１０を構成してもよい。また、フロントエンド装置１１０の一部の機能を、ＡＳＩＣその他のハードウエア回路として構成してもよい。バックエンド装置１２０のうち各処理回路１２４及びキャッシュメモリ１２３は、ＡＳＩＣやＤＲＰ、半導体メモリ装置などのハードウエア回路として実現される。分配部１２１は、プログラムで実現してもよいし、ハードウエア回路として実現してもよい。
【００３５】
以上に説明したように、図１に示す印刷システム１００では、まずＰＤＬの印刷データをラスター画像データに変換する処理のための装置を、前段のフロントエンド装置１１０と後段のバックエンド装置１２０との２つの段階の装置に分けている。そして、前段は複数のフロントエンド装置１１０による並列構成とするとともに、後段は１つのバックエンド装置１２０内に搭載された複数の処理回路１２４による並列構成としている。複数の処理回路１２４は、同じバックエンド装置１２０内にあるキャッシュメモリ１２３を共用する。
【００３６】
次に、図２を参照し、図１の例のシステムにおける動作の例を説明する。図２の例の手順のステップＳ１０及びＳ１２は振り分け制御部１５０による処理であり、Ｓ１４及びＳ１６はフロントエンド装置１１０による処理であり、ステップＳ１８及びＳ２０は、バックエンド装置１２０による処理である。
【００３７】
まず、振り分け制御部１５０が、クライアント装置２００からの印刷ジョブ（ＰＤＬで記述された印刷データを含む印刷指示データ）を受信する（ステップＳ１０）。
【００３８】
次に、振り分け制御部１５０は、例えば固定的な順序で又は各フロントエンド装置１１０の稼動状況に応じて、ステップＳ１０で受信した印刷ジョブに含まれるＰＤＬ中の各ページの処理を担当するフロントエンド装置１１０を決定する。つまり、振り分け制御部１５０は、各フロントエンド装置１１０に対してそれぞれページを割り当てる（ステップＳ１２）。フロントエンド装置１１０に割り当てられた（振り分けられた）ページを、以下では担当ページとも呼ぶ。
【００３９】
各フロントエンド装置１１０は、ステップＳ１２で割り当てられた自身の担当ページの通知と共に処理対象のＰＤＬを振り分け制御部１５０から取得する。そして、取得したＰＤＬを解釈して自身の担当ページの部分を特定し、そのページを解釈して中間データを生成する（ステップＳ１４）。生成する中間データは、Ｙ，Ｍ，Ｃ，Ｋの各基本色に分版したものであってもよい。ステップＳ１４では、複数のフロントエンド装置１１０によりページ単位での並列処理が行われる。
【００４０】
各フロントエンド装置１１０は、生成した中間データを、バックエンド装置１２０に対して出力する（ステップＳ１６）。バックエンド装置１２０は、受け取った各ページの中間データを、あらかじめ定めた単位ごとに、各処理回路１２４に分配する。
【００４１】
各処理回路１２４は、分配部１２１から取得した中間データを処理して、割り当てられた部分の描画データ（ラスター画像データ）を生成する（ステップＳ１８）。ステップＳ１８で、処理回路１２４のマーキング処理部１２５は、例えば、取得した中間データを描画処理して印刷画像を構成する画素それぞれの値を求めることでラスター画像データを生成する。そして、生成したラスター画像データに対し、ハーフトーン処理部１２７においてハーフトーン処理を行う（更にガンマ補正を行ってもよい）。また、分配されたデータにフォーム等の共通要素が含まれている場合、オーバレイ処理部１２６によりその共通要素の画像に対して他の要素からなる画像をオーバレイ又は合成する。
【００４２】
各処理回路１２４から出力されるハーフトーン処理後のラスター画像データは、印刷エンジン１３０に対して出力される（ステップＳ２０）。なお、複数の処理回路１２４と印刷エンジン１３０との間にバッファメモリを設け、それら両者の間の処理速度の差を吸収するようにしてもよい。
【００４３】
図３に、本実施形態の例において、フロントエンド装置１１０とバックエンド装置１２０によるデータの処理の一例を示す。図３は、Ｐａｇｅ１〜Ｐａｇｅ５の５ページを含む文書であって、各ページに共通要素であるフォームを含む文書のＰＤＬを処理する場合の例である。この例では、全ページに含まれるフォームは同じものである。図３の例において、２つのフロントエンド装置１１０がＰａｇｅ１〜５を１ページずつ順に処理する。すなわち、第１のフロントエンド装置１１０（図３中の上側の装置）はＰａｇｅ１，３，５を担当し、第２のフロントエンド装置１１０（図３中の下側の装置）はＰａｇｅ２，４を担当する。各フロントエンド装置１１０は、ＰＤＬを解釈し、自身の担当ページ及び担当ページ中のフォームを特定する。
【００４４】
ここで、図３の例では、一例として、１つのフォームの中間データ生成は、１つのフロントエンド装置１１０が代表して行う。例えば、各フロントエンド装置１１０に対し、フォームの中間データの生成を担当する場合の条件を予め保持させておき、この条件に従って各フロントエンド装置１１０においてフォームの中間データを生成すべきか否かを決定するようにしてもよい。ここで用いる条件は、例えば、「フォームを含むページのうち印刷データ中で最初に出現するページの処理を（自分が）担当する場合にフォームの中間データを生成する」などのように定義しておけばよい。この条件の場合、フロントエンド装置１１０は、ＰＤＬの印刷データを先頭から順に解釈していく中で、あるフォームを最初に検出した場合、その検出位置の属するページが自分の担当ページであれば、そのフォームの中間データの生成を担当する。印刷データの解釈を進めていく中でフォームを検出したとしても、同じフォームを前に検出したことがある場合、又はまたはその検出位置の属するページが自分の担当ページでない場合は、フロントエンド装置１１０はその検出したフォームの中間データは生成しない。このように初出のフォームの属するページを割り当てられたフロントエンド装置１１０がそのフォームの中間データを生成する方式は、ＰｏｓｔＳｃｒｉｐｔ（登録商標）等のページ非独立のＰＤＬで印刷データが記述される場合に適用すればよい。
【００４５】
また、フロントエンド装置１１０は、中間データから描画データを生成し
て、バックエンド装置１２０に出力してもよい。この場合、バックエンド装置
１２０は、描画データをキャッシュメモリ１２３にキャッシュする。
【００４６】
また、別の例として、振り分け制御部１５０がフォームの中間データの生成を担当するフロントエンド装置１１０を決定し、その旨を担当のフロントエンド装置１１０に対して通知してもよい。この場合、フォームの中間データの生成を担当すべき旨を通知されたフロントエンド装置１１０においてフォームの中間データの生成を行い、その旨の通知を受けなかったフロントエンド装置１１０においてはフォームの中間データを生成しないようにする。
【００４７】
この例におけるフロントエンド装置１１０の処理手順の例を図４に示す。この手順では、フロントエンド装置１１０は、振り分け制御部１５０から自身の担当ページの通知及び処理対象のＰＤＬデータを取得したときに、図４の例の手順の処理を開始する。図４の手順では、まず、フロントエンド装置１１０のインタプリタ１１２は、処理対象のＰＤＬデータを解釈して、自身の担当ページの部分を特定し、担当ページにフォームが含まれているか否かを判定する（ステップＳ３０）。
【００４８】
担当ページにフォームが含まれていれば（ステップＳ３０でＹＥＳ）、インタプリタ１１２は、フォームの中間データを生成するか否かを判定する（ステップＳ３２）。ステップＳ３２の判定は、例えば、予め定義された条件に該当するか否かに応じて行う。例えば、上述の例の条件（「フォームを含むページのうち文書中で最初に出現するページの処理を担当する場合にフォームの中間データを生成する」）が予め定義されている場合、ＰＤＬを解釈した結果から、自身の担当ページがフォームを含む最初のページであるか否かを特定する。最初のページであれば上述の例の条件を満たすため、フォームの中間データを生成することを判定し（ステップＳ３２でＹＥＳ）、中間データ生成部１１４が、インタプリタ１１２の解釈結果に基づき、フォームの中間データの生成を行う（ステップＳ３４）。このとき、フォームについて、Ｙ，Ｍ，Ｃ，Ｋの各基本色に分版した中間データを生成してもよい。一方、最初のページでなければ上述の例の条件を満たさないため、フォームの中間データを生成しないことを判定し（ステップＳ３２でＮＯ）、ステップＳ３４を省略してステップＳ３６に進む。また、例えば、振り分け制御部１５０がフォームの中間データの生成を担当するフロントエンド装置１１０を決定して通知する場合、ステップＳ３２の判定は、この通知を振り分け制御部１５０から受けているか否かに応じて行えばよい。フォームの中間データの生成を担当するよう通知を受けていればステップＳ３２でＹＥＳと判定してフォームの中間データを生成し（ステップＳ３４）、当該通知を受けていなければステップＳ３２でＮＯと判定してステップＳ３６に進む。
【００４９】
ステップＳ３６では、インタプリタ１１２及び中間データ生成部１１４は、担当ページについての中間データ（例えばＹ，Ｍ，Ｃ，Ｋの各基本色に分版した中間データ）を生成する。ステップＳ３６では、担当ページにフォームが含まれているか否かにかかわらず、担当ページ中のフォーム以外のオブジェクトについての中間データが生成される。また、ステップＳ３６で生成される中間データは、当該中間データに対応するページにフォームが含まれるか否かを表す情報をさらに有する。
【００５０】
担当ページの中間データが生成されると、生成した担当ページの中間データは、フロントエンド装置１１０からバックエンド装置１２０に対して出力される（ステップＳ３８）。フロントエンド装置１１０において、担当ページの中間データだけでなくフォームの中間データも生成（ステップＳ３４）していた場合、ステップＳ３８において、フォームの中間データもバックエンド装置１２０に対して出力される。
【００５１】
図４の例の手順によると、図３に例示するように、フォームの中間データの生成を担当するフロントエンド装置１１０だけがフォームの中間データと担当ページの中間データとを生成し、他のフロントエンド装置１１０は担当ページの中間データのみを生成する。
【００５２】
以上、フロントエンド装置１１０の処理手順の例を説明した。再び図３を参照して説明する。
【００５３】
図３の例は、Ｐａｇｅ１〜５に共通して含まれるフォームが初めて現れるＰａｇｅ１を担当する第１のフロントエンド装置１１０が、そのフォームの中間データを生成する。また、第１のフロントエンド装置１１０は、担当するＰａｇｅ１，３，５の、フォーム以外の要素（オブジェクト）についての中間データを生成する。また、第２のフロントエンド装置１１０は、担当するＰａｇｅ２，４における、フォーム以外の要素（オブジェクト）についての中間データを生成する。生成された各中間データは、伝送路１４０を介して、バックエンド装置１２０の分配部１２１へと集められる。
【００５４】
分配部１２１は、受け取ったフォームの中間データをキャッシュメモリ１２３にキャッシュすると共に、各ページの中間データを２つの処理回路１２４に分配する。この例では、ページ順に交互に分配しており、第１の処理回路１２４（図２の上側の処理回路１２４）はＰａｇｅ１，３，５の中間データを、第２の処理回路１２４（図２の下側の処理回路１２４）はＰａｇｅ２，４の中間データを、受け取って処理する。より詳細には、処理回路１２４のマーキング処理部１２５は、キャッシュメモリ１２３からフォームの中間データを受け取り、その中間データを描画して、描画結果の画像データをバッファメモリ上に書き込む。また、マーキング処理部１２５は、分配されたページの中間データを描画する。マーキング処理部１２５によるページの描画結果は、オーバレイ処理部１２６により、バッファメモリ上のフォームの画像上にオーバレイ（重畳）される。オーバレイ結果の描画データは、ハーフトーン処理部１２７にてハーフトーン処理される。このように各処理回路１２４がページ順に交互に生成するフォームオーバレイ済の描画データが、バッファ等を介して印刷エンジン１３０へと送られ、印刷される。
【００５５】
図５は、本実施形態の例における各バックエンド装置１２０が実行する処理の手順の例を示すフローチャートである。各バックエンド装置１２０は、フロントエンド装置１１０から出力された中間データを取得すると、図５の例の手順の処理を開始する。
【００５６】
バックエンド装置１２０の分配部１２１は、取得したページの中間データが、フォームのオーバレイを行うべきか否かを判定する（ステップＳ４０）。この例では各ページの中間データには、フォームオーバレイの要否を示す情報が含まれている。ステップＳ４０の判定結果がＹＥＳの場合、そのページの中間データと共にフォームの中間データを受け取ったか否かを判定する（ステップＳ４２）。
【００５７】
ステップＳ４２の判定結果がＹＥＳであれば、分配部１２１は受け取ったフォームの中間データをキャッシュメモリ１２３に保存し（ステップＳ４４）、ステップＳ４６に進む。フォームを受信していなければ（ステップＳ４２でＮＯ）、ステップＳ４４の処理を省略してステップＳ４６へ進む。
【００５８】
ステップＳ４４の後、又は、ステップＳ４２でＹＥＳ判定された後、分配部１２１は、当該ページの分配先の処理回路１２４に対してページの中間データを渡す。すると、その処理回路１２４のマーキング処理部１２５がそのページの中間データから描画データを生成する。また、このページには、フォームオーバレイを行う旨の指示が含まれているので、オーバレイ処理部１２６がキャッシュメモリ１２３からフォームの中間データを取得し、マーキング処理部１２５にその中間データからフォームの描画データを生成させ、その描画データをページの描画データにオーバレイする（ステップＳ４６）。なお、フォームは、背景画像として印刷画像の最も下に配置してもよいし、その逆に、印刷画像の最も上に配置してもよい。その設定は、ＰＤＬに記述され、例えばフォームの中間データに含まれるようにしておけばよい。
【００５９】
描画データの生成が終了すると、生成された描画データが順に印刷エンジン１３０に対して描画データが出力される（ステップＳ５０）。
【００６０】
なお、処理対象の中間データにフォームの中間データが含まれていなければ（ステップＳ４０でＮＯ）、マーキング処理部１２５によりページの中間データを用いた描画データの生成が行われ、更にハーフトーン処理部１２７による処理が行われ（ステップＳ４８）、その結果の描画データが印刷エンジン１３０対して出力される（ステップＳ５０）。
【００６１】
次に、別の例を、図６を参照して説明する。図３の例ではバックエンド装置１２０のキャッシュメモリ１２３にフォームの「中間データ」を保持した。これに対し、図６では、フォームのラスタデータ（描画データ）をキャッシュメモリ１２３に保持する。
【００６２】
このため、バックエンド装置１２０の分配部１２１は、フロントエンド装置１１０から受信したフォームの中間データをいずれかの処理回路１２４（例えば、そのフォームと共に受信したページの中間データの処理を担当する処理回路１２４）に分配する。フォームの中間データを受け取った処理回路１２４では、マーキング処理部１２５がその中間データについての描画処理を行い、フォームのラスターデータ（描画データ）を生成し、生成したフォームのラスタデータをキャッシュメモリ１２３にキャッシュする。ここで、前述したようにフロントエンド装置１１０でフォームの描画データを生成する場合は、バックエンド装置１２０は、フロントエンド装置１１０から受け取ったフォームの描画データを、例えばそのまま、キャッシュメモリ１２３にキャッシュすればよい。また、各処理回路１２４は、分配部１２１から分配されたページの中間データを処理する際、キャッシュメモリ１２３からフォームのラスタデータを取得してバッファメモリに書き込み、そのラスタデータに対して、当該ページの中間データから生成したラスタデータをオーバレイ処理する。そして、オーバレイ処理結果のラスタデータがハーフトーン処理部１２７で処理され、この処理結果が印刷エンジン１３０へと送信される。
【００６３】
図６の例のうち、以上に説明した点以外は、図３の例の場合と同様でよい。
【００６４】
なお、図６の例では、マーキング処理部１２５が生成したフォームのラスタデータをキャッシュメモリ１２３にキャッシュしたが、この代わりに、そのラスタデータをハーフトーン処理部１２７で処理して得られる処理結果をキャッシュメモリ１２３にキャッシュしてもよい。また、フォームについてのハーフトーン処理済みの描画データをフロントエン
ド装置１１０で生成し、これをバックエンド装置１２０に送ってキャッシュメモリ１２３にキャッシュして再利用するようにしてもよい。この場合、オーバレイ処理部１２６は、ページのラスタデータについてのハーフトーン処理部１２７による処理結果を、キャッシュメモリ１２３から取得したフォームのハーフトーン処理済みラスタデータにオーバレイする。
【００６５】
また、同様に、キャッシュメモリ１２３にガンマ補正済のラスタデータをキャッシュし、ガンマ補正したページのラスタデータをキャッシュメモリ１２３から取得したフォームのガンマ補正済ラスタデータにオーバレイしてもよい。
【００６６】
次に、図７を参照して、１つの文書に複数のフォームを用いる例を説明する。図７の例では、Ｐａｇｅ１〜５の５ページからなる文書において、フォーム１及びフォーム２の２種類のフォームが用いられている。より詳しくは、フォーム１はＰａｇｅ１，４，５に用いられ、フォーム２はＰａｇｅ２，３に用いられている。これら５ページが、２つのフロントエンド装置１１０に１ページずつ交互に振り分けられる。上側の第１のフロントエンド装置１１０にはＰａｇｅ１，３，５が、下側の第２のフロントエンド装置１１０にはＰａｇｅ２，４が振り分けられる。
【００６７】
図７の例では、ＰＤＬデータ中でのフォーム１の初出のページであるＰａｇｅ１を処理する第１（上側）のフロントエンド装置１１０が、フォーム１の中間データを生成する。また、ＰＤＬデータ中でのフォーム２の初出のページであるＰａｇｅ２を処理する第２（下側）のフロントエンド装置１１０が、フォーム２の中間データを生成する。また、各フロントエンド装置１１０が生成する各ページ（のフォーム以外の部分の）中間データには、そのページが含むフォームの識別情報Ｆ１又はＦ２が含まれる。Ｆ１はフォーム１を指し示す識別情報であり、Ｆ２はフォーム２を指し示す識別情報である。各フロントエンド装置１１０が生成した各フォーム及び各ページの中間データは、バックエンド装置１２０の分配部１２１に集まる。
【００６８】
分配部１２１は、Ｐａｇｅ１の中間データと共に受け取ったフォーム１の中間データを、第１（上側）の処理回路１２４に分配する。第１の処理回路１２４は、そのフォーム１の中間データを処理してフォーム１のラスタデータ（又はハーフトーン処理済み、又はガンマ補正済のラスタデータ）を生成してキャッシュメモリ１２３にキャッシュする。また、分配部１２１は、Ｐａｇｅ２の中間データと共に受け取ったフォーム２の中間データを、第２（下側）の処理回路１２４に分配する。第２の処理回路１２４は、そのフォーム２の中間データを処理してフォーム２のラスタデータ（又はハーフトーン処理済み、又はガンマ補正済のラスタデータ）を生成してキャッシュメモリ１２３にキャッシュする。
【００６９】
また、各処理回路１２４は、分配部１２１から分配されたページの中間データを処理する際、その中間データに含まれるフォーム識別情報に対応するフォームのラスタデータをキャッシュメモリ１２３から取得してバッファメモリに書き込み、そのラスタデータに対して、当該ページの中間データから生成したラスタデータをオーバレイ処理する。そして、オーバレイ処理結果のラスタデータがハーフトーン処理部１２７で処理され、この処理結果が印刷エンジン１３０へと送信される。
【００７０】
図７の例では、各フォームのラスタデータをキャッシュメモリ１２３にキャッシュしたが、中間データをキャッシュしてももちろんよい。
【００７１】
上述の各例では、フォームに関する描画データの処理においてフォームを印刷画像の最も下側（又は最も上側）に配置する。フォームを含む文書のＰＤＬを処理する実施形態のさらに他の例では、フォームと他のオブジェクトとの間の印刷画像における上下関係の情報をさらに含む中間データを各フロントエンド装置１１０において生成し、この情報が表す上下関係を再現した描画データをバックエンド装置１２０において生成してもよい。
【００７２】
図８に、この例の場合に各フロントエンド装置１１０が生成する中間データの構成の一例を示す。図８の例において処理対象となるＰＤＬは、Ｐａｇｅ１〜５の５ページを含む文書のＰＤＬである。また、Ｐａｇｅ１，４，５の各ページにフォーム１が含まれ、Ｐａｇｅ２，３の各ページにフォーム１及びフォーム２が含まれる。本例では、各フロントエンド装置１１０は、担当ページ中のフォームのオブジェクト及びフォームの他のオブジェクトの描画命令を、印刷画像における配置の順（下から上へ、又は上から下へ）に記述した中間データを生成する。図８の例の第１頁の中間データ（Ｐａｇｅ１）を参照して説明すると、符号Ｐ１−１は、Ｐａｇｅ１においてフォーム１よりも下（又は上）に配置されるオブジェクトの中間データ形式の描画命令を表し、フォーム１は、フォーム１の中間データ形式の描画命令を表し、符号Ｐ１−２は、Ｐａｇｅ１においてフォーム１よりも上（又は下）に配置されるオブジェクトの中間データ形式の描画命令を表す。また同様に、中間データ２を参照して説明すると、符号Ｐ２−１、フォーム１、符号Ｐ２−２、及びフォーム２の描画命令により表されるオブジェクトは、この順番で印刷画像において上から下に（又は下から上に）配置される。中間データ３，４，５の構成は、それぞれ、中間データ１，２の構成と同様である。これらの中間データは、バックエンド装置１２０に対して出力される。
【００７３】
このような各ページの中間データを受け取ったバックエンド装置１２０の分配部１２１は、図９に示すように、それら各ページの中間データを、２つの処理回路１２４に対してページ順に交互に分配する。
【００７４】
この例では、上側の第１の処理回路１２４が、まずＰａｇｅ１の中間データを受け取った際、その中に含まれる各部分Ｐ１−１、フォーム１、Ｐ１−２の中間データについての描画処理を行い、描画データを生成する。この例では、フォーム１の初出がＰａｇｅ１なので、第１の処理回路１２４がフォーム１の描画処理を代表して行う。次にハーフトーン処理部１２７がそれら各部分の描画データ（ラスタデータ）をハーフトーン処理する。ここで、フォーム１のハーフトーン処理結果は、キャッシュメモリ１２３にキャッシュされる。また、マーキング処理部１２５は、フォーム以外の他の部分Ｐ１−１及びＰ１−２についての描画処理も行う。合成処理部１２６ａは、取得した中間データに表現される各部分Ｐ１−１，フォーム１、Ｐ１−２の上下関係に従って、それら各部分のハーフトーン処理済みの描画データを順に合成していくことで、フォーム合成済且つハーフトーン処理済みの描画データを生成する。
【００７５】
第２（下側）の処理回路１２４は、まずＰａｇｅ２の中間データを受け取った際、その中に含まれる各部分Ｐ２−１、Ｐ２−２、フォーム２の中間データについての描画処理を行い、描画データを生成する。この例では、フォーム２の初出がＰａｇｅ２なので、Ｐａｇｅ２を担当する第２の処理回路１２４がフォーム１の描画処理を代表して行う。フォーム１の初出はＰａｇｅ１であってＰａｇｅ２ではないので、第２の処理回路１２４はフォーム２の描画は行わない。次にハーフトーン処理部１２７がそれら各部分の描画データ（ラスタデータ）をハーフトーン処理する。ここで、フォーム２のハーフトーン処理結果は、キャッシュメモリ１２３にキャッシュされる。また、マーキング処理部１２５は、フォーム以外の他の部分Ｐ２−１及びＰ２−２についての描画処理も行う。合成処理部１２６ａは、取得した中間データに表現される各部分Ｐ２−１、フォーム１、Ｐ２−２、フォーム２の上下関係に従って、それら各部分のハーフトーン処理済みの描画データを順に合成していくことで、フォーム合成済且つハーフトーン処理済みの描画データを生成する。このとき、初出でないフォーム１のハーフトーン処理済みの描画データは、キャッシュメモリ１２３から取得して使用する。
【００７６】
また、各処理回路１２４は、Ｐａｇｅ３，４，又は５についての描画処理を行う場合には、フォーム１及び２のハーフトーン処理済みの描画データをキャッシュメモリ１２３から取得し、当該ページの中間データに表現される各部分の上限関係に従って、それらフォームとフォーム以外の他の部分の描画データとを合成する。
【００７７】
図９の例では、フォームのハーフトーン処理済みの描画データをキャッシュメモリ１２３にキャッシュしたが、これは一例に過ぎない。キャッシュメモリ１２３にキャッシュするデータの形式は、中間形式、ハーフトーン処理前の描画データ、ガンマ補正済の描画データ、ハーフトーン処理済み且つガンマ補正済の描画データのいずれであってもよい。
【００７８】
図８の例では、各フロントエンド装置１１０は、各ページに含まれるすべてのフォームについて中間データを作成したが、これは一例に過ぎない。この代わりに、個々のフォームをそれぞれ１つのフロントエンド装置１１０が代表して描画してもよい。この例を図１０に示す。
【００７９】
図１０の例は、図９に例示するＰＤＬと同様のＰＤＬを処理対象とする。図１０の例では、各フロントエンド装置１１０が、それぞれ自分の担当するページに、ＰＤＬデータの先頭から見て初出のフォームがあれば、そのフォームの中間データを生成する。すなわち、図示例では、上側の第１のフロントエンド装置１１０は、Ｐａｇｅ１に初出するフォーム１の中間データを、全フロントエンド装置１１０を代表して生成する。同様に、下側の第２のフロントエンド装置１１０は、Ｐａｇｅ２に初出するフォーム２の中間データを、全フロントエンド装置１１０を代表して生成する。また、各フロントエンド装置１１０は、それぞれ担当するページに含まれるフォーム以外の各オブジェクトの中間データを生成すると共に、それら各オブジェクトの中間データと、そのページに含まれるフォームの識別情報（Ｆ１，Ｆ２）とを含んだ、当該ページ全体の中間データを生成する。Ｆ１はフォーム１の識別情報であり、Ｆ２はフォーム２の識別情報である。このページ全体の中間データには、フォーム以外の各オブジェクトとフォームとの上下関係の情報が含まれる。このように、ページの中間データには、フォーム自体の中間データは含まれない。このようにして生成された各ページの中間データ及び各フォームの中間データは、バックエンド装置１２０に渡される。なお、図１０における各ページのフォームと他の部分と上下関係は、図８の例と同様である。
【００８０】
図示は省略したが、バックエンド装置１２０では、図９の場合と同様、各処理回路１２４がそれぞれ割り振られたフォーム１を描画処理し（また場合によってはハーフトーン処理やガンマ補正処理を施し）、その処理の結果をキャッシュメモリ１２３にキャッシュすする。また、各処理装置１２４は、各ページの中間データを処理する場合に、その中間データに含まれるフォームの識別情報を読み取り、その識別情報に対応するフォームの描画データ（ラスタデータ）を、フォーム以外の他の部分の描画データと合成する。この合成では、それらフォーム及びその他の部分を、当該中間データが表す上下関係に従った順序で合成する。
【００８１】
なお、この場合も、キャッシュメモリ１２３にキャッシュするフォームのデータの形式は、中間形式、ハーフトーン処理前の描画データ、ハーフトーン処理済みの描画データ、ガンマ補正済の描画データ、ハーフトーン処理済み且つガンマ補正済の描画データのいずれであってもよい（これは、上に説明した他の例の場合も同様である）。
【００８２】
以上で説明した各種の例は、上述の説明の態様に限定されず、更に様々な変形例が考えられる。例えば、以上の例では、中間データをバックエンド装置１２０内の個々の処理回路１２４に分配する分配部１２１がバックエンド装置１２０内にあったが、この代わりに、各フロントエンド装置１１０が分配部１２１と同様の処理機能を有してもよい。この場合、フロントエンド装置１１０内の分配部１２１は、自分の生成した各ページ及び各フォームの中間データを、あらかじめ定められた規則（例えば複数の処理回路１２４に対してページ順に従って順に割り振るなど）に従って各処理回路１２４に分配する。この場合、フロントエンド装置１１０内の分配部１２１は、例えば、バックエンド装置１２０に送る各フォーム及び各ページの中間データに対して、その中間データの処理を担当する処理回路１２４の識別情報を付加しておけばよい。そして、バックエンド装置１２０内の各処理回路１２４は、各フロントエンド装置１１０から送られてくる各中間データのうち、自分の識別情報を含んだ中間データを処理する。
【００８３】
また、分配部１２１を、フロントエンド装置１１０及びバックエンド装置１２０のいずれとも異なる装置として設けてもよい。この場合、各フロントエンド装置１１０は、それぞれ生成した中間データを、その独立した分配部１２１に送る。分配部１２１は、受け取った中間データをそれぞれバックエンド装置１２０のどの処理装置１２４に分配するかを決定し、例えば各中間データに対してその分配先の処理回路１２４の識別情報を付加してバックエンド装置１２０に送る。バックエンド装置１２０内の各処理回路１２４は、分配部１２１から送られてくる各中間データのうち、自分の識別情報を含んだ中間データを処理する。
【００８４】
また、以上では、バックエンド装置１２０が１つであったが、バックエンド装置１２０の数は複数であっていてもよい。ただし、並列配置するバックエンド装置１２０の数は、並列配置するフロントエンド装置１１０の数よりも少なくする。個々のバックエンド装置１２０は、例えばブレードサーバにおける１つのブレードとして構成される。この場合、個々のバックエンド装置１２０はそれぞれ個別のキャッシュメモリ１２３を有しており、各処理回路１２４は自分の属するバックエンド装置１２０のキャッシュメモリ１２３にはアクセス可能であるが、他のバックエンド装置１２０のキャッシュメモリにはアクセスできない。そこで、フォームの中間データを生成したフロントエンド装置１１０は、例えば、生成したフォームの中間データをすべてのバックエンド装置１２０に送り、すべてのバックエンド装置１２０内のキャッシュメモリ１２３にそのフォームのデータがキャッシュされるようにする。この場合、各ページの中間データが割り振られるバックエンド装置１２０の数は、それら各ページの中間データを生成するフロントエンド装置１１０の数よりも少ないので、個々のバックエンド装置１２０が担当するページの数は、個々のフロントエンド装置１１０が担当するページの数よりも多くなる。したがって、バックエンド装置１２０内のキャッシュメモリ１２３にキャッシュしたフォームのデータが利用される頻度は、バックエンド装置１２０をフロントエンド装置１１０と同数設ける構成や、フロントエンドとバックエンドに分けない従来のＲＩＰを複数並列で設けてそれら各ＲＩＰにキャッシュメモリを設ける構成よりも高く、すなわちキャッシュの利用効率が高い。なお、この場合において、個々のバックエンド装置１２０に設けられる処理回路１２４の数は複数であってもよいし１つであってもよい。
【００８５】
印刷システム１００内に設けるバックエンド装置１２０の数が１つの場合、そのバックエンド装置１２０内のキャッシュメモリ１２３の利用効率は、バックエンド装置１２０を複数設ける場合よりもよい。バックエンド装置１２０が１つであっても、その中に高速処理が可能なハードウエアの処理回路１２４を複数設けて並列処理を行わせることで、システム全体としての描画処理の処理速度が確保される。しかも、バックエンド装置１２０内の各処理回路１２４を、バックエンド装置１２０内部の高速バスその他の高速な通信手段により単一のキャッシュメモリ１２３に接続することで、それら複数の処理回路１２４が１つのキャッシュメモリ１２３を共通利用されることとなる。
【００８６】
また、以上では印刷の基本色としてＹ，Ｍ，Ｃ，Ｋの４色を用いる例を説明したが、他の色を基本色として用いても、あるいは、５色以上又は３色以下の基本色を用いても、上述の各種の実施形態の例の処理は上述と同様に実現される。
【００８７】
また、以上では、マーキング処理部１２５が描画データとしてラスタデータを生成する旨を記載したが、ラスタデータの代わりに、ランレングスデータなどといった他の形式の印刷画像データを生成してもよい。
【００８８】
また、上述の各例では、バックエンド装置１２０の各処理回路１２４にページ単位で処理を割り振ったが、ページをさらに分割したバンド単位で処理を割り振ってもよい。また、バックエンド装置１２０に、基本色ごとに処理回路１２４を設け、各フロントエンド装置１１０から受け取った中間データを、基本色ごとに、対応する処理回路１２４に分配するようにしてもよい。また、バックエンド装置１２０内に、基本色ごとに複数の処理回路１２４を設け、各基本色の中間データを、ページその他の単位ごとに当該基本色の複数の処理回路１２４に分配してもよい。
【符号の説明】
【００８９】
１００  印刷システム、１１０  フロントエンド装置、１１２  インタプリタ、１１４  中間データ生成部、１２０  バックエンド装置、１２１  分配部、１２３  キャッシュメモリ、１２４  処理回路、１２５  マーキング処理部、１２６  オーバレイ処理部、１２６ａ  合成処理部、１２７  ハーフトーン処理部、１３０  印刷エンジン、１５０  振り分け制御部、２００  クライアント装置。
【図１】
0005594204.tif 000002
【図２】
0005594204.tif 000003
【図３】
0005594204.tif 000004
【図４】
0005594204.tif 000005
【図５】
0005594204.tif 000006
【図６】
0005594204.tif 000007
【図７】
0005594204.tif 000008
【図８】
0005594204.tif 000009
【図９】
0005594204.tif 000010
【図１０】
0005594204.tif 000011