JP2015001882A - Print image processing system and program - Google Patents

Print image processing system and program Download PDF

Info

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
Application number
JP2013126747A
Other languages
Japanese (ja)
Inventor
道生 早川
Michio Hayakawa
道生 早川
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2013126747A priority Critical patent/JP2015001882A/en
Publication of JP2015001882A publication Critical patent/JP2015001882A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To make a generation speed of print image data higher than in the case where a ratio between the number of means for translating a logic page and the number of means for translating an element of a cache object of a form, or the like is fixed.SOLUTION: A system includes, for example, two logic page translation parts and one dual-purpose translation part. The dual-purpose translation part can be changed over as to whether to be functioned as a logic page translation part or to be functioned as a form translation part. In the case that a progress level of form translation progresses more greatly than a progress level of logic page translation (a determination result of S1004 is Y), means for controlling the changeover sets the dual-purpose translation part to the logic page translation part (S1006). On the other hand, in the case that the progress level of the form translation is likely to be caught up with the progress level of the logic page translation (a determination result of S1012 is Y), the means sets the dual-purpose translation part to the logic page translation part (S1014).

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 Patent Document 3, a device for converting PDL print data into raster image data is divided into two-stage devices, a front-end device at the front stage and a back-end device at the rear stage. Yes. The front stage has a parallel configuration with a plurality of front-end devices, and the rear stage has a parallel configuration with a plurality of processing circuits mounted in one back-end device. A plurality of processing circuits in the back-end device share a cache memory in the back-end device. In the cache memory, data of an object that is commonly used in a plurality of pages, such as a form, is cached.

特開2011−070337号公報JP 2011-070337 A 特開2011−230470号公報JP 2011-230470 A 特開2012−200955号公報JP 2012-200955 A

本発明は、論理ページを解釈する手段とフォーム等のキャッシュ対象の要素を解釈する手段の数の比率が固定である場合よりも、印刷画像データの生成速度を高くすることを目的とする。   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.

画像処理システムの構成の例を示すブロック図である。It is a block diagram which shows the example of a structure of an image processing system. 印刷コントローラの内部構成の例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of an internal configuration of a print controller. 実施形態の印刷コントローラの内部構成の例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of an internal configuration of a print controller according to an embodiment. 論理ページ解釈部およびフォーム解釈部の全体的な処理手順の例を示す図である。It is a figure which shows the example of the whole process sequence of a logical page interpretation part and a form interpretation part. 論理ページ解釈部のコマンドごとの処理手順の例を示す図である。It is a figure which shows the example of the process sequence for every command of a logical page interpretation part. フォーム解釈部のコマンドごとの処理手順の例を示す図である。It is a figure which shows the example of the process sequence for every command of a form interpretation part. 描画部の全体的な処理手順の例を示す図である。It is a figure which shows the example of the whole process sequence of a drawing part. 描画部のコマンドごとの描画処理の手順の例を示す図である。It is a figure which shows the example of the procedure of the drawing process for every command of a drawing part. 論理ページ解釈部とフォーム解釈部の比率の制御の手順の一例を示す図である。It is a figure which shows an example of the procedure of control of the ratio of a logical page interpretation part and a form interpretation part. 印刷ジョブの初期における各論理ページ解釈部及び両用解釈部の処理の進捗の様子の例を示す図である。FIG. 10 is a diagram illustrating an example of a progress of processing of each logical page interpretation unit and a dual-use interpretation unit at an initial stage of a print job. 論理ページ解釈部とフォーム解釈部の比率の制御の手順の変形例を示す図である。It is a figure which shows the modification of the procedure of control of the ratio of a logical page interpretation part and a form interpretation part. 論理ページ解釈部とフォーム解釈部の比率の制御の手順の第2の変形例を示す図である。It is a figure which shows the 2nd modification of the procedure of the control of the ratio of a logical page interpretation part and a form interpretation part.

<システムのハードウエア構成>
図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 terminal device 10, a print controller 20, and a printing device 50. The print controller 20 includes a front end device 30 and a back end device 40. The terminal device 10 is connected to the front-end device 30 via the communication unit 60 and transmits a print job including a document print command to the front-end device 30 in accordance with a user instruction. The front-end device 30 is connected to the back-end device 40 via the communication unit 62, and the back-end device 40 is connected to the printing device 50 via the communication unit 64.

通信手段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 terminal device 10 and the front-end device 30, and the communication means 62 between the front-end device 30 and the back-end device 40 and between the back-end device 40 and the printing device 50. As the communication means 64, dedicated communication means different from the LAN may be used.

図1の例のシステムでは、端末装置10から送信された印刷ジョブをフロントエンド装置30において処理し、この処理結果のデータがバックエンド装置40に渡され、バックエンド装置40において生成された描画データ(ラスターデータとも言う)に従って印刷装置50による印刷が行われる。   In the system of the example of FIG. 1, the print job transmitted from the terminal device 10 is processed in the front-end device 30, and the processing result data is passed to the back-end device 40, and the drawing data generated in the back-end device 40. Printing by the printing apparatus 50 is performed according to (also referred to as raster data).

図1の例の端末装置10、フロントエンド装置30、およびバックエンド装置40は、例えば汎用のコンピュータによって実現され得る。コンピュータは、ハードウエアとして、CPU(中央演算装置)、メモリ(一次記憶)、各種I/O(入出力)インタフェース、通信インタフェースなどがバスを介して接続された回路構成を有する。コンピュータは、通信インタフェースを介して、他の装置との間でデータの授受を行う。また、バスに対し、例えばI/Oインタフェース経由で、キーボードやマウスなどの入力装置、および、CRT(Cathode Ray Tube)や液晶ディスプレイなどの表示装置が接続される。また、バスには、I/Oインタフェースを介して、HDD(ハードディスクドライブ)や、CD、DVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブが接続される。このようなドライブは、メモリに対する外部記憶装置として機能する。後述の各実施形態の処理内容が記述されたプログラムがCDやDVDなどの記録媒体を経由して、またはネットワーク経由で、HDDなどの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、後述の各実施形態、変形例の処理が実現される。   The terminal device 10, the front-end device 30, and the back-end device 40 in the example of FIG. 1 can be realized by a general-purpose computer, for example. The computer has a circuit configuration in which a CPU (central processing unit), a memory (primary storage), various I / O (input / output) interfaces, a communication interface, and the like are connected via a bus as hardware. The computer exchanges data with other devices via the communication interface. Also, an input device such as a keyboard and a mouse, and a display device such as a CRT (Cathode Ray Tube) and a liquid crystal display are connected to the bus via, for example, an I / O interface. In addition, a disk drive for reading portable non-volatile recording media of various standards such as HDD (hard disk drive), CD, DVD, and flash memory is connected to the bus via an I / O interface. Such a drive functions as an external storage device for the memory. A program in which the processing content of each embodiment described later is described is stored in a fixed storage device such as an HDD via a recording medium such as a CD or DVD or via a network, and is installed in a computer. The programs stored in the fixed storage device are read into the memory and executed by the CPU, whereby the processing of each embodiment and modification described later is realized.

