JP2020027314A - Print data processing unit and program - Google Patents

Print data processing unit and program Download PDF

Info

Publication number
JP2020027314A
JP2020027314A JP2018150106A JP2018150106A JP2020027314A JP 2020027314 A JP2020027314 A JP 2020027314A JP 2018150106 A JP2018150106 A JP 2018150106A JP 2018150106 A JP2018150106 A JP 2018150106A JP 2020027314 A JP2020027314 A JP 2020027314A
Authority
JP
Japan
Prior art keywords
analysis
unit
print data
instruction
job
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.)
Granted
Application number
JP2018150106A
Other languages
Japanese (ja)
Other versions
JP7124544B2 (en
Inventor
中村 吉伸
Yoshinobu Nakamura
吉伸 中村
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 JP2018150106A priority Critical patent/JP7124544B2/en
Publication of JP2020027314A publication Critical patent/JP2020027314A/en
Application granted granted Critical
Publication of JP7124544B2 publication Critical patent/JP7124544B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Abstract

To provide an apparatus capable of executing another print data analysis process even when not completing a print data analysis process.SOLUTION: A print data processing unit 100 generates an analysis instruction for extracting information constituting a page attribute used for controlling a RIP function unit 20 from print data (job), when the print data is input, and inputs into an analysis unit 120. The analysis unit 120 converts the analysis instruction into an instruction per page, and assigns the instruction per page to a plurality of information extraction units 130. This assignment may be made on a unit per job or a unit per page. The information extracting unit 130 extracts information from the data of the page of the job in a job spool 110 according to the assigned instruction per page.SELECTED DRAWING: Figure 1

Description

本発明は、印刷データ処理装置及びプログラムに関する。   The present invention relates to a print data processing device and a program.

特許文献1に開示されたシステムでは、DFEのPDLデータ解析部は印刷データを解析し、RIP処理負荷の高低を判断する。RIP処理負荷の高いページの印刷データは高負荷ページRIP部でRIP処理され、ラスタデータがMICへ送られる。RIP処理負荷の低いページの印刷データは、MICへ送られ、低負荷ページRIP部でRIP処理する。二種類のラスタデータはラスタデータマージ部でマージされ、画像形成装置へ送られる。描画展開処理を分散させて描画展開処理に必要な時間を低減する。   In the system disclosed in Patent Literature 1, the PDL data analysis unit of the DFE analyzes the print data and determines the level of the RIP processing load. Print data of a page having a high RIP processing load is subjected to RIP processing in a high load page RIP section, and raster data is sent to the MIC. The print data of a page with a low RIP processing load is sent to the MIC, and subjected to RIP processing by a low-load page RIP unit. The two types of raster data are merged by a raster data merge unit and sent to the image forming apparatus. The time required for the rendering process is reduced by dispersing the rendering process.

特許文献2に開示された画像処理装置は、印刷ジョブを処理して印刷データを生成する、並列に配置された複数の描画モジュールを備え、割り当て手段は、印刷ジョブを、前記の複数の描画モジュールの中のいずれか1つの描画モジュールに振り分ける。また、複数のプリンタを含む印刷システムに接続される画像処理装置において、印刷ジョブを最適な描画モジュールに振り分け、かつ、振り分けられた描画モジュールに対し優先的に設定されている、前記の複数のプリンタの中のプリンタを選択する。   The image processing apparatus disclosed in Patent Literature 2 includes a plurality of drawing modules arranged in parallel for processing a print job and generating print data, and the allocating unit converts the print job into the plurality of drawing modules. Is assigned to any one of the drawing modules. Further, in an image processing apparatus connected to a printing system including a plurality of printers, the plurality of printers are arranged such that a print job is distributed to an optimal rendering module and a priority is set to the distributed rendering module. Select the printer in.

特許文献3には、複数のPDL解析手段を有する画像形成装置が開示される。この装置は、印刷処理の待機リストからPDL解析処理とCOPYやFAX等のPDL以外の印刷処理の順番に関する情報取得し、PDL解析手段の起動・終了のタイミングを制御することで、並列動作するPDL解析モジュールの数の削減とPDL解析モジュールの切り替え時間の最小化を実現する。   Patent Document 3 discloses an image forming apparatus having a plurality of PDL analysis units. This apparatus obtains information on the order of PDL analysis processing and print processing other than PDL such as COPY or FAX from the print processing standby list, and controls the timing of activation and termination of the PDL analysis means, so that PDLs that operate in parallel can be obtained. It is possible to reduce the number of analysis modules and minimize the switching time of the PDL analysis module.

画像形成装置が備えるデータ処理機構は、PDL(ページ記述言語)で記述された印刷データに対してRIP(Raster Image Processor)処理(描画処理とも呼ばれる)を行うことで、印刷機構が取扱可能なラスター画像データを生成する。画像形成装置の中には、RIP処理の前に印刷データの各ページの情報を解析することでフィルタ情報を求め、それら各ページのフィルタ情報と画像形成装置の設定情報とから、RIP処理時の各ページの属性を決定するものがある。ページの属性には、例えばページサイズ、回転、拡大縮小、カラー、オーバープリント、トラッピング、ハードウエア制御情報等の項目がある。各ページの属性をあらかじめ決定しておくことで、RIP処理を並列化する場合、並列動作するRIP部に対して効率よくページの処理を割り当てることが可能になる。   A data processing mechanism provided in the image forming apparatus performs a raster image processor (RIP) process (also referred to as a drawing process) on print data described in PDL (page description language), thereby enabling raster processing that the printing mechanism can handle. Generate image data. Some image forming apparatuses obtain filter information by analyzing information of each page of the print data before the RIP processing, and obtain the filter information at the time of the RIP processing from the filter information of each page and the setting information of the image forming apparatus. Some determine the attributes of each page. Page attributes include items such as page size, rotation, scaling, color, overprint, trapping, and hardware control information. By determining the attributes of each page in advance, when parallelizing RIP processing, it becomes possible to efficiently allocate page processing to RIP units that operate in parallel.

印刷データの各ページの情報を解析する解析処理は、印刷データからラスター画像データを生成する描画処理よりも処理負荷がはるかに低い。このため、従来のシステムでは、解析処理が未了のために描画処理が待機するという事態は考慮していない。しかし、近年、並列化等により描画処理の高速化が実現されており、相対的に解析処理が遅れて描画処理が処理待ちとなる事態が見受けられるようになっている。また従来は、ページ数が膨大な第1の印刷データの解析処理を実行中に緊急性の高い第2の印刷データが入力された場合、第1の印刷データの解析処理が終わるまで第2の印刷データの解析処理ができない。このため、緊急性の高い第2の印刷データの解析処理が遅れ、ひいては印刷が遅れてしまう。   The analysis processing for analyzing information of each page of the print data has a much lower processing load than the drawing processing for generating raster image data from the print data. For this reason, the conventional system does not consider a situation in which the rendering process waits because the analysis process has not been completed. However, in recent years, speeding up of drawing processing has been realized by parallelization and the like, and it has been observed that analysis processing is relatively delayed and drawing processing waits for processing. Conventionally, when the second print data having a high urgency is input during the execution of the analysis processing of the first print data having a large number of pages, the second print data is input until the analysis processing of the first print data is completed. The print data cannot be analyzed. For this reason, the analysis processing of the second print data having high urgency is delayed, and the printing is delayed.

特開2012−061687号公報JP 2012-061687 A 特開2002−215352号公報JP-A-2002-215352 特開2014−050992号公報JP 2014050992 A

本発明は、印刷データの解析処理が完了しなくても、別の印刷データの解析処理を実行できる装置を提供する。   The present invention provides an apparatus that can execute another print data analysis process without completing the print data analysis process.

請求項1に係る発明は、入力された印刷データについての解析命令を生成する生成手段と、複数の印刷データの各々について前記生成手段が生成した前記解析命令群を保持する保持手段と、前記解析命令に従って、当該解析命令に対応する前記印刷データから情報を抽出する複数の抽出手段と、前記複数の抽出手段の中に、前記複数の印刷データのいずれについての前記解析命令も実行していない抽出手段が存在する場合、当該抽出手段に対して、前記複数の印刷データのうち優先度が高いものから優先的に割り当てて当該印刷データの前記解析命令を実行させる制御を行う制御手段と、を含む印刷データ処理装置である。   The invention according to claim 1, wherein a generating unit that generates an analysis instruction for the input print data, a holding unit that holds the analysis instruction group generated by the generation unit for each of a plurality of print data, A plurality of extracting means for extracting information from the print data corresponding to the analysis instruction in accordance with the instruction; and an extraction not executing the analysis instruction for any of the plurality of print data in the plurality of extraction means. Control means for controlling the execution of the analysis instruction of the print data by preferentially allocating the plurality of print data from the print data having the highest priority to the extraction means when the means exists. It is a print data processing device.

請求項2に係る発明は、ユーザから前記複数の印刷データのいずれかについて情報抽出命令を受け付ける手段、を更に含み、前記複数の抽出手段には、前記解析命令のために確保された1以上の解析用抽出手段と、前記ユーザからの前記情報抽出命令のために用いられる1以上のユーザ向け抽出手段と、が含まれ、前記制御手段は、前記解析用抽出手段には、前記ユーザからの前記情報抽出命令は割り当てない、請求項1に記載の印刷データ処理装置である。   The invention according to claim 2 further includes means for receiving an information extraction command from a user for any of the plurality of print data, wherein the plurality of extraction means include at least one of the plurality of print data secured for the analysis command. Analysis means for extraction, and one or more user-oriented extraction means used for the information extraction command from the user, wherein the control means includes: 2. The print data processing device according to claim 1, wherein the information extraction command is not assigned.

請求項3に係る発明は、前記1以上の解析用抽出手段のすべてが解析命令を処理中であるときに未処理の解析命令が存在する場合、前記1以上のユーザ向け抽出手段の中に待機中のものがあれば、その待機中の前記ユーザ向け抽出手段に前記未処理の解析命令を処理させる制御を行う手段、を更に備える請求項2に記載の印刷データ処理装置である。   According to a third aspect of the present invention, when there is an unprocessed analysis instruction while all of the one or more analysis extraction units are processing an analysis instruction, the one or more analysis extraction units wait in the one or more user extraction units. The print data processing apparatus according to claim 2, further comprising: a unit configured to control the unprocessed analysis instruction to be processed by the user-extracting unit that is waiting, if any is present.

請求項4に係る発明は、前記1以上の解析用抽出手段に対して解析命令を割り当てる第1割り当て手段と、前記1以上のユーザ向け抽出手段に情報抽出命令又は解析命令を割り当てる第2割り当て手段と、外部から入力された命令が解析命令であればその命令を前記第1割り当て手段に振り分け、情報抽出命令であればその命令を前記第2割り当て手段に振り分ける振分け手段と、を含み、前記振分け手段は、前記第1割り当て手段に振り分けた命令が、前記1以上の解析用抽出手段により処理されないまま所定時間が経過した場合、前記1以上のユーザ向け抽出手段の中に待機中のものがあれば、その命令を前記第2割り当て手段に振分け直す、ことを特徴とする請求項2に記載の印刷データ処理装置である。   The invention according to claim 4 is a first allocating means for allocating an analysis instruction to the one or more analysis extraction means, and a second allocating means for allocating an information extraction instruction or an analysis instruction to the one or more user extraction means. And a distributing means for distributing the instruction to the first allocating means if the externally input instruction is an analysis instruction, and distributing the instruction to the second allocating means if the instruction is an information extraction instruction. Means for, when a predetermined time has elapsed without the instruction assigned to the first allocating means being processed by the one or more analyzing extracting means, there is a waiting one of the one or more user extracting means; 3. The print data processing apparatus according to claim 2, wherein the instruction is re-assigned to the second assigning unit.

請求項5に係る発明は、コンピュータを、入力された印刷データについての解析命令を生成する生成手段、複数の印刷データの各々について前記生成手段が生成した前記解析命令群を保持する保持手段、前記解析命令に従って、当該解析命令に対応する前記印刷データから情報を抽出する複数の抽出手段、前記複数の抽出手段の中に、前記複数の印刷データのいずれについての前記解析命令も実行していない抽出手段が存在する場合、当該抽出手段に対して、前記複数の印刷データのうち優先度が高いものから優先的に割り当てて当該印刷データの前記解析命令を実行させる制御を行う制御手段、として機能させるためのプログラムである。   The invention according to claim 5, wherein a computer is configured to generate an analysis instruction for the input print data, holding means for storing the analysis instruction group generated by the generation means for each of a plurality of print data, A plurality of extracting means for extracting information from the print data corresponding to the analysis instruction in accordance with the analysis instruction, and an extraction not executing the analysis instruction for any of the plurality of print data among the plurality of extraction means; In the case where the means exists, the extracting means functions as a control means for performing a control for executing the analysis instruction of the print data by preferentially allocating the plurality of print data in descending order of priority. It is a program for.

請求項1又は5に係る発明によれば、印刷データの解析処理が完了しなくても、別の印刷データの解析処理を実行できる装置を提供することができる。   According to the first or fifth aspect of the present invention, it is possible to provide an apparatus capable of executing another print data analysis process without completing the print data analysis process.

請求項2に係る発明によれば、解析命令の処理のための資源(解析用抽出手段)が情報抽出命令の処理のために利用されることを防止することができる。   According to the second aspect of the present invention, it is possible to prevent a resource (analysis extracting means) for processing an analysis instruction from being used for processing an information extraction instruction.

請求項3又は4に係る発明によれば、解析用抽出手段のみが解析命令を処理する場合よりも、より多くの解析命令を処理することができる。   According to the third or fourth aspect of the present invention, it is possible to process more analysis instructions than when only the analysis extraction unit processes analysis instructions.

実施形態の装置構成を例示する図である。FIG. 2 is a diagram illustrating a device configuration of the embodiment. ジョブ解析命令を例示する図である。FIG. 11 is a diagram illustrating a job analysis instruction. ジョブ解析命令から生成されるページ単位の解析命令を例示する図である。FIG. 9 is a diagram illustrating an example of a page-based analysis command generated from a job analysis command. 印刷データ処理部の全体的な処理手順を例示する図である。FIG. 7 is a diagram illustrating an example of an overall processing procedure of a print data processing unit. 解析部の処理手順を例示する図である。FIG. 6 is a diagram illustrating a processing procedure of an analysis unit. 複数のジョブ解析命令を複数の情報抽出部で並列実行する状態を説明するための図である。FIG. 14 is a diagram for explaining a state in which a plurality of job analysis instructions are executed in parallel by a plurality of information extraction units. 情報抽出部の処理手順を例示する図である。It is a figure which illustrates the processing procedure of an information extraction part. 1つの印刷データに着目した場合の解析部の動作を説明するための図である。FIG. 9 is a diagram for explaining the operation of the analysis unit when focusing on one print data. 変形例におけるジョブ解析命令の例を示す図である。FIG. 14 is a diagram illustrating an example of a job analysis command in a modified example. 変形例の印刷データ処理部の構成を例示する図である。FIG. 9 is a diagram illustrating a configuration of a print data processing unit according to a modification.

図1を参照して、印刷データ処理装置の一実施形態の機能構成を説明する。図1に示す装置は、印刷データ受付部10、印刷データ処理部100、RIP機能部20、及びUI部30を含む。   With reference to FIG. 1, a functional configuration of an embodiment of a print data processing apparatus will be described. 1 includes a print data receiving unit 10, a print data processing unit 100, a RIP function unit 20, and a UI unit 30.

印刷データ受付部10は、印刷処理の対象となる印刷データの入力を受け付ける。印刷データは、例えばリモートのコンピュータからネットワーク経由で、あるいは可搬型の不揮発性記録媒体に保存された状態で、印刷データ受付部10に入力される。印刷データは、印刷対象の各ページの画像を、PostScript(登録商標)やPDF(Portable Document Format)等のPDL(ページ記述言語)で記述したデータである。以下では、1つの印刷データのことをジョブ(JOB)とも呼ぶ。印刷データ受付部10が受け付けた印刷データは、印刷データ処理部100に渡される。   The print data receiving unit 10 receives an input of print data to be printed. The print data is input to the print data receiving unit 10 from a remote computer via a network or stored in a portable non-volatile recording medium. The print data is data in which an image of each page to be printed is described in PDL (Page Description Language) such as PostScript (registered trademark) or Portable Document Format (PDF). Hereinafter, one piece of print data is also referred to as a job. The print data received by the print data receiving unit 10 is passed to the print data processing unit 100.

RIP機能部20は、印刷データに対してRIP(Raster Image Processor)処理を行うことで、ラスター形式等の形式の印刷画像データを生成する。生成された印刷画像データは、図示しない印刷装置に供給され、印刷装置はその印刷画像データをもとに印刷エンジンを制御することで、印刷データが示す画像を用紙等の記録媒体上に印刷する。   The RIP function unit 20 generates print image data in a format such as a raster format by performing RIP (Raster Image Processor) processing on the print data. The generated print image data is supplied to a printing device (not shown), and the printing device controls the print engine based on the print image data to print the image indicated by the print data on a recording medium such as paper. .

UI(ユーザインタフェース)部30は、印刷データを処理する際の印刷データ処理装置や印刷装置の設定等、印刷データの処理に関する属性情報の入力をユーザから受け付ける。個々で入力される属性情報には、例えば、カラー設定、用紙設定、レイアウト設定(描画位置、NUp、フォームを重ねるなどの設定)、特色抽出/フォント抽出などの機能指定がある。   A UI (user interface) unit 30 receives from a user input of attribute information relating to processing of print data, such as settings of a print data processing device and a printing device when processing print data. The attribute information input individually includes, for example, color settings, paper settings, layout settings (settings such as drawing position, NUp, overlapping of forms, etc.), and function designations such as spot color extraction / font extraction.

印刷データ処理部100は、入力された印刷データを解析し、その印刷データ(ジョブ)内のページ毎の属性情報(「ページ属性情報」と呼ぶ)を生成する。生成したページ属性情報は、RIP機能部20に送られる。RIP機能部20は、それら各ページのページ属性情報に基づき、公知のアルゴリズムで複数ページの並列的なRIP処理を制御する。   The print data processing unit 100 analyzes the input print data and generates attribute information (referred to as “page attribute information”) for each page in the print data (job). The generated page attribute information is sent to the RIP function unit 20. The RIP function unit 20 controls parallel RIP processing of a plurality of pages by a known algorithm based on the page attribute information of each page.

印刷データ処理部100は、メイン処理を行うメインルーチンの他に、ジョブスプール110、解析部120、複数の情報抽出部130、ページ情報記憶部140、及びページ属性生成部150を含む。   The print data processing unit 100 includes a job spool 110, an analysis unit 120, a plurality of information extraction units 130, a page information storage unit 140, and a page attribute generation unit 150, in addition to a main routine for performing main processing.

ジョブスプール110は、解析部120での解析処理を待っている印刷データ(ジョブ)(図1では「JOB1」等と表記)を記憶している。   The job spool 110 stores print data (jobs) (noted as “JOB1” or the like in FIG. 1) waiting for analysis processing by the analysis unit 120.

印刷データ処理部100のメインルーチンは、印刷データ(ジョブ)が入力されると、その印刷データに対する解析命令を公知の手法で作成する。この解析命令は、ジョブ単位での解析を指示する命令である。   When print data (job) is input, the main routine of the print data processing unit 100 creates an analysis command for the print data by a known method. This analysis instruction is an instruction for instructing analysis on a job basis.

解析部120は、印刷データの解析のための制御を行う。より詳しくは、解析部120は、対象となる印刷データ(ジョブ)に対するジョブ単位の解析命令を印刷データ処理部100のメインルーチンから取得し、そのジョブ単位の解析命令(図1では「Job1」等と表記)から、そのジョブに含まれるページ単位の解析命令を作成する。また解析部120は、複数の情報抽出部130のそれぞれに対してジョブ単位またはページ単位で解析処理を割り当て、ページ単位の解析命令を、割当先の情報抽出部130に対して発行する制御を行う。   The analysis unit 120 performs control for analyzing print data. More specifically, the analysis unit 120 acquires a job-based analysis instruction for the target print data (job) from the main routine of the print data processing unit 100, and the job-based analysis instruction (such as “Job1” in FIG. 1). ), An analysis instruction for each page included in the job is created. Further, the analysis unit 120 performs a control of allocating an analysis process to each of the plurality of information extraction units 130 on a job basis or a page basis, and issuing an analysis instruction on a page basis to the information extraction unit 130 of the allocation destination. .

