[go: up one dir, main page]

JP7172193B2 - Image forming device and program - Google Patents

Image forming device and program Download PDF

Info

Publication number
JP7172193B2
JP7172193B2 JP2018126396A JP2018126396A JP7172193B2 JP 7172193 B2 JP7172193 B2 JP 7172193B2 JP 2018126396 A JP2018126396 A JP 2018126396A JP 2018126396 A JP2018126396 A JP 2018126396A JP 7172193 B2 JP7172193 B2 JP 7172193B2
Authority
JP
Japan
Prior art keywords
job
type
divided
image forming
forming apparatus
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.)
Active
Application number
JP2018126396A
Other languages
Japanese (ja)
Other versions
JP2020006514A (en
Inventor
武士 前川
佑樹 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2018126396A priority Critical patent/JP7172193B2/en
Publication of JP2020006514A publication Critical patent/JP2020006514A/en
Application granted granted Critical
Publication of JP7172193B2 publication Critical patent/JP7172193B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Description

本発明は、MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))などの画像形成装置およびそれに関連する技術に関する。 The present invention relates to an image forming apparatus such as an MFP (Multi-Functional Peripheral) and technology related thereto.

処理の高速化および消費電力の低減等を図るため、MFPなどの画像形成装置を制御するCPUとして、マルチコアプロセッサを用いることが提案されている(特許文献1参照)。 In order to speed up processing and reduce power consumption, it has been proposed to use a multi-core processor as a CPU for controlling an image forming apparatus such as an MFP (see Patent Document 1).

特開2016-91305号公報JP 2016-91305 A

ところで、たとえば4つのコア(「コア1」~「コア4」)を有するCPUを用いて画像形成装置を制御するにあたり、複数のコアのそれぞれに対して各ジョブをその種類に応じて割り当てることが考えられる。 By the way, in controlling an image forming apparatus using a CPU having four cores (“core 1” to “core 4”), for example, each job can be assigned to each of the plurality of cores according to its type. Conceivable.

たとえば、「コア1」には、「リアルタイムジョブ」(所定程度よりも高いリアルタイム性が要求されるジョブ)(たとえば、コピージョブおよびスキャンジョブ等)が割り当てられる。また、「コア2」には、「ラスタライズデータ生成ジョブ(RIP処理あるいはラスタライズジョブとも称する)」(たとえば、PCプリントにて送信されてきたデータに基づくRIP処理等)が割り当てられる。さらに、「コア3」には、各種のアプリケーションプログラムの実行ジョブ(アプリケーション実行ジョブ)が割り当てられ、「コア4」には、パネル操作に関するジョブ(パネル操作管理ジョブ)が割り当てられる。 For example, "core 1" is assigned a "real-time job" (a job that requires higher real-time performance than a predetermined degree) (for example, a copy job, a scan job, etc.). "Core 2" is assigned a "rasterized data generation job (also referred to as RIP processing or rasterization job)" (for example, RIP processing based on data transmitted by PC printing). Further, "core 3" is assigned execution jobs of various application programs (application execution jobs), and "core 4" is assigned jobs related to panel operations (panel operation management jobs).

この場合、ラスタライズジョブ(RIP処理)の中には非常に高い処理負荷を有するものが存在し、ラスタライズジョブの内容に依っては「コア2」での処理負荷率が非常に高い値に到達する可能性が存在する。「コア2」での処理負荷率が100%に到達すると、コア間通信等が阻害され、他のコアでの動作が出来なくなる。たとえば、ラスタライズジョブ実行により「コア2」での処理負荷率が100%に到達すると、「コア1」でリアルタイムジョブを正常に実行することができなくなる。 In this case, some rasterization jobs (RIP processing) have a very high processing load, and depending on the content of the rasterization job, the processing load factor in "core 2" reaches a very high value. Possibilities exist. When the processing load factor of "core 2" reaches 100%, communication between cores is hindered, and other cores cannot operate. For example, when the processing load rate of "core 2" reaches 100% due to execution of a rasterize job, real-time jobs cannot be normally executed on "core 1."

ここにおいて、リアルタイムジョブ(コピージョブおよびスキャンジョブ等)は、ユーザ操作に応じて直ちに実行されることが好ましく、高いリアルタイム性が要求されるジョブである。当該リアルタイムジョブの正常な実行が阻害されることは回避すべきである。 Here, real-time jobs (copy jobs, scan jobs, etc.) are jobs that are preferably executed immediately in response to user operations and require high real-time performance. Obstruction of normal execution of the real-time job should be avoided.

このような事態の回避策としては、ラスタライズジョブとリアルタイムジョブとの重複実行を完全に排除することが一案である。具体的には、ラスタライズジョブが既に実行されている期間においてはリアルタイムジョブの実行が常に禁止され、ラスタライズジョブの実行完了を待って当該リアルタイムジョブの実行が開始されればよい。逆に、リアルタイムジョブが既に実行されている期間においては、ラスタライズジョブの実行が常に禁止され、リアルタイムジョブの実行完了を待ってラスタライズジョブの実行が開始されればよい。 One way to avoid such a situation is to completely eliminate overlapping execution of rasterization jobs and real-time jobs. Specifically, the execution of the real-time job is always prohibited while the rasterization job is already being executed, and the execution of the real-time job is started after the execution of the rasterization job is completed. Conversely, while the real-time job is already being executed, the execution of the rasterization job is always prohibited, and the execution of the rasterization job is started after the execution of the real-time job is completed.

しかしながら、このような動作は、リアルタイムジョブあるいはラスタライズジョブの実行完了時点の遅延を招くなど、画像形成装置の効率を低下させる。 However, such an operation reduces the efficiency of the image forming apparatus, such as delaying the completion of execution of a real-time job or a rasterization job.

そこで、この発明は、画像形成装置においてより効率的な動作を実現することが可能な技術を提供することを課題とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a technique capable of realizing more efficient operation in an image forming apparatus.

上記課題を解決すべく、請求項1の発明は、画像形成装置であって、複数のコアを有するCPUを用いて前記画像形成装置の動作を制御する制御手段と、前記複数のコアのうちの第1コアを用いて制御されるべき第1種類のジョブを受け付ける第1受付手段と、前記複数のコアのうちの第2コアを用いて制御されるべき第2種類のジョブを受け付ける第2受付手段と、を備え、前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであり、前記第1種類のジョブは、その即時実行要求の必要性が前記第2種類のジョブよりも高いジョブであり、前記制御手段は、前記第1種類のジョブと前記第2種類のジョブとのうちの一方のジョブの実行中に他方のジョブが受け付けられた際に、仮に前記第2コアのみで前記第2種類のジョブを実行すると前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間との重複期間であって前記他方のジョブの受付後に発生する重複期間において前記第2コアでの処理負荷率が所定値に到達することが前記第2種類のジョブの内容に基づいて予測される場合、前記第2種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記第2種類のジョブとを並列的に実行することを特徴とする。 In order to solve the above-mentioned problems, the invention of claim 1 is an image forming apparatus, comprising: a control means for controlling the operation of the image forming apparatus using a CPU having a plurality of cores; a first receiving means for receiving a first type job to be controlled using a first core; and a second receiving means for receiving a second type job to be controlled using a second core among the plurality of cores wherein the job of the second type is a rasterized data generation job for generating rasterized data related to a print output, and the job of the first type is a job of the second type whose immediate execution request is required. and the control means, when one of the first type job and the second type job is being executed and the other job is accepted, if the When the job of the second type is executed only by the second core , the period of execution of the job of the first type overlaps the period of execution of the job of the second type, and the overlap occurs after the other job is received. If it is predicted based on the content of the second type job that the processing load rate of the second core reaches a predetermined value during the period, the second type job is selected among the plurality of cores. executing the jobs of the first type and the jobs of the second type in parallel by dividing the work by two or more cores to keep the processing load rate of the second core lower than the predetermined value; characterized by

請求項2の発明は、請求項1の発明に係る画像形成装置において、前記制御手段は、前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間とが重複するものの仮に前記第2コアのみで前記第2種類のジョブを実行しても前記第2コアでの処理負荷率が前記所定値に到達しないことが予測される場合、前記第2種類のジョブを前記第2コアで実行させつつ前記第1種類のジョブと前記第2種類のジョブとを並列的に実行することを特徴とする。 According to a second aspect of the present invention, in the image forming apparatus according to the first aspect of the invention, the control means is configured to control the above-described When it is predicted that the processing load factor of the second core will not reach the predetermined value even if the second type of job is executed only by the second core , the second type of job is executed by the second core. and executing the first type job and the second type job in parallel.

請求項3の発明は、請求項1または請求項2の発明に係る画像形成装置において、前記制御手段は、前記第2種類のジョブを複数の区分ジョブに区分し、前記第1種類のジョブの実行期間と前記複数の区分ジョブのうちの一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行することを特徴とする。 A third aspect of the present invention is the image forming apparatus according to the first or second aspect of the invention, wherein the control means divides the second type of job into a plurality of divided jobs, and divides the first type of job into If the execution period overlaps with the execution period of one of the plurality of classified jobs, and if the one classified job is executed only by the second core , the processing load rate of the second core is increased to the predetermined level. If it is predicted that the value will be reached, the one divided job is divided into a plurality of divided jobs, and two or more cores out of the plurality of cores share and execute the plurality of divided jobs. It is characterized in that the processing load factor in the core is kept lower than the predetermined value, and the first type job and the one classified job are executed in parallel.

請求項4の発明は、請求項3の発明に係る画像形成装置において、前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複するものの仮に前記第2コアのみで前記一の区分ジョブを実行しても前記第2コアでの処理負荷率が前記所定値に到達しないことが予測される場合、前記一の区分ジョブを前記第2コアで実行させつつ前記第1種類のジョブと前記一の区分ジョブとを並列的に実行することを特徴とする。 According to a fourth aspect of the invention, there is provided the image forming apparatus according to the third aspect of the invention, wherein although the execution period of the first type of job and the execution period of the one classified job overlap, If it is predicted that the processing load factor of the second core will not reach the predetermined value even if the one classified job is executed only by two cores, the one classified job is executed by the second core. and executing the first type job and the one classified job in parallel.

請求項5の発明は、請求項3の発明に係る画像形成装置において、前記第2種類のジョブは、印刷出力物の複数のページに関するラスタライズデータを生成するラスタライズデータ生成ジョブであり、前記制御手段は、前記第2種類のジョブをページ単位で前記複数の区分ジョブに区分することを特徴とする。 The invention of claim 5 is the image forming apparatus according to the invention of claim 3, wherein the second type of job is a rasterized data generation job for generating rasterized data relating to a plurality of pages of a printed output, and the control means is characterized in that the second type of job is classified into the plurality of classified jobs by page.

請求項6の発明は、請求項5の発明に係る画像形成装置において、前記制御手段は、前記一の区分ジョブを所定ライン数単位で前記複数の分割ジョブに分割することを特徴とする。 A sixth aspect of the present invention is the image forming apparatus according to the fifth aspect, wherein the control means divides the one divided job into the plurality of divided jobs in units of a predetermined number of lines.

請求項7の発明は、請求項5の発明に係る画像形成装置において、前記制御手段は、前記一の区分ジョブを基本色成分単位で前記複数の分割ジョブに分割することを特徴とする。 A seventh aspect of the invention is the image forming apparatus according to the fifth aspect of the invention, wherein the control means divides the one divided job into the plurality of divided jobs in units of basic color components.

請求項8の発明は、請求項3の発明に係る画像形成装置において、前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであり、前記制御手段は、前記第2種類のジョブを所定ライン数単位で前記複数の区分ジョブに区分することを特徴とする。 The invention of claim 8 is the image forming apparatus according to the invention of claim 3, wherein the second type of job is a rasterized data generation job for generating rasterized data relating to a print output, and the control means It is characterized in that the two types of jobs are classified into the plurality of classified jobs in units of a predetermined number of lines.

請求項9の発明は、請求項8の発明に係る画像形成装置において、前記制御手段は、前記一の区分ジョブを前記所定ライン数単位よりも細かい単位で前記複数の分割ジョブに分割することを特徴とする。 According to a ninth aspect of the invention, in the image forming apparatus according to the eighth aspect of the invention, the control means divides the one divided job into the plurality of divided jobs in units smaller than the predetermined number of lines. Characterized by

請求項10の発明は、請求項8の発明に係る画像形成装置において、前記制御手段は、前記一の区分ジョブを基本色成分単位で前記複数の分割ジョブに分割することを特徴とする。 According to a tenth aspect of the present invention, in the image forming apparatus according to the eighth aspect of the invention, the control means divides the one divided job into the plurality of divided jobs in units of basic color components.

請求項11の発明は、請求項1から請求項10のいずれかの発明に係る画像形成装置において、前記制御手段は、前記第2種類のジョブの対象画像に基づいて、前記第2種類のジョブの実行により前記第2コアでの処理負荷率が前記所定値に到達するか否か、を予測することを特徴とする。 (11) In the image forming apparatus according to any one of (1) to (10), the control means controls the second type of job based on the target image of the second type of job. It is characterized by predicting whether or not the processing load factor in the second core will reach the predetermined value by executing the above.

請求項12の発明は、請求項11の発明に係る画像形成装置において、前記制御手段は、前記対象画像の解像度と前記対象画像に関するレイヤーの数と前記対象画像に関する特定種類のオブジェクト数とのうちのいずれか1つ以上に基づいて、前記第2種類のジョブの実行により前記第2コアでの処理負荷率が前記所定値に到達するか否か、を予測することを特徴とする。 According to a twelfth aspect of the invention, in the image forming apparatus according to the eleventh aspect of the invention, the control means selects the resolution of the target image, the number of layers related to the target image, and the number of specific types of objects related to the target image. It is characterized by predicting whether or not the processing load factor of the second core will reach the predetermined value by executing the second type of job based on one or more of the above.

請求項13の発明は、請求項3の発明に係る画像形成装置において、前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合において、所定条件が成立するときには、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行し、前記所定条件が成立しないときには、前記一の区分ジョブの実行期間と前記第1種類のジョブの実行期間とが重複しないように前記一の区分ジョブの実行タイミングを変更することを特徴とする。 A thirteenth aspect of the invention is the image forming apparatus according to the third aspect . When it is predicted that the processing load factor of the second core will reach the predetermined value when the one classified job is executed only by two cores, and when a predetermined condition is satisfied, the one classified job is executed a plurality of times. and executing the plurality of divided jobs shared by two or more of the plurality of cores to keep the processing load rate of the second core lower than the predetermined value; type job and the one classified job are executed in parallel, and when the predetermined condition is not satisfied, the execution period of the one classified job and the execution period of the first type job do not overlap. It is characterized by changing the execution timing of one classified job.

請求項14の発明は、請求項13の発明に係る画像形成装置において、前記所定条件は、前記一の区分ジョブに関する前記複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能であることを含むことを特徴とする。 A fourteenth aspect of the invention is the image forming apparatus according to the thirteenth aspect of the invention, wherein the predetermined condition is that each of the plurality of divided jobs related to the one classified job does not use image data of other divided jobs. It is characterized by including being independently executable.

請求項15の発明は、請求項14の発明に係る画像形成装置において、前記複数の分割ジョブは、前記一の区分ジョブに関する画像を領域分割した複数の分割領域をそれぞれ処理対象とするジョブであり、前記所定条件は、前記複数の分割ジョブのうちの各分割ジョブに関する画像処理が、前記複数の分割ジョブのうちの他の分割ジョブの分割領域の画像データを用いる特定の画像処理を有しないことを含むことを特徴とする。 According to a fifteenth aspect of the invention, in the image forming apparatus according to the fourteenth aspect of the invention, the plurality of divided jobs are jobs for processing a plurality of divided areas obtained by dividing an image related to the one divided job. , the predetermined condition is that image processing for each divided job of the plurality of divided jobs does not include specific image processing using image data of divided areas of other divided jobs among the plurality of divided jobs. characterized by comprising

請求項16の発明は、請求項15の発明に係る画像形成装置において、前記特定の画像処理は、誤差拡散処理と画像フィルタ処理とグラデーション処理とのいずれかを含むことを特徴とする。 A sixteenth aspect of the present invention is the image forming apparatus according to the fifteenth aspect of the invention, wherein the specific image processing includes any one of error diffusion processing, image filtering processing, and gradation processing.

