JP2015001882A - Print image processing system and program - Google Patents
Print image processing system and program Download PDFInfo
- Publication number
- JP2015001882A JP2015001882A JP2013126747A JP2013126747A JP2015001882A JP 2015001882 A JP2015001882 A JP 2015001882A JP 2013126747 A JP2013126747 A JP 2013126747A JP 2013126747 A JP2013126747 A JP 2013126747A JP 2015001882 A JP2015001882 A JP 2015001882A
- Authority
- JP
- Japan
- Prior art keywords
- interpretation
- cache
- logical page
- unit
- page
- 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.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
Description
本発明は、印刷画像処理システムおよびプログラムに関する。 The present invention relates to a print image processing system and a program.
一般に、パーソナルコンピュータから印刷装置に送られる印刷文書データは、PostScript(登録商標)やPDF( Portable Data Format: ISO 32000-1) などのページ記述言語(以下、PDLと呼ぶ。PDLはPage Description Languageの略)で記述されている。印刷装置では、RIP( Raster Image Processor)と呼ばれるデータ処理装置により印刷文書データをビットマップ形式(ラスター形式とも呼ばれる)の画像データに変換し、その画像データをプリントエンジンにより印刷する。また、PDLデータを直接ラスター画像に変換する方式の他に、PDLデータをPDLコマンドよりは粒度の小さいディスプレイリスト等の中間言語形式のデータに変換してバッファし、バッファした中間言語形式のデータをビットマップ形式に変換するという2段階の変換を行う印刷装置もよく知られている。 In general, print document data sent from a personal computer to a printing apparatus is called a page description language (hereinafter referred to as PDL) such as PostScript (registered trademark) or PDF (Portable Data Format: ISO 32000-1). Abbreviation). In a printing apparatus, print document data is converted into image data in a bitmap format (also called a raster format) by a data processing device called RIP (Raster Image Processor), and the image data is printed by a print engine. In addition to the method of directly converting PDL data to a raster image, PDL data is converted into intermediate language format data such as a display list having a smaller granularity than the PDL command and buffered. A printing apparatus that performs a two-stage conversion of a bitmap format is also well known.
従来、PDLデータからビットマップ形式又は中間言語形式の画像データへの変換を、ページ単位などのあらかじめ定められた単位ごとに、複数のデータ処理装置で並列的に実行するシステムも知られている。 2. Description of the Related Art Conventionally, there is also known a system in which conversion from PDL data to image data in a bitmap format or an intermediate language format is executed in parallel by a plurality of data processing devices for each predetermined unit such as a page unit.
また、従来、あるデータ処理装置が印刷データ中のPDLで記述された文書要素(オブジェクト)をビットマップ形式又は中間言語形式へ変換した場合に、その変換結果のデータを文書要素の識別情報と対応づけてキャッシュメモリにキャッシュし、後で同じ又は異なるデータ処理装置が同じ文書要素を変換する必要が生じた場合には、キャッシュされたデータを使用することで、変換処理を省略することも行われている。 Conventionally, when a data processing apparatus converts a document element (object) described in PDL in print data into a bitmap format or an intermediate language format, the conversion result data corresponds to the document element identification information. If the same document element needs to be converted later by the same or different data processing device, the conversion process may be omitted by using the cached data. ing.
特許文献1には、ページ記述言語の印刷データを印刷装置で取り扱い可能なビットマップ等の画像データに変換するための機構を、PDLから中間データへ変換する中間データ生成部と、中間データを画像データに変換する描画データ生成部の2段階に分け、中間データ生成部と描画データ生成部をそれぞれ複数並列動作させるシステムが開示されている。特許文献1の図13〜図20に関する説明では、複数のページで繰り返し利用されるフォームの取り扱いについての例が示されている。その説明では、フォームの中間データ又は画像データを描画データ生成部内のキャッシュメモリに保存し、そのフォームが含まれるページの画像データを生成する際にキャッシュメモリから取り出したフォームのデータを用いることが示されている。 Patent Document 1 discloses a mechanism for converting print data in a page description language into image data such as a bitmap that can be handled by a printing apparatus, an intermediate data generation unit that converts PDL into intermediate data, and intermediate data as an image. A system is disclosed in which a plurality of intermediate data generation units and a plurality of drawing data generation units are operated in parallel, divided into two stages of a drawing data generation unit that converts data. In the description related to FIGS. 13 to 20 of Patent Document 1, an example of handling a form that is repeatedly used on a plurality of pages is shown. In the description, it is shown that the intermediate data or image data of the form is stored in the cache memory in the drawing data generation unit, and the form data extracted from the cache memory is used when generating the image data of the page including the form. Has been.
特許文献2に開示される印刷文書変換装置では、RIPモジュール制御部が、RIPモジュールを1つのプロセスとして起動する。RIPモジュールは、内部で複数のページ変換処理スレッドを走らせ、それら各スレッドにより複数のページを並列的にRIP処理する。ページ割り当て部は、各ページ変換処理スレッドに対して、印刷文書データのうちのそれぞれ異なるページを割り当てる。複数のページ変換処理スレッドは、同じメモリ空間内にある共有キャッシュを利用することで、プロセス間通信を行うことなく、共有キャッシュ内にある他のページ変換処理スレッドの変換結果(例えばフォームの画像データ等)を再利用する。 In the print document conversion apparatus disclosed in Patent Document 2, the RIP module control unit activates the RIP module as one process. The RIP module internally runs a plurality of page conversion processing threads, and RIP processes a plurality of pages in parallel by each thread. The page allocation unit allocates different pages of the print document data to each page conversion processing thread. Multiple page conversion processing threads use the shared cache in the same memory space, so that the conversion results of other page conversion processing threads in the shared cache (e.g., form image data) can be used without inter-process communication. Etc.).
特許文献3に開示された印刷システムでは、PDLの印刷データをラスター画像データに変換する処理のための装置を、前段のフロントエンド装置と後段のバックエンド装置との2つの段階の装置に分けている。そして、前段は複数のフロントエンド装置による並列構成とするとともに、後段は1つのバックエンド装置内に搭載された複数の処理回路による並列構成としている。バックエンド装置内の複数の処理回路は、そのバックエンド装置内にあるキャッシュメモリを共用する。キャッシュメモリ内には、フォームなど、複数のページで共通利用されるオブジェクトのデータがキャッシュされる。
In the printing system disclosed in
本発明は、論理ページを解釈する手段とフォーム等のキャッシュ対象の要素を解釈する手段の数の比率が固定である場合よりも、印刷画像データの生成速度を高くすることを目的とする。 An object of the present invention is to increase the generation speed of print image data as compared with a case where the ratio of the number of means for interpreting logical pages and the number of means for interpreting elements to be cached such as forms is fixed.
請求項1に係る発明は、印刷データ内の論理ページを解釈して解釈結果を出力する論理ページ解釈手段、及び、前記印刷データ内の各論理ページに含まれるキャッシュ対象要素を解釈して解釈結果をキャッシュ手段に記憶させるキャッシュ用解釈手段、として機能することが可能な1以上の両用解釈手段と、前記各両用解釈手段を、前記論理ページ解釈手段及び前記キャッシュ用解釈手段のいずれとして機能させるかを切り替える切り替え手段と、前記各論理ページ解釈手段から出力された各論理ページの解釈結果と、前記キャッシュ手段に記憶された前記キャッシュ対象要素の解釈結果とを用いて、前記各論理ページの印刷画像データを生成し、生成した印刷画像データを印刷装置に供給する印刷画像データ生成手段と、を有し、前記キャッシュ用解釈手段は、前記キャッシュ手段に解釈結果が記憶されていないキャッシュ対象要素を前記印刷データから見つけると、見つけたキャッシュ対象要素を解釈し、その解釈結果を、あらかじめ定められた生成規則に従って当該キャッシュ対象要素のデータから生成したキャッシュ識別情報と対応づけて前記キャッシュ手段に記憶させ、前記論理ページ解釈手段は、それぞれ、処理対象の論理ページに含まれるキャッシュ対象要素について、そのキャッシュ対象要素を解釈する代わりに、当該キャッシュ対象要素のデータから前記生成規則に従って生成したキャッシュ識別情報を含むキャッシュ参照コマンドを生成し、生成したキャッシュ参照コマンドを当該キャッシュ対象要素の解釈結果として当該論理ページの解釈結果に組み込み、前記印刷画像データ生成手段は、前記各論理ページ解釈手段が出力した各論理ページの解釈結果から印刷画像データを生成する際、前記論理ページの解釈結果から前記キャッシュ参照コマンドを見つけると、当該キャッシュ参照コマンドに含まれる前記キャッシュ識別情報に対応する解釈結果を前記キャッシュ手段から取得し、取得した解釈した解釈結果を用いて当該キャッシュ識別情報に対応するキャッシュ対象要素の印刷画像データを生成し、当該論理ページの印刷画像データに合成し、前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分に基づき、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものと前記論理ページ解釈手段として機能させるものとの比率を制御する、ことを特徴とする印刷画像処理システムである。 The invention according to claim 1 interprets the logical page in the print data and outputs the interpretation result, and interprets the cache target element included in each logical page in the print data. One or more dual-use interpreting means capable of functioning as cache interpreting means for storing the cache means in the cache means, and whether each of the dual-use interpreting means functions as the logical page interpreting means or the cache interpreting means. A print image of each logical page by using the switching means for switching between, the interpretation result of each logical page output from each logical page interpretation means, and the interpretation result of the cache target element stored in the cache means Print image data generation means for generating data and supplying the generated print image data to a printing apparatus. When the cache interpreting unit finds a cache target element whose interpretation result is not stored in the cache unit from the print data, it interprets the found cache target element, and interprets the interpretation result according to a predetermined generation rule. The logical page interpretation unit interprets the cache target element for each cache target element included in the logical page to be processed in association with the cache identification information generated from the data of the cache target element. Instead, the cache reference command including the cache identification information generated according to the generation rule is generated from the data of the cache target element, and the generated cache reference command is converted into the interpretation result of the logical page as the interpretation result of the cache target element. Built-in, When the print image data generating means generates the print image data from the interpretation result of each logical page output from each logical page interpreting means and finds the cache reference command from the interpretation result of the logical page, the cache reference An interpretation result corresponding to the cache identification information included in the command is acquired from the cache unit, and print image data of a cache target element corresponding to the cache identification information is generated using the acquired interpretation result, and the logic The switching unit is combined with the print image data of the page, and the switching unit interprets the progress of the interpretation of the cache target element in the print data by the cache interpretation unit, and interprets the logical page in the print data by the logical page interpretation unit. One or more dual-use interpreting means based on the difference between the degree of progress and The print image processing system is characterized in that the ratio between the one that functions as the cache interpretation means and the one that functions as the logical page interpretation means is controlled.
請求項2に係る発明は、前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分があらかじめ定めた範囲内に収まるよう、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものと前記論理ページ解釈手段として機能させるものとの比率を制御することを特徴とする請求項1に記載の印刷画像処理システムである。 According to a second aspect of the present invention, the switching unit includes a progress degree of interpretation of the cache target element in the print data by the cache interpretation unit, and interpretation of a logical page in the print data by the logical page interpretation unit. The ratio of the one functioning as the cache interpreting means to the function functioning as the logical page interpreting means among the one or more dual interpreting means is controlled so that the difference between the degree of progress and the difference is within a predetermined range. The print image processing system according to claim 1.
請求項3に係る発明は、前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いから、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いを減算して得られる先行度が大きいほど、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものの比率を小さくする、ことを特徴とする請求項1又は2に記載の印刷画像処理システムである。 According to a third aspect of the present invention, the switching unit determines whether the logical page interpretation unit interprets the logical page in the print data based on the progress of interpretation of the cache target element in the print data by the cache interpretation unit. 3. The ratio of the one or more dual-purpose interpreting units that function as the cache interpreting unit is reduced as the leading degree obtained by subtracting the progress degree is increased. 3. A print image processing system.
請求項4に係る発明は、前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いから、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いを減算して得られる先行度が小さいほど、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものの比率を大きくする、ことを特徴とする請求項1〜3のいずれか1項に記載の印刷画像処理システムである。 According to a fourth aspect of the present invention, the switching unit determines whether the logical page interpretation unit interprets a logical page in the print data based on a progress degree of interpretation of the cache target element in the print data by the cache interpretation unit. 4. The ratio of the one or more dual-use interpreting means that functions as the cache interpreting means is increased as the leading degree obtained by subtracting the progress degree is smaller. The print image processing system according to item 1.
請求項5に係る発明は、コンピュータを、印刷データ内の論理ページを解釈して解釈結果を出力する論理ページ解釈手段、及び、前記印刷データ内の各論理ページに含まれるキャッシュ対象要素を解釈して解釈結果をキャッシュ手段に記憶させるキャッシュ用解釈手段、として機能することが可能な1以上の両用解釈手段、前記各両用解釈手段を、前記論理ページ解釈手段及び前記キャッシュ用解釈手段のいずれとして機能させるかを切り替える切り替え手段、前記各論理ページ解釈手段から出力された各論理ページの解釈結果と、前記キャッシュ手段に記憶された前記キャッシュ対象要素の解釈結果とを用いて、前記各論理ページの印刷画像データを生成し、生成した印刷画像データを印刷装置に供給する印刷画像データ生成手段、として機能させるためのプログラムであって、前記キャッシュ用解釈手段は、前記キャッシュ手段に解釈結果が記憶されていないキャッシュ対象要素を前記印刷データから見つけると、見つけたキャッシュ対象要素を解釈し、その解釈結果を、あらかじめ定められた生成規則に従って当該キャッシュ対象要素のデータから生成したキャッシュ識別情報と対応づけて前記キャッシュ手段に記憶させ、前記論理ページ解釈手段は、それぞれ、処理対象の論理ページに含まれるキャッシュ対象要素について、そのキャッシュ対象要素を解釈する代わりに、当該キャッシュ対象要素のデータから前記生成規則に従って生成したキャッシュ識別情報を含むキャッシュ参照コマンドを生成し、生成したキャッシュ参照コマンドを当該キャッシュ対象要素の解釈結果として当該論理ページの解釈結果に組み込み、前記印刷画像データ生成手段は、前記各論理ページ解釈手段が出力した各論理ページの解釈結果から印刷画像データを生成する際、前記論理ページの解釈結果から前記キャッシュ参照コマンドを見つけると、当該キャッシュ参照コマンドに含まれる前記キャッシュ識別情報に対応する解釈結果を前記キャッシュ手段から取得し、取得した解釈した解釈結果を用いて当該キャッシュ識別情報に対応するキャッシュ対象要素の印刷画像データを生成し、当該論理ページの印刷画像データに合成し、前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分に基づき、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものと前記論理ページ解釈手段として機能させるものとの比率を制御する、ことを特徴とするプログラムである。 The invention according to claim 5 interprets a logical page interpreting means for interpreting a logical page in print data and outputting an interpretation result, and a cache target element included in each logical page in the print data. One or more dual-use interpretation means capable of functioning as cache interpretation means for storing the interpretation result in the cache means, and the dual-use interpretation means function as either the logical page interpretation means or the cache interpretation means. Switching means for switching between the logical page, the interpretation result of each logical page output from each logical page interpretation means, and the interpretation result of the cache target element stored in the cache means, printing each logical page As print image data generation means for generating image data and supplying the generated print image data to a printing apparatus When the cache interpreting unit finds a cache target element in which the interpretation result is not stored in the cache unit from the print data, the cache interpreting unit interprets the found cache target element, and the interpretation result Are stored in the cache means in association with the cache identification information generated from the data of the cache target element in accordance with a predetermined generation rule, and the logical page interpreting means respectively stores the cache included in the logical page to be processed. For the target element, instead of interpreting the cache target element, a cache reference command including the cache identification information generated according to the generation rule is generated from the data of the cache target element, and the generated cache reference command is stored in the cache target element. Interpretation Embedded in the interpretation result of the logical page, and the print image data generation means generates the print image data from the interpretation result of each logical page output by each logical page interpretation means. When a cache reference command is found, an interpretation result corresponding to the cache identification information included in the cache reference command is acquired from the cache unit, and a cache target element corresponding to the cache identification information is acquired using the acquired interpretation result The print image data of the logical page is synthesized and combined with the print image data of the logical page, and the switching means includes a progress degree of interpretation of the cache target element in the print data by the cache interpretation means, and the logical page interpretation means. Progress of interpretation of logical pages in the print data by And controlling the ratio of the one or more dual-use interpreting means that functions as the cache interpreting means to the logical page interpreting means. .
請求項1又は5に係る発明によれば、論理ページ解釈手段とキャッシュ用解釈手段の数の比率が固定である場合よりも、印刷画像データの生成速度を高くすることができる。 According to the first or fifth aspect of the invention, it is possible to increase the print image data generation speed as compared with the case where the ratio of the number of logical page interpretation means and cache interpretation means is fixed.
請求項2に係る発明によれば、論理ページの解釈とキャッシュ対象要素の解釈の一方が他方よりも大幅に先行することを許す場合よりも、印刷画像データの生成速度を速くすることができる。 According to the second aspect of the present invention, the generation speed of the print image data can be increased as compared with the case where one of the interpretation of the logical page and the interpretation of the cache target element is allowed to precede significantly the other.
請求項3に係る発明によれば、キャッシュ対象要素の解釈が論理ページの解釈よりも進みすぎることを防止することができる。 According to the third aspect of the invention, it is possible to prevent the interpretation of the cache target element from proceeding too much than the interpretation of the logical page.
請求項4に係る発明によれば、論理ページの解釈がキャッシュ対象要素の解釈よりも進みすぎることを防止することができる。 According to the invention of claim 4, it is possible to prevent the interpretation of the logical page from proceeding too much than the interpretation of the cache target element.
<システムのハードウエア構成>
図1は、画像処理システムの構成の一例を示すブロック図である。以下で説明する本発明の各種の実施形態の画像処理システムは、いずれも、図1に例示する構成を備えるものとする。図1の例のシステムは、端末装置10、印刷コントローラ20、および印刷装置50を備える。印刷コントローラ20は、フロントエンド装置30およびバックエンド装置40を有している。端末装置10は、通信手段60を介してフロントエンド装置30に接続されており、ユーザの指示に従い、文書の印刷命令を含む印刷ジョブをフロントエンド装置30に対して送信する。フロントエンド装置30は、通信手段62を介してバックエンド装置40に接続され、バックエンド装置40は、通信手段64を介して印刷装置50に接続される。
<System hardware configuration>
FIG. 1 is a block diagram illustrating an example of the configuration of an image processing system. Each of the image processing systems according to various embodiments of the present invention described below is assumed to have the configuration illustrated in FIG. The system in the example of FIG. 1 includes a
通信手段60,62,64は、例えば、LAN(Local Area Network)等のネットワークであってよい。通信手段60,62,64は、互いに共通の通信手段であってもよいし、それぞれ異なる通信手段であってもよい。例えば、端末装置10とフロントエンド装置30との間の通信手段60としてLANを用い、フロントエンド装置30とバックエンド装置40との間の通信手段62およびバックエンド装置40と印刷装置50との間の通信手段64として、それぞれ、LANと異なる専用の通信手段を用いてもよい。
The communication means 60, 62, 64 may be a network such as a LAN (Local Area Network). The communication means 60, 62, and 64 may be communication means common to each other or may be different communication means. For example, a LAN is used as the communication means 60 between the
図1の例のシステムでは、端末装置10から送信された印刷ジョブをフロントエンド装置30において処理し、この処理結果のデータがバックエンド装置40に渡され、バックエンド装置40において生成された描画データ(ラスターデータとも言う)に従って印刷装置50による印刷が行われる。
In the system of the example of FIG. 1, the print job transmitted from the
図1の例の端末装置10、フロントエンド装置30、およびバックエンド装置40は、例えば汎用のコンピュータによって実現され得る。コンピュータは、ハードウエアとして、CPU(中央演算装置)、メモリ(一次記憶)、各種I/O(入出力)インタフェース、通信インタフェースなどがバスを介して接続された回路構成を有する。コンピュータは、通信インタフェースを介して、他の装置との間でデータの授受を行う。また、バスに対し、例えばI/Oインタフェース経由で、キーボードやマウスなどの入力装置、および、CRT(Cathode Ray Tube)や液晶ディスプレイなどの表示装置が接続される。また、バスには、I/Oインタフェースを介して、HDD(ハードディスクドライブ)や、CD、DVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブが接続される。このようなドライブは、メモリに対する外部記憶装置として機能する。後述の各実施形態の処理内容が記述されたプログラムがCDやDVDなどの記録媒体を経由して、またはネットワーク経由で、HDDなどの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、後述の各実施形態、変形例の処理が実現される。
The
なお、後述の各実施形態、変形例において、バックエンド装置40の機能の一部は、プログラムの実行によるソフトウエア処理ではなく、ハードウエア処理により実現してよい。ハードウエア処理は、例えば、動的再構成可能プロセッサ(Dynamic Reconfigurable Processor,DRP)と呼ばれる、処理の実行の途中で動的に回路を再構成できるプロセッサを用いて行ってもよい。あるいは、ASIC(Application Specific Integrated Circuit)等の回路を用いてハードウエア処理を行ってもよい。例えば、バックエンド装置40の機能の一部を実行する、DRPやASIC等のハードウエア要素を予め構成しておき、このようなハードウエア要素を汎用コンピュータのバスに対して接続することで、バックエンド装置40を実現すればよい。
In each of the embodiments and modifications described below, some of the functions of the back-
フロントエンド装置30およびバックエンド装置40を実現するハードウエアの1つの具体例として、それぞれがサーバとして機能する複数の情報処理装置を1つの筐体内に搭載したブレードサーバを用いることが考えられる。ブレードサーバは、CPUやメモリを備える汎用のコンピュータを1枚の基板(ブレード)に実装し、複数のブレードを筐体内に搭載したサーバ装置である。例えば、ブレードサーバに搭載された1つのブレードをフロントエンド装置30として機能させ、他の1つのブレードをバックエンド装置40として機能させてもよい。あるいは、例えば、フロントエンド装置30およびバックエンド装置40のそれぞれを、ブレードサーバに搭載された複数のブレードにより実現してもよい。
As a specific example of hardware for realizing the front-
印刷装置50は、紙等の媒体に印刷を行う装置であり、例えば、連続紙プリンタであってよい。以下では、印刷装置50として連続紙プリンタを用いる場合を例に取り、各実施形態の例を説明する。なお、印刷装置50は、電子写真、インクジェット、またはその他の方式の印刷エンジンにより印刷を行うものとする。
The
<実施形態>
図2に、印刷コントローラ20が備えるフロントエンド装置30およびバックエンド装置40の機能構成の例を示す。フロントエンド装置30は、印刷ジョブ受信部32、ページ配信部34、および、複数の解釈部36を備える。バックエンド装置40は、中間データバッファ42、描画部44および出力バッファ46を備える。
<Embodiment>
FIG. 2 shows an example of functional configurations of the front-
フロントエンド装置30の印刷ジョブ受信部32は、端末装置10から印刷ジョブを受信する。本実施形態の例において、印刷ジョブは、文書を印刷する旨の命令と、印刷対象の文書をページ記述言語で記述したデータと、を含む。ページ記述言語(PDLと略す:PDLはPage Description Language の略)は、ディスプレイ表示処理、印刷処理等を情報処理機器に実行させるためのコンピュータプログラミング言語である。ページ記述言語の例としては、PostScript(登録商標)やPDF(Portable Document Format)等がある。ページ記述言語で記述されたデータは、印刷対象の文書を構成する文字や図形、イメージ(ビットマップ画像)などのオブジェクトの位置情報、書式情報および色情報などを含む。以下の説明では、印刷対象の文書をページ記述言語で記述したデータを「PDLデータ」と呼ぶ。印刷ジョブ受信部32は、受信した印刷ジョブに含まれるPDLデータをページ配信部34に渡す。
The print
ページ配信部34は、印刷ジョブ受信部32から取得したPDLデータに含まれるページのうち、どのページをどの解釈部36に処理させるかを決定する。ここでいう「ページ」は、PDLデータにおいて規定されているページ、すなわち論理ページである。用紙の1つの面、すなわち1つの物理ページには、印刷設定に応じて、1つ又は複数の論理ページが印刷されることになる。なお、以下では、文脈上明らかなように、特に断りのない場合は、「ページ」という用語は、論理ページを指すものとする。
The
ページ配信部34は、各解釈部36の稼動状態に基づいて、各解釈部36に対してページを割り当てる。例えば、処理を実行中でない解釈部36、または他の解釈部36よりも負荷の低い処理を実行中の解釈部36を優先して、PDL中の先頭ページから順に担当ページを割り当てる。ページ配信部34は、各解釈部36に対し、割り当てた担当ページを通知すると共に、印刷ジョブ受信部32から取得したPDLデータを渡す。この例では、各解釈部36に対し、PDLデータにおける担当ページの部分だけでなく、PDLデータの全体を渡すものとする。これは、例えばページ非独立のPDL(すなわち、ページの画像の生成が、そのページ以前のPDLデータの解釈結果に依存するタイプのPDL)を用いている場合の例である。別の例として、ページ独立のPDL(ページごとのPDLデータのみで当該ページの画像を正しく生成できるタイプのPDL)を用いる場合は、ページ配信部34は、各解釈部36に対してPDLデータのページごとの割り当てを行い、この割り当てに基づいて、ページごとに分割したPDLデータを担当の各解釈部36に渡してもよい。
The
解釈部36は、ページ配信部34から取得したPDLデータを解釈し、ページ配信部34から通知された担当ページについて、描画データの生成の手順を表す命令を含む中間データを生成し、出力する。
The
より詳しくは、解釈部36は、PDLデータを解釈し、自身の担当ページについて、中間データを生成する。中間データは、最終的に印刷装置50に出力されるデータに変換される前段階のデータである。中間データの例として、ディスプレイリストや区間データ形式(例えば本出願人による特開2011−150535号公報参照)等があげられる。ここで、解釈部36は、印刷装置50による印刷で用いられる基本色(例えばイエロー(Y,Yellow)、マゼンタ(M,Magenta)、シアン(C,Cyan)、ブラック(K,Black)の4色)ごとに分版された中間データを生成するようにしてもよい。ただし、これはあくまで一例に過ぎない。
More specifically, the
中間データは、印刷対象の文書の構成要素であるオブジェクトのそれぞれについて、当該文書の印刷画像において当該オブジェクトを描画する手順を表す描画命令を含む。この描画命令を記述する言語としては、ページ記述言語と比較してより詳細な手順を表現する言語が用いられる。例えば、ページ記述言語において、あるオブジェクトの印刷画像上の位置、形状、および大きさを表す情報が定義される場合、中間データにおける当該オブジェクトの描画命令では、印刷画像における走査線単位で当該オブジェクトの描画の手順を記述したものであり得る。中間データに従って、後述のバックエンド装置40において、印刷装置50に対して出力される描画データが生成される。
The intermediate data includes, for each object that is a component of the document to be printed, a drawing command that represents a procedure for drawing the object in the print image of the document. As a language for describing the drawing command, a language that expresses more detailed procedures than the page description language is used. For example, in the page description language, when information representing the position, shape, and size of an object on the print image is defined, the drawing command for the object in the intermediate data indicates the object in units of scanning lines in the print image. It may describe a drawing procedure. In accordance with the intermediate data, drawing data to be output to the
以下に区間データ形式(「ランリスト」形式とも呼ぶ)において用いるコマンドの例を示す。 Examples of commands used in the section data format (also referred to as “run list” format) are shown below.
(1)line, ym, xl, xr, c
y座標ymの走査線において、x座標xlからxr - 1まで、階調cで描画する
(2)duplicate
直前に描画した走査線と同一の態様(x座標,階調)で描画する
(3)window, xl, xr
直前に描画した走査線と同一の階調でx座標xlからxr - 1まで描画する
(1) line, ym, xl, xr, c
Draw with gradation c from x-coordinate xl to xr-1 on the scanning line of y-coordinate ym (2) duplicate
Draw in the same mode (x coordinate, gradation) as the scan line drawn immediately before (3) window, xl, xr
Draw from x coordinate xl to xr -1 with the same gradation as the scan line drawn immediately before
あるページの中間データは、当該ページを構成する各オブジェクトの描画手順を表す命令の集合であると捉えられる。1つのページを表す中間データのデータ量は、当該ページを構成する各画素の値を含むラスタデータと比較して少ない。 The intermediate data of a certain page is regarded as a set of instructions representing the drawing procedure of each object constituting the page. The amount of intermediate data representing one page is small compared to raster data including the value of each pixel constituting the page.
なお、区間データ形式は中間データの形式のあくまで一例に過ぎない。本実施形態は、どのような中間データ形式を使用する場合にも適用可能である。バックエンド装置において、ハードウエア処理により描画データを生成する場合には、中間データの形式は、ハードウエア処理による描画データの生成を可能とする描画手順を表す形式であればよく、上に例示した区間データ形式と異なる形式のものでもよい。 The section data format is merely an example of the intermediate data format. This embodiment can be applied to any intermediate data format. When drawing data is generated by hardware processing in the back-end device, the format of the intermediate data may be a format representing a drawing procedure that enables generation of drawing data by hardware processing, and is exemplified above. A format different from the section data format may be used.
解釈部36が生成した中間データは、バックエンド装置40に対して出力される。出力された中間データは、バックエンド装置40の中間データバッファ42に書き込まれる。描画部44は、中間データバッファ42に記憶された各ページの中間データを読み出し、読み出したページの中間データに従って描画データ(ラスターデータ)を生成する。生成された各ページの描画データは出力バッファ46に格納され、印刷装置50から順次読み出される。印刷装置50は、出力バッファ46から読み出した各ページの描画データを、用紙に対して印刷する。
The intermediate data generated by the
次に、図3を参照して、実施形態の印刷コントローラ20の構成を説明する。
Next, the configuration of the
1つの例では、複数の解釈部36は、それぞれ、論理ページ解釈部36−p(図3では論理ページ解釈部36−p1及び36−p2の2つを例示)及びフォーム解釈部36−fとして機能することができる。ただし、1つの解釈部36が同時に論理ページ解釈部36−p及びフォーム解釈部36−fの両方として機能することはない。すなわち、1つの解釈部36は、1つの時点では、論理ページ解釈部36−p及びフォーム解釈部36−fのうちの一方として機能する。
In one example, the plurality of
論理ページ解釈部36−pは、ページ(論理ページ)についての中間データ生成を実行する。フォーム解釈部36fは、フォームやイメージなどの、複数のページで共用され得る(すなわち一度解釈した結果が後のページで再利用され得る)オブジェクトについての中間データ生成を実行する。以下では、複数のページで共用され得るオブジェクトのことをフォームと総称する。ページの中には、フォームに該当するオブジェクトも、該当しないオブジェクトも含まれ得るが、フォーム解釈部36−fは、ページ内のフォームに該当するオブジェクトのみを処理する。一方、論理ページ解釈部36−pは、基本的に、ページに含まれる全てのオブジェクトを処理する(ただし、フォームについては後述する特殊な処理を行う)。1つの時点での論理ページ解釈部36−pの数とフォーム解釈部36−pの数は、フロントエンド装置30が備える解釈部36の合計数に等しい。
The logical page interpretation unit 36-p executes intermediate data generation for a page (logical page). The form interpretation unit 36f executes intermediate data generation for an object such as a form or an image that can be shared by a plurality of pages (that is, a result of interpretation once can be reused in a later page). Hereinafter, objects that can be shared by a plurality of pages are collectively referred to as a form. Although an object corresponding to the form and an object not corresponding to the form may be included in the page, the form interpretation unit 36-f processes only the object corresponding to the form in the page. On the other hand, the logical page interpretation unit 36-p basically processes all objects included in the page (however, the form performs special processing described later). The number of logical page interpretation units 36-p and the number of form interpretation units 36-p at a single point in time are equal to the total number of
本実施形態では、PDLデータを先頭ページから順に処理していく中で、フロントエンド装置30内で動作する論理ページ解釈部36−pとフォーム解釈部36−fとの構成比率を動的に制御する。
In this embodiment, the PDL data is sequentially processed from the first page, and the composition ratio between the logical page interpretation unit 36-p and the form interpretation unit 36-f operating in the front-
すなわち、PDLデータの解釈処理の負荷は、一般に、ページに含まれるオブジェクトの数や複雑さに応じてページごとに異なり、論理ページの解釈や、論理ページ内のフォーム群の解釈にどれだけ時間が掛かるかは、事前には予測しがたい。このため、フロントエンド装置30内の論理ページ解釈部36−pとフォーム解釈部36−fの数の最適比率を事前に知ることは困難である。また、そのような最適比率があるとしても、その最適比率は1つの印刷ジョブ全体の解釈の進行の中で変化する。そこで、この実施形態では、論理ページ解釈部36−pとフォーム解釈部36−fとの構成比率を動的に制御するのである。
In other words, the load of PDL data interpretation processing generally varies from page to page depending on the number and complexity of objects included in the page, and how much time is spent interpreting logical pages and forms within a logical page. It will be difficult to predict whether it will take. For this reason, it is difficult to know in advance the optimal ratio of the number of logical page interpretation units 36-p and form interpretation units 36-f in the front-
この構成比率の動的な制御は、論理ページの解釈(中間データ生成)の進捗状況とフォームの解釈の進捗状況との比較に基づいて行う。フロントエンド装置30が備える解釈部36の総数のうちに論理ページ解釈部36−p(あるいはフォーム解釈部36−f)の数が占める割合を、例えば0%〜100%までの範囲で制御する。
This dynamic control of the composition ratio is performed based on a comparison between the progress status of logical page interpretation (intermediate data generation) and the progress status of form interpretation. The ratio of the number of logical page interpretation units 36-p (or form interpretation units 36-f) to the total number of
なお、この比率制御における解釈部36の総数のうちに論理ページ解釈部36−pの数が占める割合の取り得る範囲は、上に例示した0%〜100%(すなわちすべて解釈部36をフォーム解釈部36−fとする場合から、すべての解釈部36を論理ページ解釈部36−pとする場合まで)に限るものではない。この代わりに、例えば、論理ページ解釈部36−pの数に下限(あるいは上限)を設定しておき、その下限数から解釈部36の総数までの範囲で、論理ページ解釈部36−pの数の占める割合を制御してもよい。
Note that the possible range of the ratio of the number of logical page interpretation units 36-p in the total number of
また、以上の例では、すべての解釈部36が、論理ページ解釈部36−p及びフォーム解釈部36−fとして機能可能な「両用」解釈部であったが、これは一例に過ぎない。別の例として、複数の解釈部36のうち、一部の解釈部36のみがそのような「両用」解釈部であり、残りは論理ページの解釈専用の解釈部である構成も考えられる。すなわち、この構成では、論理ページの解釈専用の解釈部の総数が、比率制御における論理ページ解釈部36−pの下限数となる。この例では、「両用」解釈部の総数のうち論理ページ解釈部36−pとして機能させるものとフォーム解釈部36−fとして機能させるものとの比率を、制御する。
In the above example, all the
論理ページ解釈部36−pとフォーム解釈部36−fの比率の制御では、フォーム解釈の進捗に対するページ解釈の進捗の進み幅が大きくなる(あるいはページ解釈に対するフォーム解釈の進み幅が小さくなるほど)ほど、論理ページ解釈部36−pの比率を下げ、フォーム解釈部36−fの比率を上げる。逆に、フォーム解釈に対するページ解釈の進み幅が小さくなるほど(あるいはページ解釈に対するフォーム解釈の進み幅が大きくなるほど)論理ページ解釈部36−pの比率を上げ、フォーム解釈部36−fの比率を下げる。 In the control of the ratio between the logical page interpretation unit 36-p and the form interpretation unit 36-f, the progress of the page interpretation progress relative to the progress of the form interpretation increases (or the progress of the form interpretation relative to the page interpretation decreases). The ratio of the logical page interpretation unit 36-p is lowered, and the ratio of the form interpretation unit 36-f is increased. On the contrary, the smaller the progress of the page interpretation with respect to the form interpretation (or the greater the advance of the form interpretation with respect to the page interpretation), the higher the ratio of the logical page interpretation unit 36-p and the lower the ratio of the form interpretation unit 36-f. .
この比率制御は、この例では、各解釈部36への論理ページ等の割り当てを行うページ配信部34が行う。ただし、これは一例に過ぎず、この比率制御を行う制御部をページ配信部34とは別に設けてもよい。
In this example, this ratio control is performed by the
なお、この比率制御については、後で更に詳しく説明する。 This ratio control will be described in more detail later.
図3は、フロントエンド装置30が3つの解釈部36を有している場合において、そのうちの2つが論理ページ解釈部36−p1および36−p2として機能し、1つがフォーム解釈部36−fとして機能している状況を示している。
FIG. 3 shows that when the front-
さてフォームとは、前述の通り、複数のページで繰り返し使用されることが想定された画像のことである。フォームは1以上のオブジェクトから構成される。一般に、PDLデータ中では、フォームに対して、当該フォームをPDLデータ中で一意に識別する識別情報(「フォームID」と呼ぶ)が付与されている。PDLデータ中に同じフォームIDを指定したコマンドがある場合、それらコマンドは、同じフォームを用いた画像を表す。 As described above, the form is an image that is supposed to be repeatedly used on a plurality of pages. A form is composed of one or more objects. In general, in PDL data, identification information for uniquely identifying the form in the PDL data (referred to as “form ID”) is assigned to the form. When there are commands specifying the same form ID in the PDL data, the commands represent images using the same form.
本実施形態では、一度生成したフォームの中間データをキャッシュし、再利用する枠組み(フォームキャッシュ48)を提供することで、同じフォームの中間データが何度も生成されるといった非効率を避ける。フォームキャッシュ48は、キャッシュ対象のフォームの中間データを一時的に記憶するキャッシュである。
In this embodiment, by providing a framework (form cache 48) in which intermediate data of a form once generated is cached and reused, inefficiency that intermediate data of the same form is generated many times is avoided. The
各論理ページ解釈部36−p1および36−p2は、それぞれページ配信部34から割り当てられたページのPDLデータの中間データを生成する。ここで、1つの例では、各論理ページ解釈部36−pは、割り当てられたページ中の、フォーム以外のオブジェクト群を処理する。そして、ページ中に含まれるフォームは、そのフォームを構成するPDLコマンド(オブジェクト)群を中間データ形式に変換したものを代えて、フォームキャッシュ48にキャッシュされた当該フォームの中間データを指し示す識別情報(「キャッシュID」と呼ぶ)を参照する中間データコマンドに置き換える。各論理ページ解釈部36−pが生成した各ページの中間データは、バックエンド装置40の中間データバッファ42に送られる。
Each logical page interpretation unit 36-p1 and 36-p2 generates intermediate data of the PDL data of the page allocated from the
一方、フォーム解釈部36−fは、PDLデータ中のフォームのPDLコマンド群を解釈し、当該フォームを表す中間データを生成する。そして、生成したフォームの中間データをバックエンド装置40のフォームキャッシュ48に登録する。ここで、フォーム解釈部36−fは、フォームキャッシュ48に対して登録するフォームを表す中間データに対して、少なくとも当該印刷ジョブ中で一意なキャッシュIDを付与し、このキャッシュIDに対応づけてその中間データをフォームキャッシュ48に登録する。
On the other hand, the form interpretation unit 36-f interprets the PDL command group of the form in the PDL data, and generates intermediate data representing the form. Then, the generated intermediate data of the form is registered in the
論理ページ解釈部36−pは、印刷ジョブのPDLデータのうちの割り当てられたページのみを処理(すなわち解釈および中間データの生成)するのに対し、フォーム解釈部36−fは、印刷ジョブのPDLデータの全ページを処理する。ただし、フォーム解釈部36−fが処理するのは、ページ中のフォームのみであり、フォームに含まれない一般のオブジェクトについては処理しない。 The logical page interpretation unit 36-p processes only the allocated pages (that is, interpretation and generation of intermediate data) of the PDL data of the print job, whereas the form interpretation unit 36-f performs the PDL of the print job. Process all pages of data. However, the form interpreter 36-f processes only the form in the page, and does not process general objects not included in the form.
論理ページ解釈部36−p1、36−p2およびフォーム解釈部36−fは、典型的には、CPU上で実行されるプロセスとして実現される。例えば、マルチコアCPUを用いたシステム構成において、個々のコアでそれぞれ1つずつ解釈部36のプロセスを実行するという構成が考えられる。
The logical page interpretation units 36-p1 and 36-p2 and the form interpretation unit 36-f are typically realized as processes executed on the CPU. For example, in a system configuration using a multi-core CPU, a configuration in which the processes of the
キャッシュ管理部38は、フォームキャッシュ48に保持されるキャッシュデータ(すなわちフォームの中間データ)の管理情報を保持する。キャッシュ管理部38には、キャッシュデータごとに、キャッシュIDと、そのキャッシュデータのフォームキャッシュ48の記憶空間内での記憶場所を示す情報(例えば先頭アドレスと、そのデータのサイズとの組合せ)とが記憶される。フォーム解釈部36−fは、PDLデータ中のフォームを処理する際、そのフォームのキャッシュデータがフォームキャッシュ48に登録されているかどうかをキャッシュ管理部38から求め、登録されている場合にはそのフォームのキャッシュデータの生成は行わず、登録されていない場合にのみキャッシュデータの生成を行う。
The
バックエンド装置40の描画部44は、中間データバッファ42内にある各ページの中間データを例えばページ順に読み出し、読み出したページの中間データのコマンドに従って描画データを生成していく。ここで、読み出したページの中間データ内に、キャッシュIDを参照する旨のコマンドが含まれる場合は、フォームキャッシュ48からそのキャッシュIDに対応する中間データ(すなわちフォームの中間データ)を読み出し、読み出した中間データを処理することで、フォームの描画データを生成し、ページの描画データに対して合成する。
The
以上では、説明を簡潔にするために、フォームならばキャッシュするとして説明したが、実際の装置では、すべてのフォームをキャッシュするとは限らない。キャッシュを用いるためには、キャッシュへの登録や必要なキャッシュデータの有無の問合せ等の処理のオーバーヘッドが生じる。非常に小さい又は構造が簡単なフォームの場合、中間データの生成処理に要する時間が非常に短くて済むので、そのような処理のオーバーヘッドを考慮すると、キャッシュを利用しない方が処理が早いことも多い。そこで、本実施形態では、フォームのうちキャッシュした方が処理効率がよいもののみを、キャッシュすることとする。このために、本実施形態では、キャッシュした方が処理効率がよい(すなわちキャッシュ対象とする)フォームと、そうでないフォームとを判定するためのルールを定めている。この判定ルールの例を以下に示す。
(ルール1)当該フォームのバウンディングボックス(物理ページ上で当該フォームを囲むことができる最小の長方形)の画素数が、予め決められた数(「画素数閾値」と呼ぶ)より多い場合は、当該フォームをキャッシュ対象とし、そうでない場合はキャッシュ対象としない。
(ルール2)当該フォームに含まれるオブジェクトの数が予め決められた数(「オブジェクト数閾値」と呼ぶ)より多い場合は当該フォームをキャッシュ対象とし、そうでない場合はキャッシュ対象としない。
(ルール3)当該フォームに予め決められた大きさ(「イメージサイズ閾値」と呼ぶ)より大きいイメージ(ビットマップ)がある場合は当該フォームをキャッシュ対象とし、そうでない場合はキャッシュ対象としない。
In the above, in order to simplify the description, it has been described that the form is cached. However, in an actual apparatus, not all forms are cached. In order to use the cache, processing overhead such as registration to the cache and an inquiry about the presence or absence of necessary cache data occurs. If the form is very small or has a simple structure, the time required to generate the intermediate data can be very short, so considering the overhead of such processing, the processing is often faster without using a cache. . Therefore, in the present embodiment, only the forms that have better processing efficiency when cached are cached. For this reason, in the present embodiment, a rule for determining a form that has better processing efficiency when cached (that is, a cache target) and a form that is not so is defined. An example of this determination rule is shown below.
(Rule 1) If the number of pixels in the bounding box of the form (the smallest rectangle that can surround the form on the physical page) is greater than a predetermined number (referred to as a “pixel number threshold”), Form is cached, otherwise it is not cached.
(Rule 2) When the number of objects included in the form is larger than a predetermined number (referred to as “object number threshold”), the form is set as a cache target, and otherwise, the form is not set as a cache target.
(Rule 3) If there is an image (bitmap) larger than a predetermined size (referred to as “image size threshold”) in the form, the form is set as a cache target. Otherwise, the form is not set as a cache target.
例えば、以上に例示したルール1〜3のいずれか1つを用いて判定を行ってもよいし、2以上を組み合わせて判定を行ってもよい。2以上を組み合わせる場合は、少なくとも1つのルールで「キャッシュ対象」と判定されれば、他のルールによる判定結果によらず、当該フォームはキャッシュ対象とする。 For example, the determination may be performed using any one of the rules 1 to 3 exemplified above, or the determination may be performed by combining two or more. When two or more are combined, if it is determined as “cache target” by at least one rule, the form is cached regardless of the determination result by other rules.
なお、上述の画素数閾値、オブジェクト数閾値およびイメージサイズ閾値は、フロントエンド装置30やバックエンド装置40のシステム構成や性能に応じた値であり、実験やシミュレーション等で定めておけばよい。
The pixel number threshold, the object number threshold, and the image size threshold described above are values according to the system configuration and performance of the front-
本実施形態では、論理ページ解釈部36−p1、36−p2およびフォーム解釈部36−fが、統一された共通の判定ルールを用いて、フォームをキャッシュ対象とするかどうかを判定する。したがって、例えば論理ページ解釈部36−p1がキャッシュ対象と判定したフォームは、論理ページ解釈部36−p2でもフォーム解釈部36−fでもキャッシュ対象と判定される。 In the present embodiment, the logical page interpretation units 36-p1 and 36-p2 and the form interpretation unit 36-f determine whether or not the form is to be cached using a unified common determination rule. Therefore, for example, a form that the logical page interpretation unit 36-p1 determines to be cached is determined to be a cache target by both the logical page interpretation unit 36-p2 and the form interpretation unit 36-f.
また、本実施形態では、論理ページ解釈部36−p1、36−p2およびフォーム解釈部36−fは、統一された共通のID付与ルールを用いて、フォームのキャッシュデータ(中間データ)に対してキャッシュIDを付与する。この共通のID付与ルールでは、PDLデータ中でフォームに対して付与されているフォームIDに加え、そのフォームの最終的な描画結果の画像の状態を規定する各種のパラメータを考慮して、そのフォームのキャッシュデータに付与するキャッシュIDを決定する。同じフォームIDのフォームを用いる場合でも、そのフォームを描画・印刷する際のパラメータが異なれば、最終的に印刷物上に現れるフォームの画像も異なってくるので、パラメータが異なれば別のキャッシュデータとして取り扱うのである。キャッシュIDを規定する描画等のパラメータとしては、座標変換行列(座標の回転角や拡大縮小率を表す行列)、描画属性情報(例えば線幅、ラインキャップ、ラインジョイン、マイタ―リミット、線の形状、ストローク調整、描画方式、論理演算モード、パターン情報)、クリップ情報、カラー情報等がある。1つの例では、フォームIDとそれらパラメータとを結合したものをバイナリデータとして表現し、MD5ハッシュ関数(rfc1321で定義)等のハッシュ関数を用いて、そのバイナリデータからキャッシュIDを生成する。なお、キャッシュIDの材料として用いたフォームIDおよび上述パラメータ群を、「キーデータ(Key Data)」と呼ぶ。 In the present embodiment, the logical page interpretation units 36-p1 and 36-p2 and the form interpretation unit 36-f use the unified common ID assignment rule to perform cache data (intermediate data) on the form. A cache ID is assigned. In this common ID assignment rule, in addition to the form ID assigned to the form in the PDL data, the form is determined in consideration of various parameters that define the state of the final rendered image of the form. The cache ID to be assigned to the cache data is determined. Even if a form with the same form ID is used, if the parameters for drawing and printing the form are different, the image of the form that finally appears on the printed matter will also be different, so if the parameters are different, they are handled as different cache data. It is. Parameters such as drawing that define the cache ID include a coordinate transformation matrix (matrix representing the rotation angle and scaling ratio of coordinates), drawing attribute information (eg, line width, line cap, line join, miter limit, line shape) Stroke adjustment, drawing method, logical operation mode, pattern information), clip information, color information, and the like. In one example, a combination of a form ID and these parameters is expressed as binary data, and a cache ID is generated from the binary data using a hash function such as an MD5 hash function (defined by rfc1321). The form ID and the parameter group used as the cache ID material are referred to as “key data”.
なお、厳密には、ハッシュ関数には衝突があるため、上述の方式では異なるキャッシュデータのキャッシュID(ハッシュ値)が同じ値となる可能性がある。ハッシュの衝突を避けるために、キーデータそのものをキャッシュIDとして用いてもよい。 Strictly speaking, since there is a collision in the hash function, the cache ID (hash value) of different cache data may be the same value in the above-described method. In order to avoid hash collision, the key data itself may be used as a cache ID.
ただし、キーデータはかなり長いデータとなるため、利用可能なキャッシュデータが有るか無いかを調べる際、キーデータ同士の照合にある程度の時間を要する。キャッシュ管理部38内のすべてのキャッシュエントリに対してキーデータの照合を行うにはかなりの時間がかかってしまう。そこで、以下の例では、キーデータと、そのキーデータのハッシュ値と、の組合せをキャッシュIDとして用いる。この例では、利用可能なキャッシュデータの有無を調べる際、まずハッシュ値で絞り込みを行うことで、キーデータの照合を行うキャッシュエントリの数を少なくする。
However, since the key data is quite long, it takes a certain amount of time to collate the key data when checking whether there is usable cache data. It takes a considerable amount of time to collate key data for all cache entries in the
以上のように、本実施形態では、論理ページ解釈部36−p1、36−p2およびフォーム解釈部36−fは、共通のID付与ルールを用いる。したがって、例えば論理ページ解釈部36−p1があるフォームに対してあるキャッシュIDを生成した場合(ここで論理ページ解釈部36−p1はそのフォームの中間データは生成しない)、フォーム解釈部36−fは同じキャッシュIDを生成し、生成したそのフォームの中間データをそのキャッシュIDに対応づけてフォームキャッシュ48に登録する。
As described above, in this embodiment, the logical page interpretation units 36-p1 and 36-p2 and the form interpretation unit 36-f use a common ID assignment rule. Therefore, for example, when a certain cache ID is generated for a form having the logical page interpretation unit 36-p1 (here, the logical page interpretation unit 36-p1 does not generate intermediate data of the form), the form interpretation unit 36-f. Generates the same cache ID, and registers the generated intermediate data of the form in the
次に、図4〜図6を参照して、論理ページ解釈部36−pおよびフォーム解釈部36−fが実行する処理の手順を例示する。 Next, with reference to FIGS. 4 to 6, a procedure of processes executed by the logical page interpretation unit 36-p and the form interpretation unit 36-f will be exemplified.
図4は、論理ページ解釈部36−pおよびフォーム解釈部36−fの共通の処理手順である。この例は、ページ非独立のPDLで記述されたPDLデータを処理する場合の例である。図4の説明では、論理ページ解釈部36−pおよびフォーム解釈部36−fを解釈部36と総称する。これら各解釈部36は、互いに独立して、非同期的に動作する。
FIG. 4 shows a processing procedure common to the logical page interpretation unit 36-p and the form interpretation unit 36-f. In this example, PDL data described in non-page independent PDL is processed. In the description of FIG. 4, the logical page interpretation unit 36-p and the form interpretation unit 36-f are collectively referred to as the
この手順では、解釈部36は、印刷ジョブ受信部32から、印刷ジョブのPDLデータ全体を取得する(S10)。次に、そのページ配信部34から、処理対象とするページの割り当てを受ける(S12)。ここで、ページ配信部34は、論理ページ解釈部36−p1および36−p2にはPDLデータの全ページを分担させるが、フォーム解釈部36−fには全ページを担当させる。解釈部36は、割り当てられたページのPDLデータを解釈する(S14)。そして、そのページの解釈が終了すると、解釈部36は、印刷ジョブ全体の解釈が完了したか否かを判定し(S16)、未完了と判定した場合は、S12に戻り、ページ配信部34にページの解釈の終了を通知し、次の担当ページの割り当てを受ける。以上の処理を、印刷ジョブ全体の解釈が完了するまで繰り返す。
In this procedure, the
ページの解釈処理(S14)では、解釈部36は、当該ページの先頭から順に、PDLデータのコマンドを1つずつ抽出し(S20)、抽出したコマンドを解釈して中間データのオブジェクトを生成する(S22)。これらS20およびS22の処理を、当該ページの最後のコマンドの処理が終了するまで繰り返す(S24)。
In the page interpretation process (S14), the
なお、ページ非独立のPDLデータを処理する場合には、各論理ページ解釈部36−pは、自分が担当するページか否かによらず、すべてのページのコマンドを解釈し、自分の内部状態をその解釈の結果に応じて遷移させる。そして、担当するページについては、解釈のみならず、中間データの生成も行う。これにより、先頭ページからの解釈の結果を反映した正しい中間データが生成されることになる。同様に、フォーム解釈部36−fは、フォーム以外のオブジェクトの描画コマンドも含むPDLデータのすべてのコマンドを解釈し、フォームの描画コマンドについては中間データの生成も行う。 When processing page-independent PDL data, each logical page interpreting unit 36-p interprets the commands of all pages regardless of whether or not it is a page for which it is responsible, In accordance with the result of the interpretation. For the page in charge, not only interpretation but also generation of intermediate data is performed. As a result, correct intermediate data reflecting the interpretation result from the first page is generated. Similarly, the form interpretation unit 36-f interprets all commands of PDL data including drawing commands for objects other than forms, and also generates intermediate data for drawing drawing commands.
中間データの生成処理(S22)の内容は、論理ページ解釈部36−pとフォーム解釈部36−fとで異なる。 The content of the intermediate data generation process (S22) differs between the logical page interpretation unit 36-p and the form interpretation unit 36-f.
図5は、論理ページ解釈部36−pによる中間データの生成処理(S22)の処理手順の一例を示す。この例では、論理ページ解釈部36−pは、処理対象のコマンド(S20で抽出したもの)がフォームオブジェクトの生成を指示するコマンドか否かを判定する(S30)。例えば、PostScript(登録商標)の場合、処理対象のコマンドのコマンド名が”form”であれば、そのコマンドは、フォームオブジェクトの生成を指示するコマンドである。フォームの生成を指示するコマンドには、フォームIDがパラメータとして付随する。 FIG. 5 shows an example of the processing procedure of the intermediate data generation processing (S22) by the logical page interpretation unit 36-p. In this example, the logical page interpretation unit 36-p determines whether or not the command to be processed (extracted in S20) is a command instructing generation of a form object (S30). For example, in the case of PostScript (registered trademark), if the command name of the command to be processed is “form”, the command is a command for instructing generation of a form object. A command instructing generation of a form is accompanied by a form ID as a parameter.
S30の判定結果が否定(N:フォーム生成以外のコマンド)である場合は、論理ページ解釈部36−pは、そのコマンドを解釈して中間データを生成し(S32)、その中間データを当該ページの中間データとして出力する(S34)。 If the determination result in S30 is negative (N: command other than form generation), the logical page interpretation unit 36-p interprets the command to generate intermediate data (S32), and the intermediate data is converted into the page. Is output as intermediate data (S34).
S30の判定結果が肯定(Y:フォーム生成のコマンド)である場合、論理ページ解釈部36−pは、次にそのコマンドに対応するフォームの中間データがキャッシュ対象であるかどうかを、前述した統一の判定ルールに従って判定する(S36)。 If the determination result in S30 is affirmative (Y: form generation command), the logical page interpretation unit 36-p determines whether the intermediate data of the form corresponding to the command is to be cached next as described above. The determination is made according to the determination rule (S36).
S36で、そのコマンドがキャッシュ対象でないと判定した場合(S36の判定結果がN)、論理ページ解釈部36−pは、そのコマンドに付随するフォームIDを抽出し、そのフォームIDに対応するフォームのPDLデータを取得してメモリ上に展開する(S38)。例えば、PDLデータ中の2回目以降のフォームの使用箇所では、フォームIDが示されるのみで、フォームの実体を表すPDLデータが記述されない場合もある。このような場合でも、論理ページ解釈部36−pは印刷ジョブのPDLデータ中でそのフォームがはじめて使用された場所から読み取った当該フォームのPDLデータをフォームIDと対応づけて管理しているので、2回目以降の使用箇所では、その管理しているPDLデータを読み出して利用するのである。フォームのPDLデータの展開の後、論理ページ解釈部36−pは、展開したPDLデータを解釈し、中間データを生成し(S32)、その中間データを出力する(S34)。 If it is determined in S36 that the command is not a cache target (the determination result in S36 is N), the logical page interpretation unit 36-p extracts the form ID associated with the command, and the form ID corresponding to the form ID is extracted. The PDL data is acquired and expanded on the memory (S38). For example, there are cases where the form ID is shown only in the second and subsequent uses of the form in the PDL data, and the PDL data representing the form entity is not described. Even in such a case, the logical page interpretation unit 36-p manages the PDL data of the form read from the place where the form is first used in the PDL data of the print job in association with the form ID. In the second and subsequent use locations, the managed PDL data is read and used. After expanding the PDL data of the form, the logical page interpretation unit 36-p interprets the expanded PDL data, generates intermediate data (S32), and outputs the intermediate data (S34).
S36で、判定対象のコマンドがキャッシュ対象であると判定した場合(S36の判定結果がY)、論理ページ解釈部36−pは、前述した統一的なID付与ルールに従い、そのコマンドに対応するキャッシュIDを生成する(S40)。S40では、そのコマンドに付随するフォームID等のパラメータ群、および論理ページ解釈部36−p自身の内部状態の情報から、キーデータを構成する各項目の値を抽出し、それら抽出した値を結合してキーデータを生成し、そのキーデータのハッシュ値を計算する。そして、そのハッシュ値とキーデータのペアを、キャッシュIDとする。 If it is determined in S36 that the determination target command is a cache target (the determination result in S36 is Y), the logical page interpretation unit 36-p follows the unified ID assignment rule described above, and the cache corresponding to the command is determined. An ID is generated (S40). In S40, the value of each item constituting the key data is extracted from the parameter group such as the form ID attached to the command and the internal state information of the logical page interpretation unit 36-p itself, and the extracted values are combined. Key data is generated, and a hash value of the key data is calculated. The hash value / key data pair is used as a cache ID.
そして、論理ページ解釈部36−pは、そのキャッシュIDで示されるキャッシュデータを参照するよう指示する中間データコマンドを生成し、生成した中間データコマンドを出力する(S42)。このように、論理ページ解釈部36−pは、キャッシュされるフォームについては、そのフォームの実体(画像)を表す中間データを生成する代わりに、キャッシュデータを参照するコマンドを生成する。 Then, the logical page interpretation unit 36-p generates an intermediate data command instructing to refer to the cache data indicated by the cache ID, and outputs the generated intermediate data command (S42). As described above, for the cached form, the logical page interpretation unit 36-p generates a command for referring to the cache data instead of generating intermediate data representing the entity (image) of the form.
図6は、フォーム解釈部36−fによる中間データの生成処理(S22)の処理手順の一例を示す。この例では、フォーム解釈部36−fは、処理対象のコマンド(S20で抽出したもの)がフォームオブジェクトの生成を指示するコマンドか否かを、S30と同様の方法で、判定する(S50)。S50の判定結果が否定(N)である場合、フォーム解釈部36−fは、そのコマンドについては何も処理を行わずに、図6の処理を終了する。 FIG. 6 shows an example of the processing procedure of the intermediate data generation processing (S22) by the form interpretation unit 36-f. In this example, the form interpretation unit 36-f determines whether or not the command to be processed (extracted in S20) is a command instructing generation of a form object by the same method as S30 (S50). If the determination result in S50 is negative (N), the form interpretation unit 36-f does not perform any processing for the command and ends the processing in FIG.
S50の判定結果が肯定(Y)である場合、フォーム解釈部36−fは、次にそのコマンドに対応するフォームの中間データがキャッシュ対象であるかどうかを、S36と同様、前述した統一の判定ルールに従って判定する(S52)。 If the determination result in S50 is affirmative (Y), the form interpretation unit 36-f determines whether the intermediate data of the form corresponding to the command is to be cached next, as in S36. It judges according to a rule (S52).
S52で、そのコマンドがキャッシュ対象でないと判定した場合(S52の判定結果がN)、フォーム解釈部36−fは、そのコマンドについては何も処理を行わずに、図6の処理を終了する。 If it is determined in S52 that the command is not a cache target (the determination result in S52 is N), the form interpreter 36-f does not perform any processing on the command and ends the processing in FIG.
S52で、判定対象のコマンドがキャッシュ対象であると判定した場合(S52の判定結果がY)、フォーム解釈部36−fは、S40と同様の方法で、前述した統一的なID付与ルールに従い、そのコマンドに対応するキャッシュIDを生成する(S54)。そして、そのコマンドを解釈してキャッシュデータ(フォームの中間データ)を生成し(S56)、生成したキャッシュデータをそのキャッシュIDと対応づけて出力する(S58)。出力されたキャッシュIDおよびキャッシュデータのペアは、フォームキャッシュ48に登録される。
If it is determined in S52 that the determination target command is a cache target (the determination result in S52 is Y), the form interpreter 36-f follows the unified ID assignment rule described above in the same manner as in S40. A cache ID corresponding to the command is generated (S54). Then, the command is interpreted to generate cache data (form intermediate data) (S56), and the generated cache data is output in association with the cache ID (S58). The output cache ID / cache data pair is registered in the
なお、S56およびS58では、同じキャッシュデータの重複した生成および登録を避けるようにしてもよい。このためには、フォーム解釈部36−fは、キャッシュデータを生成する前に、S54で生成したキャッシュIDに対応するキャッシュデータがフォームキャッシュ48内に存在するかどうかをキャッシュ管理部38に問い合わせ、存在しないとの回答を得た場合にのみキャッシュデータを生成するようにすればよい。キャッシュデータを生成してフォームキャッシュ48に登録した場合は、フォーム解釈部36−fは、そのキャッシュデータのキャッシュIDをキャッシュ管理部38に登録することで、そのキャッシュデータが登録済みであることを記録する。
In S56 and S58, duplicate generation and registration of the same cache data may be avoided. For this purpose, the form interpretation unit 36-f inquires of the
次に、図7および図8を参照して、バックエンド装置40の描画部44の処理手順の例を説明する。
Next, an example of a processing procedure of the
図7に示すように、この手順では、描画部44は、まず処理対象の印刷ジョブの指定を受ける(S100)。次に、その印刷ジョブの例えば先頭ページから順に1ページずつ、ページの中間データを中間データバッファ42から取得し(S102)、取得したページの中間データを解釈する(S104)。これらS102およびS104の処理を、印刷ジョブの末尾まで、1ページずつ、繰り返し実行する(S106)。
As shown in FIG. 7, in this procedure, the
ページの中間データの解釈処理(S104)では、は、当該ページの先頭から順に、中間データのコマンドを1つずつ抽出し(S110)、抽出したコマンドを解釈して、そのコマンドが示すラスター画像をメモリ上に描画する(S112)。これらS110およびS112の処理を、当該ページの最後の中間データコマンドの処理が終了するまで繰り返す(S114)。 In the intermediate data interpretation process (S104), the intermediate data commands are extracted one by one in order from the top of the page (S110), the extracted commands are interpreted, and the raster image indicated by the command is extracted. Drawing on the memory (S112). These processes of S110 and S112 are repeated until the process of the last intermediate data command of the page is completed (S114).
ページの中間データの解釈処理(S112)では、描画部44は、図8に示すように、ページの中間データを先頭から順にコマンドを読み出し、読み出したコマンドがキャッシュデータの参照を指示するコマンド(キャッシュ参照コマンドと呼ぶ)であるかどうかを判定する(S120)。
In the page intermediate data interpretation process (S112), as shown in FIG. 8, the
S120の判定結果が肯定(Y)の場合、描画部44は、そのキャッシュ参照コマンドからキャッシュIDを抽出し(S122)、そのキャッシュIDに対応するキャッシュデータ(中間データ)をフォームキャッシュ48から取り出し(S124)、取り出したキャッシュデータを解釈してラスター画像を描画する(すなわち「ラスタライズ」する)(S126)。
If the determination result in S120 is affirmative (Y), the
S120の判定結果が否定(N)の場合、描画部44は、そのコマンドを解釈してラスタライズする(S126)。
If the determination result in S120 is negative (N), the
以上に説明したように、この実施形態では、論理ページ解釈部36−pとフォーム解釈部36−fが、統一したID付与ルールを用い、同じ材料(すなわちフォームIDおよびフォームの印刷結果の画像を規定するその他のパラメータ)からキャッシュIDを付与する。したがって、それら解釈部36は、互いに通信することなく、同じキャッシュデータには同じキャッシュIDを付すことができる。したがって、論理ページ解釈部36−p1、36−p2が生成したページの中間データに含まれるキャッシュ参照コマンドのキャッシュIDが指し示すキャッシュデータは、フォーム解釈部36−fにより遅かれ早かれ必ず生成され、同じキャッシュIDに対応づけてフォームキャッシュ48に登録される。仮に、描画部44がページ中のキャッシュ参照コマンドを処理しようとした時点で、そのコマンドが指し示すキャッシュデータがフォームキャッシュ48にない場合でも、しばらく待機すれば、描画部44はそのキャッシュデータをフォームキャッシュ48から取得可能となる。印刷ジョブの最初の方を処理している間は、フォーム解釈部36−fによるフォームのキャッシュデータ生成の進捗が十分でないため、このような描画部44の待機(キャッシュデータの完成待ち)が生じる確率はある程度高い。論理ページの処理は複数の論理ページ解釈部36−pで並列処理しているのに対し、フォームの処理は1つのフォーム解釈部36−fがページ順に行っているため、論理ページの処理の進捗に追いつかないことがあるからである。しかし、フォーム解釈部36−fは、キーデータが同じフォームが何度現れても一度しかキャッシュデータを生成しないので、ある程度処理が進みフォームキャッシュ48に相当数のキャッシュデータが蓄積された時点では、一般的に新たにキャッシュデータを生成する必要が生じる頻度は少なくなる。このため、ページ処理速度が向上していき、並列動作する論理ページ解釈部36−pの処理の進捗を追い抜くこととなる。こうなると、上述した描画部44によるキャッシュデータ完成待ちは起こらない。
As described above, in this embodiment, the logical page interpretation unit 36-p and the form interpretation unit 36-f use the same ID assignment rule, and the same material (that is, the form ID and the form print result image). A cache ID is assigned from other parameters to be specified). Accordingly, the
以上に説明したように、論理ページ解釈部36−p1、36−p2、およびフォーム解釈部36−fがプロセス間通信を行わずに互いに独立して非同期的に動作しても、フォームの中間データをキャッシュし、再利用することが可能となる。この実施形態は、プロセス間通信のためのオーバーヘッドがない分だけ、プロセス間通信を行うシステムよりも処理が高速である。 As described above, even if the logical page interpretation units 36-p1 and 36-p2 and the form interpretation unit 36-f operate asynchronously independently of each other without performing inter-process communication, intermediate data of the form Can be cached and reused. This embodiment is faster in processing than a system that performs interprocess communication because there is no overhead for interprocess communication.
<比率制御>
次に、フロントエンド装置30内の論理ページ解釈部36−pとフォーム解釈部36−fとの比率の制御について説明する。以下では、ページ配信部34がこの比率制御を行うものとして説明するが、比率制御を別の制御部が行ってもよい。
<Ratio control>
Next, control of the ratio between the logical page interpretation unit 36-p and the form interpretation unit 36-f in the front-
比率制御のため、ページ配信部34は、論理ページ解釈部36−p群によるページ解釈の進捗度合いと、フォーム解釈部36−f群によるフォーム解釈の進捗度合いを把握している。それぞれの進捗度合いは、印刷ジョブのPDLデータの先頭から解釈が済んだ部分までの長さ(言い換えれば、PDLデータの先頭からみた、解釈の済んだ部分の位置)を指標として表す。すなわち、論理ページ解釈部36−pもフォーム解釈部36−fも、PDLデータの先頭から順に解釈していくが、その解釈がPDLデータの先頭からどの位置まで進んだのかを、進捗度合いとして把握するのである。
For the ratio control, the
進捗度合いの単位には、例えばページ番号を用いればよい。例えば、n個(nはフロントエンド装置30内で現在動作している論理ページ解釈部36−pの総数)の論理ページ解釈部36−pが現在並列的に処理しているnページの中の最新(最後)のページの番号を、論理ページ解釈の進捗度合いの指標値として用いる。現在処理中のページの代わりに、n個の論理ページ解釈部36−pが解釈を完了した最新のページの番号、あるいは、ページ配信部34がn個の論理ページ解釈部36−pに対して割り当てした最新のページの番号を、論理ページ解釈の進捗度合いの値として用いてもよい。同様に、k個(kはフロントエンド装置30内で現在動作しているフォーム解釈部36−fの総数)のフォームジ解釈部36−fが現在並列的に処理している、又は解釈を完了したkページのうちの最新のページ番号、又は、ページ配信部34がそれらk個のフォーム解釈部34に割り当てた最新のページ番号、をフォーム解釈の進捗度合いの指標値として用いてもよい。
For example, a page number may be used as the unit of progress. For example, among n pages currently processed in parallel by n logical page interpreters 36-p (n is the total number of logical page interpreters 36-p currently operating in the front-end device 30). The number of the latest (last) page is used as an index value of the progress degree of logical page interpretation. Instead of the page currently being processed, the number of the latest page that the n logical page interpretation units 36-p have completed the interpretation, or the
以上、解釈処理の進捗の指標値をページ番号で表す場合の例を示したが、これは一例に過ぎない。例えば、進捗度合いを、何ページ目の何バンド目まで解釈が終わったかにより表すようにしてもよい。なお、バンドとは、ページを、副走査方向について複数に分割することで得られる、帯状の範囲のことである。また、ページを主走査方向及び副走査方向の両方について複数に分割した結果であるタイル(すなわちページは複数のタイルから構成される)を単位として解釈の進捗度合いを表現してもよい。以下では、解釈の進捗度合いをページ番号で表す場合の例を代表にとって説明する。 In the above, the example in which the index value of the progress of the interpretation process is represented by the page number is shown, but this is only an example. For example, the degree of progress may be expressed by the number of bands on which page and how many bands have been interpreted. A band is a band-like range obtained by dividing a page into a plurality of parts in the sub-scanning direction. Further, the progress of interpretation may be expressed in units of tiles (that is, the page is composed of a plurality of tiles) that is a result of dividing the page into a plurality of parts in both the main scanning direction and the sub-scanning direction. In the following, an example in which the progress of interpretation is represented by a page number will be described as a representative.
ページ配信部34が行う解釈部の構成比率の制御の処理手順の一例を、図9に示す。図9の例は、フロントエンド装置30が、論理ページの解釈専用の解釈部を2つと、論理ページ解釈部36−pとしてもフォーム解釈部36−fとしても機能可能な両用解釈部を1つの、合計3つの解釈部36を備える場合の制御の一例である。すなわち、この例は、図3の例において、論理ページ解釈部36−p1及び36−p2が論理ページ専用の解釈部であり、フォーム解釈部36−fが両用解釈部である場合の例と考えればよい。この例では、両用解釈部の数が1つだけなので、その両用解釈部(図3の例で言えば、上から3つめの解釈部36−f)をフォーム解釈部として機能させるか論理ページ解釈部として機能させるかを制御することとなる。
An example of the processing procedure of the control of the composition ratio of the interpretation unit performed by the
図9の手順では、まずページ配信部34は、印刷対象のPDLデータの処理の開始時に、フロントエンド装置30が有する唯一の両用解釈部を、フォーム解釈部に設定する(S1002)。すなわち、両用解釈部に対し、フォーム解釈部として機能するように指示する。この指示の結果、フロントエンド装置30は、図3に示すように、2つの論理ページ解釈部36−p1,36−p2と1つのフォーム解釈部36−fを有する状態となる。
In the procedure of FIG. 9, first, the
この状態で、ページ配信部34は、論理ページ解釈部36−p1,36−p2に対し、PDLデータの先頭ページから順に、それぞれ別々のページを割り当てていく。例えば、各論理ページ解釈部36−pが1つの論理ページの解釈(中間データ生成)を完了する都度ページ配信部34に完了通知を送り、その完了通知に応じてページ配信部34がその論理ページ解釈部36−pに次の論理ページを割り当てる。また、ページ配信部34は、フォーム解釈部36−fに対して先頭ページから順にフォームの解釈を実行させる。フォーム解釈部36−fが、1ページ中のフォーム群の解釈が完了する都度、ページ配信部34に完了通知を送るようにしてもよい。
In this state, the
ここで、ページ配信部34は、論理ページの解釈及びフォームの解釈が、それぞれ印刷ジョブの何ページ目まで進んでいるかを監視している。この監視は、例えば、論理ページ解釈部36−p及びフォーム解釈部36−fがページ配信部34に送ってくる完了通知を用いて行えばよい。例えば、図3の例において、論理ページ解釈部36−p1から第3ページの完了の通知を受け取っており(次に割り当てた第5ページの完了通知は未着)、論理ページ解釈部36−p2から第4ページの完了の通知を受け取っている(次に割り当てた第6ページの完了通知は未着)場合、2つの論理ページ解釈部36−p1及び36−p2全体としては、第4ページまでの論理ページ解釈が完了していると判定する。1つしかないフォーム解釈部36−fの場合はもっと単純であり、印刷ジョブの開始から数えてn個のページ完了通知を受け取った時点では、第nページまでのフォーム解釈が完了していると判定できる。なお、仮に動作中のフォーム解釈部36−fがフロントエンド装置30内に複数存在する場合、フォーム解釈処理の進捗度合いは、それら複数のフォーム解釈部34−fが解釈を完了したページのうちの最新のページ番号とすればよい。
Here, the
以上では、解釈の進捗状況を、解釈が「完了」した最新のページ番号で表したが、このページ番号に1を足せば、論理ページ解釈部36−p群(又はフォーム解釈部36−f群)が現在解釈中の最新のページ番号が得られる。この現在解釈中の最新のページ番号を進捗度合いの指標値として用いてもよい。 In the above, the progress of interpretation is represented by the latest page number where the interpretation is “completed”. If 1 is added to this page number, the logical page interpretation unit 36-p group (or the form interpretation unit 36-f group). ) Is the latest page number currently being interpreted. The latest page number currently being interpreted may be used as an index value for the degree of progress.
また、ページ配信部34は、あらかじめ定められたアルゴリズムに従って論理ページ解釈部36−p群に対して、先頭ページから順にページの割り当てを行っていくので、何ページまでの割り当てを済ませたかは把握している。この割り当て済みの最新のページの番号を進捗度合いの指標値としてもよい。
Further, the
ページ配信部34は、以上に例示したように、印刷ジョブの処理の進行につれて、論理ページ解釈及びフォーム解釈の進捗度合いの指標値をそれぞれ求め、更新している。そして、ページ配信部34は、ある判定タイミングで、論理ページ解釈の進捗度合いの指標値と、フォーム解釈の進捗度合いの指標値とを比較する(S1004,S1012)。判定タイミングは、例えば、あらかじめ定められた時間毎の定期的なタイミングであってもよいし、論理ページ解釈部36−p1,36−p2又はフォーム解釈部36−fから1ページ分の解釈の完了通知がやってくる都度のタイミングであってもよい。
As exemplified above, the
まず、S1004では、フォーム解釈の進捗が論理ページ解釈の進捗よりも十分大きく先行しているかどうかを判定する。この判定では、例えば、論理ページの解釈の進捗に対するフォームの解釈の進捗の先行度を計算し、その先行度があらかじめ定めた閾値Th1より大きいか否かを判定する。この先行度は、例えば、フォーム解釈の進捗度合いから論理ページ解釈の進捗度合いを減算した減算結果であり、フォーム解釈及び論理ページ解釈の進捗度合いの指標値をそれぞれ記号Pf及びPpで表した場合、(Pf−Pp)で表される。この場合、S1004では、「(Pf−Pp)>Th1」が成り立つか否かを判定する。成り立てばS1004の判定結果は肯定(Y)であり、成り立たなければ否定(N)である。 First, in S1004, it is determined whether the progress of form interpretation is sufficiently larger than the progress of logical page interpretation. In this determination, for example, the leading degree of the progress of the interpretation of the form with respect to the progress of the interpretation of the logical page is calculated, and it is determined whether or not the leading degree is larger than a predetermined threshold Th1. This leading degree is, for example, a subtraction result obtained by subtracting the progress degree of the logical page interpretation from the progress degree of the form interpretation. It is represented by (Pf−Pp). In this case, in S1004, it is determined whether or not “(Pf−Pp)> Th1” is satisfied. If true, the determination result in S1004 is affirmative (Y), and if not, negative (N).
ここで閾値Th1は、フォーム解釈の進捗が論理ページ解釈の進捗よりも「十分大きく」先行しているか否かの判断基準となるページ数である。この閾値Th1の値は、後述するS1012の判定で用いる閾値Th2よりも大きい整数である。 Here, the threshold value Th1 is the number of pages that serves as a criterion for determining whether the progress of form interpretation is “sufficiently” ahead of the progress of logical page interpretation. The value of the threshold Th1 is an integer larger than the threshold Th2 used in the determination in S1012 described later.
S1004の判定結果がYの場合、ページ配信部34は、両用解釈部(図3ではフォーム解釈部36−fとして示す)を論理ページ解釈部に設定する(S1006)。すなわち、両用解釈部に対し、論理ページ解釈部36−pとして機能するように指示する。この指示の結果、フロントエンド装置30は、3つの論理ページ解釈部36−pが動作する状態となる。すなわち、この場合、十分に先のページまでフォームの解釈が進んでいるので、論理ページ解釈部36−pの数を増やして論理ページ解釈の速度を速めることで、システム全体の画像処理(解釈及び描画)の速度を向上させる。
When the determination result in S1004 is Y, the
そして、ページ配信部34は、3つの論理ページ解釈部36−pに対してページの割り当てを行い(S1008)、印刷ジョブの最後のページまで割り当てが完了したかどうかを判定する(S1010)。S1010の判定結果がYの場合、ページ配信部34は、この印刷ジョブについての処理を終了する。逆に判定結果がNの場合は、処理はS1004に戻る。
Then, the
S1004の判定結果がNの場合、ページ配信部S34は、フォーム解釈の進捗が論理ページ解釈の進捗に追いつかれてきたか否かを判定する(S1012)。そして、この判定の結果がY、すなわち「追いつかれてきた」、と判定した場合、両用解釈部をフォーム解釈部に設定する(S1014)。例えば、それまでは3つの解釈部36がすべて論理ページ解釈部36−pとして動作していたところでS1012の判定結果がYとなった場合、そのうちの1つがフォーム解釈部36−fに切り替えられ、フォームの解釈が再開されることになる。これにより、残りの2つの論理ページ解釈部36−pがこれから処理する予定の各ページで用いられるフォームの解釈が行われ、その解釈結果がフォームキャッシュ48に蓄積されていくことになる。S1014の後、処理はS1008に進む。
When the determination result in S1004 is N, the page distribution unit S34 determines whether the progress of form interpretation has been caught up with the progress of logical page interpretation (S1012). If the result of this determination is Y, that is, it has been determined that “it has been caught up”, the dual interpretation unit is set as the form interpretation unit (S1014). For example, when all the three interpreting
なお、S1012の判定結果がNの場合はS1014はスキップされるので、両用解釈部の動作モードは変更されない。 If the determination result in S1012 is N, S1014 is skipped, so the operation mode of the dual interpretation unit is not changed.
ここで、S1012の判定では、例えば論理ページ解釈に対するフォーム解釈の先行度(Pf−Pp)が、第2の閾値Th2以下になったか否かを判定する。(Pf−Pp)≦Th2が成立すれば、S1012の判定結果はYとなる。 Here, in the determination in S1012, for example, it is determined whether or not the leading degree (Pf−Pp) of the form interpretation with respect to the logical page interpretation is equal to or less than the second threshold Th2. If (Pf−Pp) ≦ Th2 is satisfied, the determination result in S1012 is Y.
第2の閾値Th2は、例えば1であってもよい。この場合、フォーム解釈が論理ページ解釈に完全に追いつかれた(すなわち先行度=0)となった場合に、S1012の判定結果がYとなる。 The second threshold Th2 may be 1, for example. In this case, when the form interpretation is completely overtaken by the logical page interpretation (that is, the leading degree = 0), the determination result in S1012 is Y.
また、別の例として、「フロントエンド装置30内の論理ページ解釈部36−p群がそれぞれ次に処理するページまでに用いられるフォームの解釈結果が、フォームキャッシュ48内に蓄積されている」という条件が満たされるよう、Th2の値を定めてもよい。例えば、ここで例にとっている論理ページ専用の解釈部が2つ、両用解釈部が1つのシステム構成の場合、両用解釈部が担うフォーム解釈に課される条件は、2つの専用の論理ページ解釈部36−p1,36−p2が次に処理するページまでのフォーム解釈結果をキャッシュする、ということになる。この場合、Th2は、論理ページ解釈部として動作していた両用解釈部をフォーム解釈部に切り替えた場合に残る論理ページ解釈部の数(この例では専用の論理ページ解釈部36−p1,36−p2の数=2)の2倍である「4」とすればよい。すなわち、現時点で解釈が済んでいる論理ページの最大番号がkであるとすると、2つの論理ページ解釈部36−p1,36−p2が現在処理中の論理ページの最大番号は(k+2)であり、それら論理ページ解釈部が次に処理するページの最大番号は(k+4)となる。したがって、上述の条件を満たすには、フォーム解釈は、論理ページ解釈が完了しているページ番号よりも4ページ先まで完了していなければならない。
As another example, “the interpretation result of the form used up to the next page to be processed next by the logical page interpretation unit 36-p group in the front-
例えば、フォーム解釈の先行度(Pf−Pp)がTh2=「4」より大きい状況から、Th2=「4」以下に変化した時点を考えると、その時点のフォームキャッシュ48には、2つの論理ページ解釈部36−p1,36−p2が次に処理するページで用いるフォームの解釈結果がかろうじて蓄積されているか、あるいはそれよりも少し足りなくなっている。そこで、フォームの解釈を進めるために、それまで論理ページ解釈部として機能していた両用解釈部をフォーム解釈部へと切り替えるのである。
For example, considering the time point when the leading degree of form interpretation (Pf−Pp) has changed from Th2 = “4” to Th2 = “4” or less, the
上述の条件を満たすための閾値Th2は、上に例示したように専用の論理ページ解釈部36−pの総数の2倍でよいが、論理ページ解釈部からフォーム解釈部へ切り替えるのに要する時間やその他の要因による制御の時間遅れを考慮して、「専用の論理ページ解釈部36−pの総数×2」よりもある程度大きい値に設定してもよい。 The threshold value Th2 for satisfying the above condition may be twice the total number of the dedicated logical page interpretation units 36-p as illustrated above, but the time required for switching from the logical page interpretation unit to the form interpretation unit, In consideration of the control time delay due to other factors, the value may be set to a value somewhat larger than “total number of dedicated logical page interpretation units 36-p × 2”.
また、このように定めた第2の閾値Th2を基準に、前述の第1の閾値Th1の具体的な値(Th2よりも大きい値)を定めればよい。 Moreover, what is necessary is just to determine the specific value (value larger than Th2) of the above-mentioned 1st threshold value Th1 on the basis of the 2nd threshold value Th2 defined in this way.
図10には、3つの専用の論理ページ解釈部と1つの両用解釈部を含んだフロントエンド装置についての、印刷ジョブの最初の方の処理の流れの具体例が示される。この例では、まず3つの論理ページ解釈部が1,2,3ページの解釈をそれぞれ実行すると共に、フォーム解釈部として機能する両用解釈部が1ページ目から順に、ページ内に含まれるフォームの解釈を進める。例えば、一番上の論理ページ解釈部は、1ページ目の解釈が終わると次に4ページ目の解釈を行う。その後、フォーム解釈部として機能している両用解釈部が第16ページの中のフォーム群の解釈を終えた時点では、3つの論理ページ解釈部は、第6ページまでの解釈を完了し、第7〜9ページの解釈を実行中である。この例では第1の閾値Th1が「9」であり、この時点でのフォーム解釈の先行度「10」(=16−6)はその閾値Th1より大きいので、S1004の判定結果がYとなり、両用解釈部が論理ページ解釈部のモードに切り替えられる。そして、第4の論理ページ解釈部として機能する両用解釈部に対して第10ページの解釈が割り当てられる。
FIG. 10 shows a specific example of the first processing flow of a print job for a front-end device including three dedicated logical page interpretation units and one dual-purpose interpretation unit. In this example, the three logical page interpreters first interpret the
その後、論理ページ解釈部として機能する両用解釈部が第10ページの解釈を完了した時点では、3つの論理ページ解釈部は第11〜第13ページを処理中である。この時点では、フォーム解釈の先行度は、フォーム解釈の完了している最新のページ番号16から論理ページ解釈が完了している最新のページ番号10を引いた結果である「6」であり、この先行度の値6は、S1012の判定閾値Th2=6(専用の論理ページ解釈部の総数3の2倍)以下の値である。したがって、S1012の判定結果がYとなり、S1014にて両用解釈部がフォーム解釈部のモードへと切り替えられる。この結果、両用解釈部は、第17ページ以降のページのフォームの解釈を進めていくことになる。
After that, when the dual interpretation unit functioning as the logical page interpretation unit completes the interpretation of the tenth page, the three logical page interpretation units are processing the 11th to 13th pages. At this time, the leading degree of form interpretation is “6”, which is the result of subtracting the
以上、フロントエンド装置30内の両用解釈部の数が1つの場合を説明した。次に、フロントエンド装置30内に両用解釈部が2つ設けられている場合の、解釈部の構成比率の制御の例を、図11を参照して説明する。論理ページ解釈専用の解釈部の数は1以上であれば、いくつでもよい。
In the above, the case where the number of the dual interpretation units in the
この例では、まず印刷ジョブの実行開始当初に、2つの両用解釈部を、あらかじめ定めた比率で、論理ページ解釈部及びフォーム解釈部に設定する(S1022)。例えば、「あらかじめ定めた比率」が1対1であれば、2つの両用解釈部のうちの1つを論理ページ解釈部に、もう1つをフォーム解釈部に設定する。ただしこれは一例に過ぎず、このかわりに、2つの両用解釈部の両方をフォーム解釈部に初期設定してもよい。 In this example, first, at the beginning of execution of a print job, two dual-purpose interpreters are set in a logical page interpreter and a form interpreter at a predetermined ratio (S1022). For example, if the “predetermined ratio” is 1: 1, one of the two dual-purpose interpreters is set as the logical page interpreter, and the other is set as the form interpreter. However, this is merely an example, and instead of this, both of the two interpretation units may be initially set as the form interpretation unit.
ページ配信部34は、フォーム解釈と論理ページ解釈のそれぞれの進捗度合いを監視しており、判定タイミングが到来するごとに、論理ページ解釈に対するフォーム解釈の先行度が十分に大きいか否かを判定する(S1024)。S1024では、先行度があらかじめ定めた閾値ThAを超えたか否かを判定する。この閾値ThAは、後述するS1032の判定閾値ThBよりも大きい、あらかじめ定めた値である。S1024の判定結果がY(肯定)の場合、ページ配信部34は、2つの両用解釈部の両方を論理ページ解釈部に設定する(S1026)。S1026では、S1026の前から既に論理ページ解釈部として動作している両用解釈部は、論理ページ解釈部としてそのまま動作を続行させ、S1026の前にフォーム解釈部として動作している両用解釈部は、論理ページ解釈部に切り替える。このように、S1026では、十分先のページまでフォームの解釈が完了していれば、論理ページ解釈部の数を増やすことで、論理ページ解釈の速度を上げ、ひいては印刷ジョブの処理速度を向上させるのである。そして、各論理ページ解釈部にページの割り当てを行い(S1028)、印刷ジョブの最後のページまで解釈が完了したかどうかを判定する(S1030)。
The
S1024の判定結果がNの場合、ページ配信部34は、フォーム解釈の先行度を第2の閾値ThBより大きいか否かを判定する(S1032)。第2の閾値ThBは、前述の例における閾値Th2と同様、フォーム解釈が論理ページ解釈に追いつかれかけてきたか否かを判定するための閾値である。S1032の判定の結果がN(否定)の場合、フォーム解釈が論理ページ解釈に追いつかれてきているということなので、フォーム解釈を高速に進める必要がある。そこで、この場合には、両用解釈部を両方ともフォーム解釈部に設定する(S1036)。S1036では、S1036の前から既にフォーム解釈部として動作している両用解釈部は、フォーム解釈部としてそのまま動作を続行させ、S1036の前に論理ページ解釈部として動作している両用解釈部は、フォーム解釈部に切り替える。このように2つのフォーム解釈部を動作させることで、フォーム解釈の速度が高くなる。
When the determination result in S1024 is N, the
また、S1032の判定結果がYの場合、フォーム解釈の先行度は第1の閾値ThAと第2の閾値ThBの間である。この状況は、フォーム解釈が先行しすぎている状況と、フォーム解釈が論理ページ解釈に追いつかれそうになっている状況との間である。この状況では、2つの両用解釈部のうちの1つを論理ページ解釈部とし、もう1つをフォーム解釈部として機能させる(S1034)。これにより、2つの両用解釈部を共に論理ページ解釈部として動作させる場合よりもフォーム解釈の速度を上げることで、フォーム解釈が論理ページ解釈に追いつかれにくくすることができる。 When the determination result in S1032 is Y, the leading degree of form interpretation is between the first threshold ThA and the second threshold ThB. This situation is between a situation where the form interpretation is too predecessor and a situation where the form interpretation is likely to be caught up with the logical page interpretation. In this situation, one of the two dual-purpose interpreting units functions as a logical page interpreting unit, and the other functions as a form interpreting unit (S1034). As a result, the form interpretation can be made more difficult to catch up with the logical page interpretation by increasing the speed of the form interpretation than when both the two-purpose interpretation units are operated as the logical page interpretation unit.
以上に説明した図11の例では、2つのフォーム解釈部が並列に動作する場合がある。このような場合、2つのフォーム解釈部の解釈結果の中間データを、一方のフォーム解釈部のキャッシュ管理部38(図3参照)にて集中管理することで、2つのフォーム解釈部が同じフォームを重複して解釈することを防止してもよい。すなわち、この場合、2つの両用解釈部のうちあらかじめ定めた一方のみがキャッシュ管理部38を有しており、1つの両用解釈部のみをフォーム解釈部に設定する場合は、キャッシュ管理部38を有する方をフォーム解釈部に設定することとする。そして、2つの両用解釈部をフォーム解釈部とした場合は、キャッシュ管理部38を有しない方のフォーム解釈部は、PDLデータから新たなフォームを検出するごとに、そのフォームに対応するキャッシュIDを求め、そのキャッシュIDに対応する解釈結果が既に登録済みであるかどうかをキャッシュ管理部38を有するフォーム解釈部に問い合わせる。そして、問い合わせの結果、既登録と判明すれば、そのフォームの解釈は取りやめて次のフォームの処理に進み、未登録であればそのフォームの解釈を実行する。
In the example of FIG. 11 described above, two form interpretation units may operate in parallel. In such a case, the intermediate data of the interpretation results of the two form interpretation units are centrally managed by the cache management unit 38 (see FIG. 3) of one form interpretation unit, so that the two form interpretation units have the same form. Duplicate interpretation may be prevented. That is, in this case, only a predetermined one of the two dual-use interpretation units has the
図11には、フロントエンド装置30内に両用解釈部が2つある場合(専用の論理ページ解釈部は1以上の任意の数)の例を示したが、同様の制御は、両用解釈部が3以上ある場合にも適用可能である。すなわち、フォーム解釈の論理ページ解釈に対する先行度を監視し、先行度が下がるにつれて、両用解釈部のうちフォーム解釈部として動作させるものの数を段階的に増やしていく(すなわち論理ページ解釈部として動作させるものの数を段階的に減らしていく)制御を行うことで、解釈処理全体の効率を高めることができる。 FIG. 11 shows an example of the case where there are two dual-use interpreters in the front-end device 30 (the dedicated logical page interpreter is an arbitrary number greater than or equal to 1). The present invention is also applicable when there are three or more. In other words, the degree of precedence of the logical interpretation of the form interpretation is monitored, and as the precedence decreases, the number of dual interpretation units to be operated as the form interpretation unit is increased stepwise (that is, the logical page interpretation unit is operated). The efficiency of the entire interpretation process can be increased by performing control (reducing the number of objects step by step).
次に、図12を参照して、解釈部の構成比率の制御についての更なる変形例を説明する。図12に示す構成比率制御の手順のうち、図11の手順と同様のステップには、同じ番号を付して詳細な説明を省略する。図12の例では、フロントエンド装置30は複数の両用解釈部と1以上の専用の論理ページ解釈部を有するものとする。
Next, with reference to FIG. 12, the further modification about control of the structure ratio of an interpretation part is demonstrated. Of the procedure of the composition ratio control shown in FIG. 12, the same steps as those in the procedure of FIG. In the example of FIG. 12, it is assumed that the front-
図12の手順では、まず印刷ジョブの実行開始時に、フロントエンド装置30内の複数の両用解釈部を、あらかじめ定めた初期比率に従って、論理ページ解釈部及びフォーム解釈部に設定し(S1022)、各解釈部にページを割り当てて処理を実行させる。
In the procedure of FIG. 12, first, at the start of execution of a print job, a plurality of interpretation units in the front-
そして、論理ページ解釈に対するフォーム解釈の先行度を計算し、求めた先行度があらかじめ定めた閾値ThB以下になると(S1032の判定結果がN)、それまで論理ページ解釈部として機能していた両用解釈部のうちの1つをフォーム解釈部に切り替える(S1044)。これにより、フォーム解釈部の数が1つ増える。ここで用いる閾値Thbは、前述の例における閾値Th2と同様、フォーム解釈が論理ページ解釈に追いつかれかけてきたか否かを判定するための閾値である。これにより、フォーム解釈の速度が向上し、フォーム解釈が論理ページ解釈に追い抜かれてしまう可能性が低くなる。 Then, the leading degree of the form interpretation with respect to the logical page interpretation is calculated, and when the obtained leading degree is equal to or less than a predetermined threshold ThB (the determination result of S1032 is N), the dual-use interpretation that has been functioning as the logical page interpretation unit until then One of the units is switched to the form interpretation unit (S1044). Thereby, the number of form interpretation parts increases by one. The threshold value Thb used here is a threshold value for determining whether or not the form interpretation has been caught up with the logical page interpretation, like the threshold value Th2 in the above-described example. This increases the speed of form interpretation and reduces the possibility that form interpretation will be overtaken by logical page interpretation.
一方、フォーム解釈の先行度が、閾値ThBよりも大きい閾値ThAを超えている場合(S1024の判定結果がY)は、それまでフォーム解釈部として機能していた両用解釈部のうちの1つを論理ページ解釈部に切り替える(S1042)。これにより、論理ページ解釈の速度が向上し、ひいては印刷速度が向上する。 On the other hand, when the leading degree of the form interpretation exceeds the threshold ThA larger than the threshold ThB (the determination result in S1024 is Y), one of the dual-use interpretation units that has been functioning as the form interpretation unit until then is determined. Switching to the logical page interpretation unit (S1042). As a result, the logical page interpretation speed is improved, and the printing speed is improved.
フォーム解釈の先行度が閾値ThA以下かつThBより大きい場合は、論理ページ解釈部からフォーム解釈部への切り替えも、その逆も行わない。したがってこの場合は、論理ページ解釈部とフォーム解釈部の比率が維持される。 When the leading degree of form interpretation is equal to or less than the threshold ThA and greater than ThB, switching from the logical page interpretation unit to the form interpretation unit and vice versa are not performed. Therefore, in this case, the ratio between the logical page interpretation unit and the form interpretation unit is maintained.
論理ページ解釈部からフォーム解釈部への切り替え、及びフォーム解釈部から論理ページ解釈部への切り替えは、上述の例のように1つずつ行う必要はなく、複数ずつ行ってもよい。 The switching from the logical page interpreting unit to the form interpreting unit and the switching from the form interpreting unit to the logical page interpreting unit do not have to be performed one by one as in the above-described example, and may be performed by a plurality.
以上に説明した実施形態では、フォーム解釈の進捗が論理ページ解釈の進捗に追いつかれないよう(すなわちフォーム解釈が論理ページ解釈に常に先行するよう)フォーム解釈部と論理ページ解釈部の数の比率を制御したが、これは必須ではない。逆に、論理ページ解釈がフォーム解釈に先行するように制御してもよい。また、論理ページ解釈とフォーム解釈のどちらが先行してもよい制御としてもよい。 In the embodiment described above, the ratio of the number of form interpreters to the number of logical page interpreters is set so that the progress of form interpretation cannot catch up with the progress of logical page interpretation (that is, form interpretation always precedes logical page interpretation). Although controlled, this is not essential. Conversely, the logical page interpretation may be controlled to precede the form interpretation. Further, it may be a control in which either logical page interpretation or form interpretation may precede.
いずれの場合でも重要なのは、フォーム解釈の進捗と論理ページ解釈の進捗に大きな差が出ないように制御することである。描画部44が描画を行えるのは、論理ページの解釈結果と、その論理ページで用いるフォームの解釈結果の両方が揃っているページまでである。すなわち、描画部44の描画速度は、論理ページ解釈とフォーム解釈のうちの遅い方の速度に制限される。このため、論理ページ解釈とフォーム解釈のうちの一方が他方より大幅に高速となっても、描画部44の描画速度(ひいては印刷処理全体の速度)は向上しない。むしろ、解釈部36の総数が決まっている状況では、フォーム解釈の進捗と論理ページ解釈の進捗に大きな差が出ないようにする方が、全体の処理速度を向上させることにつながる。例えば、図12の手順において、S1032で用いる閾値ThBを負の値とすれば、論理ページ解釈とフォーム解釈のどちらが先行してもよく、かつ、論理ページ解釈の進捗度合いとフォーム解釈の進捗度合いの差がある一定の範囲に収まるようにすることができる。
In any case, it is important to control the progress of the form interpretation and the logical page interpretation so that there is no significant difference. The
以上では、フロントエンド装置30内に専用の論理ページ解釈部と両用解釈部がそれぞれ1以上存在する場合の例を主として説明した。これに対し、フロントエンド装置30内の複数の解釈部36がすべて両用解釈部であるシステム構成にも、以上に例示した各種の制御が適用可能である。複数の解釈部36がすべて両用解釈部である場合、初期設定(S1022)では、それら両用解釈部のすべてをフォーム解釈部に設定するのではなく、一部を論理ページ解釈部に設定する。初期設定時の論理ページ解釈部とフォーム解釈部との数の比率は、あらかじめ定めておいた比率とする。
In the foregoing, an example in which one or more dedicated logical page interpretation units and one or more dual interpretation units exist in the front-
以上、本発明の実施形態および変形例について説明した。上述した実施形態および変形例は、あくまで本発明を説明するための例に過ぎず、本発明の範囲が上記実施形態および変形例に限られるわけではない。例えば、上記実施形態ではフォームキャッシュ48をバックエンド装置40内に設けたが、これは一例に過ぎない。フォームキャッシュ48は、各解釈部36および描画部44からアクセス可能な場所であれば、どのような場所に配置されてもよい。また、上記実施形態では、描画部44の数は1つであったが、複数存在してももちろんよい。
In the above, embodiment and the modification of this invention were demonstrated. The above-described embodiments and modifications are merely examples for explaining the present invention, and the scope of the present invention is not limited to the above-described embodiments and modifications. For example, in the above embodiment, the
10 端末装置、20 印刷コントローラ、30 フロントエンド装置、32 印刷ジョブ受信部、34 ページ配信部、36−f フォーム解釈部、36−p1,36−p2 論理ページ解釈部、38 キャッシュ管理部、40 バックエンド装置、42 中間データバッファ、44 描画部、46 出力バッファ、48 フォームキャッシュ、50 印刷装置、60,62,64 通信手段、382 通信制御部、384 キャッシュ制御部、386 キャッシュテーブル。
10 terminal device, 20 print controller, 30 front-end device, 32 print job reception unit, 34 page distribution unit, 36-f form interpretation unit, 36-p1, 36-p2 logical page interpretation unit, 38 cache management unit, 40 back End device, 42 Intermediate data buffer, 44 Rendering unit, 46 Output buffer, 48 Form cache, 50 Printing device, 60, 62, 64 Communication means, 382 Communication control unit, 384 Cache control unit, 386 Cache table.
Claims (5)
前記各両用解釈手段を、前記論理ページ解釈手段及び前記キャッシュ用解釈手段のいずれとして機能させるかを切り替える切り替え手段と、
前記各論理ページ解釈手段から出力された各論理ページの解釈結果と、前記キャッシュ手段に記憶された前記キャッシュ対象要素の解釈結果とを用いて、前記各論理ページの印刷画像データを生成し、生成した印刷画像データを印刷装置に供給する印刷画像データ生成手段と、
を有し、
前記キャッシュ用解釈手段は、前記キャッシュ手段に解釈結果が記憶されていないキャッシュ対象要素を前記印刷データから見つけると、見つけたキャッシュ対象要素を解釈し、その解釈結果を、あらかじめ定められた生成規則に従って当該キャッシュ対象要素のデータから生成したキャッシュ識別情報と対応づけて前記キャッシュ手段に記憶させ、
前記論理ページ解釈手段は、それぞれ、処理対象の論理ページに含まれるキャッシュ対象要素について、そのキャッシュ対象要素を解釈する代わりに、当該キャッシュ対象要素のデータから前記生成規則に従って生成したキャッシュ識別情報を含むキャッシュ参照コマンドを生成し、生成したキャッシュ参照コマンドを当該キャッシュ対象要素の解釈結果として当該論理ページの解釈結果に組み込み、
前記印刷画像データ生成手段は、前記各論理ページ解釈手段が出力した各論理ページの解釈結果から印刷画像データを生成する際、前記論理ページの解釈結果から前記キャッシュ参照コマンドを見つけると、当該キャッシュ参照コマンドに含まれる前記キャッシュ識別情報に対応する解釈結果を前記キャッシュ手段から取得し、取得した解釈した解釈結果を用いて当該キャッシュ識別情報に対応するキャッシュ対象要素の印刷画像データを生成し、当該論理ページの印刷画像データに合成し、
前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分に基づき、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものと前記論理ページ解釈手段として機能させるものとの比率を制御する、
ことを特徴とする印刷画像処理システム。 Logical page interpreting means for interpreting logical pages in print data and outputting interpretation results; and for cache for interpreting cache target elements included in each logical page in print data and storing interpretation results in cache means One or more dual-purpose interpretation means capable of functioning as interpretation means;
Switching means for switching whether to make each of the dual-purpose interpretation means function as the logical page interpretation means or the cache interpretation means;
Generate print image data of each logical page using the interpretation result of each logical page output from each logical page interpreting means and the interpretation result of the cache target element stored in the cache means, and generate Print image data generation means for supplying the print image data to the printing apparatus;
Have
When the cache interpreting unit finds a cache target element whose interpretation result is not stored in the cache unit from the print data, the cache interpreting unit interprets the found cache target element, and the interpretation result is determined according to a predetermined generation rule. In association with the cache identification information generated from the data of the cache target element is stored in the cache means,
Each of the logical page interpreting means includes, for each cache target element included in the logical page to be processed, cache identification information generated according to the generation rule from the data of the cache target element instead of interpreting the cache target element. Generate a cache reference command, incorporate the generated cache reference command into the interpretation result of the logical page as the interpretation result of the cache target element,
When the print image data generating unit finds the cache reference command from the interpretation result of the logical page when generating the print image data from the interpretation result of the logical page output by the logical page interpretation unit, the cache reference An interpretation result corresponding to the cache identification information included in the command is acquired from the cache unit, and print image data of a cache target element corresponding to the cache identification information is generated using the acquired interpretation result, and the logic Composite to the print image data of the page,
The switching unit is based on a difference between a progress level of interpretation of the cache target element in the print data by the cache interpretation unit and a progress level of interpretation of the logical page in the print data by the logical page interpretation unit. , Controlling the ratio of the one or more dual-use interpreting means to function as the cache interpreting means and the logical page interpreting means to function.
A printed image processing system.
印刷データ内の論理ページを解釈して解釈結果を出力する論理ページ解釈手段、及び、前記印刷データ内の各論理ページに含まれるキャッシュ対象要素を解釈して解釈結果をキャッシュ手段に記憶させるキャッシュ用解釈手段、として機能することが可能な1以上の両用解釈手段、
前記各両用解釈手段を、前記論理ページ解釈手段及び前記キャッシュ用解釈手段のいずれとして機能させるかを切り替える切り替え手段、
前記各論理ページ解釈手段から出力された各論理ページの解釈結果と、前記キャッシュ手段に記憶された前記キャッシュ対象要素の解釈結果とを用いて、前記各論理ページの印刷画像データを生成し、生成した印刷画像データを印刷装置に供給する印刷画像データ生成手段、
として機能させるためのプログラムであって、
前記キャッシュ用解釈手段は、前記キャッシュ手段に解釈結果が記憶されていないキャッシュ対象要素を前記印刷データから見つけると、見つけたキャッシュ対象要素を解釈し、その解釈結果を、あらかじめ定められた生成規則に従って当該キャッシュ対象要素のデータから生成したキャッシュ識別情報と対応づけて前記キャッシュ手段に記憶させ、
前記論理ページ解釈手段は、それぞれ、処理対象の論理ページに含まれるキャッシュ対象要素について、そのキャッシュ対象要素を解釈する代わりに、当該キャッシュ対象要素のデータから前記生成規則に従って生成したキャッシュ識別情報を含むキャッシュ参照コマンドを生成し、生成したキャッシュ参照コマンドを当該キャッシュ対象要素の解釈結果として当該論理ページの解釈結果に組み込み、
前記印刷画像データ生成手段は、前記各論理ページ解釈手段が出力した各論理ページの解釈結果から印刷画像データを生成する際、前記論理ページの解釈結果から前記キャッシュ参照コマンドを見つけると、当該キャッシュ参照コマンドに含まれる前記キャッシュ識別情報に対応する解釈結果を前記キャッシュ手段から取得し、取得した解釈した解釈結果を用いて当該キャッシュ識別情報に対応するキャッシュ対象要素の印刷画像データを生成し、当該論理ページの印刷画像データに合成し、
前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分に基づき、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものと前記論理ページ解釈手段として機能させるものとの比率を制御する、
ことを特徴とするプログラム。
Computer
Logical page interpreting means for interpreting logical pages in print data and outputting interpretation results; and for cache for interpreting cache target elements included in each logical page in print data and storing interpretation results in cache means One or more dual-purpose interpretation means capable of functioning as interpretation means;
Switching means for switching whether to make each of the dual-purpose interpretation means function as the logical page interpretation means or the cache interpretation means;
Generate print image data of each logical page using the interpretation result of each logical page output from each logical page interpreting means and the interpretation result of the cache target element stored in the cache means, and generate Print image data generation means for supplying the printed image data to the printing apparatus,
Is a program for functioning as
When the cache interpreting unit finds a cache target element whose interpretation result is not stored in the cache unit from the print data, the cache interpreting unit interprets the found cache target element, and the interpretation result is determined according to a predetermined generation rule. In association with the cache identification information generated from the data of the cache target element is stored in the cache means,
Each of the logical page interpreting means includes, for each cache target element included in the logical page to be processed, cache identification information generated according to the generation rule from the data of the cache target element instead of interpreting the cache target element. Generate a cache reference command, incorporate the generated cache reference command into the interpretation result of the logical page as the interpretation result of the cache target element,
When the print image data generating unit finds the cache reference command from the interpretation result of the logical page when generating the print image data from the interpretation result of the logical page output by the logical page interpretation unit, the cache reference An interpretation result corresponding to the cache identification information included in the command is acquired from the cache unit, and print image data of a cache target element corresponding to the cache identification information is generated using the acquired interpretation result, and the logic Composite to the print image data of the page,
The switching means is based on a difference between a progress degree of interpretation of the cache target element in the print data by the cache interpretation means and a progress degree of interpretation of the logical page in the print data by the logical page interpretation means. , Controlling the ratio of the one or more dual-use interpreting means to function as the cache interpreting means and the logical page interpreting means to function.
A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013126747A JP2015001882A (en) | 2013-06-17 | 2013-06-17 | Print image processing system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013126747A JP2015001882A (en) | 2013-06-17 | 2013-06-17 | Print image processing system and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015001882A true JP2015001882A (en) | 2015-01-05 |
Family
ID=52296358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013126747A Pending JP2015001882A (en) | 2013-06-17 | 2013-06-17 | Print image processing system and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015001882A (en) |
-
2013
- 2013-06-17 JP JP2013126747A patent/JP2015001882A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8576435B2 (en) | Print-document conversion apparatus, print-document conversion method, and computer-readable medium storing program | |
JP5531531B2 (en) | Image processing system and image processing program | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
US8743389B2 (en) | Methods and systems rendering a print job | |
JP5238526B2 (en) | System and method for print resource management | |
JP5051327B1 (en) | Image processing apparatus and program | |
US8625133B2 (en) | Print data processing apparatus, print data processing method, and storage medium | |
JP5288039B1 (en) | Print image processing system and program | |
US9519443B2 (en) | Print data flattening processing of spot color components with any hidden spot color portion removed | |
US8223353B2 (en) | Multiple processor print driver | |
US8755060B2 (en) | Print control apparatus, image forming system, and non-transitory computer readable medium | |
US8861011B2 (en) | Print image processing system and non-transitory computer readable medium | |
US8334989B2 (en) | Printing device and method for parallel processing of data | |
JP5408323B1 (en) | Print image processing system and program | |
JP6135329B2 (en) | Print data processing apparatus, program, and system | |
JP2012200956A (en) | Image processing system and image processing program | |
US8526052B2 (en) | Print data processing apparatus, control method for print data processing apparatus, and storage medium | |
JP2015001882A (en) | Print image processing system and program | |
JP2010111099A (en) | Image processing apparatus and its control method | |
JP5800217B2 (en) | Rendering method | |
JP5409559B2 (en) | Image forming apparatus and image forming program | |
US8629997B2 (en) | Print control apparatus and image forming system for rendering image data | |
JP2012221195A (en) | Image processing system | |
JP2012081711A (en) | Image forming apparatus and image processing method | |
JP2003216364A (en) | Information processor, its control method, its program and storage medium |