JP2016155280A - Control device, control method and program - Google Patents
Control device, control method and program Download PDFInfo
- Publication number
- JP2016155280A JP2016155280A JP2015034044A JP2015034044A JP2016155280A JP 2016155280 A JP2016155280 A JP 2016155280A JP 2015034044 A JP2015034044 A JP 2015034044A JP 2015034044 A JP2015034044 A JP 2015034044A JP 2016155280 A JP2016155280 A JP 2016155280A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image processing
- sub
- unit
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Abstract
【課題】複数の画像処理機構による並列処理を制御する制御装置において、一部の画像処理機構の画像処理が継続できなくなった場合でも、複雑な機器構成を必要とすることなく画像処理の効率化を図る印刷装置を提供すること。
【解決手段】本発明に係る制御装置は、ジョブデータを分割して複数の画像処理手段に割り振る。サブデータを割り振る際に、サブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理手段とを対応付けて記録する。サブデータが正常に処理されなかった場合、割振手段は、サブデータの割り振り時の記録に基づいて、当該サブデータを処理した画像処理手段とは異なる他の画像処理手段に対して、前記サブデータを再度割り振る。
【選択図】図5In a control apparatus that controls parallel processing by a plurality of image processing mechanisms, even if image processing of some image processing mechanisms cannot be continued, image processing efficiency is improved without requiring a complicated device configuration. To provide a printing apparatus that achieves the above.
A control apparatus according to the present invention divides job data and allocates it to a plurality of image processing means. When sub-data is allocated, the object data information included in the sub-data and the image processing means of the allocation destination are recorded in association with each other. If the sub-data is not processed normally, the allocating means sends the sub-data to another image processing means different from the image processing means that processed the sub-data based on the recording at the time of sub-data allocation. Allocate again.
[Selection] Figure 5
Description
本発明は、複数の画像処理機構による並列処理を制御する制御装置、制御方法およびプログラムに関する。 The present invention relates to a control device, a control method, and a program for controlling parallel processing by a plurality of image processing mechanisms.
デジタル印刷分野では、印刷物の一部を可変データ部分とし、印刷物一部ごとに可変データ部分を異ならせて出力するバリアブルデータ印刷(Variable Data Print、以後「VDP」と記す)が注目されている。VDPでは、標準言語としてのPPML(Personalized Print Markup Language、以後「PPML」と略す)が規定され、広く利用されている。PPMLでは、ページを描画する要素として、繰り返し参照されるリユーサブルオブジェクトと、1度限り参照されるローカルオブジェクトとの2つがある。リユーサブルオブジェクトはページ内、ページ間またはジョブ間で、同じ描画オブジェクトをページ内、ページ間、またはジョブ間の複数箇所に配置する場合に用いられる。 In the field of digital printing, variable data printing (variable data print, hereinafter referred to as “VDP”), in which a part of a printed material is used as a variable data portion and the variable data portion is output for each part of the printed material, has attracted attention. In VDP, PPML (Personalized Print Markup Language, hereinafter abbreviated as “PPML”) as a standard language is defined and widely used. In PPML, there are two elements for drawing a page: a reusable object that is repeatedly referred to and a local object that is referred to only once. The reusable object is used when the same drawing object is arranged in a plurality of locations within a page, between pages, or between jobs within a page, between pages, or between jobs.
通常、ローカルオブジェクトやリユーサブルオブジェクト等の描画オブジェクトは、ページ記述言語(Page Description Language、以後「PDL」と記す)形式で記述されたソース描画データから生成される。代表的なPDLとして、PostScript(登録商標、以後「PS」と記す)やPDF(Portable Document Format、以後「PDF」と記す)などが存在する。ローカルオブジェクトやリユーサブルオブジェクトのソース描画データは、ラスタライズ処理(以後、「RIP処理」と記す)と呼ばれる処理を経て、ラスタイメージ化された後にページ上に配置される。リユーサブルオブジェクトのように再利用されることが明確な場合は、RIP処理によって生成されたラスタイメージをキャッシュし、キャッシュされたラスタイメージを再利用することで、非常に高速な描画処理が可能となる。なお、一般的にラスタイメージデータは、ビットマップデータなどと呼ばれる。 Normally, drawing objects such as local objects and reusable objects are generated from source drawing data described in a page description language (hereinafter referred to as “PDL”) format. Typical PDL includes PostScript (registered trademark, hereinafter referred to as “PS”), PDF (Portable Document Format, hereinafter referred to as “PDF”), and the like. Source drawing data of a local object or reusable object is subjected to processing called rasterization processing (hereinafter referred to as “RIP processing”), rasterized to be arranged on the page. If it is clear that it will be reused, such as a reusable object, the raster image generated by RIP processing is cached, and the cached raster image can be reused to enable very high-speed drawing processing. Become. The raster image data is generally called bitmap data.
また、高解像度かつ高階調のカラーデータの場合、ラスタイメージは非常に大きなデータサイズとなるため、これらのラスタイメージをキャッシュするためには大容量のメモリが必要となる。そのため、VDPのなかには、ソース描画データからラスタイメージを生成する過程で出力されるディスプレイリスト(中間データ)を取得し、これをキャッシュするという方法も知られている。ディスプレイリストをキャッシュする方法では、ラスタイメージを取得するために、ディスプレイリストをレンダリングするための時間は残るが、キャッシュに必要なメモリ容量を大幅に削減することが可能となる。 In the case of color data with high resolution and high gradation, raster images have a very large data size, and a large capacity memory is required to cache these raster images. Therefore, a method of acquiring a display list (intermediate data) output in the process of generating a raster image from source drawing data and caching this is also known in VDP. In the method of caching the display list, it takes time to render the display list in order to obtain a raster image, but the memory capacity required for the cache can be greatly reduced.
ところで、近年は、複数のコアを単一パッケージに格納したマルチコア化が進んでいる。また、近年複数の印刷装置による分散処理化も進んでいる。マルチコアCPUの性能を引き出すとともに、複数の印刷装置による分散処理を効率よく行うために、VDPを含むPDLデータの並列処理のための方法が複数提案されている。 By the way, in recent years, a multi-core configuration in which a plurality of cores are stored in a single package has been advanced. In recent years, distributed processing by a plurality of printing apparatuses is also progressing. A plurality of methods for parallel processing of PDL data including VDP have been proposed in order to bring out the performance of a multi-core CPU and efficiently perform distributed processing by a plurality of printing apparatuses.
例えば、複数のジョブを同時並行してRIP処理するジョブ並列処理方式や、単一ジョブ内の複数ページを同時並行してRIP処理するページ並列処理方式などが提案されている。このような並列処理方式によるRIP処理を行う場合、再利用されるキャッシュデータとRIP処理との対応付けを適切に行わないと、RIP処理の並列化の効果が低くなるという課題がある。 For example, a job parallel processing system that performs RIP processing on a plurality of jobs simultaneously and a page parallel processing system that performs RIP processing on a plurality of pages in a single job simultaneously have been proposed. When performing RIP processing by such a parallel processing method, there is a problem in that the effect of parallelization of RIP processing is reduced unless the cache data to be reused is properly associated with the RIP processing.
このような課題に対し、特許文献1では、複数の画像処理機構が1つのキャッシュメモリを共有し、複数の画像処理機構によるRIP処理の効率化を図った画像処理装置が提案されている。
To deal with such a problem,
また、特許文献2では、ジョブを各画像処理機構に割り振る際に、ある種類のジョブを処理した画像処理機構に、同じ種類のジョブを割り振るように制御する機構を備える印刷制御装置が提案されている。 Japanese Patent Application Laid-Open No. 2004-228561 proposes a print control apparatus including a mechanism that controls to allocate the same type of job to an image processing mechanism that has processed a certain type of job when a job is allocated to each image processing mechanism. Yes.
しかしながら、特許文献1、2によれば、複数の画像処理機構が並列処理を行う印刷装置において、一部の画像処理機構のRIP処理が継続できなくなった場合、印刷装置全体の印刷処理が継続できなくなるおそれが生じるという新たな課題が生じる。
However, according to
この点、特許文献3では、一部の画像処理機構がRIP処理を継続することができなくなっても、他の画像処理機構がRIP処理を引き継ぐことにより、装置全体の印刷処理を継続する機能を備える画像処理装置が提案されている。
In this regard, in
しかしながら、複数の画像処理機構が並列処理を行う印刷装置において、特許文献3に開示されている機能を実現するために、以下のような課題が生じていた。
However, in a printing apparatus in which a plurality of image processing mechanisms perform parallel processing, the following problems have occurred in order to realize the functions disclosed in
まず、一部の画像処理機構がRIP処理を継続することができなくなった場合、他の画像処理機構にRIP処理を引き継がせるためには、画像処理機構間でデータを受け渡しするための通信経路を設ける必要が生じていた。さらに、画像処理機構間で受け渡しするデータが、中間データなどのキャッシュデータであった場合、印刷装置に共有キャッシュメモリなどのキャッシュデータを共有する機構を設ける必要が生じていた。このような通信経路や共有キャッシュメモリを設けることは、印刷装置の機器構成が複雑となり、コストの増大を招来していた。 First, when some image processing mechanisms cannot continue the RIP process, in order to allow other image processing mechanisms to take over the RIP process, a communication path for transferring data between the image processing mechanisms is provided. It was necessary to provide it. Further, when the data transferred between the image processing mechanisms is cache data such as intermediate data, it is necessary to provide a mechanism for sharing cache data such as a shared cache memory in the printing apparatus. Providing such a communication path and a shared cache memory complicates the device configuration of the printing apparatus and causes an increase in cost.
本発明に係る制御装置は、複数の画像処理手段による並列処理を制御する制御装置において、入力されたジョブデータをサブデータに分割する分割手段と、サブデータを前記複数の画像処理手段に割り振る割振手段と、サブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理手段とを対応付けて記録する管理手段と、サブデータが正常に処理されたかを判定する判定手段とを備え、前記サブデータが正常に処理されなかった場合、前記割振手段は、前記記録に基づいて、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段に対して、前記サブデータを再度割り振ることを特徴とする。 The control device according to the present invention is a control device that controls parallel processing by a plurality of image processing means, a dividing means that divides input job data into sub-data, and an allocation that assigns sub-data to the plurality of image processing means. Management means for associating and recording information on object data included in the sub data and image processing means to which the data is allocated, and determination means for determining whether the sub data has been processed normally. When the data is not processed normally, the allocating unit reallocates the sub data to another image processing unit different from the image processing unit that could not process the sub data based on the recording. It is characterized by that.
本願は上述の課題に鑑みてなされたものである。すなわち、複数の画像処理機構による並列処理を制御する制御装置において、一部の画像処理機構の画像処理が継続できなくなった場合でも、複雑な機器構成を必要とすることなく画像処理の効率化を図る制御装置を提供する。 The present application has been made in view of the above-described problems. That is, in a control device that controls parallel processing by a plurality of image processing mechanisms, even when image processing of some image processing mechanisms cannot be continued, the efficiency of image processing can be improved without requiring a complicated device configuration. A control device is provided.
以下、本発明の好適な実施の形態について図面を参照して説明する。但し、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせのすべてが、課題を解決するための手段に必須のものとは限らない。本明細書において「印刷装置」とは、画像形成機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録用紙等の媒体に画像やパターンを形成する製造装置等も含まれる。 Preferred embodiments of the present invention will be described below with reference to the drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention thereto. Moreover, not all the combinations of the constituent elements described in the embodiments are essential as means for solving the problem. In this specification, the “printing apparatus” is not limited to a dedicated machine specialized in the image forming function, but is a complex machine that combines the printing function and other functions, or a device that forms an image or pattern on a medium such as recording paper Devices etc. are also included.
[実施形態1]
図1は、本実施形態における、端末100と、印刷装置200との接続構成を示す概略図である。端末100と、印刷装置200とは、ネットワークを介して相互に通信可能に接続されている。本実施形態においては、端末100として、PC(パーソナルコンピュータ)などの情報機器が用いられる。印刷装置200は、少なくとも画像形成機能を有する印刷装置や複合機などとすることができる。
[Embodiment 1]
FIG. 1 is a schematic diagram illustrating a connection configuration between a
図2は、本実施形態における端末100および印刷装置200のハードウェア構成を示すブロック図である。端末100のCPU101は、バス108を介して相互に接続された端末100の各部を制御する制御部であり、端末100の全体を統括制御する。ROM102は、制御プログラムや各種の情報を格納する。CPU101は、ROM102に格納されている制御プログラムに基づいて、端末100に関する各種の動作を実行する。なお、このような制御プログラムは、ROM102に格納されているものに限らず、CD−ROM等による外部の記憶媒体に記憶されているものでもよい。さらにこれを専用の読取装置によって、端末100のRAM103に読み取り、RAM103をワークメモリとしてCPU101が制御プログラムを実行するようにしてもよい。HDD(Hard Disk Drive)104は、端末100の補助記憶装置であり、各種データを格納することができる。
FIG. 2 is a block diagram illustrating hardware configurations of the
端末100の入力装置105は、例えばキーボードやポインティング装置等である。表示装置106は、例えば液晶ディスプレイ等であり、印刷装置200に出力させるための画像を表示することができる。外部接続インターフェース(以下インターフェースは「I/F」と記す)107は、端末100と印刷装置200とを接続するインターフェースであり、端末100は、外部接続I/F107を介してジョブデータなどの各種データを送受信する。
The
印刷装置200は、外部接続I/F214を介して、端末100から送信されるジョブデータなどの各種データを受信する。
The
印刷装置200のCPU211は、相互に接続された印刷装置200の各部を制御する制御部であり、印刷装置200の全体を統括制御する。プログラムROM212は、制御プログラムや各種の情報を格納する。CPU211は、プログラムROM212に格納されている制御プログラムに基づいて、印刷装置200に関する各種の動作を実行する。ワークRAM213は、外部接続I/F214を介して取得したジョブデータなどの各種情報を一時記憶する領域である。また、後述する画像処理制御部によって分割されたジョブデータである、分割ジョブデータを一時記憶する領域でもある。
The
印刷装置200のイメージRAM215は、後述する画像処理部がジョブデータから生成したビットマップデータなどの各種情報を記憶する領域である。本実施形態においては、CPU211と、プログラムROM212と、ワークRAM213と、イメージRAM215と、外部接続I/F214と、ドライバ216とは、印刷装置200における制御部210として機能する。
The
印刷装置の操作パネル220は、例えばタッチパネルディスプレイ等から構成され、ユーザからの操作を受け付けることにより、所望の処理を印刷装置200に実行させることができる。操作パネル220は、印刷装置200の状態表示や、警報を表示することもできる。
The
プリントエンジン230は、ドライバ216を介してCPU211によって制御される。プリントエンジン230は、制御部210から受信したビットマップデータに対して色変換などの所定の処理を加えた後、印刷用紙などに対して印刷する処理を実行する印刷部である。プリントエンジン230はインクタンクと、印刷ヘッドなどから構成されるインクジェット方式のものであってもよいし、電子写真方式によるものであってもよい。
The
図3は、本実施形態における印刷装置200の機能構成を示すブロック図である。本実施形態の印刷装置200は、端末100から受信するジョブデータを処理し、ジョブデータからビットマップデータを生成する。さらに、生成したビットマップデータによって構成される画像を、印刷用紙等の媒体に印刷を行う処理を、プリンタエンジン230に実行させる。
FIG. 3 is a block diagram illustrating a functional configuration of the
印刷装置200における制御部210は、画像処理制御部240と、記録テーブル250と、画像処理部260〜280と、スプール部290とから構成され、端末100から受信したジョブデータを処理し、印刷用のビットマップデータを生成する。より具体的には、制御部210が端末100からジョブデータを受信すると、解析部242は、受信したジョブデータの内容を解析する。分割部243は、解析したジョブデータを、分割ジョブデータに分割する。割振部244は、分割ジョブデータを、複数の画像処理部260〜280のいずれかに割り振る。本実施形態においては、分割部243は、ジョブデータをページ単位の分割ジョブデータに分割する。画像処理部260〜280は、分割ジョブデータを並列処理することができ、割振部244は複数の画像処理部260〜280のいずれかに割り振る。
The
ここで、割振部244は各種の振分方法によって分割ジョブデータを割り振ることができる。例えば、あらかじめ定められた固定的な順序によって分割ジョブデータを複数の画像処理部260〜280に振り分る方法であってもよい。また、画像処理部260〜280のうちいずれかが、割り振られた分割ジョブデータの処理が終了する毎に、割振部244が新たな分割ジョブデータを当該画像処理部に新たに割り振る方法であってもよい。上記は分割ジョブデータの割振方法の一例であり、他の振分方法を用いてもよい。分割ジョブデータの割り振りと同時に、画像処理制御部240の管理部241は、分割ジョブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理部260〜280とを対応付けて、記録テーブル250に記録する。オブジェクトデータの情報については、図6において後述する。
Here, the
本実施形態では、画像処理制御部240は、印刷装置200にプログラムとしてインストールされている態様について説明するが、外部接続I/F214を介して印刷装置200と接続されているコンピュータ装置に構築されていてもよい。
In the present embodiment, the image
画像処理部260〜280は、RIP処理部261,271,281をそれぞれ有し、割り振られた分割ジョブデータを受信すると所定の処理を実行する。画像処理部260〜280が分割ジョブデータを処理することにより、レンダリング後のビットマップデータデータを生成する。さらに、画像処理部260〜280は、出力部263,273,283をそれぞれ有し、生成されたビットマップデータを画像処理制御部240に出力する。
The
ここで、RIP処理とは、ジョブデータを解釈し、ジョブデータに含まれる描画命令に基づいてレンダリング処理を実行し、ビットマップデータを生成する一連の処理をいう。また、RIP処理におけるレンダリング処理の過程で、中間データが出力される。画像処理部260〜280は、上記中間データをキャッシュメモリに保存するキャッシュ部262,272,282をそれぞれ有する。また、本実施形態では、キャッシュ部262〜282は、分割ジョブデータに含まれるオブジェクトデータをキャッシュメモリに保存することもできる。本実施形態においては、キャッシュ部262〜282はそれぞれ独立したキャッシュメモリを有し、所定のタイミングにおいて各キャッシュ部が中間データ乃至オブジェクトデータをキャッシュメモリに保存するキャッシュ処理を実行する。
Here, the RIP process is a series of processes for interpreting job data, executing a rendering process based on a drawing command included in the job data, and generating bitmap data. Also, intermediate data is output during the rendering process in the RIP process. The
RIP処理部261〜281は、キャッシュメモリに保存されている中間データ乃至オブジェクトデータを処理することにより、レンダリング処理の一部または全部を省略することができ、RIP処理全体の高速化を図ることができる。 The RIP processing units 261 to 281 process intermediate data or object data stored in the cache memory, so that part or all of the rendering process can be omitted, and the overall speed of the RIP process can be increased. it can.
さらに、出力部263〜283は、レンダリング後のビットマップデータに加えて、分割ジョブデータのRIP処理の処理結果を含むレポートデータを、画像処理制御部240に出力する。本実施形態におけるレポートデータは、前記分割ジョブデータが正常に処理されたか、すなわちエラーの有無を示す情報を含む。さらに、エラーが有った場合には、生成されたビットマップデータの異常か、または複数の画像処理部260〜280を構成するハードウェアの異常か、などのエラーの種別を示す情報を含むことができる。
Further, the
画像処理制御部240は、画像処理部260〜280からレンダリング後のビットマップデータを受信すると、受信したビットマップデータをスプール部290に格納し、その後ビットマップデータをプリントエンジン230へ送信する。なお、スプール部290は、図2に示すイメージRAM215の記憶領域をビットマップデータの記憶領域として利用する。
Upon receiving the rendered bitmap data from the
本実施形態において、画像処理部260〜280は、それぞれ独立したハードウェア(例えば、回路など)として印刷装置内部に構成される態様について説明するが、単一のハードウェア上に各処理部が論理的に区画されて構築される態様であってもよい。
In the present embodiment, the
図4は、本実施形態における印刷装置200の制御部210の処理内容を示すフローチャートである。以下図4を参照して、制御部210の処理内容について説明する。S201において、画像処理制御部240が端末100からジョブデータを受信する。S202において、解析部242は、受信したジョブデータを解析する。次いで、分割部243は、解析結果に基づいてジョブデータを分割ジョブデータに分割して、それらの割り振り先を決定する。なお、本実施形態における分割ジョブデータは、ジョブデータから、ジョブデータと同様の構成で複数に分割されたデータのことを言い、一つのジョブデータに対応するサブデータであると言える。
FIG. 4 is a flowchart showing the processing contents of the
S203において、割振部244は、分割ジョブデータを各画像処理部260〜280に割り振る。次いで、S204において、管理部241は、ジョブデータを分割する際に得られた各分割ジョブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理部260〜280とを対応付けて記録テーブル250に記録する。
In S203, the
画像処理部260〜280が、分割ジョブデータからビットマップデータを生成する処理を終えると、S205に移行する。S205において、画像処理制御部240は、画像処理部260〜280の出力部263〜283から、ビットマップデータと、レポートデータとを受信する。次いで、判定部245は、受信したレポートデータに基づいて、画像処理部260〜280が分割ジョブデータに対する処理を正常に終了したかを判定する。
When the
判定部245が、分割ジョブデータに対する処理を正常に終了したと判定した場合(S205:Yes)、管理部241は、処理を行った分割ジョブデータの情報を記録テーブル250に記録する(S206)。そして、画像処理制御部240は、生成されたビットマップデータをスプール部290に保存し、S207に移行する。一方、判定部245が、分割ジョブデータに対する処理を正常に終了していないと判定した場合(S205:No)、S209の処理に移行する。
When the determination unit 245 determines that the process for the divided job data has been normally completed (S205: Yes), the management unit 241 records information of the processed divided job data in the recording table 250 (S206). Then, the image
S207において、次の分割ジョブデータが存在する場合は再びS203に移行し(S207:Yes)、次の分割ジョブデータが存在しない場合はS208に移行する(S207:No)。さらにS208において次のジョブデータが存在する場合は再びS201に移行し(S208:Yes)、制御部210による画像処理を継続する。
If the next divided job data exists in S207, the process proceeds to S203 again (S207: Yes), and if the next divided job data does not exist, the process proceeds to S208 (S207: No). Furthermore, when the next job data exists in S208, the process proceeds to S201 again (S208: Yes), and the image processing by the
S209において、判定部245はさらにS205でのエラーの内容を判定する。判定部245は、出力部263〜283が出力したレポートデータに含まれるエラー情報に基づいて、当該エラーがリトライ可能エラーかを判定する。具体的には、判定部245は、レポートデータに含まれるエラー情報から、分割ジョブデータを処理した画像処理部とは異なる他の画像処理部が、当該分割ジョブデータの処理が可能であるか否かを判定する。
In S209, the determination unit 245 further determines the content of the error in S205. The determination unit 245 determines whether the error is a retryable error based on the error information included in the report data output by the
判定部245がリトライ可能エラーと判定した場合(S209:Yes)、S210に移行する。本実施形態では、例えば、画像処理部260〜280のうち一部が障害を発生しているものの、残りの一部によって画像処理を継続できる状態(縮退動作中)である場合、判定部245はリトライ可能エラーと判定する。このとき、制御部210は、画像処理部260〜280のうち一部が障害を発生しているものの、残りの一部によって画像処理を継続できる状態(縮退動作中)である警告表示を、操作パネル220に表示させる処理を実行する(S210)。一方、判定部245がリトライ可能エラーと判定しなかった場合(S209:No)、S213の処理に移行する。
When the determination unit 245 determines that a retryable error has occurred (S209: Yes), the process proceeds to S210. In the present embodiment, for example, when some of the
S211において、割振部244は、記録テーブル250の対応関係を参照し、前回分割ジョブデータを処理した画像処理部とは異なる他の画像処理部に対して、当該分割ジョブデータを再度割り振る。このとき、割振部244は、当該分割ジョブデータが再度の割り振りに係るものであることを意味するリトライフラグを付加して(S212)、当該分割ジョブデータを、再度の割り振り先の画像処理部に対して送信する。
In S211, the
判定部245がリトライ可能エラーと判定しなかった場合(S209:No)、S213において、制御部210は、ジョブエラーであるエラー表示を、操作パネル220に表示させる処理を実行する。本実施形態では、例えば、割振部244がいずれの画像処理部260〜280に分割ジョブデータを割り振っても、分割ジョブデータの処理を継続することが不可能であると判定された場合(S209:No)、判定部245はジョブエラーであると判定する。
If the determination unit 245 does not determine that the retry is possible (S209: No), in S213, the
S214において、管理部241は、処理を行うことができなかった分割ジョブデータの情報と、当該処理がエラーであった情報とを記録テーブル250に記録する(S214)。その後、S208に移行する。 In S214, the management unit 241 records the information of the divided job data that could not be processed and the information that the process was an error in the recording table 250 (S214). Thereafter, the process proceeds to S208.
S208において次のジョブデータが存在しない場合は、処理を終了する(S208:No)。本実施形態においては、S214の処理の後に再びS208に移行する態様について説明したが、ジョブデータの処理自体を中止してもよい。ジョブデータ全体の処理を終了するか、またはエラーが発生したジョブデータに係るページのみの処理を中止するかは、予め設定によって決定してもよいし、操作パネル220または端末100で受け付けた設定に従ってもよい。
If the next job data does not exist in S208, the process is terminated (S208: No). In the present embodiment, the mode of shifting to S208 again after the processing of S214 has been described, but the job data processing itself may be stopped. Whether to end the processing of the entire job data or to stop the processing of only the page related to the job data in which an error has occurred may be determined in advance, or according to the setting accepted by the
図5は、図4のフローチャートにおけるS201〜S204の処理内容を、ジョブデータの遷移例と共に示した図である。本実施形態におけるジョブデータ300は、オブジェクトデータ(311〜316)と、ページ情報データ(321〜326)とから構成される。
FIG. 5 is a diagram showing the processing contents of S201 to S204 in the flowchart of FIG. 4 together with a transition example of job data. The
オブジェクトデータ311〜316は、VDPにおける可変データ部分に相当する。本実施形態において、オブジェクトデータ311〜316は、ジョブデータ300全体で必要なフォントを描画する要素であるフォントオブジェクトデータ311〜312と、画像を描画する要素である画像オブジェクトデータ313〜316とを有する。他の実施形態では、例えばカラープロファイルや、タイルパターンなどの、その他描画する要素をオブジェクトデータとしてもよい。
The
ページ情報データ321〜326は、本実施形態において、オブジェクトデータ311〜316を使用してページ単位での描画内容を規定するためのデータである。本実施形態において、ページ情報データ321〜326はそれぞれ独立した6ページ分を有するものを例に挙げて説明するが、ページ数はこれに限られない。
In the present embodiment, the
VDP、PS、またはPDFなどのオブジェクトを使用するPDL(ページ記述言語)では、オブジェクトデータをページ情報データとは独立して保持することにより、使用される共通のオブジェクトデータを重複して保持する必要がない。そのため、ジョブデータ全体のデータサイズを削減することができる。例えば、図5の例で説明すると、1ページ目のページ情報データ321には、オブジェクトデータA(311)と、オブジェクトデータC(313)とが含まれている。
In PDL (page description language) that uses objects such as VDP, PS, or PDF, it is necessary to hold the object data independently of the page information data, thereby holding the common object data used in duplicate. There is no. Therefore, the data size of the entire job data can be reduced. For example, referring to the example of FIG. 5, the
図4のフローチャートにおいて、解析部242は、受信したジョブデータ300を解析し、分割部243は、各ページ単位での画像処理に必要なオブジェクトデータを含むように、分割ジョブデータ330〜380にそれぞれ分割する(S202)。このとき、分割部243は、ジョブデータをページ記述言語の形式に沿った分割ジョブデータ330〜380に分割する。さらに、本実施形態では、分割ジョブデータ330〜380はそれぞれ1つのページ情報データと、当該分割ジョブデータの画像処理に必要なオブジェクトデータのみを保持するデータに分割される。図5の例においては、ジョブデータ300は、6ページ構成となっている。そのため、分割部243は、6つの独立したページ情報データ321〜326を含む、6つの分割ジョブデータ330〜380に分割する。
In the flowchart of FIG. 4, the analysis unit 242 analyzes the received
分割ジョブデータ330は、1ページ目の分割ジョブデータであり、1ページ目のページ情報データ321と、対応するオブジェクトデータ311、313とから構成されるページ記述言語データである。以下同様に、分割ジョブデータ340〜380は、2ページ目〜6ページ目の分割ジョブデータであり、それぞれ2ページ目〜6ページ目のページ情報データと、対応するオブジェクトデータとから構成されるページ記述言語データである。各分割ジョブデータ330〜380は、1ページ分の画像処理に必要なデータを含むページ記述言語データであり、各分割ジョブデータ330〜380は等価なデータとなる。
The divided
図4のフローチャートにおいて、割振部244は、分割ジョブデータ330〜380を画像処理部260〜280に割り振る(S203)。本実施形態では、割振部244は、6つの分割ジョブデータ330〜380を、3つの画像処理部260〜280に対して、ページ番号順にラウンドロビン方式で割り振る。具体的には、分割部243は、分割ジョブデータ330,360を画像処理部1(260)に対して、分割ジョブデータ340,370を画像処理部2(270)に対して、分割ジョブデータ350,380を画像処理部3(280)に対して割り振る。ラウンドロビン方式の割り振り以外にも、ジョブデータ300の内容を解析して、画像処理部260〜280の間で処理負荷を均等にする方式や、分割ジョブデータ330〜380のデータサイズを均等にする方式など、各種方式を採用することができる。
In the flowchart of FIG. 4, the
次いで、図4のフローチャートにおいて、管理部241は、ジョブデータを分割する際に得られた各分割ジョブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理部260〜280とを対応付けて記録テーブル250に記録する(S204)。
Next, in the flowchart of FIG. 4, the management unit 241 associates the information of the object data included in each divided job data obtained when dividing the job data with the
図6は、本実施形態における記録テーブル250に記録される内容を示す図である。管理部241は、画像処理部260〜280に付与されたIDと、ジョブデータ300に付与されたIDと、ページ情報データ321〜326のIDと、分割ジョブデータ330〜380のオブジェクトデータ311〜316のIDとの対応関係を記録する。すなわち、記録テーブル250に、各画像処理部と、ジョブデータと、それぞれに割当てられた分割ジョブデータとが関連付けて管理されている。
FIG. 6 is a diagram showing the contents recorded in the recording table 250 in the present embodiment. The management unit 241 includes an ID assigned to the
なお、図6に示される記録テーブル250の例では、画像処理部260がID「画像処理部1」、画像処理部270がID「画像処理部2」、画像処理部280がID「画像処理部3」と記録されている。また、ジョブデータ300のIDが「JobA」、ページ情報データ321〜326のIDが「Page1」〜「Page6」、オブジェクトデータ311〜316のIDが「ObjA」〜「ObjF」と記録されている。
In the example of the recording table 250 illustrated in FIG. 6, the
本実施形態ではさらに、オブジェクトデータの情報に対応付けて、分割ジョブデータの状態情報(「処理中」「処理済」「エラー」など)が記憶される。具体的には、割振部244が、オブジェクトデータ311を含む分割ジョブデータを割り振ったときに(S203)、管理部241はオブジェクトデータ311(ObjA)について「処理中」を記録テーブル250に記録する。判定部245が、オブジェクトデータ311を含む分割ジョブデータに対する処理が正常に終了したと判定した場合(S205:Yes)、管理部241はオブジェクトデータ311(ObjA)について「処理済」を記録テーブル250に記録する。判定部245が、オブジェクトデータ311を含む分割ジョブデータに対する処理が正常に終了していない判定した場合(S205:No)、管理部241はオブジェクトデータ311(ObjA)について「エラー」を記録テーブル250に記録する。なお、割振部244による分割ジョブデータの割り振りが行われる都度、管理部241は分割ジョブデータの種類と、割り振り先の画像処理部の種類との対応関係を記録テーブル250に記録する。
In the present embodiment, the status information (“processing”, “processed”, “error”, etc.) of the divided job data is stored in association with the object data information. Specifically, when the
本実施形態における記録テーブル250では、各画像処理部260〜280のレコードの最大数が定義される。そして、管理部241が新たなレコードをする際に、記録テーブル250に記録されている当該画像処理部の古いレコードから順次削除される。これにより、画像処理制御部240は、各画像処理部260〜280が、分割ジョブデータに含まれるいずれのページ情報データおよびいずれのオブジェクトデータを処理するかを、記録テーブル250を参照することで把握することができる。
In the recording table 250 in the present embodiment, the maximum number of records of each of the
図7は、本実施形態において、割振部244が分割ジョブデータの再度の割り振り先を決定する処理内容(S211)を示すフローチャートである。以下、割振部244が分割ジョブデータの再度の割り振り先を決定する処理内容について、図7を参照して説明する。
FIG. 7 is a flowchart showing the processing content (S211) in which the allocating
S301において、記録テーブル250の対応関係を参照し、エラーとなった分割ジョブデータに含まれるオブジェクトデータの情報を取得する。 In S301, the correspondence relationship of the recording table 250 is referred to, and the information of the object data included in the divided job data in error is acquired.
S302において、S301で取得したオブジェクトデータの情報から、当該オブジェクトデータを使用している画像処理部を検索する。 In S302, the image processing unit that uses the object data is searched from the information of the object data acquired in S301.
S303において、当該オブジェクトデータを使用している他の画像処理部が1つのみかを判定する。該当する画像処理部が1つのみであった場合(S303:Yes)、S305に移行する。一方、該当する画像処理部が複数存在している場合(S303:No)、S304において、該当する画像処理部の候補から、当該オブジェクトデータを最も多く使用している画像処理部を選択する。 In step S303, it is determined whether only one other image processing unit is using the object data. When there is only one corresponding image processing unit (S303: Yes), the process proceeds to S305. On the other hand, when there are a plurality of corresponding image processing units (S303: No), in S304, an image processing unit that uses the object data most frequently is selected from the candidates for the corresponding image processing unit.
次いで、S305において、割振部244は、エラーとなった分割ジョブデータの再割り振り先を決定する。
Next, in S305, the
画像処理部260〜280のRIP処理部261〜281は、割り振られた分割ジョブデータ330〜380からビットマップデータを生成するRIP処理を実行する。画像処理部260〜280のキャッシュ部262〜282は、分割ジョブデータ330〜380からビットマップデータを生成する過程で出力される中間データをキャッシュする。このとき、キャッシュ部262〜282は、分割ジョブデータ330〜380に含まれるオブジェクトデータ311〜316についてもキャッシュする。これにより、次回同一のオブジェクトデータが含まれる分割ジョブデータを処理する際に、オブジェクトデータの処理を省略し、画像処理部260〜280は処理を高速に行うことができる。
The RIP processing units 261 to 281 of the
キャッシュ部262〜282は、それぞれ独立したキャッシュメモリを有しているが、各キャッシュメモリのデータ記憶領域は有限であるため、生成された中間データ乃至オブジェクトデータは古いものから順次消去される。そのため、各画像処理部260〜280の中間データ乃至オブジェクトデータのキャッシュ保存状況と、記録テーブル250に記録されているオブジェクトデータの情報とは、同期していることが望ましい。本実施形態においては、画像処理部260〜280に対応するオブジェクトデータの情報の最大記録数を、キャッシュメモリに保存することができるオブジェクトデータの数の概算値と同じ程度、記録テーブル250に記録させることができる。かかる構成により、管理部241が記録テーブル250に当該オブジェクトデータの情報を同期して記録させるための特別な機構を簡略化することができる。
Each of the cache units 262 to 282 has an independent cache memory. However, since the data storage area of each cache memory is limited, the generated intermediate data or object data is sequentially deleted from the oldest one. Therefore, it is desirable that the intermediate data or object data cache storage status of each of the
図8は、本実施形態における、制御部210のリトライ処理内容を分割ジョブデータの遷移例と共に示した図である。以下、図8を参照して制御部210のリトライ処理内容を説明する。
FIG. 8 is a diagram showing the retry processing contents of the
割り振られた分割ジョブデータ330〜380は、それぞれ画像処理部260〜280によって処理される。このとき、画像処理部3(280)に割り振られた分割ジョブデータ380の処理において、エラーが発生した場合、画像処理部3(280)は、分割ジョブデータ380の処理結果を含むレポートデータを、画像処理制御部240に出力する。
The allocated divided
画像処理制御部240の判定部245は、出力されたレポートデータの内容に基づいて、画像処理部3(280)に割り振られた分割ジョブデータ380の処理において、エラーが発生したことを判定する(S205:No)。次いで、判定部245は、レポートデータに含まれるエラーの種類に基づいて、分割ジョブデータ380を処理した画像処理部3(280)とは異なる他の画像処理部が、分割ジョブデータ380を処理することが可能かを判定する(S209)。
The determination unit 245 of the image
図8に示される例では、他の画像処理部が分割ジョブデータ380を処理することが可能と判定されたことを示している(S209:Yes)。このとき制御部210は、画像処理部260〜280のうち一部が障害を発生しているものの、残りの一部によって画像処理を継続できる状態(縮退動作中)である警告表示を、操作パネル220に表示させる処理を実行する(S210)。
The example shown in FIG. 8 indicates that it is determined that another image processing unit can process the divided job data 380 (S209: Yes). At this time, the
次いで、割振部244は、記録テーブル250の記録を参照し、前回分割ジョブデータを処理した画像処理部とは異なる他の画像処理部に対して、当該分割ジョブデータを再度割り振る(S211)。このとき、割振部244は、分割ジョブデータ380と対応付けられているオブジェクトデータの情報を取得する。
Next, the
図6の例において、画像処理部3(280)が分割ジョブデータ380の処理を行った処理内容は、「画像処理部3:JobA:Page6」というデータ形式で記録テーブル250に記録されている。さらに、記録テーブル250には、「画像処理部3:JobA:Page6」と「ObjB」との対応関係と、「画像処理部3:JobA:Page6」と「ObjB」との対応関係とがそれぞれ記録されている。
In the example of FIG. 6, the processing content that the image processing unit 3 (280) has processed the divided
次いで、割振部244は、記録テーブル250に記録されているオブジェクトデータの情報から、当該オブジェクトデータを使用している画像処理部を検索する(S302)。
Next, the
図6の例において、「ObjB」を使用している画像処理部は「画像処理部1:JobA:Page4」と、「画像処理部2:JobA:Page2」であることが記録テーブル250に記録されている。同様に、「ObjC」を使用している画像処理部は「画像処理部1:JobA:Page1」であることが記録テーブル250に記録されている。すなわち、割振部244は、オブジェクトデータ312が、分割ジョブデータ340と360とに含まれており、それぞれ画像処理部2(270)と、画像処理部1(260)とによって使用されていることを検索結果として特定することができる。同様に、割振部244は、オブジェクトデータ313が、分割ジョブデータ330に含まれており、画像処理部1(260)によって使用されていることを検索結果として特定することができる。
In the example of FIG. 6, the image processing units using “ObjB” are recorded in the recording table 250 as “image processing unit 1: JobA: Page4” and “image processing unit 2: JobA: Page2”. ing. Similarly, an image processing unit using “ObjC” is recorded in the recording table 250 as “image processing unit 1: JobA: Page1”. That is, the
図6の例では、「画像処理部1:JobA:Page1」と、「画像処理部2:JobA:Page2」、すなわち、2つの画像処理部260,270がオブジェクトデータを使用している画像処理部として特定されている。そのため、割振部244は、該当する画像処理部の候補から、エラーとなった分割ジョブデータに含まれるオブジェクトデータの情報を、最も多く使用している画像処理部を選択する。本実施形態では、画像処理部1(260)が、オブジェクトデータ312とオブジェクトデータ313を含む分割ジョブデータを処理し、画像処理部2(270)が、オブジェクトデータ312を含む分割ジョブデータ340を処理している。そのため、割振部244は、使用するオブジェクトデータの数が最も多い画像処理部として、画像処理部1(260)を選択する(S304)。次いで、割振部244は、画像処理部1(260)を、分割ジョブデータ380の再割り振り先と決定する(S305)。
In the example of FIG. 6, “image processing unit 1: JobA: Page1” and “image processing unit 2: JobA: Page2”, that is, an image processing unit in which two
次いで、割振部244は、決定した再割り振り先の画像処理部1(260)に対して、分割ジョブデータ380を送信する。このとき、再度割り振られた分割ジョブデータであるかを各画像処理部に通知するために、割振部244は、リトライフラグを分割ジョブデータ380に付加する(S212)。画像処理部260〜280は、各画像処理部が処理中の分割ジョブデータの種類と、リトライフラグが付加された分割ジョブデータの種類とを比較し、各分割ジョブデータの処理順を並び替えることができる。これにより、双方の分割ジョブデータに共通で含まれるオブジェクトデータを連続して参照して処理することにより、各画像処理部のキャッシュメモリに保存されているオブジェクトデータの利用率を向上させることができる。
Next, the
また、図6の例において、画像処理部3(280)は、分割ジョブデータ380の処理結果がエラーであった場合、当該エラーの種類をさらに含むレポートデータを出力する。レポートデータに含まれるエラーの種類として、メモリ不足エラー、空きディスク容量不足エラー、または画像処理部固有のエラー等が挙げられる。判定部245は、レポートデータに含まれるこれらのエラーの種類に基づいて、分割ジョブデータ380を処理した画像処理装置3(208)とは異なる他の画像処理部260,270が、分割ジョブデータ380の処理が可能であるかを判定することができる。
In the example of FIG. 6, when the processing result of the divided
また、本実施形態においては、画像処理制御部240は、分割ジョブデータの再割り振りを行う際に、オブジェクトデータが、全てキャッシュされているかは正確に判別することができない。しかし、上記説明した通り、画像処理部260〜280のキャッシュメモリの容量に則して記録テーブル250のオブジェクトデータの情報の最大記録数を設定することができる。これにより、画像処理部260〜280が、再度割り当てられた分割ジョブデータを処理する際に、キャッシュメモリに保存されているオブジェクトデータを再利用する確率を高めることができる。
In the present embodiment, the image
以上説明した通り、本実施形態における印刷装置は、複数の画像処理部のうち、一部の画像処理部の処理が継続できなくなった場合でも、オブジェクトデータの情報と割り振り先の画像処理部との対応関係に基づいて、分割ジョブデータを再度割り振る。このため、他の画像処理部へ処理を引き継ぐための通信経路や、キャッシュデータを共有するための共有キャッシュメモリなどの複雑な機器構成を必要とすることなく、処理の継続と処理の効率化を図ることができる。 As described above, the printing apparatus according to the present embodiment is configured so that the object data information and the image processing unit to which the image data is allocated can be used even when the processing of some of the image processing units cannot be continued. Based on the correspondence relationship, the divided job data is reassigned. For this reason, without requiring a complicated device configuration such as a communication path for taking over processing to another image processing unit or a shared cache memory for sharing cache data, the processing can be continued and the processing efficiency can be improved. Can be planned.
[実施形態2]
実施形態1における印刷装置200では、分割ジョブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理部との記録に基づいて、エラーとなった分割ジョブデータの再割り振り先を決定していた。本実施形態では、上記実施形態の特徴に加えて、オブジェクトデータの使用状況を画像処理部ごとに評価し、当該評価に基づいて、エラーとなった分割ジョブデータの再割り振り先を決定する。かかる構成により、各キャッシュメモリに保存されるオブジェクトデータの再利用性を向上させることができる。
[Embodiment 2]
In the
図9は、本実施形態における記録テーブル250に記録される内容を示す図である。本実施形態におけるオブジェクトデータの情報は、状態フィールド251、データサイズフィールド252、および参照回数フィールド253に記録されるそれぞれの情報が相当する。
FIG. 9 is a diagram showing the contents recorded in the recording table 250 in the present embodiment. The object data information in this embodiment corresponds to information recorded in the
状態フィールド251には、実施形態1と同様に、分割ジョブデータの状態情報(「処理中」「処理済」「エラー」など)が記録される。
Similarly to the first embodiment, the status information of the divided job data (such as “processing”, “processed”, and “error”) is recorded in the
データサイズフィールド252には、オブジェクトデータのデータサイズ情報が記録される。なお、図9における記録テーブル250では、各オブジェクトデータのデータサイズとして、バイト単位でのデータサイズが記録される。
Data size information of object data is recorded in the
参照回数フィールド253には、当該オブジェクトデータが各画像処理部に割り振られた回数が記録される。管理部241は、分割ジョブデータの割り振りを実施する都度(S203)、分割ジョブデータに含まれるオブジェクトデータが対応する画像処理部に割り振られた回数を参照回数フィールドに記録する。
The
図10は、本実施形態において、割振部244が分割ジョブデータの再度の割り振り先を決定する処理内容(S211)を示すフローチャートである。以下、割振部244が分割ジョブデータの再度の割り振り先を決定する処理内容について、図10を参照して説明する。
FIG. 10 is a flowchart showing the processing contents (S211) in which the
図10に示されるフローチャートにおいて、S401〜S403、およびS405の処理は、図7に示されるフローチャートにおける、S301〜S303、およびS305の処理と同一のため、説明を割愛する。 In the flowchart shown in FIG. 10, the processes of S401 to S403 and S405 are the same as the processes of S301 to S303 and S305 in the flowchart shown in FIG.
S404において、評価部246は、オブジェクトデータの使用状況を、候補となる画像処理部260〜280ごとに評価する。本実施形態においては、オブジェクトデータの情報は、状態フィールド251、データサイズフィールド252、参照回数フィールド253それぞれに記録される情報のように、項目ごとに数値化された情報を含む。評価部246は、項目ごとに数値化された情報を演算することにより、オブジェクトデータの使用状況を、画像処理部260〜280ごとに評価する。
In step S404, the evaluation unit 246 evaluates the usage status of the object data for each candidate
評価部246は、画像処理部ごとにエラーとなったオブジェクトデータのポイントを算出する。評価部246は、合計ポイントが最も多い画像処理部を、エラーとなった分割ジョブデータに含まれるものと同じ種類のオブジェクトデータを処理するのに、最も適した画像処理部と評価する。次いで、割振部244は、評価部246の評価に基づいて、分割ジョブデータの再度の割り振り先となる画像処理部を選択する。
The evaluation unit 246 calculates a point of object data in which an error occurs for each image processing unit. The evaluation unit 246 evaluates the image processing unit having the largest total points as the most suitable image processing unit for processing the same type of object data as included in the divided job data in error. Next, the allocating
本実施形態においては、オブジェクトデータの情報から算出されたポイントが多いほど、対応する画像処理部が、キャッシュされたオブジェクトデータを再利用できる可能性が高くなるようにポイントが付与されている。そのため、評価部246は、分割ジョブデータに含まれるものと同じ種類のオブジェクトデータに対応するキャッシュデータを再利用できる可能性が高い画像処理部として、高く評価する。 In the present embodiment, points are given so that the more points calculated from the object data information, the higher the possibility that the corresponding image processing unit can reuse the cached object data. Therefore, the evaluation unit 246 highly evaluates as an image processing unit that is highly likely to be able to reuse cache data corresponding to the same type of object data included in the divided job data.
状態フィールド251の付与ポイントについては、「処理中」に2ポイント、「処理済」に1ポイント、「エラー」に0ポイントがそれぞれ付与される。これは、分割データが処理中の状態であれば、当該分割データに含まれるオブジェクトデータがキャッシュメモリに保存されている可能性が高いため、状態フィールド251の中で最も多いポイントが付与される。一方、分割ジョブデータの状態がエラーであった場合、対応するオブジェクトデータの正当性を保証できないため、0ポイントが付与される。
With respect to the granted points in the
データサイズフィールド252の付与ポイントについては、オブジェクトデータのデータサイズが大きいものについては優先して中間データをキャッシュ保存させるため、データサイズ値がそのままポイントとして付与される。
With respect to the given points in the
参照回数フィールド253の付与ポイントについては、オブジェクトデータの参照回数が多いものについては繰り返し処理が行われるため、参照回数がそのままポイントとして付与される。
With respect to the given points in the
本実施形態では、評価部246は、状態フィールド251、データサイズフィールド252、参照回数フィールド253それぞれで付与されたポイントを掛け合わせ、算出された総ポイントに基づいて、画像処理部を評価する。
In the present embodiment, the evaluation unit 246 multiplies the points assigned in the
オブジェクトデータの総ポイント数=(状態のポイント)×(データサイズのポイント)×(参照回数のポイント)
以下、実施形態1と同様に、図8を参照して制御部210のリトライ処理内容を説明する。まず、割振部244は、記録テーブル250の対応関係を参照し、前回分割ジョブデータを処理した画像処理部とは異なる他の画像処理部に対して、当該分割ジョブデータを再度割り振る(S211)。このとき、割振部244は、分割ジョブデータ380に含まれるオブジェクトデータの情報を取得する(S401)。
Total points of object data = (state points) x (data size points) x (reference count points)
Hereinafter, as in the first embodiment, the retry processing contents of the
図8の例において、画像処理部3(280)が分割ジョブデータ380の処理を行った処理内容は、「画像処理部3:JobA:Page6」というデータ形式で記録テーブル250に記録されている。さらに、記録テーブル250には、「画像処理部3:JobA:Page6」と「ObjB」との対応関係と、「画像処理部3:JobA:Page6」と「ObjB」との対応関係とがそれぞれ記録されている。
In the example of FIG. 8, the processing content that the image processing unit 3 (280) has processed the divided
次いで、割振部244は、記録テーブル250に記録されているオブジェクトデータの情報から、当該オブジェクトを使用している画像処理部を検索する(S402)。
Next, the
図8の例において、「ObjB」を使用している画像処理部は「画像処理部1:JobA:Page4」と、「画像処理部2:JobA:Page2」であることが記録テーブル250に記録されている。同様に、「ObjC」を使用している画像処理部は「画像処理部1:JobA:Page1」であることが記録テーブル250に記録されている。すなわち、割振部244は、オブジェクトデータ312が、分割ジョブデータ340と360とに含まれており、それぞれ画像処理部2(270)と、画像処理部1(260)とによって使用されていることを検索結果として特定することができる。同様に、割振部244は、オブジェクトデータ313が、分割ジョブデータ330に含まれており、画像処理部1(260)によって使用されていることを検索結果として特定することができる。
In the example of FIG. 8, the image processing units using “ObjB” are recorded in the recording table 250 as “image processing unit 1: JobA: Page4” and “image processing unit 2: JobA: Page2”. ing. Similarly, an image processing unit using “ObjC” is recorded in the recording table 250 as “image processing unit 1: JobA: Page1”. That is, the
次いで、評価部246は、特定された画像処理部1(260)と、画像処理部2(270)とについて、オブジェクトデータの使用状況を、候補となる画像処理部ごとに評価する(S404)。 Next, the evaluation unit 246 evaluates the usage status of the object data for each candidate image processing unit for the identified image processing unit 1 (260) and the image processing unit 2 (270) (S404).
図9に示される通り、画像処理部1(260)に対応するオブジェクトデータ312の情報は、「状態:処理済」「データサイズ:6542」「参照回数:3」である。そのため、オブジェクトデータ312の合計ポイント数は、(処理済:1)×(サイズ:6542)×(参照回数:3)=19626である。
As shown in FIG. 9, the information of the
同様に、画像処理部1(260)に対応するオブジェクトデータ313の情報は、「状態:処理中」「データサイズ:532」「参照回数:2」である。そのため、当該オブジェクトの合計ポイント数は、(処理中:2)×(サイズ:532)×(参照回数:2)=2128である。
Similarly, the information of the
同様に、画像処理部2(270)に対応するオブジェクトデータ312の情報は、「状態:処理中」「データサイズ:6542」「参照回数:3」である。そのため、当該オブジェクトの合計ポイント数は、(処理中:2)×(サイズ:6542)×(参照回数:3)=39252である。
Similarly, the information of the
以上より、画像処理部1(260)の総ポイント数は21754であり、画像処理部2(270)の総ポイント数は29252となる。評価部246は、分割ジョブデータ380に含まれるものと同じ種類のオブジェクトを使用して処理するのに、画像処理部2(270)が最も適した画像処理部であると評価する。
From the above, the total number of points of the image processing unit 1 (260) is 21754, and the total number of points of the image processing unit 2 (270) is 29252. The evaluation unit 246 evaluates that the image processing unit 2 (270) is the most suitable image processing unit to process using the same type of objects as those included in the divided
割振部244は、評価部246の評価に基づいて、画像処理部2(270)を選択する(S404)。次いで、割振部244は、画像処理部2(270)を、分割ジョブデータ380の再割り振り先と決定する(S405)。
The
本実施形態においては、キャッシュ部262〜282は、記録テーブル250のオブジェクトデータの情報に基づいて、各オブジェクトデータを保存するか否かの判断を行うことができる。この場合、割振部244は、当該オブジェクトデータの情報を含む分割ジョブデータ330〜380を画像処理部260〜280に割り振ることにより、キャッシュ部262〜282が記録テーブル250のオブジェクトデータの情報を参照することができる。かかる構成により、キャッシュ部262〜282は、オブジェクトデータのデータサイズが大きいもの、または参照回数が多いものを優先的にキャッシュ保存することが可能となる。そして、分割ジョブデータのリトライ処理の際に、キャッシュされたオブジェクトデータを再利用する確率を向上させることができる。
In the present embodiment, the cache units 262 to 282 can determine whether to save each object data based on the object data information of the recording table 250. In this case, the
図11は、画像処理部260〜280が、オブジェクトデータの情報に基づいて中間データのキャッシュ保存を行うか否かの判定処理内容を示すフローチャートである。以下、図11のフローチャートを参照して、画像処理部260〜280の判定処理内容について説明する。
FIG. 11 is a flowchart showing the contents of determination processing for determining whether or not the
S501において、画像処理部260〜280は、分割ジョブデータに含まれるオブジェクトデータと、オブジェクトデータの情報とを取得する。本実施形態におけるオブジェクトデータの情報は、参照回数などが相当する。
In step S501, the
S502において、画像処理部260〜280は、S501で取得したオブジェクトデータに対応するキャッシュデータが存在するかを判定する。キャッシュデータが存在する場合(S502:Yes)、画像処理部260〜280は、キャッシュ部262〜282の対応するキャッシュメモリに保存されているキャッシュデータを用いて処理を行い、その後本フローチャートの処理を終了する。一方、キャッシュデータが存在しない場合(S502:No)、S503において、当該オブジェクトデータの参照回数が閾値以上であるかを判定する。
In step S502, the
参照回数が少ない場合(S503:No)、オブジェクトデータが再び参照されて処理される可能性が低いため、記憶領域が限られるキャッシュメモリを専有しないように、当該オブジェクトデータに係るキャッシュ保存を行わないようにする(S507)。参照回数が閾値以上であると判定された場合(S503:Yes)、S504において当該オブジェクトデータのデータサイズが閾値以上であるかを判定する。オブジェクトデータのデータサイズが小さければ、キャッシュメモリを用いなくても、画像処理部260〜280の処理速度に影響を及ぼさないため、キャッシュ部262〜282は、データサイズの大きいオブジェクトデータに係るキャッシュ保存を優先する。
When the number of references is small (S503: No), the object data is unlikely to be referred to and processed again, so that the cache storage related to the object data is not performed so that the cache memory having a limited storage area is not occupied. (S507). If it is determined that the reference count is equal to or greater than the threshold (S503: Yes), it is determined in S504 whether the data size of the object data is equal to or greater than the threshold. If the data size of the object data is small, the cache units 262 to 282 do not affect the processing speed of the
データサイズが閾値以上であると判定された場合(S504:Yes)、S506において、RIP処理部261〜281は分割ジョブデータを処理し、その後キャッシュ部262〜282は、オブジェクトデータをキャッシュメモリに保存する。一方、データサイズが閾値以下であると判定された場合(S504:No)、S507において、RIP処理部261〜281は分割ジョブデータを処理した後、キャッシュ部262〜282は、オブジェクトデータを破棄して本フローチャートの処理を終了する。 If it is determined that the data size is equal to or larger than the threshold (S504: Yes), in S506, the RIP processing units 261 to 281 process the divided job data, and then the cache units 262 to 282 store the object data in the cache memory. To do. On the other hand, if it is determined that the data size is equal to or smaller than the threshold (S504: No), in S507, the RIP processing units 261 to 281 process the divided job data, and then the cache units 262 to 282 discard the object data. Then, the process of this flowchart ends.
以上説明した通り、本実施形態における印刷装置においては、実施形態1の特徴に加えて、以下の効果を奏する。本実施形態における印刷装置は、複数の画像処理部のうち、一部の画像処理部の処理が継続できなくなった場合でも、いずれの画像処理部が処理を行うのに適しているかの評価に基づいて、分割ジョブデータを再度割り振る。このため、エラーとなった分割ジョブデータに対応するキャッシュデータを再利用できる可能性が高いものを、分割ジョブデータの再割り振り先に選択することができ、処理の継続と処理の効率化を図ることができる。 As described above, the printing apparatus according to the present embodiment has the following effects in addition to the features of the first embodiment. The printing apparatus according to the present embodiment is based on an evaluation of which image processing unit is suitable for performing processing even when processing of some of the image processing units cannot be continued among the plurality of image processing units. Allocate the split job data again. For this reason, the cache data corresponding to the divided job data in error can be reused, and the divided job data can be re-allocated, so that the processing can be continued and the processing efficiency can be improved. be able to.
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Claims (14)
入力されたジョブデータをサブデータに分割する分割手段と、
サブデータを前記複数の画像処理手段に割り振る割振手段と、
サブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理手段とを対応付けて記録する管理手段と、
サブデータが正常に処理されたかを判定する判定手段とを備え、
前記サブデータが正常に処理されなかった場合、前記割振手段は、前記記録に基づいて、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段に対して、前記サブデータを再度割り振る
ことを特徴とする制御装置。 In a control device that controls parallel processing by a plurality of image processing means,
A dividing means for dividing the input job data into sub-data;
Allocating means for allocating sub-data to the plurality of image processing means;
Management means for recording the object data information included in the sub data in association with the image processing means of the allocation destination;
Determination means for determining whether the sub-data has been processed normally,
If the sub-data is not processed normally, the allocating unit sends the sub-data to another image processing unit different from the image processing unit that could not process the sub-data based on the recording. A control device characterized by reallocation.
ことを特徴とする請求項1に記載の制御装置。 If the sub-data is not processed normally, the allocating unit reallocates the sub-data to the image processing unit that uses the most object data of the same type as that included in the sub-data. The control device according to claim 1.
前記サブデータが正常に処理されなかった場合、前記割振手段は、前記評価に基づいて、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段に対して、前記サブデータを再度割り振る
ことを特徴とする請求項1または2に記載の制御装置。 An evaluation unit that evaluates the usage status of the object data by the plurality of image processing units for each image processing unit;
If the sub-data is not processed normally, the allocating means sends the sub-data to another image processing means different from the image processing means that could not process the sub-data based on the evaluation. The control device according to claim 1, wherein the control device is reassigned.
ことを特徴とする請求項3に記載の制御装置。 The control device according to claim 3, wherein the evaluation unit highly evaluates an image processing unit that has a high possibility of reusing object data of the same type as that included in the sub-data.
前記評価手段は、項目ごとに数値化された前記情報を演算することにより、前記複数の画像処理手段による前記オブジェクトデータの使用状況を、画像処理手段ごとに評価する
ことを特徴とする請求項3または4に記載の制御装置。 The information of the object data includes information quantified for each item,
The said evaluation means evaluates the usage condition of the said object data by these image processing means for every image processing means by calculating the said information digitized for every item. Or the control apparatus of 4.
前記サブデータからビットマップデータを生成するRIP処理部と、
前記サブデータに含まれる前記オブジェクトデータをキャッシュ保存するキャッシュ手段と、
生成された前記ビットマップデータを出力する出力手段とを備える
ことを特徴とする請求項6に記載の制御装置。 The image processing means includes
A RIP processing unit for generating bitmap data from the sub-data;
Cache means for caching and storing the object data included in the sub-data;
The control device according to claim 6, further comprising an output unit that outputs the generated bitmap data.
ことを特徴とする請求項7に記載の制御装置。 The control device according to claim 7, wherein the output unit further outputs report data including a processing result of the sub data.
ことを特徴とする請求項8に記載の制御装置。 9. The control device according to claim 8, wherein, when the processing of the sub data is an error, the output unit outputs the report data including information for specifying the type of error.
前記割振手段は、前記サブデータの処理が可能なエラーであると判定された場合にのみ、前記サブデータを再度割り振る
ことを特徴とする請求項9に記載の制御装置。 The determination means determines, from the report data, whether or not the image processing means different from the image processing means that could not process the sub data is an error that can process the sub data,
The control device according to claim 9, wherein the allocation unit reallocates the sub data only when it is determined that the error is a processable sub data.
生成されたビットマップデータの異常であると判定した場合、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段が、前記サブデータの処理が可能であると判定し、
前記複数の画像処理手段を構成するハードウェアの異常であると判定した場合、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段が、前記サブデータの処理が不可能であると判定する
ことを特徴とする請求項10に記載の制御装置。 The determination means is based on the report data,
When it is determined that the generated bitmap data is abnormal, it is determined that another image processing unit different from the image processing unit that has not been able to process the sub data is capable of processing the sub data,
If it is determined that the hardware constituting the plurality of image processing means is abnormal, another image processing means different from the image processing means that could not process the sub data cannot process the sub data. The control device according to claim 10, wherein the control device is determined to be present.
入力されたジョブデータをサブデータに分割する分割ステップと、
サブデータを前記複数の画像処理手段に割り振る割振ステップと、
サブデータに含まれるオブジェクトデータの情報と、割り振り先の画像処理手段とを対応付けて記録する管理ステップと、
サブデータが正常に処理されたかを判定する判定ステップとを備え、
前記サブデータが正常に処理されなかった場合、前記割振ステップは、前記記録に基づいて、前記サブデータを処理できなかった画像処理手段とは異なる他の画像処理手段に対して、前記サブデータを再度割り振る
ことを特徴とする制御方法。 In a control method for controlling parallel processing by a plurality of image processing means,
A division step for dividing the input job data into sub-data;
Allocating sub-data to the plurality of image processing means;
A management step for associating and recording information of object data included in the sub-data and an image processing means of an allocation destination;
A determination step for determining whether the sub-data has been processed normally,
If the sub-data is not processed normally, the allocating step outputs the sub-data to another image processing unit different from the image processing unit that could not process the sub-data based on the recording. A control method characterized by reallocation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015034044A JP2016155280A (en) | 2015-02-24 | 2015-02-24 | Control device, control method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015034044A JP2016155280A (en) | 2015-02-24 | 2015-02-24 | Control device, control method and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016155280A true JP2016155280A (en) | 2016-09-01 |
Family
ID=56824676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015034044A Pending JP2016155280A (en) | 2015-02-24 | 2015-02-24 | Control device, control method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016155280A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018041274A (en) * | 2016-09-07 | 2018-03-15 | キヤノン株式会社 | Information processing apparatus, control method thereof, printing system, and program |
-
2015
- 2015-02-24 JP JP2015034044A patent/JP2016155280A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018041274A (en) * | 2016-09-07 | 2018-03-15 | キヤノン株式会社 | Information processing apparatus, control method thereof, printing system, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4417153B2 (en) | Parallel printing system | |
| JP5663941B2 (en) | Printed document conversion apparatus and program | |
| US8782371B2 (en) | Systems and methods for memory management for rasterization | |
| JP5238526B2 (en) | System and method for print resource management | |
| JP5333763B2 (en) | Image processing apparatus, image processing system, and image processing program | |
| JP5594470B2 (en) | Printing control apparatus, printing system, and program | |
| US8625133B2 (en) | Print data processing apparatus, print data processing method, and storage medium | |
| EP2713263B1 (en) | Conversion time prediction apparatus, recording medium, and conversion time prediction method | |
| CN103034618A (en) | Image processing device | |
| US8760707B2 (en) | Print data processing apparatus, cache processing method, and storage medium | |
| US8928914B2 (en) | Image processing apparatus, information processing method, and storage medium | |
| US8334989B2 (en) | Printing device and method for parallel processing of data | |
| CN103927139B (en) | Printing data processing system and print data processing method | |
| JP4978556B2 (en) | Image processing apparatus, printing system, and program | |
| JP5471681B2 (en) | Image processing apparatus and image processing program | |
| US9250842B2 (en) | Image forming apparatus processing a plurality of pages in parallel | |
| JP2003044236A (en) | Image processing system and control method for image processing system | |
| JP2016155280A (en) | Control device, control method and program | |
| JP2020142507A (en) | Page complexity analysis for print job | |
| US11062185B2 (en) | Converting apparatus, printing system, and non-transitory computer readable medium | |
| US20200089454A1 (en) | Printing system, printing method and computer-readable recording medium | |
| US10241732B2 (en) | Processing print jobs with a single sheet job model | |
| JP2015168132A (en) | Image forming system and print data drawing expansion method for image forming system | |
| JP6539022B2 (en) | PRINTING APPARATUS, PROCESSING METHOD, AND PROGRAM | |
| JP6078954B2 (en) | Image processing device |