なお、後述の各実施形態、変形例において、バックエンド装置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-end device 40 may be realized by hardware processing, not software processing by executing a program. The hardware processing may be performed using, for example, a processor called Dynamic Reconfigurable Processor (DRP) that can dynamically reconfigure a circuit in the middle of execution of processing. Alternatively, the hardware processing may be performed using a circuit such as ASIC (Application Specific Integrated Circuit). For example, hardware elements such as DRP and ASIC that execute a part of the functions of the back-end device 40 are configured in advance, and such hardware elements are connected to a general-purpose computer bus so that The end device 40 may be realized.

フロントエンド装置30およびバックエンド装置40を実現するハードウエアの1つの具体例として、それぞれがサーバとして機能する複数の情報処理装置を1つの筐体内に搭載したブレードサーバを用いることが考えられる。ブレードサーバは、CPUやメモリを備える汎用のコンピュータを1枚の基板(ブレード)に実装し、複数のブレードを筐体内に搭載したサーバ装置である。例えば、ブレードサーバに搭載された1つのブレードをフロントエンド装置30として機能させ、他の1つのブレードをバックエンド装置40として機能させてもよい。あるいは、例えば、フロントエンド装置30およびバックエンド装置40のそれぞれを、ブレードサーバに搭載された複数のブレードにより実現してもよい。   As a specific example of hardware for realizing the front-end device 30 and the back-end device 40, it is conceivable to use a blade server in which a plurality of information processing devices each functioning as a server are mounted in a single casing. The blade server is a server device in which a general-purpose computer including a CPU and a memory is mounted on a single board (blade) and a plurality of blades are mounted in a housing. For example, one blade mounted on the blade server may function as the front end device 30 and the other one blade may function as the back end device 40. Alternatively, for example, each of the front-end device 30 and the back-end device 40 may be realized by a plurality of blades mounted on a blade server.

印刷装置50は、紙等の媒体に印刷を行う装置であり、例えば、連続紙プリンタであってよい。以下では、印刷装置50として連続紙プリンタを用いる場合を例に取り、各実施形態の例を説明する。なお、印刷装置50は、電子写真、インクジェット、またはその他の方式の印刷エンジンにより印刷を行うものとする。   The printing device 50 is a device that performs printing on a medium such as paper, and may be, for example, a continuous paper printer. Hereinafter, an example of each embodiment will be described by taking a case where a continuous paper printer is used as the printing apparatus 50 as an example. Note that the printing apparatus 50 performs printing using an electrophotographic, inkjet, or other printing engine.

<実施形態>
図2に、印刷コントローラ20が備えるフロントエンド装置30およびバックエンド装置40の機能構成の例を示す。フロントエンド装置30は、印刷ジョブ受信部32、ページ配信部34、および、複数の解釈部36を備える。バックエンド装置40は、中間データバッファ42、描画部44および出力バッファ46を備える。
<Embodiment>
FIG. 2 shows an example of functional configurations of the front-end device 30 and the back-end device 40 included in the print controller 20. The front-end device 30 includes a print job reception unit 32, a page distribution unit 34, and a plurality of interpretation units 36. The back end device 40 includes an intermediate data buffer 42, a drawing unit 44, and an output buffer 46.

フロントエンド装置30の印刷ジョブ受信部32は、端末装置10から印刷ジョブを受信する。本実施形態の例において、印刷ジョブは、文書を印刷する旨の命令と、印刷対象の文書をページ記述言語で記述したデータと、を含む。ページ記述言語(PDLと略す:PDLはPage Description Language の略)は、ディスプレイ表示処理、印刷処理等を情報処理機器に実行させるためのコンピュータプログラミング言語である。ページ記述言語の例としては、PostScript(登録商標)やPDF(Portable Document Format)等がある。ページ記述言語で記述されたデータは、印刷対象の文書を構成する文字や図形、イメージ(ビットマップ画像)などのオブジェクトの位置情報、書式情報および色情報などを含む。以下の説明では、印刷対象の文書をページ記述言語で記述したデータを「PDLデータ」と呼ぶ。印刷ジョブ受信部32は、受信した印刷ジョブに含まれるPDLデータをページ配信部34に渡す。   The print job receiving unit 32 of the front end device 30 receives a print job from the terminal device 10. In the example of this embodiment, the print job includes a command for printing a document and data describing a document to be printed in a page description language. A page description language (abbreviated as PDL: PDL is an abbreviation of Page Description Language) is a computer programming language for causing an information processing device to execute display display processing, printing processing, and the like. Examples of the page description language include PostScript (registered trademark) and PDF (Portable Document Format). The data described in the page description language includes position information, format information, color information, and the like of objects such as characters and figures, images (bitmap images) constituting a document to be printed. In the following description, data in which a document to be printed is described in a page description language is referred to as “PDL data”. The print job receiving unit 32 passes the PDL data included in the received print job to the page distribution unit 34.

ページ配信部34は、印刷ジョブ受信部32から取得したPDLデータに含まれるページのうち、どのページをどの解釈部36に処理させるかを決定する。ここでいう「ページ」は、PDLデータにおいて規定されているページ、すなわち論理ページである。用紙の1つの面、すなわち1つの物理ページには、印刷設定に応じて、1つ又は複数の論理ページが印刷されることになる。なお、以下では、文脈上明らかなように、特に断りのない場合は、「ページ」という用語は、論理ページを指すものとする。   The page distribution unit 34 determines which page of the pages included in the PDL data acquired from the print job reception unit 32 is to be processed by which interpretation unit 36. The “page” here is a page defined in the PDL data, that is, a logical page. One or more logical pages are printed on one side of the sheet, that is, one physical page, depending on the print setting. In the following, as apparent from the context, the term “page” refers to a logical page unless otherwise specified.

