(57)【要約】【課題】キャッシュを効率的に活用することを可能とする印刷装置を提供する。【解決手段】ＰＤＬデータを解析し、使用指定データを検出する解析部１７ａと、画像データを描画処理するＲＩＰ処理部１７ｈと、使用指定データから生成されたラスタデータを一時的に格納するキャッシュと、ページごとに、該ページで使用される使用指定データを特定するページ特定部１７ｂと、ページごとに、該ページで使用される使用指定データの中から、ラスタデータをキャッシュ１３に格納する使用指定データの組合せを特定する特定部１７ｅと、処理対象のページに対して、特定部１７ｅにより特定された組合せに含まれる使用指定データのラスタデータでキャッシュ１３を更新する更新部１７ｇと、を備え、ＲＩＰ処理部１７ｈは、ページごとに描画処理をする際、既にキャッシュ１３に格納されているラスタデータを除いた画像データを描画処理する。【選択図】図４
2015009500.tif 000002
【特許請求の範囲】
【請求項１】
入力されたページ記述言語で記述されたジョブデータを解析して、解析された前記ジョブデータの画像データの中から、ページごとに使用することが指定されているデータである使用指定データを検出する解析部と、
前記画像データを描画処理するＲＩＰ（Raster Image Processor）処理部と、
前記使用指定データを前記描画処理することにより生成されるラスタデータを一時的に保持するキャッシュと、
前記使用指定データが使用されるページをページごとに特定するページ特定部と、
前記ページ特定部により前記特定された使用指定データの中から、前記キャッシュに前記ラスタデータを格納する使用指定データの一又は二以上の組合せを特定する特定部と、
前記ＲＩＰ処理部が前記ページごとに前記描画処理を行う際に、前記特定部により特定された前記組合せの前記使用指定データの前記ラスタデータを前記キャッシュに格納して更新する更新部と、を備える
ことを特徴とする印刷装置。
【請求項２】
前記キャッシュを更新する前に、前記処理対象のページに対応する、前記特定部により特定された前記組合せに含まれる全ての前記使用指定データの前記ラスタデータが、前記キャッシュに保持されているか否かを判定する判定部を更に備え、
前記更新部は、前記判定部により保持されていないと判定された場合のみ、前記キャッシュの更新を行う、
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記特定部は、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの前記ラスタデータのデータサイズの総和が、前記キャッシュの容量を超える場合には、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの中から、前記容量以下となり且つ前記ラスタデータのデータサイズの総和が最大となるように使用指定データの組合せを特定し、
該特定した組合せを、処理対象のページにおける、前記ラスタデータを前記キャッシュに格納する使用指定データの組合せとして特定する、
ことを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記特定部は、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの前記ラスタデータのデータサイズの総和が、前記キャッシュの容量以下であって、且つ、処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの全てが、処理対象のページの直前のページに対して重複する場合には、
前記直前のページに対して特定した前記組合せを維持する、
ことを特徴とする請求項１乃至３のいずれか一に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関する。
【背景技術】
【０００２】
近年、使用頻度の高い定型データに対して複数の可変データを重ね合わせ、大量のページを高速に印刷するバリアブル印刷に対応した印刷装置が利用され始めている。
【０００３】
また、バリアブル印刷をより効率的に行うために、印刷のジョブにはページ記述言語（以下、ＰＤＬ（Page Description Language）という）が採用されている。これらのＰＤＬの中には、使用頻度の高い定型データを描画処理（以下、ＲＩＰ（Raster Image Processor）処理という）してラスタ・イメージに変換したデータ（以下、ラスタデータという）をキャッシュに記憶する機能（以下、キャッシュ機能という）を備えるものもある（例えば、特許文献１を参照）。
【０００４】
このキャッシュ機能により、ページデータを生成する際に、定型データに対応するラスタデータをキャッシュから読み出すことで、ジョブ全体におけるＲＩＰ処理に要する時間（以下、ＲＩＰ処理時間という）を短縮することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１８３７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法では、ラスタデータをキャッシュに記憶するように指定されたデータ（以下、指定データという）は、以下に示すルールに従って、キャッシュに記憶されている。
（１）指定データから生成されたラスタデータは、指定データがＰＤＬデータ内に記載された順番でキャッシュに記憶される。
（２）処理対象の指定データから生成されたラスタデータのデータサイズが、キャッシュの空き容量より大きい場合には、既にキャッシュに記憶されている指定データに対応するラスタデータの内で、最初にキャッシュに記憶されたものから順番に削除し、必要な容量を確保した後に、処理対象の指定データから生成されたラスタデータをキャッシュに記憶する。
【０００７】
そのため、割り当てられているキャッシュの容量が小さい場合などには、使用頻度が非常に高いデータであってもキャッシュから削除されてしまい、ＲＩＰ処理時間の短縮効果が薄れてしまうという問題がある。
【０００８】
上記問題点に鑑み、本発明では、キャッシュを効率的に活用することを可能とする印刷装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
請求項１に係る印刷装置は、
入力されたページ記述言語で記述されたジョブデータを解析して、解析された前記ジョブデータの画像データの中から、ページごとに使用することが指定されているデータである使用指定データを検出する解析部と、
前記画像データを描画処理するＲＩＰ（Raster Image Processor）処理部と、
前記使用指定データを前記描画処理することにより生成されるラスタデータを一時的に保持するキャッシュと、
前記使用指定データが使用されるページをページごとに特定するページ特定部と、
前記ページ特定部により前記特定された使用指定データの中から、前記キャッシュに前記ラスタデータを格納する使用指定データの一又は二以上の組合せを特定する特定部と、
前記ＲＩＰ処理部が前記ページごとに前記描画処理を行う際に、前記特定部により特定された前記組合せの前記使用指定データの前記ラスタデータを前記キャッシュに格納して更新する更新部と、を備える
ことを特徴とする。
【００１０】
請求項２に係る印刷装置は、請求項１に係る印刷装置において、
前記キャッシュを更新する前に、前記処理対象のページに対応する、前記特定部により特定された前記組合せに含まれる全ての前記使用指定データの前記ラスタデータが、前記キャッシュに保持されているか否かを判定する判定部を更に備え、
前記更新部は、前記判定部により保持されていないと判定された場合のみ、前記キャッシュの更新を行う、
ことを特徴とする。
【００１１】
請求項３に係る印刷装置は、請求項１又は２に係る印刷装置において、
前記特定部は、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの前記ラスタデータのデータサイズの総和が、前記キャッシュの容量を超える場合には、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの中から、前記容量以下となり且つ前記ラスタデータのデータサイズの総和が最大となるように使用指定データの組合せを特定し、
該特定した組合せを、処理対象のページにおける、前記ラスタデータを前記キャッシュに格納する使用指定データの組合せとして特定する、
ことを特徴とする。
【００１２】
請求項４に係る印刷装置は、請求項１乃至３のいずれか一に係る印刷装置において、
前記特定部は、
処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの前記ラスタデータのデータサイズの総和が、前記キャッシュの容量以下であって、且つ、処理対象のページに対して、前記ページ特定部により特定された前記使用指定データの全てが、処理対象のページの直前のページに対して重複する場合には、
前記直前のページに対して特定した前記組合せを維持する、
ことを特徴とする。
【発明の効果】
【００１３】
請求項１に係る印刷装置によれば、ＰＤＬデータを解析し、指定データを検出する。そして、ページごとに、該ページで使用される使用指定データの中から、ラスタデータをキャッシュに格納する使用指定データ（格納データ）を特定する。そして、ＲＩＰ処理する際に、ページごとに該ページの格納データに対応するラスタデータでキャッシュを更新する。このように構成することで、処理対象のページで使用される画像データをＲＩＰ処理する際に、処理対象のページで使用される使用指定データのラスタデータがキャッシュに格納されているラスタデータとなり、最適なタイミングでキャッシュを活用することが可能となる。これにより、ＲＩＰ処理時間を大幅に短縮することが可能となる。
【００１４】
請求項２に係る印刷装置によれば、キャッシュを更新する前に、処理対象のページに対応する格納データのラスタデータが、キャッシュに保持されているか否かを判定し、キャッシュに保持されていない場合のみ、キャッシュを更新する。このように構成することで、不要な更新動作を省くことが可能となり、更に、処理時間を短縮することが可能となる。
【００１５】
請求項３に係る印刷装置によれば、処理対象のページで使用される使用指定データから生成されるラスタデータのデータサイズの総和が、キャッシュの容量を超える場合には、処理対象のページで使用される使用指定データの中から、キャッシュの容量以下となり且つラスタデータのデータサイズの総和が最大となるように使用指定データの組合せを特定する。このように構成することで、最もＲＩＰ処理時間の短縮効果が高い組合せでキャッシュに格納することが可能となる。これにより、ＲＩＰ処理時間の短縮効果を更に高めることが可能となる。
【００１６】
請求項４に係る印刷装置によれば、処理対象のページで使用される使用指定データから生成されるラスタデータのデータサイズの総和が、キャッシュの容量以下であって、且つ、処理対象のページで使用される使用指定データの全てが、処理対象のページの直前のページの格納データに含まれている場合には、処理対象のページの直前のページの組合せを、維持する。このように構成することで、不要な更新動作を省くことが可能となり、更に、処理時間を短縮することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】実施形態における印刷システムの構成例を示す図である。
【図２】実施形態におけるＰＳデータの構造の例を示す図である。
【図３】実施形態におけるＰＳデータの構造の別の例を示す図である。
【図４】実施形態における印刷システムを構成する印刷装置の構成例を示す機能ブロック図である。
【図５】図２に示すＰＳデータにおいて、各指定データがどのページで使用されるのかを模式的に示す図である。
【図６】実施形態における、図２に示すＰＳデータに対応する使用ページ管理テーブルの例を示す図である。
【図７】実施形態における、図２に示すＰＳデータに対応するキャッシュ管理テーブルの例を示す図である。
【図８】図３に示すＰＳデータにおいて、各指定データがどのページで使用されるのかを模式的に示す図である。
【図９】実施形態における、図３に示すＰＳデータに対応する使用ページ管理テーブルの例を示す図である。
【図１０】実施形態における、図３に示すＰＳデータに対応するキャッシュ管理テーブルの例を示す図である。
【図１１】実施形態におけるキャッシュ制御処理のフローを説明するためのフローチャートの例の一部である。
【図１２】実施形態におけるキャッシュ制御処理のフローを説明するためのフローチャートの例の他の一部である。
【図１３】実施形態における特定処理のフローを説明するためのフローチャートの例の一部である。
【図１４】実施形態における特定処理のフローを説明するためのフローチャートの例の他の一部である。
【図１５】図３に示すＰＳデータにおいて、各指定データがどのページで使用されるのかを模式的に示す図であって、従来のルールに従ってデータをキャッシュに格納した場合を示す図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１９】
図１は、本実施形態の印刷システム１００の構成例を示す図である。印刷システム１００は、図１に示すように、印刷装置１０と、一又は複数の情報端末装置２０とを含み、印刷装置１０と情報端末装置２０は、ネットワークＮＷを介して相互に通信可能に接続されている。
【００２０】
なお、本実施形態においては、情報端末装置２０により出力され、印刷装置１０へ入力される印刷ジョブはＰＳ（Post Script）形式であるものとして、以下説明する。また、ＰＳ形式の印刷ジョブをＰＳデータと称することとする。
【００２１】
図２と図３は、いずれも、本実施形態におけるＰＳデータの構造の例を示す図である。本例のＰＳデータでは、図２（又は図３）に示すように、ＰＳデータに含まれる画像データのうち、ページごとに使用することを指定された使用指定データ（以下、指定データ）はジョブヘッダに埋め込まれているものとする。また、図２（又は図３）に示す[使用：指定データｋ]（ｋ＝１，２，３）は、指定データｋを変換して生成されたラスタデータを詳しくは後述のキャッシュ１３から読み出す命令を示しているものとする。
【００２２】
図２（又は図３）に示すＰＳデータの場合、ＰＳデータに埋め込まれている指定データは３個であり、指定データ１、指定データ２、指定データ３の順にＰＳデータに埋め込まれているものとする。
【００２３】
図４は、印刷システム１００を構成する印刷装置１０の構成例を示す機能ブロック図である。印刷装置１０は、情報端末装置２０により出力されるＰＳデータを処理して、紙などの印刷媒体上に印刷して出力する装置であり、図４に示すように、通信部１１と、記憶部１２と、キャッシュ１３と、表示部１４と、操作部１５と、プリンタ部１６と、制御部１７と、を備えて構成されている。
【００２４】
通信部１１は、通信モジュールなどで構成され、ネットワークＮＷを介して、情報端末装置２０との間で通信を行う。例えば、通信部１１は、情報端末装置２０により出力されるＰＳデータを受信する。
【００２５】
記憶部１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、不揮発性メモリなどで構成され、制御部１７を構成するＣＰＵ（Central Processing Unit）のワークエリア、印刷装置１０全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述の使用ページ管理テーブルＴ１やキャッシュ管理テーブルＴ２などのテーブルデータ、詳しくは後述のＲＩＰ処理部１７ｈが指定データから生成したラスタデータなどの各種データを格納するデータエリアとして機能する。
【００２６】
ここで、図５乃至１０を参照して、記憶部１２のデータエリアに格納される使用ページ管理テーブルＴ１とキャッシュ管理テーブルＴ２について、それぞれ説明する。
【００２７】
図５は、図２に示すＰＳデータにおいて、各指定データがどのページｊで使用されるのかを模式的に示す図である。図６は、図２に示すＰＳデータに対応する使用ページ管理テーブルＴ１の例を示す図である。図７は、図２に示すＰＳデータに対応するキャッシュ管理テーブルＴ２の例を示す図である。
【００２８】
図８は、図３に示すＰＳデータにおいて、各指定データがどのページｊで使用されるのかを模式的に示す図である。図９は、図３に示すＰＳデータに対応する使用ページ管理テーブルＴ１の例を示す図である。図１０は、図３に示すＰＳデータに対応するキャッシュ管理テーブルＴ２の例を示す図である。
【００２９】
使用ページ管理テーブルＴ１は、例えば、詳しくは後述の特定処理において、ページｊごとにキャッシュ１３に格納するデータを特定する際に、詳しくは後述の特定部１７ｅにより参照されるテーブルであり、図６（又は図９）に示すように、指定データごとに、データサイズと、使用フラグと、が対応付けられている。
【００３０】
指定データ名は、指定データを一意に識別可能な情報であり、本実施形態においては、ＰＳデータに埋め込まれている順番に、データ１、データ２、・・・と設定される。例えば、図２（又は図３）に示すＰＳデータの場合、上述したように、指定データ１、指定データ２、指定データ３の順にＰＳデータに埋め込まれていることから、指定データ１から順に、データ１、データ２、データ３と設定されることとなる。
【００３１】
データサイズは、指定データを変換して生成されるラスタデータのデータサイズあり、詳しくは後述のデータサイズ特定部１７ｄにより特定され、使用ページ管理テーブルＴ１の対応する欄に格納される。図２（又は図３）に示す使用ページ管理テーブルＴ１では、データ１に対応する指定データから順に、該指定データから生成されるラスタデータのデータサイズは、３Ｍバイト、１Ｍバイト、２Ｍバイトとする。
【００３２】
使用フラグは、対応するページｊで対応する指定データが使用されるか否かを示すフラグであり、詳しくは後述のページ特定部１７ｂにより設定される。なお、本実施形態においては、フラグ値“１”は、対応するページｊで対応する指定データが使用されることを示し、一方、フラグ値“０”は、対応するページｊで対応する指定データが使用されないことを示すものとする。
【００３３】
キャッシュ管理テーブルＴ２は、例えば、キャッシュ制御処理において、キャッシュ１３を更新する際に、詳しくは後述の更新部１７ｇにより参照されるテーブルであり、図７（又は図１０）に示すように、指定データごとに、キャッシュ格納フラグが対応付けられている。
【００３４】
キャッシュ格納フラグは、対応するページｊにおいて、対応する指定データから生成されたラスタデータをキャッシュ１３に格納するか否かを指示するフラグであり、特定部１７ｂにより設定される。なお、本実施形態においては、フラグ値“１”は、対応するページｊで対応する指定データから生成されたラスタデータをキャッシュ１３に格納することを示し、一方、フラグ値“０”は、対応するページｊで対応する指定データから生成されたラスタデータをキャッシュ１３に格納しないことを示すものとする。ここで、ラスタデータをキャッシュ１３に格納する指定データを、以下、格納データと称することとする。
【００３５】
図４に戻り、キャッシュ１３は、例えば、ＳＲＡＭ（Static Random Access Memory）などで構成され、更新部１７ｇは、キャッシュ管理テーブルＴ２に基づいて、指定データから生成され記憶部１２に格納されているラスタデータを読み出して、キャッシュ１３に格納する。なお、本実施形態においては、キャッシュ１３の容量は、５Ｍバイトとする。
【００３６】
表示部１４は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro-Luminescence）などの表示装置などで構成され、例えば、画像データや各種機能ボタンなどを表示画面上に表示する。
【００３７】
操作部１５は、テンキ−や表示部１４の表示画面上に表示されるタッチパネルなどで構成され、ユーザは、操作部１５を操作して、印刷装置１０への指示を入力することで、所望の処理を実行させることが可能である。
【００３８】
プリンタ部１６は、プリンタエンジンなどで構成され、ＲＩＰ処理部１７ｈによりラスタデータが生成されると、プリンタ部１６は、ページごとにレイアウト処理を実行しページデータを生成する。この際、プリンタ部１６は、キャッシュ１３にデータが格納されている場合には、格納されているデータとＲＩＰ処理部１７ｈにより生成されたラスタデータとを用いてレイアウト処理を実行する。また、プリンタ部１６は、生成したページデータに対して、例えば、キャリブレーションなどの画像処理を施した後に、紙などの印刷媒体に印刷し出力する。
【００３９】
制御部１７は、ＣＰＵなどで構成され、記憶部１２のプログラムエリアに格納されている動作プログラムを実行して、図４に示すように、解析部１７ａと、ページ特定部１７ｂと、判定部１７ｃと、データサイズ特定部１７ｄと、特定部１７ｅと、カウンタ１７ｆと、更新部１７ｇと、ＲＩＰ処理部１７ｈとしての機能を実現すると共に、印刷装置１０全体を制御する制御処理やキャッシュ制御処理などの処理を実行する。
【００４０】
解析部１７ａは、ＰＳデータを受信すると、受信したＰＳデータを解析し、画像データを検出して、検出した画像データが指定データか否かを順次判定することで、指定データを検出する。例えば、解析部１７ａは、ＰＳデータに記載されている順番に従って、検出した画像データが指定データか否かを順次判定する。
【００４１】
ページ特定部１７ｂは、ＰＳデータを解析し、検出された指定データごとに、該指定データが使用されるページを特定することで、ページごとに、該ページで使用される指定データを特定する。より具体的には、ページ特定部１７ｂは、ＰＳデータを解析し、検出された指定データごとに、該指定データを変換して生成されるラスタデータをキャッシュ１３から読み出す命令が各ページデータに含まれているか否かを解析することで、該指定データが使用されるページを特定する。
【００４２】
そして、ページ特定部１７ｂは、指定データごとに、使用管理テーブルＴ１の特定したページに対応する欄の使用フラグをセット（フラグ値を“１”に変更）する。
【００４３】
例えば、処理対象のＰＳデータが図２に示すものである場合には、指定データ１から生成されるラスタデータをキャッシュ１３から読み出す命令が、ページ１乃至７の内の全てのページデータに含まれていることから、ページ特定部１７ｂは、指定データ１が、ページ１乃至７の全てのページｊで使用されることを特定する。同様の方法に従って、ページ特定部１７ｂは、指定データ２が、ページ１乃至７の内のページ１、２、６、７で、指定データ３が、ページ１乃至７の内のページ３乃至５で、使用されることを特定する。
【００４４】
そして、ページ特定部１７ｂは、指定データ１に対応するデータ１については、ページ１乃至７の内の全てのページｊに対応する使用フラグを、図６に示すように、セットする。同様に、ページ特定部１７ｂは、図６に示すように、指定データ２に対応するデータ２については、ページ１乃至７の内のページ１、２、６、７に対応する使用フラグをセットし、指定データ３に対応するデータ３については、ページ１乃至７の内のページ３乃至５に対応する使用フラグをセットする。
【００４５】
また、例えば、処理対象のＰＳデータが図３に示すものである場合には、指定データ１から生成されるラスタデータをキャッシュ１３から読み出す命令が、ページ１乃至７の内の全てのページに含まれていることから、ページ特定部１７ｂは、指定データ１が、ページ１乃至７の内の全てのページｊで使用されることを特定する。同様の方法に従って、ページ特定部１７ｂは、指定データ２が、ページ１乃至７の内のページ１、２、４、５、７で、指定データ３が、ページ１乃至７の内のページ２乃至４で、使用されることを特定する。
【００４６】
そして、ページ特定部１７ｂは、指定データ１に対応するデータ１については、ページ１乃至７の内の全てのページｊに対応する使用フラグを、図９に示すように、セットする。同様に、ページ特定部１７ｂは、図９に示すように、指定データ２に対応するデータ２については、ページ１乃至７の内のページ１、２、４、５、７に対応する使用フラグをセットし、指定データ３に対応するデータ３については、ページ１乃至７の内のページ２乃至４に対応する使用フラグをセットする。
【００４７】
図４に戻り、判定部１７ｃは、ＰＳデータを受信したか否かを判定する。また、判定部１７ｃは、カウンタ１７ｆのカウンタ値ｉが、処理対象のＰＳデータのページ数Ｎ以上か否かを判定する。
【００４８】
また、判定部１７ｃは、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みか否かを判定する。より具体的には、判定部１７ｃは、キャッシュ管理テーブルＴ２を参照して、ページｊ（ｊ＝カウンタ値ｉ）の格納データを特定し、直前のページ（ｊ−１）の格納データに、特定した格納データの全てが含まれているか否かを判定することで、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みか否かを判定する。
【００４９】
判定部１７ｃは、直前のページ（ｊ−１）の格納データに、特定した格納データの全てが含まれている場合には、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みであると判定し、直前のページ（ｊ−１）の格納データに、特定した格納データの少なくとも一部が含まれていない場合には、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みではないと判定する。
【００５０】
例えば、図７を参照して、カウンタ値ｉ＝４の場合には、ページ４の格納データは、データ１とデータ３であり、直前のページ（ｊ−１）であるページ３の格納データは、同じく、データ１とデータ３である。したがって、この場合は、ページ４の格納データであるデータ１とデータ３は、ページ３の格納データに含まれていることから、判定部１７ｃは、ページ４の格納データはキャッシュ１３に格納済みであると判定する。
【００５１】
また、例えば、図７を参照して、カウンタ値ｉ＝３の場合には、ページ３の格納データは、データ１とデータ３であり、直前のページ（ｊ−１）であるページ２の格納データは、データ１とデータ２である。したがって、この場合は、ページ３の格納データの内のデータ３が、ページ２の格納データに含まれていないことから、判定部１７ｃは、ページ３の格納データはキャッシュ１３に格納済みではないと判定する。
【００５２】
データサイズ特定部１７ｄは、ＲＩＰ処理部１７ｈにより指定データから生成されたラスタデータのデータサイズを特定し、特定したデータサイズを使用ページ管理テーブルＴ１の対応する「データサイズ」欄に格納する。
【００５３】
特定部１７ｅは、使用ページ管理テーブルＴ１を参照して、ページｊごとに、該ページｊで使用される指定データの中から、ラスタデータをキャッシュ１３に格納する指定データ（格納データ）を特定し、キャッシュ管理テーブルＴ２の特定した指定データに対応するキャッシュ格納フラグをセットする。
【００５４】
より具体的には、特定部１７ｅは、使用ページ管理テーブルＴ１を参照して、例えば、ページ１から順に、格納データを特定する。特定部１７ｅは、ページｊの欄を検索して、ページｊで使用される指定データを特定し、直前のページ（ｊ−１）の格納データに、特定した指定データが全て含まれているか否かを判定する。
【００５５】
そして、直前のページ（ｊ−１）の格納データに、特定した指定データが全て含まれている場合には、特定部１７ｅは、直前のページ（ｊ−１）の格納データを、ページｊの格納データとして特定し、すなわち維持して、キャッシュ管理テーブルＴ１の特定した格納データに対応するキャッシュ格納フラグをセットする。例えば、図９と図１０を参照して、処理対象のページｊがページ６の場合には、直前のページ（ｊ−１）であるページ５の格納データはデータ１（指定データ１）とデータ２（指定データ２）であり、ページ６で使用される指定データはデータ１（指定データ１）であり、ページ５の格納デーに含まれることから、特定部１７ｅは、ページ５の格納データをページ６の格納データとして特定する。
【００５６】
一方、直前のページ（ｊ−１）の格納データに、特定した指定データの内の少なくとも一部が含まれない場合には、特定部１７ｅは、更に、ページｊで使用される指定データの内で、直前のページ（ｊ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加することが可能か否かを判定する。
【００５７】
そして、直前のページ（ｊ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加することが可能である場合には、特定部１７ｅは、直前のページ（ｊ−１）の格納データに含まれていない指定データを、直前のページ（ｊ−１）の格納データに追加したものを、ページｊの格納データとして特定する。
【００５８】
例えば、図６と図７を参照して、処理対象のページｊがページ２の場合には、直前のページ（ｊ−１）であるページ１の格納データはデータ１（指定データ１）であり、ページ２で使用される指定データはデータ１（指定データ１）とデータ２（指定データ２）である。また、キャッシュ１３が指定データ１から生成されたラスタデータのみを格納している状態におけるキャッシュ１３の空き容量は、本実施形態においては、５−３＝２Ｍバイトである。したがって、ページ１に含まれていないページ２の指定データ２から生成されたラスタデータ（データサイズは１Ｍバイト）を、キャッシュ１３に追加することが可能であることから、特定部１７ｅは、ページ１の格納データに指定データ２を追加したものをページ２の格納データとして特定する。
【００５９】
一方、直前のページ（ｊ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加することが可能でない場合には、特定部１７ｅは、更に、直前のページ（ｊ−１）の格納データの内で、ページｊで使用されない指定データから生成されたラスタデータをキャッシュ１３から削除すれば、ページｊで使用される指定データから生成されたラスタデータを格納することが可能か否かを判定する。
【００６０】
そして、直前のページ（ｊ−１）の格納データの内で、ページｊで使用されない指定データから生成されたラスタデータをキャッシュ１３から削除しても、ページｊで使用される指定データから生成されたラスタデータを格納することは不可能である場合には、特定部１７ｅは、ページｊで使用される指定データの中から、ページｊの格納データを特定する。例えば、特定部１７ｅは、ページｊで使用される指定データの中から、キャッシュ１３を最も効率的に活用可能な指定データの組合せを特定する。
【００６１】
例えば、図９と図１０を参照して、ページ２で使用される指定データは指定データ１乃至３であり、指定データ１乃至３から生成されたラスタデータのデータサイズの合計は６Ｍバイトであることから、全てをキャッシュ１３に格納することは不可能である。したがって、この場合には、特定部１７ｅは、ページ２で使用される指定データ１乃至３の中から、ページ２の格納データを特定する。指定データ１乃至３から、それぞれ、生成されたラスタデータのデータサイズは、指定データ１から順に、３Ｍバイト、１Ｍバイト、２Ｍバイトであることから、この場合、特定部１７ｅは、最もキャッシュ１３を効率的に活用できる指定データの組合せとして、指定データ１と指定データ３との組合せを特定し、指定データ１と指定データ３をページ２の格納データとして特定する。
【００６２】
一方、直前のページ（ｊ−１）の格納データの内で、ページｊで使用されない指定データから生成されたラスタデータをキャッシュ１３から削除すれば、ページｊで使用される指定データから生成されたラスタデータを格納することが可能である場合には、特定部１７ｅは、更に、直前のページ（ｊ−１）の格納データであって、ページｊで使用されない指定データの内で、キャッシュ１３からラスタデータを削除すべき指定データを特定する。例えば、特定部１７ｅは、キャッシュ１３にページｊで使用される指定データから生成されたラスタデータを追加するために必要な容量を算出して、キャッシュ１３から削除すべき容量を算出する。そして、特定部１７ｅは、対応するラスタデータのデータサイズの合計が、算出した削除すべき容量以上となるように、削除すべき指定データを特定する。
【００６３】
そして、特定部１７ｅは、直前のページ（ｊ−１）の格納データから削除すべき指定データを除いて、ページｊで使用される指定データを追加したものを、ページｊの格納データとして特定する。
【００６４】
例えば、図６と図７を参照して、処理対象のページｊがページ３の場合には、キャッシュ１３に指定データ３から生成されたラスタデータを追加するために必要な容量は、２Ｍバイトであり、キャッシュ１３の空き容量は１Ｍバイトであることから、指定データ３から生成されたラスタデータをキャッシュ１３に格納するためにキャッシュ１３から削除すべき容量は、１Ｍバイトである。ページ３で使用されない指定データ２から生成されたラスタデータのデータサイズは１Ｍバイトであることから、特定部１７ｅは、指定データ２を削除すべき指定データとして特定し、ページ２の格納データ（指定データ１、指定データ２）から、指定データ２を除いて、指定データ３を追加したものを、ページ３の格納データとして特定する。
【００６５】
図４に戻り、カウンタ１７ｆは、特定部１７ｅにより全てのページｊの格納データが特定されたかと、ＲＩＰ処理部１７ｈによるＲＩＰ処理が全てのページｊに対して行われたかと、を管理するためのカウンタである。カウンタ１７ｆのカウンタ値ｉは、処理対象のＰＳデータのページｊに対応付けられており、カウンタ１７ｆは、制御部１７により初期化され、インクリメントされる。なお、カウンタ１７ｆのカウンタ値ｉの初期値は“１”とする。
【００６６】
更新部１７ｇは、判定部１７ｃにより、ページｊ（ｊ＝カウンタ値ｉ）の格納データはキャッシュ１３に格納済みではないと判定された場合に、キャッシュ１３の更新を行う。より具体的には、更新部１７ｇは、キャッシュ管理テーブルＴ２のページｊ（ｊ＝カウンタ値ｉ）の欄を検索して、ページｊ（ｊ＝カウンタ値ｉ）の格納データを特定する。そして、更新部１７ｇは、特定した格納データに対応するラスタデータを記憶部１２から読み出して、読み出したラスタデータでキャッシュ１３を更新する。
【００６７】
ＲＩＰ処理部１７ｈは、検出された指定データをＲＩＰ処理し、ラスタデータを生成する。そして、ＲＩＰ処理部１７ｈは、指定データから生成したラスタデータを記憶部１２に格納する。
【００６８】
また、ＲＩＰ処理部１７ｈは、ページｊごとに、該ページｊで使用される画像データを特定し、特定した画像データのＲＩＰ処理を行う。この際、ＲＩＰ処理部１７ｈは、キャッシュ管理テーブルＴ２（又は、キャッシュ１３）を参照して、処理対象のページｊで使用される画像データから該ページｊの格納データを除いた画像データを、ＲＩＰ処理する。
【００６９】
例えば、図７を参照して、処理対象のページｊがページ３の場合には、ＲＩＰ処理部１７ｈは、ページ３で使用される画像データからデータ１（指定データ１）とデータ３（指定データ３）を除いた画像データをＲＩＰ処理し、ラスタデータを生成する。そして、プリント部１６は、キャッシュ１３に格納されているデータとＲＩＰ処理部１７ｈにより生成されたラスタデータとに基づいて、ページｊごとに、レイアウト処理を実行して、ページデータを生成する。
【００７０】
次に、図１１と図１２を参照して、本実施形態におけるキャッシュ制御処理について説明する。図１１と図１２は、それぞれ、本実施形態におけるキャッシュ制御処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本キャッシュ制御処理は、情報端末装置２０により出力されるＰＳデータ（印刷ジョブ）の受信をトリガとして開始される。
【００７１】
判定部１７ｃは、ＰＳデータを受信したか否かを判定する（ステップＳ００１）。判定部１７ｃにより、ＰＳデータを受信していないと判定された場合には（ステップＳ００１；ＮＯ）、処理はステップＳ００１の処理を繰り返し、ＰＳデータの受信を待つ。
【００７２】
一方、判定部１７ｃによりＰＳデータを受信したと判定された場合には（ステップＳ００１；ＹＥＳ）、解析部１７ａは、受信したＰＳデータを解析し、指定データを検出する（ステップＳ００２）。そして、ＲＩＰ処理部１７ｈは、検出された指定データをＲＩＰ処理し、生成したラスタデータを記憶部１２に格納する（ステップＳ００３）。
【００７３】
そして、データサイズ特定部１７ｄは、ＲＩＰ処理部１７ｈにより指定データから生成されたラスタデータのデータサイズを特定し、特定したデータサイズと該指定データを一意に識別可能な名称である指定データ名とを対応付けて、使用ページ管理テーブルＴ１に格納する（ステップＳ００４）。
【００７４】
そして、ページ特定部１７ｂは、ＰＳデータを解析し、指定データごとに、該指定データが使用されるページを特定することで、ページごとに、該ページで使用される指定データを特定し（ステップＳ００５）、指定データごとに、使用管理テーブルＴ１の特定したページに対応する欄の使用フラグをセット（フラグ値を“１”に変更）する（ステップＳ００６）。
【００７５】
そして、特定部１７ｅは、ページｊごとに、該ページｊで使用される指定データの中から、ラスタデータをキャッシュ１３に格納する指定データ（格納データ）を特定する（ステップＳ００７）。
【００７６】
そして、制御部１７は、カウンタ１７ｆを初期化（カウンタ値ｉ＝１）すると共に（ステップＳ００８）、キャッシュ１３を初期化する（ステップＳ００９）。
【００７７】
そして、判定部１７ｃは、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みか否かを判定する（ステップＳ０１０）。判定部１７ｃにより、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みであると判定された場合には（ステップＳ０１０；ＹＥＳ）、処理はステップＳ０１２の処理へと進む。
【００７８】
一方、判定部１７ｃにより、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータはキャッシュ１３に格納済みではないと判定された場合には（ステップＳ０１０；ＮＯ）、更新部１７ｇは、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータを記憶部１２から読み出して、読み出したラスタデータでキャッシュ１３を更新する（ステップＳ０１１）。
【００７９】
そして、ＲＩＰ処理部１７ｈは、ページｊ（ｊ＝カウンタ値ｉ）で使用される画像データを特定し、特定した画像データのＲＩＰ処理を行う（ステップＳ０１２）。この際、ＲＩＰ処理部１７ｈは、キャッシュ管理テーブルＴ２（又は、キャッシュ１３）を参照して、ページｊ（ｊ＝カウンタ値ｉ）で使用される画像データから該ページｊ（ｊ＝カウンタ値ｉ）の格納データを除いた画像データを、すなわち、ページｊ（ｊ＝カウンタ値ｉ）で使用される画像データの内で、対応するラスタデータがキャッシュ１３に格納されていない画像データを、ＲＩＰ処理する。
【００８０】
そして、プリント部１６は、キャッシュ１３に格納されているデータとＲＩＰ処理部１７ｈにより生成されたラスタデータとに基づいて、ページｊ（ｊ＝カウンタ値ｉ）のレイアウト処理を実行して、ページｊ（ｊ＝カウンタ値ｉ）のページデータを生成する（ステップＳ０１３）。
【００８１】
そして、判定部１７ｃは、カウンタ１７ｆのカウンタ値ｉが、処理対象のＰＳデータのページ数Ｎ以上か否かを判定する（ステップＳ０１４）。
【００８２】
判定部１７ｃにより、カウンタ値ｉはページ数Ｎより小さいと判定された場合には（ステップＳ０１４；ＮＯ）、制御部１７は、カウンタ１７ｆのカウンタ値ｉをインクリメントし（ステップＳ０１５）、処理はステップＳ０１０の処理に戻り、前述の処理を繰り返す。
【００８３】
一方、判定部１７ｃにより、カウンタ値ｉはページ数Ｎ以上であると判定された場合には（ステップＳ０１４；ＹＥＳ）、処理は終了し、次のＰＳデータの受信を待つ。
【００８４】
ここで、図３、図９乃至図１２を参照し、具体例に従って、本実施形態おけるキャッシュ制御処理の流れについて説明する。
【００８５】
なお、キャッシュ１３の容量は５Ｍバイトとする。また、処理対象のＰＳデータは、図３に示すＰＳデータであり、図３に示すように、指定データ１、指定データ２、指定データ３の順に、ＰＳデータに埋め込まれているものとする。また、ＰＳデータに埋め込まれている順に、指定データ名を、データ１、データ２、データ３とする。すなわち、指定データ１乃至３は、それぞれ、図９に示す使用ページ管理テーブルＴ１のデータ１、データ２、データ３に対応する。また、指定データ１乃至３から生成されたラスタデータのデータサイズは、図９に示すように、それぞれ、３Ｍバイト、１Ｍバイト、２Ｍバイトとする。
【００８６】
図３に示すＰＳデータを受信すると（ステップＳ００１；ＹＥＳ）、解析部１７ａは、受信したＰＳデータを解析して、指定データ１乃至３を検出する（ステップＳ００２；ＹＥＳ）。そして、ＲＩＰ処理部１７ｈは、指定データ１乃至３をＲＩＰ処理し、生成したラスタデータを記憶部１２に格納する（ステップＳ００３）。
【００８７】
指定データ１乃至３から生成されたラスタデータのデータサイズは、それぞれ、３Ｍバイト、１Ｍバイト、２Ｍバイトであることから、データサイズ特定部１７ｄは、データ１と指定データ１から生成されたラスタデータのデータサイズ３Ｍバイトを対応付けて、使用ページ管理テーブルＴ１に格納する。同様に、データサイズ特定部１７ｄは、データ２とデータサイズ１Ｍバイトとを対応付けて、データ３とデータサイズ２Ｍバイトとを対応付けて、使用ページ管理テーブルＴ１に格納する（ステップＳ００４）。
【００８８】
図３を参照すると、ページ１のデータには、指定データ１と指定データ２から生成されたラスタデータをキャッシュ１３から読み出す命令が含まれていることから、ページ特定部１７ｂは、指定データ１と指定データ２をページ１で使用される指定データとして特定する。同様に、ページ特定部１７ｂは、ページ２以降についても、各ページｊで使用される指定データを特定し（ステップＳ００５）、図９に示すように、使用フラグをセットする（ステップＳ００６）。
【００８９】
特定部１７ｅは、ページｊごとに、ラスタデータをキャッシュ１３に格納する指定データ（格納データ）を特定し（ステップＳ００７）、制御部１７は、カウンタ１７ｆを初期化（カウンタ値ｉ＝１）すると共に（ステップＳ００８）、キャッシュ１３を初期化する（ステップＳ００９）。
【００９０】
ここで、特定部１７ｅにより特定された、ページｊごとの格納データが、図１０に示すものであるとする。キャッシュ１３は初期化され、ページ１の格納データはキャッシュ１３にまだ格納していないことから（ステップＳ０１０；ＮＯ）、更新部１７ｇは、指定データ１と指定データ２から生成されたラスタデータを、記憶部１２から読み出して、読み出したラスタデータをキャッシュ１３に格納する（ステップＳ０１１）。
【００９１】
そして、ＲＩＰ処理部１７ｈは、指定データ１と指定データ２を除く、ページ１で使用される画像データを、ＲＩＰ処理し、ラスタデータを生成する（ステップＳ０１２）。そして、プリント部１６は、指定データ１と指定データ２から生成されたラスタデータについては、キャッシュ１３から取得して、レイアウト処理を行い、ページ１のページデータを生成する（ステップＳ０１３）。
【００９２】
そして、カウンタ値ｉ＝１であることから（ステップＳ０１４；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝２とし（ステップＳ０１５）、今度は、ページ２に対して、ステップＳ０１０乃至Ｓ０１３の処理を実行する。
【００９３】
ページ２の格納データの内で、指定データ３はページ１の格納データに含まれていないことから（ステップＳ０１０；ＮＯ）、更新部１７ｇは、指定データ１と指定データ３から生成されたラスタデータを、記憶部１２から読み出して、読み出したラスタデータでキャッシュ１３を更新する（ステップＳ０１１）。
【００９４】
そして、ＲＩＰ処理部１７ｈは、指定データ１と指定データ３を除く、ページ２で使用される画像データを、ＲＩＰ処理し、ラスタデータを生成する（ステップＳ０１２）。そして、プリント部１６は、指定データ１と指定データ３から生成されたラスタデータについては、キャッシュ１３から取得して、レイアウト処理を行い、ページ２のページデータを生成する（ステップＳ０１３）。
【００９５】
そして、カウンタ値ｉ＝２であることから（ステップＳ０１４；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝３とし（ステップＳ０１５）、今度は、ページ３に対して、ステップＳ０１０乃至Ｓ０１３の処理を実行する。
【００９６】
ページ３の格納データ（指定データ１、指定データ３）は、ページ２の格納データ（指定データ１、指定データ３）と同じであることから（ステップＳ０１０；ＹＥＳ）、キャッシュ１３の更新は行われずに（ステップＳ０１１をスキップ）、ＲＩＰ処理部１７ｈは、指定データ１と指定データ３を除く、ページ３で使用される画像データを、ＲＩＰ処理し、ラスタデータを生成する（ステップＳ０１２）。
【００９７】
そして、プリント部１６は、指定データ１と指定データ３から生成されたラスタデータについては、キャッシュ１３から取得して、レイアウト処理を行い、ページ２のページデータを生成する（ステップＳ０１３）。
【００９８】
そして、カウンタ値ｉ＝３であることから（ステップＳ０１４；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝４とし（ステップＳ０１５）、今度は、ページ４に対して、ステップＳ０１０乃至Ｓ０１３の処理を実行する。ページ４についても、ページ４の格納データは、ページ２の格納データと同じであることから、ページ３で説明した処理と同様の処理が実行される（ステップＳ０１０乃至Ｓ０１３）。
【００９９】
そして、カウンタ値ｉ＝４であることから（ステップＳ０１４；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝５とし（ステップＳ０１５）、今度は、ページ５に対して、ステップＳ０１０乃至Ｓ０１３の処理を実行する。
【０１００】
ページ５の格納データの内で、指定データ２はページ４の格納データに含まれていないことから（ステップＳ０１０；ＮＯ）、更新部１７ｇは、指定データ１と指定データ２から生成されたラスタデータを、記憶部１２から読み出して、読み出したラスタデータでキャッシュ１３を更新する（ステップＳ０１１）。
【０１０１】
そして、ＲＩＰ処理部１７ｈは、指定データ１と指定データ２を除く、ページ５で使用される画像データを、ＲＩＰ処理し、ラスタデータを生成する（ステップＳ０１２）。そして、プリント部１６は、指定データ１と指定データ２から生成されたラスタデータについては、キャッシュ１３から取得して、レイアウト処理を行い、ページ５のページデータを生成する（ステップＳ０１３）。
【０１０２】
ページ６以降に対しても、同様の処理（ステップＳ０１０乃至Ｓ０１３）が実行され、処理対象のＰＳデータの最終ページであるページＮに対する処理（ステップＳ０１０乃至Ｓ０１３）が実行されると（ステップＳ０１４；ＹＥＳ）、処理は終了し、次のＰＳデータの受信を待つ。
【０１０３】
次に、図１３と図１４を参照して、本実施形態における特定処理について説明する。図１３と図１４は、それぞれ、本実施形態における特定処理のフローを説明するためのフローチャートの例の一部と、他の一部であり、本特定処理は、上述したキャッシュ制御処理のステップＳ００７の処理に対応する処理である。
【０１０４】
制御部１７は、カウンタ１７ｆを初期化（カウンタ値ｉ＝１）する（ステップＳ２０１）。
【０１０５】
そして、特定部１７ｅは、使用ページ管理テーブルＴ１を参照して、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データが有るか否かを判定し（ステップＳ２０２）、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データが無い場合には（ステップＳ２０２；ＮＯ）、特定部１７ｅは、直前のページ（ｉ−１）の格納データを、ページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定し、すなわち維持して、キャッシュ管理テーブルＴ２の特定した格納データに対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ３０１）。この際、カウンタ値ｉ＝１の場合は、直前のページ（ｉ−１）は存在しないことから、特定部１７ｅは、ページｊ（ｊ＝カウンタ値ｉ）の格納データを特定しない。そして、処理は後述のステップＳ３０２の処理へと進む。
【０１０６】
一方、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データが有る場合には（ステップＳ２０２；ＹＥＳ）、特定部１７ｅは、更に、カウンタ値ｉ＝１か否かを判定し（ステップＳ２０３）、カウンタ値ｉ＝１の場合には（ステップＳ２０３；ＹＥＳ）、処理は後述のステップＳ２０５の処理へと進む。
【０１０７】
一方、カウンタ値ｉが“１”ではない場合には（ステップＳ２０３；ＮＯ）、特定部１７ｅは、更に、直前のページ（ｉ−１）の格納データに、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データが全て含まれているか否かを判定する（ステップＳ２０４）。
【０１０８】
直前のページ（ｉ−１）の格納データに、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データが全て含まれている場合には（ステップＳ２０４；ＹＥＳ）、特定部１７ｅは、直前のページ（ｉ−１）の格納データを、ページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定し、キャッシュ管理テーブルＴ２の特定した格納データに対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ４０１）。そして、処理は後述のステップＳ３０２の処理へと進む。
【０１０９】
一方、直前のページ（ｉ−１）の格納データに、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの少なくとも一部が含まれていない場合には（ステップＳ２０４；ＮＯ）、特定部１７ｅは、更に、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの内で、直前のページ（ｉ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加可能か否かを判定する（ステップＳ２０５）。
【０１１０】
直前のページ（ｉ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加可能である場合には（ステップＳ２０５；ＹＥＳ）、特定部１７ｅは、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの内で、直前のページ（ｉ−１）の格納データに含まれていない指定データを、直前のページ（ｉ−１）の格納データに追加したものを、ページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定し、すなわち維持して、キャッシュ管理テーブルＴ２の特定した格納データに対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ５０１）。そして、処理は後述のステップＳ３０２の処理へと進む。
【０１１１】
一方、直前のページ（ｉ−１）の格納データに含まれていない指定データから生成されたラスタデータの全てをキャッシュ１３に追加可能でない場合には（ステップＳ２０５；ＮＯ）、特定部１７ｅは、更に、直前のページ（ｉ−１）の格納データの内で、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータをキャッシュ１３から削除すれば、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されたラスタデータを格納することが可能か否かを判定する（ステップＳ２０６）。
【０１１２】
ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータをキャッシュ１３から削除しても、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されたラスタデータを格納することは不可能である場合には（ステップＳ２０６；ＮＯ）、特定部１７ｅは、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの中から、ページｊ（ｊ＝カウンタ値ｉ）の格納データを特定し、キャッシュ管理テーブルＴ２の特定した格納データに対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ６０１）。例えば、特定部１７ｅは、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの中から、キャッシュ１３を最も効率的に活用可能な指定データの組合せを特定する。そして、処理は後述のステップＳ３０２の処理へと進む。
【０１１３】
一方、直前のページ（ｉ−１）の格納データの内で、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータをキャッシュ１３から削除すれば、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されたラスタデータを格納することが可能である場合には（ステップＳ２０６；ＹＥＳ）、特定部１７ｅは、更に、直前のページ（ｉ−１）の格納データの内で、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータの全てをキャッシュ１３から削除する必要が有るか否かを判定する（ステップＳ２０７）。
【０１１４】
直前のページ（ｉ−１）の格納データの内で、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータの全てをキャッシュ１３から削除する必要が有る場合には（ステップＳ２０７；ＹＥＳ）、処理は後述のステップＳ２０９の処理へと進む。
【０１１５】
一方、直前のページ（ｉ−１）の格納データの内で、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データから生成されたラスタデータの全てをキャッシュ１３から削除する必要は無い場合には（ステップＳ２０７；ＮＯ）、特定部１７ｅは、直前のページ（ｉ−１）の格納データであって、ページｊ（ｊ＝カウンタ値ｉ）で使用されない指定データの内で、キャッシュ１３からラスタデータを削除すべき指定データを特定する（ステップＳ２０８）。
【０１１６】
そして、特定部１７ｅは、直前のページ（ｉ−１）の格納データから削除すべき指定データを除いて、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データを追加したものを、ページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定し、キャッシュ管理テーブルＴ２の特定した格納データに対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ２０９）。そして、処理は後述のステップＳ３０２の処理へと進む。
【０１１７】
ここで、ステップＳ２０９、ステップＳ３０１、ステップＳ４０１、ステップＳ５０１、ステップＳ６０１の内のいずれかの処理が実行された後に、処理はステップＳ３０２の処理へと進み、判定部１７ｃは、カウンタ１７ｆのカウンタ値ｉが、処理対象のＰＳデータのページ数Ｎ以上か否かを判定する（ステップＳ３０２）。
【０１１８】
判定部１７ｃにより、カウンタ値ｉはページ数Ｎより小さいと判定された場合には（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆのカウンタ値ｉをインクリメントし（ステップＳ３０３）、処理はステップＳ２０２の処理に戻り、前述の処理を繰り返す。一方、判定部１７ｃにより、カウンタ値ｉはページ数Ｎ以上であると判定された場合には（ステップＳ３０２；ＹＥＳ）、処理は終了する。
【０１１９】
ここで、図３、図９、図１０、図１３、図１４を参照し、具体例に従って、本実施形態おける特定処理の流れについて説明する。
【０１２０】
なお、キャッシュ１３の容量は５Ｍバイトとする。また、処理対象のＰＳデータは、図３に示すＰＳデータであり、図３に示すように、指定データ１、指定データ２、指定データ３の順に、ＰＳデータに埋め込まれているものとする。また、ＰＳデータに埋め込まれている順に、指定データ名を、データ１、データ２、データ３とする。すなわち、指定データ１乃至３は、それぞれ、図９に示す使用ページ管理テーブルＴ１のデータ１、データ２、データ３に対応する。また、指定データ１乃至３から生成されたラスタデータのデータサイズは、図９に示すように、それぞれ、３Ｍバイト、１Ｍバイト、２Ｍバイトとする。
【０１２１】
制御部１７は、カウンタ１７ｆを初期化（カウンタ値ｉ＝１）する（ステップＳ２０１）。ページ１で使用される指定データは指定データ１と指定データ２であり（ステップＳ２０２；ＹＥＳ）、カウンタ値ｉ＝１であり（ステップＳ２０３；ＹＥＳ）、指定データ１、指定データ２から生成されたラスタデータのデータサイズは、それぞれ、３Ｍバイト、１Ｍバイトである。
【０１２２】
したがって、指定データ１、指定データ２から生成されたラスタデータの全てをキャッシュ１３に追加可能であることから（ステップＳ２０５；ＹＥＳ）、特定部１７ｅは、ページ１で使用される指定データ１と指定データ２を、ページ１の格納データとして特定し、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ２）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ５０１）。
【０１２３】
そして、カウンタ値ｉ＝１であることから（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝２とし（ステップＳ３０３）、今度は、ページ２に対して、ステップＳ２０２以降の処理を実行する。
【０１２４】
ページ２で使用される指定データは指定データ１乃至３であり（ステップＳ２０２；ＹＥＳ）、指定データ３は、直前のページ１の格納データに含まれておらず（ステップＳ２０４；ＮＯ）、指定データ３から生成されたラスタデータのデータサイズは２Ｍバイトであることから、指定データ３から生成されたラスタデータをキャッシュ１３に追加することはできない（ステップＳ２０５；ＮＯ）。
【０１２５】
また、ページ１の格納データ（指定データ１、指定データ２）は、ページ２で使用される指定データであることから（ステップＳ２０６；ＮＯ）、特定部１７ｅは、ページ２で使用される指定データ１乃至３の中から、ページ２の格納データを特定する。指定データ１、指定データ３から生成されたラスタデータのデータサイズは、それぞれ、３Ｍバイト、２Ｍバイトで、最もキャッシュ１３を効率的に活用可能な指定データの組合せであることから、特定部１７ｅは、ページ２の格納データとして、指定データ１と指定データ３を特定し、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ３）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ６０１）。
【０１２６】
そして、カウンタ値ｉ＝２であることから（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝３とし（ステップＳ３０３）、今度は、ページ３に対して、ステップＳ２０２以降の処理を実行する。
【０１２７】
ページ３で使用される指定データは指定データ１と指定データ３であり（ステップＳ２０２；ＹＥＳ）、ページ２の格納データ（指定データ１、指定データ３）に含まれることから（ステップＳ２０４；ＹＥＳ）、特定部１７ｅは、ページ２の格納データ（指定データ１、指定データ３）を、ページ３の格納データとして特定し、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ３）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ４０１）。
【０１２８】
そして、カウンタ値ｉ＝３であることから（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝４とし（ステップＳ３０３）、今度は、ページ４に対して、ステップＳ２０２以降の処理を実行する。
【０１２９】
ページ４で使用される指定データは指定データ１乃至３であり（ステップＳ２０２；ＹＥＳ）、指定データ２は、直前のページ３の格納データ（指定データ１、指定データ３）に含まれておらず（ステップＳ２０４；ＮＯ）、指定データ２から生成されたラスタデータのデータサイズは１Ｍバイトであることから、指定データ２から生成されたラスタデータをキャッシュ１３に追加することはできない（ステップＳ２０５；ＮＯ）。
【０１３０】
また、ページ３の格納データ（指定データ１、指定データ３）は、ページ４で使用される指定データであることから（ステップＳ２０６；ＮＯ）、特定部１７ｅは、ページ４で使用される指定データ１乃至３の中から、ページ４の格納データを特定する。指定データ１、指定データ３から生成されたラスタデータのデータサイズは、それぞれ、３Ｍバイト、２Ｍバイトで、最もキャッシュ１３を効率的に活用可能な指定データの組合せであることから、特定部１７ｅは、ページ４の格納データとして、指定データ１と指定データ３を特定し、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ３）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ６０１）。
【０１３１】
そして、カウンタ値ｉ＝４であることから（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝５とし（ステップＳ３０３）、今度は、ページ５に対して、ステップＳ２０２以降の処理を実行する。
【０１３２】
ページ５で使用される指定データは指定データ１と指定データ２であり（ステップＳ２０２；ＹＥＳ）、指定データ２は、直前のページ４の格納データ（指定データ１、指定データ３）に含まれておらず（ステップＳ２０４；ＮＯ）、指定データ２から生成されたラスタデータのデータサイズは１Ｍバイトであることから、指定データ２から生成されたラスタデータをキャッシュ１３に追加することはできない（ステップＳ２０５；ＮＯ）。
【０１３３】
しかしながら、ページ５で使用されない指定データ３から生成されたラスタデータ（データサイズは２Ｍバイト）を削除すれば、指定データ２から生成されたラスタデータ（データサイズは１Ｍバイト）をキャッシュ１３に格納可能である（ステップＳ２０６；ＹＥＳ）。また、ページ４の格納データ（指定データ１、指定データ３）の内で、ページ５で使用されない指定データは指定データ３のみであることから（ステップＳ２０７；ＹＥＳ）、特定部１７ｅは、ページ４の格納データ（指定データ１、指定データ３）から指定データ３を除いて、ページ５で使用される指定データを追加したもの、すなわち、指定データ１と指定データ２を、ページ５の格納データとして特定する。そして、特定部１７ｅは、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ２）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ２０９）。
【０１３４】
そして、カウンタ値ｉ＝５であることから（ステップＳ３０２；ＮＯ）、制御部１７は、カウンタ１７ｆをインクリメントし、カウンタ値ｉ＝６とし（ステップＳ３０３）、今度は、ページ６に対して、ステップＳ２０２以降の処理を実行する。
【０１３５】
ページ６で使用される指定データは指定データ１のみであり（ステップＳ２０２；ＹＥＳ）、指定データ１は、直前のページ５の格納データ（指定データ１、指定データ２）に含まれていることから（ステップＳ２０４；ＹＥＳ）、特定部１７ｅは、ページ５の格納データ（指定データ１、指定データ２）を、ページ６の格納データとして特定し、図１０に示すように、キャッシュ管理テーブルＴ２の特定した格納データ（指定データ１、指定データ２）に対応するキャッシュ格納フラグをセット（フラグ値を“１”に変更）する（ステップＳ４０１）。
【０１３６】
ページ７以降に対しても、同様の処理（ステップＳ２０２以降の処理）が実行され、処理対象のＰＳデータの最終ページであるページＮに対する処理（ステップＳ２０２以降の処理）が実行されると（ステップＳ３０２；ＹＥＳ）、処理は終了する。
【０１３７】
上記実施形態によれば、印刷装置１０は、受信したＰＳデータを解析し、指定データを検出した。そして、印刷装置１０は、ページｊごとに、該ページｊで使用される指定データを特定した。そして、印刷装置１０は、ページｊごとに、該ページｊで使用される指定データの中から、ラスタデータをキャッシュ１３に格納する指定データ（格納データ）を特定した。そして、印刷装置１０は、ページｊのデータをＲＩＰ処理する際に、該ページｊの格納データに対応するラスタデータでキャッシュ１３を更新した。
【０１３８】
このように構成することで処理対象のページｊのデータをＲＩＰ処理する際にキャッシュ１３に格納されているラスタデータは、処理対象のページｊで使用される指定データのラスタデータとなり、最適なタイミングでキャッシュ１３を活用することが可能となる。これにより、ＲＩＰ処理時間を大幅に短縮することが可能となる。
【０１３９】
また、上記実施形態によれば、印刷装置１０は、ページｊ（ｊ＝カウンタ値ｉ）の格納データに対応するラスタデータが、キャッシュ１３に格納されていない場合のみ、キャッシュ１３を更新するように構成した。このように構成することで、不要な更新動作を省くことが可能となり、更に、処理時間を短縮することが可能となる。
【０１４０】
また、上記実施形態によれば、印刷装置１０は、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されるラスタデータのデータサイズの総和が、キャッシュ１３の容量を超える場合には、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの中から、キャッシュ１３の容量以下となり且つラスタデータのデータサイズの総和が最大となるように指定データの組合せを特定した。このように構成することで、各ページをＲＩＰ処理する際にキャッシュ１３に格納することで、最もＲＩＰ処理時間の短縮効果が高い組合せを特定することが可能となる。これにより、ＲＩＰ処理時間の短縮効果を更に高めることが可能となる。
【０１４１】
また、上記実施形態によれば、印刷装置１０は、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されるラスタデータのデータサイズの総和が、キャッシュ１３の容量以下であって、且つ、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの全てが、直前のページ（ｊ−１）の格納データに含まれている場合には、直前のページ（ｊ−１）の格納データをページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定した。このように構成することで、不要な更新動作を省くことが可能となり、更に、処理時間を短縮することが可能となる。
【０１４２】
また、上記実施形態によれば、印刷装置１０は、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データから生成されるラスタデータのデータサイズの総和が、キャッシュ１３の容量以下であって、且つ、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの少なくとも一部が、直前のページ（ｊ−１）の格納データに含まれていない場合には、直前のページ（ｊ−１）の格納データとページｊ（ｊ＝カウンタ値ｉ）で使用される指定データとの中から、ページｊ（ｊ＝カウンタ値ｉ）で使用される指定データの全てを少なくとも含み、且つ、ラスタデータのデータサイズの総和がキャッシュ１３の容量を超えないような指定データの組合せを特定した。そして、印刷装置１０は、特定した組合せに含まれる指定データを、ページｊ（ｊ＝カウンタ値ｉ）の格納データとして特定した。このように構成することで、キャッシュ１３における不要な削除動作を省くことが可能となり、更に、処理時間を短縮することが可能となる。
【０１４３】
ここで、図１５は、図３に示すＰＳデータにおいて、各指定データがどのページｊで使用されるのかを模式的に示す図であって、従来のルールに従ってデータをキャッシュ１３に格納した場合を示す図である。従来のルールでは、ＰＳデータに埋め込まれている順番が遅い指定データから優先的にキャッシュ１３に格納されることから、格納データは、全ページｊにおいて、図１５に示すように、データ２（指定データ２）とデータ３（指定データ３）となる。上記実施形態におけるＲＩＰ処理時間の短縮効果を従来のルールに従った場合と比較するために、ＲＩＰ処理時間の短縮効果を評価するための評価値を、Σ（指定データから生成されたラスタデータのデータサイズ）ｘ（該指定データのラスタデータがキャッシュ１３に格納されている際に実際使用されるページ数）と定義する。
【０１４４】
全ページｊにおいて格納データを指定データ２と指定データ３とした場合（従来のルールに従った場合）、指定データ２のラスタデータ（データサイズは１Ｍバイト）がキャッシュ１３に格納されている際に、ページ１乃至７において実際使用されるページ数は５ページである。また、指定データ３のラスタデータ（データサイズは２Ｍバイト）がキャッシュ１３に格納されている際に、ページ１乃至７において実際使用されるページ数は３ページである。したがって、ページ１乃至７におけるＲＩＰ処理時間の短縮効果の評価値は、１ｘ５＋２ｘ３＝１１となる。
【０１４５】
一方、上記実施形態に従った場合、図８に示すように、指定データ１のラスタデータ（データサイズは３Ｍバイト）がキャッシュ１３に格納されている際に、ページ１乃至７において実際使用されるページ数は７ページである。また、指定データ２のラスタデータがキャッシュ１３に格納されている際に、ページ１乃至７において実際使用されるページ数は４ページである。また、指定データ３のラスタデータがキャッシュ１３に格納されている際に、ページ１乃至７において実際使用されるページ数は３ページである。したがって、ページ１乃至７におけるＲＩＰ処理時間の短縮効果の評価値は、３ｘ７＋１ｘ４＋２ｘ３＝３１となる。
【０１４６】
上記実施形態に従った場合の評価値“３１”は、従来のルールに従った場合の評価値“１１”の約３倍であり、このことからも、上記実施形態によれば、ＲＩＰ処理時間を大幅に短縮することが可能となることがわかる。
【０１４７】
なお、上記実施形態において、ＰＳデータを例に説明したが、これに限定されるものではなく、ＰＳと同様のキャッシュ機能を有する他の種別のＰＤＬであってもよい。
【０１４８】
また、上記実施形態において、更新部１７ｇがキャッシュ１３を更新する際に、処理対象のページｊの格納データに対応するラスタデータを記憶部１２から読み出して、キャッシュ１３を更新すると説明したが、これに限定されるものではなく、処理対象のページｊの格納データに対応するラスタデータの内で、キャッシュ１３に格納されていないラスタデータのみを記憶部１２から読み出し、削除すべきラスタデータを削除した上で、読み出したラスタデータをキャッシュ１３に追加するように構成してもよい。このように構成することで、記憶部１２からの不要な読み出し動作を省くことができ、処理時間をさらに短縮することが可能となる。
【０１４９】
また、上記実施形態において、ＲＩＰ処理部１７ｈが、各ページｊのデータをＲＩＰ処理する際に、該ページｊで使用される画像データから、該ページｊの格納データを除いた画像データをＲＩＰ処理し、ラスタデータを生成すると説明した。しかしながら、これに限定されるものではなく、例えば、該ページｊの格納データではないが、該ページｊで使用される指定データが存在する場合には、該指定データを、再度、ＲＩＰ処理するのではなく、記憶部１２に格納されている該指定データのラスタデータを読み出して使用するように構成してもよい。
【０１５０】
また、上記実施形態において、指定データはＰＳデータのジョブヘッダに埋め込まれているものとして説明したが、これに限定されるものではなく、指定データがジョブヘッダ以外の部分に埋め込まれている場合であっても、本発明を適用することは可能である。
【０１５１】
また、上記実施形態において、ＲＩＰ処理部１７ｈは、制御部１７が記憶部１２に格納されている動作プログラムを実行することで実現される機能部であると説明したが、これに限定されるものではなく、ＲＩＰ処理部１７ｈをハードウェアとして実装してもよい。
【０１５２】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magnet Optical disk）などのコンピュータで読み取り可能な記録媒体に記憶して配布し、これを印刷装置１０のコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１５３】
以上本発明の実施形態について説明したが、本発明は、以上に述べた実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成又は実施形態を取ることができる。
【符号の説明】
【０１５４】
１００        印刷システム
１０        印刷装置
１１      通信部
１２      記憶部
１３      キャッシュ
１４      表示部
１５      操作部
１６      プリンタ部
１７      制御部
１７ａ  解析部
１７ｂ  ページ特定部
１７ｃ  判定部
１７ｄ  データサイズ特定部
１７ｅ  特定部
１７ｆ  カウンタ
１７ｇ  更新部
１７ｈ  ＲＩＰ処理部
２０        情報端末装置
ＮＷ        ネットワーク
Ｔ１        使用ページ管理テーブル
Ｔ２        キャッシュ管理テーブル
【図１】
2015009500.tif 000003
【図２】
2015009500.tif 000004
【図３】
2015009500.tif 000005
【図４】
2015009500.tif 000006
【図５】
2015009500.tif 000007
【図６】
2015009500.tif 000008
【図７】
2015009500.tif 000009
【図８】
2015009500.tif 000010
【図９】
2015009500.tif 000011
【図１０】
2015009500.tif 000012
【図１１】
2015009500.tif 000013
【図１２】
2015009500.tif 000014
【図１３】
2015009500.tif 000015
【図１４】
2015009500.tif 000016
【図１５】
2015009500.tif 000017