(57)【要約】【課題】ドキュメント内で繰り返し利用されるオブジェクトを効率的にキャッシュし、印刷時間の短縮を図ることを目的とする。【解決手段】ドキュメント内で繰り返し利用されるオブジェクト（ページ内リユーザブルオブジェクト、ジョブ内リユーザブルオブジェクト、グローバルリユーザブルオブジェクト）の種別に応じて、オブジェクトをキャッシュする方法（中間データ、イメージデータ、中間データ及びイメージデータの組み合わせ）を予め決定しておくことによって課題を解決する。【選択図】図３
2011121241.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つ以上の再利用データと可変データとを含む印刷ジョブに基づいて、前記再利用データごとに中間データを生成する生成手段と、
前記生成手段で生成された中間データをイメージデータに変換する変換手段と、
前記印刷ジョブに含まれる再利用データの種類に応じて、前記再利用データごとに、前記再利用データについて前記生成手段で生成された中間データ及び前記変換手段で変換されたイメージデータから記憶装置に記憶するデータを設定する設定手段と、
前記印刷ジョブに基づく印刷ページデータが生成される際に、前記再利用データごとに、前記設定手段で設定されたデータを前記記憶装置に記憶する記憶手段と、
前記印刷ページデータに基づく印刷に応じて、前記印刷ジョブに含まれる再利用データの種類に基づいて前記記憶手段で記憶されたデータを前記記憶装置から削除する削除手段と、
を有する印刷装置。
【請求項２】
前記設定手段は、
前記印刷ジョブに含まれる再利用データが前記印刷ジョブの印刷ページデータ内で再利用可能な再利用データである場合、前記再利用データについて前記変換手段で変換されたイメージデータを記憶するよう設定し、
前記印刷ジョブに含まれる再利用データが前記印刷ジョブ内で再利用可能な再利用データである場合、前記再利用データについて、前記生成手段で生成された中間データ又は前記変換手段で変換されたイメージデータを記憶するよう設定し、
前記印刷ジョブに含まれる再利用データが前記印刷ジョブ以外の印刷ジョブでも再利用可能な再利用データでる場合、前記再利用データについて、前記生成手段で生成された中間データと前記変換手段で変換されたイメージデータとを記憶するよう設定する、
請求項１記載の印刷装置。
【請求項３】
前記記憶手段は、
前記設定手段により前記変換手段で変換されたイメージデータを記憶するよう設定されていた場合は、前記イメージデータを記憶し、
前記設定手段により前記生成手段で生成された中間データを記憶するよう設定されていた場合は、前記中間データを記憶し、
前記設定手段により前記生成手段で生成された中間データと前記変換手段で変換されたイメージデータとを記憶するよう設定されていた場合は、前記中間データと前記イメージデータとを記憶する、
請求項２記載の印刷装置。
【請求項４】
前記削除手段は、
前記印刷ジョブの一の印刷ページデータの印刷が行われると、前記一の印刷ページデータに用いられている再利用データが前記印刷ジョブでの印刷ページデータ内で再利用可能な再利用データである場合、前記再利用データについて前記記憶手段で記憶されたイメージデータを前記記憶装置から削除し、
前記印刷ジョブの印刷が終了すると、前記印刷ジョブに用いられている再利用データが前記印刷ジョブ内で再利用可能な再利用データである場合、前記再利用データについて前記記憶手段で記憶された中間データ又はイメージデータを前記記憶装置から削除する、
請求項３記載の印刷装置。
【請求項５】
前記印刷ジョブに含まれる再利用データを前記再利用データごとに計数し、計数した数と前記変換手段が変換に要する前記再利用データごとの時間とに基づいて、前記再利用データごとに、前記再利用データについて前記変換手段で変換されたイメージデータが記憶されるよう設定され得る順番を付ける順番付手段を更に有し、
前記設定手段は、前記印刷ジョブに含まれる再利用データが前記印刷ジョブ内で再利用可能な再利用データである場合、前記順番付手段で付された順番と前記記憶装置の記憶領域の残量とに基づいて、前記再利用データについて、前記生成手段で生成された中間データ又は前記変換手段で変換されたイメージデータを記憶するよう設定する、
請求項２乃至４の何れか１項記載の印刷装置。
【請求項６】
少なくとも１つ以上の再利用データと可変データとを含む印刷ジョブに基づいて、前記再利用データごとに中間データを生成する生成工程と、
前記生成工程で生成された中間データをイメージデータに変換する変換工程と、
前記印刷ジョブに含まれる再利用データの種類に応じて、前記再利用データごとに、前記再利用データについて前記生成工程で生成された中間データ及び前記変換工程で変換されたイメージデータから記憶装置に記憶するデータを設定する設定工程と、
前記印刷ジョブに基づく印刷ページデータが生成される際に、前記再利用データごとに、前記設定工程で設定されたデータを前記記憶装置に記憶する記憶工程と、
前記印刷ページデータに基づく印刷に応じて、前記印刷ジョブに含まれる再利用データの種類に基づいて前記記憶工程で記憶されたデータを前記記憶装置から削除する削除工程と、
を有する印刷方法。
【請求項７】
コンピュータを、
少なくとも１つ以上の再利用データと可変データとを含む印刷ジョブに基づいて、前記再利用データごとに中間データを生成する生成手段と、
前記生成手段で生成された中間データをイメージデータに変換する変換手段と、
前記印刷ジョブに含まれる再利用データの種類に応じて、前記再利用データごとに、前記再利用データについて前記生成手段で生成された中間データ及び前記変換手段で変換されたイメージデータから記憶装置に記憶するデータを設定する設定手段と、
前記印刷ジョブに基づく印刷ページデータが生成される際に、前記再利用データごとに、前記設定手段で設定されたデータを前記記憶装置に記憶する記憶手段と、
前記印刷ページデータに基づく印刷に応じて、前記印刷ジョブに含まれる再利用データの種類に基づいて前記記憶手段で記憶されたデータを前記記憶装置から削除する削除手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、固定データのイメージデータと可変データのイメージデータとを組み合わせて印刷を実行するバリアブル印刷が利用されている。
近年、バリアブル印刷を効率的に行なうためのデータフォーマットとしてＰＤＦ／ＶＴ(Portable Document Format /Variable and Transactional)が提案されている。
ＰＤＦ／ＶＴフォーマットでは、固定データを再利用するために新たな仕組みが設けられている。例えば、固定データを再利用するためには、１度展開された固定データをキャッシュして使いまわす技術がある。
また、展開中のオブジェクトと既に作成されている中間データとに同一種の内容が含まれているときには、オブジェクトをイメージデータに展開してメモリに格納する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９２３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、キャッシュする記憶領域が有限であるので、全ての再利用可能な再利用データに係るイメージデータを記憶することは困難である。
【０００５】
本発明はこのような問題点に鑑みなされたもので、再利用データに係るデータをより適切に管理することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、少なくとも１つ以上の再利用データと可変データとを含む印刷ジョブに基づいて、前記再利用データごとに中間データを生成する生成手段と、前記生成手段で生成された中間データをイメージデータに変換する変換手段と、前記印刷ジョブに含まれる再利用データの種類に応じて、前記再利用データごとに、前記再利用データについて前記生成手段で生成された中間データ及び前記変換手段で変換されたイメージデータから記憶装置に記憶するデータを設定する設定手段と、前記印刷ジョブに基づく印刷ページデータが生成される際に、前記再利用データごとに、前記設定手段で設定されたデータを前記記憶装置に記憶する記憶手段と、前記印刷ページデータに基づく印刷に応じて、前記印刷ジョブに含まれる再利用データの種類に基づいて前記記憶手段で記憶されたデータを前記記憶装置から削除する削除手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、再利用データに係るデータをより適切に管理することができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムのネットワークの構成を示す図である。
【図２】ＭＦＰの外観を示す図である。
【図３】ＰＣの構成及びＭＦＰの構成を示すブロック図である。
【図４】バリアブル印刷に係るデータを示す図である。
【図５】バリアブル印刷に係るデータを示す図である。
【図６】ＭＦＰでの主な処理に係るフローチャートを示す図である。
【図７】キャッシュ方法設定処理に係るフローチャートを示す図である。
【図８】優先的に記憶する度合を表す指標を示す図である。
【図９】ページデータ生成処理に係るフローチャートを示す図である。
【図１０】印刷処理に係るフローチャートを示す図である。
【図１１】キャッシュ削除処理に係るフローチャートを示す図である。
【図１２】通常処理に係るフローチャートを示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
まず、図１を参照して、本実施形態に係る印刷システムのネットワークの構成について説明する。
印刷システムは、ＰＣ（Personal Computer）１０１及びＭＦＰ（Multi Function Peripheral）１０２を含んで構成される。ＰＣ１０１は、ホストコンピュータ等の機器であり、任意のアプリケーション等を使用して文書データを作成し、プリンタドライバ等で文書データから印刷データ（印刷ジョブ）を作成する。ＰＣ１０１及びＭＦＰ１０２は、ネットワークを介して互いに通信可能に接続されている。
【００１１】
次に、図２を参照して、ＭＦＰ１０２の概略について説明する。
ＭＦＰ１０２は、印刷装置の一例であり、本体２０１、給紙デッキ２０２，２０３、給紙カセット２０４，２０５、及び排紙トレイ２０６，２０７を有する。給紙デッキ２０２，２０３の各々は、本体２０１に設置され、本体２０１での印刷に用いられる用紙をセットできるように構成されている。給紙カセット２０４，２０５の各々は、本体２０１に設置され、本体２０１での印刷に用いられる用紙をセットできるように構成されている。排紙トレイ２０６，２０７の各々は、本体２０１に設置され、本体２０１で印刷された用紙を排紙できるように構成されている。
【００１２】
次に、図３を参照して、ＰＣ１０１の構成及びＭＦＰ１０２の構成について説明する。
ＰＣ１０１は、記憶装置３０４及びＩ／Ｆ（通信インターフェイス）３０５を有する。
記憶装置３０４は、ドキュメントデータ３０２、プリンタドライバ３０３を動作させるためのプログラム、及びドキュメントデータ３０２を作成するための不示図のアプリケーション（文書作成アプリケーション）を動作させるためのプログラム等を記憶する。通信インターフェイス３０５は、プリンタドライバ３０３が作成した印刷データをＭＦＰ１０２等に送信し、ＭＦＰ１０２等とのデータのやり取りを仲介する。
ここで、ドキュメントデータ３０２は、ＰＣ１０１で動作する文書作成アプリケーション等で作成されたデータである。例えば、ドキュメントデータ３０２は、ＰＤＦ／ＶＴ（Portable Document Format /Variable and Transactional）形式のデータである。
【００１３】
本実施形態では、不示図のＣＰＵ（Central Processing Unit）が、記憶装置３０４に格納されたプログラムの手順に従って処理を行うことによって、ＰＣ１０１における機能及び各種の処理が実現される。例えば、文書作成アプリケーションは、ＣＰＵが、文書作成アプリケーションを動作させるためのプログラムを記憶装置３０４から読み出し、読み出したプログラムの手順に従って処理を行うことで実現される。また、例えば、プリンタドライバ３０３は、ＣＰＵが、プリンタドライバ３０３を動作させるためのプログラムを記憶装置３０４から読み出し、読み出したプログラムの手順に従って処理を行うことで実現される。
プリンタドライバ３０３は、例えば、ドキュメントデータ３０２からＰＤＬ（Page Description Language）データを作成する。或いは、プリンタドライバ３０３は、ドキュメントデータ３０２にＭＦＰ１０２に係るフィニッシング制御の設定等をする。本実施形態では、プリンタドライバ３０３により作成されたデータを印刷データと称する。
【００１４】
ＭＦＰ１０２は、Ｉ／Ｆ（通信インターフェイス）３０７、スキャナ３１４、及び記憶装置３１５を有する。
通信インターフェイス３０７は、ＰＣ１０１等との各種のデータのやり取りを仲介する。スキャナ３１４は、原稿を読み取り、読み取った原稿に係るデータを記憶装置３１５に記憶する。記憶装置３１５は、後述する中間データ３１０、イメージデータ３１２等を記憶（キャッシュ）する。
本実施形態では、不示図のＣＰＵが、記憶装置３１５に格納されたプログラムを読み出し、読み出したプログラムの手順に従って処理を行うことによって、ＭＦＰ１０２における機能及び後述するフローチャートに係る処理が実現される。ＭＦＰ１０２で実現される機能としては、データ受信部３０８、インタプリタ部３０９、レンダラー部３１１、プリンタエンジン部３１３、制御部３１６、及びＵＩ部３１７等がある。
データ受信部３０８は、ＰＣ１０１から送られてくる印刷データ等を受け取る。インタプリタ部３０９は、データ受信部３０８で受信された印刷データを解析する。なお、インタプリタ部３０９は、ＰＳ・ＰＣＬ・ＬＩＰＳ等のＰＤＬを解析できると共に、ＰＤＦ，ＰＤＦ／ＶＴ等のフォーマットを解析できるものである。
インタプリタ部３０９は、印刷データを解析して中間データ３１０を生成する。中間データ３１０は、「ビットマップ、ランレングス、台形、ボックス、及び高速境界符合化されたビットマップ」等の描画オブジェクト、背景パターン、並びに描画オブジェクト及び背景パターンをラスタメモリに描画する描画論理データを含んで構成される。
レンダラー部３１１は、中間データ３１０を解析し、イメージデータ３１２に変換する。プリンタエンジン部３１３は、イメージデータ３１２を不示図のビデオ信号に変換して印刷する。制御部３１６は、ＭＦＰ１０２での主な制御を司る。ＵＩ部３１７は、ＭＦＰ１０２を操作するためのユーザインターフェース（例えば、画面）である。
【００１５】
次に、図４及び図５を参照して、バリアブル印刷に係るデータ（印刷データ、ページデータ等）について説明する。本実施形態では、ＭＦＰ１０２は、印刷データに基づいて一又は複数のページデータを生成して印刷（バリアブル印刷）を実行する。より詳細に説明すると、ＭＦＰ１０２は、複数の固定データと可変データとを含んで構成された印刷データを受信すると、受信した印刷データから可変データと固定データとを取り出す。そして、ＭＦＰ１０２は、取り出した可変データ及び固定データの中間データ３１０を必要に応じて生成し、生成した中間データ３１０をイメージデータ３１２に必要に応じて変換する。続いて、ＭＦＰ１０２は、中間データ３１０及びイメージデータ３１２を必要に応じて記憶し、記憶したイメージデータ３１２、変換したイメージデータ３１２等を組み合わせてページデータを生成し、印刷を実行する。
図４には、印刷データから取り出された複数の可変データからなる可変データ群９０１と、複数の固定データからなる固定データ群９０２との例が示されている。本実施形態では、可変データ群９０１は、複数個（Ｚ個：Ｚは正の整数）の可変データで構成され、可変データの各々は、氏名の情報、住所の情報、及び電話番号の情報を備えている。なお、可変データの各々は、オブジェクトとして扱われる。
また、固定データ群９０２は、複数個の固定データ（この例では、固定データ９０３〜固定データ９１２）で構成されている。固定データ９０３〜９０５は、主に図形オブジェクトで構成され、固定データ９０６，９０７は、主にイメージオブジェクトで構成され、固定データ９０８〜９１２は、主にテキストオブジェクトで構成されている。
ここで、オブジェクトには、繰り返し使われるリユーザブルオブジェクトと１回しか使われない非リユーザブルオブジェクトとが存在する。さらに、リユーザブルオブジェクトには、３種類のリユーザブルオブジェクトが存在する。１つ目は、当該ページ内で有効なページ内リユーザブルオブジェクトである。２つ目は、当該ジョブ内で有効なジョブ内リユーザブルオブジェクトである。３つ目は、ジョブ外でも有効なグローバルリユーザブルオブジェクトである。
【００１６】
そして、ＭＦＰ１０２は、図５に示すように、可変データ群９０１に係るイメージデータ３１２と、固定データ群９０２に係るイメージデータ３１２とを組み合わせたページデータを生成する。なお、ページデータは、印刷ページデータの一例であり、可変データ群９０１に用意されているデータの個数と同じページ数（この例では、Ｚ個）があるものとする。
ページデータ１００１は、固定データ９０３,９０５,９０８,９０９,９１０に係るイメージデータ３１２と可変データに係るイメージデータ３１２が組み合わされて生成されたページデータの例である。ページデータ１００２は、固定データ９０３,９０４,９０７,９０８,９１１,９１２に係るイメージデータ３１２と可変データに係るイメージデータ３１２とが組み合わされて生成されたページデータの例である。ページデータ１００３は、固定データ９０４,９０６,９０７,９０８,９１０,９１２に係るイメージデータ３１２と可変データに係るイメージデータ３１２とが組み合わされて生成されたページデータの例である。
【００１７】
図６に示すフローチャートを参照して、ＭＦＰ１０２におけるバリアブル印刷に係る処理の全体の流れについて説明する。
まず、制御部３１６は、通信インターフェイス３０７からの指示等に基づいて、処理を開始する（ステップＳ４０１）。続いて、ステップＳ４０２では、データ受信部３０８は、ＰＣ１０１のプリンタドライバ３０３で作成された印刷データを受信する。続いて、ステップＳ４０３では、制御部３１６は、ステップＳ４０２にて受信された印刷データの種類を調査する。
続いて、ステップＳ４０４では、制御部３１６は、印刷データがＰＤＦ／ＶＴフォーマットであるか否かを判別する。より詳細に説明すると、制御部３１６は、印刷データの種類がＰＤＦであると判断した場合には、ＰＤＦデータ内の解析を行う。なお、ＰＤＦと判断する方法は、拡張子（pdf）を参照してもよいし、ＰＤＦデータの中身を解析した結果であってもよい。そして、制御部３１６は、ＰＤＦ／ＶＴフォーマットであることを示すメタデータキーが、ＰＤＦデータ内に存在するかどうか調べる。解析中の印刷データがＰＤＦ／ＶＴフォーマットであると判断された場合には、続いて、ステップＳ４０５の処理が行われる。他方、解析中の印刷データがＰＤＦ／ＶＴフォーマットでないと判断された場合には、続いて、ステップＳ４０８の処理が行われる。
【００１８】
ステップＳ４０５では、制御部３１６は、高速処理をするために、印刷データ内に存在するリユーザブルオブジェクトデータに関するキャッシュ方法を設定する。なお、キャッシュ方法設定処理の詳細については、図７に示すフローチャートを参照して説明する。
ステップＳ４０６では、制御部３１６は、プリンタエンジン部３１３で印刷するためのページデータの生成を行う。なお、ページデータは、イメージデータ３１２の集合であるものとし、ページデータ生成処理の詳細については、後述する図９に示すフローチャートを参照して説明する。
ステップＳ４０７では、制御部３１６は、ステップＳ４０６にて作成されたページデータについてプリンタエンジン部３１３を用いて印刷を実行する。なお、印刷処理の詳細については、後述する図１０に示すフローチャートを参照して説明する。また、印刷処理では、記憶装置３１５に記憶しているリユーザブルオブジェクトに係るデータを必要に応じて削除するキャッシュ削除処理が行われる。キャッシュ削除処理の詳細については、後述する図１１に示すフローチャートを参照して説明する。
ステップＳ４０８では、制御部３１６は、通常の印刷処理を行う。なお、通常処理の詳細については、後述する図１２に示すフローチャートを参照して説明する。
ステップＳ４０９では、制御部３１６は、バリアブル印刷に係る処理を終了する。
【００１９】
次に、図７を参照して、キャッシュ方法設定処理について説明する。
まず、インタプリタ部３０９は、ステップＳ４０２で受信された印刷データの解析を行う（ステップＳ５０２）。なお、この場合のインタプリタ部３０９は、ＰＤＦ／ＶＴインタプリタである。
ステップＳ５０３では、制御部３１６は、ステップＳ５０２で解析された印刷データ内にオブジェクトデータが存在しているか否かを判別する。オブジェクトデータが存在している場合には、制御部３１６は、続いて、ステップＳ５０４の処理を行う。他方、オブジェクトデータが存在していない場合には、制御部３１６は、続いて、ステップＳ５０９の処理を行う。
【００２０】
ステップＳ５０４では、制御部３１６は、ステップＳ５０２のオブジェクトデータがリユーザブルオブジェクトデータであるか否かを判別する。リユーザブルオブジェクトデータである場合には、制御部３１６は、続いて、ステップＳ５０５の処理を行う。他方、リユーザブルオブジェクトデータでない場合には、続いて、ステップＳ５０２の処理が行われる。
ステップＳ５０５では、制御部３１６は、リユーザブルオブジェクトの中間データ３１０が既に作成されているか否かを判別する。中間データ３１０が既に作成されていると判断した場合には、制御部３１６は、続いて、ステップＳ５０８の処理を行う。他方、中間データ３１０が未作成であると判断した場合には、続いて、ステップＳ５０６の処理が行われる。
【００２１】
ステップＳ５０６では、インタプリタ部３０９は、印刷データの中に含まれるリユーザブルオブジェクトデータから中間データ３１０を生成する。
ステップＳ５０７では、制御部３１６は、生成された中間データ３１０のＲＩＰ時間予測を実施する。
ＲＩＰとは、レンダラー部３１１が、中間データ３１０をイメージデータ３１２に変換することである。
また、ＲＩＰ時間予測とは、制御部３１６が、中間データ３１０がイメージデータ３１２にレンダラー部３１１により変換される時間を見積もることである。見積もる方法としては、主に、二通り存在する。一つ目は、制御部３１６が中間データ３１０の構成を解析し、構成に応じて予め設定されている時間を用いて見積もる方法である。二つ目は、レンダラー部３１１が中間データ３１０をイメージデータ３１２に変換する処理に費やされた時間のみを計測する方法である。ここで、例えば、制御部３１６が、記憶装置３１５（イメージデータ格納部）へのイメージデータ３１２の格納に要する時間は除かれる。本実施形態では、制御部３１６が計測する方法として二つ目の方法を採用する。続いて、ステップＳ５０２の処理が行われる。
【００２２】
ステップＳ５０８では、中間データ３１０が既に作成されていると判断した場合には、制御部３１６は、リユーザブルオブジェクトの参照回数を示すカウンタＮ（整数値）をインクリメントする。すなわち、制御部３１６は、リユーザブルオブジェクトの参照回数を計数する。なお、カウンタＮは、記憶装置３１５に格納されているものとする。続いて、ステップＳ５０２の処理が行われる。
ステップＳ５０９では、制御部３１６は、ステップＳ５０７で見積もったＲＩＰ時間とステップＳ５０８でカウントしたカウンタＮとから総ＲＩＰ時間（ｔ）をリユーザブルオブジェクトごとに求める。リユーザブルオブジェクトごとの総ＲＩＰ時間（ｔ）は、リユーザブルオブジェクトごとのＲＩＰ時間とリユーザブルオブジェクトごとのカウンタＮとを乗算することにより算出される。このとき、制御部３１６は、図８に示すように、リユーザブルオブジェクトを、総ＲＩＰ時間に応じて優先順位（順番）を付ける。より具体的には、順番付手段の一例である制御部３１６は、総ＲＩＰ時間が長いほど優先順位を高く設定し、リユーザブルオブジェクトと優先順位とを関連付けて記憶装置３１５に格納する。優先順位は、印刷データに、ジョブ内リユーザブルオブジェクトが複数存在する場合に、何れのジョブ内リユーザブルオブジェクトに関わるイメージデータを優先的に記憶装置３１５に記憶するよう設定するかを決めるための指標である。なお、図８では、例えば、総ＲＩＰ時間ｔ１は、総ＲＩＰ時間ｔ２よりも短い時間であることを示し、オブジェクト１〜オブジェクト６の中では、オブジェクト６が最も優先順位が高いことを示している。
【００２３】
続いて、制御部３１６は、全てのリユーザブルオブジェクトについてキャッシュ方法の判別が完了したか否かを判断する（ステップＳ５１０）。全てのリユーザブルオブジェクトについてキャッシュ方法の判別が完了した場合、キャッシュ方法設定処理は終了する（ステップＳ５１６）。他方、何れかのリユーザブルオブジェクトについてキャッシュ方法の判別が未完了である場合、制御部３１６は、続いて、ステップＳ５１１の処理を行う。
ステップＳ５１１では、制御部３１６は、リユーザブルオブジェクトのオブジェクト種別による振り分けを行う。なお、オブジェクト種別としては、例えば、ページ内（印刷ページデータ内）で再利用可能なページ内リユーザブルオブジェクトが存在する。また、例えば、ジョブ内（当該印刷ジョブ内）で有効なジョブ内リユーザブルオブジェクトが存在する。また、例えば、ジョブ外（当該印刷ジョブ以外）でも有効なグローバルリユーザブルオブジェクトが存在する。
ここで、図４に示す再利用データの一例である固定データ９０５は、例えば、ページ内リユーザブルオブジェクトであると印刷データに定義されている。再利用データの一例である固定データ９０３，９０４，９０６，９０８，９０９，９１０，９１１は、ジョブ内リユーザブルオブジェクトであると印刷データに定義されている。再利用データの一例である固定データ９０７は、グローバルリユーザブルオブジェクトと印刷データに定義されている。
また、制御部３１６は、処理中のオブジェクトがグローバルリユーザブルオブジェクトであると判断した場合には、続いて、ステップＳ５１２の処理を行う。また、制御部３１６は、処理中のオブジェクトがジョブ内リユーザブルオブジェクトであると判断した場合には、続いて、ステップＳ５１３の処理を行う。また、制御部３１６は、処理中のオブジェクトがページ内リユーザブルオブジェクトであると判断した場合には、続いて、ステップＳ５１５の処理を行う。
【００２４】
ステップＳ５１２では、制御部３１６は、グローバルリユーザブルオブジェクトを中間データ３１０及びイメージデータ３１２として記憶するためのフラグ（キャッシュフラグ）をたてる。ここで、グローバルリユーザブルオブジェクトは、ジョブ外でも有効なオブジェクトであるので、イメージデータ３１２のみを記憶装置３１５にキャッシュしておくと、プリンタエンジン部３１３の状態が変わった場合に、再現（再生）できなくなってしまう。この場合は、制御部３１６は、中間データ３１０を消去せずに、中間データ３１０及びイメージデータ３１２の両方を記憶装置３１５に格納することで対応する。よって、制御部３１６は、記憶装置３１５に中間データ３１０とイメージデータ３１２とを記憶するためのキャッシュフラグをたて、キャッシュフラグを記憶装置３１５に格納する。なお、プリンタエンジン部３１３の状態は、他のプリンタエンジンが用いられた、或いは、他の印刷ジョブでの印刷に関する各種の設定（用紙サイズ、印刷範囲等）が変更された等の場合に変わる。
【００２５】
ステップＳ５１３では、制御部３１６は、記憶装置３１５に空きメモリ（残量）があるか否かを判別する。ここで、ジョブ内リユーザブルオブジェクトは、ジョブ内だけで有効であるので、ジョブが終了すると消去される。また、ジョブ内リユーザブルオブジェクトは、ジョブ内で有効であるので、多くのジョブ内リユーザブルオブジェクトが存在することも予想される。よって、全てのジョブ内リユーザブルオブジェクトをイメージデータ３１２として記憶装置３１５にキャッシュすることができない可能性がある。そこで、制御部３１６は、ステップＳ５０９で求められたリユーザブルオブジェクトの総ＲＩＰ時間（ｔ）の大きい順に（優先順位が高い順に）記憶装置３１５にイメージデータ３１２を格納していくように動作する。すなわち、制御部３１６は、イメージデータ３１２として記憶装置３１５に格納できると判断した場合には、続いて、ステップＳ５１５の処理を行う。他方、イメージデータ３１２として記憶装置３１５に格納できないと判断した場合には、制御部３１６は、続いて、ステップＳ５１４の処理を行う。
ステップＳ５１４では、制御部３１６は、リユーザブルオブジェクトを中間データ３１０として記憶するためのキャッシュフラグをたて、記憶装置３１５にキャッシュフラグを格納する。
ステップＳ５１５では、制御部３１６は、リユーザブルオブジェクトをイメージデータ３１２として記憶するためのキャッシュフラグをたて、記憶装置３１５にキャッシュフラグを格納する。
【００２６】
ここで、ＭＦＰ１０２内で印刷データ内のジョブ内リユーザブルオブジェクト及びページ内リユーザブルオブジェクトの全てを中間データ３１０（ディスプレイリスト、中間言語等）として、キャッシュする方法も考えられる。この方法であれば、記憶領域を逼迫する程度は小さくなるが、中間データ３１０をイメージデータ３１２に変換（ＲＩＰ）する際に、リユーザブルオブジェクトの構造（図形の論理描画等）が複雑なオブジェクトでは、多くの時間を費やすこともある。
そこで、本実施形態では、印刷データ内のリユーザブルオブジェクトの参照回数と、リユーザブルオブジェクトのＲＩＰ時間を考慮して、リユーザブルオブジェクトに係るデータをキャッシュする方法を採用している。すなわち、中間データ３１０としてキャッシュするか、イメージデータ３１２としてキャッシュするかを制御することで、印刷時間の短縮を図ると共に、及びＭＦＰ１０２内メモリの定常的な枯渇の回避が可能になる。リユーザブルオブジェクトに係るデータは、中間データ３１０、イメージデータ３１２等である。
【００２７】
次に、図９に示すフローチャートを参照して、ページデータ生成処理について説明する。
まず、インタプリタ部３０９は、印刷データの解析を行う（ステップＳ６０２）。続いて、ステップＳ６０３では、制御部３１６は、ステップＳ６０２の結果から処理すべきオブジェクトが存在するか否かを判断する。処理すべきオブジェクトが存在すると判断した場合には、制御部３１６は、続いて、ステップＳ６０４の処理を行う。他方、処理すべきオブジェクトが存在しないと判断した場合には、ページデータ生成処理は終了する（ステップＳ６１２）。
【００２８】
ステップＳ６０４では、制御部３１６は、ステップＳ６０３の処理すべきオブジェクトがリユーザブルオブジェクトであるか否かを判別する。リユーザブルオブジェクトとは、図４に示す固定データ群９０２の中で繰り返し使われるオブジェクトを示すものである。リユーザブルオブジェクトである場合、続いて、ステップＳ６０５の処理が行われ、他方、リユーザブルオブジェクトでない場合、続いて、ステップＳ６１０の処理が行われる。
【００２９】
ステップＳ６０５では、レンダラー部３１１は、ステップＳ５０６で生成された中間データ３１０をイメージデータ３１２に変換する（ＲＩＰ）。
ステップＳ６０６では、制御部３１６は、ステップＳ５１１、ステップＳ５１２、及びステップＳ５１４の何れかにて設定したキャッシュフラグを記憶装置３１５から読み出す。キャッシュフラグの値が「中間データ３１０及びイメージデータ３１２」を表す値に設定されていた場合には、続いて、ステップＳ６０７の処理が行われる。また、キャッシュフラグの値が「中間データ３１０」を表す値に設定されていた場合には、続いて、ステップＳ６０８の処理が行われる。また、キャッシュフラグの値が「イメージデータ３１２」を表す値に設定されていた場合には、続いて、ステップＳ６０９の処理が行われる。
【００３０】
ステップＳ６０７では、制御部３１６は、キャッシュフラグの値に従って、中間データ３１０とイメージデータ３１２とを記憶装置３１５に格納する。
ステップＳ６０８では、制御部３１６は、キャッシュフラグの値に従って、中間データ３１０を記憶装置３１５に格納する。
ステップＳ６０９では、制御部３１６は、キャッシュフラグの値に従って、イメージデータ３１２を記憶装置３１５に格納する。
ステップＳ６１０では、インタプリタ部３０９は、非リユーザブルオブジェクトを中間データ３１０に変換する。続いて、ステップＳ６１１では、レンダラー部３１１は、中間データ３１０をイメージデータ３１２に変換する（ＲＩＰ）。
【００３１】
ここで、ステップＳ６０７、ステップＳ６０８、又はステップＳ６０９の処理が終了すると、制御部３１６は、リユーザブルオブジェクトのイメージデータ３１２を取得すべく、記憶装置３１５からリユーザブルオブジェクトの種類に応じたデータを取り出す。
このとき、リユーザブルオブジェクトがグローバルリユーザブルオブジェクトである場合は、取り出されるデータは、中間データ３１０又はイメージデータ３１２である。より詳細に説明すると、制御部３１６は、プリンタエンジン部３１３の状態が変わったことを検出した場合は、中間データ３１０を取り出し、プリンタエンジン部３１３の状態が変わったことを検出しなかった場合は、イメージデータ３１２を取り出す。また、リユーザブルオブジェクトがジョブ内リユーザブルオブジェクトである場合は、取り出されるデータは、中間データ３１０又はイメージデータ３１２である。そして、リユーザブルオブジェクトがページ内リユーザブルオブジェクトである場合は、取り出されるデータは、イメージデータ３１２である。なお、制御部３１６により中間データ３１０が取り出された場合は、レンダラー部３１１は、取り出された中間データ３１０をイメージデータ３１２に変換する。
そして、制御部３１６は、上述のようにオブジェクトごとに取り出した或いは変換されたイメージデータ３１２、及びステップＳ６１１で変換されたイメージデータ３１２を組み合わせてページデータを生成して記憶装置３１５に記憶する。
【００３２】
次に、図１０に示すフローチャートを参照して、印刷処理の詳細について説明する。
まず、制御部３１６は、イメージデータ３１２の集合であるページデータが存在するか否かを判断する（ステップＳ７０２）。ページデータは、１ページ目から順に格納されているものとする。読み出すページデータがあると判断した場合には、制御部３１６は、続いて、ステップＳ７０３の処理を行う。他方、読み出すページデータがないと判断した場合には、制御部３１６は、印刷処理を終了する（ステップＳ７０６）。
【００３３】
ステップＳ７０３では、制御部３１６は、ページデータを読み出す。続いて、ステップＳ７０４では、制御部３１６は、ステップＳ７０３で読み出したページデータを、プリンタエンジン部３１３にビデオ信号で送信し、プリンタエンジン部３１３が用紙に印字する。そして、制御部３１６は、プリンタエンジン部３１３が印字した結果を排紙先（排紙トレイ２０６，２０７）に排紙する。続いて、ステップＳ７０５では、制御部３１６は、キャッシュ削除処理を行う。キャッシュ削除処理では、不要になったオブジェクトがキャッシュに存在する場合には、不要になったオブジェクトを削除する処理が行われる。キャッシュ削除処理についての詳細については、図１１に示すフローチャートを参照して説明する。
【００３４】
次に、図１１に示すフローチャートを参照して、キャッシュ削除処理について説明する。ここで、キャッシュ削除処理は、ページの印刷が終了するごとに実行される（ステップＳ７０５）。換言するならば、キャッシュ削除処理では、不要になったリユーザブルオブジェクトに係るデータのキャッシュが、オブジェクト種別（リユーザブルオブジェクトの種類）に応じて、タイムリーに削除される。
まず、制御部３１６は、キャッシュフラグに基づいて、当該ページで使用したオブジェクトにページ内リユーザブルオブジェクトが含まれているか否かを判断する（ステップＳ８０２）。ページ内リユーザブルオブジェクトが含まれていると判断した場合には、制御部３１６は、記憶装置３１５に格納されているページ内リユーザブルオブジェクトに係るデータを削除し（ステップＳ８０３）、続いて、ステップＳ８０４の処理を行う。他方、ページ内リユーザブルオブジェクトが含まれていないと判断した場合には、制御部３１６は、続いて、ステップＳ８０４の処理を行う。
【００３５】
ステップＳ８０４では、制御部３１６は、当該ページでジョブが終了であるか否かを判断する。ジョブが終了であると判断した場合には、制御部３１６は、続いて、ステップＳ８０５の処理を行う。他方、ジョブが終了でないと判断した場合には、キャッシュ削除処理は終了する（ステップＳ８０７）。
ステップＳ８０５では、制御部３１６は、キャッシュフラグに基づいて、当該印刷ジョブで使用したオブジェクトにジョブ内リユーザブルオブジェクトが含まれているか否かを判断する。ジョブ内リユーザブルオブジェクトが含まれていると判断した場合には、制御部３１６は、記憶装置３１５に格納されているジョブ内リユーザブルオブジェクトに係るデータを削除し（ステップＳ８０６）、キャッシュ削除処理は終了する（ステップＳ８０７）。他方、ジョブ内リユーザブルオブジェクトが含まれていないと判断した場合には、キャッシュ削除処理は終了する（ステップＳ８０７）。
【００３６】
次に、図１２に示すフローチャートを参照して、通常処理について説明する。なお、通常処理では、制御部３１６がＰＤＦ／ＶＴ以外の印刷データを処理する場合を扱うものとする。
まず、インタプリタ部３０９は、ステップＳ４０２で受信された印刷データを解析して中間データ３１０を生成する（ステップＳ１１０２）。続いて、ステップＳ１１０３では、レンダラー部３１１は、中間データ３１０をイメージデータ３１２に変換する。続いて、ステップＳ１１０４では、制御部３１６は、イメージデータ３１２をビデオ信号に変換し、プリンタエンジン部３１３に転送する。そして、制御部３１６は、プリンタエンジン部３１３が印字した結果を排紙先（排紙トレイ２０６又は排紙トレイ２０７）に排紙する。以上をもって、通常処理は終了する（ステップＳ１１０５）。
【００３７】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３９】
１０１  ＰＣ、１０２  ＭＦＰ
【図１】
2011121241.tif 000003
【図２】
2011121241.tif 000004
【図３】
2011121241.tif 000005
【図４】
2011121241.tif 000006
【図５】
2011121241.tif 000007
【図６】
2011121241.tif 000008
【図７】
2011121241.tif 000009
【図８】
2011121241.tif 000010
【図９】
2011121241.tif 000011
【図１０】
2011121241.tif 000012
【図１１】
2011121241.tif 000013
【図１２】
2011121241.tif 000014