請求項17の発明は、請求項14の発明に係る画像形成装置において、前記複数の分割ジョブは、前記一の区分ジョブに関する画像を基本色成分ごとに分割した複数の色成分画像をそれぞれ処理対象とするジョブであり、前記所定条件は、前記複数の分割ジョブのうちの各分割ジョブに関する画像処理が、前記複数の分割ジョブのうちの他の分割ジョブの色成分画像の画像データを用いる特定の画像処理を有しないことを含むことを特徴とする。 A seventeenth aspect of the present invention is the image forming apparatus according to the fourteenth aspect of the invention, wherein the plurality of divided jobs are processing targets of a plurality of color component images obtained by dividing the image related to the one classified job for each basic color component. and the predetermined condition is that image processing for each divided job among the plurality of divided jobs uses image data of a color component image of another divided job among the plurality of divided jobs. It is characterized by including no image processing.

請求項18の発明は、請求項17の発明に係る画像形成装置において、前記特定の画像処理は、色変換処理を含むことを特徴とする。 An eighteenth aspect of the invention is characterized in that, in the image forming apparatus according to the seventeenth aspect of the invention, the specific image processing includes color conversion processing.

請求項19の発明は、請求項3の発明に係る画像形成装置において、前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合において、所定条件が成立するときには、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行し、前記所定条件が成立しないときには、前記第1種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第1種類のジョブの所要時間を低減しつつ、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複しないように前記一の区分ジョブの実行タイミングを変更することを特徴とする。 A nineteenth aspect of the present invention is the image forming apparatus according to the third aspect of the invention, wherein the control means controls the execution period of the first type of job and the execution period of the one classified job to overlap , When it is predicted that the processing load factor of the second core will reach the predetermined value when the one classified job is executed only by two cores, and when a predetermined condition is satisfied, the one classified job is executed a plurality of times. and executing the plurality of divided jobs shared by two or more of the plurality of cores to keep the processing load rate of the second core lower than the predetermined value; type job and the one classified job are executed in parallel, and when the predetermined condition is not satisfied, the first type job is shared and executed by two or more cores among the plurality of cores. Changing the execution timing of the one classified job so that the execution period of the first type job and the execution period of the one classified job do not overlap while reducing the time required for the first type of job. Characterized by

請求項20の発明は、請求項1から請求項19のいずれかの発明に係る画像形成装置において、前記第1種類のジョブは、スキャンジョブとコピージョブとの少なくとも1つを含むことを特徴とする。
請求項21の発明は、請求項20の発明に係る画像形成装置において、前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであることを特徴とする。
請求項22の発明は、請求項1から請求項21のいずれかの発明に係る画像形成装置において、前記第1種類のジョブは、その即時実行要求の必要性が前記第2種類のジョブよりも高いジョブであることを特徴とする。
20. The image forming apparatus according to any one of claims 1 to 19 , wherein the first type of job includes at least one of a scan job and a copy job. do.
A twenty-first aspect of the present invention is the image forming apparatus according to the twenty-first aspect, wherein the second type of job is a rasterized data generation job for generating rasterized data relating to a printed output.
(22) In the image forming apparatus according to any one of (1) to (21), the first type of job has a greater need for an immediate execution request than the second type of job. It is characterized by being an expensive job.

請求項23の発明は、画像形成装置に内蔵されたコンピュータであって、複数のコアを有するCPUを備えるコンピュータに、a)前記複数のコアのうちの第1コアを用いて制御されるべき第1種類のジョブを受け付けるステップと、b)前記複数のコアのうちの第2コアを用いて制御されるべき第2種類のジョブを受け付けるステップと、c)前記第1種類のジョブと前記第2種類のジョブとのうちの一方のジョブの実行中に他方のジョブが受け付けられた際に、仮に前記第2コアのみで前記第2種類のジョブを実行すると前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間との重複期間であって前記他方のジョブの受付後に発生する重複期間において前記第2コアでの処理負荷率が所定値に到達することが前記第2種類のジョブの内容に基づいて予測される場合、前記第2種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記第2種類のジョブとを並列的に実行するステップと、を実行させるためのプログラムであることを特徴とする。
請求項24の発明は、請求項23の発明に係るプログラムにおいて、前記第1種類のジョブは、スキャンジョブとコピージョブとの少なくとも1つを含むことを特徴とする。
請求項25の発明は、請求項24の発明に係るプログラムにおいて、前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであることを特徴とする。
請求項26の発明は、請求項23から請求項25のいずれかの発明に係るプログラムにおいて、前記第1種類のジョブは、その即時実行要求の必要性が前記第2種類のジョブよりも高いジョブであることを特徴とする。
According to a twenty-third aspect of the present invention, there is provided a computer incorporated in an image forming apparatus, the computer including a CPU having a plurality of cores; b) accepting a second type of job to be controlled using a second core of the plurality of cores; c) accepting the first type of job and the second type of job; When one of the types of jobs is being executed and the other job is accepted, if the second type of job is executed only by the second core , the execution period of the first type of job is reduced. The processing load factor of the second core reaching a predetermined value in a period overlapping with the execution period of the second type of job and occurring after the other job is received. when prediction is made based on the content of the type of job, the second type of job is shared by two or more cores among the plurality of cores, and the processing load rate of the second core is set to the predetermined value. and executing the first type of job and the second type of job in parallel.
A twenty-fourth aspect of the invention is characterized in that, in the program according to the twenty-third aspect of the invention, the first type of job includes at least one of a scan job and a copy job.
A twenty-fifth aspect of the invention is characterized in that, in the program according to the twenty-fourth aspect of the invention, the second type of job is a rasterized data generation job for generating rasterized data relating to a printout.
A twenty-sixth aspect of the invention is directed to the program according to any one of the twenty-third to twenty-fifth aspects of the invention, wherein the first type of job has a higher need for an immediate execution request than the second type of job. It is characterized by

請求項1から請求項26に記載の発明によれば、画像形成装置において、より効率的な動作を実現することが可能である。 According to the inventions of claims 1 to 26 , it is possible to realize more efficient operation in the image forming apparatus.

印刷システムの構成を示す概略図である。1 is a schematic diagram showing the configuration of a printing system; FIG. MFPの機能ブロックを示す図である。3 is a diagram showing functional blocks of the MFP; FIG. 各ジョブを主に実行するコア(対応コア)を示す図である。FIG. 3 is a diagram showing cores (corresponding cores) that mainly execute each job; 第1実施形態に係る動作を示すフローチャートである。4 is a flowchart showing operations according to the first embodiment; 第1実施形態に係る動作を示すフローチャートである。4 is a flowchart showing operations according to the first embodiment; 第1実施形態に係る一の動作例を示す図である。It is a figure which shows the example of 1 operation|movement which concerns on 1st Embodiment. ページ内におけるバンド単位の分割領域を示す図である。FIG. 10 is a diagram showing divided areas in units of bands in a page; 画像フィルタを示す図である。FIG. 10 illustrates an image filter; グラデーションオブジェクトを示す図である。FIG. 10 is a diagram showing a gradation object; 別の動作例を示す図である。It is a figure which shows another operation example. さらに別の動作例を示す図である。FIG. 10 is a diagram showing yet another operation example; 改変例に係る動作を示す図である。It is a figure which shows the operation|movement which concerns on a modification. 改変例に係る別の動作を示す図である。It is a figure which shows another operation|movement based on a modification. 別の動作例を示す図である。It is a figure which shows another operation example. コピージョブ中にラスタライズジョブもが受け付けられた場合における動作例を示す図である。FIG. 10 is a diagram showing an operation example when a rasterization job is also accepted during a copy job; 図15に類似した動作例を示す図である。FIG. 16 is a diagram showing an operation example similar to FIG. 15; 第2実施形態に係る動作の一部を示すフローチャートである。9 is a flowchart showing part of the operation according to the second embodiment; 第2実施形態に係る動作例を示す図である。It is a figure which shows the example of an operation|movement which concerns on 2nd Embodiment. 第2実施形態に係る他の動作例を示す図である。It is a figure which shows the other operation example which concerns on 2nd Embodiment. 比較例に係る動作を示す図である。It is a figure which shows the operation|movement which concerns on a comparative example. 他の比較例に係る動作を示す図である。It is a figure which shows the operation|movement which concerns on another comparative example.

以下、本発明の実施形態を図面に基づいて説明する。 BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below with reference to the drawings.

<1.第1実施形態>
<1-1.システム構成>
図1は、印刷システム1の構成を示す概略図である。図1に示すように、当該印刷システム1は、マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral)(MFPとも略称する)10とコンピュータ50とを備える。
<1. First Embodiment>
<1-1. System configuration>
FIG. 1 is a schematic diagram showing the configuration of a printing system 1. As shown in FIG. As shown in FIG. 1 , the printing system 1 includes a Multi-Functional Peripheral (also abbreviated as MFP) 10 and a computer 50 .

MFP10とコンピュータ50とは、ネットワーク108を介して接続されており、各装置10,50の相互間でデータの送受信が可能である。なお、ネットワーク108は、LAN(Local Area Network)およびインターネットなどの各種のネットワークを含む。 The MFP 10 and the computer 50 are connected via a network 108, and data can be transmitted and received between the devices 10 and 50. FIG. The network 108 includes various networks such as a LAN (Local Area Network) and the Internet.

MFP10は、コンピュータ50からの印刷ジョブデータ(プリントジョブデータ)に基づく印刷ジョブ(プリントジョブ)を実行するプリンタ(印刷装置)として機能する。すなわち、MFP10は、パーソナルコンピュータからの印刷指示に基づく印刷出力ジョブ(PCプリントジョブとも称する)を実行することが可能である。具体的には、コンピュータ50(印刷制御装置)は、ユーザからの印刷指示に基づいて印刷指令をMFP10に送信する。MFP10は、コンピュータ50から送信されてきた印刷指令(印刷データを含む)に基づき、RIP処理を実行してラスタライズデータを生成し、当該ラスタライズデータに基づく印刷出力処理を実行する。これによって、MFP10による印刷出力処理が実行される。 The MFP 10 functions as a printer (printing device) that executes a print job based on print job data (print job data) from the computer 50 . That is, the MFP 10 can execute a print output job (also called a PC print job) based on a print instruction from a personal computer. Specifically, the computer 50 (print control device) transmits a print command to the MFP 10 based on the print command from the user. Based on the print command (including print data) transmitted from the computer 50, the MFP 10 executes RIP processing to generate rasterized data, and executes print output processing based on the rasterized data. As a result, the printout process by the MFP 10 is executed.

また、MFP10は、タッチパネル25(図1)等を用いたユーザからの指示に基づき、スキャンジョブおよびコピージョブ等を実行することも可能である。 The MFP 10 can also execute a scan job, a copy job, etc. based on an instruction from the user using the touch panel 25 (FIG. 1) or the like.

<1-2.MFP10の構成>
図2は、MFP10の機能ブロックを示す図である。
<1-2. Configuration of MFP 10>
FIG. 2 is a diagram showing functional blocks of the MFP 10. As shown in FIG.

MFP10は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置(複合機とも称する)である。具体的には、MFP10は、図2の機能ブロック図に示すように、画像読取部2、印刷出力部3、通信部4、格納部5、操作部6およびコントローラ9(制御部)等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。なお、MFP10は、画像形成装置あるいは画像処理装置などとも称される。 The MFP 10 is a device (also referred to as a multi-function device) having a scan function, a copy function, a facsimile function, a box storage function, and the like. Specifically, as shown in the functional block diagram of FIG. 2, the MFP 10 includes an image reading unit 2, a printout unit 3, a communication unit 4, a storage unit 5, an operation unit 6, a controller 9 (control unit), and the like. Various functions are realized by operating these units in combination. Note that the MFP 10 is also called an image forming apparatus or an image processing apparatus.

画像読取部(スキャン部とも称される)2は、MFP10の所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ(原稿画像あるいはスキャン画像とも称される)を生成する処理部である。 An image reading unit (also called a scanning unit) 2 optically reads a document placed at a predetermined position on the MFP 10 and generates image data of the document (also called a document image or a scanned image). It is a processing unit that

印刷出力部3は、印刷対象画像に関する画像データに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。 The printout unit 3 is an output unit that prints out an image on various media such as paper based on image data relating to an image to be printed.

通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、通信ネットワーク108を介したネットワーク通信が可能である。このネットワーク通信では、TCP/IP(Transmission Control Protocol / Internet Protocol)およびFTP(File Transfer Protocol)等の各種のプロトコルが利用され、当該ネットワーク通信を利用することによって、MFP10は、所望の相手先(コンピュータ50等)との間で各種のデータ(印刷ジョブデータ等)を授受することが可能である。 A communication unit 4 is a processing unit capable of performing facsimile communication via a public line or the like. Furthermore, the communication unit 4 is capable of network communication via the communication network 108 . Various protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol) and FTP (File Transfer Protocol) are used in this network communication. 50, etc.) can exchange various data (print job data, etc.).

格納部5は、ハードディスクドライブ(HDD)等の格納装置で構成される。 The storage unit 5 is configured by a storage device such as a hard disk drive (HDD).

操作部6は、MFP10に対する操作入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。このMFP10においては、略板状の操作パネル部6c(図1参照)が設けられており、当該操作パネル部6cは、その正面側にタッチパネル(操作パネル)25(図1参照)を有している。タッチパネル25は、液晶表示パネルに圧電センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの操作入力を受け付けることが可能である。 The operation unit 6 includes an operation input unit 6a that receives an operation input to the MFP 10, and a display unit 6b that displays and outputs various information. The MFP 10 is provided with a substantially plate-shaped operation panel portion 6c (see FIG. 1), and the operation panel portion 6c has a touch panel (operation panel) 25 (see FIG. 1) on its front side. there is The touch panel 25 is configured by embedding a piezoelectric sensor or the like in a liquid crystal display panel, and is capable of displaying various types of information and accepting operation input from an operator.

コントローラ(制御部)9は、MFP10に内蔵され、MFP10を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM等)とを備えるコンピュータシステムとして構成される。コントローラ9は、CPUにおいて、ROM(例えば、EEPROM(登録商標))内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理部を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されてMFP10にインストールされるようにしてもよい。あるいは、当該プログラムは、ネットワーク等を経由してダウンロードされてMFP10にインストールされるようにしてもよい。 A controller (control unit) 9 is built in the MFP 10 and is a control device that controls the MFP 10 in an integrated manner. The controller 9 is configured as a computer system including a CPU and various semiconductor memories (RAM, ROM, etc.). The controller 9 realizes various processing units by executing a predetermined software program (hereinafter simply referred to as a program) stored in a ROM (for example, EEPROM (registered trademark)) in the CPU. The program (specifically, the program module group) may be recorded in a portable recording medium such as a USB memory, read out from the recording medium, and installed in the MFP 10 . Alternatively, the program may be downloaded via a network or the like and installed in the MFP 10 .

具体的には、図2に示すように、コントローラ9は、当該プログラムの実行により、通信制御部11と入力制御部12と表示制御部13と動作制御部14と割当処理部15とを含む各種の処理部を実現する。 Specifically, as shown in FIG. 2, the controller 9 executes various functions including a communication control unit 11, an input control unit 12, a display control unit 13, an operation control unit 14, and an allocation processing unit 15 by executing the program. realize the processing unit of

通信制御部11は、他の装置(コンピュータ50等)との間の通信動作を制御する処理部である。 The communication control unit 11 is a processing unit that controls communication operations with other devices (such as the computer 50).

入力制御部12は、操作入力部6aに対する操作入力動作を制御する制御部である。 The input control unit 12 is a control unit that controls an operation input operation for the operation input unit 6a.

表示制御部13は、表示部6bにおける表示動作を制御する処理部である。 The display control unit 13 is a processing unit that controls the display operation of the display unit 6b.

動作制御部14は、スキャンジョブ、プリントジョブおよびPCプリントジョブ等に関する動作を制御する処理部である。 The operation control unit 14 is a processing unit that controls operations related to scan jobs, print jobs, PC print jobs, and the like.

