説明

画像処理装置、画像処理システムおよび画像処理プログラム

【課題】複数の変換手段の各々に対応した記憶手段と共通の記憶手段とを用いて画像処理の高速化と十分な記憶容量の確保との両立を図ること。
【解決手段】本発明は、印刷情報を画素情報に変換する処理を並列で行う複数の変換手段RIP1〜RIP4と、複数の変換手段RIP1〜RIP4の各々に対応して設けられ、変換手段RIP1〜RIP4で変換して得た特定の画素情報が記憶される第1の記憶手段M1と、複数の変換手段RIP1〜RIP4に共通で用いられ、変換手段RIP1〜RIP4で変換して得た画素情報のうち特定の画素情報が記憶される第2の記憶手段M2と、複数の変換手段RIP1〜RIP4の各々に対応して設けられ、変換手段RIP1〜RIP4で変換して得た特定の画素情報を第1の記憶手段M1に記憶する制御と、第2の記憶手段M2に記憶する制御を行う制御とを選択的に行う制御手段と有する画像処理装置1である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理システムおよび画像処理プログラムに関する。
【背景技術】
【0002】
従来、大量の印刷を高速で行う場合、連続紙のプリンタ装置が用いられている。この連続紙プリンタ装置で高速な印刷を行うには、ページ記述言語で記述されたデータからビットマップのデータに変換する描画処理の高速化が必要である。描画処理を高速に行う方法として、繰り返し使用されるテキスト、ライン、イメージなどの印刷リソースをビットマップ(又は、ラスター)や中間形式の情報として描画処理部内に記憶する、所謂、キャッシュを行い、おき、以降のページの描画処理で再利用することが広く使われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−164152号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、複数の変換手段の各々に対応した記憶手段と共通の記憶手段とを選択的に用いて画像処理の高速化と十分な記憶容量の確保との両立を図ることを目的とする。
【課題を解決するための手段】
【0005】
本願請求項1に係る発明は、印刷情報を画素情報に変換する処理を並列で行う複数の変換手段と、前記複数の情報変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報が記憶される第1の記憶手段と、前記複数の変換手段に共通で用いられ、前記変換手段で変換して得た画素情報のうち特定の画素情報が記憶される第2の記憶手段と、前記複数の変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報を前記第1の記憶手段に記憶する制御と、前記第2の記憶手段に記憶する制御とを選択的に行う制御手段とを有する画像処理装置である。
【0006】
本願請求項2に係る発明は、前記制御手段が、前記特定の画素情報の容量に応じて当該特定の画素情報を前記第1の記憶手段に記憶するか前記第2の記憶手段に記憶するかの制御を行う請求項1記載の画像処理装置である。
【0007】
本願請求項3に係る発明は、前記制御手段が、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に優先的に記憶する制御を行う請求項1または2記載の画像処理装置である。
【0008】
本願請求項4に係る発明は、前記制御手段が、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に既に記憶されている情報の一部または全部を削除して容量を確保し、容量の空いた前記第1の記憶手段に前記特定の画素情報を記憶する制御を行う請求項1から3のうちいずれか1項に記載の画像処理装置である。
【0009】
本願請求項5に係る発明は、前記制御手段が、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に既に記憶されている情報の一部または全部を前記第2の記憶手段に移動し、容量の空いた前記第1の記憶手段に前記特定の画素情報を記憶する制御を行う請求項1から3のうちいずれか1項に記載の画像処理装置である。
【0010】
本願請求項6に係る発明は、前記制御手段が、前記特定の画素情報を前記第2の記憶手段に記憶するに先立ち、前記第2の記憶手段に前記特定の画素情報と同じ画素情報が既に記憶されているか否かを判断し、記憶されていない場合に前記第2の記憶手段に記憶する制御を行う請求項1から5のうちいずれか1項に記載の画像処理装置である。
【0011】
本願請求項7に係る発明は、前記制御手段が、前記第1の記憶手段に記憶された特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値以下となった場合、前記第1の記憶手段から削除する制御を行う請求項1から6のうちいずれか1項に記載の画像処理装置である。
【0012】
本願請求項8に係る発明は、前記制御手段が、前記特定の画素情報を前記第2の記憶手段に記憶する制御を行うとともに、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記特定の画素情報を前記第2の記憶手段から読み出して再利用する前記変換手段と対応する第1の記憶手段に記憶する制御を行う請求項1記載の画像処理装置である。
【0013】
本願請求項9に係る発明は、前記複数の変換手段のうちいずれかに前記印刷情報を振り分ける制御を行う振り分け制御手段を備えており、前記振り分け制御手段が、振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した変換手段の履歴に応じて振り分けを行う請求項1記載の画像処理装置である。
【0014】
本願請求項10に係る発明は、前記振り分け制御手段が、前記複数の変換手段から特定の画素情報の再利用回数の情報を取得し、この取得した情報から振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した回数により振り分けを行う請求項9記載の画像処理装置である。
【0015】
本願請求項11に係る発明は、前記振り分け制御手段が、前記複数の変換手段への過去の振り分けの周期性に基づき次の振り分け先を決定する請求項9記載の画像処理装置である。
【0016】
本願請求項12に係る発明は、前記制御手段が、前記変換手段で印刷情報を画素情報へ変換する処理を行うにあたり、当該印刷情報に前記特定の画素情報への変換の対象が含まれている場合、前記第1の記憶手段に当該特定の画素情報が記憶されているか判断し、記憶されている場合には当該特定の画素情報を前記第1の記憶手段から読み出す制御を行い、記憶されていない場合には前記第2の記憶手段に記憶されているか判断し、記憶されている場合には当該特定の画素情報を前記第2の記憶手段から読み出す制御を行い、いずれの記憶手段にも記憶されていない場合には前記変換手段で変換させる制御を行う請求項1から11のうちいずれか1項に記載の情報処理装置である。
【0017】
本願請求項13に係る発明は、印刷情報を画素情報に変換する処理を並列で行う複数の変換手段と、前記複数の変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報が記憶される第1の記憶手段と、前記複数の変換手段に共通で用いられ、前記変換手段で変換して得た画素情報のうち特定の画素情報が記憶される第2の記憶手段と、前記複数の変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報を前記第1の記憶手段に記憶する制御および前記第2の記憶手段に記憶する制御を行う制御手段とを有する画像処理装置が、通信回線を介して複数接続されている画像処理システムである。
【0018】
本願請求項14に係る発明は、印刷情報を画素情報に変換する処理を並列で行う複数の変換手段の各々で実行されるプログラムであり、受信した前記印刷情報の中に特定の画素情報へ変換する対象が含まれているか検索するステップと、前記特定の画素情報へ変換する対象が含まれている場合、当該特定の画素情報が前記変換手段の各々に対応して設けられる第1の記憶手段に記憶されているか検索し、記憶されている場合には前記第1の記憶手段から読み出して利用し、記憶されていない場合には前記複数の変換手段に共通で用いられる第2の記憶手段に記憶されているか検索し、記憶されている場合には前記第2の記憶手段から読み出して利用するステップと、前記特定の画像情報が前記第1の記憶手段および前記第2の記憶手段のいずれにも記憶されていない場合には、前記印刷情報を前記特定の画素情報へ変換して前記第1の記憶手段および前記第2の記憶手段の両方へ記憶するステップとをコンピュータに実行させる画像処理プログラムである。
【発明の効果】
【0019】
本願請求項1に係る発明によれば、本願発明の構成を備えていない場合に比べ、複数の変換手段の各々に対応した記憶手段と共通の記憶手段とを選択的に用いて画像処理の高速化と十分な記憶容量の確保との両立を図ることが可能となる。
【0020】
本願請求項2に係る発明によれば、第1の記憶手段の容量の範囲で記憶した特定の画素情報を再利用して、重複した変換を行うことなく画像処理を行うことが可能となる。
【0021】
本願請求項3に係る発明によれば、頻繁に再利用される特定の画素情報を第1の記憶手段に記憶して、再利用することが可能となる。
【0022】
本願請求項4に係る発明によれば、頻繁に再利用される特定の画素情報を、他の画素情報に比べて優先して第1の記憶手段に記憶して、再利用することが可能となる。
【0023】
本願請求項5に係る発明によれば、頻繁に再利用される特定の画素情報を、他の画素情報に比べて優先して第1の記憶手段に記憶して、再利用することが可能となる。
【0024】
本願請求項6に係る発明によれば、第2の記憶手段に特定の画素情報を重複して記憶することなく再利用することが可能となる。
【0025】
本願請求項7に係る発明によれば、再利用頻度が低くなった特定の画素情報を第1の記憶手段から削除して記憶容量の確保を行うことが可能となる。
【0026】
本願請求項8に係る発明によれば、頻繁に再利用される特定の画素情報を、第2の記憶手段から読み出し、第1の記憶手段に記憶して、再利用することが可能となる。
【0027】
本願請求項9に係る発明によれば、特定の画素情報を利用できる変換手段に印刷情報を振り分けることが可能となる。
【0028】
本願請求項10に係る発明によれば、特定の画素情報をより多く利用できる変換手段に印刷情報を振り分けることが可能となる。
【0029】
本願請求項11に係る発明によれば、過去の振り分けの周期性に基づいた印刷情報の振り分けを行うことが可能となる。
【0030】
本願請求項12に係る発明によれば、第1の記憶手段または第2の記憶手段に記憶された特定の画素情報を読み出して再利用することが可能となる。
【0031】
本願請求項13に係る発明によれば、本願発明の構成を備えていない場合に比べ、印刷情報を画素情報に変換する処理の高速化および記憶容量の十分な確保を図ることができるシステムの提供が可能となる。
【0032】
本願請求項14に係る発明によれば、本願発明の構成を備えていない場合に比べ、印刷情報を画素情報に変換する処理の高速化および記憶容量の十分な確保を図ることができるプログラムの提供が可能となる。
【図面の簡単な説明】
【0033】
【図1】本実施形態に係る画像処理装置の構成例を説明するブロック図である。
【図2】印刷装置の構成例を示す図である。
【図3】本実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図4】本実施形態に係る情報処理システムを説明する図である。
【図5】比較例1を説明する図である。
【図6】変換手段内のキャッシュの状態を説明する図である。
【図7】キャッシュのヒット率について説明する図である。
【図8】比較例2を説明する図である。
【図9】(1)〜(2)のしきい値を使用したキャッシュ判定方法について説明するフローチャートである。
【図10】変換手段が持つキャッシュ情報テーブルの一例を説明する図である。
【図11】(3)〜(4)のしきい値を使用したキャッシュ判定方法について説明するフローチャートである。
【図12】削除する印刷リソースの判定処理の流れを説明するフローチャートである。
【図13】第2実施形態に係る処理のフローチャートである。
【図14】第3実施形態に係る処理のフローチャートである。
【図15】第4実施形態に係る処理のフローチャートである。
【図16】振り分け制御手段の内部に蓄積するテーブルデータの例を示す図である。
【発明を実施するための形態】
【0034】
以下、本発明を実施するための形態(以下、「実施形態」という。)について説明する。なお、説明は以下の順序で行う。
1.画像処理装置の構成例(ブロック構成例、動作の概要、制御手段による制御の例、振り分け制御手段の制御の例、制御手段の読み出し制御の例)
2.印刷装置の構成例
3.画像処理装置のハードウェア構成例
4.情報処理プログラム
5.情報処理システム
6.具体例の説明(比較例、第1実施形態〜第5実施形態)
【0035】
<1.画像処理装置の構成例>
[画像処理装置のブロック構成]
図1は、本実施形態に係る画像処理装置の構成例を説明するブロック図である。本実施形態に係る画像処理装置1は、複数の変換手段RIP1〜RIP4と、複数の変換手段RIP1〜RIP4の各々に対応して設けられる第1の記憶手段M1と、複数の変換手段RIP1〜RIP4に共通で設けられる第2の記憶手段M2と、複数の変換手段RIP1〜RIP4の各々に対応して設けられる制御手段2とを備えている。
【0036】
変換手段RIP1〜RIP4は、所定の単位(例えば、ページ単位)で送られる印刷情報を画素情報(例えば、中間データやビットマップデータ)に変換するレンダリング処理を行う画像処理回路を備えている。本実施形態の画像処理装置1では、複数の変換手段RIP1〜RIP4によって印刷情報を並列で画素情報に変換する。図1では4つの変換手段RIP1〜RIP4が並列に配置されているが、4つ以外であってもよい。
【0037】
第1の記憶手段M1は、各変換手段RIP1〜RIP4に対応して設けられるキャッシュメモリであり、特定の画素情報を記憶する部分である。ここで、特定の画素情報とは、印刷情報のうち、繰り返し使用されるテキスト、ライン、イメージなど、特定の種類の印刷リソースについてレンダリングして得た情報のことを言う。特定の種類の印刷リソースか否かは、印刷情報に含まれる識別情報と、ハッシュ値等の付帯情報によって各変換手段RIP1〜RIP4の制御部2が判別する。
【0038】
第1の記憶手段M1は、各変換手段RIP1〜RIP4について専用に利用されるもので、各変換手段RIP1〜RIP4の各制御手段2からのアクセス要求に対し、他の変換手段RIP1〜RIP4とは無関係に動作する。
【0039】
第2の記憶手段M2は、各変換手段RIP1〜RIP4に共通で用いられるキャッシュメモリであり、特定の画素情報を記憶する部分である。なお、図1において、第1の記憶手段M1と第2の記憶手段M2とは物理的に別個な構成になっているが、物理的に1つの構成であって論理的に区分けされているものであってもよい。
【0040】
制御手段2は、各変換手段RIP1〜RIP4の各々に対応して設けられ、変換手段RIP1〜RIP4で変換して得た特定の画素情報を、第1の記憶手段M1に記憶する制御および第2の記憶手段M2に記憶する制御を行う。
【0041】
本実施形態の画像処理装置1では、複数の変換手段RIP1〜RIP4に印刷情報を振り分ける振り分け制御手段3が設けられている。振り分け制御手段3は、所定単位(例えば、ページ)ごとに送られる印刷情報を受信して、その単位ごとに印刷情報をいずれかの変換手段RIP1〜RIP4に振り分ける制御を行う。振り分け制御手段3は、所定の振り分けのルールに基づいて印刷情報の振り分けを行う。
【0042】
[動作の概要]
次に、本実施形態に係る画像処理装置1の動作の概要を図1に沿って説明する。先ず、ページごとに処理されるPDL(Page Description Language)から成るジョブ(印刷情報)が画像処理装置1に入力されると、振り分け制御手段3がページごとに印刷情報の振り分けを行う。図1に示す例では、1ページ(P1)〜10ページ(P10)までの全10ページから成るPDLの印刷情報が画像処理装置1に入力された状態を示している。
【0043】
振り分け制御手段3は、この10ページの印刷情報を4つの変換手段RIP1〜RIP4へページごとに振り分ける。例えば、振り分け制御手段3は、1ページ(P1)を変換手段RIP1に振り分け、2ページ(P1)を変換手段RIP2に振り分け、3ページ(P3)を変換手段RIP3に振り分け、4ページ(P4)を変換手段RIP4に振り分ける。すなわち、振り分け制御手段3は、最初の4ページ分を1ページずつ4つの変換手段RIP1〜RIP4に順番に振り分けている。
【0044】
次に、振り分け制御手段3は、5ページ(P5)を変換手段RIP1に振り分け、6ページ(P6)を変換手段RIP2に振り分け、7ページ(P7)を変換手段RIP3に振り分け、8ページ(P8)を変換手段RIP4に振り分けている。振り分け制御手段3は、5ページ目以降の4ページ分も1ページずつ4つの変換手段RIP1〜RIP4に順番に振り分けている。
【0045】
次に、振り分け制御手段3は、9ページ(P9)を変換手段RIP2に振り分け、10ページ(10P)を変換手段RIP4に振り分けている。振り分け制御手段3は、変換処理の進み具合に応じて、最も早く処理を開始し得る変換手段を選択して振り分けを行う。
【0046】
次に、振り分け制御手段3からページごとに印刷情報を振り分けられた各変換手段RIP1〜RIP4は、各々の変換機能を用いてレンダリング処理を行う。図1に示す例では、4つの変換手段RIP1〜RIP4が並列でレンダリング処理を実行するため、4ページ分のレンダリングが同時に実行される。レンダリング後の画素情報は、1ページごと、例えばY(黄)、M(マゼンタ)、C(シアン)、K(ブラック)といった印刷のための複数の色の情報のまとまりとしてページ順に出力される。
【0047】
ここで、各変換手段RIP1〜RIP4がレンダリング処理を行うにあたり、各変換手段RIP1〜RIP4の制御手段2は、これからレンダリングしようとしている特定の種類の印刷リソースについて、既にレンダリングした画素情報が第1の記憶手段M1もしくは第2の記憶手段M2に記憶されているか判断する。記憶されている場合には新たにレンダリングすることなく、記憶されている画素情報を再利用する。一方、記憶されていない場合にはレンダリングを行うよう制御し、レンダリング後の画素情報を第1の記憶手段M1や第2の記憶手段M2に記憶する制御を行う。
【0048】
本実施形態の画像処理装置1では、このような処理の流れにおいて、各変換手段RIP1〜RIP4に設けられる制御手段によって、第1の記憶手段M1および第2の記憶手段M2に対する特定の情報の書き込みや読み出しの制御を行っている。
【0049】
[制御手段による制御の例]
制御手段2の一つの制御としては、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報の容量に応じて、この特定の画素情報を第1の記憶手段M1に記憶するか、第2の記憶手段M2に記憶するかの制御を行う。
【0050】
制御手段2の別な一つの制御としては、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報の再利用回数を計数し、この再利用回数が予め設定した閾値を超えた場合、第1の記憶手段M1に優先的に記憶する制御を行う。
【0051】
制御手段2の別な一つの制御としては、先ず、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報の再利用回数を計数する。その後、当該再利用回数が予め設定した閾値を超えた場合、第1の記憶手段M1に既に記憶されている情報の一部または全部を削除して容量を確保する。そして、容量の空いた第1の記憶手段M1に特定の画素情報を記憶する制御を行う。
【0052】
制御手段2の別な一つの制御としては、先ず、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報の再利用回数を計数する。その後、当該再利用回数が予め設定した閾値を超えた場合、第1の記憶手段M1に既に記憶されている情報の一部または全部を第2の記憶手段M2に移動する。そして、容量の空いた第1の記憶手段M1に特定の画素情報を記憶する制御を行う。
【0053】
制御手段2の別な一つの制御としては、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報を第2の記憶手段M2に記憶するに先立ち、第2の記憶手段M2にこの特定の画素情報と同じ画素情報が既に記憶されているか否かを判断する。そして、記憶されていない場合に第2の記憶手段M2に記憶する制御を行う。
【0054】
制御手段2の別な一つの制御としては、第1の記憶手段M1に記憶された特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値以下となった場合、第1の記憶手段M1から削除する制御を行う。
【0055】
制御手段2の別な一つの制御としては、特定の種別の印刷リソースについてレンダリングした後の特定の画素情報を第2の記憶手段M2に記憶する制御を行うとともに、この特定の画素情報の再利用回数を計数する。そして、当該再利用回数が予め設定した閾値を超えた場合、閾値を超えた特定の画素情報を第2の記憶手段M2から読み出して再利用する変換手段RIP1〜RIP4と対応する第1の記憶手段M1に記憶する制御を行う。
【0056】
[振り分け制御手段の制御の例]
振り分け制御手段3の一つの制御としては、振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した変換手段RIP1〜RIP4の履歴に応じて振り分けを行う。
【0057】
振り分け制御手段3の別な一つの制御としては、複数の変換手段RIP1〜RIP4から特定の画素情報の再利用回数の情報を取得し、この取得した情報から振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した回数により振り分けを行う。
【0058】
振り分け制御手段3の別な一つの制御としては、複数の変換手段RIP1〜RIP4への過去の振り分けの周期性、すなわち、過去に振り分けた印刷情報のページ番号とそのページ番号の印刷情報をどの変換手段RIP1〜RIP4に振り分けたかの履歴から、ページ番号と振り分け先の変換手段RIP1〜RIP4との周期性に基づき、次の振り分け先を決定する。
【0059】
[制御手段の読み出し制御の例]
制御手段2は、変換手段RIP1〜RIP4で印刷情報を画素情報へ変換するレンダリング処理を行うにあたり、印刷情報に特定の画素情報への変換の対象(特定の種別の印刷リソース)が含まれている場合、先ず、その変換手段RIP1〜RIP4に対応する第1の記憶手段M1に当該特定の画素情報が記憶されているか判断する。そして、記憶されている場合には当該特定の画素情報を第1の記憶手段M1から読み出し、その印刷リソースに対しては新たなレンダリングを行わずに読み出した画素情報を再利用する制御を行う。
【0060】
また、制御手段2は、第1の記憶手段M1に特定の種別の印刷リソースの画素情報が記憶されていなかった場合、共通のキャッシュメモリである第2の記憶手段M2に記憶されているかを判断する。そして、記憶されている場合には当該特定の画素情報を第2の記憶手段M2から読み出し、その印刷リソースに対しては新たなレンダリングを行わずに読み出した画素情報を再利用する制御を行う。
【0061】
制御手段2は、特定の種別の印刷リソースの画素情報が第1の記憶手段M1および第2の記憶手段M2のいずれにも記憶されていない場合には、変換手段RIP1〜RIP4で当該印刷リソースの印刷情報について画素情報に変換するレンダリング処理を行うよう制御する。
【0062】
<2.印刷装置の構成例>
図2は、印刷装置の構成例を示す図である。この印刷装置PR1は連続紙に印刷を行う装置である。本実施形態に係る画像処理装置1は印刷装置PR1とネットワークNとの間に接続されており、同じネットワークNに接続される端末装置20からの指示をネットワークNを介して受け取り、印刷装置RP1へ印刷のための情報を送信している。
【0063】
印刷装置PR1には、用紙の搬送方向上手側に前処理装置3、バッファ装置4が設けられている。また、用紙の搬送方向下手側にはバッファ装置5、後処理装置6が設けられている。印刷装置PR1は、前処理装置3およびバッファ装置4から順次送られる印刷前の連続紙501を搬送しながら各色に対応した像担持体より各色のトナー像を転写していく。トナー像が転写された連続紙は定着装置7に送られ、トナー像を定着する。印刷後の連続紙502は、バッファ装置5および後処理装置6へと送られる。
【0064】
なお、図2に示す構成例では、画像処理装置1と印刷装置PR1とが別体に設けられている例を示しているが、画像処理装置1が印刷装置PR1に組み込まれている構成であってもよい。また、1つの画像処理装置1に複数の印刷装置PR1が接続され、画像処理装置1から複数の印刷装置PR1へ各々印刷のための情報を送るよう制御する構成でもよい。また、画像処理装置1と印刷装置PR1との組みがネットワークNに複数接続されている構成も考えられる。
【0065】
<3.画像処理装置のハードウェア構成例>
図3は、本実施形態に係る画像処理装置のハードウェア構成例を示す図である。すなわち、本実施形態に係る画像処理装置1は、CPU11、メモリ12、ハードディスクドライブ(HDD)等の記憶装置13、ネットワークNを介して端末装置20との間でデータの送信および受信を行う通信インタフェース(IF)部24、タッチパネルや液晶ディスプレイにより構成されたユーザインタフェース(UI)装置15、印刷装置PR1との間でデータの送受信を行うエンジンIF部16を備えている。また、これらの構成が制御バス17を介して互いに接続されている。
【0066】
CPU11は、メモリ12または記憶装置13に格納された画像処理プログラムに基づいて所定の処理を実行し、画像処理装置の動作を制御する。
【0067】
<4.情報処理プログラム>
本実施形態に係る情報処理プログラムは、コンピュータに実行させるステップを有している。すなわち、本実施形態に係る情報処理プログラムは、上記説明した情報処理装置のハードウェア構成例をコンピュータで実現し、このコンピュータに実行させるステップを有する。具体的には、図1に示す複数の変換手段の各々で実行され、第1の記憶手段および第2の記憶手段に対する情報の記憶、読み出しを制御する。ここで、本実施形態の情報処理プログラムは、CD−ROM等の記録媒体に記録されていたり、ネットワークを介して配信されたりするものでもある。
【0068】
本実施形態に係る情報処理プログラムは、次のステップを備えている。
(1)受信した印刷情報の中に特定の画素情報へ変換する対象が含まれているか検索するステップ。
(2)特定の画素情報へ変換する対象が含まれている場合、この特定の画素情報が変換手段RIP1〜RIP4の各々に対応して設けられる第1の記憶手段M1に記憶されているか検索し、記憶されている場合には第1の記憶手段M1から読み出して利用し、記憶されていない場合には複数の変換手段RIP1〜RIP4に共通で用いられる第2の記憶手段M2に記憶されているか検索し、記憶されている場合には第2の記憶手段M2から読み出して利用するステップ。
(3)特定の画像情報が第1の記憶手段M1および第2の記憶手段M2のいずれにも記憶されていない場合には、印刷情報を特定の画素情報へ変換して第1の記憶手段M1および第2の記憶手段M2の両方へ記憶するステップ。
【0069】
<5.情報処理システム>
図4は、本実施形態に係る情報処理システムを説明する図である。すなわち、本実施形態に係る情報処理システムSTMは、上記説明した本実施形態の情報処理装置1が、ネットワークNを介して複数接続された構成である。
【0070】
図4(a)に示す例では、画像処理装置1と印刷装置PR1との組みが、ネットワークNを介して複数接続された構成のシステムとなっている。この画像処理システムSTMでは、ネットワークNを介して端末装置20から送られた印刷情報を、複数組みの画像処理装置1および印刷装置PR1で並列処理する。
【0071】
図4(b)に示す例では、画像処理装置1と印刷装置PR1との組みが複数設けられ、これらの組みが統括制御部100によって統括された構成のシステムとなっている。この画像処理システムSTMでは、ネットワークNを介して端末装置20から送られた印刷情報を統括制御部100が受けて、これを複数組みの画像処理装置1および印刷装置PR1に振り分けて処理する。
【0072】
いずれのシステム構成であっても、画像処理装置1は上記説明した本実施形態に係る構成および動作となっている。
【0073】
<6.具体例の説明>
次に、本実施形態の具体例について説明する。先ず、本実施形態の具体例の説明に先立ち、本実施形態に対する比較例を説明する。
【0074】
[比較例]
図5は、比較例1を説明する図である。比較例1に係る画像処理装置1は、各変換手段RIP1〜RIP4で印刷リソースをキャッシュおよび再利用する方式である。個々の変換手段RIP1〜RIP4は、キャッシュのためのバッファである記憶手段Mを保持し、割り当てられたページのレンダリング中に遭遇する印刷リソースをキャッシュする。
【0075】
その後のレンダリングで、同じ識別情報と付帯情報とを持つ印刷リソースに遭遇した場合は、キャッシュ済みのラスター、または中間形式の情報を再利用する。この構成では、各変換手段RIP1〜RIP4間でのキャッシュの排他制御を考慮する必要がなく、排他制御によるオーバヘッドも無い。また、同一モジュール中のキャッシュバッファを使用するため、キャッシュデータの入出力にかかる時間のロスが少ない。
【0076】
一方、比較例1の構成では、同種の印刷リソースを、それぞれの変換手段RIP1〜RIP4がキャッシュする可能性があり、全体で使用するキャッシュバッファの総サイズが大きくなってしまう。図6は、変換手段内のキャッシュの状態を説明する図である。例えば、この例では、ID=1、2、6を変換手段RIP1と変換手段RIP2の両方でキャッシュすることになる。そのため、この分のサイズが大きくなってしまう。
【0077】
また、各変換手段でレンダリングするページが分散されるため、キャッシュのヒット率が下がる可能性がある。特に、少量のページを印刷する場合や、複数ページの内容が周期的に現れる印刷データの場合に不利となる。図7は、キャッシュのヒット率について説明する図である。ここでは、変換手段RIP2にページP2、P6、P9が順次送られてくる。これにより、変換手段RIP2の記憶手段には、ページP2、P6、P9に延べで含まれる印刷リソースID=1、2、3、4、6がキャッシされる。しかし、この印刷リソースのうち、ページP2、P6、P9で再利用される印刷リソースはID=2だけである。つまり、キャッシュした5つの印刷リソースのうち、再利用されるのは1つだけである。
【0078】
図8は、比較例2を説明する図である。比較例2に係る画像処理装置1は、複数の変換手段RIP1〜RIP4で印刷リソースを共通の記憶手段MMにキャッシュおよび再利用する方式である。個々の変換手段RIP1〜RIP4は、キャッシュのためのバッファを保持せず、割り当てられたページのレンダリング中に遭遇する印刷リソースを、別に用意した共通の記憶手段MMにキャッシュする。その後のレンダリングで、同じ識別情報と付帯情報とを持つ印刷リソースに遭遇した場合は、キャッシュしたラスター、または中間形式の情報を共通の記憶手段MMから取得して再利用する。
【0079】
この構成では、各変換手段RIP1〜RIP4において、印刷リソースを重複してキャッシュすることがないため、比較例1に比べて画像処理装置1全体のキャッシュサイズが小さくなる。また、レンダリングする全てのページの印刷リソースを一括管理するため、キャッシュのヒット率も向上する。
【0080】
一方、各変換手段RIP1〜RIP4と共通の記憶手段とのキャッシュ処理機能が別となり、印刷リソースのキャッシュおよび再利用において、各変換手段RIP1〜RIP4間でのキャッシュの排他制御を考慮する必要がある。また、排他制御によるオーバヘッドも発生する。また、各変換手段RIP1〜RIP4と共通の記憶手段MMとの間でキャッシュデータの入出力にかかる時間のロスが大きくなる。特に、印刷リソースをラスターでキャッシュした場合はサイズが大きくなり、キャッシュデータの入出力にかかる時間の印刷時間全体に影響は無視できなくなる。
【0081】
[第1実施形態]
本実施形態に係る情報処理装置1は、振り分け制御手段3と複数の変換手段RIP1〜RIP4とを備えている。各変換手段RIP1〜RIP4は独立したレンダリング処理を行う機能を持つ。振り分け制御手段3より前段の機能では、クライアントからのジョブを入力する機能を持つ。画像処理装置1は、複数のPDL(ページ記述言語)をサポートしており、ジョブキューにアサインされたジョブ属性に従った制御を行う。
【0082】
例えば、ページ独立で分割処理が可能なPDLであるPDF(Portable Document Format)のジョブがスケジューリングされると、リソースサーバは入力されたPDFジョブ全体を、ジョブ開始前に指定された場所へ格納する。ジョブマネージャからジョブ指示を受けた、PDFアナライザはPDFのページ数をカウントし、ページ数分の空ページデータを出力する。その後、インポーザモジュールが、あらかじめ設定されたページ配置情報に基づきページ送信順番を決定し、ページの属性情報を付与して処理要求コマンドが作成される。
【0083】
図1に示す本実施形態に係る情報処理装置1の構成では、各変換手段RIP1〜RIP4で印刷リソースをキャッシュおよび再利用する構成と、複数の変換手段RIP1〜RIP4で印刷リソースを共通にキャッシュおよび再利用する構成との両方を持ち、状況により切り替えや協調しながら、キャッシュ処理を実現する。
【0084】
各変換手段RIP1〜RIP4の制御部2は、予め設定されたしきい値を参照し、各変換手段RIP1〜RIP4の第1の記憶手段M1に印刷リソースをキャッシュするか、複数の変換手段RIP1〜RIP4で共通の第2の記憶手段M2に印刷リソースをキャッシュするかを判定する。判定のためのしきい値は、2種類存在する。
【0085】
1つ目は、各変換手段RIP1〜RIP4でレンダリング中に、初めて遭遇した印刷リソースをキャッシュする際のしきい値であり、以下がある。
(1)各変換手段RIP1〜RIP4の第1の記憶手段M1にキャッシュする場合の印刷リソースのサイズの上限。
(2)各変換手段RIP1〜RIP4の第1の記憶手段M1にキャッシュする場合のバッファの残り容量の下限。
【0086】
2つ目は、レンダリングが進む過程で、第2の記憶手段M2への共通のキャッシュ機能か、第1の記憶手段M1へのキャッシュ済みの印刷リソースを読み出し、再構成し、第2の記憶手段M2から第1の記憶手段M1へ印刷リソースをダウンロードしたり、第1の記憶手段M1のキャッシュバッファから印刷リソースを削除したりして、キャッシュ状態の最適化を実現するためのしきい値であり、以下のようになっている。
【0087】
(3)最近レンダリングしたページの中で、キャッシュ済みの印刷リソースが再利用された回数であり、この値を超えた場合は、変換手段RIP1〜RIP4の第1の記憶手段M1に優先的にキャッシュする。判定対象のページ数については別途設定する。
(4)最近レンダリングしたページの中で、キャッシュ済みの印刷リソースが再利用された回数であり、この値未満の場合は、上記(3)に達した印刷リソースをキャッシュする際に、変換手段RIP1〜RIP4の第1の記憶手段M1から優先的にキャッシュアウトする。判定対象のページ数については別途設定する。
【0088】
上記(1)〜(2)のしきい値を使用したキャッシュ判定方法について、図9のフローチャートに沿って説明する。なお、この処理は、各変換手段RIP1〜RIP4の制御部M1で実行される。先ず、ジョブデータのレンダリング中に初めて遭遇した印刷リソースをキャッシュする場合は(ステップS101)、自手段で管理しているキャッシュ情報テーブルを参照する(ステップS102)。
【0089】
そして、キャッシュ情報テーブルを参照して、自手段の第1の記憶手段に対象となる印刷リソースをキャッシュ済みであるか否かを判断する(ステップS103)。キャッシュ済みでない場合には、共通のキャッシュである第2の記憶手段に対象となる印刷リソースをキャッシュ済みであるか否かを判断する(ステップS104)。第1の記憶手段もしくは第2の記憶手段に対象となる印刷リソースがキャッシュ済みである場合には、キャッシュ情報テーブルの「ページ番号」、「再利用回数カウント」を更新し(ステップS105)、レンダリング処理を実行する(ステップS110)。なお、ここでのレンダリング処理では、キャッシュ済みの印刷リソースについて新たなレンダリングを行うことなく、第1の記憶手段もしくは第2の記憶手段から読み出したものを再利用する。
【0090】
一方、対象となる印刷リソースが第1の記憶手段、第2の記憶手段のいずれにもキャッシュされていなかった場合、再度、共通のキャッシュである第2の記憶手段に対象となる印刷リソースがキャッシュされているかを問い合わせる(ステップS106)。すなわち、ステップS104からステップS106までの処理の間に他の変換手段が第2の記憶手段に同じ印刷リソースをキャッシュしている可能性があるため、問い合わせを行う。
【0091】
ここで共通のキャッシュである第2の記憶手段に対象となる印刷リソースがキャッシュされている場合、ステップS109へ進む。一方、キャッシュされていない場合、上記しきい値(1)、(2)からキャッシュ先の判定を行い、対象となる印刷リソースをレンダリングして、判定先へキャッシュする処理を実行する(ステップS108)。その後、キャッシュ情報テーブルの「ページ番号」、「再利用回数カウント」を更新し(ステップS109)、レンダリング処理を実行する(ステップS110)。
【0092】
上記、しきい値(1)、(2)の判定は、メモリ使用量の抑制を目的として、対象の印刷リソースのサイズに注目する。まず、遭遇した印刷リソースがしきい値(1)よりも大きい値かを比較し、大きい場合は共通のキャッシュである第2の記憶手段へキャッシュし、小さい場合は変換手段の第1の記憶手段へキャッシュすると判断する。
【0093】
変換手段の第1の記憶手段へキャッシュすると判断した際には、変換手段の第1の記憶手段のキャッシュバッファの残り容量と、しきい値(2)とを比較し、しきい値(2)よりもバッファの残り容量が少ない場合は、共通のキャッシュである第2の記憶手段のバッファへキャッシュすると判断する。
【0094】
各変換手段は、この判定結果に従って、自身のバッファ(第1の記憶手段)か、共通のキャッシュである第2の記憶手段のどちらかに印刷リソースをキャッシュし、内部のキャッシュ情報テーブルのキャッシュ状態を更新する。
【0095】
図10は、変換手段が持つキャッシュ情報テーブルの一例を説明する図である。キャッシュ情報テーブルは各変換手段が持っており、各変換手段がレンダリングする過程で遭遇した印刷リソースのキャッシュ情報および再利用状況を保持する。図10に示すキャッシュ情報テーブルは、変換手段RIP1、RIP2の情報テーブルの例である。
【0096】
キャッシュ情報テーブルは、特定の印刷リソースの識別情報(ID)と、付帯情報(例えば、ハッシュ値)と、データサイズ、キャッシュ先、ページ番号、および再利用回数のカウント値を備えている。このキャッシュ情報テーブルにより、各変換手段RIP1〜RIP4は、自手段が処理した印刷リソースが自手段の第1の記憶手段M1に記憶されているか、第2の記憶手段M2に記憶されているかの管理を行う。
【0097】
なお、共通のキャッシュである第2の記憶手段M2にキャッシュする場合は、キャッシュ対象となる印刷リソースがすでに、他の変換手段からの依頼によりキャッシュ済みかを第2の記憶手段M2に問い合わせて、まだキャッシュされていなければキャッシュを依頼する。既に第2の記憶手段M2のバッファにキャッシュ済みである場合は、自身のキャッシュ情報テーブルにキャッシュ済みの情報を追加する。
【0098】
また、各変換手段RIP1〜RIP4の第1の記憶手段M1にキャッシュする場合も、共通のキャッシュである第2の記憶手段M2にすでにキャッシュ済みの印刷リソースであるかを確認し、キャッシュ済みの場合は、第2の記憶手段M2からからキャッシュ済みの印刷リソースを第1の記憶手段M1にダウンロードして保持する。これによって、無用なキャッシュ処理でレンダリング処理の時間をロスすることを防ぐ。
【0099】
次に、上記(3)、(4)のしきい値を使用したキャッシュ判定方法について図11のフローチャートに沿って説明する。なお、この処理は、各変換手段の制御部で実行される。
【0100】
上記(1)、(2)のしきい値を用いたキャッシュの判定は、ジョブ開始後、初めて遭遇した印刷リソースについての処理であるため、キャッシュする印刷リソースが、その後頻繁に再利用されるものなのか、または再利用されないものなのか、判断していない。そのため、メモリ使用量のみをキャッシュ先の判定材料としていた。しかし、高速のレンダリングを実現するためには、変換手段の第1の記憶手段の許容範囲内で、極力、頻繁に再利用される印刷リソースを変換手段の第1の記憶手段にキャッシュするべきである。そのため、以下のようにキャッシュ済みの印刷リソースを再構成して高速なレンダリングを実現する。
【0101】
先ず、各変換手段がレンダリング中に、キャッシュ済みの印刷リソースを再利用した際には、自身のキャッシュ情報テーブルに再利用回数をカウントアップし、ページ番号に処理中のページを追加しておく(ステップS201)。この、ページ番号を確認し、最近レンダリングしたページ範囲において、再利用回数がしきい値(3)に達したかを判断する(ステップS202〜S203)。
【0102】
再利用回数がしきい値(3)に達している場合、共通のキャッシュである第2の記憶手段のバッファで保持されている印刷リソースであるか否かを判断する(ステップS204)。第2の記憶手段に保持されている印刷リソースである場合は、変換手段の第1の記憶手段のバッファに十分な空き容量があるか否かを判断し(ステップS205)、対象となる印刷リソースを変換手段の第1の記憶手段にダウンロードする(ステップS206)。このとき、変換手段の第1の記憶手段に十分な空き容量が無い場合は、しきい値(3)に達した印刷リソースを優先して変換手段の第1の記憶手段にキャッシュするために、すでに変換手段にキャッシュ済みの印刷リソースの中から、しきい値(4)に達する物を削除する(ステップS207)。
【0103】
削除する印刷リソースの判定処理は、図12のフローチャートに沿って行う。先ず、キャッシュ情報テーブル(図10)を参照し、あらかじめ設定されている、最近レンダリングしたページの範囲において、再利用された回数がしきい値(4)より少ない印刷リソースを抽出する(ステップS301)。
【0104】
次に、これらの合計サイズを算出し(ステップS302)、この合計サイズが変換手段の第1の記憶手段にダウンロードする印刷リソースのサイズより小さいかを判断する(ステップS303)。小さくない場合は、抽出した印刷リソースの中で再利用回数の少ないものから、ダウンロード予定の印刷リソースのサイズに達するまで第1の記憶手段から削除する(ステップS309)。一方、小さい場合、抽出した印刷リソースを第1の記憶手段から削除する(ステップS304)。
【0105】
次に、第1の記憶手段に残ったキャッシュ済み印刷リソースとダウンロードする予定の印刷リソースの最近レンダリングしたページの範囲を比較する(ステップS305)。具体的には、キャッシュ情報テーブル(図10)の「ページ番号」に各印刷リソースが再利用されたページが列挙されているため、その中のあらかじめ設定されている最近レンダリングしたページ範囲の再利用回数を比較し、ダウンロード予定の印刷リソースの方が、再利用回数が多ければキャッシュ済みの印刷リソースを削除する。もしも、この判定処理で最近レンダリングしたページの範囲で両方の再利用回数が同じであった場合は、キャッシュ情報テーブルの「再利用カウント」を比較し、ジョブ開始からの再利用カウントがキャッシュ済みの印刷リソースの方が小さければ、キャッシュ済みの印刷リソースを削除する(ステップS306〜S307)。
【0106】
以上の判定の結果、ダウンロード済みの印刷リソースを削除して、できた空き容量のサイズが、ダウンロード予定の印刷リソースのサイズよりも大きくなれば、ダウンロード処理を行う(ステップS308)。
【0107】
以降、レンダリング中に印刷リソースに遭遇した場合はキャッシュ情報テーブルを参照し、キャッシュが未処理の場合は、図9の判定処理に従ってキャッシュし、キャッシュ済みの場合は、図11、図12の手順でキャッシュ済みの印刷リソースを再構成すると共に、変換手段の第1の記憶手段にキャッシュされたものか、共通のキャッシュである第2の記憶手段にキャッシュされたもののいずれかから取り出して再利用する。
【0108】
以上より、変換手段の第1の記憶手段には、サイズも適当で、再利用頻度の高い印刷リソースがキャッシュされ、共通のキャッシュである第2の記憶手段には、サイズが大きい、または、再利用頻度の比較的低い印刷リソースがキャッシュされることになる。これによって、それぞれの長所を生かしたキャッシュ処理を実現する。
【0109】
[第2実施形態]
本実施形態に係る情報処理装置1は、第1実施形態と同様、振り分け制御手段と複数の変換手段とを備えている。また、各変換手段で印刷リソースをキャッシュおよび再利用する構成と、複数の変換手段で印刷リソースを共通にキャッシュおよび再利用する構成との両方を持ち、状況により切り替えや協調しながら、キャッシュ処理を実現する。
【0110】
第2実施形態では、レンダリング中に上記(1)、(2)のしきい値によって、変換手段の第1の記憶手段に印刷リソースをキャッシュする。また、その後のレンダリング処理で再利用の頻度が低くなった場合に、最近のレンダリングページの範囲で、しきい値(4)に該当する印刷リソースを、変換手段の第1の記憶手段から削除するのではなく、共通のキャッシュである第2の記憶手段へ移動させるものである。
【0111】
これによって、変換手段の第1の記憶手段と共通のキャッシュである第2の記憶手段との間で、キャッシュ済みの印刷リソースを移動し、双方で、レンダリング中に必要になった印刷リソースの再度のキャッシュが必要無くなる。つまり、使用頻度が低くなった印刷リソースであっても、その後に再利用する必要が生じた際には、第2の記憶手段から第1の記憶手段へダウンロードして再利用することになる。これにより、レンダリング等の時間のかかる処理を再度実行する必要が無く、印刷時間のロスを防ぐ。
【0112】
図13は、第2実施形態に係る処理のフローチャートである。なお、この処理は、各変換手段の制御部で実行される。先ず、キャッシュ情報テーブル(図10)を参照し、あらかじめ設定されている、最近レンダリングしたページの範囲において、再利用された回数がしきい値(4)より少ない印刷リソースを抽出する(ステップS401)。
【0113】
次に、これらの合計サイズを算出し(ステップS402)、この合計サイズが変換手段の第1の記憶手段にダウンロードする印刷リソースのサイズより小さいかを判断する(ステップS403)。小さくない場合は、抽出した印刷リソースの中で再利用回数の少ないものから、ダウンロード予定の印刷リソースのサイズに達するまで第1の記憶手段から第2の記憶手段へ移動する(ステップS409)。ここで、移動とは、記憶内容を元の記憶場所から移動先の記憶場所へ複写し、元の記憶場所から削除することを言う。一方、小さい場合、抽出した印刷リソースを第1の記憶手段から第2の記憶手段へ移動する(ステップS404)。
【0114】
次に、第1の記憶手段に残ったキャッシュ済み印刷リソースとダウンロードする予定の印刷リソースの最近レンダリングしたページの範囲を比較する(ステップS405)。具体的には、キャッシュ情報テーブル(図10)の「ページ番号」に各印刷リソースが再利用されたページが列挙されているため、その中のあらかじめ設定されている最近レンダリングしたページ範囲の再利用回数を比較し、ダウンロード予定の印刷リソースの方が、再利用回数が多ければキャッシュ済みの印刷リソースを第2の記憶手段へ移動する。もしも、この判定処理で最近レンダリングしたページの範囲で両方の再利用回数が同じであった場合は、キャッシュ情報テーブルの「再利用カウント」を比較し、ジョブ開始からの再利用カウントがキャッシュ済みの印刷リソースの方が小さければ、キャッシュ済みの印刷リソースを第2の記憶手段へ移動する(ステップS406〜S407)。
【0115】
[第3実施形態]
本実施形態に係る情報処理装置1は、第1実施形態と同様、振り分け制御手段と複数の変換手段とを備えている。また、各変換手段で印刷リソースをキャッシュおよび再利用する構成と、複数の変換手段で印刷リソースを共通にキャッシュおよび再利用する構成との両方を持ち、状況により切り替えや協調しながら、キャッシュ処理を実現する。
【0116】
第3実施形態では、各変換手段で印刷リソースをキャッシュし、再利用する処理中に、キャッシュしていない印刷リソースに遭遇した場合、複数の変換手段で共通の第2の記憶手段に印刷リソースの有無を問い合わせる。ここで、第2の記憶手段にキャッシュされている場合には、第2の記憶手段から印刷リソースを取得し、キャッシュされていない場合には、印刷リソースを第2の記憶手段にキャッシュする。なお、第1の記憶手段に印刷リソースがキャッシュされていない場合は、第1の記憶手段にキャッシュしてから第2の記憶手段に退避する。
【0117】
図14は、第3実施形態に係る処理のフローチャートである。なお、この処理は、各変換手段の制御部で実行される。先ず、ジョブデータのレンダリング中に初めて遭遇した印刷リソースをキャッシュする場合は(ステップS501)、自手段で管理しているキャッシュ情報テーブルを参照する(ステップS502)。
【0118】
そして、キャッシュ情報テーブルを参照して、自手段の第1の記憶手段に対象となる印刷リソースをキャッシュ済みであるか否かを判断する(ステップS503)。キャッシュ済みでない場合には、共通のキャッシュである第2の記憶手段に対象となる印刷リソースをキャッシュ済みであるか否かを判断する(ステップS504)。このとき、共通のキャッシュである第2の記憶手段への問い合わせを行うロスを最小限にするために、1度の問い合わせで、第2の記憶手段が保持する全ての印刷リソースの一覧を取得し、変換手段自身の情報テーブルには無い印刷リソースの情報を、更新しておくようにしてもよい。
【0119】
第2の記憶手段にキャッシュ済みである場合、第2の記憶手段からキャッシュ済みの印刷リソースを取得し、キャッシュ情報テーブルの「ページ番号」、「再利用回数カウント」を更新する(ステップS505)。また、上記(3)〜(4)のしきい値を使用して、頻繁に再利用する最小限の印刷リソースのみを第1の記憶手段に保持する再構成を実行する(ステップS505)。そして、キャッシュ情報テーブルの「ページ番号」、「再利用回数カウント」を更新する(ステップS510)。
【0120】
一方、対象となる印刷リソースが第1の記憶手段、第2の記憶手段のいずれにもキャッシュされていなかった場合、再度、共通のキャッシュである第2の記憶手段に対象となる印刷リソースがキャッシュされているかを問い合わせる(ステップS506)。すなわち、ステップS504からステップS506までの処理の間に他の変換手段が第2の記憶手段に同じ印刷リソースをキャッシュしている可能性があるため、問い合わせを行う。
【0121】
ここで共通のキャッシュである第2の記憶手段に対象となる印刷リソースがキャッシュされている場合、ステップS505へ進む。一方、キャッシュされていない場合、対象となる印刷リソースをレンダリングして、共通のキャッシュである第2の記憶手段へキャッシュする処理を行う(ステップS508)。その後、キャッシュ情報テーブルの「ページ番号」、「再利用回数カウント」を更新し(ステップS509)、レンダリング処理を実行する(ステップS511)。
【0122】
第3実施形態では、共通のキャッシュである第2の記憶手段にジョブで使用する全ての印刷リソースがキャッシュされる。そして、各変換手段は、上記(3)〜(4)のしきい値を使用して、頻繁に再利用する最小限の印刷リソースのみを自手段の第1の記憶手段に保持し、その他は、共通のキャッシュである第2の記憶手段からキャッシュ済みの印刷リソースを取得して再利用する。
【0123】
これによって、ある変換手段でのレンダリング処理中に遭遇する印刷リソースが、他の変換手段によって共通のキャッシュである第2の記憶手段にキャッシュ済みであれば、再度キャッシュする時間の短縮化になる。また、共通のキャッシュである第2の記憶手段で保持する印刷リソースと、各変換手段の第1の記憶手段で保持する印刷リソースとで同じデータを重複した保持することを最小限にしている。このため、各変換手段においては、再利用の頻度が高い印刷リソースのみを保持することから、レンダリングの高速を維持しながら、キャッシュで使用するメモリの総量の低減にもつながる。
【0124】
なお、第3実施形態においては、各変換手段でレンダリング中に初めて遭遇した印刷リソースをキャッシュする際、上記(1)、(2)のしきい値によるキャッシュ先の判定を行っても、また、上記(1)、(2)のしきい値によるキャッシュ先の判定を行わずに図14に示すフローチャートに沿った処理を行うようにしてもよい。
【0125】
[第4実施形態]
第4実施形態では、各変換手段が割り当てられたページデータをレンダリングする際に、各変換手段の第1の記憶手段への印刷リソースのキャッシュ状況を確認し、同種の印刷リソースが存在するページのパターン情報を予測するものである。
【0126】
図15は、第4実施形態に係る処理のフローチャートである。なお、この処理は、各変換手段の制御部で実行される。先ず、予め設定済みの、ジョブ開始からのページ数(例えば、10〜50ページ程度)を、上記第3実施形態に係る方法(図14参照)でレンダリング処理する(ステップS601〜S602)。その後、振り分け制御手段は、各変換手段にページを分配する前に、各変換手段で保持しているキャッシュ情報テーブル(図10)を取得する(ステップS603〜S604)。
【0127】
この時点で各変換手段はレンダリングを高速で行うための必要最小限の印刷リソースを保持しており、その印刷リソースを使用するページであれば、常にキャッシュを再利用して印刷し得る状態になっている。
【0128】
次に、レンダリング依頼するページに含まれる印刷リソースをジョブデータの中から検索し(ステップS605)、その結果と各変換手段から取得したキャッシュ情報テーブルとを比較し(ステップS606)、変換手段が保持する印刷リソースのうち、より多くの識別情報と付帯情報とが一致する変換手段に、ページのレンダリング処理を依頼する(ステップS607)。
【0129】
この処理を、あらかじめ設定されたページ数(例えば、10〜50ページ程度)に対して実行し、その間にページを分配した変換手段とページ番号の情報とを振り分け制御手段の内部に蓄積する(ステップS608)。図16は、振り分け制御手段の内部に蓄積するテーブルデータの例を示す図である。このテーブルデータでは、ページ番号およびそのページ番号の印刷データを処理した変換手段の番号とが対応付けられた状態で記憶されている。
【0130】
この蓄積が完了した際に、ページを分配した変換手段とページ番号との周期性(何ページ間隔でどの変換手段に対してレンダリング依頼を行っているか)を予測し、その予測の結果を以降のページの分配に利用する。例えば、図16に示す例では、100ページ、110ページ、120ページ…といった10ページおきに1番目の変換手段へレンダリング依頼を行っている。したがって、振り分け制御手段は、以降のページについて10ページおきに1番目の変換手段へレンダリング依頼をするであろうとの予測が行われる。この予測の結果より、振り分け制御手段は、10ページおきに1番目の変換手段へレンダリング依頼を出すことになる。
【0131】
なお、第4実施形態での処理は、バリアブル・データ・プリントなどの大量ページのジョブに有効である。したがって、あまり効果の得られないページ数(例えば、数十ページ程度)のジョブでは処理しないよう、振り分け制御手段に対して予め設定しておくようにしてもよい。
【0132】
[第5実施形態]
第5実施形態では、上記第4実施形態における処理において、予測したパターン情報にしたがって、同種の印刷リソースを使用するページデータのレンダリングを、1回以上処理したことがある変換手段に割り当てることを特徴とする。
【0133】
すなわち、振り分け制御手段は、第4実施形態での予測の計算の結果、周期性が見られない場合は、第3実施形態によるレンダリング処理を実行する。逆に、周期性が見られる場合は、以降のページにおいて、その周期で各変換手段にページを分配する。これによって、各情報変換手段が保持する最小限の印刷リソースを有効に使用し、省メモリを実現しながら、キャッシュ済みの印刷リソースの再利用を高速で行う。
【符号の説明】
【0134】
1…画像処理装置、RIP1〜RIP4…情報変換手段、M1…第1の記憶手段、M2…第2の記憶手段、2…制御手段、3…振り分け制御手段