情報抽出部130は、解析部120から送られてきたページ単位の解析命令を、ジョブスプール110内の、当該解析命令に対応するジョブのページのデータに対して実行することで、当該ページの解析結果(「ページ情報」と呼ぶ)を生成する。ページ情報に含まれる項目の例には、例えばページサイズ、回転、拡大縮小、カラー、オーバープリント、トラッピング、ハードウエア制御情報等がある。なお、これら項目はあくまで例示的なものにすぎず、ページ情報はそれら例示的な項目の全てを含んでいる必要はないし、それら例示的な項目以外の項目を含んでいてもよい。情報抽出部130は、抽出したページ情報を解析部120に返し、解析部120は、受け取ったページ情報をページ情報記憶部140に蓄積する。   The information extracting unit 130 analyzes the page by executing the page-based analysis instruction sent from the analysis unit 120 on the data of the page of the job corresponding to the analysis instruction in the job spool 110. Generate a result (called "page information"). Examples of items included in the page information include, for example, page size, rotation, scaling, color, overprint, trapping, hardware control information, and the like. Note that these items are merely exemplary, and the page information does not need to include all of the exemplary items, and may include items other than the exemplary items. The information extraction unit 130 returns the extracted page information to the analysis unit 120, and the analysis unit 120 stores the received page information in the page information storage unit 140.