割当処理部15は、各ジョブの実行に際して、複数のコアR1~R4に対して実行すべき処理を割り当てる処理(割当処理)を実行する処理部である。 The allocation processing unit 15 is a processing unit that executes processing (allocation processing) for allocating processes to be executed to the plurality of cores R1 to R4 when executing each job.

<1-3.マルチコアCPU>
コントローラ9は、マルチコアCPU(複数のコアを有するCPU)を備えている。なお、マルチコアCPUによる負荷分散によれば、1つのCPU内において複数のコアに共通するキャッシュメモリを用いて処理が実行されるので、マルチCPU(複数のCPU)による負荷分散に比べて(オーバーヘッドが少なく)処理の高速化を図ることが可能である。
<1-3. Multi-core CPU>
The controller 9 has a multi-core CPU (a CPU having multiple cores). According to load distribution by multi-core CPUs, processing is executed using a cache memory common to a plurality of cores in one CPU. It is possible to speed up the processing.

この実施形態においては、図3に示すように、原則として、複数のジョブが、複数のコア(ここでは4つのコアR1~R4)のうちの対応コア(ジョブ種類に応じたコア)で処理される。換言すれば、各ジョブは、原則として、(用いるべきコアとして)予め割り当てられたコアで実行される。図3は、各ジョブを主に実行するコア(対応コア)を示す図である。 In this embodiment, as shown in FIG. 3, in principle, a plurality of jobs are processed by corresponding cores (cores corresponding to job types) among a plurality of cores (here, four cores R1 to R4). be. In other words, each job is in principle executed on a pre-assigned core (as the core to be used). FIG. 3 is a diagram showing cores (corresponding cores) that mainly execute each job.

具体的には、コピージョブおよびスキャンジョブなどの、リアルタイムジョブ(所定程度よりも高いリアルタイム性が要求されるジョブ)は、原則としてコアR1で実行される。当該リアルタイムジョブは、複数のコアのうちのコアR1を用いて制御されるべき種類のジョブである。端的に言えば、リアルタイムジョブは、コアR1に予め割り当てられたジョブである。当該リアルタイムジョブは、ラスタライズジョブ(次述)よりもその即時実行要求の必要性が高いジョブである、とも表現される。なお、リアルタイムジョブJ1のみがコアR1で実行される際には、コアR1での処理負荷率は所定値TH1(たとえば95%)には到達しない。 Specifically, real-time jobs such as copy jobs and scan jobs (jobs that require higher real-time performance than a predetermined level) are basically executed by the core R1. The real-time job is a type of job that should be controlled using core R1 of the plurality of cores. In short, a real-time job is a job pre-assigned to core R1. The real-time job is also expressed as a job whose immediate execution request is more necessary than the rasterization job (described below). Note that when only the real-time job J1 is executed on the core R1, the processing load factor on the core R1 does not reach the predetermined value TH1 (for example, 95%).

また、PCプリントジョブの一部としてMFP10にて実行されるラスタライズデータ生成ジョブ(単にラスタライズジョブとも称する)は、原則としてコアR2で実行される。当該ラスタライズジョブは、複数のコアのうちのコアR2を用いて制御されるべき種類のジョブである。端的に言えば、ラスタライズジョブは、コアR2に予め割り当てられたジョブである。 A rasterized data generation job (also referred to simply as a rasterized job) executed by the MFP 10 as part of a PC print job is basically executed by the core R2. The rasterization job is a type of job that should be controlled using core R2 of the plurality of cores. In short, a rasterization job is a job pre-assigned to core R2.

さらに、各種の追加アプリケーションプログラムを実行するジョブ(アプリケーション実行ジョブ)は、コアR3で実行され、パネル操作に関するジョブ(パネル操作管理ジョブ)は、コアR4で実行される。また、複数のコアに対して実行すべき処理を割り当てる処理(割当処理)は、コアR4で実行される。なお、当該割当処理は、他のコアR1~R3のいずれかで実行されてもよい。 Furthermore, jobs for executing various additional application programs (application execution jobs) are executed by the core R3, and jobs related to panel operations (panel operation management jobs) are executed by the core R4. Further, the process of allocating processes to be executed to a plurality of cores (allocation process) is executed by the core R4. Note that the allocation process may be executed by any one of the other cores R1 to R3.

また、ラスタライズジョブは、その内容に依ってはコアR2での処理負荷率が所定値TH1(たとえば95%)に到達する可能性を有している。一のコアでの処理負荷率が所定値TH1に到達すると、コア間通信が阻害されること等を考慮し、この実施形態では、ラスタライズデータ生成ジョブ(ラスタライズジョブ)は、状況に応じて、コアR2のみならず別のコア(たとえば、コアR3等)をも用いて実行される。具体的には、或るラスタライズジョブJ2に関するコアR2での処理負荷率が所定値TH1(たとえば95%)に到達する旨が判定される場合、当該ラスタライズジョブは、コアR2のみならず他のコア(複数のコアのうち、所定値TH2以下の処理負荷率を有するコアR3等)をも利用して実行される。値TH2は、値TH1よりも小さな値であり、たとえば20%である。このような負荷分散により、コアR2の処理負荷率は、所定値TH1よりも低い値に抑えられる。 Also, depending on the content of the rasterization job, there is a possibility that the processing load factor on the core R2 will reach a predetermined value TH1 (for example, 95%). Considering that inter-core communication will be hindered when the processing load factor of one core reaches a predetermined value TH1, in this embodiment, the rasterization data generation job (rasterization job) is executed in each core depending on the situation. It is executed using not only R2, but also another core (eg, core R3, etc.). Specifically, when it is determined that the processing load factor of the core R2 for a certain rasterization job J2 reaches a predetermined value TH1 (for example, 95%), the rasterization job J2 is processed by not only the core R2 but also other cores. (Among the plurality of cores, the core R3 having a processing load factor equal to or lower than the predetermined value TH2, etc.) is also used for execution. The value TH2 is a value smaller than the value TH1, for example 20%. With such load distribution, the processing load factor of the core R2 is suppressed to a value lower than the predetermined value TH1.

<1-4.概略動作>
ここでは、まず、コンピュータ50からのPCプリントデータに基づくRIP処理(ラスタライズデータ生成ジョブJ2)が時刻T0から開始されているものとする。その後、時刻T1において、リアルタイムジョブJ1(ここでは、スキャンタスクとプリントタスクとで構成されるコピージョブ)が受け付けられた状況を想定する。以下では、このような状況において、リアルタイムジョブJ1(第1種類のジョブ)とラスタライズジョブJ2(第2種類のジョブ)とがどのようにして実行されるか等について主に説明する。
<1-4. Outline operation>
Here, first, it is assumed that the RIP process (rasterized data generation job J2) based on the PC print data from the computer 50 is started at time T0. After that, it is assumed that a real-time job J1 (here, a copy job including a scan task and a print task) is accepted at time T1. The following mainly describes how the real-time job J1 (first type job) and the rasterization job J2 (second type job) are executed in such a situation.

図20は、比較例に係る動作を示す図である。当該比較例に係る動作では、ラスタライズジョブJ2が既に実行されている期間中においてはリアルタイムジョブJ1の実行が常に禁止される。それ故、リアルタイムジョブJ1が時刻T1に受け付けられた場合であっても、ラスタライズジョブJ2の実行完了を待って当該リアルタイムジョブJ1の実行が時刻T5に開始される。このように、当該2種類のジョブのうちの一方のジョブJ2の実行期間中に他方のジョブJ1が受け付けられた場合(直ちにリアルタイムジョブJ1の実行を開始すると2種類のジョブJ1,J2の実行期間が互いに重複する、と推定される場合)には、先行する一方のジョブJ2の実行が完了した後に、他方のジョブJ1の実行が開始される。この結果、当該他方のジョブ(リアルタイムジョブ)J1の開始および終了が大きく遅延する。 FIG. 20 is a diagram showing operations according to a comparative example. In the operation according to the comparative example, execution of the real-time job J1 is always prohibited while the rasterization job J2 is already being executed. Therefore, even if the real-time job J1 is accepted at time T1, execution of the real-time job J1 is started at time T5 after the execution of the rasterization job J2 is completed. In this way, if the other job J1 is accepted during the execution period of one of the two types of jobs J2 (if the execution of the real-time job J1 is started immediately, the execution periods of the two types of jobs J1 and J2 are overlap each other), the execution of the other job J1 is started after the execution of the preceding job J2 is completed. As a result, the start and end of the other job (real-time job) J1 are greatly delayed.

これに対して、図6は、第1実施形態に係る一の動作例を示す図である。コントローラ9の動作制御部14および割当処理部15は、(受け付けられたジョブJ1,J2を仮に直ちに実行する場合、)リアルタイムジョブJ1の実行期間とラスタライズジョブJ2の実行期間とが重複し且つラスタライズジョブJ2の実行によりコアR2での処理負荷率が所定値TH1(たとえば95%(100%であってもよい)))に到達するか否かを、ラスタライズジョブJ2の内容等に基づいて推定する。そして、その旨が推定される場合、ラスタライズジョブJ2が複数のコアのうち(コアR1を除く)2以上のコア(たとえば、コアR2とコアR3とを含むコア群)で分担して実行されてコアR2での処理負荷率が値TH1よりも低く抑えられるとともに、リアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行される。 On the other hand, FIG. 6 is a diagram showing one operation example according to the first embodiment. The operation control unit 14 and the allocation processing unit 15 of the controller 9 determine that the execution period of the real-time job J1 and the execution period of the rasterization job J2 overlap (if the accepted jobs J1 and J2 are to be executed immediately), and the execution period of the rasterization job J2 overlaps. Based on the contents of the rasterization job J2, it is estimated whether or not the processing load factor in the core R2 reaches a predetermined value TH1 (for example, 95% (may be 100%)) by executing J2. If this is presumed, the rasterization job J2 is shared by two or more cores (excluding core R1) among the plurality of cores (for example, a core group including cores R2 and R3). The processing load factor of the core R2 is kept lower than the value TH1, and the real-time job J1 and the rasterization job J2 are executed in parallel.

具体的には、ラスタライズジョブJ2が複数の区分ジョブK1~K4(「RIP_1」~「RIP_4」)に区分される。たとえば、ラスタライズジョブJ2が、印刷出力物の複数のページに関するラスタライズデータを生成するものである場合、ラスタライズジョブJ2はページ単位で複数の区分ジョブに区分される。より具体的には、1番目のページに関するラスタライズデータを生成する区分ジョブK1(「RIP_1」)と2番目のページに関するラスタライズデータを生成する区分ジョブK2(「RIP_2」)と3番目のページに関するラスタライズデータを生成する区分ジョブK3(「RIP_3」)と4番目のページに関するラスタライズデータを生成する区分ジョブK4(「RIP_4」)とに区分される。 Specifically, the rasterization job J2 is divided into a plurality of divided jobs K1 to K4 (“RIP_1” to “RIP_4”). For example, if the rasterization job J2 is to generate rasterization data for a plurality of pages of a printed output, the rasterization job J2 is divided into a plurality of division jobs by page. More specifically, a partitioning job K1 (“RIP_1”) that generates rasterization data for the first page, a partitioning job K2 (“RIP_2”) that generates rasterization data for the second page, and rasterization for the third page It is divided into a division job K3 ("RIP_3") that generates data and a division job K4 ("RIP_4") that generates rasterized data for the fourth page.

そして、仮に両ジョブが即時に実行される場合においてリアルタイムジョブJ1の実行期間と各区分ジョブ(K1~K4)の実行期間とが重複するか否かが判定される。また、仮に各ジョブが上記対応コアで原則通りに実行される場合、ラスタライズジョブJ2に関する複数の区分ジョブK1~K4のうちのいずれかの区分ジョブの実行によりコアR2での処理負荷率が所定値TH1に到達するか否かも判定される。これらの条件(後に詳述)をいずれも充足する区分ジョブが存在する場合、当該区分ジョブ(たとえば、K1,K4)が複数の分割ジョブに分割される。 Then, if both jobs are to be executed immediately, it is determined whether or not the execution period of the real-time job J1 overlaps the execution period of each of the classified jobs (K1 to K4). Further, if each job is executed on the corresponding core according to principle, execution of any one of the plurality of divided jobs K1 to K4 related to the rasterization job J2 causes the processing load rate of the core R2 to rise to a predetermined value. It is also determined whether TH1 is reached. If there is a classified job that satisfies all of these conditions (detailed later), the classified job (K1, K4, for example) is divided into a plurality of divided jobs.

具体的には、区分ジョブK1(「RIP_1」)がさらに複数の分割ジョブ(たとえば2つの分割ジョブK11,K12(「RIP_1_1」、「RIP_1_2」))に分割され、区分ジョブK4(「RIP_4」)もさらに複数の分割ジョブ(たとえば2つの分割ジョブK41,K42(「RIP_4_1」、「RIP_4_2」))に分割される。そして、区分ジョブK1に関する複数の分割ジョブが複数のコアのうち2以上のコア(たとえば、2つのコアR2,R3)で分担して実行されてコアR2での処理負荷率が値TH1よりも低く抑えられ、リアルタイムジョブJ1と一の区分ジョブK1とが並列的に実行される。同様に、区分ジョブK4に関する複数の分割ジョブが複数のコアのうち2以上のコア(たとえば、2つのコアR2,R3)で分担して実行されてコアR2での処理負荷率が値TH1よりも低く抑えられ、リアルタイムジョブJ1と一の区分ジョブK4とが並列的に実行される。 Specifically, the classified job K1 (“RIP_1”) is further divided into a plurality of divided jobs (for example, two divided jobs K11 and K12 (“RIP_1_1” and “RIP_1_2”)), and the classified job K4 (“RIP_4”) is is further divided into a plurality of divided jobs (for example, two divided jobs K41 and K42 ("RIP_4_1" and "RIP_4_2")). Two or more cores (for example, two cores R2 and R3) among the plurality of cores share the plurality of divided jobs related to the classified job K1, and the processing load factor of the core R2 is lower than the value TH1. The real-time job J1 and the one division job K1 are executed in parallel. Similarly, a plurality of divided jobs related to the classified job K4 are shared by two or more cores (for example, two cores R2 and R3) among the plurality of cores, and the processing load factor on the core R2 is higher than the value TH1. The real-time job J1 and one partitioned job K4 are executed in parallel.

このような動作によれば、ラスタライズジョブJ2が複数のコアのうち2以上のコアで分担して実行されてコアR2での処理負荷率が値TH1よりも低く抑えられるので、コア間通信の阻害に起因して他のコアでの動作が出来なくなる事態の発生を回避することが可能である。その上で、リアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行される。したがって、リアルタイムジョブJ1は、ラスタライズジョブJ2の実行完了を待つことを要しないので、リアルタイムジョブJ1の実行を早期に(たとえば時刻T1に)開始し且つ早期に完了することが可能である。 According to this operation, the rasterization job J2 is shared and executed by two or more cores out of a plurality of cores, and the processing load factor on the core R2 is kept lower than the value TH1. It is possible to avoid the occurrence of a situation in which other cores cannot operate due to After that, the real-time job J1 and the rasterization job J2 are executed in parallel. Therefore, the real-time job J1 does not need to wait for the completion of execution of the rasterization job J2, so the real-time job J1 can be started early (at time T1, for example) and completed early.

なお、後述するように、逆に、リアルタイムジョブJ1が実行されている間にラスタライズジョブJ2が受け付けられた状況(図21および図15参照)においても、本発明の思想を適用することが可能である。 As will be described later, conversely, the concept of the present invention can also be applied to a situation where the rasterization job J2 is received while the real-time job J1 is being executed (see FIGS. 21 and 15). be.

<1-5.詳細動作>
図4および図5は、第1実施形態に係る動作(MFP10の動作)を示すフローチャートである。
<1-5. Detailed operation>
4 and 5 are flowcharts showing operations (operations of the MFP 10) according to the first embodiment.

ステップS11において新規ジョブが受け付けられると、ステップS12に進む。ステップS12では、現在実行中のジョブ(新規ジョブよりも前に受け付けられたジョブ)が存在するか否かが判定される。 When a new job is accepted in step S11, the process proceeds to step S12. In step S12, it is determined whether or not there is a job currently being executed (a job accepted before the new job).

