説明

印刷制御装置及び印刷制御プログラム

【課題】再利用オブジェクトを効率的にキャッシュメモリに保存し、バリアブル印刷処理を迅速に実行する。
【解決手段】バリアブル印刷データから印刷出力用画像データを生成する印刷制御装置に、バリアブル印刷データを解釈して再利用/一時利用オブジェクトを抽出しラスタライズするバリアブル印刷データ解析部と、キャッシュメモリ及び外部記憶装置と、キャッシュメモリの使用状況に応じて、各再利用オブジェクトの画像データを圧縮形式/非圧縮形式で保存するか、キャッシュメモリ/外部記憶装置に保存するかを判定し、判定結果に応じて各再利用オブジェクトの画像データを保存する保存形態判定部と、再利用オブジェクト及び一時利用オブジェクトの画像データを取得し合成して印刷出力用画像データを生成する画像合成処理部と、印刷出力用画像データを前記印刷装置に転送する印刷出力用画像データ転送部と、を設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷制御装置及び印刷制御プログラムに関し、特に、バリアブル印刷データから印刷出力用画像データを生成する印刷制御装置及び当該印刷制御装置で動作する印刷制御プログラムに関する。
【背景技術】
【0002】
近年、月次の請求書や利用明細書のドキュメントに取引情報とプロモーション広告を組み合わせて印刷し郵送する手法(Transaction Mail Promotion:いわゆるトランスプロモ)が普及してきており、トランスプロモにはバリアブル印刷が用いられる。このバリアブル印刷では、再利用する文字や図形、写真などのオブジェクトをラスタライズし、ラスタライズしたオブジェクトの画像をキャッシュし、キャッシュした画像を再構成して印刷出力用画像データを生成することでラスタライズ時間の短縮を図っている。
【0003】
このように、バリアブル印刷では、再利用するオブジェクト(以下、再利用オブジェクトと呼ぶ。)はキャッシュメモリに保持されるが、一般的にキャッシュメモリの容量には制限が有るため、バリアブル印刷の構成によっては、全ての再利用オブジェクトをキャッシュメモリに保存できない場合が生じる。
【0004】
この問題に対して、例えば、下記特許文献1では、メモリ使用量を低減するために、全ての再利用オブジェクトを圧縮してキャッシュメモリに保存するようにしている。また、下記特許文献2では、再利用される可能性の低いファイルか否かを判断し、再利用される可能性が低いファイルはキャッシュバッファを利用しないようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許6134018号
【特許文献2】特開2007−334687号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
キャッシュメモリの容量の制限によって、再利用オブジェクトがキャッシュメモリに保存できない場合は、インターフェースを介してCPUに接続される外部記憶装置(例えば、HDD:Hard Disk Drive)に保存することになる。しかしながら、再利用オブジェクトをHDDに退避させると、印刷出力用画像データを生成する際に、再利用オブジェクトをHDDからメモリ上に読み出さなければならないため、再利用オブジェクトをキャッシュメモリに保存する場合よりもバリアブル印刷の処理に時間がかかるという問題が生じる。
【0007】
この問題に対して、特許文献1では、再利用オブジェクトを圧縮することによってキャッシュメモリに保存できるようにしているが、再利用オブジェクトの数が多いと、全ての再利用オブジェクトをキャッシュメモリに保存することができない場合が生じるため、上記問題を解決することができず、特に、HDDに退避させた再利用オブジェクトの利用頻度が高いと、上記問題が顕著に現れてしまう。また、キャッシュメモリに余裕がある場合でも、全ての再利用オブジェクトは圧縮して保存されるため、圧縮した再利用オブジェクトを展開する処理が必要になり、特に、圧縮して保存した再利用オブジェクトに中に利用頻度の高いものが含まれていると、何度も展開処理を行うことによってバリアブル印刷の処理に時間がかかってしまう。
【0008】
また、特許文献2では、再利用される可能性が低いファイルはキャッシュバッファを利用しないようにしているが、圧縮すればキャッシュメモリに保存できる場合やキャッシュメモリに余裕がある場合でも、再利用される可能性が低いオブジェクトはHDDに保存されるため、バリアブル印刷処理を効率的に実行することができない。
【0009】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、再利用オブジェクトを効率的にキャッシュメモリに保存することによって、バリアブル印刷処理を迅速に実行することができる印刷制御装置及び印刷制御プログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は、再利用オブジェクトと一時利用オブジェクトとを含むバリアブル印刷データに基づいて、印刷装置で処理可能な印刷出力用画像データを生成する印刷制御装置であって、前記バリアブル印刷データを解釈して、前記再利用オブジェクト及び前記一時利用オブジェクトを抽出し、抽出した前記再利用オブジェクト及び前記一時利用オブジェクトをラスタライズして画像データを生成するバリアブル印刷データ解析部と、一次記憶装置により構成されるキャッシュメモリ及び二次記憶装置としての外部記憶装置と、前記キャッシュメモリの使用状況に応じて、各々の前記再利用オブジェクトの画像データを、圧縮形式で保存するか非圧縮形式で保存するか、及び、前記キャッシュメモリに保存するか前記外部記憶装置に保存するか、を判定し、判定結果に応じて、各々の前記再利用オブジェクトの画像データを再利用するために保存する保存形態判定部と、前記再利用オブジェクト及び前記一時利用オブジェクトの画像データを取得し、圧縮形式の画像データを解凍した後、当該画像データに基づく画像を合成して、印刷出力用画像データを生成する画像合成処理部と、前記印刷出力用画像データを前記印刷装置に転送する印刷出力用画像データ転送部と、を少なくとも備えるものである。
【0011】
また、本発明は、一次記憶装置により構成されるキャッシュメモリ及び二次記憶装置としての外部記憶装置を備え、再利用オブジェクトと一時利用オブジェクトとを含むバリアブル印刷データに基づいて、印刷装置で処理可能な印刷出力用画像データを生成する装置で動作する印刷制御プログラムであって、前記装置を、前記バリアブル印刷データを解釈して、前記再利用オブジェクト及び前記一時利用オブジェクトを抽出し、抽出した前記再利用オブジェクト及び前記一時利用オブジェクトをラスタライズして画像データを生成するバリアブル印刷データ解析部、前記キャッシュメモリの使用状況に応じて、各々の前記再利用オブジェクトの画像データを、圧縮形式で保存するか非圧縮形式で保存するか、及び、前記キャッシュメモリに保存するか前記外部記憶装置に保存するか、を判定し、判定結果に応じて、各々の前記再利用オブジェクトの画像データを再利用するために保存する保存形態判定部、前記再利用オブジェクト及び前記一時利用オブジェクトの画像データを取得し、圧縮形式の画像データを解凍した後、当該画像データに基づく画像を合成して、印刷出力用画像データを生成する画像合成処理部、前記印刷出力用画像データを前記印刷装置に転送する印刷出力用画像データ転送部、として機能させるものである。
【発明の効果】
【0012】
本発明の印刷制御装置及び印刷制御プログラムによれば、キャッシュメモリの使用状況に応じて、再利用オブジェクトを圧縮しないでキャッシュメモリに保存するか、圧縮してキャッシュメモリに保存するか、圧縮してHDDに保存するかを判定するため、キャッシュメモリを有効に利用することができ、バリアブル印刷処理を迅速に実行することができる。
【0013】
また、利用頻度が高い順に、再利用オブジェクトの画像データが、可能な限りキャッシュメモリに保存されるため、更に、キャッシュメモリを有効に利用することができ、バリアブル印刷処理を迅速に実行することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施例に係る印刷制御システムの構成を模式的に示すブロック図である。
【図2】本発明の第1の実施例に係る印刷制御装置のプログラム構成を示すブロック図である。
【図3】オブジェクトを圧縮する場合と圧縮しない場合のキャッシュメモリ上のイメージを示す図である。
【図4】キャッシュメモリ上のオブジェクト形式による処理の違いを示す図である。
【図5】圧縮状態でキャッシュされたオブジェクトを合成する例を示す図である。
【図6】非圧縮状態でキャッシュされたオブジェクトを合成する例を示す図である。
【図7】HDDにキャッシュされたオブジェクトを合成する例を示す図である。
【図8】オブジェクトの保存形態をメモリ内で変更する例(メモリ遷移)を示す図である。
【図9】オブジェクトの保存形態をメモリとHDD間で変更する例(HDD遷移)を示す図である。
【図10】再利用オブジェクトを管理・利用する例を示す図である。
【図11】本発明の第1の実施例に係る印刷制御装置の処理(全体処理)を示すフローチャート図である。
【図12】本発明の第1の実施例に係る印刷制御装置の処理(メモリの使用状況に応じたキャッシュ処理)を示すフローチャート図である。
【図13】本発明の第1の実施例に係る印刷制御装置の処理(再利用オブジェクトの取り出し処理)を示すフローチャート図である。
【図14】本発明の第2の実施例に係る印刷制御装置のプログラム構成を示すブロック図である。
【図15】バリアブル印刷データの構成と再利用オブジェクトのキャッシュ保持状態を示す図である。
【図16】キャッシュメモリが非効率に使用される例を示す図である。
【図17】再利用オブジェクトの利用率による重み付けの例を示す図である。
【図18】キャッシュしないで別の方法で再利用する例を示す図である。
【図19】PPMLデータの再利用オブジェクト利用率算出の前処理を示す図である。
【図20】再利用オブジェクトの利用率算出の処理概要を示す図である。
【図21】本発明の第2の実施例に係る印刷制御装置の処理(全体処理)を示すフローチャート図である。
【図22】本発明の第2の実施例に係る印刷制御装置の処理(再利用オブジェクトの重み付け処理)を示すフローチャート図である。
【図23】本発明の第2の実施例に係る印刷制御装置の処理(利用頻度に応じたキャッシュ処理)を示すフローチャート図である。
【図24】本発明の第2の実施例に係る印刷制御装置の処理(再利用オブジェクトの取り出し処理)を示すフローチャート図である。
【図25】本発明の第3の実施例に係る印刷制御装置の処理(全体処理)を示すフローチャート図である。
【図26】本発明の第3の実施例に係る印刷制御装置の処理(利用頻度及びメモリの使用状況に応じたキャッシュ処理)を示すフローチャート図である。
【発明を実施するための形態】
【0015】
背景技術で示したように、バリアブル印刷では、再利用オブジェクトを一次記憶装置(主記憶装置)により構成されるキャッシュメモリに保存して処理の効率化を図っているが、キャッシュメモリの容量には制限があるため、キャッシュメモリに保存できない場合は、二次記憶装置としての外部記憶装置(例えば、HDD)に保存しなければならない。しかしながら、再利用オブジェクトをHDDに退避させると、印刷出力用画像データを生成する際に、再利用オブジェクトをHDDからメモリ上に読み出さなければならないため、バリアブル印刷の処理に時間がかかる。
【0016】
ここで、再利用オブジェクトの保存形態を、処理性能が高い順に列挙すると、(1)キャッシュメモリ上に非圧縮で保存、(2)キャッシュメモリ上に圧縮して保存、(3)HDDに圧縮して保存となるが、占有容量が低い順に列挙すると、(1)キャッシュメモリ上に圧縮して保存/HDDに圧縮して保存、(2)キャッシュメモリ上に非圧縮で保存となる。従って、キャッシュメモリを有効に利用し、バリアブル印刷の処理時間を短縮するためには、キャッシュメモリの使用状況に応じて、各々の再利用オブジェクトの保存形態を設定することが好ましい。
【0017】
また、バリアブル印刷では、1度しか使用されない部品であっても、再利用オブジェクトとして指定されると、ジョブが終了するまでその再利用オブジェクトはキャッシュメモリに保存される。従って、キャッシュメモリを有効に利用するためには、何度も使用される再利用オブジェクトを優先的にキャッシュメモリに保存することが好ましい。
【0018】
そこで、本発明の一実施の形態では、現在のキャッシュメモリの使用状況(空き容量)に応じて、再利用オブジェクトを圧縮しないでキャッシュメモリに保存するか、圧縮してキャッシュメモリに保存するか、圧縮してHDDに保存するかを判定する。更に、バリアブル印刷データに基づいて再利用オブジェクトの利用頻度(利用率、利用回数)を算出し、その利用頻度に応じて各再利用オブジェクトを重み付けし、利用頻度が高い順に、再利用オブジェクトを可能な限りキャッシュメモリに保存し、キャッシュメモリに保存できない再利用オブジェクトは、HDDに保存するか、利用する度にRIP(Raster Image Processing)処理を行うようにする。これにより、キャッシュメモリを有効に利用することができ、バリアブル印刷処理を迅速に実行することができる。
【0019】
以下、第1の実施例では、キャッシュメモリの使用状況(空き容量)に応じて再利用オブジェクトを保存する方法について記載し、第2の実施例では、利用頻度に応じて再利用オブジェクトを保存する方法について記載し、第3の実施例では、それらを組み合わせた方法について記載する。
【実施例1】
【0020】
まず、本発明の第1の実施例に係るバリアブル印刷における印刷制御装置及び印刷制御プログラムについて、図1乃至図13を参照して説明する。
【0021】
バリアブル印刷では、ページ間で共通する部品(再利用オブジェクト)とページ間で変化する部品(以下、一時利用オブジェクトと呼ぶ。)とを用い、再利用オブジェクトを圧縮して保存しておき、合成に際して、再利用オブジェクトを展開(伸張)し、展開(伸張)した再利用オブジェクトと一時利用オブジェクトとを合成することによってページ毎の印刷出力用画像データが生成されるが、バリアブル印刷の処理効率の観点から考えると、再利用オブジェクトの展開(伸張)処理が大きな割合を占めている。その原因は、カラーのバリアブル印刷処理では、再利用オブジェクトの容量が大きくなるため、全ての再利用オブジェクトを圧縮してキャッシュメモリに保存した場合、圧縮した再利用オブジェクトを展開する処理を再利用回数分繰り返す必要があるからである。
【0022】
ここで、バリアブル印刷データの構成に依存するが、全ての再利用オブジェクトを圧縮して保存する必要は無く、例えば、再利用オブジェクト数が少ない(キャッシュメモリの使用容量が少ない)場合は、再利用オブジェクトを圧縮する必要はない。また、全ての再利用オブジェクトを非圧縮でキャッシュメモリに保存できない場合は、キャッシュメモリから溢れた再利用オブジェクトは、インターフェースを介してCPUに接続される外部記憶装置(本明細書の実施例では、HDDとする。)に退避させることになるが、本願発明者の実験によれば、一部を非圧縮でキャッシュメモリに保存し、残りをHDDに保存するよりも、全部を圧縮してキャッシュメモリに保存した方が処理の効率が良くなる。また、HDDに退避させる場合は、非圧縮でHDDに保存するよりも、圧縮した状態で退避させてHDDにアクセスする時間(I/O時間)を出来るだけ少なくした方が性能に与える影響を最小限に抑えることができる。
【0023】
そこで、本実施例では、上記知見に基づいて、キャッシュメモリの使用状況に応じて再利用オブジェクトの保存形態を適宜、動的に変更することで、バリアブル印刷の処理効率を高めるようにする。以下、図面を参照して詳細に説明する。
【0024】
図1に示すように、本実施例の印刷制御システム10は、バリアブル印刷データを生成するバリアブル印刷データ生成装置20と、バリアブル印刷データを解析してページ毎の印刷出力用画像データを生成する印刷制御装置30と、ページ毎の印刷出力用画像データに基づいて印刷を実行し、印刷物50を出力する出力装置40などで構成される。バリアブル印刷データ生成装置20と印刷制御装置30は、LAN(Local Area Network)やWAN(Wide Area Network)などのネットワークで接続されており、印刷制御装置30と出力装置40は、専用のインターフェースで接続されている。
【0025】
バリアブル印刷データ生成装置20は、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、NIC(Network Interface Card)24、HDD25等から構成され、ROM22やHDD25に記憶されたプログラムをRAM23に展開し、CPU21で実行する。HDD25には、バリアブル印刷におけるオブジェクトのレイアウトを規定する配置ファイルと再利用オブジェクト及び一時利用オブジェクトの画像データとを備えている。NIC24は、印刷制御装置30との通信処理を行う。
【0026】
印刷制御装置(コントローラ)30は、CPU31、ROM32、RAM33、NIC34、HDD35等から構成され、ROM32やHDD35に記憶されたプログラム(図2の印刷制御プログラム)をRAM33に展開し、CPU31で実行する。RAM33には、再利用オブジェクトを格納するキャッシュメモリ、圧縮した再利用オブジェクトを展開するワークメモリ、画像合成を行うページ合成メモリがある。RAM33もしくはHDD35には、各ページに配置されるオブジェクトを規定するページ構成リスト、再利用オブジェクトリスト、一時利用オブジェクトリスト、キャッシュされているオブジェクトを管理するためのキャッシュ管理テーブルなどが保存される。
【0027】
出力装置40は、ネットワークプリンタや複合機(MFP:Multi-Function Peripheral)などの画像形成装置である。
【0028】
なお、図1では、印刷制御装置30と出力装置40とを別々の装置としているが、これらは1つの装置としてもよい。また、図1では、印刷制御システム10にバリアブル印刷データ生成装置20を含めているが、印刷制御装置30のHDD35などに予め記憶されたバリアブル印刷データを利用してバリアブル印刷を実行する場合は、バリアブル印刷データ生成装置20を省略することもできる。
【0029】
次に、印刷制御装置30で動作する印刷制御プログラムについて説明する。
【0030】
図2は、印刷制御装置30のプログラム構成図であり、印刷制御プログラムは、印刷制御装置30を、バリアブル印刷データ解析部30a、保存形態判定部30b、再利用オブジェクト管理部30c、画像合成処理部30d、印刷出力用画像データ転送部30eなどとして機能させる。
【0031】
バリアブル印刷データ解析部30aは、クライアントのコンピュータ装置から送られてきたバリアブル印刷データを解析し、再利用オブジェクト及び一時利用オブジェクトを抽出し、抽出した再利用オブジェクト及び一時利用オブジェクトをラスタライズして画像データを生成すると共にイメージ合成指示を解釈する。
【0032】
保存形態判定部30bは、キャッシュメモリの使用状況(空き容量)を取得すると共に、再利用オブジェクトの非圧縮時のサイズ及び圧縮時のサイズを取得し、それらを比較することによって、再利用オブジェクトを、圧縮しないでキャッシュメモリに保存するか、圧縮してキャッシュメモリに保存するか、圧縮してHDDに保存するかを判定し、判定結果に従って、ラスタライズ後の再利用オブジェクト(再利用オブジェクトの画像データ)を保存(必要に応じて圧縮して保存)する。また、再利用オブジェクトをキャッシュするために、既にキャッシュメモリに保存されているどの再利用オブジェクトの保存形態を変更するか(例えば、HDDに待避させるか)を判定し、判定結果に従って、再利用オブジェクトの保存形態を変更する。
【0033】
再利用オブジェクト管理部30cは、再利用オブジェクトの画像データの保存場所や利用時の画像データの取り出し方法を管理し、キャッシュメモリやHDDから再利用オブジェクトの画像データを取り出し、画像合成処理部30dに渡す。
【0034】
画像合成処理部30dは、バリアブル印刷データ解析部30aで解釈されたイメージ合成指示に従い、適宜、再利用オブジェクト管理部30cから再利用オブジェクトの画像データを受け取り、再利用オブジェクト及び一時利用オブジェクトの画像データに基づく画像を合成(圧縮されている場合は展開後に合成)して印刷出力用画像データを生成する。
【0035】
印刷出力用画像データ転送部30eは、画像合成処理部30dで生成した印刷出力用画像データをエンジン(出力装置40)に転送する。
【0036】
以下、従来のバリアブル印刷の問題点について説明した後、本実施例の印刷制御装置30の動作を説明する。なお、キャッシュメモリやHDDに保存されるのはラスタライズ後の再利用オブジェクト(再利用オブジェクトの画像データ)であるが、本実施例においては、単に、再利用オブジェクトと呼ぶ。
【0037】
図3は、再利用オブジェクトを圧縮する場合と圧縮しない場合のキャッシュメモリ上のイメージを示した図である。同一のオブジェクトでも、圧縮した状態でキャッシュメモリに保存されるとメモリの使用容量が少なくなり、同一のメモリ容量ならば、より多くの再利用オブジェクトをキャッシュメモリ上に保存できることを示している。従って、キャッシュメモリの容量の観点からは、圧縮形式で再利用オブジェクトを保存した方が良いことになる。
【0038】
図4は、キャッシュメモリ上の再利用オブジェクトの保存形式による画像合成処理のステップ数の違いを示した図である。再利用オブジェクトがキャッシュメモリ上に圧縮形式で保存された場合、ステップ1で展開(非圧縮状態にDECODE)し、ステップ2で展開した再利用オブジェクトを合成することになる。一方、再利用オブジェクトがキャッシュメモリ上に非圧縮形式で保存された場合、展開ステップなしで合成ステップが行えるため、処理時間が短くなる。従って、処理時間の観点からは、非圧縮形式で再利用オブジェクトを保存した方がよいことになる。
【0039】
図5は、圧縮形式でキャッシュされた再利用オブジェクトを合成する例を示した図である。キャッシュメモリに圧縮形式で保存された再利用オブジェクトは、一旦ワークメモリで非圧縮状態に展開され、その展開された画像をページ合成メモリ上で合成する。この例では、圧縮Obj1はキャッシュメモリに圧縮状態で保存されており、このObj1をページ合成するために、ワークメモリで圧縮状態から非圧縮状態に展開し、展開したObj1をページ合成メモリに配置する。ページの印刷出力用画像データを完成させるために、ページを構成している他のオブジェクトObj2、Obj3に対しても同様の処理を行う。このように、オブジェクトを圧縮形式で保存することによってキャッシュメモリの使用容量を少なくすることができるが、圧縮形式で保存された再利用オブジェクトを展開するステップをオブジェクトの数だけ行う必要があるため、処理時間が長くなる。
【0040】
図6は、非圧縮形式でキャッシュされた再利用オブジェクトを合成する例を示した図である。図5と異なり、再利用オブジェクトは圧縮されていないため、キャッシュメモリ上にある再利用オブジェクトをそのままページ合成メモリ上に貼り付けることができる。この例では、非圧縮Obj1はキャッシュメモリに非圧縮状態で保存されており、そのままページ合成メモリに配置する。ページの印刷出力用画像データを完成させるため、ページを構成している他のオブジェクトObj2,Obj3に対しても同様の処理を行う。このように、オブジェクトを非圧縮形式で保存することによって処理を簡略化することができるが、圧縮形式で保存するよりもキャッシュメモリの使用容量が多くなる。
【0041】
図7は、HDDに圧縮形式でキャッシュされた再利用オブジェクトを合成する例を示した図である。HDDに圧縮形式で保存されたオブジェクトをワークメモリにロードし、ワークメモリ上でロードしたオブジェクトを非圧縮に展開する。展開後にページ合成メモリ上にオブジェクトを貼り付ける。この例では、圧縮されたObj1はキャッシュメモリに保存できなくなったのでHDDにキャッシュされている。このHDDに保存されている圧縮Obj1をページ合成する場合は、圧縮Obj1をHDDからワークメモリに読み込み、圧縮Obj1を非圧縮状態に展開した後、ページ合成メモリに配置する。キャッシュメモリに保存されている圧縮Obj2、Obj3は、ワークメモリで圧縮状態から非圧縮状態に展開した後、ページ合成メモリに配置する。このように、一部の再利用オブジェクトがHDDにキャッシュされた場合は、HDDとメモリ間のデータ通信が必要になり、その分、処理時間が長くなる。
【0042】
このように、キャッシュメモリの容量の観点からは、再利用オブジェクトを圧縮形式でキャッシュメモリに保存することが好ましく、処理時間を短くする観点からは、再利用オブジェクトを非圧縮形式でキャッシュメモリに保存することが好ましく、全ての再利用オブジェクトをキャッシュメモリに保存できない場合は、溢れた再利用オブジェクトを圧縮形式でHDDに保存することが好ましい。従って、キャッシュメモリを有効に利用するためには、キャッシュメモリの使用状況(空き容量)に応じて、圧縮形式でキャッシュメモリに保存するか、非圧縮形式でキャッシュメモリに保存するか、圧縮形式でHDDに保存するかを判定する制御を行う必要がある。
【0043】
図8は、上記制御に基づいて、オブジェクトの保存形態をメモリ内で変更する例を示している。この例では、非圧縮Obj4をキャッシュメモリに保存しようとしているが、キャッシュメモリ上には既にObj1とObj2とObj3が有り、Obj4を保存する容量が残っていない。そこで、本実施例では、Obj1(好ましくは、利用頻度が低いオブジェクト)を圧縮して、キャッシュメモリの空き容量を増やし、Obj4をキャッシュメモリに保存できるようする。このように、一部のオブジェクトを圧縮形式に変更することにより、全ての再利用オブジェクトをキャッシュメモリ上に保存することができるため、キャッシュメモリから溢れたオブジェクトをHDDに保存する場合や、全ての再利用オブジェクトを圧縮してキャッシュメモリに保存する場合に比べて、キャッシュメモリを有効に利用し、バリアブル印刷の処理時間を短縮することができる。
【0044】
図9は、上記制御に基づいて、オブジェクトの保存形態をメモリとHDD間で変更する例を示している。この例では、圧縮Obj4をキャッシュメモリに保存しようとしているが、キャッシュメモリ上には既にObj1とObj2とObj3が有り、Obj4を保存する容量が残っていない。また、全てのオブジェクトは圧縮形式であり、既存のオブジェクトを圧縮してキャッシュメモリを空き容量を増やすこともできない。そこで、本実施例では、Obj1(好ましくは、利用頻度が低いオブジェクトやサイズが小さいオブジェクト)をHDDにキャッシュし、キャッシュメモリの容量を空けることで、圧縮Obj4をキャッシュメモリ上に保存できるようする。このように、相対的に利用頻度が低いオブジェクトや相対的にサイズが小さいオブジェクトを圧縮形式でHDDにキャッシュすることにより、キャッシュメモリ上には相対的に利用頻度が高いオブジェクトを保存することができるため、HDDとメモリ間のデータ通信の負荷を減らして、バリアブル印刷の処理時間を短縮することができる。
【0045】
図10は、再利用オブジェクトを管理・利用する例を示した図である。キャッシュされる再利用オブジェクトはキャッシュ管理テーブルによって管理される。このキャッシュ管理テーブルには、キャッシュされているオブジェクト数とオブジェクトIDが記述されており、そのオブジェクトIDには、オブジェクトのサイズ、圧縮/非圧縮の区別、圧縮時のオブジェクトサイズ、保存場所などの属性情報が関連付けられている。キャッシュされた再利用オブジェクトを利用する場合は、キャッシュ管理テーブルを参照して、対象となる再利用オブジェクトの属性情報を取得し、その属性情報に基づいて動作を変更する。
【0046】
例えば、再利用オブジェクトが圧縮形式で、保存場所がメモリの場合は、圧縮形式から非圧縮形式に変換して、イメージ合成メモリに配置するようにする。また、オブジェクトが圧縮形式で、保存場所がHDDの場合は、オブジェクトをHDDからワークメモリに読み込み、読み込んだオブジェクトを圧縮形式から非圧縮形式に変換した後にイメージ合成メモリに配置する。また、オブジェクトが非圧縮形式の場合は、オブジェクトをそのままイメージ合成メモリに配置する。
【0047】
以下、本実施例の印刷制御装置30の処理について説明する。図11は、印刷制御装置30の全体処理を示すフローチャート図である。
【0048】
バリアブル印刷データが入力されると処理がスタートし、バリアブル印刷データ解析部30aは、そのバリアブル印刷データを先頭から逐次解釈し、各オブジェクトをラスタライズする(S110)。
【0049】
次に、バリアブル印刷データ解析部30aは、ラスタライズしたオブジェクトが再利用オブジェクトかどうか判定し(S120)、再利用オブジェクトの場合は、メモリの使用状況に応じたキャッシュ処理をコールする(S130)。このキャッシュ処理の詳細は後述する。次に、バリアブル印刷データ解析部30aは、ページの最後か判定し(S140)、ページの最後でないならば、次のバリアブル印刷データの解析とラスタライズを行う。
【0050】
ページの最後ならば、再利用オブジェクト管理部30cは、ページの合成処理を行うために再利用オブジェクトの取り出し処理を行う(S150)。この取り出し処理の詳細は後述する。そして、画像合成処理部30dが1ページ分の画像合成を行ったら、印刷出力用画像データをエンジンに転送する(S160)。バリアブル印刷データがまだ有る場合(S170のNo)は、S110に戻ってバリアブル印刷データの解析とラスタライズの処理を行い、この処理をジョブの終了まで繰り返す。
【0051】
[メモリの使用状況に応じたキャッシュ処理]
図12は、保存形態判定部30bが実行する、メモリの使用状況に応じたキャッシュ処理を示すフローチャート図であり、図11のS130の詳細を示している。
【0052】
まず、キャッシュメモリの使用状況を確認する(S131)。そして、キャッシュメモリに非圧縮形式の再利用オブジェクトのサイズ分以上の空き領域がある場合(S132のYes)は、非圧縮でキャッシュメモリに保存すべきと判定し、再利用オブジェクトを非圧縮でキャッシュメモリに保存する(S135)。
【0053】
再利用オブジェクトのサイズ分以上の空き領域がない場合は、圧縮後の再利用オブジェクトのサイズを計算する(S133)。キャッシュメモリに圧縮後の再利用オブジェクトのサイズの空きがある場合(S134のYes)は、圧縮してキャッシュメモリに保存すべきと判定し、再利用オブジェクトを圧縮してキャッシュメモリに保存する(S136)。一方、キャッシュメモリに圧縮後の再利用オブジェクトのサイズの空きがない場合(S134のNo)は、圧縮してHDDに保存すべきと判定し、オブジェクトを圧縮してHDDに保存する(S137)。
【0054】
[再利用オブジェクトの取り出し処理]
図13は、再利用オブジェクト管理部30cが実行する、再利用オブジェクトの取り出し処理を示すフローチャート図であり、図11のS150の詳細を示している。
【0055】
取り出し要求がされている再利用オブジェクト(要求オブジェクトと呼ぶ。)がキャッシュされているかを判定し(S151)、要求オブジェクトがキャッシュされていない場合は、オブジェクトが無いとしてNULLを画像合成処理部30dに通知する(S152)。
【0056】
要求オブジェクトがキャッシュされている場合は、オブジェクトが非圧縮形式か圧縮形式かを判定する(S153)。非圧縮形式の場合は、キャッシュメモリから取り出した要求オブジェクトをそのまま画像合成処理部30dに渡す(S154)。一方、圧縮形式の場合は、要求オブジェクトの保存場所がHDDかを判定し(S155)、保存場所がHDDの場合は、要求オブジェクトをワークメモリに読み込み(S156)、圧縮された要求オブジェクトを展開するなど、要求オブジェクトを再利用できる形式に変換した後(S157)、変換した要求オブジェクトを画像合成処理部30dに渡す(S158)。
【0057】
以上説明したように、キャッシュメモリの使用状況(空き容量)に応じて、圧縮形式でキャッシュメモリに保存するか、非圧縮形式でキャッシュメモリに保存するか、圧縮形式でHDDに保存するかを判定するため、再利用オブジェクトを効率的にキャッシュメモリに保存することができ、バリアブル印刷処理を迅速に実行することができる。
【実施例2】
【0058】
次に、本発明の第2の実施例に係るバリアブル印刷における印刷制御装置及び印刷制御プログラムについて、図14乃至図24を参照して説明する。
【0059】
前述したように、バリアブル印刷では、ページ間で共通する部品(再利用オブジェクト)とページ間で変化する部品(以下、一時利用オブジェクトと呼ぶ。)とを用いるが、再利用オブジェクトには、利用頻度の高いものもあれば、利用頻度の低いものもある。
【0060】
ここで、利用頻度の低い再利用オブジェクトが最初にキャッシュメモリに登録され、ジョブの後半に利用頻度の高い再利用オブジェクトが登録される場合、キャッシュメモリに双方の再利用オブジェクトを保存できる空き容量がないと、利用頻度の高い再利用オブジェクトがキャッシュメモリから溢れてHDDに保存されることになる。そして、利用頻度の高い再利用オブジェクトがHDDに保存されると、HDDからメモリへのデータ転送が再利用回数分繰り返されることになり、これによってバリアブル印刷の処理に時間がかかるという問題が生じる。
【0061】
そこで、本実施例では、バリアブル印刷データに基づいて、再利用オブジェクトの利用頻度(利用率、利用回数)を算出し、利用頻度に応じて再利用オブジェクトを重み付けする。そして、利用頻度が高い順に、再利用オブジェクトを可能な限り(キャッシュメモリに保存できなくなるまで)キャッシュメモリに保存し、キャッシュメモリに保存できない再利用オブジェクトはHDDに保存したり、キャッシュせずに利用する度にRIP処理を行ったりするようにする。
【0062】
この場合、印刷制御システム10の基本構成は前記した第1の実施例の図1と同様であるが、印刷制御装置30で動作する印刷制御プログラムは、図14に示すようになり、印刷制御装置30を、再利用オブジェクト利用頻度計算部30f、バリアブル印刷データ解析部30a、保存形態判定部30b、再利用オブジェクト管理部30c、画像合成処理部30d、印刷出力用画像データ転送部30eなどとして機能させる。
【0063】
再利用オブジェクト利用頻度計算部30fは、バリアブル印刷データの配置ファイルを利用し、各々の再利用オブジェクトの出現回数に基づいて利用頻度を算出し、配置ファイルに算出した利用頻度(利用率)を付加する。
【0064】
バリアブル印刷データ解析部30aは、クライアントのコンピュータ装置から送られてきたバリアブル印刷データを解析し、再利用オブジェクト及び一時利用オブジェクトを抽出し、抽出した再利用オブジェクト及び一時利用オブジェクトをラスタライズして画像データを生成すると共にイメージ合成指示を解釈する。また、配置ファイルに付加された利用頻度と再利用オブジェクトの属性情報(名称やID、サイズ、圧縮/非圧縮の区別、保存場所など)とを取り出し、それらの情報を保存形態判定部30bに渡す。
【0065】
保存形態判定部30bは、バリアブル印刷データ解析部30aで取り出した再利用オブジェクトの利用頻度及び属性情報に基づいて、再利用オブジェクトをキャッシュメモリに保存するか否かを判定し、その判定結果に従って、ラスタライズ後の再利用オブジェクト(再利用オブジェクトの画像データ)を保存(必要に応じて圧縮して保存)する。また、再利用オブジェクトをキャッシュするために、既にキャッシュメモリに保存されているどの再利用オブジェクトの保存形態を変更するか(例えば、HDDに待避させるか)を判定し、判定結果に従って、再利用オブジェクトの保存形態を変更する。
【0066】
再利用オブジェクト管理部30cは、再利用オブジェクトの画像データの保存場所や利用時の画像データの取り出し方法を管理し、キャッシュメモリやHDDから再利用オブジェクトの画像データを取り出し、画像合成処理部30dに渡す。
【0067】
画像合成処理部30dは、バリアブル印刷データ解析部30aで解釈されたイメージ合成指示に従い、適宜、再利用オブジェクト管理部30cから再利用オブジェクトの画像データを受け取り、再利用オブジェクト及び一時利用オブジェクトの画像データに基づく画像を合成(圧縮されている場合は展開後に合成)して印刷出力用画像データを生成する。
【0068】
印刷出力用画像データ転送部30eは、画像合成処理部30dで生成した印刷出力用画像データをエンジン(出力装置40)に転送する。
【0069】
以下、従来のバリアブル印刷の問題点について説明した後、本実施例の印刷制御装置30の動作を説明する。なお、キャッシュメモリやHDDに保存されるのはラスタライズ後の再利用オブジェクト(再利用オブジェクトの画像データ)であるが、以下の説明においても、単に、再利用オブジェクトと呼ぶ。
【0070】
図15は、バリアブル印刷データの構成と再利用オブジェクトのキャッシュ保持状態を示した図である。ここでは、100ページで構成されるバリアブル印刷データを仮定する。このバリアブル印刷データには、再利用される部品があり、その部品を再利用オブジェクトA(図の網掛け部)とする。再利用オブジェクトAは1ページ目と2ページ目に利用されており、3ページ目以降には再利用されていない。
【0071】
1ページ目の印刷出力用画像データが生成されるとき、再利用オブジェクトAはキャッシュメモリに保存されており、キャッシュされたデータを使用して印刷出力用画像データが生成される。2ページ目も1ページ目と同様に、キャッシュメモリに保存された再利用オブジェクトAを使用して印刷出力用画像データが生成される。3ページ目以降、再利用オブジェクトAは使用されないが、ジョブの最後までキャッシュメモリ上に保存される。このように、再利用オブジェクトAは、ページの最初に再利用されているため、最も先にキャッシュメモリに保存され、その後の再利用の有無に関係無く、ジョブの最後までキャッシュメモリを占有してしまうことになる。
【0072】
図16は、キャッシュメモリが非効率に使用される例を示した図である。印刷出力用画像データを生成するとき、ページを構成する再利用オブジェクトがキャッシュメモリに無ければならないため、ジョブをシーケンシャルに処理している過程で、キャッシュメモリが非効率になる場合が発生する。
【0073】
具体的に説明すると、100ページで構成されるバリアブル印刷データがあり、そのバリアブル印刷データには再利用オブジェクトが複数あるとする。再利用オブジェクトAは1ページ目と2ページ目に利用されており、3ページ目以降には再利用されていない。再利用オブジェクトBは4ページ目に使用されており、それ以降は使用されていない。再利用オブジェクトBがキャッシュメモリに保存された時にキャッシュメモリの容量がフルになるとすると、それ以降の再利用オブジェクトは、HDDに保存される。
【0074】
ここで、51ページ目以降から再利用オブジェクトCが使用され、51ページ目以降全てのページで再利用オブジェクトCが使用されるとする。この場合、再利用オブジェクトCは51ページ目から100ページまで50回再利用されるが、HDDに保存されているため、50回分のHDDアクセス(HDDとメモリ間のデータ通信)が必要になり、性能が著しく劣化する。一方、再利用オブジェクトAは2回しか再利用されず、再利用オブジェクトBは1回しか再利用されないにも関わらず、キャッシュメモリに保存されている。本来であれば、最も利用頻度が高い再利用オブジェクトCがキャッシュメモリに保存され、最も利用頻度が低い再利用オブジェクトBがHDDに保存される方が効率的である。
【0075】
図17は、再利用オブジェクトの利用頻度(利用率)による重み付けの例を示した図である。図16のようにキャッシュメモリが非効率に使用される場合に、キャッシュメモリに保存するべきか、HDDに保存するべきか、他の方法で再利用するべきかを決定するために、再利用オブジェクトを利用率に従って重み付けする。
【0076】
具体的には、図16の構成を前提として、まず、バリアブル印刷データから再利用オブジェクトA、B、Cを取り出し、使用されている回数から利用率を算出する。再利用オブジェクトAは100ページ中2ページで使用されているため、利用率は2%になる。再利用オブジェクトBは100ページ中1ページしか使用されていないため、利用率は1%になる。再利用オブジェクトCは100ページ中50ページに使用されているため、利用率は50%になる。
【0077】
そして、利用率が高い順に、再利用オブジェクトをキャッシュメモリに保存し、利用率が最も低い再利用オブジェクトBをHDDに保存することで、キャッシュメモリが非効率に使用される状態を回避することができる。また、再利用オブジェクトAは2%の利用率であり、再利用オブジェクトとしては低い利用率である。そこで、ジョブの中で利用率が高い再利用オブジェクトがキャッシュされる場合は、再利用オブジェクトAをHDDに保存し、再利用オブジェクトAより利用率が高い再利用オブジェクトをキャッシュメモリに保存するようにする。つまり、利用頻度(利用率)に応じて、再利用オブジェクトのキャッシュ形態を変えたり、キャッシュせずに他の方法で再利用したりする方が、全体効率を上げることができる。
【0078】
図17では、利用率の最も低い再利用オブジェクトをHDDに保存したが、HDDに保存する以外の方法を用いることもできる。図18は、キャッシュしないで別の方法で再利用する例を示した図である。
【0079】
100ページで構成されるバリアブル印刷データがあり、そのバリアブル印刷データには再利用オブジェクトが複数あるとする。その中の再利用オブジェクトDは1ページ目と100ページ目に利用されており、それ以外では再利用されていない。再利用オブジェクトDは面積(占有容量)が大きく、利用頻度も低い。このような場合は、キャッシュ機構を使用しないで、一時利用オブジェクトと同様に、利用する度に再利用オブジェクトDをラスタライズすることもできる。
【0080】
図19は、再利用オブジェクトの利用率を算出するための前処理を示した図である。バリアブル印刷データがPPML(Personalized Print Markup Language)で記述されているとする。PPMLデータは外部の画像データと配置ファイル(PPMLファイル)を別にしたものと、画像データと配置ファイルを同一ファイル内に持ったものとがある。それらのファイルはZIP形式でアーカイブされていても良い。さらに、画像データと配置ファイルを別に持つ形式では、1つ1つの画像データをファイルとして保持する形式(EXTERNAL_DATA)と、PDF(Portable Document Format)などの外部ファイルで複数の画像データを保持する形式(EXTERNAL_DATA_ARRAY)とが有る。画像データと配置ファイルを同一ファイル内に持った形式(INTERNAL_DATA)は、画像データをUUENCODEした文字として配置ファイル内に保存したものである。
【0081】
再利用オブジェクトの利用率を算出するために前処理として、それぞれの形式を統一する。まず、ZIPアーカイブされている場合は解凍する。解凍した状態で、EXTERNAL_DATA形式とEXTERNAL_DATA_ARRAY形式は、再利用オブジェクトの利用率を算出できる状態である。INTRNAL_DATA形式も利用率を算出できるが、画像データがファイルに含まれているため、膨大なデータを処理しなければいけない。そのため、INTRNAL__DATA形式の場合は、画像データを取り出し、取り出した画像データを外部ファイル形式に変換し、EXTERNAL_DATA形式に書き換える。そして、入力されたバリアブル印刷データをEXTERNAL_DATA形式とEXTERNAL_DATA_ARRAY形式に統一した後、再利用オブジェクトの利用率の計算処理を行う。
【0082】
図20は、再利用オブジェクトの利用率を算出する処理の概要を示した図である。EXTERNAL_DATA形式とEXTERNAL_DATA_ARRAY形式に統一されたデータに対して、XML(Extensible Markup Language)のスキーマーチェック(データ構造のチェック)を行う。スキーマーチェックが終わったら、再利用オブジェクト定義から再利用オブジェクト名を取り出し、再利用オブジェクトリストを作成する。配置ファイルで規定される再利用オブジェクトが出現したら、その再利用オブジェクトのカウンターに1を加算する。この処理をバリアブル印刷データの最後まで繰り返す。なお、スキーマーチェックと同時に再利用オブジェクトをカウントしても良い。
【0083】
以下、本実施例の印刷制御装置30の処理について説明する。図21は、印刷制御装置30の全体処理を示すフローチャート図である。
【0084】
バリアブル印刷データが入力されると処理がスタートし、再利用オブジェクト利用頻度計算部30fは、再利用オブジェクトの重み付け処理を行う(S210)。この重み付け処理の詳細は後述する。再利用オブジェクトの重み付け処理が終わると、配置ファイルに利用頻度が付加されたバリアブル印刷データが生成されるので、バリアブル印刷データ解析部30aは、そのバリアブル印刷データを先頭から逐次解釈し、各オブジェクトをラスタライズする(S220)。
【0085】
そして、バリアブル印刷データ解析部30aは、ラスタライズしたオブジェクトが再利用オブジェクトかどうか判定し(S230)、再利用オブジェクトの場合は、利用頻度に応じたキャッシュ処理をコールする(S240)。このキャッシュ処理の詳細は後述する。次に、バリアブル印刷データ解析部30aは、ページの最後かを判定し(S250)、ページの最後でないならば、次のバリアブル印刷データの解析とラスタライズを行う。
【0086】
ページの最後ならば、再利用オブジェクト管理部30cは、ページの合成処理を行うために再利用オブジェクトの取り出し処理を行う(S260)。この取り出し処理の詳細は後述する。そして、画像合成処理部30dが1ページ分の画像合成を行ったら、印刷出力用画像データをエンジンに転送する(S270)。バリアブル印刷データがまだ有る場合(S280のNo)は、S220に戻ってバリアブル印刷データの解析とラスタライズの処理を行い、この処理をジョブの終了まで繰り返す。
【0087】
[再利用オブジェクトの重み付け処理]
図22は、再利用オブジェクト利用頻度計算部30fが実行する、再利用オブジェクトの重み付け処理を示すフローチャート図であり、図21のS210の詳細を示している。
【0088】
まず、バリアブル印刷データがZIPアーカイブされているかを確認する(S211)。バリアブル印刷データがZIPアーカイブされている場合は、UNZIPしてアーカイブされたバリアブル印刷データを解凍する(S212)。次に、解凍したバリアブル印刷データの配置ファイル(PPMLファイル)の中にINTERNAL_DATAエレメントが含まれているか判定する(S213)。INTERNAL_DATAエレメントが含まれている場合は、INTERNAL_DATAエレメントに指定されている画像データをUUDECODEし、画像データを外部ファイル形式に変換する。そして、PPMLファイルのINTERNAL_DATAエレメントを取り除き、EXTERNAL_DATAエレメントに置き換えて、外部ファイルとして作成した画像ファイルを指定する(S214)。
【0089】
次に、EXTERNAL_DATAエレメント及びEXTERNAL_DATA_ARRAYエレメントに変換されたPPMLファイルに対して、スキーマーチェックを行い、再利用オブジェクト名を取り出し、再利用オブジェクトリストを作成する(S215)。次に、バリアブル印刷データを先頭からサーチし、再利用オブジェクトが参照されているかを判定する(S216)。再利用オブジェクトが参照されている場合は、該当する再利用オブジェクトの再利用数をカウントアップし(S217)、この処理をジョブの最後まで繰り返す(S218)。そして、ジョブの最後に来たら、再利用オブジェクトリストによって重み付けした配置ファイルを出力する(S219)。
【0090】
[利用頻度に応じたキャッシュ処理]
図23は、保存形態判定部30bが実行する、利用頻度に応じたキャッシュ処理を示すフローチャート図であり、図21のS240の詳細を示している。なお、再利用オブジェクトは、キャッシュメモリには非圧縮で保存し、HDDには圧縮して保存する構成とするが、圧縮/非圧縮は変更可能である。
【0091】
まず、キャッシュメモリに再利用オブジェクトの容量分の空き容量があるかを確認する(S241)。キャッシュメモリに空き容量がある場合は、今キャッシュしようとしている再利用オブジェクトをキャッシュメモリに保存する(S246)。
【0092】
キャッシュメモリに空き容量が無い場合は、キャッシュメモリに比較対象(保存されている再利用オブジェクト)があるかを確認する(S242)。保存されている再利用オブジェクトがある場合は、その再利用オブジェクトの利用頻度を取り出し、キャッシュメモリ上に保存されている再利用オブジェクトと今キャッシュしようとしている再利用オブジェクトの利用頻度を比較する(S243)。今キャッシュしようとしている再利用オブジェクトの利用頻度がキャッシュメモリ上に保存されている再利用オブジェクトの利用頻度よりも高い場合(S244のYes)は、キャッシュメモリ上に保存されている再利用オブジェクトをHDDに移動する(S245)。その際、キャッシュメモリ上に保存されている再利用オブジェクトが圧縮されている場合は、そのままHDDに移動し、圧縮されていない場合は、圧縮してHDDに保存する。その後、S241に戻って、再度、キャッシュメモリに空き容量があるかを判定する。
【0093】
一方、キャッシュメモリ上に比較対象(保存されている再利用オブジェクト)が無い場合(S242のNo)や、今キャッシュしようとしている再利用オブジェクトの利用頻度がキャッシュメモリ上に保存されている再利用オブジェクトの利用頻度以下の場合(S244のNo)は、今キャッシュしようとしている再利用オブジェクトを圧縮してHDDに保存するか、若しくは、キャッシュしないで利用する度にRIP処理を行うようにする(S247)。
【0094】
[再利用オブジェクトの取り出しの処理]
図24は、再利用オブジェクト管理部30cが実行する、再利用オブジェクトの取り出し処理を示すフローチャート図であり、図21のS260の詳細を示している。
【0095】
取り出し要求がされている再利用オブジェクト(ここでは要求オブジェクトと呼ぶ。)がキャッシュされているかを判定し(S261)、要求オブジェクトがキャッシュされていない場合は、要求オブジェクトをラスタライズして画像データを生成する(S262)。そして、生成した画像データを画像合成処理部30dに渡す(S268)。
【0096】
要求オブジェクトがキャッシュされている場合は、その要求オブジェクトがキャッシュメモリにあるかを判定し(S263)、キャッシュメモリにある場合は、要求オブジェクトをキャッシュメモリから取り出す(S264)。ここでは、要求オブジェクトはキャッシュメモリには圧縮しないで保存されているため、キャッシュメモリから取り出した要求オブジェクトをそのまま画像合成処理部30dに渡す(S268)。
【0097】
一方、キャッシュメモリにない場合は、要求オブジェクトがHDDに保存されているかを判定し(S265)、HDDに保存されている場合は、要求オブジェクトをHDDからワークメモリに読み込み(S266)、圧縮された要求オブジェクトを展開するなど、要求オブジェクトを再利用できる形式に変換した後(S267)、変換した要求オブジェクトを画像合成処理部30dに渡す(S268)。
【0098】
以上説明したように、再利用オブジェクトの利用頻度(利用率)を算出し、利用頻度が高い順に、再利用オブジェクトを可能な限りキャッシュメモリに保存することにより、キャッシュメモリを有効に利用することができ、HDDへのアクセス回数を減らして、バリアブル印刷処理を迅速に実行することができる。
【実施例3】
【0099】
次に、本発明の第3の実施例に係るバリアブル印刷における印刷制御装置及び印刷制御プログラムについて、図25及び図26を参照して説明する。
【0100】
前記した第1の実施例では、キャッシュメモリの使用状況に応じて再利用オブジェクトの画像データを非圧縮でキャッシュメモリに保存するか、圧縮してキャッシュメモリに保存するか、圧縮してHDDに保存するかを判定し、第2の実施例では、利用頻度に応じて再利用オブジェクトの画像データをキャッシュメモリに保存したが、本実施例では、これらを組み合わせて、キャッシュメモリの使用状況及び利用頻度に応じて再利用オブジェクトの画像データをどのように保存するかを制御する。
【0101】
以下、本実施例の印刷制御装置30の処理について説明する。図25は、印刷制御装置30の全体処理を示すフローチャート図である。なお、キャッシュメモリやHDDに保存されるのはラスタライズ後の再利用オブジェクト(再利用オブジェクトの画像データ)であるが、本実施例においても、単に、再利用オブジェクトと呼ぶ。
【0102】
バリアブル印刷データが入力されると処理がスタートし、再利用オブジェクト利用頻度計算部30fは、再利用オブジェクトの重み付け処理を行う(S310)。この重み付け処理は前記した第1の実施例と同様である。再利用オブジェクトの重み付け処理が終わると、配置ファイルに利用頻度が付加されたバリアブル印刷データが生成されるので、バリアブル印刷データ解析部30aは、そのバリアブル印刷データを先頭から逐次解釈し、各オブジェクトをラスタライズする(S320)。
【0103】
そして、バリアブル印刷データ解析部30aは、ラスタライズしたオブジェクトが再利用オブジェクトかどうか判定し(S330)、再利用オブジェクトの場合は、利用頻度及びキャッシュメモリの使用状況に応じたキャッシュ処理をコールする(S340)。このキャッシュ処理の詳細は後述する。次に、バリアブル印刷データ解析部30aは、ページの最後かを判定し(S360)、ページの最後でないならば、次のバリアブル印刷データの解析とラスタライズを行う。
【0104】
ページの最後ならば、再利用オブジェクト管理部30cは、ページの合成処理を行うために再利用オブジェクトの取り出し処理を行う(S370)。この取り出し処理は前記した第1の実施例及び第2の実施例と同様である。そして、画像合成処理部30dが1ページ分の画像合成を行ったら、印刷出力用画像データをエンジンに転送する(S380)。バリアブル印刷データがまだ有る場合(S390のNo)は、S320に戻ってバリアブル印刷データの解析とラスタライズの処理を行い、この処理をジョブの終了まで繰り返す。
【0105】
[利用頻度及びキャッシュメモリの使用状況に応じたキャッシュ処理]
図26は、保存形態判定部30bが実行する、利用頻度及びキャッシュメモリの使用状況に応じたキャッシュ処理を示すフローチャート図であり、図25のS340の詳細を示している。
【0106】
まず、キャッシュメモリに非圧縮形式の再利用オブジェクトの容量分の空き容量があるかを確認する(S341)。キャッシュメモリに非圧縮形式の再利用オブジェクトの容量分の空き容量がある場合は、今キャッシュしようとしている再利用オブジェクトを非圧縮形式でキャッシュメモリに保存する(S349)。
【0107】
キャッシュメモリに非圧縮形式の再利用オブジェクトの容量分の空き容量が無い場合は、キャッシュメモリに比較対象(保存されている再利用オブジェクト)があるかを確認する(S342)。保存されている再利用オブジェクトがある場合は、その再利用オブジェクトの利用頻度を取り出し、キャッシュメモリ上に保存されている再利用オブジェクトと今キャッシュしようとしている再利用オブジェクトの利用頻度を比較する(S343)。今キャッシュしようとしている再利用オブジェクトの利用頻度がキャッシュメモリ上に保存されている再利用オブジェクトの利用頻度よりも高い場合(S344のYes)は、キャッシュメモリ上に保存されている再利用オブジェクトを圧縮してHDDに移動するか、若しくは、圧縮してキャッシュメモリに戻す(S345)。その後、S341に戻って、再度、キャッシュメモリに非圧縮形式の再利用オブジェクトの容量分の空き容量があるかを判定する。
【0108】
一方、キャッシュメモリ上に比較対象(保存されている再利用オブジェクト)が無い場合(S342のNo)や、今キャッシュしようとしている再利用オブジェクトの利用頻度がキャッシュメモリ上に保存されている再利用オブジェクトの利用頻度よりも低い場合(S344のNo)は、キャッシュメモリの使用状況を確認し(S346)、圧縮後の再利用オブジェクトのサイズを計算する(S347)。キャッシュメモリに圧縮後の再利用オブジェクトのサイズの空きがある場合(S348のYes)は、圧縮してキャッシュメモリに保存すべきと判定し、再利用オブジェクトを圧縮してキャッシュメモリに保存する(S350)。一方、キャッシュメモリに圧縮後の再利用オブジェクトのサイズの空きがない場合(S348のNo)は、圧縮してHDDに保存すべきと判定し、オブジェクトを圧縮してHDDに保存する(S351)。
【0109】
このように、本実施例によれば、再利用オブジェクトの利用頻度(利用率)を算出し、利用頻度の高い再利用オブジェクトを、非圧縮形式でキャッシュメモリに保存し、非圧縮形式でキャッシュメモリに保存できない場合は、圧縮形式でキャッシュメモリに保存し、圧縮形式でキャッシュメモリに保存できない場合は、圧縮形式でHDDに保存することにより、キャッシュメモリを有効に利用することができ、バリアブル印刷処理を迅速に実行することができる。
【0110】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。例えば、上記各実施例では、再利用オブジェクトをキャッシュメモリに保存できない場合にHDDに保存する構成としたが、保存先はHDDに限らず、インターフェースを介してCPUに接続される任意の外部記憶装置に適用することができる。
【産業上の利用可能性】
【0111】
本発明は、バリアブル印刷データを解析してページ毎の印刷出力用画像データを生成する印刷制御装置を含むシステム及び当該印刷制御装置で動作する印刷制御プログラムに利用可能である。
【符号の説明】
【0112】
10 印刷制御システム
20 バリアブル印刷データ生成装置
21 CPU
22 ROM
23 RAM
24 NIC
25 HDD
30 印刷制御装置
30a 再利用オブジェクト利用頻度計算部
30b バリアブル印刷データ解析部
30c 保存形態用判定部
30d 再利用オブジェクト管理部
30e 画像合成処理部
30f 印刷出力用画像データ転送部
31 CPU
32 ROM
33 RAM
34 NIC
35 HDD
40 出力装置
50 印刷物