ページ属性生成部150は、ページ情報記憶部140に記憶されたページ情報とUI部30から入力された属性情報とを組み合わせることで、RIP機能部20でのRIP制御のために用いられるページ属性情報を生成する。ページ情報と属性情報の組合せは、それら両者をマージするなどの方法で行えばよい。   The page attribute generation unit 150 combines the page information stored in the page information storage unit 140 and the attribute information input from the UI unit 30 to obtain page attribute information used for RIP control in the RIP function unit 20. Generate The combination of the page information and the attribute information may be performed by a method such as merging the two.

図2に、印刷データ処理部100のメインルーチンが生成するジョブ単位の解析命令の例を模式的に示す。   FIG. 2 schematically illustrates an example of a job-based analysis command generated by the main routine of the print data processing unit 100.

解析命令には、機能タイプ、ジョブ番号、ジョブファイル格納ディレクトリ、処理優先順位、フィルタ開始ページ、フィルタ終了ページ、フィルタ情報出力ディレクトリ、特色情報抽出フラグ、特色情報抽出ディレクトリ、プロファイル出力フラグ、プロファイル出力ディレクトリ等の項目が含まれる。   The analysis instructions include function type, job number, job file storage directory, processing priority, filter start page, filter end page, filter information output directory, spot color information extraction flag, spot color information extraction directory, profile output flag, profile output directory Etc. are included.

機能タイプは、当該解析命令が示す解析機能のタイプを示す情報である。図に例示した4つのジョブの機能タイプはいずれも「フィルタ」である。解析機能「フィルタ」は、印刷データの各ページから、ページ属性情報に含める各種の項目を抽出(フィルタリング)する機能である。解析部120(および情報抽出部130)は、フィルタ機能以外の解析機能を提供できるものであってもよい。例えば、フィルタ機能以外の解析機能には、例えば特色情報抽出、フォント情報抽出、サムネイル作成等がある。   The function type is information indicating the type of the analysis function indicated by the analysis instruction. The function types of the four jobs illustrated in the figure are all “filters”. The analysis function “filter” is a function of extracting (filtering) various items to be included in the page attribute information from each page of the print data. The analysis unit 120 (and the information extraction unit 130) may be capable of providing an analysis function other than the filter function. For example, analysis functions other than the filter function include, for example, spot color information extraction, font information extraction, thumbnail creation, and the like.

ジョブ番号は、当該解析命令の対象であるジョブ(以下「対象ジョブ」と呼ぶ)を一意に識別する識別番号である。例えば解析命令1001は、ジョブ番号「1」で識別されるジョブについての解析命令であり、解析命令1002はジョブ番号「2」のジョブに対する解析命令である。ジョブファイル格納ディレクトリは、当該解析命令の対象である印刷データのファイル(ジョブファイル)の格納場所のパスを示す情報である。ジョブファイルの格納場所はジョブスプール内であり、ジョブファイル格納ディレクトリはそのジョブスプール内の場所を示している。   The job number is an identification number for uniquely identifying a job (hereinafter, referred to as a “target job”) that is a target of the analysis instruction. For example, the analysis instruction 1001 is an analysis instruction for the job identified by the job number “1”, and the analysis instruction 1002 is an analysis instruction for the job with the job number “2”. The job file storage directory is information indicating a path of a storage location of a print data file (job file) targeted by the analysis instruction. The storage location of the job file is in the job spool, and the job file storage directory indicates the location in the job spool.

処理優先順位は、対象ジョブに対して付与された、解析処理の優先順位を示す情報である。処理優先順位が若い(値が小さい)ジョブほど、解析部120により解析処理の対象に選ばれやすい。複数のジョブに同じ順位が与えられる場合もある。解析部120は、同一順位の複数のジョブから対象ジョブを1つ選ぶ場合には、ランダムに、あるいは順位以外の基準に基づく評価値が最も高いものを、選択する。図示例では、ジョブ番号1、2、6の各ジョブの処理優先順位が1であり、ジョブ番号3のジョブの処理優先順位が2となっている。なお、「順位」を用いるのはあくまで一例である。より一般化すれば、各ジョブの優先度合いを示す優先度をジョブに割り当てておき、解析部120は最も優先度の高いジョブを、対象ジョブとして選択する。   The processing priority is information indicating the priority of the analysis processing assigned to the target job. A job with a lower processing priority (smaller value) is more likely to be selected as an analysis process target by the analysis unit 120. The same ranking may be given to a plurality of jobs. When selecting one target job from a plurality of jobs having the same rank, the analysis unit 120 selects a job having the highest evaluation value based on a criterion other than a rank or a random job. In the illustrated example, the processing priority of each job of job numbers 1, 2, and 6 is 1, and the processing priority of job of job number 3 is 2. The use of the “rank” is merely an example. More specifically, a priority indicating the priority of each job is assigned to the job, and the analysis unit 120 selects the job with the highest priority as the target job.

フィルタ開始ページは、対象ジョブのうち当該解析命令に係るフィルタ処理の対象とする範囲の最初のページの番号であり、フィルタ終了ページは、その範囲の最後のページの番号である。図示した解析命令1001では、フィルタ終了ページの値が「−1」であるが、これはユーザ側から明示的な最終ページの値が指定されなかった場合の値であり、実質上は当該ジョブの最後のページまで解析することを意味する。なお、解析命令がフィルタ処理以外の解析処理(例えば特色情報抽出、フォント情報抽出等)を指示する場合、フィルタ開始ページ、フィルタ終了ページは、当該解析処理の開始と終了のページを示す。   The filter start page is the number of the first page of the range to be subjected to the filtering process according to the analysis instruction in the target job, and the filter end page is the number of the last page of the range. In the illustrated analysis instruction 1001, the value of the end page of the filter is “−1”, which is a value when the value of the last page is not explicitly specified by the user, and is substantially the same as that of the job. It means to analyze to the last page. When the analysis command instructs an analysis process other than the filter process (for example, extraction of spot color information, font information, etc.), the filter start page and the filter end page indicate the start and end pages of the analysis process.

フィルタ情報出力ディレクトリは、対象ジョブに対するフィルタ処理の結果の出力先のディレクトリを示すパス情報であり、例えばページ情報記憶部140のパスを示す 。   The filter information output directory is path information indicating a directory to which a result of the filtering process for the target job is output, and indicates, for example, a path of the page information storage unit 140.

特色情報抽出フラグは、当該解析命令の実行において、対象ジョブから特色情報を抽出するか否かを示すフラグである。このフラグの値が「ON」であれば特色情報を抽出し、「OFF」であれば特色情報を抽出しない。特色情報抽出ディレクトリは、抽出した特色情報の出力先のディレクトリを示すパス情報である。   The spot color information extraction flag is a flag indicating whether or not to extract the spot color information from the target job in executing the analysis instruction. If the value of this flag is “ON”, special color information is extracted, and if “OFF”, no special color information is extracted. The spot color information extraction directory is path information indicating a directory to which the extracted spot color information is output.

プロファイル出力フラグは、当該解析命令の実行において、対象ジョブのプロファイルを出力するか否かを示すフラグである。このフラグの値が「ON」であればプロファイルを出力し、「OFF」であればプロファイルを出力しない。プロファイル出力ディレクトリは、プロファイルの出力先のディレクトリを示すパス情報である。   The profile output flag is a flag indicating whether to output the profile of the target job in executing the analysis instruction. If the value of this flag is "ON", the profile is output, and if it is "OFF", no profile is output. The profile output directory is path information indicating the directory to which the profile is output.

図3に、ページ単位の解析命令の例を模式的に示す。図3に示すのは、図2に示した解析命令1001(ジョブ番号1)から解析部120が生成するページ単位の解析命令1101、1102、・・・である。   FIG. 3 schematically shows an example of a page-based analysis instruction. FIG. 3 shows page-based analysis instructions 1101, 1102,... Generated by the analysis unit 120 from the analysis instruction 1001 (job number 1) shown in FIG.

図示のように、ページ単位の解析命令1101、1102、・・・には、機能タイプ、ジョブ番号、ジョブファイル格納ディレクトリ、対象ページ、フィルタ情報出力ディレクトリ、特色情報抽出フラグ、特色情報抽出ディレクトリ、プロファイル出力フラグ、プロファイル出力ディレクトリ等の項目が含まれる。このうち対象ページ以外の項目は、図2に例示したジョブ単位の解析命令1001等の同名の項目と同じものである。また、対象ページは、当該解析命令1101、1102、・・・の対象のページ番号である。   As shown in the figure, the analysis instructions 1101, 1102,... For each page include a function type, a job number, a job file storage directory, a target page, a filter information output directory, a spot color information extraction flag, a spot color information extraction directory, and a profile. Items such as an output flag and a profile output directory are included. The items other than the target page are the same as the items of the same name, such as the job-based analysis instruction 1001 illustrated in FIG. The target page is the page number of the target of the analysis instructions 1101, 1102,....

図2との比較から分かるように、ページ単位の解析命令には、ジョブ単位の解析命令にある処理優先順位や、フィルタ開始ページ、フィルタ終了ページの項目がない。   As can be seen from the comparison with FIG. 2, the page-based analysis instruction does not include the items of the processing priority, the filter start page, and the filter end page in the job-based analysis instruction.

図4を参照して、印刷データ処理部100のメインルーチンの処理手順を例示する。   With reference to FIG. 4, a processing procedure of a main routine of the print data processing unit 100 will be exemplified.

印刷データ処理部100は、印刷データ受付部10が新たな印刷データを受信したかどうかを判定する(S1000)。この判定の結果がYesの場合、その印刷データを一意なジョブ番号と対応付けてジョブスプール110に蓄積すると共に、その印刷データについてのジョブ単位の解析命令(ジョブ解析命令と呼ぶ)を生成する(S1002)。そして、ジョブ解析命令を解析部120に送り(S1004)、S1000に戻る。   The print data processing unit 100 determines whether the print data receiving unit 10 has received new print data (S1000). If the result of this determination is Yes, the print data is stored in the job spool 110 in association with the unique job number, and a job-based analysis command (called a job analysis command) for the print data is generated (referred to as a job analysis command). S1002). Then, a job analysis command is sent to the analysis unit 120 (S1004), and the process returns to S1000.

S1000の判定結果がNoの場合、印刷データ処理部100は、解析部120から新たなページ情報(解析結果)が出力されたか否かを判定する(S1006)。このステップでは、例えば、ページ情報記憶部140内に、未処理のページ情報があるかどうかを調べる。この判定の結果がNoの場合は、S1000に戻る。判定の結果がYesの場合は、印刷データ処理部100は、新たなページ情報(ページ情報記憶部140内の未処理のページ情報)を一つ選び、そのページ情報と、UI部30から入力された、現在のジョブに対応する属性情報(装置設定等)と、をページ属性生成部150に送る(S1008)。そして、ページ属性生成部150からページ属性情報が出力されるのを待ち(S1010)、ページ属性情報が出力されると、そのページ属性情報を当該ジョブの識別情報と当該ページの識別情報(ページ番号等)と対応付けてRIP機能部20に送信する(S1012)。   If the determination result in S1000 is No, the print data processing unit 100 determines whether new page information (analysis result) is output from the analysis unit 120 (S1006). In this step, for example, it is determined whether or not there is unprocessed page information in the page information storage unit 140. If the result of this determination is No, the process returns to S1000. If the determination result is Yes, the print data processing unit 100 selects one piece of new page information (unprocessed page information in the page information storage unit 140), and inputs the page information and the input from the UI unit 30. The attribute information (such as device settings) corresponding to the current job is sent to the page attribute generation unit 150 (S1008). Then, the process waits for page attribute information to be output from the page attribute generation unit 150 (S1010). When the page attribute information is output, the page attribute information is used as the identification information of the job and the identification information of the page (page number). Etc.) and transmit it to the RIP function unit 20 (S1012).