新規ジョブ以外のジョブが受け付けられていない場合には、通常のジョブ実行動作が実行される(ステップS18)。 If a job other than a new job has not been accepted, a normal job execution operation is executed (step S18).

新規ジョブ以外のジョブが既に受け付けられていた場合には、ステップS13に進む。ステップS13では、新規ジョブと現在実行中のジョブ(実行中ジョブとも称する)とのうち、一方がリアルタイムジョブJ1であり且つ他方がラスタライズジョブJ2であるか否かが判定される。 If a job other than the new job has already been accepted, the process proceeds to step S13. In step S13, it is determined whether one of the new job and the job currently being executed (also referred to as the job being executed) is the real-time job J1 and the other is the rasterization job J2.

一方がリアルタイムジョブJ1であり且つ他方がラスタライズジョブJ2である場合には、ステップS14に進む。それ以外の場合には、ステップS18に進む。 If one is the real-time job J1 and the other is the rasterization job J2, the process proceeds to step S14. Otherwise, the process proceeds to step S18.

ステップS14では、実行中ジョブの残存処理の所要時間が推定され、ステップS15では、新規ジョブの所要時間が推定される。リアルタイムジョブJ1の所要時間は、当該リアルタイムジョブJ1の内容(画像の解像度等の各種パラメータ)に基づいて算出され、ラスタライズジョブJ2の所要時間は、ラスタライズジョブJ2の内容(画像の解像度等の各種パラメータ)に基づいて算出される。 In step S14, the time required for remaining processing of the job being executed is estimated, and in step S15, the time required for the new job is estimated. The required time for the real-time job J1 is calculated based on the contents of the real-time job J1 (various parameters such as image resolution), and the required time for the rasterize job J2 is calculated based on the contents of the rasterize job J2 (various parameters such as image resolution). ).

また、ステップS16では、ラスタライズジョブJ2の実行時のコアR2の処理負荷率(詳細には、原則通りにラスタライズジョブJ2がコアR2のみを用いて実行される場合における、コアR2の処理負荷率)が推定される。当該処理負荷率は、ラスタライズジョブJ2の対象画像に関するレイヤーの数、および当該対象画像に関する特定種類のオブジェクトの数などに基づいて算出(推定)されればよい。たとえば、多層レイヤーで構成される画像の透過処理の処理負荷は比較的大きいことを考慮して、一定数以上のレイヤーを有する画像(透過画像)が存在する場合には、コアR2の処理負荷率は100%である旨が算出される。また、対象画像の解像度(出力解像度等)が所定程度以上である場合に、コアR2の処理負荷率が100%である旨が算出されてもよい。このように、ラスタライズジョブJ2の対象画像(詳細には、その画像データおよび/または画像パラメータ)に基づいて、ラスタライズジョブJ2の実行によるコアR2での処理負荷率(換言すれば、コアR2におけるラスタライズジョブJ2の処理負荷率)が推定される。 Further, in step S16, the processing load factor of the core R2 when the rasterization job J2 is executed (more specifically, the processing load factor of the core R2 when the rasterization job J2 is executed using only the core R2 in principle) is estimated. The processing load rate may be calculated (estimated) based on the number of layers related to the target image of the rasterization job J2, the number of specific types of objects related to the target image, and the like. For example, considering that the processing load of transparency processing for an image composed of multiple layers is relatively large, when there is an image (transparent image) having a certain number of layers or more, the processing load ratio of core R2 is is 100%. Further, when the resolution (output resolution, etc.) of the target image is equal to or higher than a predetermined level, it may be calculated that the processing load factor of the core R2 is 100%. In this way, based on the target image of the rasterize job J2 (more specifically, its image data and/or image parameters), the processing load rate of the core R2 due to the execution of the rasterize job J2 (in other words, the rasterization of the core R2) The processing load factor of job J2) is estimated.

ステップS17においては、リアルタイムジョブJ1の実行期間とラスタライズジョブJ2の実行期間とが重複するか否かが、ステップS14,S15の推定結果に基づいて判定される。また、ラスタライズジョブJ2の実行によりコアR2での処理負荷率が所定値TH1(たとえば95%)に到達するか否かが、ステップS16での推移結果に基づいて判定される。 In step S17, it is determined whether or not the execution period of the real-time job J1 and the execution period of the rasterization job J2 overlap based on the estimation results of steps S14 and S15. Further, it is determined whether or not the processing load factor of the core R2 reaches a predetermined value TH1 (for example, 95%) due to the execution of the rasterization job J2, based on the transition result in step S16.

より詳細には、ステップS16においては、複数の区分ジョブのそれぞれについてコアR2での処理負荷率が算出される。すなわち、コアR2での処理負荷率が区分ジョブ単位で算出される。そして、コアR2での処理負荷率が所定値TH1に到達するか否かが、各区分ジョブ単位で判定される。そして、これらの判定結果に基づいて、ラスタライズジョブJ2(詳細には各区分ジョブ)とリアルタイムジョブJ1との重複処理中にコアR2の負荷率が所定値TH1に到達するか否かが判定される。 More specifically, in step S16, the processing load factor on core R2 is calculated for each of the plurality of classified jobs. That is, the processing load factor on the core R2 is calculated for each classified job. Then, it is determined for each classified job whether or not the processing load factor of the core R2 reaches a predetermined value TH1. Then, based on these determination results, it is determined whether or not the load factor of the core R2 reaches a predetermined value TH1 during overlapping processing of the rasterization job J2 (specifically, each classified job) and the real-time job J1. .

ラスタライズジョブJ2とリアルタイムジョブJ1との重複処理中にコアR2の負荷率が所定値TH1に到達しない(より詳細には、いずれの区分ジョブKiに関してもコアR2の負荷率が所定値TH1に到達しない)と判定される場合には、ステップS19に進む。ステップS19では、実行中ジョブに加えて新規ジョブの実行も直ちに開始される。この結果、リアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行される。図14は、このような動作例を示す図である。図14においては、区分ジョブK1の処理負荷率は70%であり、区分ジョブK2の処理負荷率は50%であり、区分ジョブK3の処理負荷率は30%であり、区分ジョブK4の処理負荷率は60%であり、何れの区分ジョブの処理負荷率も所定値TH1(95%)を下回っている。図14においては、リアルタイムジョブJ1が時刻T1にて直ちに開始されるとともに、リアルタイムジョブJ1中に区分ジョブK1,K2,K3,K4(コアR2の処理負荷率が所定値TH1に到達しない区分ジョブ)がリアルタイムジョブJ1に対して並列的に実行されている。 The load factor of the core R2 does not reach the predetermined value TH1 during overlapping processing of the rasterize job J2 and the real-time job J1 (more specifically, the load factor of the core R2 does not reach the predetermined value TH1 for any of the classified jobs Ki). ), the process proceeds to step S19. In step S19, execution of a new job is immediately started in addition to the job being executed. As a result, the real-time job J1 and the rasterization job J2 are executed in parallel. FIG. 14 is a diagram showing an example of such operation. In FIG. 14, the processing load rate of classified job K1 is 70%, the processing load rate of classified job K2 is 50%, the processing load rate of classified job K3 is 30%, and the processing load rate of classified job K4 is 30%. The rate is 60%, and the processing load rate of any classified job is below the predetermined value TH1 (95%). In FIG. 14, real-time job J1 starts immediately at time T1, and classified jobs K1, K2, K3, and K4 (classified jobs whose processing load factor of core R2 does not reach predetermined value TH1) during real-time job J1. are executed in parallel with the real-time job J1.

このように、リアルタイムジョブJ1の実行期間とラスタライズジョブJ2の実行期間とが重複するもののラスタライズジョブJ2の実行によってはコアR2での処理負荷率が所定値TH1に到達しないことが推定される場合、リアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行される。より詳細には、リアルタイムジョブJ1の実行期間と各区分ジョブK1~K4の実行期間とが重複するものの各区分ジョブの実行によってもコアR2での処理負荷率が所定値TH1に到達しないことが推定される場合、各区分ジョブK1~K4がコアR2(およびコアR3)で実行されつつリアルタイムジョブJ1がコアR1で実行される。すなわち、リアルタイムジョブJ1と各区分ジョブK1~K4とが並列的に実行される。したがって、処理の効率化を図ることが可能である。 As described above, when the execution period of the real-time job J1 and the execution period of the rasterization job J2 overlap, but it is estimated that the processing load factor of the core R2 does not reach the predetermined value TH1 due to the execution of the rasterization job J2, A real-time job J1 and a rasterization job J2 are executed in parallel. More specifically, it is estimated that the execution period of the real-time job J1 overlaps the execution period of each of the classified jobs K1 to K4, but the processing load factor of the core R2 does not reach the predetermined value TH1 even with the execution of each classified job. If so, the real-time job J1 is executed on the core R1 while each of the partitioned jobs K1 to K4 is executed on the core R2 (and core R3). That is, the real-time job J1 and the classified jobs K1 to K4 are executed in parallel. Therefore, it is possible to improve the efficiency of processing.

リアルタイムジョブJ1(各区分ジョブ)とラスタライズジョブJ2との重複処理中にコアR2の負荷率が所定値TH1に到達すると判定される場合(より詳細には、いずれかの区分ジョブKiに関してコアR2の負荷率が所定値TH1に到達する場合)には、ステップS21(図5)に進む。 When it is determined that the load factor of the core R2 reaches the predetermined value TH1 during overlapping processing of the real-time job J1 (each classification job) and the rasterization job J2 (more specifically, when the load factor of the core R2 is When the load factor reaches the predetermined value TH1), the process proceeds to step S21 (FIG. 5).

ステップS21では、ラスタライズジョブJ2を複数の分割ジョブに分割することが適切か否か(より詳細には、コアR2の負荷率を所定値TH1に到達させる各区分ジョブをそれぞれ複数の分割ジョブに分割することが適切か否か)が、所定条件の成立の有無に基づいて判断される。 In step S21, it is determined whether or not it is appropriate to divide the rasterization job J2 into a plurality of divided jobs (more specifically, each classified job that causes the load factor of the core R2 to reach a predetermined value TH1 is divided into a plurality of divided jobs). whether it is appropriate to do so) is determined based on whether or not a predetermined condition is satisfied.

当該複数の分割ジョブは、或る区分ジョブ(たとえば、ラスタライズジョブJ2のうち第1ページに関する区分ジョブK1)に関する画像を領域分割した複数の分割領域(たとえば、当該第1ページを「バンド」単位で分割した後の領域)を処理対象とするジョブである。図7に示されるように、1バンドは、所定数(たとえば256本)の画素ラインで構成される分割領域である。たとえば、4096本の画素ラインで構成される1ページは、16個の分割領域(細長領域)に分割される。ただし、ここでは、説明の簡単化のため、各ページの区分ジョブが2個の分割領域に分割されるものとする。たとえば、区分ジョブK1(「RIP_1」)が2つの分割ジョブK11,K12(「RIP_1_1」、「RIP_1_2」))に分割される。なお、後述するように、各区分ジョブは、ページ内の左半領域に関するジョブと右半領域に関するジョブとで構成される複数の分割ジョブに分割されてもよい。 The plurality of divided jobs are divided into a plurality of divided areas (for example, the first page in units of "bands") obtained by dividing an image related to a certain divided job (for example, the divided job K1 related to the first page of the rasterization job J2). This is a job that targets the area after division). As shown in FIG. 7, one band is a divided area composed of a predetermined number (for example, 256) of pixel lines. For example, one page composed of 4096 pixel lines is divided into 16 divided areas (slender areas). However, here, for the sake of simplification of explanation, it is assumed that the classified job of each page is divided into two divided areas. For example, a classified job K1 ("RIP_1") is divided into two divided jobs K11 and K12 ("RIP_1_1" and "RIP_1_2"). As will be described later, each classified job may be divided into a plurality of divided jobs each including a job related to the left half area and a job related to the right half area of the page.