【特許請求の範囲】
【請求項1】
再利用オブジェクトと一時利用オブジェクトとを含むバリアブル印刷データに基づいて、印刷装置で処理可能な印刷出力用画像データを生成する印刷制御装置であって、
前記バリアブル印刷データを解釈して、前記再利用オブジェクト及び前記一時利用オブジェクトを抽出し、抽出した前記再利用オブジェクト及び前記一時利用オブジェクトをラスタライズして画像データを生成するバリアブル印刷データ解析部と、
一次記憶装置により構成されるキャッシュメモリ及び二次記憶装置としての外部記憶装置と、
前記キャッシュメモリの使用状況に応じて、各々の前記再利用オブジェクトの画像データを、圧縮形式で保存するか非圧縮形式で保存するか、及び、前記キャッシュメモリに保存するか前記外部記憶装置に保存するか、を判定し、判定結果に応じて、各々の前記再利用オブジェクトの画像データを再利用するために保存する保存形態判定部と、
前記再利用オブジェクト及び前記一時利用オブジェクトの画像データを取得し、圧縮形式の画像データを解凍した後、当該画像データに基づく画像を合成して、印刷出力用画像データを生成する画像合成処理部と、
前記印刷出力用画像データを前記印刷装置に転送する印刷出力用画像データ転送部と、
を少なくとも備える、ことを特徴とする印刷制御装置。
【請求項2】
前記保存形態判定部は、全ての前記再利用オブジェクトの画像データを非圧縮形式で前記キャッシュメモリに保存可能な場合は、非圧縮形式で前記キャッシュメモリに保存し、全ての前記再利用オブジェクトの画像データを非圧縮形式で前記キャッシュメモリに保存できない場合は、少なくとも一部の前記再利用オブジェクトの画像データを圧縮して前記キャッシュメモリに保存し、少なくとも一部の前記再利用オブジェクトの画像データを圧縮しても前記キャッシュメモリに保存できない場合は、少なくとも一部の前記再利用オブジェクトの画像データを圧縮して前記外部記憶装置に保存する、ことを特徴とする請求項1に記載の印刷制御装置。
【請求項3】
前記バリアブル印刷データに基づいて、各々の前記再利用オブジェクトの利用頻度を計算する再利用オブジェクト利用頻度計算部を備え、
前記保存形態判定部は、各々の前記再利用オブジェクトを前記利用頻度に基づいて重み付けし、前記キャッシュメモリに保存できなくなるまで、前記利用頻度が高い順に、前記再利用オブジェクトの画像データを前記キャッシュメモリに保存し、前記キャッシュメモリに保存できない前記再利用オブジェクトの画像データは、前記外部記憶装置に保存するか若しくは再利用するための保存はしない、ことを特徴とする請求項1又は2に記載の印刷制御装置。
【請求項4】
前記保存形態判定部は、前記キャッシュメモリに既に保存されている再利用オブジェクトよりも利用頻度が高い再利用オブジェクトがある場合に、前記既に保存されている再利用オブジェクトの画像データを前記外部記憶装置に待避させる、ことを特徴とする請求項3に記載の印刷制御装置。
【請求項5】
一次記憶装置により構成されるキャッシュメモリ及び二次記憶装置としての外部記憶装置を備え、再利用オブジェクトと一時利用オブジェクトとを含むバリアブル印刷データに基づいて、印刷装置で処理可能な印刷出力用画像データを生成する装置で動作する印刷制御プログラムであって、
前記装置を、
前記バリアブル印刷データを解釈して、前記再利用オブジェクト及び前記一時利用オブジェクトを抽出し、抽出した前記再利用オブジェクト及び前記一時利用オブジェクトをラスタライズして画像データを生成するバリアブル印刷データ解析部、
前記キャッシュメモリの使用状況に応じて、各々の前記再利用オブジェクトの画像データを、圧縮形式で保存するか非圧縮形式で保存するか、及び、前記キャッシュメモリに保存するか前記外部記憶装置に保存するか、を判定し、判定結果に応じて、各々の前記再利用オブジェクトの画像データを再利用するために保存する保存形態判定部、
前記再利用オブジェクト及び前記一時利用オブジェクトの画像データを取得し、圧縮形式の画像データを解凍した後、当該画像データに基づく画像を合成して、印刷出力用画像データを生成する画像合成処理部、
前記印刷出力用画像データを前記印刷装置に転送する印刷出力用画像データ転送部、
として機能させる、ことを特徴とする印刷制御プログラム。
【請求項6】
前記保存形態判定部は、全ての前記再利用オブジェクトの画像データを非圧縮形式で前記キャッシュメモリに保存可能な場合は、非圧縮形式で前記キャッシュメモリに保存し、全ての前記再利用オブジェクトの画像データを非圧縮形式で前記キャッシュメモリに保存できない場合は、少なくとも一部の前記再利用オブジェクトの画像データを圧縮して前記キャッシュメモリに保存し、少なくとも一部の前記再利用オブジェクトの画像データを圧縮しても前記キャッシュメモリに保存できない場合は、少なくとも一部の前記再利用オブジェクトの画像データを圧縮して前記外部記憶装置に保存する、ことを特徴とする請求項5に記載の印刷制御プログラム。
【請求項7】
前記装置を、更に、
前記バリアブル印刷データに基づいて、各々の前記再利用オブジェクトの利用頻度を計算する再利用オブジェクト利用頻度計算部、として機能させ、
前記保存形態判定部は、各々の前記再利用オブジェクトを前記利用頻度に基づいて重み付けし、前記キャッシュメモリに保存できなくなるまで、前記利用頻度が高い順に、前記再利用オブジェクトの画像データを前記キャッシュメモリに保存し、前記キャッシュメモリに保存できない前記再利用オブジェクトの画像データは、前記外部記憶装置に保存するか若しくは再利用のための保存はしない、ことを特徴とする請求項5又は6に記載の印刷制御プログラム。
【請求項8】
前記保存形態判定部は、前記キャッシュメモリに既に保存されている再利用オブジェクトよりも利用頻度が高い再利用オブジェクトがある場合に、前記既に保存されている再利用オブジェクトの画像データを前記外部記憶装置に待避させる、ことを特徴とする請求項7に記載の印刷制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2012−198741(P2012−198741A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−61986(P2011−61986)
【出願日】平成23年3月22日(2011.3.22)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】