ページ配信部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 page distribution unit 34 assigns a page to each interpretation unit 36 based on the operating state of each interpretation unit 36. For example, the interpreter 36 that is not executing a process or the interpreter 36 that is executing a process having a lower load than the other interpreters 36 is given priority, and assigned pages are assigned in order from the first page in the PDL. The page distribution unit 34 notifies each interpreting unit 36 of the assigned assigned page and passes the PDL data acquired from the print job receiving unit 32. In this example, it is assumed that not only the portion of the assigned page in the PDL data but also the entire PDL data is passed to each interpretation unit 36. This is an example in which, for example, a page-independent PDL (that is, a type of PDL in which generation of an image of a page depends on an interpretation result of PDL data before the page) is used. As another example, when using page-independent PDL (PDL of a type that can correctly generate an image of the page with only PDL data for each page), the page distribution unit 34 sends the PDL data to each interpretation unit 36. An assignment for each page may be performed, and PDL data divided for each page may be transferred to each interpreter 36 in charge based on the assignment.

解釈部36は、ページ配信部34から取得したPDLデータを解釈し、ページ配信部34から通知された担当ページについて、描画データの生成の手順を表す命令を含む中間データを生成し、出力する。   The interpretation unit 36 interprets the PDL data acquired from the page distribution unit 34, and generates and outputs intermediate data including a command representing a drawing data generation procedure for the assigned page notified from the page distribution unit 34.

より詳しくは、解釈部36は、PDLデータを解釈し、自身の担当ページについて、中間データを生成する。中間データは、最終的に印刷装置50に出力されるデータに変換される前段階のデータである。中間データの例として、ディスプレイリストや区間データ形式(例えば本出願人による特開2011−150535号公報参照)等があげられる。ここで、解釈部36は、印刷装置50による印刷で用いられる基本色(例えばイエロー(Y,Yellow)、マゼンタ(M,Magenta)、シアン(C,Cyan)、ブラック(K,Black)の4色)ごとに分版された中間データを生成するようにしてもよい。ただし、これはあくまで一例に過ぎない。   More specifically, the interpretation unit 36 interprets the PDL data and generates intermediate data for its own assigned page. The intermediate data is data at the previous stage that is converted into data that is finally output to the printing apparatus 50. Examples of the intermediate data include a display list and a section data format (for example, see Japanese Patent Application Laid-Open No. 2011-150535 by the present applicant). Here, the interpretation unit 36 has four basic colors (for example, yellow (Y, Yellow), magenta (M, Magenta), cyan (C, Cyan), and black (K, Black) used in printing by the printing apparatus 50. ), The separated intermediate data may be generated. However, this is only an example.

中間データは、印刷対象の文書の構成要素であるオブジェクトのそれぞれについて、当該文書の印刷画像において当該オブジェクトを描画する手順を表す描画命令を含む。この描画命令を記述する言語としては、ページ記述言語と比較してより詳細な手順を表現する言語が用いられる。例えば、ページ記述言語において、あるオブジェクトの印刷画像上の位置、形状、および大きさを表す情報が定義される場合、中間データにおける当該オブジェクトの描画命令では、印刷画像における走査線単位で当該オブジェクトの描画の手順を記述したものであり得る。中間データに従って、後述のバックエンド装置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 printing device 50 is generated in the back-end device 40 described later.

以下に区間データ形式(「ランリスト」形式とも呼ぶ)において用いるコマンドの例を示す。   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 interpretation unit 36 is output to the back-end device 40. The output intermediate data is written into the intermediate data buffer 42 of the back-end device 40. The drawing unit 44 reads the intermediate data of each page stored in the intermediate data buffer 42 and generates drawing data (raster data) according to the read intermediate data of the page. The generated drawing data of each page is stored in the output buffer 46 and sequentially read out from the printing apparatus 50. The printing apparatus 50 prints the drawing data of each page read from the output buffer 46 on paper.

次に、図3を参照して、実施形態の印刷コントローラ20の構成を説明する。   Next, the configuration of the print controller 20 of the embodiment will be described with reference to FIG.

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 interpretation units 36 include a logical page interpretation unit 36-p (two logical page interpretation units 36-p1 and 36-p2 are illustrated in FIG. 3) and a form interpretation unit 36-f, respectively. Can function. However, one interpreter 36 does not function as both the logical page interpreter 36-p and the form interpreter 36-f at the same time. That is, one interpreter 36 functions as one of the logical page interpreter 36-p and the form interpreter 36-f at one time point.

論理ページ解釈部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 interpretation units 36 included in the front-end device 30.

本実施形態では、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-end device 30 is dynamically controlled. To do.

すなわち、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-end device 30. Even if there is such an optimal ratio, the optimal ratio changes during the progress of interpretation of one entire print job. Therefore, in this embodiment, the configuration ratio between the logical page interpretation unit 36-p and the form interpretation unit 36-f is dynamically controlled.

この構成比率の動的な制御は、論理ページの解釈(中間データ生成)の進捗状況とフォームの解釈の進捗状況との比較に基づいて行う。フロントエンド装置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 interpretation units 36 included in the front-end device 30 is controlled within a range of, for example, 0% to 100%.

なお、この比率制御における解釈部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 interpretation units 36 in this ratio control is 0% to 100% exemplified above (that is, all interpretation units 36 are interpreted as forms). It is not limited to the case where the unit 36-f is used to the case where all the interpreting units 36 are set as the logical page interpreting unit 36-p). Instead, for example, a lower limit (or upper limit) is set for the number of logical page interpretation units 36-p, and the number of logical page interpretation units 36-p is within a range from the lower limit number to the total number of interpretation units 36. You may control the ratio which occupies.

また、以上の例では、すべての解釈部36が、論理ページ解釈部36−p及びフォーム解釈部36−fとして機能可能な「両用」解釈部であったが、これは一例に過ぎない。別の例として、複数の解釈部36のうち、一部の解釈部36のみがそのような「両用」解釈部であり、残りは論理ページの解釈専用の解釈部である構成も考えられる。すなわち、この構成では、論理ページの解釈専用の解釈部の総数が、比率制御における論理ページ解釈部36−pの下限数となる。この例では、「両用」解釈部の総数のうち論理ページ解釈部36−pとして機能させるものとフォーム解釈部36−fとして機能させるものとの比率を、制御する。   In the above example, all the interpretation units 36 are “bilateral” interpretation units that can function as the logical page interpretation unit 36-p and the form interpretation unit 36-f, but this is only an example. As another example, a configuration in which only a part of the interpretation units 36 among the plurality of interpretation units 36 is such a “dual use” interpretation unit and the rest are interpretation units dedicated to interpretation of logical pages is also conceivable. That is, in this configuration, the total number of interpretation units dedicated to interpretation of logical pages is the lower limit number of logical page interpretation units 36-p in the ratio control. In this example, of the total number of “double-use” interpretation units, the ratio of what functions as the logical page interpretation unit 36-p and what functions as the form interpretation unit 36-f is controlled.

