(57)【要約】【課題】印刷される画像を作成する際に使用されない要素のデータが解釈装置から印刷画像データ生成装置に転送されることのないシステムを提供する。【解決手段】コンピュータ装置１３０にインストールされたＲＩＰ（解釈装置）３０は、各ページのＰＤＬデータを解釈して各ページの中間データを生成する。ページに含まれる再利用対象のオブジェクトについては、その中間データをＲＩＰ３０内の再利用オブジェクトスプール３６にスプールする。別のコンピュータ装置１４０にインストールされたＢＥＰ（印刷画像データ生成装置）４０は、ページの中間データを処理してそのページの印刷画像データを生成する際、中間データから再利用対象のオブジェクトを特定する情報を見つけると、再利用オブジェクトスプール３６にその中間データの転送を要求し、送られてきた中間データを処理してそのオブジェクトの印刷画像データを生成し、ページの印刷画像データに組み込む。【選択図】図２
2015001866.tif 000002
【特許請求の範囲】
【請求項１】
解釈装置と、１以上の印刷画像データ生成装置とを有し、
前記解釈装置は、
印刷データに含まれる再利用対象の要素の中間データを記憶する再利用要素記憶手段と、
前記印刷データを解釈して各ページの中間データを生成する解釈手段であって、前記各ページの中間データとして、当該ページ中の前記再利用対象でない要素については当該要素を解釈して得た中間データを含み、前記再利用対象の要素については前記再利用要素記憶手段内に記憶された当該要素を特定する特定情報を含んだ中間データを生成すると共に、前記再利用対象の要素を解釈して得た中間データを当該中間データに対応する前記特定情報により読み出し可能な形で前記再利用要素記憶手段に記憶させる解釈手段と、
を有し、
前記印刷画像データ生成装置は、
前記解釈装置から出力された各ページの中間データを受け取り、それら各ページの中間データを用いて、前記印刷データに対応する、印刷装置が取り扱い可能な形式の各ページの印刷画像データを生成し、生成した各ページの印刷画像データを前記印刷装置に供給する１以上の印刷画像データ生成装置であって、前記解釈装置から受け取ったページの中間データから前記特定情報を検出すると、前記解釈装置の前記再利用要素記憶手段から当該特定情報に対応する前記再利用可能な要素の中間データを取得し、取得した当該中間データを用いて当該再利用可能な要素の印刷画像データを生成し、生成した当該要素の印刷画像データを当該ページの印刷画像データに組み込む、１以上の印刷画像データ生成装置と、
を有する印刷画像処理システム。
【請求項２】
前記印刷画像データ生成装置は、
前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをネットワーク経由でのデータ転送により取得する第１の手段と、
前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをメモリマップドファイル方式で取得する第２の手段と、
前記解釈装置が当該印刷画像データ生成装置と同じコンピュータ装置上に構成されているか否かを判定し、前記解釈装置が当該印刷画像データ生成装置とは異なるコンピュータ装置上に構成されていると判定した場合は前記第１の手段を動作させ、前記解釈装置が当該印刷画像データ生成装置とは同じコンピュータ装置上に構成されていると判定した場合は前記第２の手段を動作させる制御を行う手段と、
を有することを特徴とする請求項１に記載の印刷画像処理システム。
【請求項３】
コンピュータ装置を、解釈装置と協働する印刷画像データ生成装置として機能させるためのプログラムであって、
前記解釈装置は、
印刷データに含まれる再利用対象の要素の中間データを記憶する再利用要素記憶手段と、
前記印刷データを解釈して各ページの中間データを生成する解釈手段であって、前記各ページの中間データとして、当該ページ中の前記再利用対象でない要素については当該要素を解釈して得た中間データを含み、前記再利用対象の要素については前記再利用要素記憶手段内に記憶された当該要素を特定する特定情報を含んだ中間データを生成すると共に、前記再利用対象の要素を解釈して得た中間データを当該中間データに対応する前記特定情報により読み出し可能な形で前記再利用要素記憶手段に記憶させる解釈手段と、
を有し、
前記プログラムは、前記コンピュータ装置を、
前記解釈装置から出力された各ページの中間データを受け取り、それら各ページの中間データを用いて、前記印刷データに対応する、印刷装置が取り扱い可能な形式の各ページの印刷画像データを生成し、生成した各ページの印刷画像データを前記印刷装置に供給する１以上の印刷画像データ生成装置であって、前記解釈装置から受け取ったページの中間データから前記特定情報を検出すると、前記解釈装置の前記再利用要素記憶手段から当該特定情報に対応する前記再利用可能な要素の中間データを取得し、取得した当該中間データを用いて当該再利用可能な要素の印刷画像データを生成し、生成した当該要素の印刷画像データを当該ページの印刷画像データに組み込む手段、
として機能させるものであることを特徴とするプログラム。
【請求項４】
前記プログラムは、前記コンピュータ装置を、更に、
前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをネットワーク経由でのデータ転送により取得する第１の手段、
前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをメモリマップドファイル方式で取得する第２の手段、
前記解釈装置が当該印刷画像データ生成装置と同じコンピュータ装置上に構成されているか否かを判定し、前記解釈装置が当該印刷画像データ生成装置とは異なるコンピュータ装置上に構成されていると判定した場合は前記第１の手段を動作させ、前記解釈装置が当該印刷画像データ生成装置とは同じコンピュータ装置上に構成されていると判定した場合は前記第２の手段を動作させる制御を行う手段、
として機能させるためのものであることを特徴とする請求項３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷画像処理システム及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、バリアブル印刷データから印刷イメージを生成する印刷制御装置が開示されている。この装置は、再利用オブジェクトの利用頻度を計算する再利用オブジェクト利用頻度計算部と、バリアブル印刷データを解釈して再利用オブジェクト及び一時利用オブジェクトを抽出しラスタライズするバリアブル印刷データ解析部と、キャッシュメモリ及び外部記憶装置と、各々の再利用オブジェクトを利用頻度に基づいて重み付けし、キャッシュメモリに保存できなくなるまで、利用頻度が高い順に、再利用オブジェクトの画像データをキャッシュメモリに保存する保存形態判定部と、再利用オブジェクト及び一時利用オブジェクトの画像を合成する画像合成処理部と、印刷イメージを印刷装置に転送する印刷イメージ転送部と、を有する。
【０００３】
特許文献２に開示されたシステムは、複数ページの編集処理データのうち、各ページに共通な部分である共通部と、各ページに固有な部分である非共通部とをそれぞれ選択し、個別にファイルとして保存するレイアウトデータ分割保存手段と、レイアウトデータ分割保存手段により保存された共通部ファイルと非共通部ファイルを転送するレイアウトデータ転送手段と、レイアウトデータ転送手段により転送された共通部ファイルと非共通部ファイルとを合成し、各ページ毎に合成されたデータを出力する出力手段とを備える。
【０００４】
特許文献３には、ページ記述言語（以下「ＰＤＬ」と呼ぶ。ＰＤＬはPage Description Languageの略）の印刷データを印刷装置で取り扱い可能なビットマップ等の画像データに変換するための機構を、ＰＤＬから中間データへ変換する中間データ生成部と、中間データを画像データに変換する描画データ生成部の２段階に分け、中間データ生成部と描画データ生成部をそれぞれ複数並列動作させるシステムが開示されている。特許文献３の図１３〜図２０に関する説明では、複数のページで繰り返し利用されるフォームの取り扱いについての例が示されている。その説明では、フォームの中間データ又は画像データを描画データ生成部内のキャッシュメモリに保存し、そのフォームが含まれるページの画像データを生成する際にキャッシュメモリから取り出したフォームのデータを用いることが示されている。
【０００５】
特許文献４に開示された印刷システムでは、ＰＤＬの印刷データをラスター画像データに変換する処理のための装置を、前段のフロントエンド装置と後段のバックエンド装置との２つの段階の装置に分けている。そして、前段は複数のフロントエンド装置による並列構成とするとともに、後段は１つのバックエンド装置内に搭載された複数の処理回路による並列構成としている。バックエンド装置内の複数の処理回路は、そのバックエンド装置内にあるキャッシュメモリを共用する。キャッシュメモリ内には、フォームなど、複数のページで共通利用されるオブジェクトのデータがキャッシュされる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１９２５３１号公報
【特許文献２】特開平０９−０１６７９１号公報
【特許文献３】特開２０１１−０７０３３７号公報
【特許文献４】特開２０１２−２００９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、印刷される画像を作成する際に使用されない要素のデータが解釈装置から印刷画像データ生成装置に転送されることのないシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、解釈装置と、１以上の印刷画像データ生成装置とを有し、前記解釈装置は、印刷データに含まれる再利用対象の要素の中間データを記憶する再利用要素記憶手段と、前記印刷データを解釈して各ページの中間データを生成する解釈手段であって、前記各ページの中間データとして、当該ページ中の前記再利用対象でない要素については当該要素を解釈して得た中間データを含み、前記再利用対象の要素については前記再利用要素記憶手段内に記憶された当該要素を特定する特定情報を含んだ中間データを生成すると共に、前記再利用対象の要素を解釈して得た中間データを当該中間データに対応する前記特定情報により読み出し可能な形で前記再利用要素記憶手段に記憶させる解釈手段と、を有し、前記印刷画像データ生成装置は、前記解釈装置から出力された各ページの中間データを受け取り、それら各ページの中間データを用いて、前記印刷データに対応する、印刷装置が取り扱い可能な形式の各ページの印刷画像データを生成し、生成した各ページの印刷画像データを前記印刷装置に供給する１以上の印刷画像データ生成装置であって、前記解釈装置から受け取ったページの中間データから前記特定情報を検出すると、前記解釈装置の前記再利用要素記憶手段から当該特定情報に対応する前記再利用可能な要素の中間データを取得し、取得した当該中間データを用いて当該再利用可能な要素の印刷画像データを生成し、生成した当該要素の印刷画像データを当該ページの印刷画像データに組み込む、１以上の印刷画像データ生成装置と、を有する印刷画像処理システムである。
【０００９】
請求項２に係る発明は、前記印刷画像データ生成装置は、前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをネットワーク経由でのデータ転送により取得する第１の手段と、前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをメモリマップドファイル方式で取得する第２の手段と、前記解釈装置が当該印刷画像データ生成装置と同じコンピュータ装置上に構成されているか否かを判定し、前記解釈装置が当該印刷画像データ生成装置とは異なるコンピュータ装置上に構成されていると判定した場合は前記第１の手段を動作させ、前記解釈装置が当該印刷画像データ生成装置とは同じコンピュータ装置上に構成されていると判定した場合は前記第２の手段を動作させる制御を行う手段と、を有することを特徴とする請求項１に記載の印刷画像処理システムである。
【００１０】
請求項３に係る発明は、コンピュータ装置を、解釈装置と協働する印刷画像データ生成装置として機能させるためのプログラムであって、前記解釈装置は、印刷データに含まれる再利用対象の要素の中間データを記憶する再利用要素記憶手段と、前記印刷データを解釈して各ページの中間データを生成する解釈手段であって、前記各ページの中間データとして、当該ページ中の前記再利用対象でない要素については当該要素を解釈して得た中間データを含み、前記再利用対象の要素については前記再利用要素記憶手段内に記憶された当該要素を特定する特定情報を含んだ中間データを生成すると共に、前記再利用対象の要素を解釈して得た中間データを当該中間データに対応する前記特定情報により読み出し可能な形で前記再利用要素記憶手段に記憶させる解釈手段と、を有し、前記プログラムは、前記コンピュータ装置を、前記解釈装置から出力された各ページの中間データを受け取り、それら各ページの中間データを用いて、前記印刷データに対応する、印刷装置が取り扱い可能な形式の各ページの印刷画像データを生成し、生成した各ページの印刷画像データを前記印刷装置に供給する１以上の印刷画像データ生成装置であって、前記解釈装置から受け取ったページの中間データから前記特定情報を検出すると、前記解釈装置の前記再利用要素記憶手段から当該特定情報に対応する前記再利用可能な要素の中間データを取得し、取得した当該中間データを用いて当該再利用可能な要素の印刷画像データを生成し、生成した当該要素の印刷画像データを当該ページの印刷画像データに組み込む手段、として機能させるものであることを特徴とするプログラムである。
【００１１】
請求項４に係る発明は、前記プログラムは、前記コンピュータ装置を、更に、前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをネットワーク経由でのデータ転送により取得する第１の手段、前記解釈装置の前記再利用要素記憶手段から前記特定情報に対応する中間データをメモリマップドファイル方式で取得する第２の手段、前記解釈装置が当該印刷画像データ生成装置と同じコンピュータ装置上に構成されているか否かを判定し、前記解釈装置が当該印刷画像データ生成装置とは異なるコンピュータ装置上に構成されていると判定した場合は前記第１の手段を動作させ、前記解釈装置が当該印刷画像データ生成装置とは同じコンピュータ装置上に構成されていると判定した場合は前記第２の手段を動作させる制御を行う手段、として機能させるためのものであることを特徴とする請求項３に記載のプログラムである。
【発明の効果】
【００１２】
請求項１又は３に係る発明によれば、印刷される画像を作成する際に使用されない要素のデータが解釈装置から印刷画像データ生成装置に転送されることのないシステムを提供することができる。
【００１３】
請求項２又は４に係る発明によれば、単一のプログラムで、解釈装置が印刷画像データ生成装置と異なるコンピュータ装置で実行されている場合と同じコンピュータ装置で実行されている場合の両方に対応できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態のシステム構成を示す図である。
【図２】実施形態のＲＩＰ及びＢＥＰの内部構成の例を示す図である。
【図３】実施形態の描画処理部が実行する処理手順の一例を示す図である。
【図４】変形例のシステム構成を示す図である。
【図５】変形例のＲＩＰ及びＢＥＰの内部構成の例を示す図である。
【図６】変形例の描画処理部が実行する処理手順の一例を示す図である。
【図７】ＢＥＰが再利用オブジェクトスプールからデータ取得方式を動的に切り替える処理手順の例を示す図である。
【発明を実施するための形態】
【００１５】
図１を参照して、本実施形態の第１のシステム構成例を説明する。
【００１６】
図１に示すシステム構成は、クライアント装置１０、印刷画像処理システム１００、および印刷装置５０を備える。
【００１７】
クライアント装置１０は、ＬＡＮ（ローカルエリアネットワーク）等のネットワーク６０を介して印刷画像処理システム１００の少なくともＣＥＰ２０に接続されている。
【００１８】
クライアント装置１０は、印刷画像処理システム１００に対して印刷データを含んだ印刷指示を送信する装置である。クライアント装置１０が送信する印刷データは、ページ記述言語（以下「ＰＤＬ」と称す。ＰＤＬはPage Description Languageの略）で記述されている。
【００１９】
印刷装置５０は、紙等の媒体に印刷を行う装置であり、その形式は特に限定されない。例えば、連続紙プリンタであってよいし、カット紙プリンタであってもよい。また、印刷方式も、電子写真方式、インクジェット方式のいずれでもよく、また他の方式であってもよい。
【００２０】
印刷画像処理システム１００は、ＣＥＰ２０、ＲＩＰ３０、及び複数のＢＥＰ４０から構成される。
【００２１】
ＣＥＰ（CEntral Processor：中央制御処理装置）２０は、印刷画像処理システム１００全体の制御を司る装置である。すなわち、ＣＥＰ２０は、クライアント装置１０から印刷データを含んだ印刷指示を受信し、その印刷指示に応じた印刷処理を実行するために、ＲＩＰ３０及び複数のＢＥＰ４０を制御する。例えば、ＣＥＰ２０は、ＲＩＰ３０に印刷データを送信し、処理させる。ＣＥＰ２０は、印刷画像処理システム１００内に１つ設けられる。また、システム内にＲＩＰ３０が複数存在する構成では、ＣＥＰ２０は、各ＲＩＰ３０に対して印刷データ内の異なるページを分配し、それら複数のＲＩＰ３０に複数のページを並列的に解釈させる。
【００２２】
ＲＩＰ（Raster Image Processor：解釈処理装置）３０は、ＣＥＰ２０から受信した印刷データのＰＤＬ記述を解釈し、その解釈結果に従って、印刷データが表す各ページの画像を表現する中間データを生成する。
【００２３】
中間データは、クライアント装置１０が生成したＰＤＬデータと、印刷装置５０が取り扱い可能なデータ形式（例えばラスター形式）の印刷画像データと、の中間の粒度のデータ形式のデータである。中間データ形式は、例えば、ＰＤＬで記述された画像オブジェクトを単純な形状の微小要素に細分化して表現する。中間データ形式としては、例えばディスプレイリスト形式が知られているが、本実施形態のシステムで用いる中間データ形式はこれに限らない。
【００２４】
ＲＩＰ３０は、印刷データを解釈してページごとに中間データを生成し、生成した各ページの中間データをＢＥＰ４０に送信する。図１のシステムでは、ＢＥＰ４０が複数あるので、ＲＩＰ３０は、それら複数のＢＥＰ４０に対してページ単位で中間データを分配する。
【００２５】
ＢＥＰ（Back End Processor：バックエンド処理装置）４０は、ＲＩＰ３０から受信した各ページの中間データを処理して、それら各ページの印刷画像データ（例えばラスター形式）を生成し、生成した印刷画像データを印刷装置５０に供給して印刷させる。図１のシステム構成では、ｎ個（ｎは２以上の整数）のＢＥＰ４０を並列に動作させることで、印刷画像データの生成処理の速度向上を図っている。
【００２６】
図１の例では、ＣＥＰ２０、ＲＩＰ３０及び各ＢＥＰ４０が、それぞれ、物理的に異なる複数のコンピュータ装置１２０、１３０、１４０−１、１４０−２、・・・１４０−ｎ上に構築されている。コンピュータ装置１２０、１３０、１４０−１、１４０−２、・・・１４０−ｎは、ＬＡＮ等のネットワーク６２、６４を介して通信可能となっている。ＣＥＰ２０とＲＩＰ３０はネットワーク６２経由で通信し、ＲＩＰ３０及び各ＢＥＰ４０はネットワーク６４経由で通信する。ネットワーク６２と６４とは共通のネットワークであってよい。また、ネットワーク６２及び６４の少なくとも一方がネットワーク６０と共通のネットワークであってもよい。
【００２７】
ＢＥＰ４０がインストールされた各コンピュータ装置１４０−１、１４０−２、・・・、１４０−ｎと印刷装置５０とは通信手段６６により接続されている。通信手段６６は、ＬＡＮ等のネットワークであってもよいし、各コンピュータ装置１４０−１、１４０−２、・・・、１４０−ｎと印刷装置５０とを一対一でつなぐ通信ケーブルであってもよい。
【００２８】
なお、各コンピュータ装置１２０、１３０、１４０−１、１４０−２、・・・１４０−ｎは、ハードウエアとして、ＣＰＵ（中央演算装置）、メモリ（一次記憶）、各種Ｉ／Ｏ（入出力）インタフェース、通信インタフェースなどがバスを介して接続された回路構成を有する。それら各コンピュータ装置は、通信インタフェースを介して、他の装置との間でデータの授受を行う。また、バスに対し、例えばＩ／Ｏインタフェース経由で、キーボードやマウスなどの入力装置、及び、液晶ディスプレイなどの表示装置が接続される。また、バスには、Ｉ／Ｏインタフェースを介して、ＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）などの二次記憶が接続され、更に、ＣＤ、ＤＶＤ、ブルーレイ（商標）ディスク、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブが接続されてもよい。これら各種ドライブは、メモリに対する外部記憶装置として機能する。後述するＣＥＰ２０、ＲＩＰ３０、又はＢＥＰ４０の機能を記述したプログラムが、可搬型の記録媒体を経由して、またはネットワーク経由で、ＨＤＤなどの二次記憶に保存され、コンピュータ装置にインストールされる。二次記憶に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、ＣＥＰ２０、ＲＩＰ３０、又はＢＥＰ４０が実現される。なお、ＣＥＰ２０、ＲＩＰ３０、及びＢＥＰ４０の一部の機能（例えばビットマップ画像に対する画像処理）は、ハードウエア回路（例えばＡＳＩＣ（Application Specific Integrated Circuit）やＤＲＰ（Dynamic Reconfigurable Processor））として実装されてもよい。
【００２９】
また、各コンピュータ装置１２０、１３０、１４０−１、１４０−２、・・・１４０−ｎは、それぞれ個別にインストールされたＯＳ（オペレーティングシステム）により制御される。ＣＥＰ２０、ＲＩＰ３０、及びＢＥＰ４０のプログラムは、それぞれ対応するコンピュータ装置１２０、１３０、１４０−１、１４０−２、・・・１４０−ｎのＯＳ上で動作する。ＯＳは、個々のコンピュータ装置の動作制御や、ネットワーク６０、６２、６４等を介するそれらコンピュータ装置間の通信制御などを司る。
【００３０】
図１に例示した印刷画像処理システム１００は、ＲＩＰ３０の数が１つであったが、システム１００内に複数のＲＩＰ３０を設けてもよい。この場合、複数のＲＩＰ３０はそれぞれ別々のコンピュータ装置上にインストールされてもよい。また、２以上のＲＩＰ３０が１台のコンピュータ装置にインストールされてもよい。
【００３１】
この点はＢＥＰ４０についても同様であり、２以上のＢＥＰ４０が１台のコンピュータ装置にインストールされてもよい。また、ＣＥＰ２０とＲＩＰ３０とが１台のコンピュータ装置にインストールされてもよい。
【００３２】
ただし、図１の例では、少なくともＲＩＰ３０とＢＥＰ４０とは異なるコンピュータ装置にインストールされているものとする。
【００３３】
なお、互いに「異なる」コンピュータ装置とは、必ずしも別々の筐体に内蔵されたものである必要はない。例えば、ブレードサーバ等のように、それぞれＣＰＵ、メモリ、バス等を実装した基板を複数個、１つの筐体に搭載した装置があるが、この種の装置における個々の基板も「コンピュータ装置」の一種である。
【００３４】
次に、図２を参照して、ＲＩＰ３０及びＢＥＰ４０について更に詳しく説明する。ＲＩＰ３０は、制御部３２、解釈部３４及び再利用オブジェクトスプール３６を有する。
【００３５】
制御部３２は、ＲＩＰ３０の動作制御を行う。制御部３２は、ＣＥＰ２０及びＢＥＰ４０の制御部４２と通信して制御データ、例えば命令、問い合わせ、応答、各装置の状態を示す情報など、をやりとりしながら、ＲＩＰ３０における解釈処理を制御する。例えば、ＣＥＰ２０から印刷データの解釈の開始指示を受け取って解釈部３４に解釈を開始させたり、ＢＥＰ４０の制御部４２からページの中間データが受け入れ不可であるとの通知を受けて解釈部３４の動作を一時停止させたりする。また、ＲＩＰ３０が複数存在するシステム構成の場合、ＣＥＰ２０から、解釈すべきページの割り当て（例えばページ番号で指定される）を受け、解釈部３４に対し、印刷データ（ＰＤＬデータ）のうちそのページについて中間データを出力するように指示する。
【００３６】
解釈部３４は、ＣＥＰ２０から入力される印刷データのＰＤＬ記述を解釈し、その解釈結果に基づき、印刷データがＰＤＬで表現している各ページの画像を中間データ形式で表現した中間データを生成する。
【００３７】
ＰＤＬには、ページの画像の生成がそのページ以前のＰＤＬデータの解釈結果に依存するページ非独立タイプのものと、ページごとのＰＤＬデータのみで当該ページの画像を生成できるページ独立タイプのものが存在する。前者の場合、解釈部３４は、ＣＥＰ２０から印刷指示に付随した印刷データ（ＰＤＬデータ）全体を受け取り、その印刷データを先頭から解釈し、そのうちＣＥＰ２０から割り当てられたページについてのみ、その解釈結果に応じて中間データを生成する。後者（ページ独立）の場合、解釈部３４は、ＣＥＰ２０からページ単位のＰＤＬデータを受け取り、これを解釈して当該ページの中間データを生成する。いずれの場合も、システム内に１つしかＲＩＰ３０が存在しない場合は、印刷データの全ページを解釈し、全ページの中間データを生成する。
【００３８】
印刷すべき各ページは、それぞれ１以上のオブジェクト（画像要素）を含んでいる。例えば、オブジェクトには、文字、グラフィックス（線画、図形）、イメージ（連続調画像）などの種類がある。そして、ページ中に含まれるオブジェクトの中には、再利用されるもの、すなわち印刷データの全ページの画像の中に複数回現れるものがある。例えば、ＰｓｔＳｃｒｉｐｔ（登録商標）の場合、フォームやイメージなどといったタイプのオブジェクトがその一例である。本実施形態では、そのような再利用されるオブジェクトの中間データを、ＲＩＰ３０が動作するコンピュータ装置１３０内に設けられた再利用オブジェクトスプール３６にスプールし、再利用に備える。
【００３９】
すなわち、解釈部３４は、印刷データを解釈してページの中間データを生成する中で、印刷データから再利用対象のオブジェクトを見つけると、そのオブジェクト（以下「再利用オブジェクト」と呼ぶ）の解釈結果の中間データを再利用オブジェクトスプール３６に保存する。一方、ページの中間データ内のその再利用オブジェクトの部分には、そのオブジェクトの解釈結果の中間データの代わりに、再利用オブジェクトスプール３６に保存した当該オブジェクトの中間データを特定するための特定情報を記述する。例えば、再利用オブジェクトの中間データをファイルとして再利用オブジェクトスプール３６に保存する場合、ページの中間データ内のその再利用オブジェクトの部分には、そのファイルの格納場所を示すＵＲＬ（Uniform Resource Locator）や、そのＵＲＬを含むＨＴＴＰ（Hypertext Transfer Protocol）等の通信プロトコル等の記述が特定情報として組み込まれる。
【００４０】
解釈部３４は、例えば、印刷データ中のＰＤＬの描画命令の種類から当該描画命令が表すオブジェクトが再利用されるタイプか否かを判定し、その判定結果に従って上述の処理を行う。
【００４１】
また、解釈部３４は、解釈の過程で印刷データから再利用オブジェクトを見つけた場合、同じ再利用オブジェクトの中間データが既に再利用オブジェクトスプール３６内に保存されているかどうかを調べ、保存されている場合には、そのオブジェクトの解釈処理を省略してもよい。この場合、解釈部３４は、そのオブジェクトの解釈は行わず、再利用オブジェクトスプール３６内にあるそのオブジェクトの中間データを特定する特定情報をページの中間データに組み込む処理を行えばよい。なお、同じ再利用オブジェクトであるかどうかは、例えば、印刷データ（ＰＤＬデータ）に含まれるオブジェクトのＩＤ（識別情報）が同じであるか否かにより判定すればよい。また、別の例として、オブジェクトの画像内容を規定するパラメータ（例えば、描画コマンド、そのコマンドの引数、そのコマンドの実行時点での解釈部３４の状態を示す状態変数の値）の組、又はその組から求められる特徴量（例えばそのパラメータ組のハッシュ値）をそのオブジェクトのフィンガープリント（指紋）として用い、フィンガープリントが一致するか否かに応じて、オブジェクト同士が同じであるかどうかを判定してもよい。この場合、再利用オブジェクトスプール３６には、各再利用オブジェクトの中間データを、そのオブジェクトのフィンガープリントと対応づけて記憶しておけばよい。
【００４２】
再利用オブジェクトスプール３６を用いることで、再利用オブジェクトについては解釈処理の実行は１回だけで済む。
【００４３】
ここで、解釈部３４は、再利用されるタイプ（例えばフォーム）のオブジェクトのすべてを上述のように再利用オブジェクトとして扱う必要はない。例えば、再利用されるタイプのオブジェクトでも、非常に単純な形状のものや非常に小さいものなどは、毎回解釈を行っても解釈部３４の処理負荷、処理時間がさほど増えず、ＢＥＰ４０が再利用オブジェクトスプール３６からそのオブジェクトの中間データを取得するのに要する処理負荷、処理時間を考えると、再利用オブジェクトとしない方がシステム全体の処理速度が向上する。このように、再利用されるタイプのオブジェクトであっても、スプールしない方がシステム全体の処理速度が速くなると判断されるものについては、解釈部３４は、再利用オブジェクトとしては取り扱わず、そのオブジェクトの解釈結果の中間データをページの中間データに組み込むようにしてもよい。
【００４４】
なお、再利用オブジェクトスプール３６に保存されるオブジェクトは、中間データ形式でのオブジェクトである。中間データ形式のオブジェクトは、元のＰＤＬデータでのオブジェクトを表すものであってもよいし、元のＰＤＬデータのオブジェクトを細分化したものであってもよい。
【００４５】
解釈部３４は、順次、生成したページの中間データをＢＥＰ４０の描画処理部４４に送信する。
【００４６】
ＢＥＰ４０は、制御部４２と描画処理部４４を有する。制御部４２は、ＢＥＰ４０の動作制御を行う。制御部４２は、ＣＥＰ２０、ＲＩＰ３０の制御部３２及び印刷装置５０と通信して制御データをやりとりしながら、ＢＥＰ４０における描画（すなわち印刷画像データの生成）処理を制御する。例えば、ＣＥＰ２０又はＲＩＰ３０の制御部３２からページ描画の要求を受け取り、その要求に応じて当該ページの中間データを描画処理部４４に処理させる。また、印刷装置５０の状態に応じて、ページの印刷画像データの生成や印刷装置５０への転送の実行や一時停止を行う。
【００４７】
描画処理部４４は、ＲＩＰ３０の解釈部３４から受信したページの中間データを解釈して、そのページの印刷画像データ（例えばラスターデータ）を生成する。描画処理部４４は、この生成処理の中でページの中間データの中から再利用オブジェクトスプール３６内の再利用オブジェクトの中間データを特定する特定情報を検出すると、その特定情報を用いてＲＩＰ３０に対してその中間データを要求する。そして、要求の結果得られた再利用オブジェクトの中間データを解釈し、その解釈の結果得られたそのオブジェクトの印刷画像データを、ページの印刷画像データに組み込む（例えば、ページの印刷画像データを保持するページメモリ（ページの画像用に確保されたメモリ領域）上に、そのオブジェクトの印刷画像データを書き込む）。
【００４８】
図３に、ＢＥＰ４０が実行する処理手順の一例を示す。
【００４９】
この手順では、ＢＥＰ４０の制御部４２が、例えばＲＩＰ３０からコマンドを受信すると、そのコマンドがページのラスタライズ要求（すなわち印刷画像データの作成を要求するコマンド）であるか、停止要求（印刷データの最終ページまで処理が完了した時に到来する、印刷ジョブの終了を指示する要求）であるかを判定する（Ｓ１０）。受信したコマンドがラスタライズ要求であれば、その要求に関連づけてＲＩＰ３０から送信されるページの中間データを受信し（Ｓ１２）、受信した中間データを描画処理部４４に処理させる。描画処理部４４は、そのページの中間データの先頭から順に１つずつオブジェクトを読み込み、処理していく（Ｓ１４）。すなわち、描画処理部４４は、読み込んだオブジェクトが再利用オブジェクトであるか否かを判定し（Ｓ１６）、再利用オブジェクトでなければ、当該オブジェクトを解釈して印刷画像データを生成し、生成した印刷画像データをページメモリに書き込む（Ｓ１８）。Ｓ１４で読み込んだオブジェクトが再利用オブジェクトであるか否かは、そのオブジェクトが、スプールされた再利用オブジェクトを特定する特定情報で表されているか否かにより判定すればよい。
【００５０】
一方、Ｓ１４で読み込んだオブジェクトが再利用オブジェクトである場合、すなわちそのオブジェクトが上述した特定情報を対象とする描画コマンドである場合、描画処理部４４は、コンピュータ装置１４０のＯＳに対してバッファ４６の確保を要求する（Ｓ２０）と共に、ページの中間データを送ってきたＲＩＰ３０に対し、その再利用オブジェクトの中間データの転送を要求する（Ｓ２２）。
【００５１】
Ｓ２２では、描画処理部４４は、例えば、コンピュータ装置１４０のＯＳ等が提供するＡＰＩ（Application Programming Interface）等を用いて、特定情報が指し示すファイル（すわち、スプール３６内の再利用オブジェクトの中間データのファイル）を要求する。この要求に応じてＯＳは、例えば、その特定情報がローカル（すなわち当該コンピュータ装置１４０内）のファイルではなく、特定の通信プロトコル（例えばＨＴＴＰやＦＴＰ（File Transfer Protocol））に対応していると判定した場合、その通信プロトコルを用いて、特定情報が示す格納場所を指し示すデータ要求（例えばＨＴＴＰ  ＧＥＴリクエスト）をネットワーク６４経由で、コンピュータ装置１３０に送る。この要求に応じ、ＲＩＰ３０からＢＥＰ４０に対してソケット通信によりそのファイルのデータが転送されることになる。ここで、コンピュータ装置１３０及び１４０のそれぞれのＯＳは、ソケット通信のために、各自のメモリ内にバッファを確保する。ＢＥＰ４０内には、受信用の４６がメモリ上に確保される。
【００５２】
ＲＩＰ３０を有するコンピュータ装置１３０は、コンピュータ装置１４０（ＢＥＰ４０）からの要求に応じ、要求された再利用オブジェクトの中間データをネットワーク６４経由のソケット通信で転送する。転送されてきた中間データは、バッファ４６に蓄積される（Ｓ２４）。要求した再利用オブジェクトの中間データ全体がバッファ４６に蓄積されると、描画処理部４４は、バッファ４６内にある中間データを順に処理し、その中間データを印刷画像データに変換する（Ｓ１８）。
【００５３】
Ｓ１８の後、描画処理部４４は、ページの中間データの最後まで処理を終えたかどうかを判定する（Ｓ２６）。この判定の結果が否定（Ｎ）の場合、描画処理部４４はＳ１４に戻り、その中間データ中の次のオブジェクトの描画コマンドについて処理を行う（Ｓ１４〜Ｓ２４）。Ｓ２６の判定結果が肯定（Ｙ）の場合、描画処理部４４は、Ｓ１０に戻り、ＲＩＰ３０から次のコマンドを受信する。
【００５４】
再利用オブジェクトの中間データを保存するスプールをＢＥＰ４０に持たせる従来構成の場合、各再利用オブジェクトがそれぞれどのページで利用されるかわからない一般的な状況では、ＲＩＰ３０は、すべての再利用オブジェクトの中間データを、すべてのＢＥＰ４０に配信しなければならなかった。このことは、ＢＥＰ４０が担当するページ以外で用いられる再利用オブジェクトのデータをそのＢＥＰ４０に配信することになる。このため従来構成では、ＢＥＰ４０は、結果的に使用しない再利用オブジェクトのデータまで保持するため大きなメモリ・ディスク容量を必要としていた。またすべての再利用オブジェクトのデータをすべてのＢＥＰ４０に配信するため、ネットワーク６４の帯域が圧迫される懸念もあった。
【００５５】
これに対し、以上に説明した図１のシステム構成では、ＲＩＰ３０は、再利用オブジェクトの中間データを自装置内の再利用オブジェクトスプール３６にスプールし、各ＢＥＰ４０が、それぞれ自分に割り当てられたページに含まれる再利用オブジェクトのみをＲＩＰ３０内の再利用オブジェクトスプール３６から取得する。逆に言えば、この構成では、ＢＥＰ４０で使用されない再利用オブジェクトはそのＢＥＰ４０には送られない。したがって、ＢＥＰ４０は、使用しない再利用オブジェクトの中間データを記憶する必要がなく、これはＢＥＰ４０のメモリやディスクの容量の節約につながる。また、使用されない再利用オブジェクトをＲＩＰ３０からＢＥＰ４０に送ることもないので、ネットワーク６４の帯域の節約につながる。
【００５６】
また、ＢＥＰ４０の数が１つのシステム構成でも、ＲＩＰ３０とＢＥＰ４０とが別々のコンピュータ装置上に構築されている場合、再利用オブジェクト用のスプールをＢＥＰ４０に設ける従来構成では、ＢＥＰ４０が複数ある場合と同様の問題が生じる。例えば、大量のページを含む印刷データのうち一部のページのみを印刷する印刷ジョブの場合、印刷されるページに含まれる再利用オブジェクトが印刷されないページの印刷データ内で定義されている場合もある。このような場合を考慮すると、ＲＩＰ３０は、全ページの印刷データを先頭から順に解釈し、その解釈の過程で見つけた再利用オブジェクトの中間データをすべてスプールすることが必要となる。したがって、スプールをＢＥＰ４０側のコンピュータ装置１４０に設けると、結果的に使用されない再利用オブジェクトまでコンピュータ装置１４０に配信し、コンピュータ装置１４０内に記憶させることになってしまう。
【００５７】
これに対し、図１のように、再利用オブジェクトスプール３６をＲＩＰ３０側のコンピュータ装置１３０に設け、ＢＥＰ４０が自らが処理するページで必要な再利用オブジェクトのみをそのスプール３６から取得する方式を採用すれば、そのような問題は回避される。
【００５８】
次に、図４〜図６を参照して、変形例を説明する。図１の例では、ＲＩＰ３０とＢＥＰ４０とが別々のコンピュータ装置１３０及び１４０上に構築されていたが、この変形例では、図４に示すように、ＲＩＰ３０とＢＥＰ４０とが同一のコンピュータ装置１１０上に構築されている。なお、図４の例では、ＣＥＰ２０も同じコンピュータ装置１１０上に構築されているが、これはこの変形例にとって必須のことではない。
【００５９】
このようにＲＩＰ３０とＢＥＰ４０が同一コンピュータ装置１１０上に設けられている場合、再利用オブジェクトの中間データをネットワーク経由でＲＩＰ３０からＢＥＰ４０に転送する必要がないので、通信帯域の圧縮という問題は生じない。しかし、ＢＥＰ４０が行う処理が図１〜図３の例と同じであると、同一コンピュータ装置１１０内で実行されるプログラム同士の間（すなわちＲＩＰ３０とＢＥＰ４０の間）でデータ転送処理やバッファ４６の容量確保が行われることになる。
【００６０】
すなわち、図２の例の描画処理部４４は、再利用オブジェクトの中間データの取得のために、ＲＩＰ３０に対してソケット通信によりデータ転送要求を行った。これに応じてＢＥＰ４０のコンピュータ装置１４０のメモリ上にバッファ４６が確保され、このバッファ４６をめがけてＲＩＰ３０側から中間データが転送された。このような再利用オブジェクトの取得方式は、ＲＩＰ３０がＢＥＰ４０と同じコンピュータ装置１１０内に設けられている場合にもそのまま適用できるが、ある程度のサイズのバッファ４６をあらかじめ確保する必要があったり、バッファリングのために処理にある程度の遅延が生じる可能性がある。
【００６１】
これに対し、この変形例では、そのようなバッファ容量確保やバッファ利用のデータ転送を行わずに済む方式を示す。
【００６２】
図５に、この変形例におけるＲＩＰ３０とＢＥＰ４０の構成を示す。図５の例において、ＲＩＰ３０は、図２の例と同じものでよい。
【００６３】
一方、ＢＥＰ４０の描画処理部４４ａは、再利用オブジェクトの中間データを取得するための方式として、図２の例における描画処理部４４とは異なる方式を用いる。すなわち、描画処理部４４ａは、再利用オブジェクトスプール３６にスプールされた再利用オブジェクトの中間データを、メモリマップドファイル方式で取得する。
【００６４】
メモリマップドファイル方式は、明示的な読み込みコマンド（例えばread）、書き込みコマンド（例えばwrite）を用いずに、あたかもメモリに対する読み書きのように、ファイルに対して読み書きを行う方式である。メモリマップドファイル方式の機能はＯＳにより提供される。例えば、ＵＮＩＸ（登録商標）系のＯＳは、メモリマップドファイルを用いるためのＡＰＩとしてmmapを提供している。描画処理部４４ａは、ページの中間データ内から見つけた再利用オブジェクトのスプールデータを取得する場合、読み込みコマンドの代わりに、mmap等のメモリマップドファイルコマンドを用いる。このコマンドの引数には、その再利用オブジェクトを示す特定情報から得られる、そのオブジェクトの識別情報が含まれる。このコマンドを受け取ったコンピュータ装置１１０のＯＳは、コンピュータ装置１１０のＯＳのファイルシステム（再利用オブジェクトスプール３６に該当）が管理するその再利用オブジェクトの中間データファイルを、メモリマップドファイル４８としてメモリ空間上にマッピングする。メモリマップドファイルコマンドの機能により、その中間データファイル全体をメモリ空間に読み込まなくても、描画処理部４４ａは、その中間データファイルの中身へのランダムアクセスが可能になる。描画処理部４４ａは、メモリ空間上にマップされたメモリマップドファイル４８にアクセスして中間データの必要な部分を読み出し、これを処理して、その再利用オブジェクトの印刷画像データを生成する。
【００６５】
なお、再利用オブジェクトの取得方式以外の点については、描画処理部４４ａは図２の例の描画処理部４４と同じでよい。また、描画処理部４４ａ以外の点については、ＢＥＰ４０は、図２のＢＥＰ４０と同じ構成でよい。
【００６６】
図６に、この変形例のＢＥＰ４０の処理手順の一例を示す。図６の処理手順では、Ｓ１４でページの中間処理データから読み込んだオブジェクトが、Ｓ１６で再利用オブジェクトであると判定された場合、描画処理部４４は、その再利用オブジェクトをメモリマップドファイル方式で取得する（Ｓ２６）。具体的には、例えば、再利用オブジェクトスプール３６内にあるその再利用オブジェクトのファイルをオープンし、オープンしたファイルを対象としてメモリマップドファイルコマンドを発する。これにより、コンピュータ装置１１０のＯＳにより、再利用オブジェクトのファイルがメモリ上にマップされる。描画処理部４４ａは、そのメモリ上にマップされたファイルのデータを読み込み、処理する（Ｓ１８）。なお、図６に示したフローのうち、Ｓ２６以外の各ステップは、図３に示したフローの同じ符号のステップと同様の処理でよい。
【００６７】
以上、再利用オブジェクトスプール３６からの中間データの取得方式が異なる２種類のＢＥＰ４０及びＢＥＰ４０を例示した。ここで、一例として、それらＢＥＰ４０及びＢＥＰ４０の両方の機能（すなわち両方の中間データ取得方式）を有するＢＥＰを用いてもよい。この両方の機能を有するＢＥＰは、システム構成に応じて、いずれの機能を用いるかを選択する。すなわち、ＲＩＰ３０が当該ＢＥＰと異なるコンピュータ装置内にあるシステム構成の場合には、ＢＥＰは図１〜図３に示した（ネットワーク経由での）データ転送によるデータ取得方式を用い、ＲＩＰ３０が当該ＢＥＰと同じコンピュータ装置内にある場合には、図４〜図６に示したメモリマップドファイルによるデータ取得方式を用いる。図７に、この例におけるＢＥＰの処理手順の例を示す。
【００６８】
図７の手順では、ＢＥＰが起動したとき、又は印刷画像処理システムのシステム構成が変更された場合、ＢＥＰの制御部４２は、ＣＥＰ２０からシステム構成情報を取得する（Ｓ３０）。このシステム構成情報は、ＲＩＰ３０が当該ＢＥＰと同一コンピュータ装置内にあるかどうかを示す情報を含む。ＣＥＰ２０は、印刷画像処理システム全体を制御するためにシステム構成を把握しているので、システム構成情報を提供し得る。システム構成情報を受け取ったＢＥＰは、その情報に基づきＲＩＰ３０が当該ＢＥＰと同じコンピュータ装置上に存在するかどうかを判定する（Ｓ３２）。この判定の結果、ＲＩＰ３０が異なるコンピュータ装置にあるとわかった場合、制御部４２は、ＢＥＰ内の描画処理部を、ネットワーク経由でのデータ転送によりスプールデータを取得する第１方式の描画処理部４４に設定する（Ｓ３４）。逆に、ＲＩＰ３０がＢＥＰと同じコンピュータ装置にあるとわかった場合、制御部４２は、ＢＥＰ内の描画処理部を、メモリマップドファイル方式によりスプールデータを取得する第２方式の描画処理部４４ａに設定する（Ｓ３６）。
【００６９】
以上、本発明の実施形態及び変形例を説明したが、それら実施形態及び変形例はあくまで説明のための例示に過ぎない。本発明の範囲内で様々な変形や改良が可能である。
【符号の説明】
【００７０】
１０  クライアント装置、２０  ＣＥＰ、３０  ＲＩＰ、３２，４２  制御部、３４  解釈部、３６  再利用オブジェクトスプール、４０  ＢＥＰ、４４，４４ａ  描画処理部、４６  バッファ、４８  メモリマップドファイル、５０  印刷装置、６０，６２，６４  ネットワーク、６６  通信手段、１００  印刷画像処理システム、１１０，１２０，１３０，１４０−１，１４０−２，１４０−ｎ  コンピュータ装置。
【図１】
2015001866.tif 000003
【図２】
2015001866.tif 000004
【図３】
2015001866.tif 000005
【図４】
2015001866.tif 000006
【図５】
2015001866.tif 000007
【図６】
2015001866.tif 000008
【図７】
2015001866.tif 000009