また、当該所定条件は、判定対象の区分ジョブに関する複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能である旨を含む。具体的には、複数の分割ジョブのうちの各分割ジョブに関する画像処理が当該複数の分割ジョブのうちの他の分割ジョブの分割領域の画像データを用いる特定の画像処理でない(誤差拡散処理、画像フィルタ処理、およびグラデーション処理等のいずれでもない)旨を含む条件である。 Further, the predetermined condition includes that each of the plurality of divided jobs related to the classified job to be determined can be executed independently without using image data of other divided jobs. Specifically, the image processing for each divided job among the plurality of divided jobs is not specific image processing using the image data of the divided areas of other divided jobs among the plurality of divided jobs (error diffusion processing, image It is a condition including the fact that neither filter processing nor gradation processing is performed.

たとえば、一の区分ジョブ(たとえば或るページの画像に関するラスタライズジョブ)がバンド単位で複数の分割ジョブに分割されようとする場合には、当該所定条件として、「複数の分割ジョブのうちの各分割ジョブに関する画像処理が当該複数の分割ジョブのうちの他の分割ジョブの分割領域の画像データを用いる特定の画像処理でない(画像フィルタ処理、誤差拡散処理、およびグラデーション処理等のいずれでもない)旨の条件」、が用いられればよい。 For example, when one division job (for example, a rasterization job for an image of a certain page) is to be divided into a plurality of division jobs in units of bands, the predetermined condition is "each division of a plurality of division jobs The image processing related to the job is not specific image processing using the image data of the divided areas of other divided jobs among the plurality of divided jobs (none of image filter processing, error diffusion processing, gradation processing, etc.) condition" may be used.

ここにおいて、図8に示されるように、各分割ジョブに対応する各分割領域内の或る注目画素の画素値を或る画像フィルタを利用して求める際には、当該注目画素の周辺画素の画素値が用いられる。或る分割領域内の注目画素に関する周辺画素には、当該或る分割領域とは異なる分割領域(当該或る分割領域の隣接領域等)の画素が含まれることがあり、その場合、当該或る分割領域に関する画像処理は、他の分割領域の画素(他の分割領域の画像データ)を用いることを要する。したがって、当該或る分割領域に関する画像処理は、他の分割領域の画像データから独立して行うことが困難である。そこで、この実施形態では、このような場合には、一の区分ジョブを複数の分割ジョブに分割しない旨が決定される。 Here, as shown in FIG. 8, when obtaining the pixel value of a certain target pixel in each divided area corresponding to each divided job using a certain image filter, the peripheral pixels of the target pixel are Pixel values are used. Peripheral pixels related to the pixel of interest in a certain divided area may include pixels in a divided area different from the certain divided area (such as an adjacent area of the certain divided area). Image processing for a divided area requires the use of pixels of other divided areas (image data of other divided areas). Therefore, it is difficult to perform image processing for a given divided area independently of image data for other divided areas. Therefore, in this embodiment, in such a case, it is determined not to divide one classified job into a plurality of divided jobs.

なお、誤差拡散処理およびグラデーション処理等の他の画像処理についても同様である。たとえば、図9に示されるように、グラデーションオブジェクト(所定方向において色の明るさ(濃さ)あるいは色相等が徐々に変化するオブジェクト)が複数の分割領域(複数の「バンド」領域等)に跨がって存在する場合も同様である。 The same applies to other image processing such as error diffusion processing and gradation processing. For example, as shown in FIG. 9, a gradation object (an object whose color brightness (darkness) or hue gradually changes in a predetermined direction) spans a plurality of divided regions (a plurality of “band” regions, etc.). The same is true when there exists a

また、ステップS21では、処理負荷の分散先候補のコアR3,R4(複数のコアR1~R4のうちコアR1,R2以外のコア)のいずれかの処理負荷率が所定値TH2以下であることをも条件として、ラスタライズジョブJ2を複数の分割ジョブに分割することが適切であると判定される。 Further, in step S21, it is determined that the processing load factor of one of the cores R3 and R4 (the cores other than the cores R1 and R2 among the plurality of cores R1 to R4) of the processing load distribution destination candidates is equal to or less than a predetermined value TH2. Also as a condition, it is determined that it is appropriate to divide the rasterization job J2 into a plurality of divided jobs.

ステップS21において、ラスタライズジョブJ2(詳細には、コアR2の負荷率を所定値TH1に到達させる各区分ジョブ)を複数の分割ジョブに分割することが適切であると判定される場合には、ステップS22に進む。 In step S21, if it is determined that it is appropriate to divide the rasterization job J2 (specifically, each classified job that causes the load factor of the core R2 to reach the predetermined value TH1) into a plurality of divided jobs, step Proceed to S22.

ステップS22では、コアR2の負荷率を所定値TH1に到達させる各区分ジョブ(たとえば、K1,K4)をそれぞれ複数の分割ジョブに分割することを決定(設定)する処理、および当該分割ジョブを2以上のコアに割り当てる処理(設定処理)等が実行される。 In step S22, a process of determining (setting) dividing each classified job (for example, K1, K4) that causes the load factor of core R2 to reach a predetermined value TH1 into a plurality of divided jobs, and dividing the divided jobs into two The processing (setting processing) for allocating the above cores and the like are executed.

たとえば、図6にも示されるように、区分ジョブK1(「RIP_1」)が2つの分割ジョブK11,K12(「RIP_1_1」,「RIP_1_2」)に分割され、区分ジョブK4(「RIP_4」)が2つの分割ジョブK41,K42(「RIP_4_1」,「RIP_4_2」)に分割される。 For example, as also shown in FIG. 6, a classified job K1 (“RIP_1”) is divided into two divided jobs K11 and K12 (“RIP_1_1” and “RIP_1_2”), and a classified job K4 (“RIP_4”) is divided into two jobs. divided into two divided jobs K41 and K42 ("RIP_4_1" and "RIP_4_2").

そして、分割ジョブK11がコアR2に割り当てられ、分割ジョブK12がコアR3に割り当てられる。この結果、分割ジョブK11に関するコアR2での処理負荷率は50%になり、分割ジョブK12に関するコアR3での処理負荷率は50%になる。これによれば、区分ジョブK1に関するコアR2での処理負荷率は、50%にまで低減し(値TH1に到達せず)、区分ジョブK1に関するコアR3での処理負荷率は、値TH1に到達しない。換言すれば、区分ジョブK1を2以上のコアで分担して実行することによって、区分ジョブK1に関する各コアでの処理負荷率を値TH1に到達させないように調整することが可能である。 Then, divided job K11 is assigned to core R2, and divided job K12 is assigned to core R3. As a result, the processing load factor of core R2 for divided job K11 is 50%, and the processing load factor of core R3 for divided job K12 is 50%. According to this, the processing load factor of the core R2 for the classified job K1 is reduced to 50% (does not reach the value TH1), and the processing load factor of the core R3 for the classified job K1 reaches the value TH1. do not do. In other words, it is possible to adjust the processing load factor of each core for the classified job K1 so as not to reach the value TH1 by sharing the execution of the classified job K1 by two or more cores.

同様に、区分ジョブK4を2以上のコアで分担して実行することによって、区分ジョブK4に関する各コアでの処理負荷率を値TH1に到達させないように調整することが可能である。具体的には、分割ジョブK41がコアR2に割り当てられ、分割ジョブK42がコアR3に割り当てられる。この結果、分割ジョブK41に関するコアR2での処理負荷率は50%になり、分割ジョブK42に関するコアR3での処理負荷率は50%になる。 Similarly, by dividing job K4 into two or more cores and executing it, it is possible to adjust the processing load factor of each core for classified job K4 so as not to reach value TH1. Specifically, the divided job K41 is assigned to the core R2, and the divided job K42 is assigned to the core R3. As a result, the processing load factor of core R2 for divided job K41 is 50%, and the processing load factor of core R3 for divided job K42 is 50%.

ステップS22では、このような分担処理の内容が決定されるとともに、当該分担処理の予約処理(各分割ジョブを2以上のコアに割り当てる設定処理等)が実行される。 In step S22, the content of such allotment processing is determined, and reservation processing for the allotment processing (setting processing for allocating each divided job to two or more cores, etc.) is executed.

そして、ステップS27においては、ステップS22で設定された新たな割り当ての下で、リアルタイムジョブJ1とラスタライズジョブJ2とが実行される。具体的には、リアルタイムジョブJ1の実行が直ちに開始されるとともに、ラスタライズジョブJ2は、複数のコアR1~R4のうち2以上のコア(たとえば、2つのコアR2,R3)で分担して実行される。これによれば、コアR2での処理負荷率が所定値TH1よりも低く抑えられた状態でリアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行され得る。なお、図6では、時刻T0から既に開始されていた区分ジョブK1の処理結果は時刻T1で破棄され、区分ジョブK1に関する2つの分割ジョブK11,K12が時刻T1から新たに開始されている。ただし、これに限定されず、たとえば、時刻T0から既に開始されていた区分ジョブK1の処理結果を引き継いで、2つの分割ジョブK11,K12が実行されてもよい。 Then, in step S27, the real-time job J1 and the rasterization job J2 are executed under the new allocation set in step S22. Specifically, the execution of the real-time job J1 is immediately started, and the rasterization job J2 is shared and executed by two or more cores (for example, two cores R2 and R3) out of the plurality of cores R1 to R4. be. According to this, the real-time job J1 and the rasterization job J2 can be executed in parallel while the processing load factor of the core R2 is kept lower than the predetermined value TH1. Note that in FIG. 6, the processing result of the classified job K1 already started at time T0 is discarded at time T1, and two divided jobs K11 and K12 related to the classified job K1 are newly started at time T1. However, the present invention is not limited to this. For example, two divided jobs K11 and K12 may be executed by taking over the processing result of the divided job K1 that has already started at time T0.

また、ステップS21において、ラスタライズジョブJ2(詳細には、コアR2の負荷率を所定値TH1に到達させる各区分ジョブ)を複数の分割ジョブに分割することが適切でないと判定される場合には、ステップS33に進む。 Further, if it is determined in step S21 that it is not appropriate to divide the rasterization job J2 (specifically, each classified job that causes the load factor of the core R2 to reach the predetermined value TH1) into a plurality of divided jobs, The process proceeds to step S33.

ステップS33では、リアルタイムジョブJ1が優先して実行され、ラスタライズジョブJ2の各区分ジョブの実行順序および実行タイミングが調整される。図10は、このような調整例を示す図である。 In step S33, the real-time job J1 is preferentially executed, and the execution order and execution timing of each classified job of the rasterization job J2 are adjusted. FIG. 10 is a diagram showing an example of such adjustment.

図10においては、区分ジョブK1,K4の分割が適切でないと(ステップS21にて)判定され、区分ジョブK1の実行が完了した後の時刻T3に、リアルタイムジョブJ1の実行が開始されている。区分ジョブK2,K3に関するコアR2の処理負荷率は所定値TH1に到達しないと予測されるので、ラスタライズジョブJ2の区分ジョブK2,K3はリアルタイムジョブJ1に対して並列的に実行される。一方、区分ジョブK4に関するコアR2の処理負荷率は所定値TH1に到達すると予測されるので、区分ジョブK4の実行開始はリアルタイムジョブJ1の実行完了まで待機される。区分ジョブK4は、リアルタイムジョブJ1の実行完了直後に開始される。 In FIG. 10, it is determined (in step S21) that the division of classified jobs K1 and K4 is not appropriate, and execution of real-time job J1 is started at time T3 after execution of classified job K1 is completed. Since it is predicted that the processing load factor of the core R2 regarding the division jobs K2 and K3 will not reach the predetermined value TH1, the division jobs K2 and K3 of the rasterization job J2 are executed in parallel with the real-time job J1. On the other hand, since the processing load factor of the core R2 for the classified job K4 is predicted to reach the predetermined value TH1, the execution of the classified job K4 is delayed until the execution of the real-time job J1 is completed. The classified job K4 is started immediately after the execution of the real-time job J1 is completed.

なお、図10では、区分ジョブK1の実行完了後(時刻T3)にリアルタイムジョブJ1の実行が開始されているが、これに限定されない。たとえば、図11(他の調整例を示す図)に示されるように、ラスタライズジョブJ2(区分ジョブK1)の実行が中断等され、リアルタイムジョブJ1が時刻T1にて直ちに開始されるようにしてもよい。そして、リアルタイムジョブJ1中に区分ジョブK2,K3(コアR2での処理負荷率が所定値TH1に到達しない区分ジョブ)がリアルタイムジョブJ1に対して並列的に実行され、リアルタイムジョブJ1完了後に区分ジョブK1,K4(コアR2での処理負荷率が所定値TH1に到達する区分ジョブ)が実行されてもよい。これによれば、図10の動作に比べて、リアルタイムジョブJ1を比較的早期に開始および完了させることが可能である。 In FIG. 10, execution of the real-time job J1 is started after the execution of the classified job K1 is completed (time T3), but the present invention is not limited to this. For example, as shown in FIG. 11 (a diagram showing another example of adjustment), even if the execution of the rasterization job J2 (classified job K1) is interrupted and the real-time job J1 is immediately started at time T1, good. During the real-time job J1, the classified jobs K2 and K3 (classified jobs whose processing load factor in the core R2 does not reach the predetermined value TH1) are executed in parallel with the real-time job J1, and after the real-time job J1 is completed, the classified jobs K1 and K4 (classified jobs in which the processing load factor in core R2 reaches a predetermined value TH1) may be executed. According to this, it is possible to start and complete the real-time job J1 relatively earlier than the operation of FIG.

以上のように、リアルタイムジョブJ1の実行期間とラスタライズジョブJ2の実行期間とが重複し且つラスタライズジョブJ2の実行によりコアR2での処理負荷率が所定値TH1に到達することが推定される場合(ステップS17でYESの場合)には、ステップS21以降に進む。そして、ステップS21,S22,S27において、ラスタライズジョブJ2(詳細には、区分ジョブK1,K4)を2以上のコア(R2,R3等)で分担して実行することによってコアR2での処理負荷率が所定値TH1よりも低い値(たとえば50%)に抑えられ、リアルタイムジョブJ1とラスタライズジョブJ2とが並列的に実行される(図6も参照)。したがって、コアR2での処理負荷率が所定値TH1に到達することを適切に回避しつつ、リアルタイムジョブJ1の実行完了の遅延および/またはラスタライズジョブJ2の実行完了の遅延を回避することが可能であり、画像形成装置においてより効率的な動作を実現することが可能である。 As described above, when the execution period of the real-time job J1 and the execution period of the rasterization job J2 overlap and it is estimated that the processing load factor of the core R2 reaches the predetermined value TH1 due to the execution of the rasterization job J2 ( If YES in step S17), the process proceeds to step S21 and subsequent steps. Then, in steps S21, S22, and S27, the rasterization job J2 (more specifically, the divided jobs K1 and K4) is shared and executed by two or more cores (R2, R3, etc.). is suppressed to a value (for example, 50%) lower than the predetermined value TH1, and the real-time job J1 and the rasterization job J2 are executed in parallel (see also FIG. 6). Therefore, it is possible to appropriately avoid the processing load factor of the core R2 from reaching the predetermined value TH1, and avoid the delay in the completion of execution of the real-time job J1 and/or the delay in the completion of the rasterization job J2. Therefore, it is possible to realize more efficient operation in the image forming apparatus.

また、複数の区分ジョブK1~K4のうち、コアR2の処理負荷率が所定値TH1に到達しない区分ジョブK2,K3は、リアルタイムジョブJ1に対して並列的に実行される。したがって、コアR2での処理負荷率が所定値TH1に到達することを適切に回避しつつ、当該区分ジョブK2,K3を含むラスタライズジョブJ2を比較的早期に完了させることが可能である。 Among the plurality of classified jobs K1 to K4, the classified jobs K2 and K3 whose processing load factor of the core R2 does not reach the predetermined value TH1 are executed in parallel with the real-time job J1. Therefore, the rasterization job J2 including the classified jobs K2 and K3 can be completed relatively early while appropriately preventing the processing load factor of the core R2 from reaching the predetermined value TH1.

なお、上記実施形態では、ステップS21において、ラスタライズジョブJ2のうちコアR2の負荷率を所定値TH1に到達させる区分ジョブの全てに関してそれぞれ複数の分割ジョブに分割することが適切か否かが、一斉に判定され、その判定結果に応じた処理が行われているが、これに限定されない。たとえば、ラスタライズジョブJ2のうちコアR2の負荷率を所定値TH1に到達させる区分ジョブのうち、複数の分割ジョブに分割することが適切であると判定された区分ジョブに関しては、当該区分ジョブを分割して2以上のコアに割り当てる一方で、複数の分割ジョブに分割することが適切でないと判定された区分ジョブに関しては、当該区分ジョブの実行期間とリアルタイムジョブJ1の実行期間とが重複しないように当該区分ジョブの実行タイミングが変更されてもよい。 In the above-described embodiment, in step S21, it is determined whether it is appropriate to divide all of the classified jobs that cause the load factor of the core R2 to reach the predetermined value TH1 among the rasterizing jobs J2 into a plurality of divided jobs. is determined, and processing is performed according to the determination result, but the present invention is not limited to this. For example, among the classified jobs that cause the load factor of the core R2 to reach the predetermined value TH1 in the rasterization job J2, the classified job determined to be appropriate to be divided into a plurality of divided jobs is divided. and assign it to two or more cores, and for a classified job determined to be inappropriate to be divided into a plurality of divided jobs, the execution period of the classified job and the execution period of the real-time job J1 do not overlap. The execution timing of the classified job may be changed.

図12は、このような改変例を示す図である。この改変例においては、区分ジョブK1,K4(コアR2の負荷率を所定値TH1に到達させる各区分ジョブ)のうち、区分ジョブK4の分割が適切でなく且つ区分ジョブK1の分割は適切であると(ステップS21にて)判定されている。そして、リアルタイムジョブJ1の実行が時刻T1にて直ちに開始されるとともに、区分ジョブK1(K11,K12),K2,K3が順次に実行される。当該各区分ジョブK1(K11,K12),K2,K3は、リアルタイムジョブJ1に対して並列的に実行される。また、区分ジョブK4の実行期間とリアルタイムジョブJ1の実行期間とが重複しないように、リアルタイムジョブJ1の完了後に区分ジョブK4の実行が開始される。 FIG. 12 is a diagram showing such a modified example. In this modified example, among the classified jobs K1 and K4 (each classified job that causes the load factor of the core R2 to reach the predetermined value TH1), the division of the classified job K4 is inappropriate and the division of the classified job K1 is appropriate. (in step S21). Execution of the real-time job J1 is immediately started at time T1, and the classified jobs K1 (K11, K12), K2, and K3 are sequentially executed. The classified jobs K1 (K11, K12), K2, and K3 are executed in parallel with the real-time job J1. Further, the execution of the classified job K4 is started after the completion of the real-time job J1 so that the execution period of the classified job K4 and the execution period of the real-time job J1 do not overlap.

また、図12とは逆に、区分ジョブK1,K4(コアR2の負荷率を所定値TH1に到達させる各区分ジョブ)のうち、区分ジョブK1の分割は適切でなく且つ区分ジョブK4の分割は適切であると(ステップS21にて)判定される場合には、図13のような動作が行われてもよい。図13では、区分ジョブK1の実行期間とリアルタイムジョブJ1の実行期間とが重複しないように、区分ジョブK1の完了後の時刻T3にリアルタイムジョブJ1の実行が開始されるとともに、区分ジョブK2,K3,K4(K41,K42)がリアルタイムジョブJ1に対して並列的に実行されている。 Further, contrary to FIG. 12, among the classified jobs K1 and K4 (each classified job that causes the load factor of the core R2 to reach the predetermined value TH1), the division of the classified job K1 is inappropriate and the division of the classified job K4 is not appropriate. If it is determined to be appropriate (in step S21), the operation shown in FIG. 13 may be performed. In FIG. 13, the execution of the real-time job J1 is started at a time T3 after the completion of the classification job K1 so that the execution period of the classification job K1 and the execution period of the real-time job J1 do not overlap, and the classification jobs K2 and K3 are executed. , K4 (K41, K42) are executed in parallel with the real-time job J1.

また、上記実施形態では、ラスタライズジョブJ2が実行されている途中でリアルタイムジョブJ1が受け付けられた状況での動作例(図6、図10~図14)が主に例示されているが、これに限定されない。逆に、リアルタイムジョブJ1が実行されている途中でラスタライズジョブJ2が受け付けられた状況での動作に関しても、上記と同様の思想を適用することが可能である。 Further, in the above embodiment, an operation example (FIGS. 6 and 10 to 14) in which the real-time job J1 is accepted while the rasterization job J2 is being executed is mainly illustrated. Not limited. Conversely, the same concept as above can be applied to the operation in the situation where the rasterization job J2 is accepted while the real-time job J1 is being executed.

図21は、図20とは別の比較例に係る動作を示す図である。時刻T0からリアルタイムジョブJ1が開始されており、当該リアルタイムジョブJ1の実行途中の時刻T1でラスタライズジョブJ2が受け付けられた状況における動作が示されている。図21に示す比較例においては、リアルタイムジョブJ1とラスタライズジョブJ2との並列処理が回避されるべく、ラスタライズジョブJ2は、実行中のリアルタイムジョブJ1の完了後に開始される。それ故、ラスタライズジョブJ2の実行開始が遅延し、ラスタライズジョブJ2の実行完了が遅延する。 FIG. 21 is a diagram showing operations according to a comparative example different from FIG. The real-time job J1 is started from the time T0, and the operation in the situation where the rasterization job J2 is accepted at the time T1 during the execution of the real-time job J1 is shown. In the comparative example shown in FIG. 21, the rasterization job J2 is started after the real-time job J1 being executed is completed in order to avoid parallel processing of the real-time job J1 and the rasterization job J2. Therefore, the start of execution of the rasterization job J2 is delayed, and the completion of execution of the rasterization job J2 is delayed.

これに対して、図15は、同様の状況に対して本願発明を適用した場合における動作例を示す図である。図15においては、区分ジョブK1,K4が、コアR2の負荷率を所定値TH1に到達させる区分ジョブであると判定される(ステップS17)。そして、区分ジョブK1が分割ジョブK11,K12に分割され、区分ジョブK4が分割ジョブK41,K42に分割される(ステップS21,S22)。この結果、各分割ジョブK11,K12,K41,K42の各コアでの処理負荷率は、所定値TH1に到達しない。これにより、コア間通信の阻害事象の発生を回避することが可能である。そして、区分ジョブK1,K2,K3,K4が、リアルタイムジョブJ1に対して並列的に実行される。したがって、ラスタライズジョブJ2の実行完了の遅延(および/またはリアルタイムジョブJ1の実行完了の遅延)を回避することが可能であり、画像形成装置においてより効率的な動作を実現することが可能である。 On the other hand, FIG. 15 is a diagram showing an operation example when the present invention is applied to a similar situation. In FIG. 15, the classified jobs K1 and K4 are determined to be classified jobs that cause the load factor of the core R2 to reach the predetermined value TH1 (step S17). Then, the classified job K1 is divided into divided jobs K11 and K12, and the classified job K4 is divided into divided jobs K41 and K42 (steps S21 and S22). As a result, the processing load factor on each core of each of the divided jobs K11, K12, K41, and K42 does not reach the predetermined value TH1. This makes it possible to avoid the occurrence of inter-core communication obstruction events. The classified jobs K1, K2, K3, and K4 are executed in parallel with the real-time job J1. Therefore, it is possible to avoid the delay in the completion of execution of the rasterization job J2 (and/or the delay in the completion of execution of the real-time job J1), and it is possible to realize more efficient operation in the image forming apparatus.

また、当該リアルタイムジョブJ1の実行途中の時刻T1でラスタライズジョブJ2が受け付けられた場合(図21および図15参照)において、上記第1実施形態およびその改変例と同様の動作が実行されるようにしてもよい。たとえば、図16に示すように、コアR2の負荷率を所定値TH1に到達させる複数の区分ジョブK1,K4のうち、複数の分割ジョブに分割することが適切であると判定された区分ジョブK1に関しては、当該区分ジョブK1を複数の分割ジョブK11,K12に分割して、当該複数の分割ジョブK11,K12を2以上のコアに割り当てるようにしてもよい。一方、複数の分割ジョブに分割することが適切でないと判定された区分ジョブK4に関しては、当該区分ジョブK4の実行期間とリアルタイムジョブJ1の実行期間とが重複しないように当該区分ジョブK4の実行タイミングが変更されてもよい。 Further, when the rasterization job J2 is accepted at time T1 during the execution of the real-time job J1 (see FIGS. 21 and 15), the same operations as those of the first embodiment and its modified example are executed. may For example, as shown in FIG. 16, among the plurality of classified jobs K1 and K4 that cause the load factor of the core R2 to reach the predetermined value TH1, the classified job K1 determined to be appropriate to be divided into a plurality of divided jobs. Regarding, the classified job K1 may be divided into a plurality of divided jobs K11 and K12, and the plurality of divided jobs K11 and K12 may be assigned to two or more cores. On the other hand, regarding the classified job K4 determined to be inappropriate for division into a plurality of divided jobs, the execution timing of the classified job K4 is adjusted so that the execution period of the classified job K4 and the execution period of the real-time job J1 do not overlap. may be changed.

<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
<2. Second Embodiment>
The second embodiment is a modification of the first embodiment. Below, it demonstrates centering around difference with 1st Embodiment.

第2実施形態においては、ラスタライズジョブJ2の分割処理が適切でないと判定される場合(図5のステップS21参照)において、リアルタイムジョブJ1がコアR1のみならず別のコア(たとえば、コアR4等)をも用いて実行される(換言すれば、リアルタイムジョブJ1が複数の分割ジョブに分割されて複数のコアで分担されて実行される)態様について説明する。 In the second embodiment, when it is determined that the division processing of the rasterization job J2 is not appropriate (see step S21 in FIG. 5), the real-time job J1 is not only the core R1 but also another core (for example, core R4). (in other words, the real-time job J1 is divided into a plurality of divided jobs and executed by a plurality of cores).

第2実施形態においても、第1実施形態と同様の動作が実行される(図4等参照)。ただし、図5の動作に代えて、図17の動作が実行される。 Also in the second embodiment, the same operation as in the first embodiment is executed (see FIG. 4, etc.). However, instead of the operation of FIG. 5, the operation of FIG. 17 is executed.

図17においては、(所定条件が成立せず)ラスタライズジョブJ2の分割が適切でない旨がステップS21で判定されると、ステップS31に進む。 In FIG. 17, when it is determined in step S21 that the division of the rasterization job J2 is not appropriate (predetermined condition is not satisfied), the process proceeds to step S31.

ステップS31では、今度はリアルタイムジョブJ1の分割の適否が判定される。そして、リアルタイムジョブJ1を分割することが適切である旨が判定されるとステップSS32に進み、適切でない旨が判定されるとステップS33に進む。なお、リアルタイムジョブJ1の分割の適否は、分割の許否について予め設定された設定内容(「分割許可」/「分割不許可」)等に基づいて決定されればよい。 In step S31, it is determined whether the division of the real-time job J1 is appropriate. Then, if it is determined that it is appropriate to divide the real-time job J1, the process proceeds to step SS32, and if it is determined that it is not appropriate, the process proceeds to step S33. Note that whether or not to divide the real-time job J1 may be determined based on preset setting contents (“division permitted”/“division not permitted”) for permitting or denying division.

ステップS32では、リアルタイムジョブJ1が分割されて処理されるべき旨が決定されるとともに、分割処理に関する設定処理が実行される。具体的には、リアルタイムジョブJ1(たとえば、リアルタイムジョブJ1のうちのスキャンタスクを複数の分割ジョブ(分割タスクとも称する)に分割することを決定(設定)する処理、および当該分割ジョブを複数のコアR1~R4のうち2以上のコア(コアR2を除く)に割り当てる処理等が実行される。 In step S32, it is determined that the real-time job J1 should be divided and processed, and a setting process regarding the division process is executed. Specifically, a process of determining (setting) the division of the real-time job J1 (for example, the scan task of the real-time job J1 into a plurality of divided jobs (also referred to as divided tasks), and dividing the divided jobs into a plurality of cores. Processing such as allocation to two or more cores (excluding core R2) among R1 to R4 is executed.

分割処理後のリアルタイムジョブJ1(詳細には、そのスキャンタスク)においては、まず、光学的読取処理にて光学的に読み取られたカラー画素値(R(レッド)成分、G(グリーン)成分、B(ブルー)成分)が、別の表色系表現(C(シアン)成分、M(マゼンタ)成分、Y(イエロー)成分、K(ブラック)成分)に変換されて画像メモリに一時的に格納される。換言すれば、入力デバイスのRGB画像のRGB表色系が、出力デバイスのCMYK画像のCMYK表色系に変換されて、画像メモリに格納される。その後、当該スキャンタスクにおける画像処理が、C成分およびM成分に関する第1画像処理とY成分およびK成分に関する第2画像処理とに分離され、第1画像処理がコアR1で実行され、第2画像処理がコアR4で実行される。このような分担処理がなされるべき旨がステップS32で設定される。なお、ステップS27においては、画像メモリへの一時格納処理とその後の基本色成分ごとの画像処理とが、たとえば所定本数単位の画素ラインごとに繰り返し実行される。 In the real-time job J1 (specifically, its scan task) after the division processing, first, color pixel values (R (red) component, G (green) component, B (blue) component) is converted into another color system expression (C (cyan) component, M (magenta) component, Y (yellow) component, K (black) component) and is temporarily stored in the image memory. be. In other words, the RGB color system of the RGB image of the input device is converted into the CMYK color system of the CMYK image of the output device and stored in the image memory. After that, the image processing in the scan task is separated into first image processing for the C and M components and second image processing for the Y and K components, the first image processing is performed by the core R1, and the second image processing is performed by the core R1. Processing is performed in core R4. It is set in step S32 that such sharing processing should be performed. In step S27, the temporary storage processing in the image memory and the subsequent image processing for each basic color component are repeatedly executed, for example, for each predetermined number of pixel lines.

そして、ステップS32の次のステップS33に進む。リアルタイムジョブJ1が分割されたとしても、ラスタライズジョブJ2の処理負荷率が所定値TH1に到達することに起因して、コア間通信の阻害事象の発生が生じ得る。そのため、第2実施形態においても、リアルタイムジョブJ1とラスタライズジョブJ2(詳細には、ラスタライズジョブJ2の複数の区分ジョブのうち、コアR2の負荷率を所定値TH1に到達させる区分ジョブ)との並列的処理は実行されない。ステップS33では、ラスタライズジョブJ2の各区分ジョブの実行順序および実行タイミング等が調整される。なお、ステップS31からステップS32を経由せずにステップS33に進んだ場合にも、リアルタイムジョブJ1とラスタライズジョブJ2との並列的処理は実行されないように、ラスタライズジョブJ2の各区分ジョブの実行順序および実行タイミング等が調整される。 Then, the process proceeds to step S33 following step S32. Even if the real-time job J1 is divided, an inter-core communication obstruction event may occur due to the processing load factor of the rasterization job J2 reaching the predetermined value TH1. Therefore, in the second embodiment as well, the parallelization of the real-time job J1 and the rasterization job J2 (more specifically, the division job that causes the load factor of the core R2 to reach the predetermined value TH1 among the plurality of division jobs of the rasterization job J2) no processing is performed. In step S33, the execution order, execution timing, and the like of each classified job of the rasterization job J2 are adjusted. It should be noted that the execution order of each classified job of the rasterization job J2 and Execution timing and the like are adjusted.

ステップS33にて、ラスタライズジョブJ2の各区分ジョブの実行順序および実行タイミング等が調整された後、ステップS27に進む。 In step S33, after the execution order and execution timing of each classified job of the rasterization job J2 are adjusted, the process proceeds to step S27.

ステップS27では、リアルタイムジョブJ1とラスタライズジョブJ2とが上述のようなタイミングで実行される。 In step S27, the real-time job J1 and the rasterization job J2 are executed at the above timing.

図18は、第2実施形態に係る動作例を示す図である。図18においては、図10と同様の動作が示されている。ただし、図18においては、リアルタイムジョブJ1のうちのスキャンタスクが2つの分割ジョブ(分割タスク)に分割され、コアR1とコアR4とで分担されて実行されている。また、その後、リアルタイムジョブJ1の実行期間とラスタライズジョブJ2の区分ジョブK1,K4の実行期間とが互いに重複しないように各区分ジョブK1,K4の実行タイミングが変更される。たとえば、リアルタイムジョブJ1の実行完了直後に、区分ジョブK4が実行される。 FIG. 18 is a diagram showing an operation example according to the second embodiment. FIG. 18 shows the same operation as in FIG. However, in FIG. 18, the scan task of the real-time job J1 is divided into two divided jobs (divided tasks), which are shared and executed by the cores R1 and R4. After that, the execution timings of the division jobs K1 and K4 are changed so that the execution period of the real-time job J1 and the execution period of the division jobs K1 and K4 of the rasterization job J2 do not overlap each other. For example, the classification job K4 is executed immediately after the execution of the real-time job J1 is completed.

このように、リアルタイムジョブJ1を複数のコアR1~R4のうち2以上のコア(たとえば、コアR1とコアR4)で分担して実行することによって、リアルタイムジョブJ1の所要時間(実行期間)が短縮されるので、リアルタイムジョブJ1を比較的早期に完了させることが可能である。したがって、リアルタイムジョブJ1の後に実行される区分ジョブK4(ひいてはラスタライズジョブJ2)を比較的早期に完了させることも可能である。 In this way, the real-time job J1 is shared by two or more cores (for example, core R1 and core R4) out of the plurality of cores R1 to R4, thereby shortening the time required (execution period) of the real-time job J1. Therefore, it is possible to complete the real-time job J1 relatively early. Therefore, it is possible to complete the classification job K4 (and thus the rasterization job J2), which is executed after the real-time job J1, relatively early.

また、複数の区分ジョブK1~K4のうち、コアR2の処理負荷率が所定値TH1に到達しない区分ジョブK2,K3は、リアルタイムジョブJ1に対して並列的に実行されるので、当該区分ジョブK2,K3を含むラスタライズジョブJ2を比較的早期に完了させることが可能である。 Among the plurality of classified jobs K1 to K4, the classified jobs K2 and K3 whose processing load factor of the core R2 does not reach the predetermined value TH1 are executed in parallel with the real-time job J1. , K3 can be completed relatively early.

図19は、第2実施形態に係る他の動作例を示す図である。図19においては、図12と同様の動作が示されている。ただし、図19においては、リアルタイムジョブJ1のうちのスキャンタスクが2つの分割ジョブ(分割タスク)に分割され、当該2つの分割ジョブがコアR1とコアR4とで分担されて実行されている。 FIG. 19 is a diagram showing another operation example according to the second embodiment. FIG. 19 shows the same operation as in FIG. However, in FIG. 19, the scan task of the real-time job J1 is divided into two divided jobs (divided tasks), and the two divided jobs are shared between the cores R1 and R4 and executed.

<3.変形例等>
以上、この発明の実施の形態について説明したが、この発明は、上記説明した内容に限定されるものではない。
<3. Modifications, etc.>
Although the embodiments of the present invention have been described above, the present invention is not limited to the contents described above.

たとえば、上記各実施形態等においては、複数のページに関するラスタライズジョブJ2がページ単位で複数の区分ジョブに区分されているが、これに限定されない。たとえば、1あるいは複数のページのラスタライズジョブJ2が、バンド単位(所定ライン数単位)(たとえば256本の画素ライン単位)で、複数の区分ジョブに区分されてもよい。あるいは、1ページのラスタライズジョブJ2が、左半領域に関するジョブと右半領域に関するジョブとの2つの区分ジョブに区分されてもよい。あるいは、1ページのラスタライズジョブJ2が、上半領域に関するジョブと下半領域に関するジョブとの2つの区分ジョブとの2つの区分ジョブに区分されてもよい。あるいは、1ページのラスタライズジョブJ2が「基本色成分」(最終出力画像のうちの基本色成分(具体的には、Y(イエロー),M(マゼンタ),C(シアン),K(ブラック)の各成分))単位で複数の区分ジョブに区分されてもよい。具体的には、ラスタライズジョブJ2が、C成分に関するジョブとM成分に関するジョブとY成分に関するジョブとK成分に関するジョブとの4つの区分ジョブに区分されてもよい。 For example, in each of the embodiments described above, the rasterization job J2 relating to a plurality of pages is divided into a plurality of division jobs on a page-by-page basis, but the present invention is not limited to this. For example, the rasterization job J2 of one or more pages may be divided into a plurality of division jobs in units of bands (in units of a predetermined number of lines) (for example, in units of 256 pixel lines). Alternatively, the one-page rasterization job J2 may be divided into two divided jobs, one for the left half area and one for the right half area. Alternatively, the one-page rasterization job J2 may be divided into two divided jobs, a job related to the upper half area and a job related to the lower half area. Alternatively, the one-page rasterization job J2 may include "basic color components" (basic color components of the final output image (specifically, Y (yellow), M (magenta), C (cyan), and K (black)). Each component)) may be divided into a plurality of division jobs. Specifically, the rasterization job J2 may be divided into four divided jobs: a job related to the C component, a job related to the M component, a job related to the Y component, and a job related to the K component.

また、上記各実施形態等においては、区分ジョブ(K1等)が「バンド」単位(所定ライン数単位)で複数の分割ジョブに分割されているが、これに限定されない。 In addition, in each of the above-described embodiments and the like, a classified job (K1, etc.) is divided into a plurality of divided jobs in units of "bands" (in units of a predetermined number of lines), but the present invention is not limited to this.

たとえば、区分ジョブの区分単位領域よりも小さな単位領域で分割されることによって、区分ジョブが複数の分割ジョブに分割されてもよい。より詳細には、ラスタライズジョブJ2を所定ライン数単位(たとえば「256本」単位)で区分した区分ジョブが、当該所定ライン数単位よりも細かい単位(たとえば「128本」単位)で複数の分割ジョブに分割されてもよい。あるいは、ラスタライズジョブJ2が右半領域に関する区分ジョブと左半領域に関する区分ジョブとに区分された後、少なくとも一方の区分ジョブが、上半領域に関する分割領域と下半領域に関する分割領域との2つの分割ジョブに分割されてもよい。あるいは、ページ単位で区分された各区分ジョブが、各ページ内の左半領域に関するジョブと右半領域に関するジョブとの2つの分割ジョブ(あるいは、各ページ内の上半領域に関するジョブと下半領域に関するジョブとの2つの分割ジョブ等)にさらに分割されてもよい。あるいは、バンド単位で区分された各区分ジョブが、各バンド内の左半領域に関するジョブと右半領域に関するジョブとの2つの分割ジョブ(あるいは、各バンド内の上半領域に関するジョブと下半領域に関するジョブとの2つの分割ジョブ等)にさらに分割されてもよい。 For example, a division job may be divided into a plurality of division jobs by being divided by unit areas smaller than the division unit area of the division job. More specifically, a divided job obtained by dividing the rasterization job J2 in units of a predetermined number of lines (for example, units of "256 lines") is divided into a plurality of divided jobs in units finer than the units of the predetermined number of lines (for example, units of "128 lines"). may be divided into Alternatively, after the rasterization job J2 is divided into a division job for the right half area and a division job for the left half area, at least one division job divides the division job into two areas, a division area for the upper half area and a division area for the lower half area. It may be split into split jobs. Alternatively, each divided job divided by page is divided into two jobs, one for the left half area and one for the right half area within each page (or one for the upper half area and the other for the lower half area within each page). may be further divided into two split jobs, such as a job for . Alternatively, each divided job divided by band is divided into two divided jobs, a job related to the left half area and a job related to the right half area in each band (or a job related to the upper half area and a job related to the lower half area in each band). may be further divided into two split jobs, such as a job for .

あるいは、ページ単位で区分された各区分ジョブ(あるいは、バンド単位で区分された各区分ジョブ等)が、「基本色成分」(Y,M,C,Kの各成分)単位で複数の分割ジョブに分割されてもよい。具体的には、区分ジョブK1が、C成分に関する分割ジョブとM成分に関する分割ジョブとY成分に関する分割ジョブとK成分に関する分割ジョブとの4つの分割ジョブに分割されてもよい。 Alternatively, each divided job divided by page (or each divided job divided by band, etc.) is divided into multiple divided jobs by "basic color component" (each component of Y, M, C, and K). may be divided into Specifically, the classified job K1 may be divided into four divided jobs: a divided job for the C component, a divided job for the M component, a divided job for the Y component, and a divided job for the K component.

あるいは、「基本色成分」単位で区分された各区分ジョブが、所定の領域単位(たとえば、ページ単位、バンド単位等)で複数の分割ジョブに分割されてもよい。 Alternatively, each classified job divided in units of "basic color components" may be divided into a plurality of divided jobs in units of predetermined regions (for example, units of pages, units of bands, etc.).

そして、当該複数の分割ジョブが複数のコアのうち2以上のコアで分担されて実行されればよい。 Then, the plurality of divided jobs may be shared and executed by two or more cores among the plurality of cores.

また、ステップS21における判定条件は、分割手法に応じて適宜に定められればよい。 Moreover, the determination condition in step S21 may be appropriately determined according to the dividing method.

たとえば、区分ジョブに対応する区分領域よりも細かい領域を基準にして、当該区分ジョブを複数の分割ジョブに分割しようとする場合には、次のような判定条件が用いられればよい。具体的には、複数の分割ジョブのうちの各分割ジョブに関する画像処理が、当該複数の分割ジョブのうちの他の分割ジョブ(自分割ジョブ以外の分割ジョブ)の分割領域の画像データを用いる特定の画像処理(誤差拡散処理、画像フィルタ処理、およびグラデーション処理等)を有しないこと等が、ステップS21における分割適否判定における条件として用いられればよい。当該条件は、判定対象の区分ジョブに関する複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能である旨を判定するための条件である、とも表現される。 For example, when dividing a classified job into a plurality of divided jobs based on areas smaller than the divided area corresponding to the classified job, the following determination conditions may be used. Specifically, the image processing for each divided job among the plurality of divided jobs uses the image data of the divided area of another divided job (a divided job other than the self-divided job) among the plurality of divided jobs. It is only necessary to use the fact that the image processing (error diffusion processing, image filter processing, gradation processing, etc.) is not performed as a condition for the division suitability determination in step S21. This condition is also expressed as a condition for determining that each of a plurality of divided jobs related to the classified job to be determined can be executed independently without using image data of other divided jobs. .

あるいは、区分ジョブを「基本色成分」単位で複数の分割ジョブに分割しようとする場合(換言すれば、複数の色成分画像(区分ジョブに関する画像を基本色成分ごとに分割した色成分画像)をそれぞれ処理対象とする複数の分割ジョブへと、当該区分ジョブを分割しようとする場合)には、ステップS21における分割適否判定における条件として、次のような条件が用いられればよい。具体的には、複数の分割ジョブのうちの各分割ジョブに関する画像処理が、当該複数の分割ジョブのうちの他の分割ジョブの色成分画像の画像データを用いる特定の画像処理(RGB表色系とLab表色系との間の色変換処理、およびCMYK表色系とLab表色系との間の色変換処理等)を有しない旨の条件等が用いられればよい。 Alternatively, if you want to divide a classification job into multiple division jobs in units of "basic color components" (in other words, multiple color component images (color component images obtained by dividing an image related to a classification job for each basic color component) In the case where the classified job is to be divided into a plurality of divided jobs to be processed respectively, the following condition may be used as the condition for determining whether or not the division is appropriate in step S21. Specifically, the image processing for each divided job among the plurality of divided jobs is specific image processing (RGB color system) using image data of color component images of other divided jobs among the plurality of divided jobs. and the Lab colorimetric system, and between the CMYK colorimetric system and the Lab colorimetric system).

また、上記各実施形態等においては、ステップS21において、判定対象の区分ジョブに関する複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能であるか否かが考慮されて、当該複数の分割ジョブへの分割の適否が判定されているが、これに限定されない。たとえば、判定対象の区分ジョブに関する複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能であるか否かが考慮されずに、当該分割の適否が判定されてもよい。より詳細には、処理負荷の分散先候補のコアの処理負荷率が所定値TH2以下であることのみを条件として、当該分割の適否が判定されてもよい。その場合、各分割ジョブが他の分割ジョブの画像データをも利用しつつ実行されればよい。 In each of the above-described embodiments and the like, in step S21, it is determined whether or not each of the plurality of divided jobs related to the classified job to be determined can be executed independently without using the image data of the other divided jobs. Although the appropriateness of division into the plurality of divided jobs is determined based on consideration, the present invention is not limited to this. For example, the propriety of the division is determined without considering whether or not each of the plurality of divided jobs related to the classified job to be determined can be executed independently without using the image data of the other divided jobs. may More specifically, whether or not the division is appropriate may be determined only on the condition that the processing load rate of the core that is the processing load distribution destination candidate is equal to or less than a predetermined value TH2. In that case, each divided job may be executed while also using the image data of other divided jobs.

また、上記各実施形態等における各ジョブの各コアR1~R4への割り当ては、上記態様に限定されない。たとえば、ラスタライズジョブJ2が主にコアR4に割り当てられ、パネル操作管理ジョブが主にコアR2に割り当てられてもよい。 Also, assignment of each job to each core R1 to R4 in each of the above embodiments is not limited to the above mode. For example, the rasterization job J2 may be mainly assigned to core R4, and the panel operation management job may be mainly assigned to core R2.

また、上記各実施形態等では、第2種類のジョブとしてラスタライズジョブJ2が例示されているが、これに限定されない。たとえば、第2種類のジョブは、各種の画像処理アプリケーションに関するジョブ等であってもよい。 Also, in each of the above-described embodiments and the like, the rasterization job J2 is exemplified as the second type of job, but the job is not limited to this. For example, the second type of jobs may be jobs related to various image processing applications.

1 印刷システム
10 MFP
50 コンピュータ
J1 リアルタイムジョブ
J2 ラスタライズジョブ
K1,K2,K3,K4 区分ジョブ
K11,K12,K41,K42 分割ジョブ
R1~R4 (CPUの)コア
1 printing system 10 MFP
50 Computer J1 Real-time job J2 Rasterize job K1, K2, K3, K4 Divided job K11, K12, K41, K42 Divided job R1~R4 (CPU) core

Claims (26)

画像形成装置であって、
複数のコアを有するCPUを用いて前記画像形成装置の動作を制御する制御手段と、
前記複数のコアのうちの第1コアを用いて制御されるべき第1種類のジョブを受け付ける第1受付手段と、
前記複数のコアのうちの第2コアを用いて制御されるべき第2種類のジョブを受け付ける第2受付手段と、
を備え、
前記制御手段は、前記第1種類のジョブと前記第2種類のジョブとのうちの一方のジョブの実行中に他方のジョブが受け付けられた際に、仮に前記第2コアのみで前記第2種類のジョブを実行すると前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間との重複期間であって前記他方のジョブの受付後に発生する重複期間において前記第2コアでの処理負荷率が所定値に到達することが前記第2種類のジョブの内容に基づいて予測される場合、前記第2種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記第2種類のジョブとを並列的に実行することを特徴とする画像形成装置。
An image forming apparatus,
a control means for controlling the operation of the image forming apparatus using a CPU having a plurality of cores;
a first receiving means for receiving a first type of job to be controlled using a first core among the plurality of cores;
a second receiving means for receiving a second type of job to be controlled using a second core among the plurality of cores;
with
When one of the first type job and the second type job is being executed and the other job is accepted, the control means temporarily performs the second type job with only the second core. When the second job is executed, during the overlapping period of the execution period of the first type of job and the execution period of the second type of job, which occurs after the other job is accepted, the second core is predicted to reach a predetermined value based on the content of the second type of job, the second type of job is shared by two or more of the plurality of cores and executed. and suppressing the processing load factor of the second core to be lower than the predetermined value, and executing the first type job and the second type job in parallel.
請求項1に記載の画像形成装置において、
前記制御手段は、前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間とが重複するものの仮に前記第2コアのみで前記第2種類のジョブを実行しても前記第2コアでの処理負荷率が前記所定値に到達しないことが予測される場合、前記第2種類のジョブを前記第2コアで実行させつつ前記第1種類のジョブと前記第2種類のジョブとを並列的に実行することを特徴とする画像形成装置。
The image forming apparatus according to claim 1,
Although the execution period of the first type of job overlaps with the execution period of the second type of job, the control means controls the execution of the second type of job even if the second type of job is executed only by the second core. When it is predicted that the processing load factor in the core will not reach the predetermined value, the first type job and the second type job are executed while the second type job is executed by the second core. An image forming apparatus characterized by parallel execution.
請求項1または請求項2に記載の画像形成装置において、
前記制御手段は、前記第2種類のジョブを複数の区分ジョブに区分し、前記第1種類のジョブの実行期間と前記複数の区分ジョブのうちの一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行することを特徴とする画像形成装置。
In the image forming apparatus according to claim 1 or claim 2,
The control means classifies the second type of job into a plurality of classified jobs, wherein an execution period of the first type of job overlaps with an execution period of one of the plurality of classified jobs, and If it is predicted that the processing load factor of the second core will reach the predetermined value if the one classified job is executed only by the second core , the one classified job is divided into a plurality of divided jobs. and executing the plurality of divided jobs shared by two or more cores out of the plurality of cores to keep the processing load factor of the second core lower than the predetermined value; 1. An image forming apparatus characterized by executing one classified job in parallel.
請求項3に記載の画像形成装置において、
前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複するものの仮に前記第2コアのみで前記一の区分ジョブを実行しても前記第2コアでの処理負荷率が前記所定値に到達しないことが予測される場合、前記一の区分ジョブを前記第2コアで実行させつつ前記第1種類のジョブと前記一の区分ジョブとを並列的に実行することを特徴とする画像形成装置。
The image forming apparatus according to claim 3,
Although the execution period of the first type job and the execution period of the one classified job overlap, even if the one classified job is executed only by the second core, is predicted not to reach the predetermined value, the first type of job and the one classified job are executed in parallel while causing the one classified job to be executed by the second core. An image forming apparatus characterized by:
請求項3に記載の画像形成装置において、
前記第2種類のジョブは、印刷出力物の複数のページに関するラスタライズデータを生成するラスタライズデータ生成ジョブであり、
前記制御手段は、前記第2種類のジョブをページ単位で前記複数の区分ジョブに区分することを特徴とする画像形成装置。
The image forming apparatus according to claim 3,
The second type of job is a rasterized data generation job that generates rasterized data for a plurality of pages of a printed output,
The image forming apparatus, wherein the control unit divides the second type of job into the plurality of divided jobs by page.
請求項5に記載の画像形成装置において、
前記制御手段は、前記一の区分ジョブを所定ライン数単位で前記複数の分割ジョブに分割することを特徴とする画像形成装置。
In the image forming apparatus according to claim 5,
The image forming apparatus, wherein the control unit divides the one divided job into the plurality of divided jobs in units of a predetermined number of lines.
請求項5に記載の画像形成装置において、
前記制御手段は、前記一の区分ジョブを基本色成分単位で前記複数の分割ジョブに分割することを特徴とする画像形成装置。
In the image forming apparatus according to claim 5,
The image forming apparatus, wherein the control unit divides the one divided job into the plurality of divided jobs in units of basic color components.
請求項3に記載の画像形成装置において、
前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであり、
前記制御手段は、前記第2種類のジョブを所定ライン数単位で前記複数の区分ジョブに区分することを特徴とする画像形成装置。
The image forming apparatus according to claim 3,
the second type of job is a rasterized data generation job for generating rasterized data related to a printed output;
The image forming apparatus, wherein the control unit divides the second type of job into the plurality of divided jobs in units of a predetermined number of lines.
請求項8に記載の画像形成装置において、
前記制御手段は、前記一の区分ジョブを前記所定ライン数単位よりも細かい単位で前記複数の分割ジョブに分割することを特徴とする画像形成装置。
In the image forming apparatus according to claim 8,
The image forming apparatus, wherein the control unit divides the one divided job into the plurality of divided jobs in units smaller than the predetermined number of lines.
請求項8に記載の画像形成装置において、
前記制御手段は、前記一の区分ジョブを基本色成分単位で前記複数の分割ジョブに分割することを特徴とする画像形成装置。
In the image forming apparatus according to claim 8,
The image forming apparatus, wherein the control unit divides the one divided job into the plurality of divided jobs in units of basic color components.
請求項1から請求項10のいずれかに記載の画像形成装置において、
前記制御手段は、前記第2種類のジョブの対象画像に基づいて、前記第2種類のジョブの実行により前記第2コアでの処理負荷率が前記所定値に到達するか否か、を予測することを特徴とする画像形成装置。
In the image forming apparatus according to any one of claims 1 to 10,
The control means predicts , based on the target image of the second type job, whether or not the processing load factor of the second core reaches the predetermined value due to the execution of the second type job. An image forming apparatus characterized by:
請求項11に記載の画像形成装置において、
前記制御手段は、前記対象画像の解像度と前記対象画像に関するレイヤーの数と前記対象画像に関する特定種類のオブジェクト数とのうちのいずれか1つ以上に基づいて、前記第2種類のジョブの実行により前記第2コアでの処理負荷率が前記所定値に到達するか否か、を予測することを特徴とする画像形成装置。
The image forming apparatus according to claim 11, wherein
Based on any one or more of the resolution of the target image, the number of layers related to the target image, and the number of specific types of objects related to the target image, the control means performs An image forming apparatus characterized by predicting whether or not a processing load factor in said second core will reach said predetermined value.
請求項3に記載の画像形成装置において、
前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合において、
所定条件が成立するときには、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行し、
前記所定条件が成立しないときには、前記一の区分ジョブの実行期間と前記第1種類のジョブの実行期間とが重複しないように前記一の区分ジョブの実行タイミングを変更することを特徴とする画像形成装置。
The image forming apparatus according to claim 3,
If the execution period of the first type job overlaps with the execution period of the one classified job, and if the one classified job is executed only by the second core , the control unit controls the processing by the second core. When the load factor is expected to reach the predetermined value,
When a predetermined condition is satisfied, the one classified job is divided into a plurality of divided jobs, and two or more of the plurality of cores share and execute the plurality of divided jobs, and the second core performs processing. suppressing the load factor below the predetermined value, executing the first type of job and the one classified job in parallel;
An image forming method, wherein when the predetermined condition is not satisfied, the execution timing of the one classified job is changed so that the execution period of the one classified job and the execution period of the first type job do not overlap. Device.
請求項13に記載の画像形成装置において、
前記所定条件は、前記一の区分ジョブに関する前記複数の分割ジョブのそれぞれが他の分割ジョブの画像データを利用せずに独立して実行可能であることを含むことを特徴とする画像形成装置。
The image forming apparatus according to claim 13, wherein
The image forming apparatus, wherein the predetermined condition includes that each of the plurality of divided jobs related to the one divided job can be executed independently without using image data of other divided jobs.
請求項14に記載の画像形成装置において、
前記複数の分割ジョブは、前記一の区分ジョブに関する画像を領域分割した複数の分割領域をそれぞれ処理対象とするジョブであり、
前記所定条件は、前記複数の分割ジョブのうちの各分割ジョブに関する画像処理が、前記複数の分割ジョブのうちの他の分割ジョブの分割領域の画像データを用いる特定の画像処理を有しないことを含むことを特徴とする画像形成装置。
15. The image forming apparatus according to claim 14,
The plurality of divided jobs are jobs that target a plurality of divided areas obtained by dividing an image related to the one divided job, and
The predetermined condition is that image processing for each divided job of the plurality of divided jobs does not include specific image processing using image data of divided areas of other divided jobs among the plurality of divided jobs. an image forming apparatus comprising:
請求項15に記載の画像形成装置において、
前記特定の画像処理は、誤差拡散処理と画像フィルタ処理とグラデーション処理とのいずれかを含むことを特徴とする画像形成装置。
16. The image forming apparatus according to claim 15,
The image forming apparatus, wherein the specific image processing includes any one of error diffusion processing, image filter processing, and gradation processing.
請求項14に記載の画像形成装置において、
前記複数の分割ジョブは、前記一の区分ジョブに関する画像を基本色成分ごとに分割した複数の色成分画像をそれぞれ処理対象とするジョブであり、
前記所定条件は、前記複数の分割ジョブのうちの各分割ジョブに関する画像処理が、前記複数の分割ジョブのうちの他の分割ジョブの色成分画像の画像データを用いる特定の画像処理を有しないことを含むことを特徴とする画像形成装置。
15. The image forming apparatus according to claim 14,
The plurality of divided jobs are jobs for processing a plurality of color component images obtained by dividing an image related to the one divided job for each basic color component, and
The predetermined condition is that image processing for each divided job among the plurality of divided jobs does not include specific image processing using image data of color component images of other divided jobs among the plurality of divided jobs. An image forming apparatus comprising:
請求項17に記載の画像形成装置において、
前記特定の画像処理は、色変換処理を含むことを特徴とする画像形成装置。
18. The image forming apparatus according to claim 17,
The image forming apparatus, wherein the specific image processing includes color conversion processing.
請求項3に記載の画像形成装置において、
前記制御手段は、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複し且つ仮に前記第2コアのみで前記一の区分ジョブを実行すると前記第2コアでの処理負荷率が前記所定値に到達することが予測される場合において、
所定条件が成立するときには、前記一の区分ジョブを複数の分割ジョブに分割し、前記複数のコアのうち2以上のコアで前記複数の分割ジョブを分担して実行し前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記一の区分ジョブとを並列的に実行し、
前記所定条件が成立しないときには、前記第1種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第1種類のジョブの所要時間を低減しつつ、前記第1種類のジョブの実行期間と前記一の区分ジョブの実行期間とが重複しないように前記一の区分ジョブの実行タイミングを変更することを特徴とする画像形成装置。
The image forming apparatus according to claim 3,
If the execution period of the first type job overlaps with the execution period of the one classified job, and if the one classified job is executed only by the second core , the control unit controls the processing by the second core. When the load factor is expected to reach the predetermined value,
When a predetermined condition is satisfied, the one classified job is divided into a plurality of divided jobs, and two or more of the plurality of cores share and execute the plurality of divided jobs, and the second core performs processing. suppressing the load factor below the predetermined value, executing the first type of job and the one classified job in parallel;
When the predetermined condition is not satisfied, two or more of the plurality of cores share the job of the first type to execute the job of the first type, thereby reducing the time required for the job of the first type. and changing the execution timing of the one classified job so that the execution period of the first job and the execution period of the one classified job do not overlap.
請求項1から請求項19のいずれかに記載の画像形成装置において、
前記第1種類のジョブは、スキャンジョブとコピージョブとの少なくとも1つを含むことを特徴とする画像形成装置。
In the image forming apparatus according to any one of claims 1 to 19,
The image forming apparatus, wherein the first type of job includes at least one of a scan job and a copy job.
請求項20に記載の画像形成装置において、
前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであることを特徴とする画像形成装置。
The image forming apparatus according to claim 20, wherein
The image forming apparatus, wherein the job of the second type is a rasterized data generation job for generating rasterized data relating to a printed output.
請求項1から請求項21のいずれかに記載の画像形成装置において、
前記第1種類のジョブは、その即時実行要求の必要性が前記第2種類のジョブよりも高いジョブであることを特徴とする画像形成装置。
In the image forming apparatus according to any one of claims 1 to 21,
The image forming apparatus according to claim 1, wherein the first type of job is a job whose immediate execution request is higher than that of the second type of job.
画像形成装置に内蔵されたコンピュータであって、複数のコアを有するCPUを備えるコンピュータに、
a)前記複数のコアのうちの第1コアを用いて制御されるべき第1種類のジョブを受け付けるステップと、
b)前記複数のコアのうちの第2コアを用いて制御されるべき第2種類のジョブを受け付けるステップと、
c)前記第1種類のジョブと前記第2種類のジョブとのうちの一方のジョブの実行中に他方のジョブが受け付けられた際に、仮に前記第2コアのみで前記第2種類のジョブを実行すると前記第1種類のジョブの実行期間と前記第2種類のジョブの実行期間との重複期間であって前記他方のジョブの受付後に発生する重複期間において前記第2コアでの処理負荷率が所定値に到達することが前記第2種類のジョブの内容に基づいて予測される場合、前記第2種類のジョブを前記複数のコアのうち2以上のコアで分担して実行して前記第2コアでの処理負荷率を前記所定値よりも低く抑え、前記第1種類のジョブと前記第2種類のジョブとを並列的に実行するステップと、
を実行させるためのプログラム。
A computer incorporated in an image forming apparatus and having a CPU having a plurality of cores,
a) accepting a first type of job to be controlled using a first core of the plurality of cores;
b) accepting a second type of job to be controlled using a second core of the plurality of cores;
c) when one of the first type job and the second type job is being executed and the other job is accepted, if only the second core is used to execute the second type job; When executed, the processing load on the second core during the overlapping period of the execution period of the first type of job and the execution period of the second type of job, which occurs after the other job is received. If it is predicted based on the content of the second type job that the rate will reach a predetermined value, the second type job is shared by two or more cores among the plurality of cores, and the suppressing the processing load factor of the second core below the predetermined value, and executing the first type of job and the second type of job in parallel;
program to run the
請求項23に記載のプログラムにおいて、
前記第1種類のジョブは、スキャンジョブとコピージョブとの少なくとも1つを含むことを特徴とするプログラム。
24. The program according to claim 23,
A program, wherein the first type of job includes at least one of a scan job and a copy job.
請求項24に記載のプログラムにおいて、
前記第2種類のジョブは、印刷出力物に関するラスタライズデータを生成するラスタライズデータ生成ジョブであることを特徴とするプログラム。
25. The program of claim 24,
A program, wherein the job of the second type is a rasterized data generation job for generating rasterized data relating to a printed output.
請求項23から請求項25のいずれかに記載のプログラムにおいて、
前記第1種類のジョブは、その即時実行要求の必要性が前記第2種類のジョブよりも高いジョブであることを特徴とするプログラム。
In the program according to any one of claims 23 to 25,
A program according to claim 1, wherein said first type of job is a job whose immediate execution request is higher in necessity than said second type of job.
JP2018126396A 2018-07-02 2018-07-02 Image forming device and program Active JP7172193B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018126396A JP7172193B2 (en) 2018-07-02 2018-07-02 Image forming device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018126396A JP7172193B2 (en) 2018-07-02 2018-07-02 Image forming device and program