論理ページ解釈部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 page distribution unit 34 that assigns logical pages or the like to the interpretation units 36. However, this is only an example, and a control unit that performs this ratio control may be provided separately from the page distribution unit 34.

なお、この比率制御については、後で更に詳しく説明する。   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-end device 30 has three interpretation units 36, two of them function as logical page interpretation units 36-p1 and 36-p2, and one as a form interpretation unit 36-f. Indicates a functioning situation.

さてフォームとは、前述の通り、複数のページで繰り返し使用されることが想定された画像のことである。フォームは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 form cache 48 is a cache that temporarily stores intermediate data of a form to be cached.

各論理ページ解釈部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 page distribution unit 34, respectively. Here, in one example, each logical page interpretation unit 36-p processes an object group other than the form in the allocated page. The form included in the page replaces the PDL command (object) group constituting the form converted into the intermediate data format, and the identification information indicating the intermediate data of the form cached in the form cache 48 ( This is replaced with an intermediate data command that refers to “cache ID”. The intermediate data of each page generated by each logical page interpretation unit 36 -p is sent to the intermediate data buffer 42 of the back-end device 40.

一方、フォーム解釈部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 form cache 48 of the back-end device 40. Here, the form interpreter 36-f assigns at least a unique cache ID in the print job to the intermediate data representing the form to be registered in the form cache 48, and associates the cache ID with the cache ID. The intermediate data is registered in the form cache 48.

論理ページ解釈部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 interpretation unit 36 are executed one by one in each core can be considered.

キャッシュ管理部38は、フォームキャッシュ48に保持されるキャッシュデータ(すなわちフォームの中間データ)の管理情報を保持する。キャッシュ管理部38には、キャッシュデータごとに、キャッシュIDと、そのキャッシュデータのフォームキャッシュ48の記憶空間内での記憶場所を示す情報(例えば先頭アドレスと、そのデータのサイズとの組合せ)とが記憶される。フォーム解釈部36−fは、PDLデータ中のフォームを処理する際、そのフォームのキャッシュデータがフォームキャッシュ48に登録されているかどうかをキャッシュ管理部38から求め、登録されている場合にはそのフォームのキャッシュデータの生成は行わず、登録されていない場合にのみキャッシュデータの生成を行う。   The cache management unit 38 holds management information of cache data (that is, intermediate data of the form) held in the form cache 48. For each cache data, the cache management unit 38 has a cache ID and information indicating the storage location of the cache data in the storage space of the form cache 48 (for example, a combination of the start address and the size of the data). Remembered. When processing the form in the PDL data, the form interpretation unit 36-f asks the cache management unit 38 whether or not the cache data of the form is registered in the form cache 48. Cache data is not generated, and cache data is generated only when it is not registered.

バックエンド装置40の描画部44は、中間データバッファ42内にある各ページの中間データを例えばページ順に読み出し、読み出したページの中間データのコマンドに従って描画データを生成していく。ここで、読み出したページの中間データ内に、キャッシュIDを参照する旨のコマンドが含まれる場合は、フォームキャッシュ48からそのキャッシュIDに対応する中間データ(すなわちフォームの中間データ)を読み出し、読み出した中間データを処理することで、フォームの描画データを生成し、ページの描画データに対して合成する。   The drawing unit 44 of the back-end device 40 reads the intermediate data of each page in the intermediate data buffer 42, for example, in page order, and generates drawing data according to the command of the read intermediate data of the page. Here, if the intermediate data of the read page includes a command for referring to the cache ID, the intermediate data corresponding to the cache ID (that is, the intermediate data of the form) is read from the form cache 48 and read. By processing the intermediate data, form drawing data is generated and combined with the page drawing data.

以上では、説明を簡潔にするために、フォームならばキャッシュするとして説明したが、実際の装置では、すべてのフォームをキャッシュするとは限らない。キャッシュを用いるためには、キャッシュへの登録や必要なキャッシュデータの有無の問合せ等の処理のオーバーヘッドが生じる。非常に小さい又は構造が簡単なフォームの場合、中間データの生成処理に要する時間が非常に短くて済むので、そのような処理のオーバーヘッドを考慮すると、キャッシュを利用しない方が処理が早いことも多い。そこで、本実施形態では、フォームのうちキャッシュした方が処理効率がよいもののみを、キャッシュすることとする。このために、本実施形態では、キャッシュした方が処理効率がよい(すなわちキャッシュ対象とする)フォームと、そうでないフォームとを判定するためのルールを定めている。この判定ルールの例を以下に示す。
(ルール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-end device 30 and the back-end device 40, and may be determined through experiments, simulations, or the like.

本実施形態では、論理ページ解釈部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 cache management unit 38. Therefore, in the following example, a combination of key data and a hash value of the key data is used as a cache ID. In this example, when the presence or absence of usable cache data is checked, the number of cache entries to be checked for key data is reduced by first narrowing down with hash values.

以上のように、本実施形態では、論理ページ解釈部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 form cache 48 in association with the cache ID.

次に、図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 interpretation unit 36. These interpretation units 36 operate asynchronously independently of each other.

この手順では、解釈部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 interpretation unit 36 acquires the entire PDL data of the print job from the print job reception unit 32 (S10). Next, an allocation of a page to be processed is received from the page distribution unit 34 (S12). Here, in the page distribution unit 34, the logical page interpretation units 36-p1 and 36-p2 share all pages of the PDL data, but the form interpretation unit 36-f handles all pages. The interpretation unit 36 interprets the PDL data of the allocated page (S14). When the interpretation of the page is completed, the interpretation unit 36 determines whether the interpretation of the entire print job is completed (S16). If it is determined that the interpretation is not completed, the process returns to S12 and the page distribution unit 34 is determined. Notify the end of page interpretation and receive the next assigned page assignment. The above processing is repeated until interpretation of the entire print job is completed.

ページの解釈処理(S14)では、解釈部36は、当該ページの先頭から順に、PDLデータのコマンドを1つずつ抽出し(S20)、抽出したコマンドを解釈して中間データのオブジェクトを生成する(S22)。これらS20およびS22の処理を、当該ページの最後のコマンドの処理が終了するまで繰り返す(S24)。   In the page interpretation process (S14), the interpreter 36 extracts PDL data commands one by one from the top of the page (S20), interprets the extracted commands, and generates intermediate data objects (S14). S22). These processes of S20 and S22 are repeated until the process of the last command on the page is completed (S24).

なお、ページ非独立の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 form cache 48.

なお、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 cache management unit 38 whether or not the cache data corresponding to the cache ID generated in S54 exists in the form cache 48 before generating the cache data. It is only necessary to generate cache data only when an answer that it does not exist is obtained. When cache data is generated and registered in the form cache 48, the form interpretation unit 36-f registers the cache ID of the cache data in the cache management unit 38, thereby confirming that the cache data has been registered. Record.

次に、図7および図8を参照して、バックエンド装置40の描画部44の処理手順の例を説明する。   Next, an example of a processing procedure of the drawing unit 44 of the back-end device 40 will be described with reference to FIGS. 7 and 8.

図7に示すように、この手順では、描画部44は、まず処理対象の印刷ジョブの指定を受ける(S100)。次に、その印刷ジョブの例えば先頭ページから順に1ページずつ、ページの中間データを中間データバッファ42から取得し(S102)、取得したページの中間データを解釈する(S104)。これらS102およびS104の処理を、印刷ジョブの末尾まで、1ページずつ、繰り返し実行する(S106)。   As shown in FIG. 7, in this procedure, the drawing unit 44 first receives designation of a print job to be processed (S100). Next, for example, the page intermediate data is acquired from the intermediate data buffer 42 one page at a time in order from the first page of the print job (S102), and the acquired intermediate data of the page is interpreted (S104). The processes of S102 and S104 are repeatedly executed page by page until the end of the print job (S106).

ページの中間データの解釈処理(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 drawing unit 44 reads commands from the top of the page intermediate data in order from the top, and the read command instructs the cache data to be referenced (cache). It is determined whether it is referred to as a reference command (S120).

S120の判定結果が肯定(Y)の場合、描画部44は、そのキャッシュ参照コマンドからキャッシュIDを抽出し(S122)、そのキャッシュIDに対応するキャッシュデータ(中間データ)をフォームキャッシュ48から取り出し(S124)、取り出したキャッシュデータを解釈してラスター画像を描画する(すなわち「ラスタライズ」する)(S126)。   If the determination result in S120 is affirmative (Y), the drawing unit 44 extracts a cache ID from the cache reference command (S122), and extracts cache data (intermediate data) corresponding to the cache ID from the form cache 48 ( In step S124, the fetched cache data is interpreted to render a raster image (ie, “rasterize”) (S126).

S120の判定結果が否定(N)の場合、描画部44は、そのコマンドを解釈してラスタライズする(S126)。   If the determination result in S120 is negative (N), the drawing unit 44 interprets and rasterizes the command (S126).

以上に説明したように、この実施形態では、論理ページ解釈部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 interpretation units 36 can attach the same cache ID to the same cache data without communicating with each other. Therefore, the cache data indicated by the cache ID of the cache reference command included in the intermediate data of the pages generated by the logical page interpretation units 36-p1 and 36-p2 is surely generated sooner or later by the form interpretation unit 36-f. It is registered in the form cache 48 in association with the ID. If the rendering unit 44 tries to process a cache reference command in a page and the cache data indicated by the command is not in the form cache 48, the rendering unit 44 stores the cache data in the form cache if it waits for a while. 48 can be obtained. While the first part of the print job is being processed, the progress of the generation of the form cache data by the form interpretation unit 36-f is not sufficient, and thus the waiting of the drawing unit 44 (waiting for completion of the cache data) occurs. The probability is somewhat high. While the logical page processing is performed in parallel by a plurality of logical page interpreting units 36-p, the form processing is performed in the page order by one form interpreting unit 36-f. Because there are times when it cannot catch up. However, since the form interpreter 36-f generates cache data only once, even if a form with the same key data appears, the process proceeds to some extent and when a considerable number of cache data is accumulated in the form cache 48, In general, the frequency at which new cache data needs to be generated is reduced. For this reason, the page processing speed is improved, and the progress of the processing of the logical page interpretation unit 36-p operating in parallel is overtaken. When this happens, the above-described drawing unit 44 does not wait for completion of cache data.

以上に説明したように、論理ページ解釈部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-end device 30 will be described. In the following description, it is assumed that the page distribution unit 34 performs this ratio control. However, another control unit may perform the ratio control.

比率制御のため、ページ配信部34は、論理ページ解釈部36−p群によるページ解釈の進捗度合いと、フォーム解釈部36−f群によるフォーム解釈の進捗度合いを把握している。それぞれの進捗度合いは、印刷ジョブのPDLデータの先頭から解釈が済んだ部分までの長さ(言い換えれば、PDLデータの先頭からみた、解釈の済んだ部分の位置)を指標として表す。すなわち、論理ページ解釈部36−pもフォーム解釈部36−fも、PDLデータの先頭から順に解釈していくが、その解釈がPDLデータの先頭からどの位置まで進んだのかを、進捗度合いとして把握するのである。   For the ratio control, the page distribution unit 34 grasps the progress degree of page interpretation by the logical page interpretation unit 36-p group and the progress degree of form interpretation by the form interpretation unit 36-f group. Each progress degree represents the length from the top of the PDL data of the print job to the interpreted portion (in other words, the position of the interpreted portion viewed from the top of the PDL data) as an index. That is, both the logical page interpretation unit 36-p and the form interpretation unit 36-f interpret in order from the top of the PDL data. To do.

進捗度合いの単位には、例えばページ番号を用いればよい。例えば、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 page distribution unit 34 applies to the n logical page interpretation units 36-p. The latest assigned page number may be used as the value of the degree of progress of logical page interpretation. Similarly, k (where k is the total number of form interpretation units 36-f currently operating in the front-end device 30) are currently processing in parallel or have completed interpretation. The latest page number among the k pages, or the latest page number assigned to the k form interpretation units 34 by the page distribution unit 34 may be used as an index value of the progress degree of form interpretation.

以上、解釈処理の進捗の指標値をページ番号で表す場合の例を示したが、これは一例に過ぎない。例えば、進捗度合いを、何ページ目の何バンド目まで解釈が終わったかにより表すようにしてもよい。なお、バンドとは、ページを、副走査方向について複数に分割することで得られる、帯状の範囲のことである。また、ページを主走査方向及び副走査方向の両方について複数に分割した結果であるタイル(すなわちページは複数のタイルから構成される)を単位として解釈の進捗度合いを表現してもよい。以下では、解釈の進捗度合いをページ番号で表す場合の例を代表にとって説明する。   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 page distribution unit 34 is shown in FIG. In the example of FIG. 9, the front-end device 30 has two interpretation units dedicated to interpretation of a logical page and one dual-use interpretation unit that can function as both the logical page interpretation unit 36-p and the form interpretation unit 36-f. This is an example of control when a total of three interpretation units 36 are provided. That is, this example is considered to be an example in the case where the logical page interpretation units 36-p1 and 36-p2 are interpretation units dedicated to logical pages and the form interpretation unit 36-f is a dual-use interpretation unit in the example of FIG. That's fine. In this example, since there is only one dual-use interpreter, the dual-use interpreter (the third interpreter 36-f from the top in the example of FIG. 3) functions as a form interpreter or a logical page interpreter. It will be controlled whether to function as a part.

図9の手順では、まずページ配信部34は、印刷対象のPDLデータの処理の開始時に、フロントエンド装置30が有する唯一の両用解釈部を、フォーム解釈部に設定する(S1002)。すなわち、両用解釈部に対し、フォーム解釈部として機能するように指示する。この指示の結果、フロントエンド装置30は、図3に示すように、2つの論理ページ解釈部36−p1,36−p2と1つのフォーム解釈部36−fを有する状態となる。   In the procedure of FIG. 9, first, the page distribution unit 34 sets, as the form interpretation unit, the only dual-use interpretation unit of the front-end device 30 at the start of processing of PDL data to be printed (S1002). That is, the dual interpretation unit is instructed to function as a form interpretation unit. As a result of this instruction, the front-end device 30 has two logical page interpretation units 36-p1 and 36-p2 and one form interpretation unit 36-f as shown in FIG.

この状態で、ページ配信部34は、論理ページ解釈部36−p1,36−p2に対し、PDLデータの先頭ページから順に、それぞれ別々のページを割り当てていく。例えば、各論理ページ解釈部36−pが1つの論理ページの解釈(中間データ生成)を完了する都度ページ配信部34に完了通知を送り、その完了通知に応じてページ配信部34がその論理ページ解釈部36−pに次の論理ページを割り当てる。また、ページ配信部34は、フォーム解釈部36−fに対して先頭ページから順にフォームの解釈を実行させる。フォーム解釈部36−fが、1ページ中のフォーム群の解釈が完了する都度、ページ配信部34に完了通知を送るようにしてもよい。   In this state, the page distribution unit 34 assigns different pages to the logical page interpretation units 36-p1 and 36-p2 in order from the first page of the PDL data. For example, each logical page interpretation unit 36-p sends a completion notification to the page distribution unit 34 every time it completes the interpretation (intermediate data generation) of one logical page, and the page distribution unit 34 responds to the completion notification to the logical page. The next logical page is allocated to the interpreter 36-p. Further, the page distribution unit 34 causes the form interpretation unit 36-f to execute form interpretation in order from the first page. The form interpretation unit 36-f may send a completion notification to the page distribution unit 34 every time the interpretation of the form group in one page is completed.

ここで、ページ配信部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 page distribution unit 34 monitors how many pages of the print job have been interpreted by the logical page and the form. This monitoring may be performed using, for example, a completion notification sent from the logical page interpretation unit 36-p and the form interpretation unit 36-f to the page distribution unit 34. For example, in the example of FIG. 3, a notification of completion of the third page is received from the logical page interpretation unit 36-p1 (the completion notification of the next allocated fifth page has not arrived), and the logical page interpretation unit 36-p2 When the notification of the completion of the fourth page is received from (the completion notification of the next allocated sixth page has not arrived), the two logical page interpretation units 36-p1 and 36-p2 as a whole reach the fourth page. It is determined that the logical page interpretation is complete. In the case of only one form interpretation unit 36-f, it is simpler. When n page completion notifications are received from the start of the print job, the form interpretation up to the nth page is completed. Can be judged. If there are a plurality of active form interpreting units 36-f in the front-end device 30, the progress of the form interpreting process is determined based on the number of pages that have been interpreted by the plurality of form interpreting units 34-f. The latest page number may be used.

以上では、解釈の進捗状況を、解釈が「完了」した最新のページ番号で表したが、このページ番号に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 page distribution unit 34 sequentially assigns pages from the first page to the logical page interpretation unit 36-p according to a predetermined algorithm, so that it can grasp how many pages have been allocated. ing. The assigned latest page number may be used as an index value for the degree of progress.

ページ配信部34は、以上に例示したように、印刷ジョブの処理の進行につれて、論理ページ解釈及びフォーム解釈の進捗度合いの指標値をそれぞれ求め、更新している。そして、ページ配信部34は、ある判定タイミングで、論理ページ解釈の進捗度合いの指標値と、フォーム解釈の進捗度合いの指標値とを比較する(S1004,S1012)。判定タイミングは、例えば、あらかじめ定められた時間毎の定期的なタイミングであってもよいし、論理ページ解釈部36−p1,36−p2又はフォーム解釈部36−fから1ページ分の解釈の完了通知がやってくる都度のタイミングであってもよい。   As exemplified above, the page distribution unit 34 obtains and updates index values of the progress levels of logical page interpretation and form interpretation as the print job process proceeds. Then, the page distribution unit 34 compares the index value of the progress degree of logical page interpretation with the index value of the progress degree of form interpretation at a certain determination timing (S1004, S1012). The determination timing may be, for example, a regular timing every predetermined time, or the interpretation of one page is completed from the logical page interpretation units 36-p1 and 36-p2 or the form interpretation unit 36-f. It may be the timing each time a notification comes.

まず、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 page distribution unit 34 sets the dual interpretation unit (indicated as the form interpretation unit 36-f in FIG. 3) as the logical page interpretation unit (S1006). That is, the dual interpreter is instructed to function as the logical page interpreter 36-p. As a result of this instruction, the front-end device 30 enters a state in which the three logical page interpretation units 36-p operate. That is, in this case, since the interpretation of the form is sufficiently advanced to the previous page, the image processing (interpretation and interpretation) of the entire system is increased by increasing the number of logical page interpretation units 36-p to increase the logical page interpretation speed. Speed of drawing).

そして、ページ配信部34は、3つの論理ページ解釈部36−pに対してページの割り当てを行い(S1008)、印刷ジョブの最後のページまで割り当てが完了したかどうかを判定する(S1010)。S1010の判定結果がYの場合、ページ配信部34は、この印刷ジョブについての処理を終了する。逆に判定結果がNの場合は、処理はS1004に戻る。   Then, the page distribution unit 34 allocates pages to the three logical page interpretation units 36-p (S1008), and determines whether the allocation has been completed up to the last page of the print job (S1010). If the determination result in S1010 is Y, the page distribution unit 34 ends the process for this print job. Conversely, if the determination result is N, the process returns to S1004.

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 units 36 have been operating as the logical page interpreting unit 36-p so far and the determination result in S1012 is Y, one of them is switched to the form interpreting unit 36-f, Form interpretation will resume. As a result, the remaining two logical page interpretation units 36-p interpret the form used in each page to be processed from now on, and the interpretation result is accumulated in the form cache 48. After S1014, the process proceeds to S1008.

なお、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-end device 30 is accumulated in the form cache 48”. The value of Th2 may be determined so that the condition is satisfied. For example, in the case of a system configuration in which there are two interpretation units dedicated to logical pages and one interpretation unit for both examples, the conditions imposed on the form interpretation carried by the interpretation units for both are two dedicated logical page interpretation units. 36-p1 and 36-p2 cache the form interpretation results up to the next page to be processed. In this case, Th2 is the number of logical page interpretation units remaining when the dual interpretation unit operating as the logical page interpretation unit is switched to the form interpretation unit (in this example, dedicated logical page interpretation units 36-p1, 36- The number may be “4”, which is twice the number of p2 = 2). That is, if the maximum number of logical pages that have been interpreted at the present time is k, the maximum number of logical pages currently processed by the two logical page interpreters 36-p1 and 36-p2 is (k + 2). The maximum number of pages to be processed next by these logical page interpretation units is (k + 4). Therefore, in order to satisfy the above-described condition, the form interpretation must be completed up to four pages ahead of the page number where the logical page interpretation is completed.

例えば、フォーム解釈の先行度(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 form cache 48 at that time has two logical pages. The interpretation result of the form used in the page to be processed next by the interpretation units 36-p1 and 36-p2 is barely accumulated or slightly less than that. Therefore, in order to proceed with the interpretation of the form, the dual-purpose interpretation unit that has been functioning as the logical page interpretation unit is switched to the form interpretation unit.

上述の条件を満たすための閾値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 pages 1, 2, and 3, respectively, and the dual interpreter functioning as the form interpreter interprets the forms contained in the page in order from the first page. To proceed. For example, the top logical page interpretation unit interprets the fourth page after the interpretation of the first page is completed. Thereafter, when the dual interpretation unit functioning as the form interpretation unit finishes interpreting the form group in the sixteenth page, the three logical page interpretation units complete the interpretation up to the sixth page, Interpretation of ~ 9 pages is in progress. In this example, the first threshold Th1 is “9”, and the leading degree “10” (= 16−6) of the form interpretation at this time is greater than the threshold Th1, so the determination result in S1004 is Y, and both The interpreter is switched to the mode of the logical page interpreter. Then, the interpretation of the tenth page is assigned to the dual interpretation unit functioning as the fourth logical page interpretation unit.

その後、論理ページ解釈部として機能する両用解釈部が第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 latest page number 10 for which logical page interpretation has been completed from the latest page number 16 for which form interpretation has been completed. The leading degree value 6 is a value equal to or smaller than the determination threshold Th2 = 6 (twice the total number of dedicated logical page interpretation units 3) in S1012. Therefore, the determination result in S1012 is Y, and the dual-purpose interpreter is switched to the form interpreter mode in S1014. As a result, the dual-purpose interpreter proceeds with the interpretation of the forms on the 17th and subsequent pages.

以上、フロントエンド装置30内の両用解釈部の数が1つの場合を説明した。次に、フロントエンド装置30内に両用解釈部が2つ設けられている場合の、解釈部の構成比率の制御の例を、図11を参照して説明する。論理ページ解釈専用の解釈部の数は1以上であれば、いくつでもよい。   In the above, the case where the number of the dual interpretation units in the front end device 30 is one has been described. Next, an example of control of the component ratio of the interpretation unit when two dual-purpose interpretation units are provided in the front-end device 30 will be described with reference to FIG. As long as the number of interpretation sections dedicated to logical page interpretation is one or more, any number is acceptable.

この例では、まず印刷ジョブの実行開始当初に、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 page distribution unit 34 monitors the progress of each of the form interpretation and the logical page interpretation, and determines whether or not the leading degree of the form interpretation with respect to the logical page interpretation is sufficiently large every time the determination timing comes. (S1024). In S1024, it is determined whether or not the leading degree exceeds a predetermined threshold value ThA. This threshold value ThA is a predetermined value that is larger than a determination threshold value ThB in S1032 described later. When the determination result in S1024 is Y (positive), the page distribution unit 34 sets both of the two dual-purpose interpretation units as the logical page interpretation unit (S1026). In S1026, the dual interpretation unit that has already been operating as the logical page interpretation unit before S1026 continues to operate as the logical page interpretation unit, and the dual interpretation unit that is operating as the form interpretation unit before S1026 is Switch to the logical page interpreter. As described above, in S1026, if the interpretation of the form has been completed up to a sufficiently long page, the number of logical page interpretation units is increased to increase the speed of logical page interpretation, thereby improving the processing speed of the print job. It is. Then, pages are allocated to each logical page interpretation unit (S1028), and it is determined whether the interpretation is completed up to the last page of the print job (S1030).

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 page distribution unit 34 determines whether or not the advance degree of form interpretation is greater than the second threshold ThB (S1032). The second threshold ThB is a threshold for determining whether or not the form interpretation has been caught up with the logical page interpretation, like the threshold Th2 in the above example. If the result of the determination in S1032 is N (No), it means that the form interpretation has been caught up with the logical page interpretation, and therefore it is necessary to advance the form interpretation at high speed. Therefore, in this case, both interpretation units are set as form interpretation units (S1036). In S1036, the dual-use interpreter that has been operating as the form interpreter before S1036 continues to operate as the form interpreter, and the dual-use interpreter that is operating as the logical page interpreter before S1036 Switch to the interpreter. By operating the two form interpretation units in this way, the form interpretation speed is increased.

また、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 cache management unit 38, and if only one dual-use interpretation unit is set as the form interpretation unit, the cache management unit 38 is provided. Will be set in the form interpretation section. When the two interpretation units are form interpretation units, the form interpretation unit that does not have the cache management unit 38 sets the cache ID corresponding to the form every time a new form is detected from the PDL data. The form interpretation unit having the cache management unit 38 is inquired as to whether the interpretation result corresponding to the cache ID has already been registered. If it is determined as a result of the inquiry that the registration is already registered, the interpretation of the form is canceled and the process proceeds to the next form. If the registration is not registered, the form is interpreted.

図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-end device 30 includes a plurality of dual-purpose interpretation units and one or more dedicated logical page interpretation units.

図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-end device 30 are set as a logical page interpretation unit and a form interpretation unit according to a predetermined initial ratio (S1022). Assign a page to the interpreter and execute the process.

そして、論理ページ解釈に対するフォーム解釈の先行度を計算し、求めた先行度があらかじめ定めた閾値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 drawing unit 44 can perform drawing up to a page where both the interpretation result of the logical page and the interpretation result of the form used in the logical page are available. That is, the drawing speed of the drawing unit 44 is limited to the slower speed of logical page interpretation and form interpretation. For this reason, even if one of the logical page interpretation and the form interpretation is significantly faster than the other, the drawing speed of the drawing unit 44 (and consequently the speed of the entire printing process) is not improved. Rather, in a situation where the total number of interpretation units 36 is determined, it is possible to improve the overall processing speed by preventing a large difference between the progress of form interpretation and the progress of logical page interpretation. For example, in the procedure of FIG. 12, if the threshold ThB used in S1032 is a negative value, either logical page interpretation or form interpretation may precede, and the progress degree of logical page interpretation and the progress degree of form interpretation The difference can be made to fall within a certain range.

以上では、フロントエンド装置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-end device 30 has been mainly described. On the other hand, the various controls exemplified above can be applied to a system configuration in which the plurality of interpretation units 36 in the front-end device 30 are all dual-use interpretation units. When all of the plurality of interpretation units 36 are dual-use interpretation units, in the initial setting (S1022), not all of the dual-use interpretation units are set as form interpretation units, but some are set as logical page interpretation units. The ratio of the number of logical page interpretation units and form interpretation units at the time of initialization is a predetermined ratio.

以上、本発明の実施形態および変形例について説明した。上述した実施形態および変形例は、あくまで本発明を説明するための例に過ぎず、本発明の範囲が上記実施形態および変形例に限られるわけではない。例えば、上記実施形態ではフォームキャッシュ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 form cache 48 is provided in the back-end device 40, but this is merely an example. The form cache 48 may be arranged in any place as long as it is accessible from each interpretation unit 36 and drawing unit 44. In the above-described embodiment, the number of the drawing units 44 is one.

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以上の両用解釈手段と、
前記各両用解釈手段を、前記論理ページ解釈手段及び前記キャッシュ用解釈手段のいずれとして機能させるかを切り替える切り替え手段と、
前記各論理ページ解釈手段から出力された各論理ページの解釈結果と、前記キャッシュ手段に記憶された前記キャッシュ対象要素の解釈結果とを用いて、前記各論理ページの印刷画像データを生成し、生成した印刷画像データを印刷装置に供給する印刷画像データ生成手段と、
を有し、
前記キャッシュ用解釈手段は、前記キャッシュ手段に解釈結果が記憶されていないキャッシュ対象要素を前記印刷データから見つけると、見つけたキャッシュ対象要素を解釈し、その解釈結果を、あらかじめ定められた生成規則に従って当該キャッシュ対象要素のデータから生成したキャッシュ識別情報と対応づけて前記キャッシュ手段に記憶させ、
前記論理ページ解釈手段は、それぞれ、処理対象の論理ページに含まれるキャッシュ対象要素について、そのキャッシュ対象要素を解釈する代わりに、当該キャッシュ対象要素のデータから前記生成規則に従って生成したキャッシュ識別情報を含むキャッシュ参照コマンドを生成し、生成したキャッシュ参照コマンドを当該キャッシュ対象要素の解釈結果として当該論理ページの解釈結果に組み込み、
前記印刷画像データ生成手段は、前記各論理ページ解釈手段が出力した各論理ページの解釈結果から印刷画像データを生成する際、前記論理ページの解釈結果から前記キャッシュ参照コマンドを見つけると、当該キャッシュ参照コマンドに含まれる前記キャッシュ識別情報に対応する解釈結果を前記キャッシュ手段から取得し、取得した解釈した解釈結果を用いて当該キャッシュ識別情報に対応するキャッシュ対象要素の印刷画像データを生成し、当該論理ページの印刷画像データに合成し、
前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いと、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いと、の差分に基づき、前記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に記載の印刷画像処理システム。   The switching means has 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 in advance. 2. The ratio of the one or more dual-use interpreting means that functions as the cache interpreting means and the one that functions as the logical page interpreting means is controlled so as to be within a predetermined range. The print image processing system described in 1. 前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いから、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いを減算して得られる先行度が大きいほど、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものの比率を小さくする、ことを特徴とする請求項1又は2に記載の印刷画像処理システム。   The switching means is obtained by subtracting the progress of interpretation of the logical page in the print data by the logical page interpretation means from the progress of interpretation of the cache target element in the print data by the cache interpretation means. 3. The print image processing system according to claim 1, wherein a ratio of the one or more dual-purpose interpretation units that function as the cache interpretation unit is reduced as the leading degree increases. 前記切り替え手段は、前記キャッシュ用解釈手段による前記印刷データ中のキャッシュ対象要素の解釈の進捗度合いから、前記論理ページ解釈手段による前記印刷データ中の論理ページの解釈の進捗度合いを減算して得られる先行度が小さいほど、前記1以上の両用解釈手段のうち前記キャッシュ用解釈手段として機能させるものの比率を大きくする、ことを特徴とする請求項1〜3のいずれか1項に記載の印刷画像処理システム。   The switching means is obtained by subtracting the progress of interpretation of the logical page in the print data by the logical page interpretation means from the progress of interpretation of the cache target element in the print data by the cache interpretation means. The print image processing according to any one of claims 1 to 3, wherein a ratio of the one or more dual-purpose interpreting units that function as the cache interpreting unit is increased as the leading degree is smaller. 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.

JP2013126747A 2013-06-17 2013-06-17 Print image processing system and program Pending JP2015001882A (en)

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)

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