次に図5を参照して、解析部120の処理手順を例示する。この手順では、解析部120は、印刷データ処理部100のメインルーチンからのジョブ解析命令の受信を確認し、受信した場合は内部のその解析命令を保持する(S1200)。次に、内部に保持しているジョブ解析命令があるか否かを判定し(S1202)、ない場合はS1200に戻る。内部に保持しているジョブ解析命令がある場合は、複数の情報抽出部130の中に待機中のものがあるかどうかを判定する(S1204)。この判定の結果がNoの場合は、S1200に戻る。   Next, a processing procedure of the analysis unit 120 will be described with reference to FIG. In this procedure, the analysis unit 120 confirms reception of a job analysis command from the main routine of the print data processing unit 100, and if received, holds the internal analysis command (S1200). Next, it is determined whether or not there is a job analysis command stored therein (S1202). If not, the process returns to S1200. If there is a job analysis instruction stored therein, it is determined whether or not there is a plurality of information extraction units 130 that are waiting (S1204). If the result of this determination is No, the process returns to S1200.

S1204の判定結果がYesの場合は、内部に保持している各ジョブ解析命令(複数保持している場合ある)の処理優先順位の値を調べ、その順位が最高である(すなわち優先度が最も高い)ジョブ解析命令の中から1つを処理対象に選ぶ(S1206)。そして、選んだジョブ解析命令(図2参照)から各ページについてのページ単位の解析命令(図3参照)を生成し、先頭ページの解析命令から順に1つずつ、待機中の情報抽出部130のうちのいずれかに送信する(S1208)。そして、その情報抽出部130からその解析命令に対する応答が来るのを待ち(S1210)、到来した応答がページ情報を含んでいる場合、そのページ情報をページ情報記憶部140に保存する(S1212)。情報抽出部130からの応答は、ページ情報を返す応答以外に、ジョブの最終ページに達した(すなわち、情報抽出部130が受け取ったページ単位の解析命令の対象となるページがもはやない)ことを示すものである場合がある。この最終ページに達したことを示す応答を受け取るまでは(S1214の判定結果がNo)、解析部120は、S1206で処理対象に選んだジョブ解析命令に対して、S1208〜S1214の処理を繰り返す。情報抽出部130からの応答が、最終ページに達したことを示すものである場合は、S1214の判定結果がYesとなり、S1206で処理対象に選んだジョブ解析命令についての処理は終了し、解析部120はS1200に戻る。   When the result of the determination in S1204 is Yes, the value of the processing priority of each job analysis instruction (in some cases, a plurality of job analysis instructions) held therein is checked, and the priority is the highest (that is, the highest priority). One (high) job analysis command is selected as a processing target (S1206). Then, a page-by-page analysis instruction (see FIG. 3) for each page is generated from the selected job analysis instruction (see FIG. 2). The message is transmitted to one of them (S1208). Then, it waits for a response to the analysis command from the information extraction unit 130 (S1210). If the received response includes page information, the page information is stored in the page information storage unit 140 (S1212). The response from the information extraction unit 130 indicates that the last page of the job has been reached (that is, there is no longer a page to be subjected to the page-based analysis instruction received by the information extraction unit 130), in addition to the response returning the page information. May be shown. Until a response indicating that the last page has been reached is received (the determination result of S1214 is No), the analysis unit 120 repeats the processing of S1208 to S1214 for the job analysis instruction selected as the processing target in S1206. If the response from the information extraction unit 130 indicates that the last page has been reached, the determination result in S1214 is Yes, and the processing for the job analysis command selected as the processing target in S1206 ends. 120 returns to S1200.

なお、解析部120は、図6に例示するように、異なる複数のジョブに対応する複数のジョブ解析命令122を同時並列的に実行してもよい。図6に例示する時点では、解析部120は、ジョブ番号1のジョブについてのジョブ解析命令Job1、ジョブ番号2のジョブについてのジョブ解析命令Job2、・・・ジョブ番号6のジョブについてのジョブ解析命令Job6を内部に保持している。これらジョブ解析命令は、図2に例示したものであり、ジョブ番号1、2、6のジョブの処理優先順位は1であり、残りのジョブ番号3、4、5の処理優先順位は2以下であったとする。また、図6の例では、情報抽出部130が3つあり、1つの情報抽出部130に1つのジョブを割り当てるものとする。この場合、図6に示したようにジョブ番号1、2、6のジョブ解析命令Job1、Job2、Job6が、それぞれ異なる情報抽出部130に割り当てられることになる。解析部120は、それらジョブ解析命令Job1、Job2、Job6から各ページについてのページ単位の解析命令を生成し、それらページ単位の解析命令を、ページ順に、当該ページが属するジョブの割当先の情報抽出部130に送る。   Note that the analysis unit 120 may execute a plurality of job analysis instructions 122 corresponding to a plurality of different jobs simultaneously and in parallel as illustrated in FIG. At the time illustrated in FIG. 6, the analysis unit 120 includes the job analysis instruction Job1 for the job of job number 1, the job analysis instruction Job2 for the job of job number 2,... The job analysis instruction for the job of job number 6. Job 6 is held inside. These job analysis instructions are illustrated in FIG. 2. The processing priority of the jobs of job numbers 1, 2, and 6 is 1, and the processing priority of the remaining job numbers 3, 4, and 5 is 2 or less. Suppose there was. In the example of FIG. 6, it is assumed that there are three information extraction units 130 and one job is assigned to one information extraction unit 130. In this case, as shown in FIG. 6, job analysis instructions Job1, Job2, and Job6 of job numbers 1, 2, and 6 are assigned to different information extraction units 130, respectively. The analysis unit 120 generates a page-by-page analysis instruction for each page from the job analysis instructions Job1, Job2, and Job6, and extracts the page-by-page analysis instruction in the order of pages and extracts information on the assignment destination of the job to which the page belongs. Send to section 130.

図6の例では、解析部120は、一つのジョブを一つの情報抽出部130に割り当てたが、これは一例に過ぎない。一つのジョブを複数の情報抽出部130に割り当て、それら複数の情報抽出部130でそのジョブを並列的に解析してもよい。   In the example of FIG. 6, the analysis unit 120 allocates one job to one information extraction unit 130, but this is only an example. One job may be assigned to a plurality of information extraction units 130, and the plurality of information extraction units 130 may analyze the job in parallel.

また図6の例では、ジョブごとに、そのジョブを担当する情報抽出部130を1以上確保したが、これは一例に過ぎない。ジョブごとに情報抽出部130を確保せずに、情報抽出部130がページ単位の解析命令の処理を終えるごとに、解析部120が、その情報抽出部130に次にどのジョブのどのページの解析命令を割り当てるかを決定してもよい。この場合、その情報抽出部130には、いま処理を終えた解析命令に係るページが属するジョブとは異なるジョブの未処理ページの解析命令が割り当てられる場合もあり得る。この例では、解析部120は、ページ単位の解析命令の処理を終えた情報抽出部130に対して、その時点で解析部120が内部に保持しているジョブ単位の解析命令のうち、処理優先順位が最も高い(すなわち優先度が最高の)ジョブの、未処理のページ単位の解析命令を割り当てる。このとき、最高順位のジョブの中に既にそのジョブの解析が開始されている(すなわち先頭ページの解析命令がいずれかの情報抽出部130に送信済み)ものがあれば、そのジョブの残りのページの解析命令が優先してその情報抽出部130に割り当てられる。   Further, in the example of FIG. 6, one or more information extraction units 130 in charge of the job are reserved for each job, but this is only an example. Each time the information extraction unit 130 completes processing of an analysis command for each page without securing the information extraction unit 130 for each job, the analysis unit 120 causes the information extraction unit 130 to analyze which page of which job next. You may decide to assign instructions. In this case, the information extraction unit 130 may be assigned an analysis instruction for an unprocessed page of a job different from the job to which the page related to the analysis instruction that has just finished processing belongs. In this example, the analysis unit 120 sends a processing priority to the information extraction unit 130 that has completed the processing of the page-based analysis command among the job-based analysis commands held by the analysis unit 120 at that time. An unprocessed page-based analysis instruction of the job with the highest rank (that is, the highest priority) is assigned. At this time, if there is a job of the highest rank in which the analysis of the job has already been started (that is, the analysis command of the first page has been transmitted to any of the information extracting units 130), the remaining pages of the job are Is assigned to the information extraction unit 130 with priority.

次に、図7を参照して、個々の情報抽出部130の処理手順の例を説明する。この手順では、情報抽出部130は、解析部120からページ単位の解析命令を受信するのを待つ(S1400)。ページ単位の解析命令を受信すると、情報抽出部130は、その解析命令に示されるジョブ番号及び対象ページのページ番号(図3参照)を調べ、ジョブスプール110中のそのジョブ番号が示すジョブのデータからその対象ページのデータの取得を試みる。対象ページのデータが取得できない場合、その対象ページの番号は当該ジョブの印刷データの最後のページより後の番号ということであり、そのジョブの印刷データの最終ページの解析命令が既に発行済みということである。情報抽出部130は、対象ページのデータを取得できたか否か、言い換えればジョブの最終ページまで解析命令が発行済みであるかを判定する(S1402)。この判定結果がNoの場合、すなわち、受信した解析命令に係るページのデータを取得できた場合、情報抽出部130は、その取得できたデータをその解析命令に従って解析し、ページ情報を抽出する(S1404)。そして、抽出したページ情報を解析部120に応答する(S1406)。なお、情報抽出部130が、抽出したページ情報をページ情報記憶部140に保存し、解析部120にはその保存場所を特定する情報(例えばメモリアドレス)をS1406で応答してもよい。また、S1402の判定結果がYesの場合、情報抽出部130は、ジョブの最終ページに到達したことを示す応答を解析部120に返す(S1406)。   Next, an example of a processing procedure of each information extracting unit 130 will be described with reference to FIG. In this procedure, the information extraction unit 130 waits for a page-by-page analysis command from the analysis unit 120 (S1400). Upon receiving the analysis command for each page, the information extraction unit 130 checks the job number indicated by the analysis command and the page number of the target page (see FIG. 3), and stores the data of the job indicated by the job number in the job spool 110. Try to get the data of the target page from. If the data of the target page cannot be obtained, the number of the target page is a number after the last page of the print data of the job, and the analysis instruction of the last page of the print data of the job has already been issued. It is. The information extraction unit 130 determines whether the data of the target page has been acquired, in other words, whether the analysis command has been issued up to the last page of the job (S1402). When the determination result is No, that is, when the data of the page related to the received analysis command can be obtained, the information extraction unit 130 analyzes the obtained data according to the analysis command, and extracts the page information ( S1404). Then, the extracted page information is returned to the analysis unit 120 (S1406). Note that the information extraction unit 130 may store the extracted page information in the page information storage unit 140, and may respond to the analysis unit 120 with information (for example, a memory address) specifying the storage location in S1406. If the determination result in S1402 is Yes, the information extraction unit 130 returns a response indicating that the last page of the job has been reached to the analysis unit 120 (S1406).