Publications (2)

Publication Number Publication Date
JP2020006514A JP2020006514A (en) 2020-01-16
JP7172193B2 true JP7172193B2 (en) 2022-11-16

Family

ID=69150149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018126396A Active JP7172193B2 (en) 2018-07-02 2018-07-02 Image forming device and program

Country Status (1)

Country Link
JP (1) JP7172193B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7615843B2 (en) 2021-04-01 2025-01-17 ブラザー工業株式会社 Printing device
JP7582029B2 (en) 2021-04-01 2024-11-13 ブラザー工業株式会社 Printing device

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002120412A (en) 2000-07-21 2002-04-23 Canon Inc Image processing method, print controller, program and storage medium
JP2003271368A (en) 2002-03-18 2003-09-26 Seiko Epson Corp Print control apparatus, print control method, medium recording print control program, and print control program
JP2006311487A (en) 2005-03-31 2006-11-09 Konica Minolta Business Technologies Inc Image forming apparatus, image processor, image processing method, and image processing program
JP2007028148A (en) 2005-07-15 2007-02-01 Ricoh Co Ltd Apparatus, method and program for color conversion, and recording medium
JP2010102569A (en) 2008-10-24 2010-05-06 Ricoh Co Ltd Image processing apparatus, image processing method and program
JP2010226283A (en) 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc Information processing apparatus
JP2011046034A (en) 2009-08-26 2011-03-10 Ricoh Co Ltd Image processor, image processing method, image processing program, and recording medium
JP2012081626A (en) 2010-10-08 2012-04-26 Ricoh Co Ltd Image forming apparatus, image processing method, and program
JP2012091422A (en) 2010-10-27 2012-05-17 Ricoh Co Ltd Image forming apparatus and control method thereof
JP2014078078A (en) 2012-10-09 2014-05-01 Denso Corp Electronic control device
JP2014082551A (en) 2012-10-12 2014-05-08 Canon Inc Image processing apparatus and image processing method
JP2014186478A (en) 2013-03-22 2014-10-02 Sharp Corp Electronic apparatus
JP2015231141A (en) 2014-06-05 2015-12-21 富士ゼロックス株式会社 Image processing apparatus and image processing program
JP2016063407A (en) 2014-09-18 2016-04-25 コニカミノルタ株式会社 Image forming device, parallel processing control method, and control program
JP2017228192A (en) 2016-06-24 2017-12-28 日立オートモティブシステムズ株式会社 Vehicle control device

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002120412A (en) 2000-07-21 2002-04-23 Canon Inc Image processing method, print controller, program and storage medium
JP2003271368A (en) 2002-03-18 2003-09-26 Seiko Epson Corp Print control apparatus, print control method, medium recording print control program, and print control program
JP2006311487A (en) 2005-03-31 2006-11-09 Konica Minolta Business Technologies Inc Image forming apparatus, image processor, image processing method, and image processing program
JP2007028148A (en) 2005-07-15 2007-02-01 Ricoh Co Ltd Apparatus, method and program for color conversion, and recording medium
JP2010102569A (en) 2008-10-24 2010-05-06 Ricoh Co Ltd Image processing apparatus, image processing method and program
JP2010226283A (en) 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc Information processing apparatus
JP2011046034A (en) 2009-08-26 2011-03-10 Ricoh Co Ltd Image processor, image processing method, image processing program, and recording medium
JP2012081626A (en) 2010-10-08 2012-04-26 Ricoh Co Ltd Image forming apparatus, image processing method, and program
JP2012091422A (en) 2010-10-27 2012-05-17 Ricoh Co Ltd Image forming apparatus and control method thereof
JP2014078078A (en) 2012-10-09 2014-05-01 Denso Corp Electronic control device
JP2014082551A (en) 2012-10-12 2014-05-08 Canon Inc Image processing apparatus and image processing method
JP2014186478A (en) 2013-03-22 2014-10-02 Sharp Corp Electronic apparatus
JP2015231141A (en) 2014-06-05 2015-12-21 富士ゼロックス株式会社 Image processing apparatus and image processing program
JP2016063407A (en) 2014-09-18 2016-04-25 コニカミノルタ株式会社 Image forming device, parallel processing control method, and control program
JP2017228192A (en) 2016-06-24 2017-12-28 日立オートモティブシステムズ株式会社 Vehicle control device

