JP6432438B2 - データ処理装置及びプログラム - Google Patents

データ処理装置及びプログラム Download PDF

Info

Publication number
JP6432438B2
JP6432438B2 JP2015092103A JP2015092103A JP6432438B2 JP 6432438 B2 JP6432438 B2 JP 6432438B2 JP 2015092103 A JP2015092103 A JP 2015092103A JP 2015092103 A JP2015092103 A JP 2015092103A JP 6432438 B2 JP6432438 B2 JP 6432438B2
Authority
JP
Japan
Prior art keywords
data
format data
document element
external
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015092103A
Other languages
English (en)
Other versions
JP2016207172A (ja
Inventor
裕康 石島
裕康 石島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2015092103A priority Critical patent/JP6432438B2/ja
Priority to US14/881,403 priority patent/US20160321279A1/en
Publication of JP2016207172A publication Critical patent/JP2016207172A/ja
Application granted granted Critical
Publication of JP6432438B2 publication Critical patent/JP6432438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Description

本発明は、データ処理装置及びプログラムに関する。
ページ記述言語(PDL:Page Description Language)で記述された文書データ(以下「PDLデータ」と呼ぶ)から印刷装置に供給するラスター(ビットマップ)形式の画像データ(以下「ラスターデータ」と呼ぶ)を生成するシステムの中には、PDLデータをいったん中間データに変換し、その中間データをラスターデータに変換する2段階変換方式を用いるものがある。PDLデータ内で記述された個々のオブジェクトは、そのオブジェクトに適用される回転や拡大縮小等の操作や、物理的な印刷装置の特性(例えば解像度や色空間等)などの描画条件(それら操作や特性の総称。描画パラメータともいう)に依存しないという意味で抽象度が高い。逆にラスターデータは、それら描画条件が反映され、その具体的な印刷装置でほぼそのまま印刷に利用できるという意味で、抽象度が低いといえる。これに対して中間データの形式には、PDL寄りのものから印刷装置で印刷されるラスターデータ寄りのものまで、抽象度が異なる様々なものが存在する。システムの設計思想により、どのような抽象度レベルの中間データ形式を用いるかが選択されている。
また従来の印刷データ処理システムには、PDLデータを解釈して生成したオブジェクト(文書を構成する文書要素)の中間データ又はラスター画像データをキャッシュに記憶し、再度同じオブジェクトが現れた場合にはキャッシュに記憶したデータを再利用することで、そのデータの生成処理を省略し、処理の高速化を図るものがある。
特許文献1には、フォーム等の特定の種類のオブジェクトの中間データをフォームキャッシュに保存し、再利用するシステムが開示されている。また特許文献1には、キャッシュに記憶する中間データの形式として、回転や拡大縮小等のための座標変換や、線幅等の描画属性、クリップ情報、カラー情報等の、印刷のための各種描画パラメータが適用された、抽象度がかなり低いものを用いる例が開示されている。
特許文献2には、並列動作する複数のRIP(Raster Image Processor)が、いったん生成した中間データ又はラスターデータを共通のキャッシュに記憶し、再利用するシステムが開示されている。このシステムでは、RIPは、処理しようとするオブジェクトの中間データ又はラスターデータが既に自分又は他のRIPにより生成され、キャッシュ内に記憶されていれば、キャッシュ内のデータを用いることで、生成処理を省略する。
特許文献3に開示される装置では、並列動作する複数のRIPがそれぞれ個別にキャッシュを有しており、制御部は、オブジェクト毎の文書データ中での登場回数の計数を行うことで、その文書データ内での総登場回数分の登場を終えたオブジェクトについてはそれらキャッシュからデータを削除する。
特開2014−093045号公報 特開2012−116078号公報 特開2012−206319号公報
ラスターデータやこれに近い抽象度の低い中間データを記憶して再利用するシステムは、記憶したデータと同じ描画パラメータ群が適用する文書要素については、既に記憶済みのデータを再利用することができる。この場合、抽象度が高いPDLデータから抽象度が低いその記憶したデータまでの変換に要する処理を再度行う必要がないので、処理高速化の効果が高い。しかし、例えば形状は同じだが回転角度が少しずつ異なる文書要素を複数印刷する場合、回転角度という描画パラメータが異なるため、回転角度に関する描画パラメータを適用済みの抽象度が低いデータ(中間データ又はラスターデータ)を記憶して再利用するシステムでは、記憶したデータを再利用できない。この場合、それら文書要素間で共通する部分が多いにもかかわらず、PDLデータをその抽象度が低いレベルのデータに変換する処理を文書要素毎に繰り返すことになり、処理速度向上の効果が得られない。
本発明は、描画パラメータが適用済みのラスターデータや中間データ等のデータを記憶して再利用するシステムにおいて、描画パラメータが異なるためそのデータを再利用できない文書要素についてページ記述言語データから処理し直す場合よりも、処理を高速化することを目的とする。
請求項1に係る発明は、文書要素のページ記述言語データを解釈して得られた解釈結果から当該文書要素についての第1形式のデータである第1形式データを生成し、生成した前記第1形式データを第1記憶手段に記憶する第1生成手段であって、同じ文書要素についての前記第1形式データが前記第1記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略する第1生成手段と、前記第1記憶手段に記憶された前記文書要素についての前記第1形式データから、前記第1形式データよりも多くの描画パラメータが適用された第2形式のデータである第2形式データを生成し、生成した前記第2形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて第2記憶手段に記憶させる第2生成手段であって、当該組合せに対応する識別情報に対応付けられた前記第2形式データが前記第2記憶手段に既に記憶されている場合は、当該組合せについての前記第2形式データの生成を省略する第2生成手段と、を含むデータ処理装置である。
請求項2に係る発明は、入力された文書要素が、その文書要素から生成された前記第2形式データを前記第2記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1生成手段及び前記第2生成手段に処理させる判定手段と、前記判定手段の判定の結果が否定の場合に、前記文書要素のページ記述言語データを解釈して得られた解釈結果から前記文書要素についての前記第1形式データを生成し、生成した前記第1形式データを第3記憶手段に記憶する第3生成手段であって、同じ文書要素についての前記第1形式データが前記第3記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略し、前記第3記憶手段に記憶された前記第1形式データから前記第2形式データを生成し、生成した前記第2形式データを出力する、第3生成手段と、を更に含むことを特徴とする請求項1に記載のデータ処理装置である。
請求項3に係る発明は、前記第1記憶手段と前記第3記憶手段とは共通のメモリ上に設けられており、前記第1記憶手段又は前記第3記憶手段の空き容量が不足した場合、前記第1生成手段が生成した前記第1形式データを、前記第3生成手段が記憶した前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、を更に含む請求項2に記載のデータ処理装置である。
請求項4に係る発明は、前記第1記憶手段と前記第3記憶手段を共通の記憶手段としたことを特徴とする請求項2に記載のデータ処理装置である。
請求項5に係る発明は、前記共通の記憶手段の空き容量が不足した場合、前記第1生成手段が生成した前記第1形式データを、前記第3生成手段が記憶した前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、を更に含む請求項4に記載のデータ処理装置である。
請求項6に係る発明は、入力された文書要素が、前記第2形式データを再利用に備えて前記第2記憶手段に記憶させる対象である再利用対象の文書要素、に該当するか否かを判定する判定手段、を更に含み、前記第2生成手段は、前記判定手段の判定の結果が肯定の場合には、生成した前記第2形式データを前記第2記憶手段に記憶させ、前記判定手段の判定の結果が否定の場合には、生成した前記第2形式データを前記第2記憶手段に記憶させずに出力する、ことを特徴とする請求項1に記載のデータ処理装置である。
請求項7に係る発明は、前記第1記憶手段の空き容量が不足した場合に、前記再利用対象に該当する文書要素に対応する前記第1形式データを、前記再利用対象に該当しない文書要素に対応する前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、を更に含む請求項6に記載のデータ処理装置である。
請求項8に係る発明は、コンピュータを、文書要素のページ記述言語データを解釈して得られた解釈結果から当該文書要素についての第1形式のデータである第1形式データを生成し、生成した前記第1形式データを第1記憶手段に記憶する第1生成手段であって、同じ文書要素についての前記第1形式データが前記第1記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略する第1生成手段、前記第1記憶手段に記憶された前記文書要素についての前記第1形式データから、前記第1形式データよりも多くの描画パラメータが適用された第2形式のデータである第2形式データを生成し、生成した前記第2形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて第2記憶手段に記憶させる第2生成手段であって、当該組合せに対応する識別情報に対応付けられた前記第2形式データが前記第2記憶手段に既に記憶されている場合は、当該組合せについての前記第2形式データの生成を省略する第2生成手段、として機能させるためのプログラムである。
請求項9に係る発明は、文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて外部データ記憶手段に記憶する第1手段であって、同じ文書要素についての前記外部形式データが前記外部データ記憶手段に既に記憶されている場合は、当該文書要素については前記外部形式データの生成を省略する第1手段と、文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、前記外部データ記憶手段に記憶せずに出力する第2手段と、入力された文書要素が、その文書要素から生成された前記外部形式データを前記外部データ記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1手段に処理させ、否定の場合は前記文書要素を前記第2生成手段に処理させる判定手段と、を含み、前記第2手段は、前記文書要素のページ記述言語データについての前記解釈結果から、前記外部形式データよりも適用される描画パラメータが少ない内部形式データを生成し、生成した前記内部形式データを内部データ記憶手段に記憶させる内部データ生成手段であって、前記文書要素についての前記内部形式データが前記内部データ記憶手段に既に記憶されている場合は、当該文書要素については前記内部形式データの生成を省略する内部データ生成手段と、前記文書要素についての前記内部形式データに対して更に描画パラメータを適用することで、前記文書要素についての前記外部形式データを生成する手段と、を有する、ことを特徴とするデータ処理装置である。
請求項10に係る発明は、コンピュータを、文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて外部データ記憶手段に記憶する第1手段であって、同じ文書要素についての前記外部形式データが前記外部データ記憶手段に既に記憶されている場合は、当該文書要素については前記外部形式データの生成を省略する第1手段、文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、前記外部データ記憶手段に記憶せずに出力する第2手段、入力された文書要素が、その文書要素から生成された前記外部形式データを前記外部データ記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1手段に処理させ、否定の場合は前記文書要素を前記第2生成手段に処理させる判定手段、として機能させるためのプログラムであって、前記第2手段は、前記文書要素のページ記述言語データについての前記解釈結果から、前記外部形式データよりも適用される描画パラメータが少ない内部形式データを生成し、生成した前記内部形式データを内部データ記憶手段に記憶させる内部データ生成手段であって、前記文書要素についての前記内部形式データが前記内部データ記憶手段に既に記憶されている場合は、当該文書要素については前記内部形式データの生成を省略する内部データ生成手段と、前記文書要素についての前記内部形式データに対して更に描画パラメータを適用することで、前記文書要素についての前記外部形式データを生成する手段と、を有する、ことを特徴とするプログラムである。
請求項1または8に係る発明によれば、描画パラメータが適用済みの第2形式データを記憶して再利用するシステムにおいて、描画パラメータが異なるため記憶した第2形式データを再利用できない文書要素についてページ記述言語データから処理し直す場合よりも、処理を高速化することができる。
請求項2、6に係る発明によれば、第2形式データの再利用が行われない文書要素についても、第1形式データの再利用による処理の高速化が可能となる。
請求項3、5または7に係る発明によれば、再利用のために記憶した第1形式データのうち、記憶から削除すると処理の高速化に悪影響を与えるものはできるだけ削除しないようにすることができる。
請求項4に係る発明によれば、第1生成手段と第3生成手段が互いに相手が生成した第1形式データを再利用することが可能になる。
請求項9または10に係る発明によれば、外部形式データの再利用が行われない文書要素について、ページ記述言語データから外部形式データを生成する処理を効率化することができる。
実施形態のRIPモジュールが適用される印刷システムの例を示す図である。 RIPモジュールの実施形態の一例を示す図である。 実施形態のRIPモジュールの処理手順の一例を示す図である。 キャッシュ機構の処理手順の例を示す図である。 第1の変形例のRIPモジュールの構成の例を示す図である。 第1の変形例のRIPモジュールの処理手順の例を示す図である。 第2の変形例のRIPモジュールの構成の例を示す図である。 第3の変形例のRIPモジュールの処理手順の例を示す図である。 第3の変形例のRIPモジュールの構成の例を示す図である。 第3の変形例のRIPモジュールの構成の別の例を示す図である。 第4の変形例のRIPモジュールの構成の例を示す図である。 第4の変形例で用いられるキャッシュエントリ表のデータ内容の例を示す図である。 第4の変形例のキャッシュ機構の処理手順の例を示す図である。 キャッシュ管理部の処理手順の例を示す図である。 第5の変形例のRIPモジュールの構成の例を示す図である。 第5の変形例のRIPモジュールの処理手順の例を示す図である。
図1を参照して、本実施形態のRIPモジュール100が適用される印刷システムの例を説明する。
図1に例示する印刷システムは、フロントエンド装置10、スプール20、外部リソース記憶部25、バックエンド装置30及び印刷装置40を含んでいる。
フロントエンド装置10は、パーソナルコンピュータ(PC)等のクライアント装置から入力される印刷ジョブすなわちPDLデータを中間データに変換する装置である。フロントエンド装置10は、ジョブ入力部12及び1以上のRIPモジュール100を有する。典型的な例では、フロントエンド装置10は、1つのコンピュータであり、ジョブ入力部12や個々のRIPモジュール100は、そのコンピュータが実行している別々のプロセスである。
ジョブ入力部12は、クライアント装置からPDLデータを受け取り、そのPDLデータの処理をRIPモジュール100に依頼する。フロントエンド装置10内にRIPモジュール100が複数存在する場合には、ジョブ入力部12は、PDLデータの処理を出力単位毎に各RIPモジュール100に割り当てて実行させる。出力単位は、例えばページやバンド(1ページを副走査方向に沿って複数に分割した帯状領域)等である。
RIPモジュール100は、ジョブ入力部12から割り当てられたPDLデータを解釈して中間データを生成し、後段にあるスプール20に出力する。RIPモジュール100がスプール20に出力する中間データは、例えば比較的多くの描画パラメータが適用された(言い換えれば抽象度が比較的低い)中間データ形式のものである。
ここで「描画パラメータ」とは、印刷装置用のラスターデータ上でのオブジェクトの描画状態を決めるパラメータである。描画パラメータは複数存在する。描画パラメータの例としては、例えば座標変換行列、様々な描画属性、クリップ情報、カラー情報等がある。座標変換行列は、PDLデータでの画像の座標系を印刷装置での画像の座標系に変換する行列である。PDLが表す画像を印刷の際に回転したり拡大又は縮小したりする場合、その回転や拡大・縮小の成分が、座標変換行列に反映される。描画属性には、例えば、線幅、ラインキャップ、ラインジョイン、マイターリミット、線の形状、ストローク調整、描画方式、論理演算モード、パターン情報等がある。クリップ情報は、画像の一部分をクリップ(切り抜き)して印刷する場合の、その部分を規定するパスやマスク等の情報である。例えばPDLとしてPostScript(登録商標)を用いる場合、PostScriptの「グラフィック状態」に含まれる各パラメータは、本実施形態における描画パラメータの例である。なお、以上に例示した描画パラメータはあくまで例示的なものに過ぎない。
このようにRIPモジュール100がスプール20に出力する、比較的多くの描画パラメータが適用されたデータの形式のことを、以下では、RIPモジュール100の「外部」に出力するデータの形式という意味で便宜上「外部形式」と呼ぶ。なお、後述するように、本実施形態のRIPモジュール100は、自モジュール内部での処理結果の再利用のために、内部的なキャッシュメモリ124(図2参照)を有する。内部的なキャッシュメモリ124には、外部形式よりも抽象度が高い中間データを記憶する。「抽象度が高い」とは、適用された描画パラメータの数が外部形式よりも少ないことを意味する。すなわち、キャッシュメモリ124に記憶される中間データは、対応する外部リソースに適用されている描画パラメータのうちの一部しか適用されていないか、又は描画パラメータが1つも適用されていない。このキャッシュメモリ124に記憶する中間データのデータ形式を「内部形式」と呼び、外部形式と区別する。なお、キャッシュメモリ124の利用を含む、本実施形態のRIPモジュール100の詳細については、後で図2等を参照して詳しく説明する。
なお、これに限定されるものではないが、一例として、内部形式と外部形式とは、オブジェクトの粒度は同じ(すなわち前者のオブジェクトと後者のオブジェクトが一対一に対応する)であるが、抽象度が異なるものであってよい。
RIPモジュール100は、フォーム等のように文書の中で繰り返し使用される(再利用される機会が多い)特定の種類のオブジェクトについて生成した外部形式の中間データを、外部リソースとして外部リソース記憶部25に出力する機能を有する。「外部リソース」の「外部」は、「外部形式」の「外部」と同じ意味合いである。RIPモジュール100は、PDLデータから検出したその特定の種類のオブジェクトについて、対応する外部リソースが外部リソース記憶部25に記憶されていなければ、そのオブジェクトについて外部形式の中間データを作成し、その外部リソースを識別する識別情報(「外部リソースID」と呼ぶ)と対応付けて外部リソース記憶部25に登録する。PDLデータから検出したその特定の種類のオブジェクトについて、対応する外部リソースが外部リソース記憶部25に記憶されている場合は、RIPモジュール100はそのオブジェクトについて外部形式の中間データの作成(及び外部リソース記憶部25への登録)は行わない。
RIPモジュール100は、PDLデータの各ページ(論理ページ)について外部形式の中間データを生成し、生成した中間データをRIPモジュール100の外にあるスプール20に出力する。このとき、ページの中に含まれる外部リソース化対象の特定種類のオブジェクトについては、そのオブジェクトを表す外部形式のデータの代わりに、そのオブジェクトに対応する外部リソースを参照する外部形式のコマンド(参照オブジェクト)を出力する。この参照オブジェクトは、例えば、その外部リソースを特定する外部リソースIDを含む。
なお、PDLよりも中間データの方が一般にオブジェクトの粒度が細かいので、PDLのオブジェクトが外部形式の中間データでは複数のオブジェクトに分かれる場合がある。この場合、RIPモジュール100は、そのPDLのオブジェクトの変換結果である複数の外部形式のオブジェクトを1つのグループとし、そのPDLオブジェクトに対応して生成した外部リソースIDに対応付けてそのグループを外部リソース記憶部25に登録する。これにより、外部リソースIDから、必要な複数の外部形式のオブジェクトが検索できる。
バックエンド装置30は、スプール20に蓄積された印刷対象の文書の各ページの中間データ(外部形式)を先頭から順に処理することで、その文書の各ページについて印刷装置40が取扱可能な印刷画像データ(一般的にはラスターデータ)を生成する。このときバックエンド装置30は、ページの中間データの中から外部リソースを呼び出す参照オブジェクトを検出した場合、その参照オブジェクトに含まれる外部リソースIDに対応する外部リソースを外部リソース記憶部25から読み出し、その外部リソース(これは外部形式の中間データである)を処理することで、その外部リソースに対応する印刷画像データを生成する。バックエンド装置30は、このように生成した各ページの印刷画像データを順に印刷装置40に出力する。なお、バックエンド装置30の機能は、特許文献1に開示した従来技術のものと同様でよいので、これ以上の説明は省略する。
次に図2及び図3を参照して、本実施形態のRIPモジュール100の機能構成及び動作について説明する。
図2に示すように、RIPモジュール100は、解釈部102、変換部104、リソースID生成部108、後処理部110、参照オブジェクト生成部112、キャッシュ判定部120、キャッシュ作成部122、キャッシュメモリ124、キャッシュ利用変換部126、変換部128を含む。
解釈部102は、ジョブ入力部12から処理対象の出力単位の割り当てを受けると、その出力単位のPDLデータの先頭から順にコマンドを読み込み(図3のS10)、読み込んだコマンドを解析する(S12)。この解釈処理では、読み込んだコマンドのPDLデータに対して字句解析、構文解析等の言語解析を行い、その解析結果を後段の処理モジュールに振り分ける。解釈部102は、コマンド(オブジェクト)の解析結果に従って、そのコマンドが外部リソース化の対象(フォーム等)であるか否かを判定する(S14)。そのコマンドが外部リソース化の対象であると判定された場合、そのオブジェクトについての解析結果はリソースID生成部108に渡される(S20へ)。逆に、そのコマンドが外部リソース化の対象でないと判定された場合、そのコマンドについての解析結果は通常処理パスにある変換部104に渡される(S16へ)。ここでは、外部リソースについての処理を特別の処理と考え、それ以外のコマンドについての処理を通常処理と呼んでいる。
変換部104は、解釈部102から受け取った外部リソース以外の通常のコマンドについての言語解析結果に従い、そのコマンドを外部形式の中間データに変換し、その変換結果の中間データをスプール20に出力する(S16)。この変換部104の処理は従来と同様のものでよい。この後、割り当てられたPDLデータの最後まで処理が完了したかどうかを判定し(S18)、完了していなければ、S10に戻ってPDLデータから次のコマンドを読み込む。
リソースID生成部108は、解釈部102から受け取った外部リソース化対象のオブジェクトの解析結果を用いて、そのオブジェクトに対応する外部リソースIDを生成する(S20)。
外部リソース化対象のあるオブジェクトに対応する外部リソースIDは、PDLデータ中に含まれるそのオブジェクトのID(例えばPostScriptにおけるフォームID)と、外部リソース化のためにそのオブジェクトに適用される描画パラメータ群と、の組合せから生成する。例えば、フォームIDの後にそのフォームオブジェクトに適用される描画パラメータ群をあらかじめ定めた順序で付加したデータを作成し、このデータのハッシュ値を求め、このハッシュ値を外部リソースIDとする。このように生成される外部リソースIDは、同じオブジェクト(フォーム)に対して同じ描画パラメータ群を適用して生成される外部リソースについては、同じ値となる。すなわち、PDLデータの記述がまったく同じオブジェクト(フォーム)であっても、そのオブジェクトを外部形式へ変換する際のRIPモジュール100の内部状態(この内部状態は、PDLデータを先頭から順に解釈して行くにつれて変化する)によって、変換結果の中間データ(外部形式)は異なったものとなるが、この内部状態を構成する描画パラメータ群も、外部リソースIDに反映されるようにしておくことで、異なる外部リソースIDが割り当てられることになる。なお、外部リソースIDとしてハッシュ値を用いるのは、適切なデータ量のIDとするための便宜上の方策にすぎない。システムの処理能力が許すならば、ハッシュ値をとる前の元データ(フォームIDに描画パラメータ群を付加したもの)を外部リソースIDとしてもよい。
またリソースID生成部108は、生成した外部リソースIDに対応する外部リソースが外部リソース記憶部25に記憶されているかどうかを判定する(S22)。この判定は例えば外部リソース記憶部25にその外部リソースIDの登録の有無を問い合わせることにより行えばよい。また、外部リソース記憶部25の記憶容量が十分に大きく、1つのジョブの印刷処理の中でいったん登録した外部リソースは外部リソース記憶部25から削除されない場合には、当該ジョブの処理の中で生成された外部リソースIDを内部的なデータベースに記憶しておき、新たに生成した外部リソースIDがそのデータベースにあれば、その外部リソースは外部リソース記憶部25に存在すると判定してもよい。
S22の判定結果が肯定(Yes)である場合、処理は外部リソース再利用パスに進む。外部リソース再利用パスでは、同じ外部リソースを再度作成することはせず、既に外部リソース記憶部25に記憶されている外部リソースを再利用する。すなわち、この場合、リソースID生成部108は、生成した外部リソースIDを参照オブジェクト生成部112に渡す。参照オブジェクト生成部112は、その外部リソースIDを参照する外部形式のコマンド(参照オブジェクト)を生成し、スプール20へ出力する(S24)。その後処理はS18に進み、PDLデータの最後まで処理が完了していなければ、S10に戻る。
S22の判定結果が否定(No)である場合、処理は外部リソース生成パスに進む。外部リソース生成パスでは、当該オブジェクトに対応する外部リソースを新たに生成し、外部リソース記憶部25に登録する。この場合、リソースID生成部108は、これから生成される外部リソースに付加する参照ヘッダを生成する(S26)。この参照ヘッダには外部リソースIDが含まれる。生成された外部リソースは、参照ヘッダが付加された上で外部リソース記憶部25に登録されることで、外部リソースIDをキーとした検索が可能となる。
また、外部リソース生成パスの処理では、キャッシュ判定部120〜変換部128により、内部キャッシュを利用した外部リソースの生成処理(S30)が行われる。外部リソース生成パスでは、キャッシュ作成部122がPDLデータの解釈結果から外部リソースよりも抽象度が高い内部形式の中間データを作成し、キャッシュ利用変換部126がその内部形式の中間データに更に描画パラメータを適用することで外部リソースを生成する、という2段階の生成手順を採る。そして、キャッシュ作成部122が生成したその内部形式の中間データをキャッシュデータとしてキャッシュメモリ124に記憶し、再利用することで、外部リソース生成パスの処理を効率化を図る。生成された外部リソースは後処理部110に渡される。
後処理部110は、受け取った外部リソース(参照ヘッダ付き)を外部リソース記憶部25に登録する(S28)。またこのとき、その外部リソースのIDを内部的な検索用のデータベース(リソースID生成部108が外部リソース生成済みかを判定するために参照するもの)に登録してもよい。そして、後処理部110は、その外部リソースIDを参照オブジェクト生成部112に渡す。参照オブジェクト生成部112は、その外部リソースIDを参照する参照オブジェクトを生成し、スプール20へ出力する(S24)。このとき出力された参照オブジェクトをバックエンド装置30が処理する時点では、外部リソース記憶部25にはS28で登録された外部リソースが記憶されているので、その参照オブジェクトは正しく解決される。S24の後、処理はS18に進み、PDLデータの最後まで処理が完了していなければ、S10に戻る。
次に図2及び図4を参照して、キャッシュ判定部120〜変換部128の機能と、それらモジュールにより実行されるS30(内部キャッシュ利用の外部リソース生成処理)の処理の例を説明する。
先に概説したとおり、本実施形態では、キャッシュ作成部122が、内部形式の中間データを作成する。内部形式は、外部形式よりも抽象度が高い、すなわち適用される描画パラメータの数がより少ない中間データの形式である。典型的な例では、内部形式は、描画パラメータが1つも適用されない中間データの形式である。この例では、キャッシュ作成部122は、処理対象のPDL形式のオブジェクトを分割し、分割の結果得られた個々のオブジェクトを中間データの言語で表現する。別の例では、外部形式に適用されている描画パラメータのうちのあらかじめ定められた一部のもののみを適用した中間データを、内部形式の中間データとして生成する。例えば、外部リソースには適用されている複数の描画パラメータのうち座標変換行列だけを適用した中間データを、内部形式の中間データとして生成する。キャッシュ作成部122が作成した中間形式の中間データは、RIPモジュール100の内部的なキャッシュデータ(「内部キャッシュ」)としてキャッシュメモリ124に記憶される。
内部キャッシュは、外部リソースよりも抽象度が高いので、再利用される可能性が外部リソースよりも高い。例えば、あるオブジェクト(PDL)に対応する内部キャッシュに描画パラメータが1つも適用されていない場合、そのオブジェクトにどのような描画パラメータが適用される場合でも、その内部キャッシュを利用して外部リソースを生成することができる。これに対し、外部リソースは、既に描画パラメータ群が適用済みなので、その適用済みの描画パラメータ群と一致する描画パラメータ群が適用されるオブジェクトに対して再利用される。
内部キャッシュ利用の外部リソース生成処理において、キャッシュ判定部120は、リソースID生成部108から処理対象として指示されたオブジェクトに対応する内部キャッシュがキャッシュメモリ124内にあるかどうかを判定する(S32)。
S32の判定結果が否定(No)の場合、キャッシュ作成部122が、そのオブジェクトのPDL解析結果を処理することで内部キャッシュを作成し(S34)、作成した内部キャッシュをキャッシュメモリ124に記憶する。
ここで、内部キャッシュは、例えば元のオブジェクトのPDLデータの解析結果から取得されるフォームID、又はそのフォームIDから生成される識別情報、をインデックス(「キャッシュID」と呼ぶ)として、キャッシュメモリ124に格納される。なお、PDLのオブジェクトが内部形式の複数のオブジェクトに変換される場合には、キャッシュメモリ124には、例えば、それら内部形式の複数のオブジェクトを1つのグループとし、そのグループをキャッシュIDに対応付けて格納すればよい。S32の判定は、オブジェクトのPDLデータの解析結果から分かるキャッシュIDに対応するエントリがキャッシュメモリ124内に存在するかを調べることで実行される。
なお、RIPモジュール100の処理にあたっては、元のオブジェクトのPDLデータの実体(例えばそのオブジェクトの名前やオブジェクト辞書)がメモリ空間上に置かれ、その実体へのポインタは、PDLレベルで同じオブジェクトについては一致する。このポインタを、そのオブジェクトに対応する内部キャッシュのキャッシュIDとして用いてもよい。この方式によれば、PDLデータ内にフォームIDが記述されていないオブジェクトについても、そのオブジェクトの内部キャッシュを、識別可能な状態でキャッシュメモリ125に記憶することができる。
さて、S34の内部キャッシュの作成・記憶が成功した場合(S35の判定結果がYes)、キャッシュ利用変換部126がその内部キャッシュを参照し、その内部キャッシュに対して必要な描画パラメータ群(すなわち外部リソースには適用されているべき描画パラメータのうち、内部キャッシュには未適用のもの)を適用することで、外部リソースを生成する(S36)。生成された外部リソースは、後処理部110に渡される。外部リソースを受け取った後の後処理部110及びその後続の機能モジュールの処理は、既に説明したとおりである。
キャッシュ作成部122による内部キャッシュの作成は、例えばキャッシュメモリ124の空き容量不足等の理由により失敗する場合がある。内部キャッシュの作成が失敗した場合、キャッシュ利用変換部126による外部リソースの生成は実行できない。この場合(S35の判定結果がNo)、図2の例では、変換部128が、解釈部102からのPDLデータの解析結果を直接、外部形式の中間データへと変換する(S38)。この変換を「直接描画変換」と呼ぶ。この直接描画変換の処理は、通常処理パス上の変換部104が実行する処理と同じである。直接描画変換により生成された外部リソースは、後処理部110に渡される。後処理部110以降の処理は、既に説明したとおりである。
S32の判定結果が肯定(Yes)、すなわちキャッシュ判定部120でキャッシュがヒットした場合は、キャッシュ利用変換部126が、当該オブジェクトに対応する内部キャッシュをキャッシュメモリ124から読み出し、その内部キャッシュに対して描画パラメータを更に適用することで、外部リソースを生成し、その外部リソースを後処理部110に出力する(S36)。
以上、本発明の一実施形態を説明した。この実施形態では、入力されたオブジェクトに対応する外部リソースが外部リソース記憶部25にない場合でも、そのオブジェクトに対応する内部キャッシュがキャッシュメモリ124にあれば、内部キャッシュが再利用できるので、その内部キャッシュを再度作成する場合よりも処理負荷が軽減される。内部キャッシュは外部リソースよりも抽象度が高いため、ヒットしやすい。例えば、同じオブジェクトを小さい角度ずつ回転させて異なる場所に複数配置した印刷画像を生成する場合、前のオブジェクトについて生成された外部リソースは、回転角度(これは描画パラメータの1つ)が異なる後のオブジェクトの画像の生成の際には再利用できない。しかし、回転角度を反映していない内部キャッシュであれば、後のオブジェクトの描画に利用できる。すなわちこの場合、内部キャッシュに対して、後のオブジェクトについての回転角度を適用することで、そのオブジェクトについての外部リソース(ひいてはラスターデータ)を生成することができる。
また、本実施形態では、キャッシュ作成部122が内部キャッシュの作成に失敗しても、変換部128で外部リソースが生成されるので、外部リソースの再利用は可能となる。
<第1の変形例>
次に、図5及び図6を参照して、第1の変形例について説明する。図5はこの変形例におけるRIPモジュール100の構成例を示し、図6はこの変形例におけるRIPモジュール100の処理手順の例を示す。
図5から分かるように、この変形例のRIPモジュール100は、図2に示した上記実施形態のRIPモジュール100に対して、判定部106と直接描画パス(変換部130)を追加したものである。
直接描画パスは、外部リソース化対象のオブジェクトのうちある条件を満たすものについては、外部リソースを作らず、したがって外部リソースの再利用も行わない場合の処理経路である。直接描画パスに進む条件としては、例えば次の2つが考えられる。
(ア)面積やデータサイズが、あらかじめ定めた閾値よりも小さい。
(イ)PDLデータ中にそのオブジェクトの識別情報(フォームID等)が含まれていない。
条件(ア)は、特許文献1の段落0058に記載された、「キャッシュ対象としないフォーム」の条件と同じものである。条件(ア)を満たすオブジェクトについては、外部リソースを作成して外部リソース記憶部25に登録し再利用するのに要する計算コストが、再利用により得られる利益よりも高いと考えられるため、外部リソースを作成しない。
条件(イ)を満たすオブジェクトは、そのオブジェクトについての外部リソースのための外部リソースIDの作成が困難であるため、外部リソースを作成しない。先に例示した外部リソースIDは、フォームID等のPDLデータ上でのオブジェクトの識別情報と、描画パラメータ群とを組み合わせて作成するので、PDLデータからオブジェクトの識別情報が得られない場合には、その外部リソースIDは生成できない。PDLデータにオブジェクトの識別情報が含まれていない場合でも、最悪そのオブジェクトのPDLの記述全部を識別情報とするなどの方法で、外部リソースIDの元になるオブジェクトの識別情報を用意することが考えられるが、このような方法は計算コストが高くなる。
判定部106は、解釈部102から得た外部リソース化対象のオブジェクトの解析結果から、そのオブジェクトが上に例示した条件(ア)又は(イ)の少なくとも1つを満たした場合、そのオブジェクトを直接描画パスに振り分ける。条件(ア)及び(イ)のどちらも満たさないオブジェクトは、図2の実施形態同様、リソースID生成部108に送られ、外部リソース再利用パス又は外部リソース生成パスに振り分けられる。
直接描画パスでは、変換部130が、受け取ったオブジェクトの解析結果を外部形式の中間データへと直接変換する(直接描画変換)。この変換部130の変換処理は、通常処理パスの変換部104の処理と同様でよい。
図6に示すこの変形例の処理手順は、図3に示した実施形態の処理手順に、直接描画パスのためのステップS40、S42、S44を追加したものである。この手順では、解釈部102が外部リソース化の対象と判定(S14の判定結果がYes)したオブジェクトについて、判定部106は、そのオブジェクトが外部リソースの作成を取りやめる条件(例えば上記条件(ア)及び(イ))を満たすかどうかをチェックする(S40)。このチェックの結果、その条件を満たさないオブジェクト(S42の判定結果がYes)については、S20に進み、上記実施形態の処理と同様、外部リソースの作成を行う。これに対し、その条件を満たすオブジェクト(S42の判定結果がNo)については、変換部130が外部形式へと直接変換する(S44)。この変換結果は、スプール20へと出力される。
この第1の変形例では、外部リソースを作成して再利用するとかえって計算負荷が増大する可能性が高い場合に、外部リソースを作成しないことにより、負荷増大を抑制している。
<第2の変形例>
次に、図7及び図8を参照して、第2の変形例について説明する。図7はこの変形例におけるRIPモジュール100の構成例を示し、図8はこの変形例におけるRIPモジュール100の処理手順の例を示す。
図7から分かるように、この変形例のRIPモジュール100は、図5に示した第1の変形例の直接描画パス上の変換部130の代わりに、外部リソース生成パス上のキャッシュ機構と同様のキャッシュ機構(キャッシュ判定部131〜変換部138)を設けたものである。キャッシュ判定部131、キャッシュ作成部132、キャッシュメモリ134、キャッシュ利用変換部136、及び変換部138の機能は、外部リソース生成パス上のキャッシュ判定部120、キャッシュ作成部122、キャッシュメモリ124、キャッシュ利用変換部126、及び変換部128の機能とそれぞれ同じである。
図8に示すこの変形例の処理手順は、図6に示した第1の変形例の処理手順のステップS44をS46に置き換えたものである。S46は、PDLデータの解釈結果を、内部キャッシュを利用して外部形式に変換する処理であり、S46では、キャッシュ判定部131〜変換部138が、図4に示したステップS32〜S38の手順と同様の処理を行う。
この第2の変形例では、外部リソース生成パスの対象のオブジェクトだけで無く、直接描画パスの対象となったオブジェクトについても、内部キャッシュを利用した処理の効率化が図られている。
<第3の変形例>
次に、図9を参照して、第3の変形例について説明する。
上述した第2の変形例では、外部リソース生成パスと直接描画パスのそれぞれに対して個別に、内部キャッシュ用のキャッシュメモリ124と134を設けていた。それに対してこの第3の変形例では、それら両パスで1つのキャッシュメモリ125を共有する。すなわち、キャッシュ作成部122及び132は、作成した内部キャッシュを共通のキャッシュメモリ125に登録し、キャッシュ利用変換部126及び136は、その共通のキャッシュメモリ125から内部キャッシュを読み出して再利用する。
この変形例では、外部リソース生成パスと直接描画パスのいずれか一方で内部キャッシュがいったん生成されると、他方のパスでの変換にもその内部キャッシュ再利用することができる。例えば、PDLデータ内のあるオブジェクトの内部キャッシュを外部リソース生成パス上のキャッシュ作成部122が作成した後で、PDLデータ上の後続の同じオブジェクトが直接描画パスに流れた場合、キャッシュ利用変換部136は、外部リソース生成パスで生成されキャッシュメモリ125に登録されているその内部キャッシュを利用して、外部形式の中間データを生成する。
例えば、PDLデータ内のオブジェクトAの記述とオブジェクトBの記述がまったく同じ(すなわちPDLレベルでは両者は同一)でも、オブジェクトAを変換するときとオブジェクトBを変換するときのRIPモジュール100の内部状態(例えば拡大・縮小率やクリッピング設定)の違い等から、オブジェクトAは面積が閾値以上なので外部リソース生成パスに進む一方、オブジェクトBは面積が閾値より小さいので直接描画パスに進むことがあり得る。このような場合、この変形例では、オブジェクトAの変換のために外部リソース生成パス上のキャッシュ作成部122が生成した内部キャッシュが、共通のキャッシュメモリ125を介して、後でオブジェクトBを変換する直接描画パス上のキャッシュ作成部132により利用される。この場合、キャッシュ作成部132の負荷が、内部キャッシュ作成処理の分だけ低減される。
図10は、図9の構成と同様の機能を提供する別の構成を示す。図9の構成は、外部リソース生成パスと直接描画パスのそれぞれにキャッシュ機構を設けていたのに対し、図10の構成はキャッシュ機構を一組(キャッシュ判定部120〜変換部128)しか持たない。その代わりに、直接描画パスとして、リソースID生成部108を迂回してキャッシュ判定部120に至る迂回経路と、後処理部110及び参照オブジェクト生成部112を迂回してスプール20に至る迂回経路を設けている。
判定部106aは、オブジェクトを処理するパスの選択のために「direct」フラグを管理する。「direct」フラグは値「0」と値「1」を取り得る。「direct」フラグが「1」の場合は直接描画パスを選択され、「0」の場合は直接描画パスでない経路が選択される。判定部106aが新たなオブジェクトについて判定を開始する際、「direct」フラグは「0」にリセットされる。判定部106aは、第1の変形例(図5参照)の判定部106と同じ判定処理により、オブジェクトを直接描画パスに送るか否かを判定し、直接描画パスに送ると判定した場合は「direct」フラグの値を「1」にセットする。「direct」フラグが「1」の場合、リソースID生成部108及び後処理部110が迂回されるので、外部リソースは生成されない。
図10の構成は、図9の構成よりもRIPモジュール100のフットプリントを小さく(RIPモジュール100を実装するために要するメモリ等の計算機資源を節約)できる。
<第4の変形例>
次に、図11〜図14を参照して、第4の変形例について説明する。図11から分かるように、この変形例は、図9に示した第3の変形例に対して、直接描画パスのキャッシュ機構内にキャッシュ管理部133を追加したものである。
キャッシュ管理部133は、新たなオブジェクトの内部キャッシュを作成するために必要な空き容量を確保するために、キャッシュメモリ125から古いデータを削除する処理を行う。この削除処理では、外部リソース生成パスと直接描画パスの共有のキャッシュメモリ125に記憶された内部キャッシュのうち、外部リソース生成パスで生成された内部キャッシュを優先的に削除する。すなわち、どちらのパスで生成されたか以外の条件が同一であれば、外部リソース生成パスで生成された内部キャッシュの方を直接描画パスで生成された内部キャッシュよりも先に削除する。外部リソース生成パスで生成された内部キャッシュは仮に削除したとしても、その内部キャッシュから作成した外部リソースが外部リソース記憶部25に記憶されており、後のオブジェクトの処理においてこの外部リソースの再利用が可能である。これに対して直接描画パスで生成された内部キャッシュには対応する外部リソースが存在しないので、その内部キャッシュを削除してしまうと、後のオブジェクトの処理においてその内部キャッシュに関係するデータの再利用ができない。このように、直接描画パスで生成した内部キャッシュを削除する方が、外部リソース生成パスで生成した内部キャッシュを削除するよりも、生成したデータの再利用に関する不利益(ペナルティ)が大きい。このため、この変形例では、外部リソース生成パスで生成した内部キャッシュを優先的に削除するのである。
この削除制御のために、RIPモジュール100は、キャッシュメモリ125内の内部キャッシュを管理するキャッシュエントリ表(図12参照)を作成し、管理する。図12に例示するキャッシュエントリ表は、内部キャッシュのエントリ毎に、エントリ番号(エントリNo.)、キャッシュID、キャッシュサイズ、パスIDの4つの項目のデータを保持している。エントリ番号は、当該内部キャッシュを作成した順の連番であり、この番号が小さいエントリほど作成順が古い。キャッシュサイズは、当該内部キャッシュのデータサイズである。パスIDは、その内部キャッシュを作成したパスの識別情報であり、この例ではパスID「1」は外部リソース生成パスを示し、パスID「2」は直接描画パスを示す。
図13を参照して、この変形例における直接描画パスのキャッシュ機構の処理手順の例を説明する。
この手順では、キャッシュ判定部131は、判定部106から入力されたオブジェクトに対応する内部キャッシュがキャッシュメモリ125内にあるかどうかを判定する(S32)。S32の判定結果がYesの場合、キャッシュ利用変換部136が、当該オブジェクトに対応する内部キャッシュをキャッシュメモリ125から読み出し、その内部キャッシュに対して描画パラメータを更に適用することで、外部リソースを生成し、その外部リソースを後処理部110に出力する(S36)。
S32の判定結果が否定(No)の場合、キャッシュ作成部132が、そのオブジェクトの内部キャッシュを記憶するのに必要な容量の空きがあるかどうかを判定する(S33)。例えば、そのオブジェクトのPDLの解析結果から、そのオブジェクトを構成するPDLコマンドの数やそのオブジェクトの画像としての面積等を示す情報が得られるので、それらの情報からそのオブジェクトの内部キャッシュのデータ量を見積もることができる。キャッシュメモリ125の空き容量がその見積もった値より多ければ、S33ではメモリ不足とは判定されず(No)、この場合キャッシュ作成部132は内部キャッシュをキャッシュメモリ125内に作成する(S34)。そして、キャッシュ利用変換部136がその内部キャッシュに描画パラメータ群を適用して外部リソースを生成する(S36)。図13の例では、キャッシュメモリ125の空き容量が十分ならば内部キャッシュの作成(S34)は失敗しないとみなしているが、空き容量が十分でも失敗する場合がある場合には、図4の手順と同様、S34の後にキャッシュ作成の失敗、成功を確認するステップS35を設け、失敗した場合には直接描画変換(S38)を行うようにしてもよい。
S34でキャッシュメモリ125の空き容量が不足していると判定された場合(S33の判定結果がYes)、キャッシュ管理部133がキャッシュメモリ125内のいくつかの内部キャッシュを削除して、必要な空き容量の確保を試みる(S50)。そしてキャッシュ管理部133は、内部キャッシュの削除により必要な空き容量ができたかどうかを判定する(S39)。S39で必要な空き容量ができたと判定された場合(Yes)、S34に進み、キャッシュ作成部132が当該オブジェクトの内部キャッシュを作成する。S39で、削除可能な内部キャッシュを全て削除しても必要な空き容量ができないと判定された場合(No)、当該オブジェクトについては内部キャッシュの作成をあきらめ、変換部138が、解釈部102からのPDLデータの解析結果を直接、外部形式の中間データへと変換する(S38)。
S50の詳細な処理の例を、図14を参照して説明する。図14の処理では、キャッシュ管理部133は、キャッシュエントリ表(図12参照)からエントリNo.の順に次のエントリを取得する(S52)。次のエントリを取得できなければ(S54の判定結果がNo)、処理結果を「失敗」としてキャッシュ削除の処理を終了する。次エントリを取得できた場合(S54の判定結果がYes)、そのエントリのパスIDが「1」(外部リソース生成パスで生成)であるかどうかを判定する(S56)。この判定の結果がYesの場合は、そのエントリのデータをキャッシュメモリ125からの削除対象として記録する(S58)(この時点ではまだ実際には削除しなくてよい)。そして、キャッシュメモリ125の空き容量に、削除対象としたそのエントリのキャッシュサイズ(図12参照)を加算する。これにより、そのエントリを削除した場合の空き容量が計算できる。そして、計算により求めた空き容量が、当該オブジェクトの内部キャッシュのデータ量の見積もり値以上となったかどうかを判定する(S60)。S60の判定結果がNoの場合、S52に戻る。S60の判定結果がYesの場合、そのときまでに削除対象として記録した内部キャッシュを、キャッシュメモリ125から削除し、キャッシュエントリ表からも削除し、処理を終了する。
図14の手順は、あくまで一例に過ぎない。このほかにも、LRU(Least Recently Used)等の従来の削除キャッシュ選択方式により削除対象のキャッシュエントリを選択する際、パスIDを考慮に入れることで、外部リソース生成パスで生成された内部キャッシュが優先的に削除対象に選ばれるようにしてもよい。
図11の例では、直接描画パスにのみキャッシュ管理部133を設けたが、その代わりに、同様のキャッシュ管理部を外部リソース生成パスのキャッシュ機構内に設けてもよいし、両方のパスにそれぞれキャッシュ管理部を設けてもよい。
図11の例は、外部リソース生成パスと直接描画パスとで共有のキャッシュメモリ125を用いた場合であるが、この変形例の制御は、それら両パスに別々のキャッシュメモリ124及び134を設ける場合(図7参照)にも適用可能である。それら両パスのキャッシュメモリ124及び134が、RIPモジュール100を実行しているコンピュータの同じメインメモリ上に確保される場合、メインメモリの空き容量が少なくなると、それらキャッシュメモリの空きも少なくなり、新たな内部キャッシュが記憶できなくなる。この場合に、それら2つのキャッシュメモリ124又は134に記憶された内部キャッシュを削除すれば、メインメモリの空き容量が増えることでキャッシュメモリの空き容量が増え、新たな内部キャッシュの記憶が可能になる。この例では、キャッシュエントリ表は、それら2つのキャッシュメモリで共通の図12と同様のものとし、各キャッシュ作成部122及び132は、内部キャッシュをそれぞれのキャッシュメモリ124及び134に登録した場合、そのキャッシュエントリ表にその内部キャッシュの情報を登録する。そして、キャッシュ管理部133は、キャッシュメモリ134の空き容量が不足していると判断した場合(図13のS33)、上述と同様の判定方法で削除対象の内部キャッシュを判定し、判定した削除対象の内部キャッシュを記憶しているキャッシュメモリ124又は134からその内部キャッシュを削除する。
またこの変形例の制御と同様の制御は、図10に示したRIPモジュール100にも適用可能である。この場合、キャッシュ作成部122は、内部キャッシュを生成する際の「direct」フラグの値をその内部キャッシュのパスIDの値としてキャッシュエントリ表(図12参照)に登録すればよい。
<第5の変形例>
次に、図15及び図16を参照して、第5の変形例について説明する。
図15を図7と比較すると分かるように、この変形例では、外部リソース生成パス上にはキャッシュ機構を設けず、その代わりに変換部140を設け、直接描画パス上にキャッシュ機構を設けている。
外部リソース生成パス上の変換部140は、変換部104と同様の処理を行うことで、PDLの解析結果を外部形式のデータ(外部リソース)へと直接変換する。変換部140が生成した外部リソースは、リソースID生成部108が生成した外部リソースIDと対応付けて、後処理部110により外部リソース記憶部25に登録される。また、参照オブジェクト生成部112は、その外部リソースIDを参照する旨を示す外部形式の参照オブジェクトを生成し、スプール20へ出力する。
直接描画パス上のキャッシュ機構(キャッシュ判定部131〜変換部138)の機能は、図7を参照して説明した上記第2の変形例のキャッシュ機構(キャッシュ判定部131〜変換部138)と同じである。
図16に、この変形例のRIPモジュール100の処理手順の例を示す。図16の手順のうち、図8に示した第2の変形例の手順と同様のステップには同一符号を付し、説明を省略する。
図16の手順では、図8の手順のうち外部リソース生成パスでのキャッシュ機構を利用した処理(S30)が、変換部140によるPDLから外部形式への描画変換(S27)に置き換えられている。直接描画パスでは、図8の手順と同様、キャッシュ機構(キャッシュ判定部131〜変換部138)を利用した変換(S46)が行われることで、PDLから内部形式への変換結果(内部キャッシュ)の再利用が図られる。
外部リソース生成パスと直接描画パスにそれぞれ相当する部分で、内部キャッシュを記憶し再利用するキャッシュ機構を用いずに、PDLから外部形式への変換を行うシステムは従来存在する。このようなシステムは、例えば、特許文献1に示されている。特許文献1に示されたシステムでは、フォーム等の特定の種類のオブジェクトの処理を行うパス(処理経路)(「第1パス」と呼ぶ)では回転や拡大縮小等のための座標変換や、線幅等の描画属性、クリップ情報、カラー情報等の、印刷のための各種描画パラメータが適用された、抽象度がかなり低い形式(「外部形式」に相当)の中間データをキャッシュに記憶して再利用すると共に、そのような再利用による利益がそのためのコストに見合わないと判定されるオブジェクトについては別の処理パス(「第2パス」と呼ぶ)を用意し、第2パスではオブジェクトを単に外部形式に変換するだけで、キャッシュへの記憶や再利用のための処理は行わない。第1パスは「外部リソース生成パス」に相当し、第2パスは「直接描画パス」に相当する。特許文献1のシステムでは、第1パス及び第2パスのいずれでも、その処理の途中段階のデータをキャッシュに記憶し、再利用することは行っていない。このようなシステムでは、第2生成パスでは処理結果のデータをキャッシュに記憶して再利用を図っているが、第2パスについては、その処理の途中及び最後で得られるデータ(中間データ等)のいずれについても再利用がまったく行われていない。このため、第2パスに振り分けられるオブジェクトが多い場合、システム全体の処理効率がよくない。
これに対し、この第5の変形例のシステムでは、直接描画パス上でPDLから内部形式、内部形式から外部形式の2段階の変換を行い、処理途中の内部形式のデータをキャッシュ機構に記憶して再利用する。このため、この変形例では、例えば直接描画パスに割り振られるオブジェクトが多い場合でも、処理効率の低下が抑制される。
以上、本発明の実施形態及び変形例を説明した。それら実施形態及び変形例では、外部形式は中間データ形式の一種であったが、ラスターデータを外部形式として用いる場合にもそれら実施形態及び変形例の手法は適用可能である。
上記実施形態及び変形例のフロントエンド装置10(特にその中のRIPモジュール100)は、例えば、当該装置を構成する各機能モジュールの処理を表すプログラムをコンピュータに実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、FPGA(Field Programmable Gate Array)、又はDRP(Dynamic Reconfigurable Processor)等のハードウエア回路として構成してもよい。
10 フロントエンド装置、12 ジョブ入力部、20 スプール、25 外部リソース記憶部、30 バックエンド装置、40 印刷装置、100 RIPモジュール、102 解釈部、104 変換部、106,106a 判定部、108 リソースID生成部、110 後処理部、112 参照オブジェクト生成部、120 キャッシュ判定部、122 キャッシュ作成部、124,125 キャッシュメモリ、126 キャッシュ利用変換部、128,130 変換部、131 キャッシュ判定部、132 キャッシュ作成部、133 キャッシュ管理部、134 キャッシュメモリ、136 キャッシュ利用変換部、138,140 変換部。

Claims (10)

  1. 文書要素のページ記述言語データを解釈して得られた解釈結果から当該文書要素についての第1形式のデータである第1形式データを生成し、生成した前記第1形式データを第1記憶手段に記憶する第1生成手段であって、同じ文書要素についての前記第1形式データが前記第1記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略する第1生成手段と、
    前記第1記憶手段に記憶された前記文書要素についての前記第1形式データから、前記第1形式データよりも多くの描画パラメータが適用された第2形式のデータである第2形式データを生成し、生成した前記第2形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて第2記憶手段に記憶させる第2生成手段であって、当該組合せに対応する識別情報に対応付けられた前記第2形式データが前記第2記憶手段に既に記憶されている場合は、当該組合せについての前記第2形式データの生成を省略する第2生成手段と、
    を含むデータ処理装置。
  2. 入力された文書要素が、その文書要素から生成された前記第2形式データを前記第2記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1生成手段及び前記第2生成手段に処理させる判定手段と、
    前記判定手段の判定の結果が否定の場合に、前記文書要素のページ記述言語データを解釈して得られた解釈結果から前記文書要素についての前記第1形式データを生成し、生成した前記第1形式データを第3記憶手段に記憶する第3生成手段であって、同じ文書要素についての前記第1形式データが前記第3記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略し、前記第3記憶手段に記憶された前記第1形式データから前記第2形式データを生成し、生成した前記第2形式データを出力する、第3生成手段と、
    を更に含むことを特徴とする請求項1に記載のデータ処理装置。
  3. 前記第1記憶手段と前記第3記憶手段とは共通のメモリ上に設けられており、
    前記第1記憶手段又は前記第3記憶手段の空き容量が不足した場合、前記第1生成手段が生成した前記第1形式データを、前記第3生成手段が記憶した前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、
    を更に含む請求項2に記載のデータ処理装置。
  4. 前記第1記憶手段と前記第3記憶手段を共通の記憶手段としたことを特徴とする請求項2に記載のデータ処理装置。
  5. 前記共通の記憶手段の空き容量が不足した場合、前記第1生成手段が生成した前記第1形式データを、前記第3生成手段が記憶した前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、
    を更に含む請求項4に記載のデータ処理装置。
  6. 入力された文書要素が、前記第2形式データを再利用に備えて前記第2記憶手段に記憶させる対象である再利用対象の文書要素、に該当するか否かを判定する判定手段、
    を更に含み、
    前記第2生成手段は、前記判定手段の判定の結果が肯定の場合には、生成した前記第2形式データを前記第2記憶手段に記憶させ、前記判定手段の判定の結果が否定の場合には、生成した前記第2形式データを前記第2記憶手段に記憶させずに出力する、
    ことを特徴とする請求項1に記載のデータ処理装置。
  7. 前記第1記憶手段の空き容量が不足した場合に、前記再利用対象に該当する文書要素に対応する前記第1形式データを、前記再利用対象に該当しない文書要素に対応する前記第1形式データよりも優先して前記共通の記憶手段から削除する削除手段、
    を更に含む請求項6に記載のデータ処理装置。
  8. コンピュータを、
    文書要素のページ記述言語データを解釈して得られた解釈結果から当該文書要素についての第1形式のデータである第1形式データを生成し、生成した前記第1形式データを第1記憶手段に記憶する第1生成手段であって、同じ文書要素についての前記第1形式データが前記第1記憶手段に既に記憶されている場合は、当該文書要素については前記第1形式データの生成を省略する第1生成手段、
    前記第1記憶手段に記憶された前記文書要素についての前記第1形式データから、前記第1形式データよりも多くの描画パラメータが適用された第2形式のデータである第2形式データを生成し、生成した前記第2形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて第2記憶手段に記憶させる第2生成手段であって、当該組合せに対応する識別情報に対応付けられた前記第2形式データが前記第2記憶手段に既に記憶されている場合は、当該組合せについての前記第2形式データの生成を省略する第2生成手段、
    として機能させるためのプログラム。
  9. 文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて外部データ記憶手段に記憶する第1手段であって、同じ文書要素についての前記外部形式データが前記外部データ記憶手段に既に記憶されている場合は、当該文書要素については前記外部形式データの生成を省略する第1手段と、
    文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、前記外部データ記憶手段に記憶せずに出力する第2手段と、
    入力された文書要素が、その文書要素から生成された前記外部形式データを前記外部データ記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1手段に処理させ、否定の場合は前記文書要素を前記第2生成手段に処理させる判定手段と、
    を含み、
    前記第2手段は、
    前記文書要素のページ記述言語データについての前記解釈結果から、前記外部形式データよりも適用される描画パラメータが少ない内部形式データを生成し、生成した前記内部形式データを内部データ記憶手段に記憶させる内部データ生成手段であって、前記文書要素についての前記内部形式データが前記内部データ記憶手段に既に記憶されている場合は、当該文書要素については前記内部形式データの生成を省略する内部データ生成手段と、
    前記文書要素についての前記内部形式データに対して更に描画パラメータを適用することで、前記文書要素についての前記外部形式データを生成する手段と、
    を有する、ことを特徴とするデータ処理装置。
  10. コンピュータを、
    文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、再利用に備えて当該文書要素と前記描画パラメータの組合せに対応する識別情報と対応付けて外部データ記憶手段に記憶する第1手段であって、同じ文書要素についての前記外部形式データが前記外部データ記憶手段に既に記憶されている場合は、当該文書要素については前記外部形式データの生成を省略する第1手段、
    文書要素のページ記述言語データを解釈し、その解釈結果にあらかじめ定められた1以上の描画パラメータを適用することで外部形式データを生成し、生成した前記外部形式データを、前記外部データ記憶手段に記憶せずに出力する第2手段、
    入力された文書要素が、その文書要素から生成された前記外部形式データを前記外部データ記憶手段に記憶させる対象の文書要素に該当するか否かを判定し、この判定の結果が肯定の場合は前記文書要素を前記第1手段に処理させ、否定の場合は前記文書要素を前記第2生成手段に処理させる判定手段、
    として機能させるためのプログラムであって、
    前記第2手段は、
    前記文書要素のページ記述言語データについての前記解釈結果から、前記外部形式データよりも適用される描画パラメータが少ない内部形式データを生成し、生成した前記内部形式データを内部データ記憶手段に記憶させる内部データ生成手段であって、前記文書要素についての前記内部形式データが前記内部データ記憶手段に既に記憶されている場合は、当該文書要素については前記内部形式データの生成を省略する内部データ生成手段と、
    前記文書要素についての前記内部形式データに対して更に描画パラメータを適用することで、前記文書要素についての前記外部形式データを生成する手段と、
    を有する、ことを特徴とするプログラム。
JP2015092103A 2015-04-28 2015-04-28 データ処理装置及びプログラム Active JP6432438B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015092103A JP6432438B2 (ja) 2015-04-28 2015-04-28 データ処理装置及びプログラム
US14/881,403 US20160321279A1 (en) 2015-04-28 2015-10-13 Data processing apparatus and non-transitory computer readable medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015092103A JP6432438B2 (ja) 2015-04-28 2015-04-28 データ処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016207172A JP2016207172A (ja) 2016-12-08
JP6432438B2 true JP6432438B2 (ja) 2018-12-05

Family

ID=57205793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015092103A Active JP6432438B2 (ja) 2015-04-28 2015-04-28 データ処理装置及びプログラム

Country Status (2)

Country Link
US (1) US20160321279A1 (ja)
JP (1) JP6432438B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019036310A1 (en) * 2017-08-12 2019-02-21 Fulcrum 103, Ltd. METHOD AND APPARATUS FOR CONVERTING AND DISPLAYING DATA
JP2021071811A (ja) * 2019-10-29 2021-05-06 富士ゼロックス株式会社 印刷制御装置、印刷システム、及び印刷制御プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396593B1 (en) * 2000-01-10 2002-05-28 Imagex, Inc. Postscript to bitmap conversion of graphic image files
US6381032B1 (en) * 2000-01-10 2002-04-30 Imagex, Inc. Postscript to PDF conversion of graphic image files
US9098475B2 (en) * 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US7536636B2 (en) * 2004-04-26 2009-05-19 Kodak Graphic Communications Canada Company Systems and methods for comparing documents containing graphic elements
US7839521B2 (en) * 2005-08-09 2010-11-23 Global Print Systems, Inc. Methods and systems for print job management and printing
JP5679652B2 (ja) * 2009-12-09 2015-03-04 キヤノン株式会社 印刷装置、情報処理方法及びプログラム
JP5747489B2 (ja) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置及びプログラム
JP4905604B1 (ja) * 2011-09-26 2012-03-28 富士ゼロックス株式会社 印刷データ処理システム及びプログラム
JP5288039B1 (ja) * 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム

Also Published As

Publication number Publication date
US20160321279A1 (en) 2016-11-03
JP2016207172A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
US8553272B2 (en) Image processing apparatus, image processing method, program therefor, and medium storing program
US8345298B2 (en) Print control apparatus, for performing a printing operation by reusing rendering completed data
US8576435B2 (en) Print-document conversion apparatus, print-document conversion method, and computer-readable medium storing program
US9015722B2 (en) Efficient cache reuse through application determined scheduling
JP5747489B2 (ja) 印刷文書処理システム、キャッシュ装置及びプログラム
CN107844278B (zh) 图像处理装置和方法
US8502830B2 (en) Image processing apparatus, image processing method, and storage medium
JP2014093045A (ja) 印刷画像処理システムおよびプログラム
JP6432438B2 (ja) データ処理装置及びプログラム
US20100231952A1 (en) Printing system and method
JPH11198462A (ja) 印刷装置及び画像処理方法
US8325376B2 (en) Image-forming device having index printing function
US20170039138A1 (en) Information processing system, information processing method, and recording medium storing an information processing program
US8456685B2 (en) Image forming apparatus searching an registering objects of interest in a cache based on a criterion
US7123368B2 (en) Print object converter, print object conversion method, and computer-readable recording medium for recording programs relating to print object conversion method
US8526052B2 (en) Print data processing apparatus, control method for print data processing apparatus, and storage medium
JP5244770B2 (ja) 画像形成装置
US20130258374A1 (en) Parallel printing system
US9817620B2 (en) Predictive object-sequence caching from prior page content
US20180039870A1 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
EP2284689A2 (en) PDL data processing device
US8756491B2 (en) PDL data processing device
JP4116997B2 (ja) 画像処理装置
JP3406706B2 (ja) 状態変数管理方法
US20120221806A1 (en) Information processing apparatus, method for controlling same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6432438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350