本実施形態の印刷データ処理部100による、ある印刷データJOB1に着目した場合の処理の流れを、図8を参照して説明する。入力された印刷データJOB1は、ジョブスプール110にいったんスプールされる(符号112)。これに応じ、印刷データ処理部100は、印刷データJOB1に対するジョブ単位の解析命令Job1(符号122)を生成し、解析部120に渡す。解析部120は、待機中の情報抽出部130が現れると、そのジョブ解析命令Job1からページ単位の解析命令J1−P1(JOB1の1ページ目の解析命令)(符号124)、J1−P2(JOB1の2ページ目の解析命令)、・・・を順に作成し、1ページずつ解析命令を待機中の情報抽出部130に渡す。情報抽出部130は、1ページずつの解析命令を実行し、印刷データJOB1からその解析命令の対象のデータを取得して解析する。そして、解析結果であるページ情報J1−P1(JOB1の1ページ目の解析結果)(符号126)、J1−P2(JOB1の2ページ目の解析結果)、・・・を順に解析部120に返す。解析部120は、それらページ情報をページ情報記憶部140に格納する。また、この例では、解析部120は、印刷データJOB1の総ページ数を確認することなく、1ページの解析命令の処理結果が情報抽出部130から返ってくるごとに、次のページ番号に対応する解析命令を自動的に情報抽出部130に発行する。そして、情報抽出部130から、JOB1の最終ページまでの解析が終了している旨の応答JobEndを受け取ると、解析部120は、そのジョブの解析が終了したと判断する。   The flow of processing by the print data processing unit 100 according to the present embodiment when focusing on a certain print data JOB1 will be described with reference to FIG. The input print data JOB1 is once spooled in the job spool 110 (reference numeral 112). In response to this, the print data processing unit 100 generates a job-based analysis command Job1 (reference numeral 122) for the print data JOB1 and passes it to the analysis unit 120. When the waiting information extraction unit 130 appears, the analysis unit 120 starts analyzing the job analysis instruction Job1 in units of pages, ie, an analysis instruction J1-P1 (analysis instruction of the first page of JOB1) (reference numeral 124), and J1-P2 (JOB1). Are sequentially created, and the analysis command is passed to the waiting information extraction unit 130 page by page. The information extracting unit 130 executes an analysis command for each page, acquires data subject to the analysis command from the print data JOB1, and analyzes the data. Then, the page information J1-P1 (analysis result of the first page of JOB1) (reference numeral 126), J1-P2 (analysis result of the second page of JOB1), which are the analysis results, are sequentially returned to the analysis unit 120. . The analysis unit 120 stores the page information in the page information storage unit 140. Further, in this example, the analysis unit 120 does not check the total number of pages of the print data JOB1 and responds to the next page number every time the processing result of the one-page analysis command is returned from the information extraction unit 130. To the information extracting unit 130 automatically. When receiving a response JobEnd indicating that the analysis up to the last page of JOB1 has been completed from the information extraction unit 130, the analysis unit 120 determines that the analysis of the job has been completed.

以上に説明したように、本実施形態では、解析部120が、印刷データ処理部100のメインルーチンから受け取ったジョブ単位の解析命令からページ単位の解析命令を生成すると共に、複数の情報抽出部130によるそれらページ単位の解析命令の並列処理を制御する。このように、本実施形態では、解析処理の並列処理を、解析部120で閉じた形にパッケージングしている。上流側であるメインルーチンは、ジョブ単位の解析命令を解析部120に渡すだけでよい。   As described above, in the present embodiment, the analysis unit 120 generates a page-based analysis command from a job-based analysis command received from the main routine of the print data processing unit 100, and generates a plurality of information extraction units 130 Controls the parallel processing of these page-based analysis instructions. As described above, in the present embodiment, the parallel processing of the analysis processing is packaged in a form closed by the analysis unit 120. The main routine on the upstream side only needs to pass a job-by-job analysis command to the analysis unit 120.

また本実施形態では、解析部120は、印刷データの総ページ数を確認することなく、ページ単位の解析命令を1ページ目から順に発行するので、解析部120が印刷データの総ページ数を確認し、自ら印刷データの最終ページまでの解析が完了したか判定する方式よりも解析に要する時間のロスが少ない。解析部120が印刷データの総ページ数を確認する方式では、解析部120が総ページ数を確認するために印刷データを調べる時間が必要な分だけ、処理時間のロスが生じる。なお、解析に要する時間のロスはあるが、解析部120が印刷データの総ページ数を確認する方式を用いてもよい。   Further, in the present embodiment, the analysis unit 120 issues the analysis command for each page in order from the first page without checking the total number of pages of the print data. Therefore, the analysis unit 120 checks the total number of pages of the print data. However, the loss of the time required for the analysis is smaller than in the method of determining whether the analysis up to the last page of the print data has been completed. In the method in which the analysis unit 120 checks the total number of pages of the print data, a processing time is lost because the analysis unit 120 needs time to check the print data to check the total number of pages. Although there is a loss of time required for analysis, a method in which the analysis unit 120 checks the total number of pages of print data may be used.

また、仮に情報抽出部130が1つしかない構成では、その情報抽出部130で実行中の解析命令が終わるまでは、その緊急性の高い解析命令を実行できず、仮にその唯一の情報抽出部130が非常に大きいサイズの印刷データを解析している場合には、緊急性の高い解析命令は長時間待たされることになる。これに対して本実施形態では、情報抽出部130が複数あるので、緊急性の高い解析命令が待たされる時間は、統計的に考えて、情報抽出部130が1つしかない構成よりも短くなる。それら複数の情報抽出部130に割り当てられる印刷データの量は統計的に見てばらつきがあるはずなので、そのうち最も量が少ない印刷データが割り当てられた情報抽出部130はその処理を速く終え、その情報抽出部130に緊急性の高い解析命令を割り当てればよい。   Further, in a configuration in which there is only one information extraction unit 130, the analysis instruction with high urgency cannot be executed until the analysis instruction being executed in the information extraction unit 130 ends, and the only information extraction unit When the print data 130 is analyzing print data of a very large size, a highly urgent analysis command is to be waited for a long time. On the other hand, in the present embodiment, since there are a plurality of information extraction units 130, the waiting time for a highly urgent analysis instruction is shorter than a configuration in which there is only one information extraction unit 130, from a statistical viewpoint. . Since the amount of print data assigned to the plurality of information extraction units 130 should be statistically uneven, the information extraction unit 130 to which the smallest amount of print data is assigned finishes the processing quickly and outputs the information. What is necessary is just to assign a highly urgent analysis command to the extraction unit 130.

また、本実施形態は、ジョブ解析命令をページ単位の解析命令に分け、ページ単位の解析命令を情報抽出部130に実行させる構成なので、情報抽出部130が現在実行中のページ単位の解析命令を完了した時点で、その情報抽出部130に、その緊急性の高い解析命令を(ページ単位に分けた上で)割り当ててもよい。これにより、情報抽出部130がジョブ全体の解析を終えるのを待つ場合よりも、更に早く緊急性の高い解析命令が実行されることになる。また、各情報抽出部130が現在実行中のページ単位の解析命令の実行を完了する都度、その情報抽出部130に、緊急性の高い解析命令の異なるページについての解析命令を実行させることで、緊急性の高い解析命令の実行を更に早めてもよい。なお、解析命令の緊急性は、処理優先順位(または優先度)で表せばよい。例えば通常の解析命令には中位の優先順位を割り当てておき、緊急性が高くなるほど高い優先順位を割り当てるようにすればよい。   In the present embodiment, the job analysis command is divided into page-based analysis commands, and the page-based analysis command is executed by the information extraction unit 130. Therefore, the information extraction unit 130 executes the currently executed page-based analysis command. At the time of completion, the analysis command with high urgency may be assigned to the information extraction unit 130 (on a page basis). As a result, a more urgent analysis instruction is executed earlier than when the information extraction unit 130 waits for the analysis of the entire job to be completed. Also, each time each information extraction unit 130 completes execution of a currently executing page-based analysis instruction, the information extraction unit 130 causes the information extraction unit 130 to execute an analysis instruction for a different page of a highly urgent analysis instruction. The urgent analysis instruction may be executed earlier. The urgency of the analysis instruction may be represented by the processing priority (or priority). For example, a normal analysis command may be assigned a medium priority, and the higher the urgency, the higher the priority.

<変形例1>
上記実施形態では、印刷データを印刷する際に必要なページ属性情報を得るために印刷データを解析する機能(フィルタ機能)に着目した。しかし、印刷データ処理装置は、印刷データの印刷に直結しない目的で、印刷データを解析して情報抽出を行う機能を備える場合がある。例えば、印刷データから特色情報の抽出やフォント情報の抽出、各ページのサムネイル画像の作成(これも印刷データからの情報抽出の一例)等が、印刷に直結しない情報抽出機能の例である。ユーザは、これら印刷に直結しない情報抽出機能を利用する場合、例えば対象とする印刷データと情報抽出機能の種類(特色情報抽出、フォント情報抽出等)とをUI部30から指定し、その機能の実行を指示する。この指示に応じ、UI部30から印刷データ処理部100に対して、その情報抽出機能を実行するというジョブが発行される。印刷データ処理部100は、そのジョブを、印刷のためのフィルタ機能のジョブと同様に処理する。
<Modification 1>
The above embodiment focuses on a function (filter function) of analyzing print data in order to obtain page attribute information necessary for printing the print data. However, the print data processing apparatus may have a function of analyzing print data and extracting information for the purpose of not directly connecting to printing of print data. For example, extraction of spot color information and font information from print data, creation of a thumbnail image of each page (also an example of information extraction from print data), and the like are examples of information extraction functions that are not directly linked to printing. When the user uses the information extraction function that is not directly connected to printing, the user specifies, for example, target print data and the type of information extraction function (extracting spot color information, font information, and the like) from the UI unit 30. Instruct execution. In response to this instruction, the UI unit 30 issues a job to the print data processing unit 100 to execute the information extraction function. The print data processing unit 100 processes the job in the same manner as the job of the filter function for printing.

印刷の制御に必要なページ属性情報を得るためのフィルタ機能は、高速な印刷処理に間に合わせる必要があるため、高速な処理が求められる。これに対し、印刷に直結しない情報抽出機能は、ユーザからの指示に応じた処理なので、フィルタ機能ほどの高速性は求められない。   Since a filter function for obtaining page attribute information necessary for printing control needs to be in time for high-speed printing processing, high-speed processing is required. On the other hand, the information extraction function that is not directly connected to printing is a process in accordance with an instruction from the user, and therefore does not require the high speed of the filter function.

