JP2020027314A - Print data processing unit and program - Google Patents
Print data processing unit and program Download PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Record Information Processing For Printing (AREA)
- Facsimiles In General (AREA)
Abstract
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
特許文献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.
本発明は、印刷データの解析処理が完了しなくても、別の印刷データの解析処理を実行できる装置を提供する。 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
請求項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
請求項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.
図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
印刷データ受付部10は、印刷処理の対象となる印刷データの入力を受け付ける。印刷データは、例えばリモートのコンピュータからネットワーク経由で、あるいは可搬型の不揮発性記録媒体に保存された状態で、印刷データ受付部10に入力される。印刷データは、印刷対象の各ページの画像を、PostScript(登録商標)やPDF(Portable Document Format)等のPDL(ページ記述言語)で記述したデータである。以下では、1つの印刷データのことをジョブ(JOB)とも呼ぶ。印刷データ受付部10が受け付けた印刷データは、印刷データ処理部100に渡される。
The print
RIP機能部20は、印刷データに対してRIP(Raster Image Processor)処理を行うことで、ラスター形式等の形式の印刷画像データを生成する。生成された印刷画像データは、図示しない印刷装置に供給され、印刷装置はその印刷画像データをもとに印刷エンジンを制御することで、印刷データが示す画像を用紙等の記録媒体上に印刷する。
The
UI(ユーザインタフェース)部30は、印刷データを処理する際の印刷データ処理装置や印刷装置の設定等、印刷データの処理に関する属性情報の入力をユーザから受け付ける。個々で入力される属性情報には、例えば、カラー設定、用紙設定、レイアウト設定(描画位置、NUp、フォームを重ねるなどの設定)、特色抽出/フォント抽出などの機能指定がある。
A UI (user interface)
印刷データ処理部100は、入力された印刷データを解析し、その印刷データ(ジョブ)内のページ毎の属性情報(「ページ属性情報」と呼ぶ)を生成する。生成したページ属性情報は、RIP機能部20に送られる。RIP機能部20は、それら各ページのページ属性情報に基づき、公知のアルゴリズムで複数ページの並列的なRIP処理を制御する。
The print
印刷データ処理部100は、メイン処理を行うメインルーチンの他に、ジョブスプール110、解析部120、複数の情報抽出部130、ページ情報記憶部140、及びページ属性生成部150を含む。
The print
ジョブスプール110は、解析部120での解析処理を待っている印刷データ(ジョブ)(図1では「JOB1」等と表記)を記憶している。
The
印刷データ処理部100のメインルーチンは、印刷データ(ジョブ)が入力されると、その印刷データに対する解析命令を公知の手法で作成する。この解析命令は、ジョブ単位での解析を指示する命令である。
When print data (job) is input, the main routine of the print
解析部120は、印刷データの解析のための制御を行う。より詳しくは、解析部120は、対象となる印刷データ(ジョブ)に対するジョブ単位の解析命令を印刷データ処理部100のメインルーチンから取得し、そのジョブ単位の解析命令(図1では「Job1」等と表記)から、そのジョブに含まれるページ単位の解析命令を作成する。また解析部120は、複数の情報抽出部130のそれぞれに対してジョブ単位またはページ単位で解析処理を割り当て、ページ単位の解析命令を、割当先の情報抽出部130に対して発行する制御を行う。
The
情報抽出部130は、解析部120から送られてきたページ単位の解析命令を、ジョブスプール110内の、当該解析命令に対応するジョブのページのデータに対して実行することで、当該ページの解析結果(「ページ情報」と呼ぶ)を生成する。ページ情報に含まれる項目の例には、例えばページサイズ、回転、拡大縮小、カラー、オーバープリント、トラッピング、ハードウエア制御情報等がある。なお、これら項目はあくまで例示的なものにすぎず、ページ情報はそれら例示的な項目の全てを含んでいる必要はないし、それら例示的な項目以外の項目を含んでいてもよい。情報抽出部130は、抽出したページ情報を解析部120に返し、解析部120は、受け取ったページ情報をページ情報記憶部140に蓄積する。
The
ページ属性生成部150は、ページ情報記憶部140に記憶されたページ情報とUI部30から入力された属性情報とを組み合わせることで、RIP機能部20でのRIP制御のために用いられるページ属性情報を生成する。ページ情報と属性情報の組合せは、それら両者をマージするなどの方法で行えばよい。
The page
図2に、印刷データ処理部100のメインルーチンが生成するジョブ単位の解析命令の例を模式的に示す。
FIG. 2 schematically illustrates an example of a job-based analysis command generated by the main routine of the print
解析命令には、機能タイプ、ジョブ番号、ジョブファイル格納ディレクトリ、処理優先順位、フィルタ開始ページ、フィルタ終了ページ、フィルタ情報出力ディレクトリ、特色情報抽出フラグ、特色情報抽出ディレクトリ、プロファイル出力フラグ、プロファイル出力ディレクトリ等の項目が含まれる。 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
処理優先順位は、対象ジョブに対して付与された、解析処理の優先順位を示す情報である。処理優先順位が若い(値が小さい)ジョブほど、解析部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
フィルタ開始ページは、対象ジョブのうち当該解析命令に係るフィルタ処理の対象とする範囲の最初のページの番号であり、フィルタ終了ページは、その範囲の最後のページの番号である。図示した解析命令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
フィルタ情報出力ディレクトリは、対象ジョブに対するフィルタ処理の結果の出力先のディレクトリを示すパス情報であり、例えばページ情報記憶部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
特色情報抽出フラグは、当該解析命令の実行において、対象ジョブから特色情報を抽出するか否かを示すフラグである。このフラグの値が「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
図示のように、ページ単位の解析命令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
図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
印刷データ処理部100は、印刷データ受付部10が新たな印刷データを受信したかどうかを判定する(S1000)。この判定の結果がYesの場合、その印刷データを一意なジョブ番号と対応付けてジョブスプール110に蓄積すると共に、その印刷データについてのジョブ単位の解析命令(ジョブ解析命令と呼ぶ)を生成する(S1002)。そして、ジョブ解析命令を解析部120に送り(S1004)、S1000に戻る。
The print
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
次に図5を参照して、解析部120の処理手順を例示する。この手順では、解析部120は、印刷データ処理部100のメインルーチンからのジョブ解析命令の受信を確認し、受信した場合は内部のその解析命令を保持する(S1200)。次に、内部に保持しているジョブ解析命令があるか否かを判定し(S1202)、ない場合はS1200に戻る。内部に保持しているジョブ解析命令がある場合は、複数の情報抽出部130の中に待機中のものがあるかどうかを判定する(S1204)。この判定の結果がNoの場合は、S1200に戻る。
Next, a processing procedure of the
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
なお、解析部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
図6の例では、解析部120は、一つのジョブを一つの情報抽出部130に割り当てたが、これは一例に過ぎない。一つのジョブを複数の情報抽出部130に割り当て、それら複数の情報抽出部130でそのジョブを並列的に解析してもよい。
In the example of FIG. 6, the
また図6の例では、ジョブごとに、そのジョブを担当する情報抽出部130を1以上確保したが、これは一例に過ぎない。ジョブごとに情報抽出部130を確保せずに、情報抽出部130がページ単位の解析命令の処理を終えるごとに、解析部120が、その情報抽出部130に次にどのジョブのどのページの解析命令を割り当てるかを決定してもよい。この場合、その情報抽出部130には、いま処理を終えた解析命令に係るページが属するジョブとは異なるジョブの未処理ページの解析命令が割り当てられる場合もあり得る。この例では、解析部120は、ページ単位の解析命令の処理を終えた情報抽出部130に対して、その時点で解析部120が内部に保持しているジョブ単位の解析命令のうち、処理優先順位が最も高い(すなわち優先度が最高の)ジョブの、未処理のページ単位の解析命令を割り当てる。このとき、最高順位のジョブの中に既にそのジョブの解析が開始されている(すなわち先頭ページの解析命令がいずれかの情報抽出部130に送信済み)ものがあれば、そのジョブの残りのページの解析命令が優先してその情報抽出部130に割り当てられる。
Further, in the example of FIG. 6, one or more
次に、図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
本実施形態の印刷データ処理部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
以上に説明したように、本実施形態では、解析部120が、印刷データ処理部100のメインルーチンから受け取ったジョブ単位の解析命令からページ単位の解析命令を生成すると共に、複数の情報抽出部130によるそれらページ単位の解析命令の並列処理を制御する。このように、本実施形態では、解析処理の並列処理を、解析部120で閉じた形にパッケージングしている。上流側であるメインルーチンは、ジョブ単位の解析命令を解析部120に渡すだけでよい。
As described above, in the present embodiment, the
また本実施形態では、解析部120は、印刷データの総ページ数を確認することなく、ページ単位の解析命令を1ページ目から順に発行するので、解析部120が印刷データの総ページ数を確認し、自ら印刷データの最終ページまでの解析が完了したか判定する方式よりも解析に要する時間のロスが少ない。解析部120が印刷データの総ページ数を確認する方式では、解析部120が総ページ数を確認するために印刷データを調べる時間が必要な分だけ、処理時間のロスが生じる。なお、解析に要する時間のロスはあるが、解析部120が印刷データの総ページ数を確認する方式を用いてもよい。
Further, in the present embodiment, the
また、仮に情報抽出部130が1つしかない構成では、その情報抽出部130で実行中の解析命令が終わるまでは、その緊急性の高い解析命令を実行できず、仮にその唯一の情報抽出部130が非常に大きいサイズの印刷データを解析している場合には、緊急性の高い解析命令は長時間待たされることになる。これに対して本実施形態では、情報抽出部130が複数あるので、緊急性の高い解析命令が待たされる時間は、統計的に考えて、情報抽出部130が1つしかない構成よりも短くなる。それら複数の情報抽出部130に割り当てられる印刷データの量は統計的に見てばらつきがあるはずなので、そのうち最も量が少ない印刷データが割り当てられた情報抽出部130はその処理を速く終え、その情報抽出部130に緊急性の高い解析命令を割り当てればよい。
Further, in a configuration in which there is only one
また、本実施形態は、ジョブ解析命令をページ単位の解析命令に分け、ページ単位の解析命令を情報抽出部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
<変形例1>
上記実施形態では、印刷データを印刷する際に必要なページ属性情報を得るために印刷データを解析する機能(フィルタ機能)に着目した。しかし、印刷データ処理装置は、印刷データの印刷に直結しない目的で、印刷データを解析して情報抽出を行う機能を備える場合がある。例えば、印刷データから特色情報の抽出やフォント情報の抽出、各ページのサムネイル画像の作成(これも印刷データからの情報抽出の一例)等が、印刷に直結しない情報抽出機能の例である。ユーザは、これら印刷に直結しない情報抽出機能を利用する場合、例えば対象とする印刷データと情報抽出機能の種類(特色情報抽出、フォント情報抽出等)とをUI部30から指定し、その機能の実行を指示する。この指示に応じ、UI部30から印刷データ処理部100に対して、その情報抽出機能を実行するというジョブが発行される。印刷データ処理部100は、そのジョブを、印刷のためのフィルタ機能のジョブと同様に処理する。
<
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
印刷の制御に必要なページ属性情報を得るためのフィルタ機能は、高速な印刷処理に間に合わせる必要があるため、高速な処理が求められる。これに対し、印刷に直結しない情報抽出機能は、ユーザからの指示に応じた処理なので、フィルタ機能ほどの高速性は求められない。 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
この変形例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
図10に、この変形例における印刷データ処理部100の機能構成を示す。図10において、図1に示した上記実施形態の装置の要素と同様の要素には同一符号を付し、重複する説明は省略する。
FIG. 10 shows a functional configuration of the print
図10に示すこの変形例の印刷データ処理部100は、2つの解析部120A及び120Bと、チャネル振分け部160とを備える。
The print
2つの解析部120A及び120Bは、それぞれ自分専用の情報抽出部130A、130Bを複数有している。解析部120A及び120Bのそれぞれの機能・処理動作は、管理し使用する情報抽出部130A又は130Bが、それぞれ自分の有するものに限られる点を除けば、上記実施形態の解析部120と同じである。例えば解析部120Aは、上流側からジョブ解析命令が入力された場合、その解析命令から生成したページ単位の解析命令を、自らが有する複数の情報抽出部130Aのいずれかに割り当てる。解析部120Aは、フィルタ機能の解析処理を担当する。これに対して解析部120Bは、印刷に直結しない情報抽出機能についての解析処理を担当する。
Each of the two
情報抽出部130A及び130Bは、ともに印刷データのPDL記述を解析するものであり、まったく同機能のものであってよい。情報抽出部130A及び130Bは、解析命令に含まれる抽出対象情報を規定するパラメータの値を変えることで、フィルタ機能用、特色情報抽出機能用、フォント情報抽出機能用、等として振る舞う。
The
チャネル振分け部160は、印刷データ処理部100のメインルーチンが生成したジョブ解析命令を、その解析命令が含むチャネル情報に応じて、解析部120A又は120Bに振り分ける。すなわちチャネル振分け部160は、ジョブ解析命令のチャネル情報の値が1であればそのジョブ解析命令を解析部120Aに入力し、値が10であればそのジョブ解析命令を解析部120Bに入力する。
The
解析部120Aは、入力されたジョブ解析命令(フィルタ機能)をページ単位の解析命令群に変換し、自分の有する情報抽出部130Aに割り当てて処理させる。このとき解析部120Aは、自分が受け取ったジョブ解析命令群の間で、処理優先順位に応じてどのジョブ解析命令についてのページ単位の解析命令を、空いた情報抽出部130Aに割り当てるかを決定する。
The
解析部120Bは、入力されたジョブ解析命令(特色抽出機能、フォント情報抽出機能等)をページ単位の解析命令群に変換し、自分の有する情報抽出部130Bに割り当てて処理させる。このとき解析部120Bは、自分が受け取ったジョブ解析命令群の間で、処理優先順位に応じてどのジョブ解析命令についてのページ単位の解析命令を、空いた情報抽出部130Bに割り当てるかを決定する。
The
このように、この変形例では、印刷のためのフィルタ機能のために専用の解析部120A及び情報抽出部130A群は、高速性が求められない特色情報抽出等、印刷処理に直結しない情報抽出機能には使用されない。このため、印刷処理に直結しない情報抽出機能のために、フィルタ機能の実行が待たされることがない。
As described above, in this modified example, the
<変形例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
そこで、この変形例2では、情報抽出部130A群は全て使用中の場合に、情報抽出部130Bに待機中のものに、フィルタ機能の解析命令を割り当てる制御を行う。
Therefore, in the second modification, when all of the
一つの例では、図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
また、別の例では、チャネル振分け部160ではなく、解析部120Aが、待機中の情報抽出部130Bを利用するための制御を行う。すなわち、解析部120Aは、自分の有する情報抽出部130Aが全て使用中である状況で、未処理のジョブ解析命令、又は未処理のページ単位の解析命令がある場合に、解析部120Bの有する情報抽出部130Bの中に待機中のものがあるかどうかを調べる。そして、待機中の情報抽出部130Bがあれば、その待機中の情報抽出部130Bに、その未処理のジョブ解析命令、又は未処理のページ単位の解析命令を割り当てて実行させる。
In another example, not the
この変形例では、フィルタ機能の解析命令(ジョブ単位、又はページ単位)を解析部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
なお、解析部120B内の情報抽出部130Bにフィルタ機能の解析命令を割り当てるのは、あくまで一時的な処置である。フィルタ機能の解析命令が割り当てられた情報抽出部130Bは、その解析命令の実行が完了すると、本来の印刷処理に直結しない情報抽出機能のための用途に戻る。
Note that assigning the analysis command of the filter function to the
また、解析部120Bは、配下の情報抽出部130Bが全て使用中であり、その中の少なくとも1つがフィルタ機能の解析命令を実行中であるときに、解析部120Bの本来の対象機能である特色情報抽出機能等の解析命令が入力された場合、以下の制御を行う。すなわち、フィルタ機能の解析命令を実行中の情報抽出部130Bがその解析命令の実行を完了し次第、解析部120Bは、その情報抽出部130Bに対して、本来の対象機能の解析命令を割り当てる。ここで、解析部120Bは情報抽出部130Bに対してフィルタ機能の解析命令をジョブ単位で割り当てていた場合は、そのジョブ単位の解析命令の実行が終わるのを待たず、現在実行中のページ単位の解析命令の実行が完了し次第、その情報抽出部130Bへのそのジョブ単位の解析命令の割り当てを解除した上で、本来の対象機能についての解析命令をその情報抽出部130に割り当てるようにしてもよい。また解析部120Bは、このとき割り当てを解除したフィルタ機能のジョブ単位の解析命令を、チャネル振分け部160に戻すか、又は解析部120Bに渡してもよい。この場合、チャネル振分け部160は、解析部120から戻されたフィルタ機能のジョブ解析命令を、解析部120Aに渡す(解析部120Bの情報抽出部130Bは、全て使用中であるはずなので)。
Also, the analyzing
<変形例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
すなわち、この変形例では、解析部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
なお、解析部120Aが、自身に振り分けられたジョブ解析命令の待ち時間を計測する代わりに、チャネル振分け部160が、解析部120Aに振り分けたジョブ解析命令の待ち時間を計測してもよい。この場合、チャネル振分け部160は、解析部120Aに対してポーリング等を行うことにより、解析部120Aに振り分けた各ジョブ解析命令の実行が開始されたか否かを把握し、開始されていないジョブ解析命令についてはタイマの計測時間を進める。そして、タイマがタイムアウト(ジョブ解析命令が実行開始されないまま所定時間が経過)し、かつその時点で解析部120B内の情報抽出部130Bの中に待機中のものがあれば、解析部120Aに振り分けた、そのタイマに対応するジョブ解析命令をキャンセルした上で、そのジョブ解析命令を解析部120Bに振り分けし直す。
Note that, instead of the
以上に例示した印刷データ処理装置は、例えば、コンピュータに、それら各機能モジュールの機能を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、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以上のユーザ向け抽出手段に情報抽出命令又は解析命令を割り当てる第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
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)
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 |
-
2018
- 2018-08-09 JP JP2018150106A patent/JP7124544B2/en active Active
Patent Citations (6)
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 |