(57)【要約】      （修正有）【課題】記憶部を効率的に運用することができる電子装置を提供する。【解決手段】複数の情報処理部と、前記複数の情報処理部によって処理された情報を一時的に記憶する記憶部と、前記記憶部に記憶された情報を、前記複数の情報処理部によって再利用された回数に応じて削除する削除手段とを有する。前記削除手段は、前記記憶部に記憶された情報を、前記複数の情報処理部による処理の時間に応じて削除する。また、前記記憶部は、前記複数の情報処理部それぞれに設けられる個別の記憶部と、前記複数の情報処理部によって共有される共有の記憶部とである。【選択図】図２
2011204097.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理部と、
前記複数の情報処理部によって処理された情報を一時的に記憶する記憶部と、
前記記憶部に記憶された情報を、前記複数の情報処理部によって再利用された回数に応じて削除する削除手段と
を有する電子装置。
【請求項２】
前記削除手段は、前記記憶部に記憶された情報を、前記複数の情報処理部による処理の時間に応じて削除する
請求項１に記載の電子装置。
【請求項３】
前記記憶部は、
前記複数の情報処理部それぞれに設けられる個別の記憶部と、
前記複数の情報処理部によって共有される共有の記憶部と
である
請求項１又は２に記載の電子装置。
【請求項４】
前記情報処理部は、画像を処理する画像処理部である
請求項１乃至３のいずれかに記載の電子装置。
【請求項５】
前記削除手段は、前記共有の記憶部に記憶された情報を、予め定められた期間に画像処理された頁において、前記複数の情報処理部によって再利用された回数に応じて削除する
請求項４に記載の電子装置。
【請求項６】
前記削除手段は、前記共有の記憶部に記憶された情報を、前記複数の情報処理部による画像処理の時間に応じて削除する
請求項４又は５に記載の電子装置。
【請求項７】
前記共有の記憶部に前記複数の情報処理部によって処理された情報を記憶する場合、前記削除手段が前記共有の記憶部に記憶された情報を削除できないときには、前記個別の記憶部に一時的に記憶する
請求項５又は６に記載の電子装置。
【請求項８】
複数の情報処理部と、前記複数の情報処理部によって処理された情報を一時的に記憶する記憶部と、コンピュータとを含む電子装置において、
前記記憶部に記憶された情報を、前記複数の情報処理部によって再利用された回数に応じて削除するステップ
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ファイル領域の拡張及び追加時にファイル領域が不足する場合、ファイル満了日をチェックしてファイルを削除する動的ファイル削除方式が開示されている。
特許文献２には、複数のサーバ装置でディスクを共有するシステムにおいて、サーバ装置は、ファイル管理データに書かれた情報を分割したものを独立して管理し、自身が管理するファイル管理データだけではクライアントからの要求に応えられない場合にのみ、他のサーバ装置にファイル管理データを問い合わせるシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−０４６４４６号公報
【特許文献２】特開２００１−３１８９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、記憶部を効率的に運用することができる電子装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
[電子装置]
請求項１に係る本発明は、複数の情報処理部と、前記複数の情報処理部によって処理された情報を一時的に記憶する記憶部と、前記記憶部に記憶された情報を、前記複数の情報処理部によって再利用された回数に応じて削除する削除手段とを有する電子装置である。
【０００６】
請求項２に係る本発明は、前記削除手段は、前記記憶部に記憶された情報を、前記複数の情報処理部による処理の時間に応じて削除する請求項１に記載の電子装置である。
【０００７】
請求項３に係る本発明は、前記記憶部は、前記複数の情報処理部それぞれに設けられる個別の記憶部と、前記複数の情報処理部によって共有される共有の記憶部とである請求項１又は２に記載の電子装置である。
【０００８】
請求項４に係る本発明は、前記情報処理部は、画像を処理する画像処理部である請求項１乃至３のいずれかに記載の電子装置である。
【０００９】
請求項５に係る本発明は、前記削除手段は、前記共有の記憶部に記憶された情報を、予め定められた期間に画像処理された頁において、前記複数の情報処理部によって再利用された回数に応じて削除する請求項４に記載の電子装置である。
【００１０】
請求項６に係る本発明は、前記削除手段は、前記共有の記憶部に記憶された情報を、前記複数の情報処理部による画像処理の時間に応じて削除する請求項４又は５に記載の電子装置である。
【００１１】
請求項７に係る本発明は、前記共有の記憶部に前記複数の情報処理部によって処理された情報を記憶する場合、前記削除手段が前記共有の記憶部に記憶された情報を削除できないときには、前記個別の記憶部に一時的に記憶する請求項５又は６に記載の電子装置である。
【００１２】
[プログラム]
請求項８に係る本発明は、複数の情報処理部と、前記複数の情報処理部によって処理された情報を一時的に記憶する記憶部と、コンピュータとを含む電子装置において、前記記憶部に記憶された情報を、前記複数の情報処理部によって再利用された回数に応じて削除するステップをコンピュータに実行させるプログラムである。
【発明の効果】
【００１３】
請求項１に係る本発明によれば、本構成を有さない場合に比べ、記憶部を効率的に運用することができる電子装置を提供することができる。
【００１４】
請求項２に係る本発明によれば、請求項１に係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、記憶部をより効率的に運用することができる電子装置を提供することができる。
【００１５】
請求項３に係る本発明によれば、請求項１又は２に係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、簡易な構成で記憶部を効率的に運用することができる電子装置を提供することができる。
【００１６】
請求項４に係る本発明によれば、請求項１乃至３のいずれかに係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、効率的に画像処理することができる電子装置を提供することができる。
【００１７】
請求項５に係る本発明によれば、請求項４に係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、再度の画像処理にかかる負荷を低減することができる電子装置を提供することができる。
【００１８】
請求項６に係る本発明によれば、請求項４又は５に係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、再度の画像処理にかかる時間を低減することができる電子装置を提供することができる。
【００１９】
請求項７に係る本発明によれば、請求項５又は６に係る本発明によって奏される効果に加え、本構成を有さない場合に比べ、共有の記憶部の状態に関わらず、再度の画像処理にかかる負荷及び時間を低減することができる電子装置を提供することができる。
【００２０】
請求項８に係る本発明によれば、本構成を有さない場合に比べ、記憶部を効率的に運用することができるプログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る電子装置としての画像形成装置を示す図である。
【図２】制御部で動作するソフトウエアの構成を示す図である。
【図３】図２のテーブル記憶部に記憶されるテーブルの例である。
【図４】図２のＲＩＰ部における全体動作（Ｓ１０）を示すフローチャートである。
【図５】図４のステップ２０（Ｓ２０）のフローチャートである。
【図６】図５のステップ２２（Ｓ２２）のフローチャートである。
【図７】図４のステップ３０（Ｓ３０）のフローチャートである。
【図８】図７のステップ３２（Ｓ３２）のフローチャートである。
【図９】図５のステップ２２（Ｓ２２）の変形例のフローチャートである。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、以下の説明は本発明を実施するのにあたっての一例に過ぎず、本発明が以下に説明される事項に限定されるわけではなく、必要に応じて適宜変更可能である。
【００２３】
[本発明の実施形態]
図１は、本発明の実施形態に係る電子装置としての画像形成装置を示す図である。
図１に示すように、本発明の実施形態に係る電子装置としての画像形成装置１は、制御部１００及びマーキングエンジン１０２を有する。
このような構成により、画像形成装置１は、クライアントＰＣ２からの印刷指示に基づいて画像データを生成し、プリント出力する。
【００２４】
制御部１００は、例えば、ＣＰＵ、メモリ、記憶媒体などを備える制御基板である。
制御部１００は、ケーブルなどにより通信可能に接続されたクライアントＰＣ２から印刷指示を受け付け、画像データを生成する。さらに、制御部１００は、生成した画像データが記録用紙にプリントされるよう、マーキングエンジン１０２を制御する。
【００２５】
マーキングエンジン１０２は、例えば、直接転写方式のデジタルカラープリンタであり、露光装置１０４、画像形成ユニット１０６、用紙搬送ベルト１０８及び定着器１１０を備える。
露光装置１０４は、複数の発光点からなる発光点群を有する画発光レーザアレイチップから出射された複数のレーザビームを一括して走査させ、感光体ドラム１１２に導くマルチビームの露光走査装置である。
画像形成ユニット１０６は、静電潜像を形成してトナー像を担持させる像担持体である感光体ドラム１１２、感光体ドラム１１２の表面を一様に帯電する帯電器１１４、カラー画像を構成する色ごとに設けられた現像ロール１１６Ｙ（Ｙｅｌｌｏｗ；イエロー）、１１６Ｍ（Ｍａｇｅｎｔａ；マゼンタ）、１１６Ｃ（Ｃｙａｎ；シアン）及び１１６Ｋ（ｂｌａｃＫ；ブラック）、及び、感光体ドラム１１２の表面に形成されたトナー像を記録用紙に転写させる転写ロール１１８を備える。画像形成ユニット１０６は、現像ロール１１６Ｙ、１１６Ｍ、１１６Ｃ及び１１６Ｋから、出力画像に応じたトナーを感光体ドラム１１２に供給し、感光体ドラム１１２の表面の静電潜像からトナー像を作像し、記録用紙上に、順次、転写する。
用紙搬送ベルト１０８は、感光体ドラム１１２及び転写ロール１１８によって形成される転写位置に対して、記録用紙を搬送する。
定着器１１０は、記録用紙上に転写されたトナー像を定着させる。
【００２６】
次に、図１の制御部１００をさらに説明する。
図２は、制御部１００で動作するソフトウエアの構成を示す図である。制御部１００は、ＣＰＵに対し、メモリ及び記憶媒体などに記憶したプログラムを読み出して実行させる。
【００２７】
印刷指示受付部１２０は、図１のクライアントＰＣ２から印刷指示を受け付け、印刷指示全体（印刷指示の内容や、印刷指示において処理の対象となっているデータなど）をメモリ等に記憶する。さらに、印刷指示受付部１２０は、印刷指示の内容を印刷指示制御部１２２に送信する。
なお、印刷指示は、例えば、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）データをプリントするものである。
【００２８】
印刷指示制御部１２２は、印刷指示受付部１２０から受信した印刷指示の内容に基づいて、印刷指示受付部１２０によってメモリ等に記憶された印刷指示全体を参照して、印刷指示において処理の対象となっているデータに含まれるページの数を判断する。
判断されたページの数は、ページのサイズ及びページのレイアウト（例えば、面付け及び分版）などとともに、ページの属性情報として、コントローラ１２４に送信される。
なお、ページのサイズ及びページのレイアウトなどは、予め設定されたものを用いている。
【００２９】
コントローラ１２４は、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）制御部１２６と、複数のＲＩＰ部（画像処理部）１２８−１〜１２８−Ｎと、共有キャッシュ（共有の記憶部）１３４とからなる。
ＲＩＰ部１２８−１は、テーブル記憶部１３０−１及び個別キャッシュ（個別の記憶部）１３２−１をさらに備え、ＲＩＰ部１２８−２は、テーブル記憶部１３０−２及び個別キャッシュ１３２−２をさらに備え、・・・ＲＩＰ部１２８−Ｎは、テーブル記憶部１３０−Ｎ及び個別キャッシュ１３２−Ｎをさらに備える。
【００３０】
なお、Ｎは１以上の整数であって、Ｎが常に同じ数を示すとは限らない。特に、ＲＩＰ部１２８の数は、図１の現像ロール１１６の数と同じであってもよいし、異なっていてもよい。
以下の各図において、実質的に同じ構成部分には、同じ符号が付される。
以下、「ＲＩＰ部１２８−１〜１２８−Ｎ」など、複数存在しうる構成部分のいずれかが、特定されずに示される場合には、単に「ＲＩＰ部１２８」などと略記されることがある。
また、ここでは、ＲＩＰ制御部１２６及び複数のＲＩＰ部１２８が、同じ画像形成装置１上で動作する説明したが、それぞれ、異なる画像形成装置１上で動作するように構成してもかまわない。
【００３１】
ＲＩＰ制御部１２６は、印刷指示制御部１２２からページの属性情報を受信し、ページの属性情報に基づいて、ページをラスタデータに変換するよう、ＲＩＰ部１２８を制御する。
なお、ページが効率よくラスタライズされるよう、ラスタライズ処理は一つのＲＩＰ部１２８ではなく、複数のＲＩＰ部１２８に割り振られる。複数のＲＩＰ部１２８によってラスタライズされたページは、まとめてマーキングエンジン１０２に出力される。
【００３２】
ＲＩＰ部１２８は、ＲＩＰ制御部１２６による制御に基づいて、印刷指示受付部１２０によってメモリ等に記憶された印刷指示全体から、ラスタライズ処理すべきページを読み出して、読み出したページをラスタデータに変換するとともに、変換過程で生成した中間形式のデータ（例えば、ディスプレイリスト）を記録媒体等に記憶する（以下、ラスタデータの生成と中間形式のデータの生成とをまとめて、「レンダリング」と記載）。
さらに、ＲＩＰ部１２８は、テーブル記憶部１３０に記憶されたテーブルを参照して、ページに含まれる構成要素（以下、単に「構成要素」と記載。例えば、グラフィックス及びイメージなどの外部オブジェクト）を個別キャッシュ１３２又は共有キャッシュ１３４に一時的に記憶（キャッシュ）する。
【００３３】
ここで、個別キャッシュ１３２とは、ＲＩＰ部１２８ごとに割り当てられるキャッシュであり、個別キャッシュ１３２にキャッシュされた構成要素は、この個別キャッシュ１３２を備えるＲＩＰ部１２８からのみアクセスすることができる。例えば、個別キャッシュ１３２−１にキャッシュされた構成要素は、ＲＩＰ部１２８−１からのみアクセスすることができる。
また、共有キャッシュ１３４とは、すべてのＲＩＰ部１２８に対して割り当てられるキャッシュであり、共有キャッシュ１３４にキャッシュされた構成要素は、すべてのＲＩＰ部１２８からアクセスすることができる。
【００３４】
図３は、図２のテーブル記憶部１３０に記憶されるテーブルの例である。
テーブル記憶部１３０は、図２のＲＩＰ部１２８ごとに設けられるため、テーブルはＲＩＰ部１２８ごとに存在する。例えば、図３（Ａ）は、ＲＩＰ部１２８−１のテーブルであり、図３（Ｂ）は、ＲＩＰ部１２８−２のテーブルである。
テーブルは、構成要素に関する情報から構成される。例えば、図３（Ａ），図３（Ｂ）に示すように、テーブルは、ＩＤ１３６、付帯情報１３８、データサイズ１４０、キャッシュ先１４２、データ種別１４４、レンダリング時間１４６、ページ番号１４８及び再利用回数１５０というデータ列から構成される。
なお、テーブルは、テーブルを備えるＲＩＰ部１２８において、構成要素に対するアクション（例えば、構成要素の削除、変更及び追加）があったことをトリガにして更新される。
【００３５】
ＩＤ１３６は、構成要素を識別する識別子である。
付帯情報１３８は、構成要素を簡易に識別するための情報であり、例えば、ハッシュ値である。
データサイズ１４０は、構成要素のデータサイズであり、例えば、キロバイト（ＫＢ）で表される。
キャッシュ先１４２は、構成要素のキャッシュ先であり、図２の個別キャッシュ１３２及び共有キャッシュ１３４のいずれかである。
【００３６】
データ種別１４４は、構成要素がキャッシュされたときのデータ種別であり、ラスタデータ及び中間形式のデータのいずれかである。
レンダリング時間１４６は、構成要素のレンダリングにかかる時間であり、例えば、ナノ秒（ｎｓ）で表される。
ページ番号１４８は、構成要素を含むページの番号である。
再利用回数１５０は、レンダリング済みの構成要素が再利用された回数である。
【００３７】
図４は、図２のＲＩＰ部１２８の全体動作（Ｓ１０）を示すフローチャートである。
図４に示すように、ステップ１００（Ｓ１００）において、ＲＩＰ部１２８は、図２のＲＩＰ制御部１２６によって、ページをラスタライズする処理を割り当てられたことをトリガにして、ラスタライズ処理すべきページを読み出す。
【００３８】
ステップ１０２（Ｓ１０２）において、ＲＩＰ部１２８は、ステップ１００において読み出したページに構成要素が含まれるか否かを判定する。
構成要素が含まれる場合には、ステップ１０４の処理に進み、そうでない場合にはこの判定を繰り返す。
【００３９】
ステップ１０４（Ｓ１０４）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素が、図２の個別キャッシュ１３２にキャッシュされているか否かを判定する。
具体的には、ＲＩＰ部１２８は、図２のテーブル記憶部１３０に記憶されたテーブルを参照して、ページに含まれると判定された構成要素とＩＤ１３６及び付帯情報１３８が同じであり、かつ、キャッシュ先１４２が個別キャッシュ１３２である構成要素が含まれているか否かを判定する。
ページに含まれると判定された構成要素が個別キャッシュ１３２にキャッシュされている場合には、ステップ１０６の処理に進み、そうでない場合には、ステップ１１０の処理に進む。
【００４０】
ステップ１０６（Ｓ１０６）において、ＲＩＰ部１２８は、ステップ１０４において、個別キャッシュ１３２にキャッシュされていると判定された構成要素を個別キャッシュ１３２から読み出し、ステップ１００において読み出したページのレンダリングに再利用する。
【００４１】
ステップ１０８（Ｓ１０８）において、ＲＩＰ部１２８は、テーブル記憶部１３０に記憶されたテーブルを更新し、処理を終了する。具体的には、ステップ１０６において読み出してレンダリングに再利用した構成要素の再利用回数を、カウントアップする。
【００４２】
ステップ１１０（Ｓ１１０）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素が、共有キャッシュ１３４にキャッシュされているか否かを判定する。
具体的には、ＲＩＰ部１２８は、テーブル記憶部１３０に記憶されたテーブルを参照して、ページに含まれると判定された構成要素とＩＤ１３６及び付帯情報１３８が同じであり、かつ、キャッシュ先１４２が図２の共有キャッシュ１３４である構成要素が含まれているか否かを判定する。
ページに含まれると判定された構成要素が共有キャッシュ１３４にキャッシュされている場合には、ステップ３０の処理に進み、そうでない場合には、ステップ１１２の処理に進む。
【００４３】
ステップ１１２（Ｓ１１２）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素が、共有キャッシュ１３４にキャッシュされているか否かをさらに判定する。
具体的には、ＲＩＰ部１２８は、他のＲＩＰ部１２８のテーブル記憶部１３０に記憶されたテーブルを参照して、ページに含まれると判定された構成要素とＩＤ１３６及び付帯情報１３８が同じであり、かつ、キャッシュ先１４２が共有キャッシュ１３４である構成要素が含まれているか否かを判定する。
【００４４】
ステップ１１０においては、自身のテーブル記憶部１３０に記憶されたテーブルを参照して共有キャッシュ１３４にキャッシュされているか否かを判定したが、ＲＩＰ部１２８ごとにテーブルを更新するタイミングが異なるため、ステップ１１２では、他のＲＩＰ部１２８のテーブル記憶部１３０に記憶されたテーブルを参照している。
ページに含まれると判定された構成要素が共有キャッシュ１３４にキャッシュされている場合には、ステップ３０の処理に進み、そうでない場合には、ステップ２０の処理に進む。
【００４５】
このように、ページに含まれる構成要素が、個別キャッシュ１３２にキャッシュ済みであるか、共有キャッシュ１３４にキャッシュ済みか、いずれにもキャッシュされていないかに応じて、レンダリングの手順が異なる。
以下、ページに含まれる構成要素がいずれにもキャッシュされていない場合の処理を、図５及び図６を参照して説明し、共有キャッシュ１３４にキャッシュ済みである場合の処理を、図７及び図８を参照して説明する。
【００４６】
図５は、図４のステップ２０（Ｓ２０）のフローチャートである。
図５に示すように、ステップ２００（Ｓ２００）において、図２のＲＩＰ部１２８は、図４のステップ１０２においてページに含まれると判定された構成要素のデータサイズ１４０が、第１の閾値より大きいか否かを判定する。
なお、第１の閾値は、図２の個別キャッシュ１３２にキャッシュ可能な構成要素のデータサイズの上限であり、予め設定されてメモリなどに記憶されている。
ページに含まれると判定された構成要素のデータサイズ１４０が第１の閾値より大きい場合には、ステップ２０２の処理に進み、そうでない場合には、ステップ２０４の処理に進む。
【００４７】
ステップ２０２（Ｓ２０２）において、ＲＩＰ部１２８は、ステップ１０２においてレンダリングされるページに含まれる構成要素のキャッシュ先を図２の共有キャッシュ１３４に決定し、共有キャッシュ調整（Ｓ２２）に進む。
共有キャッシュの調整（Ｓ２２）については、図６を参照して後述する。
【００４８】
ステップ２０４（Ｓ２０４）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素が個別キャッシュ１３２にキャッシュされた場合に、キャッシュ後の個別キャッシュ１３２の空き容量が、第２の閾値より小さくなるか否かを判定する。
なお、第２の閾値は、個別キャッシュ１３２の空き容量の下限であり、予め設定されてメモリなどに記憶されている。
キャッシュ後の個別キャッシュ１３２の空き容量が第２の閾値より小さくなる場合には、ステップ２０６の処理に進み、そうでない場合には、ステップ２０８の処理に進む。
【００４９】
ステップ２０６（Ｓ２０６）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素のキャッシュ先を共有キャッシュ１３４に決定し、共有キャッシュ調整（Ｓ２２）に進む。
【００５０】
ステップ２０８（Ｓ２０８）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素をレンダリングし、レンダリングした構成要素を個別キャッシュ１３２にキャッシュして、ステップ２１０の処理に進む。
【００５１】
ステップ２１０（Ｓ２１０）において、テーブル記憶部１３０に記憶されたテーブルを更新し、処理を終了する。具体的には、テーブルに、ステップ２０８においてキャッシュした構成要素が追加されるようにする。
【００５２】
図６は、共有キャッシュ調整（Ｓ２２）のフローチャートである。
図６に示すように、ステップ２２０（Ｓ２２０）において、図２のＲＩＰ部１２８は、図４のステップ１０２においてページに含まれると判定された構成要素のデータサイズ１４０が、図２の共有キャッシュ１３４の空き容量より大きいか否かを判定する。
ページの構成要素のデータサイズ１４０が共有キャッシュ１３４の空き容量より大きい場合には、ステップ２２２の処理に進み、そうでない場合には、ステップ２３２の処理に進む。
【００５３】
ステップ２２２（Ｓ２２２）において、ＲＩＰ部１２８は、共有キャッシュ１３４にキャッシュされた構成要素の再利用状況に基づいて、共有キャッシュ１３４から削除する構成要素を決定し、ステップ２２４の処理に進む。
具体的には、ＲＩＰ部１２８は、他のＲＩＰ部１２８のテーブル記憶部１３０に記憶されたテーブルを参照して、複数のＲＩＰ部１２８のテーブルに共通して含まれ（つまり、ＩＤ１３６及び付帯情報１３８が同じであって）、かつ、キャッシュ先１４２が共有キャッシュ１３４である構成要素のうち、再利用回数１５０が第３の閾値より小さいものを共有キャッシュ１３４から削除する構成要素に決定する。
なお、第３の閾値は、予め定められた期間にレンダリングされたページに含まれる構成要素のうち、キャッシュされた構成要素が再利用された回数であり、予め設定されてメモリなどに記憶されている。
【００５４】
ステップ２２４（Ｓ２２４）において、ＲＩＰ部１２８は、ステップ２２２において決定された構成要素がレンダリングに要する時間が、第４の閾値より小さいか否かを判定する。なお、ステップ２２２において決定された構成要素が複数の場合には、構成要素ごとに、ステップ２２４〜２３０の処理を繰り返す。
具体的には、ＲＩＰ部１２８は、図２のテーブル記憶部１３０に記憶されたテーブルを参照し、ステップ２２２において決定された構成要素のレンダリング時間１４６が第４の閾値より小さいか否かを判定する。
なお、第４の閾値は、共有キャッシュ１３４又は個別キャッシュ１３２にキャッシュされた構成要素がレンダリングに要した時間であり、予め設定されてメモリなどに記憶されている。第４の閾値より小さい場合には、ステップ２２６の処理に進み、そうでない場合には、次の構成要素について第４の閾値より小さいか否かを判定する。
【００５５】
ステップ２２６（Ｓ２２６）において、ＲＩＰ部１２８は、ステップ２２４においてレンダリング時間が第４の閾値より小さいと判定された構成要素を、共有キャッシュ１３４から削除し、ステップ２２８の処理に進む。
【００５６】
ステップ２２８（Ｓ２２８）において、ＲＩＰ部１２８は、テーブル記憶部１３０に記憶されたテーブルを更新し、ステップ２３０の処理に進む。例えば、テーブルから、ステップ２２６において共有キャッシュ１３４から削除された構成要素が削除されるようにする。
【００５７】
ステップ２３０（Ｓ２３０）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素のデータサイズ１４０が、ステップ２２６の処理後の共有キャッシュ１３４の空き容量より小さいか否かを判定する。
ページに含まれると判定された構成要素のデータサイズ１４０が共有キャッシュ１３４の空き容量より小さい場合には、ステップ２３２の処理に進み、そうでない場合には、ぺージに含まれると判定された構成要素のデータサイズ１４０が共有キャッシュ１３４の空き容量より小さくなるまで、ステップ２２４〜２３０の処理を繰り返す。
【００５８】
ステップ２３２（Ｓ２３２）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素をレンダリングし、レンダリングした構成要素を共有キャッシュ１３４にキャッシュして、ステップ２３４の処理に進む。
【００５９】
ステップ２３４（Ｓ２３４）において、ＲＩＰ部１２８は、テーブル記憶部１３０に記憶されたテーブルを更新する。具体的には、テーブルに、ステップ２３２においてキャッシュされた構成要素が追加されるようにする。
【００６０】
図７は、図４のステップ３０（Ｓ３０）のフローチャートである。
図７に示すように、ステップ３００（Ｓ３００）において、図２のＲＩＰ部１２８は、図４のステップ１１０，１１２において図２の共有キャッシュ１３４にキャッシュされていると判定された構成要素を共有キャッシュ１３４から読み出し、図４のステップ１００において読み出したページのレンダリングに再利用する。
【００６１】
ステップ３０２（Ｓ３０２）において、ＲＩＰ部１２８は、図２のテーブル記憶部１３０に記憶されるテーブルを更新し、ステップ３０４の処理に進む。具体的には、ステップ３００においてレンダリングに再利用された構成要素について、再利用回数１５０をカウントアップするとともに、レンダリングしたページの番号をページ番号１４８に追加する。
【００６２】
ステップ３０４（Ｓ３０４）において、ＲＩＰ部１２８は、ステップ３０２において更新したページ番号に対応するページのうち、予め定められた期間にレンダリングされたページにおける再利用回数１５０が、第５の閾値より大きいか否かを判定する。なお、第５の閾値は、予め定められた期間にレンダリングされたページにおいて、キャッシュ済みの構成要素が再利用された回数であり、予め設定されてメモリなどに記憶されている。
再利用回数１５０が第５の閾値より大きい場合には、ステップ３０６の処理に進み、そうでない場合には、処理を終了する。
【００６３】
ステップ３０６（Ｓ３０６）において、ＲＩＰ部１２８は、ステップ３００において再利用した構成要素のデータサイズ１４０が、個別キャッシュ１３２の空き容量より小さいか否かを判定する。
構成要素のデータサイズ１４０が個別キャッシュ１３２の空き容量より小さい場合には、ステップ３０８の処理に進み、そうでない場合には、個別キャッシュ調整（Ｓ３２）に進む。
【００６４】
ステップ３０８（Ｓ３０８）において、ＲＩＰ部１２８は、ステップ３００において再利用した構成要素を、個別キャッシュ１３２に退避させる。
なお、退避とは、あるキャッシュからキャッシュアウトした後、別のキャッシュにキャッシュインすることを意味する。
【００６５】
図８は、図７の個別キャッシュ調整（Ｓ３２）のフローチャートである。
図８に示すように、ステップ３２０（Ｓ３２０）において、図２のＲＩＰ部１２８は、図７のステップ３０２において更新されたテーブルを参照し、キャッシュ先１４２が個別キャッシュ１３２である構成要素のうち、予め定められた期間にレンダリングされたページにおける再利用回数１５０が、第６の閾値よりも小さいものがあるか否かを判定する。
なお、第６の閾値は、予め定められた期間にレンダリングされたページにおいて、キャッシュ済みの構成要素が再利用された回数であり、予め設定されてメモリなどに記憶されている。
第６の閾値よりも小さい構成要素がある場合には、ステップ３２２の処理に進み、そうでない場合には、処理を終了する。
【００６６】
ステップ３２２（Ｓ３２２）において、ＲＩＰ部１２８は、ステップ３２０において第６の閾値よりも再利用回数１５０が小さいと判定された構成要素のデータサイズ１４０の合計が、ステップ３００において再利用した構成要素（図２の共有キャッシュ１３４から読み出して再利用した構成要素）のデータサイズ１４０よりも小さいか否かを判定する。
ステップ３００において再利用した構成要素のデータサイズ１４０より小さい場合には、ステップ３２４の処理に進み、そうでない場合には、ステップ３３６の処理に進む。
【００６７】
ステップ３２４（Ｓ３２４）において、ＲＩＰ部１２８は、ステップ３２０において第６の閾値よりも再利用回数１５０が小さいと判定された構成要素を、個別キャッシュ１３２から削除するか、共有キャッシュ１３４に退避させる。
共有キャッシュ１３４に退避させる場合には、図６のステップ２２の処理を行い、共有キャッシュ１３４を調整する。
【００６８】
ステップ３２６（Ｓ３２６）において、ＲＩＰ部１２８は、ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素について、予め定められた期間にレンダリングしたページにおける再利用回数１５０と、ステップ３００において再利用した構成要素について、予め定められた期間にレンダリングしたページにおける再利用回数１５０とを比較する。
ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素の再利用回数１５０が、ステップ３００において再利用した構成要素の再利用回数１５０より少ない場合には、ステップ３２８の処理に進む。
また、ステップ３００において再利用した構成要素の再利用回数１５０と同じである場合には、ステップ３３０の処理に進む。
ステップ３００において再利用した構成要素の再利用回数１５０より多い場合には、ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素のうち、まだ比較されていないものについて、同様に比較する。
【００６９】
ステップ３２８（Ｓ３２８）において、ＲＩＰ部１２８は、ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素のうち、ステップ３２６における判定がなされたものを、個別キャッシュ１３２から削除する。
【００７０】
ステップ３３０（Ｓ３３０）において、ＲＩＰ部１２８は、ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素について、図４の全体動作が開始されてからの期間における再利用回数１５０と、ステップ３００において再利用した構成要素について、全体動作が開始されてからの期間における再利用回数１５０とを比較する。
ステップ３２４（及びステップ２２）の処理後の個別キャッシュ１３２にキャッシュされている構成要素の再利用回数１５０の方が少ない場合には、このような構成要素のうち、この比較がなされたものから、個別キャッシュ１３２から削除する。
【００７１】
ステップ３３２（Ｓ３３２）において、ＲＩＰ部１２８は、ステップ３００において再利用した構成要素のデータサイズ１４０が、ステップ３２８及びステップ３３０の処理後の個別キャッシュ１３２の空き容量より小さいか否かを判定する。ステップ３００において再利用した構成要素のデータサイズ１４０の方が小さい場合には、ステップ３３４の処理に進み、そうでない場合には、ステップ３２６の処理に戻る。
【００７２】
ステップ３３４（Ｓ３３４）において、ＲＩＰ部１２８は、ステップ３００において再利用した構成要素を個別キャッシュ１３２に退避させる。
【００７３】
ステップ３３６（Ｓ３３６）において、ＲＩＰ部１２８は、ステップ３２４における処理を同様の処理を行う。つまり、ステップ３２０において第６の閾値よりも再利用回数が小さいと判定された構成要素を、再利用回数の少ないものから、個別キャッシュ１３２から削除するか、共有キャッシュ１３４に退避させる。
【００７４】
以上説明したように、レンダリングを開始しようとするページに含まれる構成要素及びキャッシュ先の状況に応じて、キャッシュを調整することにより、キャッシュを効率的に利用することができる。また、個別キャッシュ及び共有キャッシュを設けることにより、個別キャッシュしか設けない場合に比べ、再利用される構成要素を重複して保持することが少なくなるとともに、装置全体におけるキャッシュヒット率を上げることができる。また、共有キャッシュしか設けない場合に比べ、構成要素の再利用にともなう排他制御などの複雑な処理が少なくなり、構成要素の再利用にともなう処理の遅延を少なくすることができる。
【００７５】
[変形例]
図６の共有キャッシュ調整（Ｓ２２）において、ページに含まれると判定された構成要素のデータサイズが共有キャッシュの空き容量より小さくなるまで、再利用回数及びレンダリング時間に基づいて、共有キャッシュから構成要素を削除すると説明した。
しかしながら、共有キャッシュから構成要素を削除できない場合がある。
以下、このような場合に対応するための変形例を説明する。
【００７６】
図９は、図６の共有キャッシュ調整の変形例（Ｓ２４）のフローチャートである。
図９に示すように、図６の共有キャッシュ調整と同じ処理には、同じ符号を付している。図９の変形例は、図６の共有キャッシュ調整に対し、ステップ２３６〜２４６の処理が追加されたものである。なお、図９において、追加された処理が強調表示されている。
【００７７】
図９に示すように、ステップ２３６（Ｓ２３６）において、図２のＲＩＰ部１２８は、図２の個別キャッシュ１３２に一時的に退避された構成要素があるか否かを判定する。
一時的に退避された構成要素がある場合、ステップ２３８の処理に進み、そうでない場合には、ステップ２２０の処理に進む。
なお、図３に示したテーブルのデータ列には、一時フラグ１５０（不図示）が追加されているものとする。一時的に退避されたか否かは、図２のテーブル記憶部１３０に記憶されたテーブルを参照し、一時フラグがオンになっているか否かによって判断される。
【００７８】
ステップ２３８（Ｓ２３８）において、ＲＩＰ部１２８は、図６のステップ２２２〜２３０の処理と同様にして、図２の共有キャッシュ１３４にキャッシュされている構成要素を削除し、共有キャッシュ１３４には、ステップ２３６において一時的に退避されたと判定された構成要素が優先的にキャッシュされるようにする。
なお、ステップ２３６において一時的に退避されたと判定されたすべての構成要素をキャッシュした場合には、ステップ２２０の処理に進み、そうでない場合には、処理を終了する（ステップ２４０（Ｓ２４０））。
【００７９】
ステップ２４２（Ｓ２４２）において、ＲＩＰ部１２８は、ステップ２２２において削除が決定されたすべての構成要素を削除したか否かを判定する。
すべての構成要素を削除した場合には、ステップ２４４の処理に進み、そうでない場合には、ステップ２２４〜２３０の処理を繰り返す。
【００８０】
ステップ２４４（Ｓ２４４）において、ＲＩＰ部１２８は、図４のステップ１０２においてページに含まれると判定された構成要素のデータサイズ１４０が、個別キャッシュ１３２の空き容量より小さいか否かを判定する。なお、この判定は、すべてのＲＩＰ部１２８に対して行われる。つまり、すべての個別キャッシュ１３２の空き容量より小さいか否かが判定される。
ページに含まれると判定された構成要素のデータサイズ１４０が個別キャッシュ１３２の空き容量より小さい場合には、ステップ２４６の処理に進み、そうでない場合には処理を終了する。
【００８１】
ステップ２４６（Ｓ２４６）において、ＲＩＰ部１２８は、ステップ１０２においてページに含まれると判定された構成要素を個別キャッシュ１３２に一時的に退避するとともに、テーブル記憶部１３０に記憶されたテーブルを更新する。
なお、テーブルの更新は、すべてのＲＩＰ部１２８に対して行われる。つまり、すべてのテーブル記憶部１３０に記憶されたテーブルが更新される。ここで、実際のキャッシュ先は個別キャッシュ１３２であるが、テーブルのキャッシュ先は共通キャッシュ１３４とし、他のＲＩＰ部１２８によって誤って削除されないようにしてもよい。
【符号の説明】
【００８２】
１      画像形成装置
１００  制御部
１０２  マーキングエンジン
１０４  露光装置
１０６  画像形成ユニット
１０８  用紙搬送ベルト
１１０  定着器
１１２  感光体ドラム
１１４  帯電器
１１６  現像ロール
１１８  転写ロール
１２０  印刷指示受付部
１２２  印刷指示制御部
１２４  コントローラ
１２６  ＲＩＰ制御部
１２８  ＲＩＰ部
１３０  テーブル記憶部
１３２  個別キャッシュ
１３４  共有キャッシュ
２      クライアントＰＣ
【図１】
2011204097.tif 000003
【図２】
2011204097.tif 000004
【図３】
2011204097.tif 000005
【図４】
2011204097.tif 000006
【図５】
2011204097.tif 000007
【図６】
2011204097.tif 000008
【図７】
2011204097.tif 000009
【図８】
2011204097.tif 000010
【図９】
2011204097.tif 000011