ここで、仮に印刷データ処理部100が、印刷のためのフィルタ機能のための処理と、印刷に直結しない情報抽出機能の処理とを区別せずに実行すると、複数ある情報抽出部130の全てが情報抽出機能の処理に用いられ、直後に到来したジョブのためのフィルタ機能の処理がすぐに実行できなくなる事態も考えられる。   Here, if the print data processing unit 100 executes the processing for the filter function for printing and the processing of the information extraction function that is not directly connected to printing without discriminating, all of the plurality of information extraction units 130 It is used in the processing of the information extraction function, and it is conceivable that the processing of the filter function for the job that arrives immediately after cannot be executed immediately.

この変形例1は、フィルタ機能の処理が、印刷に直結しない情報抽出機能の処理により待たされないようにする仕組みを提供する。   The first modification provides a mechanism for preventing the processing of the filter function from being waited for by the processing of the information extraction function that is not directly connected to printing.

この変形例では、印刷データ処理部100は、図9に示すように、チャネル情報(図中で太字で示した)を含んだジョブ解析命令を生成する。チャネル情報は、印刷データ処理部100が複数持つ解析(情報抽出)機能のチャネルのうち、ジョブ解析命令が対象とするジョブに適用するチャネルと示す情報である。この変形例では、印刷データ処理部100が持つ解析機能を、例えば、図1〜図8で説明した実施形態で着目した印刷のためのフィルタ機能のチャネルと、印刷直結しない情報抽出機能(特色情報抽出、フォント情報抽出等)のチャネルに分けており、前者にはチャネル番号1を、後者にはチャネル番号10を割り当てている。図9に示すジョブ解析命令2001は、上述したフィルタ機能の命令であり、チャネル情報の番号が1であるのに対し、ジョブ解析命令2010は、特色情報抽出機能の命令(機能タイプ欄参照)であり、チャネル情報の番号は10となっている。このチャネル情報を用いて、ジョブ解析命令を振り分ける。   In this modification, the print data processing unit 100 generates a job analysis command including channel information (shown in bold in the figure) as shown in FIG. The channel information is information indicating a channel to be applied to the job targeted by the job analysis command among channels of the analysis (information extraction) function of the print data processing unit 100. In this modification, the analysis function of the print data processing unit 100 is, for example, a channel of a filter function for printing focused on in the embodiment described with reference to FIGS. (Extraction, font information extraction, etc.). The former is assigned channel number 1 and the latter is assigned channel number 10. The job analysis command 2001 shown in FIG. 9 is a command of the above-described filter function, and the channel information number is 1, whereas the job analysis command 2010 is a command of the spot color information extraction function (see the function type column). And the number of the channel information is 10. Using this channel information, a job analysis instruction is distributed.

図10に、この変形例における印刷データ処理部100の機能構成を示す。図10において、図1に示した上記実施形態の装置の要素と同様の要素には同一符号を付し、重複する説明は省略する。   FIG. 10 shows a functional configuration of the print data processing unit 100 in this modified example. 10, the same reference numerals are given to the same elements as those of the apparatus of the above-described embodiment shown in FIG. 1, and the overlapping description will be omitted.

図10に示すこの変形例の印刷データ処理部100は、2つの解析部120A及び120Bと、チャネル振分け部160とを備える。   The print data processing unit 100 of this modification shown in FIG. 10 includes two analysis units 120A and 120B and a channel distribution unit 160.

2つの解析部120A及び120Bは、それぞれ自分専用の情報抽出部130A、130Bを複数有している。解析部120A及び120Bのそれぞれの機能・処理動作は、管理し使用する情報抽出部130A又は130Bが、それぞれ自分の有するものに限られる点を除けば、上記実施形態の解析部120と同じである。例えば解析部120Aは、上流側からジョブ解析命令が入力された場合、その解析命令から生成したページ単位の解析命令を、自らが有する複数の情報抽出部130Aのいずれかに割り当てる。解析部120Aは、フィルタ機能の解析処理を担当する。これに対して解析部120Bは、印刷に直結しない情報抽出機能についての解析処理を担当する。   Each of the two analyzers 120A and 120B has a plurality of information extractors 130A and 130B dedicated to itself. The functions and processing operations of the analysis units 120A and 120B are the same as those of the analysis unit 120 of the above-described embodiment, except that the information extraction units 130A and 130B that are managed and used are respectively limited to the units that they own. . For example, when a job analysis command is input from the upstream side, the analysis unit 120A allocates a page-based analysis command generated from the analysis command to one of the plurality of information extraction units 130A included in the analysis unit 120A. The analysis unit 120A is in charge of the analysis processing of the filter function. On the other hand, the analysis unit 120B is in charge of an analysis process for an information extraction function that is not directly connected to printing.

情報抽出部130A及び130Bは、ともに印刷データのPDL記述を解析するものであり、まったく同機能のものであってよい。情報抽出部130A及び130Bは、解析命令に含まれる抽出対象情報を規定するパラメータの値を変えることで、フィルタ機能用、特色情報抽出機能用、フォント情報抽出機能用、等として振る舞う。   The information extraction units 130A and 130B both analyze the PDL description of the print data, and may have exactly the same function. The information extraction units 130A and 130B behave as a filter function, a spot color information extraction function, a font information extraction function, and the like by changing the value of a parameter that specifies extraction target information included in the analysis instruction.

チャネル振分け部160は、印刷データ処理部100のメインルーチンが生成したジョブ解析命令を、その解析命令が含むチャネル情報に応じて、解析部120A又は120Bに振り分ける。すなわちチャネル振分け部160は、ジョブ解析命令のチャネル情報の値が1であればそのジョブ解析命令を解析部120Aに入力し、値が10であればそのジョブ解析命令を解析部120Bに入力する。   The channel distribution unit 160 distributes the job analysis command generated by the main routine of the print data processing unit 100 to the analysis unit 120A or 120B according to the channel information included in the analysis command. That is, if the value of the channel information of the job analysis command is 1, the channel distribution unit 160 inputs the job analysis command to the analysis unit 120A, and if the value is 10, the job analysis command is input to the analysis unit 120B.

解析部120Aは、入力されたジョブ解析命令(フィルタ機能)をページ単位の解析命令群に変換し、自分の有する情報抽出部130Aに割り当てて処理させる。このとき解析部120Aは、自分が受け取ったジョブ解析命令群の間で、処理優先順位に応じてどのジョブ解析命令についてのページ単位の解析命令を、空いた情報抽出部130Aに割り当てるかを決定する。   The analysis unit 120A converts the input job analysis command (filter function) into a group of page-based analysis commands and assigns it to the information extraction unit 130A of the job to process. At this time, the analysis unit 120A determines, among the job analysis instructions received by itself, a job analysis instruction for each page to be assigned to the vacant information extraction unit 130A according to the processing priority. .

解析部120Bは、入力されたジョブ解析命令(特色抽出機能、フォント情報抽出機能等)をページ単位の解析命令群に変換し、自分の有する情報抽出部130Bに割り当てて処理させる。このとき解析部120Bは、自分が受け取ったジョブ解析命令群の間で、処理優先順位に応じてどのジョブ解析命令についてのページ単位の解析命令を、空いた情報抽出部130Bに割り当てるかを決定する。   The analysis unit 120B converts the input job analysis command (special color extraction function, font information extraction function, etc.) into a group of page-based analysis commands, and assigns it to the information extraction unit 130B of its own for processing. At this time, the analysis unit 120B determines, among the job analysis instructions received by itself, which job analysis instruction is to be assigned to the vacant information extraction unit 130B with respect to which job analysis instruction according to the processing priority. .

このように、この変形例では、印刷のためのフィルタ機能のために専用の解析部120A及び情報抽出部130A群は、高速性が求められない特色情報抽出等、印刷処理に直結しない情報抽出機能には使用されない。このため、印刷処理に直結しない情報抽出機能のために、フィルタ機能の実行が待たされることがない。   As described above, in this modified example, the analysis unit 120A and the information extraction unit 130A group dedicated for the filter function for printing use the information extraction function that is not directly connected to the printing process, such as the extraction of spot color information that does not require high speed. Not used for Therefore, there is no need to wait for the execution of the filter function due to the information extraction function that is not directly connected to the print processing.

<変形例2>
特色情報抽出やフォント情報抽出、サムネイル作成等、印刷処理に直結しない情報抽出機能の利用は、印刷のための解析処理(フィルタ機能)の利用よりも発生頻度が低い。したがって、上記変形例1の装置構成において、フィルタ機能用の解析部120Aの情報抽出部130A群は全て使用中であるが、印刷処理に直結しない情報抽出機能用の解析部120Bの情報抽出部130Bの中には待機中のものがある、というケースはよく起こる。
<Modification 2>
The use of information extraction functions that are not directly related to print processing, such as spot color information extraction, font information extraction, and thumbnail creation, occurs less frequently than the use of analysis processing for printing (filter function). Therefore, in the apparatus configuration of the first modification, all the information extraction units 130A of the analysis unit 120A for the filter function are in use, but the information extraction unit 130B of the analysis unit 120B for the information extraction function that is not directly connected to the printing process. It is common for some to be waiting.

そこで、この変形例2では、情報抽出部130A群は全て使用中の場合に、情報抽出部130Bに待機中のものに、フィルタ機能の解析命令を割り当てる制御を行う。   Therefore, in the second modification, when all of the information extraction units 130A are in use, control is performed to assign an analysis instruction of the filter function to the information extraction unit 130B that is waiting.

一つの例では、図10に示した印刷データ処理部100の構成において、チャネル振分け部160は、フィルタ機能のジョブ解析命令が到来した際に、解析部120A内の情報抽出部130Aがすべて使用中(すなわち割り当てられた解析命令を実行中)かどうかを調べる。そして、解析部120A内の情報抽出部130Aに使用中でないものがあるに場合は、そのジョブ解析命令を解析部120Aに振り分ける。一方、解析部120A内の情報抽出部130Aがすべて使用中の場合には、解析部120B内の情報抽出部130Bの使用状況を調べ、例えば1つでも使用中でないもの(すなわち待機中のもの)があれば、そのジョブ解析命令を解析部120Bに振り分ける。そのジョブ解析命令を受け取った解析部120Bは、そのジョブ解析命令(又はこれから生成したページ単位の解析命令)を、待機中の情報抽出部130Bに割り当て、実行させる。なお、解析部120Aの情報抽出部130Aも解析部120Bの情報抽出部130Bも全て使用中の場合、チャネル振分け部160は、入力されたフィルタ機能のジョブ解析命令を、本来の振分け先である解析部120Aに振り分ける。   In one example, in the configuration of the print data processing unit 100 shown in FIG. 10, when the job analysis command of the filter function arrives, the channel allocation unit 160 determines that all the information extraction units 130A in the analysis unit 120A are in use. (Ie, executing the assigned analysis instruction). If any of the information extraction units 130A in the analysis unit 120A is not being used, the job analysis instruction is distributed to the analysis unit 120A. On the other hand, if all the information extraction units 130A in the analysis unit 120A are in use, the usage status of the information extraction unit 130B in the analysis unit 120B is checked. If there is, the job analysis command is distributed to the analysis unit 120B. Upon receiving the job analysis instruction, the analysis unit 120B allocates the job analysis instruction (or a page-based analysis instruction generated from this) to the waiting information extraction unit 130B and causes the information extraction unit 130B to execute the instruction. When both the information extraction unit 130A of the analysis unit 120A and the information extraction unit 130B of the analysis unit 120B are in use, the channel allocation unit 160 converts the input job analysis instruction of the filter function into the analysis destination that is the original allocation destination. Distribute to section 120A.