【特許請求の範囲】
【請求項1】
印刷情報を画素情報に変換する処理を並列で行う複数の変換手段と、
前記複数の情報変換手段の各々に対応して設けられ、前記情報変換手段で変換して得た前記特定の画素情報が記憶される第1の記憶手段と、
前記複数の情報変換手段に共通で用いられ、前記情報変換手段で変換して得た画素情報のうち特定の画素情報が記憶される第2の記憶手段と、
前記複数の情報変換手段の各々に対応して設けられ、前記情報変換手段で変換して得た前記特定の画素情報を前記第1の記憶手段に記憶する制御と、前記第2の記憶手段に記憶する制御を行う制御とを選択的に行う制御手段と、
を有する画像処理装置。
【請求項2】
前記制御手段は、前記特定の画素情報の容量に応じて当該特定の画素情報を前記第1の記憶手段に記憶するか前記第2の記憶手段に記憶するかの制御を行う
請求項1記載の画像処理装置。
【請求項3】
前記制御手段は、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に優先的に記憶する制御を行う
請求項1または2項に記載の画像処理装置。
【請求項4】
前記制御手段は、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に既に記憶されている情報の一部または全部を削除して容量を確保し、容量の空いた前記第1の記憶手段に前記特定の画素情報を記憶する制御を行う
請求項1から3のうちいずれか1項に記載の画像処理装置。
【請求項5】
前記制御手段は、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記第1の記憶手段に既に記憶されている情報の一部または全部を前記第2の記憶手段に移動し、容量の空いた前記第1の記憶手段に前記特定の画素情報を記憶する制御を行う
請求項1から3のうちいずれか1項に記載の画像処理装置。
【請求項6】
前記制御手段は、前記特定の画素情報を前記第2の記憶手段に記憶するに先立ち、前記第2の記憶手段に前記特定の画素情報と同じ画素情報が既に記憶されているか否かを判断し、記憶されていない場合に前記第2の記憶手段に記憶する制御を行う
請求項1から5のうちいずれか1項に記載の画像処理装置。
【請求項7】
前記制御手段は、前記第1の記憶手段に記憶された特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値以下となった場合、前記第1の記憶手段から削除する制御を行う
請求項1から6のうちいずれか1項に記載の画像処理装置。
【請求項8】
前記制御手段は、前記特定の画素情報を前記第2の記憶手段に記憶する制御を行うとともに、前記特定の画素情報の再利用回数を計数し、当該再利用回数が予め設定した閾値を超えた場合、前記特定の画素情報を前記第2の記憶手段から読み出して再利用する前記変換手段と対応する第1の記憶手段に記憶する制御を行う
請求項1記載の画像処理装置。
【請求項9】
前記複数の変換手段のうちいずれかに前記印刷情報を振り分ける制御を行う振り分け制御手段を備えており、
前記振り分け制御手段は、振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した変換手段の履歴に応じて振り分けを行う
請求項1記載の画像処理装置。
【請求項10】
前記振り分け制御手段は、前記複数の変換手段から特定の画素情報の再利用回数の情報を取得し、この取得した情報から振り分けの対象となる印刷情報に含まれる特定の画素情報を処理した回数により振り分けを行う
請求項9記載の画像処理装置。
【請求項11】
前記振り分け制御手段は、前記複数の変換手段への過去の振り分けの周期性に基づき次の振り分け先を決定する
請求項9記載の画像処理装置。
【請求項12】
前記制御手段は、前記変換手段で印刷情報を画素情報へ変換する処理を行うにあたり、当該印刷情報に前記特定の画素情報への変換の対象が含まれている場合、前記第1の記憶手段に当該特定の画素情報が記憶されているか判断し、記憶されている場合には当該特定の画素情報を前記第1の記憶手段から読み出す制御を行い、記憶されていない場合には前記第2の記憶手段に記憶されているか判断し、記憶されている場合には当該特定の画素情報を前記第2の記憶手段から読み出す制御を行い、いずれの記憶手段にも記憶されていない場合には前記変換手段で変換させる制御を行う
請求項1から11のうちいずれか1項に記載の画像処理装置。
【請求項13】
印刷情報を画素情報に変換する処理を並列で行う複数の変換手段と、
前記複数の変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報が記憶される第1の記憶手段と、
前記複数の変換手段に共通で用いられ、前記変換手段で変換して得た画素情報のうち特定の画素情報が記憶される第2の記憶手段と、
前記複数の変換手段の各々に対応して設けられ、前記変換手段で変換して得た前記特定の画素情報を前記第1の記憶手段に記憶する制御および前記第2の記憶手段に記憶する制御を行う制御手段とを有する画像処理装置が、通信回線を介して複数接続されている
画像処理システム。
【請求項14】
印刷情報を画素情報に変換する処理を並列で行う複数の変換手段の各々で実行されるプログラムであり、
受信した前記印刷情報の中に特定の画素情報へ変換する対象が含まれているか検索するステップと、
前記特定の画素情報へ変換する対象が含まれている場合、当該特定の画素情報が前記変換手段の各々に対応して設けられる第1の記憶手段に記憶されているか検索し、記憶されている場合には前記第1の記憶手段から読み出して利用し、記憶されていない場合には前記複数の変換手段に共通で用いられる第2の記憶手段に記憶されているか検索し、記憶されている場合には前記第2の記憶手段から読み出して利用するステップと、
前記特定の画像情報が前記第1の記憶手段および前記第2の記憶手段のいずれにも記憶されていない場合には、前記印刷情報を前記特定の画素情報へ変換して前記第1の記憶手段および前記第2の記憶手段の両方へ記憶するステップと
をコンピュータに実行させる画像処理プログラム。

【図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


【公開番号】特開2011−25422(P2011−25422A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−170727(P2009−170727)
【出願日】平成21年7月22日(2009.7.22)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】