Also Published As

Publication number Publication date
JP2020006514A (en) 2020-01-16

Similar Documents

Publication Publication Date Title
JP4090908B2 (en) Image processing apparatus and image forming apparatus
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
JP5333259B2 (en) Image forming apparatus, program, and image forming method
US7382484B2 (en) Information processing apparatus and its control method
JP4208769B2 (en) Information processing apparatus, control method thereof, and information processing method
US8107128B2 (en) Image forming apparatus and print control method thereof
JP2014000753A (en) Image processing apparatus, image processing method, and program
US9781295B2 (en) Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus
JP7172193B2 (en) Image forming device and program
US20170060644A1 (en) Image processing apparatus, control task allocation method, and recording medium
JP6465384B2 (en) Image forming apparatus, parallel processing control program, and parallel processing control method
US20130128307A1 (en) Printing device and printing method of printing device
US20040075858A1 (en) Image forming apparatus, control method, system, and recording medium
JP4696748B2 (en) Image forming system, interrupt processing method, and printing apparatus
JP6372315B2 (en) Image processing apparatus, parallel processing control program, and parallel processing control method
JP2005352695A (en) Information processor, control method therefor and image processing method
JP2011143576A (en) Print data generator, image forming apparatus and program
JP6128104B2 (en) Image processing apparatus, control method thereof, and program
JP7551405B2 (en) Apparatus, method, and program
JP4720236B2 (en) Image processing device
JP6040690B2 (en) Drawing processing apparatus, image forming apparatus, computer program, and drawing processing method
JP7006173B2 (en) Image forming device and program
JP2016055536A (en) Image formation device, program, and control method for image formation device
JP2011155502A (en) Printing system performing color/monochrome determination, printing method, program
JP2010136275A (en) Image processing apparatus, program, and control method of image processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

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: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7172193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150