また、別の例では、チャネル振分け部160ではなく、解析部120Aが、待機中の情報抽出部130Bを利用するための制御を行う。すなわち、解析部120Aは、自分の有する情報抽出部130Aが全て使用中である状況で、未処理のジョブ解析命令、又は未処理のページ単位の解析命令がある場合に、解析部120Bの有する情報抽出部130Bの中に待機中のものがあるかどうかを調べる。そして、待機中の情報抽出部130Bがあれば、その待機中の情報抽出部130Bに、その未処理のジョブ解析命令、又は未処理のページ単位の解析命令を割り当てて実行させる。   In another example, not the channel distribution unit 160 but the analysis unit 120A performs control for using the standby information extraction unit 130B. That is, the analysis unit 120A, when there is an unprocessed job analysis instruction or an unprocessed page-based analysis instruction in a situation where all the information extraction units 130A owned by the analysis unit 120A are in use, stores the information held by the analysis unit 120B. It is checked whether any of the extraction units 130B is on standby. If there is the waiting information extraction unit 130B, the unprocessed job analysis command or the unprocessed page unit analysis command is assigned to the waiting information extraction unit 130B and executed.

この変形例では、フィルタ機能の解析命令(ジョブ単位、又はページ単位)を解析部120Bの情報抽出部130Bに割り当て可能と判断する条件には、いくつかの例が考えられる。例えば、それら情報抽出部130Bの1つでも空いていれば、その空いている情報抽出部130Bにフィルタ機能の解析命令を割り当て可能と判断してもよい。また別の例として、解析部120B内の全ての情報抽出部130Bが待機中である場合にのみ、それら情報抽出部130Bにフィルタ機能の解析命令を割り当て可能と判断してもよい。また、それら両者の中間的な例として、解析部120B内の情報抽出部130Bのうちの所定割合以上が待機中である場合に、待機中の情報抽出部130Bにフィルタ機能の解析命令を割り当て可能と判断してもよい。また、どの判断条件を用いるかや、最後に例示した条件を用いる場合における「所定割合」の値を、ユーザが設定できるようにしてもよい。   In this modified example, there are several examples of conditions for determining that an analysis command (job unit or page unit) of the filter function can be assigned to the information extraction unit 130B of the analysis unit 120B. For example, if at least one of the information extraction units 130B is empty, it may be determined that an analysis instruction of the filter function can be assigned to the empty information extraction unit 130B. As another example, only when all the information extraction units 130B in the analysis unit 120B are on standby, it may be determined that an analysis instruction of the filter function can be assigned to the information extraction units 130B. As an intermediate example between the two, when a predetermined ratio or more of the information extraction units 130B in the analysis unit 120B is on standby, an analysis instruction of the filter function can be assigned to the information extraction unit 130B on standby. May be determined. Further, the user may be able to set which judgment condition is used and the value of the “predetermined ratio” when the last exemplified condition is used.

なお、解析部120B内の情報抽出部130Bにフィルタ機能の解析命令を割り当てるのは、あくまで一時的な処置である。フィルタ機能の解析命令が割り当てられた情報抽出部130Bは、その解析命令の実行が完了すると、本来の印刷処理に直結しない情報抽出機能のための用途に戻る。   Note that assigning the analysis command of the filter function to the information extraction unit 130B in the analysis unit 120B is only a temporary measure. When the execution of the analysis instruction is completed, the information extraction unit 130B to which the analysis instruction of the filter function is assigned returns to the use for the information extraction function that is not directly connected to the original print processing.

また、解析部120Bは、配下の情報抽出部130Bが全て使用中であり、その中の少なくとも1つがフィルタ機能の解析命令を実行中であるときに、解析部120Bの本来の対象機能である特色情報抽出機能等の解析命令が入力された場合、以下の制御を行う。すなわち、フィルタ機能の解析命令を実行中の情報抽出部130Bがその解析命令の実行を完了し次第、解析部120Bは、その情報抽出部130Bに対して、本来の対象機能の解析命令を割り当てる。ここで、解析部120Bは情報抽出部130Bに対してフィルタ機能の解析命令をジョブ単位で割り当てていた場合は、そのジョブ単位の解析命令の実行が終わるのを待たず、現在実行中のページ単位の解析命令の実行が完了し次第、その情報抽出部130Bへのそのジョブ単位の解析命令の割り当てを解除した上で、本来の対象機能についての解析命令をその情報抽出部130に割り当てるようにしてもよい。また解析部120Bは、このとき割り当てを解除したフィルタ機能のジョブ単位の解析命令を、チャネル振分け部160に戻すか、又は解析部120Bに渡してもよい。この場合、チャネル振分け部160は、解析部120から戻されたフィルタ機能のジョブ解析命令を、解析部120Aに渡す(解析部120Bの情報抽出部130Bは、全て使用中であるはずなので)。   Also, the analyzing unit 120B is a feature that is an original target function of the analyzing unit 120B when all of the subordinate information extracting units 130B are in use and at least one of them is executing a filter function analyzing instruction. When an analysis command such as an information extraction function is input, the following control is performed. That is, as soon as the information extraction unit 130B that is executing the analysis instruction of the filter function completes the execution of the analysis instruction, the analysis unit 120B allocates the analysis instruction of the original target function to the information extraction unit 130B. Here, when the analysis unit 120B assigns the analysis instruction of the filter function to the information extraction unit 130B in units of jobs, the analysis unit 120B does not wait for the execution of the analysis instruction in units of jobs to end, and does not wait for the execution of the analysis instruction in units of pages. As soon as the execution of the analysis command is completed, the assignment of the analysis command for the job unit to the information extraction unit 130B is released, and the analysis command for the original target function is assigned to the information extraction unit 130. Is also good. In addition, the analysis unit 120B may return the job unit analysis command of the filter function whose assignment has been canceled at this time to the channel distribution unit 160 or may pass it to the analysis unit 120B. In this case, the channel distribution unit 160 passes the job analysis command of the filter function returned from the analysis unit 120 to the analysis unit 120A (because all the information extraction units 130B of the analysis unit 120B are in use).

<変形例3>
上記変形例2の1つの例では、解析部120Aの情報抽出部130Aも解析部120Bの情報抽出部130Bも全て使用中の状況で、フィルタ機能のジョブ解析命令が入力された場合、チャネル振分け部160はそのジョブ解析命令を、本来の振分け先である解析部120Aに振り分ける。この場合、そのジョブ解析命令は、そのとき解析部120A内に保持されている、処理優先順位が自分以上のジョブ解析命令の実行が完了するまでは実行されない。したがって、いったん解析部120Aに振り分けられたジョブ解析命令が、解析部120A内で長く待たされる状況が起こり得る。この長い待ち時間の間に、解析部120B内の情報抽出部130Bのうちの1以上が待機状態となる蓋然性も決して少なくない。そこで、この変形例3では、上記変形例2の構成において、解析部120A内で実行されるのを待っている解析命令を、解析部120B内の待機中の情報抽出部130Bに割り当てる機構を提供する。
<Modification 3>
In an example of the second modification, when both the information extraction unit 130A of the analysis unit 120A and the information extraction unit 130B of the analysis unit 120B are in use and a job analysis command of the filter function is input, the channel allocation unit 160 distributes the job analysis command to the analysis unit 120A that is the original distribution destination. In this case, the job analysis command is not executed until the execution of the job analysis command having the processing priority higher than the job analysis command held in the analysis unit 120A at that time is completed. Therefore, a situation may occur in which the job analysis command once distributed to the analysis unit 120A is kept in the analysis unit 120A for a long time. During this long waiting time, it is not unlikely that one or more of the information extraction units 130B in the analysis unit 120B will be in a standby state. Thus, in the third modification, in the configuration of the second modification, a mechanism is provided in which an analysis instruction waiting to be executed in the analysis unit 120A is assigned to the waiting information extraction unit 130B in the analysis unit 120B. I do.

すなわち、この変形例では、解析部120Aは、ジョブ解析命令(フィルタ機能のもの)が入力されると、そのジョブ解析命令の待ち時間を計測するタイマをスタートさせる。そして、そのタイマが所定時間(例えばシステムに設定された時間)の経過をカウントした時点で、そのタイマに対応付けられたジョブ解析命令の実行が開始されていない場合には、解析部120Aは、そのジョブ解析命令をチャネル振分け部160に差し戻す。チャネル振分け部160は、解析部120Aからジョブ解析命令が差し戻されてきた場合、解析部120B内の情報抽出部130Bの中に待機中のものがあるかどうか調べ、待機中のものがあれば、そのジョブ解析命令を解析部120Bに振り分ける。解析部120Bは、振り分けられたそのジョブ解析命令(又はこれから生成したページ単位の解析命令)を待機中の情報抽出部130Bに実行させる。   That is, in this modification, when a job analysis command (with a filter function) is input, the analysis unit 120A starts a timer that measures the waiting time of the job analysis command. Then, when the timer counts the elapse of a predetermined time (for example, the time set in the system), if the execution of the job analysis instruction associated with the timer has not been started, the analysis unit 120A The job analysis command is sent back to the channel distribution unit 160. When a job analysis command is sent back from the analysis unit 120A, the channel distribution unit 160 checks whether there is a standby one in the information extraction unit 130B in the analysis unit 120B. And distributes the job analysis instruction to the analysis unit 120B. The analysis unit 120B causes the information extraction unit 130B on standby to execute the assigned job analysis command (or a page-based analysis command generated from now).

なお、解析部120Aが、自身に振り分けられたジョブ解析命令の待ち時間を計測する代わりに、チャネル振分け部160が、解析部120Aに振り分けたジョブ解析命令の待ち時間を計測してもよい。この場合、チャネル振分け部160は、解析部120Aに対してポーリング等を行うことにより、解析部120Aに振り分けた各ジョブ解析命令の実行が開始されたか否かを把握し、開始されていないジョブ解析命令についてはタイマの計測時間を進める。そして、タイマがタイムアウト(ジョブ解析命令が実行開始されないまま所定時間が経過)し、かつその時点で解析部120B内の情報抽出部130Bの中に待機中のものがあれば、解析部120Aに振り分けた、そのタイマに対応するジョブ解析命令をキャンセルした上で、そのジョブ解析命令を解析部120Bに振り分けし直す。   Note that, instead of the analysis unit 120A measuring the waiting time of the job analysis command assigned to itself, the channel assignment unit 160 may measure the waiting time of the job analysis command assigned to the analysis unit 120A. In this case, the channel distribution unit 160 performs polling or the like on the analysis unit 120A to determine whether or not execution of each job analysis instruction distributed to the analysis unit 120A has been started. For the instruction, the measurement time of the timer is advanced. If the timer times out (a predetermined time elapses without the execution of the job analysis command) and there is any information extraction unit 130B in the analysis unit 120B at that time, the information is distributed to the analysis unit 120A. After canceling the job analysis command corresponding to the timer, the job analysis command is reassigned to the analysis unit 120B.

以上に例示した印刷データ処理装置は、例えば、コンピュータに、それら各機能モジュールの機能を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。また、画像処理装置のうちのハードウエア回路での処理に適した部分は、ハードウエア回路として実装してもよい。   The print data processing apparatus exemplified above may be realized by, for example, causing a computer to execute a program representing the function of each of these functional modules. Here, for example, the computer includes, as hardware, a processor such as a CPU, a memory (primary storage) such as a random access memory (RAM) and a read only memory (ROM), an HDD controller for controlling an HDD (hard disk drive), An I / O (input / output) interface, a network interface for controlling connection to a network such as a local area network, and the like have a circuit configuration connected via a bus, for example. In addition, a portable nonvolatile recording of various standards such as a disk drive and a flash memory for reading and / or writing on a portable disk recording medium such as a CD or a DVD via the I / O interface to the bus, for example. A memory reader / writer for reading and / or writing on a medium may be connected. A program in which the processing content of each functional module exemplified above is described is stored in a fixed storage device such as a hard disk drive via a recording medium such as a CD or a DVD, or via a communication means such as a network, and is stored in a computer. Installed. The program stored in the fixed storage device is read into the RAM and executed by the processor such as the CPU, thereby realizing the functional module group exemplified above. Further, a portion of the image processing apparatus suitable for processing by a hardware circuit may be implemented as a hardware circuit.

10 印刷データ受付部、20 RIP機能部、30 UI部、100 印刷データ処理部、110 ジョブスプール、120,120A,120B 解析部、130,130A,130B 情報抽出部、140 ページ情報記憶部、150 ページ属性生成部、160 チャネル振分け部。


10 print data receiving unit, 20 RIP function unit, 30 UI unit, 100 print data processing unit, 110 job spool, 120, 120A, 120B analysis unit, 130, 130A, 130B information extraction unit, 140 page information storage unit, 150 pages Attribute generation unit, 160 channel distribution unit.


Claims (5)

入力された印刷データについての解析命令を生成する生成手段と、
複数の印刷データの各々について前記生成手段が生成した前記解析命令群を保持する保持手段と、
前記解析命令に従って、当該解析命令に対応する前記印刷データから情報を抽出する複数の抽出手段と、
前記複数の抽出手段の中に、前記複数の印刷データのいずれについての前記解析命令も実行していない抽出手段が存在する場合、当該抽出手段に対して、前記複数の印刷データのうち優先度が高いものから優先的に割り当てて当該印刷データの前記解析命令を実行させる制御を行う制御手段と、
を含む印刷データ処理装置。
Generating means for generating an analysis instruction for the input print data;
Holding means for holding the analysis instruction group generated by the generation means for each of a plurality of print data,
According to the analysis command, a plurality of extraction means for extracting information from the print data corresponding to the analysis command,
When there is an extraction unit that has not executed the analysis command for any of the plurality of print data among the plurality of extraction units, the priority among the plurality of print data is given to the extraction unit. Control means for performing control to execute the analysis command of the print data by assigning priority from the highest one,
And a print data processing device.
ユーザから前記複数の印刷データのいずれかについて情報抽出命令を受け付ける手段、を更に含み、
前記複数の抽出手段には、前記解析命令のために確保された1以上の解析用抽出手段と、前記ユーザからの前記情報抽出命令のために用いられる1以上のユーザ向け抽出手段と、が含まれ、
前記制御手段は、前記解析用抽出手段には、前記ユーザからの前記情報抽出命令は割り当てない、請求項1に記載の印刷データ処理装置。
Means for receiving an information extraction command from the user for any of the plurality of print data,
The plurality of extraction units include one or more analysis extraction units secured for the analysis instruction, and one or more user extraction units used for the information extraction instruction from the user. And
The print data processing apparatus according to claim 1, wherein the control unit does not assign the information extraction command from the user to the analysis extraction unit.
前記1以上の解析用抽出手段のすべてが解析命令を処理中であるときに未処理の解析命令が存在する場合、前記1以上のユーザ向け抽出手段の中に待機中のものがあれば、その待機中の前記ユーザ向け抽出手段に前記未処理の解析命令を処理させる制御を行う手段、を更に備える請求項2に記載の印刷データ処理装置。   If there is an unprocessed analysis instruction while all of the one or more analysis extraction means are processing the analysis instruction, if any of the one or more user extraction means is in a standby state, The print data processing apparatus according to claim 2, further comprising: a unit that controls the user-extracting unit in a standby state to process the unprocessed analysis instruction. 前記1以上の解析用抽出手段に対して解析命令を割り当てる第1割り当て手段と、
前記1以上のユーザ向け抽出手段に情報抽出命令又は解析命令を割り当てる第2割り当て手段と、
外部から入力された命令が解析命令であればその命令を前記第1割り当て手段に振り分け、情報抽出命令であればその命令を前記第2割り当て手段に振り分ける振分け手段と、
を含み、前記振分け手段は、前記第1割り当て手段に振り分けた命令が、前記1以上の解析用抽出手段により処理されないまま所定時間が経過した場合、前記1以上のユーザ向け抽出手段の中に待機中のものがあれば、その命令を前記第2割り当て手段に振分け直す、ことを特徴とする請求項2に記載の印刷データ処理装置。
First allocating means for allocating an analysis instruction to the one or more analysis extracting means;
A second assigning unit that assigns an information extraction instruction or an analysis instruction to the one or more user-oriented extracting units;
A distributing unit that distributes the instruction to the first allocating unit if the externally input instruction is an analysis instruction, and distributes the instruction to the second allocating unit if the instruction is an information extraction instruction;
And if the command allocated to the first allocating unit has not been processed by the one or more extracting units for a predetermined time, the distribution unit waits in the one or more user extracting units. 3. The print data processing apparatus according to claim 2, wherein if there is an inside command, the command is reassigned to the second assigning unit.
コンピュータを、
入力された印刷データについての解析命令を生成する生成手段、
複数の印刷データの各々について前記生成手段が生成した前記解析命令群を保持する保持手段、
前記解析命令に従って、当該解析命令に対応する前記印刷データから情報を抽出する複数の抽出手段、
前記複数の抽出手段の中に、前記複数の印刷データのいずれについての前記解析命令も実行していない抽出手段が存在する場合、当該抽出手段に対して、前記複数の印刷データのうち優先度が高いものから優先的に割り当てて当該印刷データの前記解析命令を実行させる制御を行う制御手段、
として機能させるためのプログラム。

Computer
Generating means for generating an analysis instruction for the input print data,
Holding means for holding the analysis instruction group generated by the generation means for each of a plurality of print data,
A plurality of extracting means for extracting information from the print data corresponding to the analysis instruction according to the analysis instruction;
When there is an extraction unit that has not executed the analysis command for any of the plurality of print data among the plurality of extraction units, the priority among the plurality of print data is given to the extraction unit. Control means for performing control to execute the analysis command of the print data by preferentially allocating the print data,
Program to function as

JP2018150106A 2018-08-09 2018-08-09 Print data processing device and program Active JP7124544B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018150106A JP7124544B2 (en) 2018-08-09 2018-08-09 Print data processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018150106A JP7124544B2 (en) 2018-08-09 2018-08-09 Print data processing device and program

Publications (2)

Publication Number Publication Date
JP2020027314A true JP2020027314A (en) 2020-02-20
JP7124544B2 JP7124544B2 (en) 2022-08-24

Family

ID=69620113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018150106A Active JP7124544B2 (en) 2018-08-09 2018-08-09 Print data processing device and program

Country Status (1)

Country Link
JP (1) JP7124544B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09188039A (en) * 1996-01-09 1997-07-22 Canon Inc Image forming device and control method therefor
JP2008143067A (en) * 2006-12-11 2008-06-26 Canon Inc Printing control device, its control method, and device driver
JP2009137150A (en) * 2007-12-06 2009-06-25 Canon Inc Image formation device, data processing method, memory medium and program
JP2012091422A (en) * 2010-10-27 2012-05-17 Ricoh Co Ltd Image forming apparatus and control method thereof
JP2013028012A (en) * 2011-07-27 2013-02-07 Canon Inc Printing device, information processing device, printing system, printing control method, and program
JP2017047666A (en) * 2015-09-04 2017-03-09 富士ゼロックス株式会社 Image forming apparatus and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09188039A (en) * 1996-01-09 1997-07-22 Canon Inc Image forming device and control method therefor
JP2008143067A (en) * 2006-12-11 2008-06-26 Canon Inc Printing control device, its control method, and device driver
JP2009137150A (en) * 2007-12-06 2009-06-25 Canon Inc Image formation device, data processing method, memory medium and program
JP2012091422A (en) * 2010-10-27 2012-05-17 Ricoh Co Ltd Image forming apparatus and control method thereof
JP2013028012A (en) * 2011-07-27 2013-02-07 Canon Inc Printing device, information processing device, printing system, printing control method, and program
JP2017047666A (en) * 2015-09-04 2017-03-09 富士ゼロックス株式会社 Image forming apparatus and program

Also Published As

Publication number Publication date
JP7124544B2 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
US8630013B2 (en) Printing control apparatus and method for continuously printing a plurality of jobs
JP4738948B2 (en) Information processing apparatus, image processing method, and computer program
JP5594470B2 (en) Printing control apparatus, printing system, and program
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP4315191B2 (en) Printing control apparatus, printing control method, printing control program, printing apparatus, printing method, printing program, and recording medium
US8755060B2 (en) Print control apparatus, image forming system, and non-transitory computer readable medium
JP5482528B2 (en) Printed document conversion apparatus and program
JP2012030575A (en) Printing apparatus, control method thereof, and program
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
US8368907B2 (en) Image forming apparatus and image forming system
US8941852B2 (en) Print data processing system, print data processing method, and non-transitory computer readable medium
JP7124544B2 (en) Print data processing device and program
US10209931B2 (en) Image processing apparatus and image forming apparatus
JP5799968B2 (en) Printing system
JP5740913B2 (en) Image forming apparatus and control method thereof
JP6012431B2 (en) Printing apparatus, printing apparatus control method, and program
JP5750018B2 (en) Image processing system, printing system, control device, image processing method and program
US10102458B2 (en) Image processing apparatus for generating intermediate data and processing the intermediate data, method of processing intermediate data generated from print data
JP6128104B2 (en) Image processing apparatus, control method thereof, and program
US9001339B2 (en) Printing apparatus, printing system, printing control method, and storage medium for reducing print time and memory by sending control data via network
JP2012008838A (en) Print document conversion device and program
JP2009237717A (en) Print control device, print control method, and program
JP2013052568A (en) Image forming apparatus, control method and control program
JP2023048503A (en) printer
JP6078954B2 (en) Image processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220624

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150