JP2006163674A - Image processing device, printer, and load distribution method - Google Patents

Image processing device, printer, and load distribution method Download PDF

Info

Publication number
JP2006163674A
JP2006163674A JP2004352333A JP2004352333A JP2006163674A JP 2006163674 A JP2006163674 A JP 2006163674A JP 2004352333 A JP2004352333 A JP 2004352333A JP 2004352333 A JP2004352333 A JP 2004352333A JP 2006163674 A JP2006163674 A JP 2006163674A
Authority
JP
Japan
Prior art keywords
processing
cpu
image
image processing
ratio
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.)
Withdrawn
Application number
JP2004352333A
Other languages
Japanese (ja)
Inventor
Koji Yamada
孝司 山田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004352333A priority Critical patent/JP2006163674A/en
Publication of JP2006163674A publication Critical patent/JP2006163674A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To appropriately perform load distribution of a plurality of processing sections from the beginning of the processing, and to appropriately perform the load distribution even when there are three or more processing sections. <P>SOLUTION: This image processing device comprises CPUs 12-18 as a plurality of processing sections for sequentially applying a plurality of types of image processing to image data in the same region, a load distribution table 51 having distribution percentage of each type of image processing to one or more processing sections and having a default distribution percentage as an initial value, a CPU 12 as a distribution percentage updating means for calculating the distribution percentage of each image processing after the start of the image processing and updating the load distribution table 51, and CPUs 12-14 as start processing means for distributing each of at least one type of image processing into two or more processing sections and executing it using the default distribution percentage for the distribution percentage that has not been yet updated. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装
置、印刷装置およびそれらの装置における負荷分散方法に関するものである。
The present invention relates to an image processing apparatus, a printing apparatus, and a load distribution method in these apparatuses that sequentially perform a plurality of types of image processing on image data in the same region.

従来から、2つのCPUを有する印刷装置が提案されている(例えば、特許文献1参照
)。例えば特許文献1の印刷装置では、第1のCPUを有する第1の制御区画が、印刷デ
ータを中間段階のデータに変換する処理を制御し、第2のCPUを有する第2の制御区画
が、中間段階のデータを印刷機構に出力可能なビットマップデータに変換する処理を制御
する。
Conventionally, a printing apparatus having two CPUs has been proposed (see, for example, Patent Document 1). For example, in the printing apparatus of Patent Document 1, a first control section having a first CPU controls a process of converting print data into intermediate-stage data, and a second control section having a second CPU is Controls the process of converting intermediate-stage data into bitmap data that can be output to the printing mechanism.

この印刷装置では、第1の制御区画および第2の制御区画が、互いに第2の制御区画お
よび第1の制御区画が実行すべき処理を実行し得る機能を有している。そして、第1の制
御区画および第2の制御区画の一方が過負荷状態になると、他方へプロセスの一部を移動
させる。
In this printing apparatus, the first control section and the second control section have a function capable of executing processing to be executed by the second control section and the first control section. When one of the first control section and the second control section becomes overloaded, a part of the process is moved to the other.

特開2003−251867号公報(要約など)JP 2003-251867 A (summary etc.)

しかしながら、上述の従来の印刷装置では、一方の制御区画が過負荷状態になった後、
その一方の制御区画から他方の制御区画へプロセスの一部が移動されるため、処理の最初
から適切に負荷分散を行われない可能性がある。また、上述の従来の印刷装置における制
御区画は2つのみであるため、上述のように一方から他方へプロセスの一部を移動するこ
とができるが、制御区画(処理部)が3以上である場合では、複数の制御区画(処理部)
が過負荷状態となったりするなど、様々な状況が発生するため、上述の従来の印刷装置に
おける負荷分散手法を処理部が3以上である場合にそのまま適用することは困難である。
However, in the above-described conventional printing apparatus, after one control section is overloaded,
Since a part of the process is moved from the one control partition to the other control partition, there is a possibility that load distribution is not appropriately performed from the beginning of the processing. In addition, since there are only two control sections in the above-described conventional printing apparatus, a part of the process can be moved from one to the other as described above, but the number of control sections (processing units) is three or more. In some cases, multiple control sections (processing units)
Therefore, it is difficult to apply the load distribution method in the above-described conventional printing apparatus as it is when the number of processing units is 3 or more.

本発明は、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、さ
らに処理部が3以上であっても適切に負荷分散を行うことができる画像処理装置、印刷装
置および負荷分散方法を得ることを目的とする。
The present invention can appropriately perform load distribution from the beginning of processing to a plurality of processing units, and can perform load distribution appropriately even if the number of processing units is three or more. And to obtain a load balancing method.

上記の課題を解決するために、本発明では以下のようにした。   In order to solve the above problems, the present invention is configured as follows.

本発明に係る画像処理装置は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部と、画像処理の各種別に関する1または複数の処理部への分散割合
を有する負荷分散テーブルと、画像処理の開始後に各画像処理の分散割合を計算し負荷分
散テーブルにおける分散割合を更新する分散割合更新手段と、分散割合更新手段により一
度も更新されていない分散割合についてはデフォルトの分散割合を使用して、少なくとも
1種別の画像処理について、その画像処理を2以上の処理部に分散してそれぞれ実行させ
る開始処理手段とを備える。
An image processing apparatus according to the present invention has a plurality of processing units that sequentially perform a plurality of types of image processing on image data in the same region, and a distribution ratio to one or a plurality of processing units related to various types of image processing. Load distribution table, distribution ratio update means that calculates the distribution ratio of each image processing after image processing starts and updates the distribution ratio in the load distribution table, and distribution ratio that has never been updated by the distribution ratio update means And a start processing unit that distributes the image processing to two or more processing units and executes the image processing for at least one type of image processing.

これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が3以上であっても適切に負荷分散を行うことができる。
Thereby, load distribution can be appropriately performed from the beginning of processing to a plurality of processing units,
Furthermore, even when there are three or more processing units, load distribution can be performed appropriately.

また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよ
い。つまり、その場合、この画像処理装置は、さらに、複数の処理部のそれぞれの処理能
力値を格納する処理能力テーブルと、複数の処理部のそれぞれの処理能力値のデフォルト
値を格納するデフォルト処理能力テーブルと、複数の処理部のそれぞれによる所定量の画
像データに対する処理時間に基づいて処理能力テーブルの処理能力値を更新する処理能力
テーブル更新手段とを備える。そして、分散割合更新手段は、処理能力テーブルを優先的
に参照して、処理能力テーブルおよびデフォルト処理能力テーブルに基づいて各画像処理
の分散割合を計算し負荷分散テーブルに設定する。
In addition to the image processing apparatus described above, the image processing apparatus according to the present invention may be configured as follows. That is, in this case, the image processing apparatus further includes a processing capability table that stores the processing capability values of the plurality of processing units, and a default processing capability that stores default values of the processing capability values of the plurality of processing units. A table and processing capacity table updating means for updating the processing capacity value of the processing capacity table based on a processing time for a predetermined amount of image data by each of the plurality of processing units. Then, the distribution ratio update means refers to the processing capacity table preferentially, calculates the distribution ratio of each image processing based on the processing capacity table and the default processing capacity table, and sets it in the load distribution table.

これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が3以上であ
っても適切に負荷分散を行うことができる。
As a result, it is possible to perform load distribution appropriately for the plurality of processing units from the beginning of the processing and dynamically corresponding to the load that fluctuates according to the contents of the image data, and the number of processing units is three or more. However, load distribution can be performed appropriately.

また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、処理能力テーブル更新手段は、処理部によりプログラ
ムを実行することで実現され、1ラインまたは1バンドごとの処理時間および処理画素数
に基づいて処理能力値を更新する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. That is, in this case, the processing capability table update unit is realized by executing a program by the processing unit, and updates the processing capability value based on the processing time and the number of processing pixels for each line or one band.

これにより、実際の画像データを処理している際の処理能力値を取得して分散割合に反
映されるため、個々の画像データに対する画像処理の各種別の計算量に対応して、正確な
負荷分散が可能となる。
As a result, the processing capability value at the time of processing the actual image data is acquired and reflected in the distribution ratio. Therefore, an accurate load corresponding to the calculation amount for each type of image processing for each image data is obtained. Dispersion is possible.

また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、処理能力テーブルは、複数の処理部のそれぞれについ
て複数種別の画像処理の種別ごとに、処理能力値を有する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. That is, in this case, the processing capability table has a processing capability value for each of a plurality of types of image processing for each of a plurality of processing units.

これにより、例えば処理部が所定の種別の画像処理に対してのみ最適化されているよう
な場合でも、正確な処理能力値を得ることができ、ひいては正確な負荷分散を行うことが
できる。
As a result, for example, even when the processing unit is optimized only for a predetermined type of image processing, an accurate processing capability value can be obtained, and thus accurate load distribution can be performed.

また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、分散割合更新手段は、分散割合を設定した後、複数種
別のうち1ラインまたは1バンド分の処理時間が最も遅い種別の画像処理が完了すると、
再度、前記分散割合を設定する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. That is, in this case, after setting the distribution ratio, the distribution ratio update unit completes the image processing of the type with the slowest processing time for one line or one band among the plurality of types.
The dispersion ratio is set again.

これにより、すべての処理部が少なくとも1ラインまたは1バンド分の処理を実行して
から分散割合が設定されるため、各時点での処理能力値を反映した適切な分散割合を設定
することができる。
As a result, since the distribution ratio is set after all the processing units have performed processing for at least one line or one band, it is possible to set an appropriate distribution ratio that reflects the processing capability value at each time point. .

本発明に係る印刷装置は、複数の処理として少なくとも色変換およびハーフトーンを実
行する上記画像処理装置のいずれかと、その画像処理装置による処理後の画像データに基
づいて画像を印刷する印刷手段とを備える。
A printing apparatus according to the present invention includes any one of the image processing apparatuses that execute at least color conversion and halftone as a plurality of processes, and a printing unit that prints an image based on image data processed by the image processing apparatus. Prepare.

これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が3以上であ
っても適切に負荷分散を行うことができる。ひいては、印刷処理を高速に実行することが
できる。
As a result, it is possible to perform load distribution appropriately for the plurality of processing units from the beginning of the processing and dynamically corresponding to the load that fluctuates according to the contents of the image data, and the number of processing units is three or more. However, load distribution can be performed appropriately. As a result, the printing process can be executed at high speed.

本発明に係る負荷分散方法は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部への、画像処理の処理種別ごとの分散割合を有する負荷分散テーブ
ルを、画像処理の開始後に計算される各画像処理の分散割合で更新するステップと、負荷
分散テーブルにおいて一度も更新されていない分散割合についてはデフォルトの分散割合
を使用して、少なくとも1種別の画像処理について、その画像処理を2以上の処理部に分
散してそれぞれ実行させるステップとを備える。
The load distribution method according to the present invention provides a load distribution table having a distribution ratio for each processing type of image processing to a plurality of processing units that sequentially perform a plurality of types of image processing on image data in the same region. The step of updating with the distribution ratio of each image processing calculated after the start of processing, and the default distribution ratio for the distribution ratio that has never been updated in the load distribution table, for at least one type of image processing, The image processing is distributed to two or more processing units and executed respectively.

これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が3以上であっても適切に負荷分散を行うことができる。
Thereby, load distribution can be appropriately performed from the beginning of processing to a plurality of processing units,
Furthermore, even when there are three or more processing units, load distribution can be performed appropriately.

以下、図に基づいて本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

実施の形態1.
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。本
発明の実施の形態1に係る画像処理装置は、印刷装置に内蔵され、JPEG(Joint Phot
ographic Experts Group )画像データなどといった画像データに対して印刷前に一連の
画像処理を施す装置である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to Embodiment 1 of the present invention. An image processing apparatus according to Embodiment 1 of the present invention is built in a printing apparatus and is JPEG (Joint Phot
ographic Experts Group) A device that performs a series of image processing on image data such as image data before printing.

図1において、ASIC1は、1つのチップで構成されたマルチCPU(Central Proc
essing Unit)のプロセッサである。ASIC1は、8個のCPU11〜18を内蔵し、
CPU11でプリンタ駆動部4の制御を行い、7個のCPU12〜18でJPEGデコー
ド、画像補正、色変換およびハーフトーンからなる複数の一連の画像処理を実行するプロ
セッサである。この実施の形態1では、JPEGデコード、画像補正、色変換およびハー
フトーンといった複数の互いに異なる処理が画像データに順番に施され、JPEGデコー
ド、画像補正、色変換、ハーフトーンの順番でパイプライン処理が実行される。
In FIG. 1, an ASIC 1 is a multi-CPU (Central Proc) composed of one chip.
essing Unit) processor. The ASIC 1 incorporates eight CPUs 11 to 18,
The CPU 11 controls the printer drive unit 4 and seven CPUs 12 to 18 execute a series of image processing including JPEG decoding, image correction, color conversion, and halftone. In the first embodiment, a plurality of different processes such as JPEG decoding, image correction, color conversion, and halftone are sequentially performed on the image data, and pipeline processing is performed in the order of JPEG decoding, image correction, color conversion, and halftone. Is executed.

また、JPEGデコード、画像補正、色変換およびハーフトーンのうちの1または複数
の処理は、CPU12〜18の負荷バランスに応じて、CPU12〜18のうちの複数の
CPUで分散処理される。
In addition, one or more processes among JPEG decoding, image correction, color conversion, and halftone are distributed by a plurality of CPUs of the CPUs 12 to 18 according to the load balance of the CPUs 12 to 18.

また、外部RAM(Random Access Memory)2は、バス20を介してASIC1の各C
PU11〜18に接続された半導体メモリである。この実施の形態1では、外部RAM2
は、DDR−SDRAMとされ、1ワードのリード/ライトに20〜30クロックが必要
となる。
An external RAM (Random Access Memory) 2 is connected to each C of the ASIC 1 via the bus 20.
This is a semiconductor memory connected to the PUs 11 to 18. In the first embodiment, the external RAM 2
Is a DDR-SDRAM, and 20 to 30 clocks are required to read / write one word.

また、メモリカード3は、装置に対して着脱可能であって、JPEGでエンコードされ
た画像データを含むJPEGファイルを記憶する不揮発性の半導体メモリを有する記憶媒
体である。なお、メモリカード3は、図示せぬインタフェース回路を介してバス20に接
続される。
The memory card 3 is a storage medium that is detachable from the apparatus and has a non-volatile semiconductor memory that stores a JPEG file including JPEG-encoded image data. The memory card 3 is connected to the bus 20 via an interface circuit (not shown).

また、プリンタ駆動部4は、プリンタヘッドや各種モータなどの、紙などの媒体への印
刷に必要な電気的および機械的構成部分である。なお、プリンタ駆動部4は、図示せぬイ
ンタフェース回路を介してバス20に接続される。プリンタ駆動部4は、画像処理装置に
よる処理後の画像データに基づいて画像を印刷する印刷手段として機能する。
The printer drive unit 4 is an electrical and mechanical component necessary for printing on a medium such as paper, such as a printer head and various motors. The printer driver 4 is connected to the bus 20 via an interface circuit (not shown). The printer drive unit 4 functions as a printing unit that prints an image based on image data processed by the image processing apparatus.

図1に示すASIC1において、CPU11は、駆動制御プログラム45(図3参照)
に従って、一連の画像処理後の画像データに基づいて、プリンタ駆動部4を制御するCP
Uである。
In the ASIC 1 shown in FIG. 1, the CPU 11 executes a drive control program 45 (see FIG. 3).
CP for controlling the printer drive unit 4 based on the image data after a series of image processing
U.

また、CPU12は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部12aの他に、JPEGデコード用の専用命令を実行可能なJPEGデコード専用
命令演算部12bを有し、主に、JPEGデコードを実行するCPUである。
The CPU 12 has a JPEG decoding dedicated instruction calculation unit 12b capable of executing a dedicated instruction for JPEG decoding in addition to a general purpose instruction calculation unit 12a capable of executing general instructions common to the CPUs 12 to 18. A CPU that executes JPEG decoding.

JPEGデコード用の専用命令は、JPEGデコード時に多用される一連の演算を1つ
の命令に集約したものであり、JPEGデコード専用命令演算部12bは、その専用命令
に対応して、その一連の演算を、汎用命令演算部12aより少ないクロック数で実行可能
な演算器構成を有する。なお、そのような専用命令は、1つに限定されず、必要に応じて
設計時に定義される。つまり、JPEGデコード専用命令演算部12bは、1または複数
の専用命令に対応して動作する、JPEGデコード高速化のための専用ハードウェアとい
える。
The dedicated instruction for JPEG decoding is a collection of a series of operations frequently used during JPEG decoding into one instruction. The JPEG decoding dedicated instruction operation unit 12b performs the series of operations corresponding to the dedicated instruction. The arithmetic unit configuration can be executed with a smaller number of clocks than the general-purpose instruction arithmetic unit 12a. Note that the number of such dedicated instructions is not limited to one, but is defined at the time of design as necessary. That is, it can be said that the JPEG decode dedicated instruction calculation unit 12b is dedicated hardware for speeding up JPEG decoding, which operates corresponding to one or more dedicated instructions.

また、CPU13は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部13aの他に、画像補正用の専用命令を実行可能な画像補正専用命令演算部13b
を有し、主に、画像補正を実行するCPUである。なお、画像補正としては、トーン調整
および彩度強調を行う第1処理、シャープネス(先鋭度の調整)を行う第2処理、および
ノイズ除去を行う第3処理のうちの1または複数が必要に応じて行われる。なお、各処理
は、例えば出願人が提供するAPF(Auto Photo Fine )と同様に行えばよい。
In addition to the general-purpose command calculation unit 13a capable of executing a general-purpose command common to the CPUs 12 to 18, the CPU 13 includes an image correction dedicated command calculation unit 13b capable of executing a dedicated command for image correction.
And a CPU that mainly performs image correction. As image correction, one or more of a first process for tone adjustment and saturation emphasis, a second process for sharpness (adjustment of sharpness), and a third process for noise removal are necessary. Done. Each process may be performed in the same way as APF (Auto Photo Fine) provided by the applicant, for example.

画像補正用の専用命令は、画像補正処理時に多用される一連の演算を1つの命令に集約
したものであり、画像補正専用命令演算部13bは、その専用命令に対応して、その一連
の演算を、汎用命令演算部13aより少ないクロック数で実行可能な演算器構成を有する
。なお、そのような専用命令は、1つに限定されず、必要に応じて設計時に定義される。
つまり、画像補正専用命令演算部13bは、1または複数の専用命令に対応して動作する
、画像補正高速化のための専用ハードウェアといえる。
The dedicated instruction for image correction is a series of operations frequently used during image correction processing, and is integrated into one instruction. The image correction dedicated instruction calculation unit 13b corresponds to the dedicated instruction and the series of operations. Has a computing unit configuration that can be executed with a smaller number of clocks than the general-purpose instruction computing unit 13a. Note that the number of such dedicated instructions is not limited to one, but is defined at the time of design as necessary.
That is, the image correction dedicated instruction calculation unit 13b can be said to be dedicated hardware for speeding up image correction that operates in response to one or more dedicated instructions.

また、CPU14は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部14aの他に、色変換用の専用命令を実行可能な色変換専用命令演算部14bを有
し、主に、色変換を実行するCPUである。なお、この実施の形態1では、色変換として
、RGBデータからCYMKデータへの変換が行われる。
Further, the CPU 14 includes a color conversion dedicated command calculation unit 14b capable of executing a color conversion dedicated command in addition to a general command calculation unit 14a capable of executing a general command common to the CPUs 12 to 18. The CPU executes color conversion. In the first embodiment, conversion from RGB data to CYMK data is performed as color conversion.

色変換用の専用命令は、色変換処理時に多用される一連の演算を1つの命令に集約した
ものであり、色変換専用命令演算部14bは、その専用命令に対応して、その一連の演算
を、汎用命令演算部14aより少ないクロック数で実行可能な演算器構成を有する。なお
、そのような専用命令は、1つに限定されず、必要に応じて設計時に定義される。つまり
、色変換専用命令演算部14bは、1または複数の専用命令に対応して動作する、色変換
高速化のための専用ハードウェアといえる。
The dedicated instruction for color conversion is a series of operations frequently used during color conversion processing, and is integrated into one instruction, and the dedicated instruction for color conversion operation unit 14b corresponds to the dedicated instruction and performs the series of operations. Has a computing unit configuration that can be executed with a smaller number of clocks than the general-purpose instruction computing unit 14a. Note that the number of such dedicated instructions is not limited to one, but is defined at the time of design as necessary. That is, it can be said that the color conversion dedicated instruction calculation unit 14b is dedicated hardware for speeding up color conversion that operates in response to one or more dedicated instructions.

また、CPU15は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部15aの他に、ハーフトーン用の専用命令を実行可能なハーフトーン専用命令演算
部15bを有し、主に、ハーフトーンを実行するCPUである。CPU16〜CPU18
は、それぞれ、CPU15と同様の構成を有し、汎用命令演算部16a,17a,18a
とハーフトーン専用命令演算部16b,17b,18bを有する。
Further, the CPU 15 has a halftone dedicated instruction calculation unit 15b capable of executing a dedicated instruction for halftone in addition to the general purpose command calculation unit 15a capable of executing a general purpose command common to the CPUs 12 to 18. It is a CPU that executes halftone. CPU16 to CPU18
Respectively have the same configuration as the CPU 15, and general-purpose instruction arithmetic units 16a, 17a, 18a.
And halftone dedicated instruction calculation units 16b, 17b, and 18b.

4個のCPU15〜18は、ハーフトーンを並列に実行するCPU群である。また、ハ
ーフトーンの分散処理時には、他のCPU(CPU12〜14)が、CPU15〜18と
ともに使用される。
The four CPUs 15 to 18 are a CPU group that executes halftones in parallel. Further, at the time of halftone dispersion processing, the other CPUs (CPUs 12 to 14) are used together with the CPUs 15 to 18.

ハーフトーン用の専用命令は、ハーフトーン時に多用される一連の演算を1つの命令に
集約したものであり、ハーフトーン専用命令演算部15b〜18bは、その専用命令に対
応して、その一連の演算を、汎用命令演算部15a〜18aより少ないクロック数で実行
可能な演算器構成を有する。なお、そのような専用命令は、1つに限定されず、必要に応
じて設計時に定義される。つまり、ハーフトーン専用命令演算部15b〜18bは、1ま
たは複数の専用命令に対応して動作する、ハーフトーン高速化のための専用ハードウェア
といえる。
The dedicated instruction for halftone is a series of operations that are frequently used during halftoning, and is integrated into one instruction. The dedicated instruction calculation units 15b to 18b for halftone correspond to the dedicated instruction and the series of operations. It has a computing unit configuration that can perform computations with a smaller number of clocks than the general-purpose command computation units 15a to 18a. Note that the number of such dedicated instructions is not limited to one, but is defined at the time of design as necessary. That is, it can be said that the halftone dedicated instruction calculation units 15b to 18b are dedicated hardware for increasing the halftone speed, which operates corresponding to one or more dedicated instructions.

この実施の形態1では、ハーフトーン専用命令演算部15b〜18bを有するCPU1
5〜18が4個設けられているが、ハーフトーン専用命令演算部15b〜18bを有する
CPUの数は、別の数でもよい。その数は、色変換後の色数に応じて決定してもよい。
In the first embodiment, the CPU 1 having the halftone dedicated instruction calculation units 15b to 18b.
Although four of 5 to 18 are provided, the number of CPUs having the halftone dedicated instruction calculation units 15b to 18b may be different. The number may be determined according to the number of colors after color conversion.

また、ローカルバス19は、ASIC1内で、CPU11〜18とデュアルポートRA
M21,22とを接続するバスであって、これらの間のデータ伝送路である。また、バス
20は、CPU11〜18と外部RAM2、プリンタ駆動部4およびメモリカード3とを
接続するバスであって、これらの間のデータ伝送路である。なお、ローカルバス19aお
よびバス20は、例えば128ビットのデータバスである。
The local bus 19 is connected to the CPUs 11 to 18 and the dual port RA in the ASIC 1.
A bus connecting M21 and M22, and a data transmission path between them. A bus 20 connects the CPUs 11 to 18 to the external RAM 2, the printer driving unit 4, and the memory card 3, and is a data transmission path between them. The local bus 19a and the bus 20 are, for example, 128-bit data buses.

また、デュアルポートRAM21,22は、ASIC1に内蔵され、入出力ポートを2
つ有し、一方のポートと他方のポートへのリード/ライトを独立に実行可能なRAMであ
る。デュアルポートRAM21,22は、スタティックRAM(SRAM)で構成され、
外部RAM2より高速にデータのリード/ライトをすることが可能である。デュアルポー
トRAM21,22の記憶容量は、数〜数十キロバイトとされ、外部RAM2の記憶領域
より小さい。
The dual port RAMs 21 and 22 are built in the ASIC 1 and have two input / output ports.
The RAM is capable of independently executing read / write to one port and the other port. The dual port RAMs 21 and 22 are composed of static RAM (SRAM).
It is possible to read / write data faster than the external RAM 2. The storage capacity of the dual port RAMs 21 and 22 is several to several tens of kilobytes, which is smaller than the storage area of the external RAM 2.

デュアルポートRAM21,22の一方のポートはローカルバス19に接続され、他方
のポートは、CPU12とCPU14にそれぞれ直接に接続される。
One port of the dual port RAMs 21 and 22 is connected to the local bus 19, and the other port is directly connected to the CPU 12 and the CPU 14, respectively.

図2は、図1におけるCPU12の詳細な構成を示すブロック図である。図2において
、命令管理部31は、プログラム実行時における命令の入出力を管理する。また、命令キ
ャッシュ32は、フェッチされた命令や実行後の命令を一時的に格納するSRAMなどの
高速なRAMである。また、命令RAM33は、CPU12に内蔵された命令格納用の内
部RAMである。命令RAM33は、SRAMで構成された高速なメモリであり、他のC
PUからアクセスできないメモリである。
FIG. 2 is a block diagram showing a detailed configuration of the CPU 12 in FIG. In FIG. 2, an instruction management unit 31 manages input / output of instructions during program execution. The instruction cache 32 is a high-speed RAM such as an SRAM that temporarily stores fetched instructions and post-execution instructions. The instruction RAM 33 is an instruction storage internal RAM built in the CPU 12. The instruction RAM 33 is a high-speed memory composed of SRAM, and other C
This memory cannot be accessed from the PU.

また、データ管理部34は、プログラム実行時におけるデータの入出力を管理する。ま
た、データキャッシュ35は、ロードされたデータや演算結果を一時的に格納するSRA
Mなどの高速なRAMである。また、データRAM36は、CPU12に内蔵されたデー
タ格納用の内部RAMである。データRAM36は、SRAMで構成された高速なメモリ
であり、他のCPUからアクセスできないメモリである
The data management unit 34 manages data input / output during program execution. The data cache 35 is an SRA that temporarily stores loaded data and operation results.
It is a high-speed RAM such as M. The data RAM 36 is an internal RAM for data storage built in the CPU 12. The data RAM 36 is a high-speed memory composed of SRAM and cannot be accessed from other CPUs.

また、メモリインタフェース37は、CPU12に併設されたメモリとの間でデータの
入出力を実行するインタフェースである。メモリインタフェース37は、直接にデュアル
ポートRAM21に接続されるとともに、ローカルバス19を介してデュアルポートRA
M22に接続される。また、外部インタフェース38は、バス20やその他の外部デバイ
スに接続され、バス20を介して、ASIC1外部の周辺デバイス(外部RAM2など)
との間でデータの入出力を実行するインタフェースである。
The memory interface 37 is an interface for executing data input / output with a memory provided in the CPU 12. The memory interface 37 is directly connected to the dual port RAM 21 and is connected to the dual port RA via the local bus 19.
Connected to M22. The external interface 38 is connected to the bus 20 and other external devices, and peripheral devices (external RAM 2 and the like) outside the ASIC 1 are connected via the bus 20.
It is an interface that executes data input / output with.

なお、ここでは、一例としてCPU12について説明したが、CPU13〜18につい
ても、図1に示すように専用命令演算部が異なるだけで、他の構成は、図2のものと同様
である。ただし、メモリインタフェース37は、CPU14では、ローカルバス19およ
びデュアルポートRAM22に接続されるが、その他のCPU13,15〜18では、ロ
ーカルバス19に接続される。
Although the CPU 12 has been described here as an example, the CPUs 13 to 18 are the same as those in FIG. 2 except that the dedicated instruction calculation unit is different as shown in FIG. However, the memory interface 37 is connected to the local bus 19 and the dual port RAM 22 in the CPU 14, but is connected to the local bus 19 in the other CPUs 13 and 15 to 18.

データ管理部34は、ローカルバス19を介してメモリインタフェース37に接続され
たデュアルポートRAM21,22に対してリード/ライトをすることが可能である。こ
の場合のデュアルポートRAM21,22へのリード/ライトは、外部RAM2へのリー
ド/ライトより速く実行可能である。CPU11〜18がデュアルポートRAM21に対
してリード/ライトを行う場合、CPU12は、ローカルバス19を介さずに一方のポー
トに対してリード/ライトを行い、その他のCPU11,13〜18は、ローカルバス1
9を介して他方のポートに対してリード/ライトを行う。同様に、CPU11〜18がデ
ュアルポートRAM22に対してリード/ライトを行う場合、CPU14は、ローカルバ
ス19を介さずに一方のポートに対してリード/ライトを行い、その他のCPU11〜1
3,15〜18は、ローカルバス19を介して他方のポートに対してリード/ライトを行
う。
The data management unit 34 can read / write data from / to the dual port RAMs 21 and 22 connected to the memory interface 37 via the local bus 19. In this case, the read / write to the dual port RAMs 21 and 22 can be executed faster than the read / write to the external RAM 2. When the CPUs 11 to 18 read / write to the dual port RAM 21, the CPU 12 reads / writes to one port without going through the local bus 19, and the other CPUs 11, 13 to 18 1
The other port is read / written via 9. Similarly, when the CPUs 11 to 18 read / write the dual port RAM 22, the CPU 14 reads / writes to one port without going through the local bus 19, and the other CPUs 11 to 1.
3 and 15 to 18 read / write to the other port via the local bus 19.

図3は、図1におけるCPU11〜18により実行されるプログラムを示すブロック図
である。図3に示すプログラム41s〜44s,41g〜44g,45は、例えばバス2
0に接続された図示せぬ不揮発性メモリから外部メモリ2にロードされる。
FIG. 3 is a block diagram showing a program executed by the CPUs 11 to 18 in FIG. The programs 41s to 44s, 41g to 44g, and 45 shown in FIG.
The external memory 2 is loaded from a nonvolatile memory (not shown) connected to 0.

図3において、JPEGデコードプログラム41sは、CPU12がJPEG画像デー
タをデコードするためのプログラムである。JPEGデコードプログラム41sは、JP
EGデコード用の専用命令を使用して記述されたプログラムである。したがって、JPE
Gデコードプログラム41sのうち、専用命令は、専用命令演算部12bで実行され、そ
の他の汎用命令は、汎用命令演算部12aで実行される。このため、ASIC1内のCP
U12以外のCPUでは、実行されない。
In FIG. 3, a JPEG decoding program 41s is a program for the CPU 12 to decode JPEG image data. JPEG decoding program 41s
This is a program described using a dedicated instruction for EG decoding. Therefore, JPE
In the G decode program 41s, the dedicated instruction is executed by the dedicated instruction calculation unit 12b, and the other general-purpose instructions are executed by the general-purpose instruction calculation unit 12a. Therefore, CP in ASIC1
It is not executed by a CPU other than U12.

一方、JPEGデコードプログラム41gは、CPU13〜18がJPEG画像データ
をデコードするためのプログラムである。JPEGデコードプログラム41gは、汎用命
令のみで記述されたプログラムである。したがって、JPEGデコードプログラム41g
は、汎用命令演算部13a〜18aで実行される。
On the other hand, the JPEG decoding program 41g is a program for the CPUs 13 to 18 to decode JPEG image data. The JPEG decoding program 41g is a program described only with general-purpose instructions. Therefore, JPEG decoding program 41g
Are executed by the general-purpose instruction calculation units 13a to 18a.

なお、JPEGデコードプログラム41sとJPEGデコードプログラム41gとでは
、一部に異なる命令が使用されるが、同一データに対して、JPEGデコードプログラム
41sによる演算結果とJPEGデコードプログラム41gによる演算結果は、同一とな
る。
The JPEG decode program 41s and the JPEG decode program 41g partially use different instructions. However, for the same data, the calculation result by the JPEG decode program 41s and the calculation result by the JPEG decode program 41g are the same. Become.

また、画像補正プログラム42sは、CPU13が画像補正を実行するためのプログラ
ムである。画像補正プログラム42sは、画像補正用の専用命令を使用して記述されたプ
ログラムである。したがって、画像補正プログラム42sのうち、専用命令は、専用命令
演算部13bで実行され、その他の汎用命令は、汎用命令演算部13aで実行される。こ
のため、ASIC1内のCPU13以外のCPUでは、このプログラム42sは実行され
ない。
The image correction program 42s is a program for the CPU 13 to execute image correction. The image correction program 42s is a program described using a dedicated instruction for image correction. Therefore, in the image correction program 42s, the dedicated instruction is executed by the dedicated instruction calculation unit 13b, and the other general-purpose instructions are executed by the general-purpose instruction calculation unit 13a. For this reason, this program 42 s is not executed by a CPU other than the CPU 13 in the ASIC 1.

一方、画像補正プログラム42gは、CPU12,14〜18が画像補正を実行するた
めのプログラムである。画像補正プログラム42gは、汎用命令のみで記述されたプログ
ラムである。したがって、画像補正プログラム42gは、汎用命令演算部12a,14a
〜18aで実行される。
On the other hand, the image correction program 42g is a program for the CPUs 12, 14 to 18 to perform image correction. The image correction program 42g is a program described only with general-purpose instructions. Therefore, the image correction program 42g is used for the general-purpose command calculation units 12a and 14a.
Executed at ~ 18a.

なお、画像補正プログラム42sと画像補正プログラム42gとでは、一部に異なる命
令が使用されるが、同一データに対して、画像補正プログラム42sによる演算結果と画
像補正プログラム42gによる演算結果は、同一となる。
The image correction program 42s and the image correction program 42g partially use different commands, but the calculation result by the image correction program 42s and the calculation result by the image correction program 42g are the same for the same data. Become.

また、色変換プログラム43sは、CPU14が色変換を実行するためのプログラムで
ある。色変換プログラム43sは、色変換用の専用命令を使用して記述されたプログラム
である。したがって、色変換プログラム43sのうち、専用命令は、専用命令演算部14
bで実行され、その他の汎用命令は、汎用命令演算部14aで実行される。このため、A
SIC1内のCPU14以外のCPUでは、このプログラム43sは実行されない。
The color conversion program 43s is a program for the CPU 14 to perform color conversion. The color conversion program 43s is a program described using a dedicated instruction for color conversion. Accordingly, in the color conversion program 43 s, the dedicated instruction is the dedicated instruction calculation unit 14.
The other general-purpose instructions executed by b are executed by the general-purpose instruction calculation unit 14a. For this reason, A
The CPU 43 other than the CPU 14 in the SIC 1 does not execute this program 43s.

一方、色変換プログラム43gは、CPU12,13,15〜18が色変換を実行する
ためのプログラムである。色変換プログラム43gは、汎用命令のみで記述されたプログ
ラムである。したがって、色変換プログラム43gは、汎用命令演算部12a,13a,
15a〜18aで実行される。
On the other hand, the color conversion program 43g is a program for the CPUs 12, 13, 15 to 18 to perform color conversion. The color conversion program 43g is a program described only with general-purpose instructions. Therefore, the color conversion program 43g is stored in the general-purpose instruction calculation units 12a, 13a,
It is executed at 15a to 18a.

なお、色変換プログラム43sと色変換プログラム43gとでは、一部に異なる命令が
使用されるが、同一データに対して、色変換プログラム43sによる演算結果と色変換プ
ログラム43gによる演算結果は、同一となる。
The color conversion program 43s and the color conversion program 43g use partially different instructions, but the calculation result by the color conversion program 43s and the calculation result by the color conversion program 43g are the same for the same data. Become.

また、ハーフトーンプログラム44sは、CPU15〜18がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44sは、ハーフトーン用の専用命令
を使用して記述されたプログラムである。したがって、ハーフトーンプログラム44sの
うち、専用命令は、専用命令演算部15b〜18bで実行され、その他の汎用命令は、汎
用命令演算部15a〜18aで実行される。このため、ASIC1内のCPU15〜18
以外のCPUでは、このプログラム44sは実行されない。
The halftone program 44s is a program for the CPUs 15 to 18 to execute halftone. The halftone program 44s is a program described using a dedicated instruction for halftone. Accordingly, in the halftone program 44s, dedicated instructions are executed by the dedicated instruction calculation units 15b to 18b, and other general-purpose instructions are executed by the general-purpose instruction calculation units 15a to 18a. For this reason, CPU15-18 in ASIC1
In other CPUs, the program 44s is not executed.

一方、ハーフトーンプログラム44gは、CPU12〜14がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44gは、汎用命令のみで記述された
プログラムである。したがって、ハーフトーンプログラム44gは、汎用命令演算部12
a〜14aで実行される。
On the other hand, the halftone program 44g is a program for the CPUs 12 to 14 to execute halftone. The halftone program 44g is a program described only with general-purpose instructions. Therefore, the halftone program 44g is stored in the general-purpose instruction calculation unit 12.
a to 14a.

なお、ハーフトーンプログラム44sとハーフトーンプログラム44gとでは、一部に
異なる命令が使用されるが、同一データに対して、ハーフトーンプログラム44sによる
演算結果とハーフトーンプログラム44gによる演算結果は、同一となる。
The halftone program 44s and the halftone program 44g use partially different instructions, but the calculation result by the halftone program 44s and the calculation result by the halftone program 44g are the same for the same data. Become.

また、駆動制御プログラム45は、CPU11がプリンタ駆動部4を制御するためのプ
ログラムである。
The drive control program 45 is a program for the CPU 11 to control the printer drive unit 4.

上述のプログラムのうち、専用命令を含むプログラム41s〜44sは、専用命令を使
用するとともに、CPU内蔵の命令RAM33およびデータRAM36を可能な限り使用
するようにして、CPU毎に最適化されてコーディングされている。一方、汎用命令のみ
のプログラム41g〜44gは、CPU内蔵の命令キャッシュ32およびデータキャッシ
ュ35並びに命令RAM33およびデータRAM36の容量を意識して、バス20を介し
ての外部RAM2に対するリード/ライトの回数が少なくなるようにコーディングされて
いる。例えば、あるループ処理内で使用するデータ量をデータキャッシュ35の容量以下
としたりする。
Of the above-mentioned programs, the programs 41s to 44s including dedicated instructions are coded optimized for each CPU by using dedicated instructions and using the instruction RAM 33 and data RAM 36 built in the CPU as much as possible. ing. On the other hand, the programs 41g to 44g having only general-purpose instructions have the number of reads / writes to the external RAM 2 via the bus 20 in consideration of the capacities of the instruction cache 32 and data cache 35 and the instruction RAM 33 and data RAM 36 built in the CPU. Coded to be less. For example, the amount of data used in a certain loop process is set below the capacity of the data cache 35.

なお、上述のASIC1は、例えばTensilica社のXtensa技術により設
計可能である。Xtensa技術を使用する場合、上述の各専用命令は、Xtensa技
術で提供される命令拡張TIE(Tensilica Instruction Extension )を使用することで
定義可能であり、各専用命令演算部12b〜18bのハードウェア構成も、Xtensa
技術で実現可能である。TIEを使用して設定された専用命令を使用することで、通常、
同一の演算が2〜5倍に高速化されるが、場合によっては数十倍に高速化される。
Note that the ASIC 1 described above can be designed by, for example, Tensilica's Xtensa technology. When the Xtensa technology is used, each dedicated instruction described above can be defined by using an instruction extension TIE (Tensilica Instruction Extension) provided by the Xtensa technology, and the hardware configuration of each dedicated instruction calculation unit 12b to 18b Xtensa
It is feasible with technology. By using dedicated instructions set using TIE,
The same operation is speeded up 2 to 5 times, but in some cases it is speeded up to several tens of times.

次に、上記装置により実行される一連の画像処理について説明する。図4は、実施の形
態1に係る装置により実行される一連の画像処理について説明するフローチャートである
Next, a series of image processing executed by the apparatus will be described. FIG. 4 is a flowchart for describing a series of image processing executed by the apparatus according to the first embodiment.

この装置では、まず、JPEG画像ファイルに含まれるJPEGデータがデコードされ
る(ステップS1)。デコード後の画像データは、RGB画像データである。
In this apparatus, first, JPEG data included in a JPEG image file is decoded (step S1). The decoded image data is RGB image data.

次に、必要に応じて、デコード後の画像データに対して、画像補正が施される(ステッ
プS2)。画像補正としては、トーン調整および彩度強調を行う第1処理、シャープネス
を行う第2処理、およびノイズ除去を行う第3処理のうちの1または複数が、必要に応じ
て行われる。
Next, image correction is performed on the decoded image data as necessary (step S2). As the image correction, one or more of a first process that performs tone adjustment and saturation enhancement, a second process that performs sharpness, and a third process that performs noise removal are performed as necessary.

そして、画像補正後の画像データに対して、リサイズとレイアウトの処理が実行される
(ステップS3)。リサイズ処理では、印刷解像度、印刷用紙サイズ、一枚の用紙に印刷
する画像の数に応じた拡大・縮小率で、画像データのサイズ(縦横の画素数)が変更され
る。また、レイアウト処理では、印刷イメージに一致する画像データ(RGBデータ)が
生成される。
Then, resizing and layout processing is performed on the image data after image correction (step S3). In the resizing process, the size of image data (the number of vertical and horizontal pixels) is changed at an enlargement / reduction ratio corresponding to the print resolution, print paper size, and number of images to be printed on one sheet. In the layout process, image data (RGB data) that matches the print image is generated.

次に、色座標系の変更が実行される。この実施の形態1では、リサイズとレイアウトの
処理後のRGB画像データが、CYMK画像データに変換される(ステップS4)。なお
、この実施の形態1では、RGB画像データが、7色のCYMK画像データ(シアンC,
イエローY,マゼンタM,ブラックK,レッドR,ブルーB,クリア(つやだし)CL)
に変換される。
Next, the color coordinate system is changed. In the first embodiment, the RGB image data after the resizing and layout processing is converted into CYMK image data (step S4). In the first embodiment, the RGB image data is CYMK image data of 7 colors (cyan C,
Yellow Y, Magenta M, Black K, Red R, Blue B, Clear (Glossy) CL)
Is converted to

色変換後のCYMK画像データにおける各色の画像データに対してハーフトーンが実行
される(ステップS5)。ハーフトーンでは、ディザ法または誤差分散法により各色の画
像データが二値化される。
Halftone is performed on the image data of each color in the CYMK image data after color conversion (step S5). In the halftone, the image data of each color is binarized by a dither method or an error dispersion method.

そして、二値化後の各色の画像データに基づいて、CPU11によりプリンタ駆動部4
が制御され、媒体上に画像が印刷される(ステップS6)。その際、例えばマイクロウィ
ーブ処理などが適宜施される。
Then, based on the image data of each color after binarization, the CPU 11 causes the printer driver 4
Is controlled, and an image is printed on the medium (step S6). At that time, for example, a microweave process is appropriately performed.

このようにして、JPEGデータといった汎用の画像データが、プリンタ固有の、プリ
ンタ駆動部4の駆動制御に適したデータ形式に変換される。
In this way, general-purpose image data such as JPEG data is converted into a data format suitable for the drive control of the printer drive unit 4 unique to the printer.

ここで、実施の形態1に係る画像処理装置において、上述の処理を実行する場合のデー
タの流れについて説明する。なお、ここでは、説明を簡単にするために、ある処理の一部
を、それとは別の種別の処理を実行するCPUに実行させる分散処理は行われないものと
仮定して説明する。ただし、CPU15〜18は、ハーフトーンを分散処理する。図5は
、実施の形態1に係る画像処理装置において一連の画像処理を実行する場合のデータの流
れについて説明するブロック図である。
Here, the flow of data when the above-described processing is executed in the image processing apparatus according to Embodiment 1 will be described. Here, for the sake of simplicity of explanation, a description will be given on the assumption that a part of a certain process is not executed by a CPU that executes a CPU of another type. However, the CPUs 15 to 18 perform halftone dispersion processing. FIG. 5 is a block diagram illustrating a data flow when a series of image processing is executed in the image processing apparatus according to the first embodiment.

まず、メモリカード3内のJPEGファイル3aに含まれるJPEGデータがCPU1
2に転送される(フローF1)。
First, JPEG data contained in the JPEG file 3a in the memory card 3 is stored in the CPU 1
2 (flow F1).

そして、JPEGファイル3a、印刷用紙のサイズ、印刷解像度、ユーザ指定の条件に
基づいて、画像補正の種類、度合いなどを指定するパラメータ、色変換時のLUT(ルッ
クアップテーブル)を指定するパラメータ、ハーフトーンの設定パラメータ(二値化方法
の選択、二値化時の誤差分散の係数パターンなどを設定するためのパラメータ)が生成さ
れ、CPU12からデュアルポートRAM21に転送され格納される。
Based on the JPEG file 3a, print paper size, print resolution, and user-specified conditions, parameters for specifying the type and degree of image correction, parameters for specifying an LUT (lookup table) for color conversion, and half Tone setting parameters (parameters for selecting a binarization method, setting a coefficient pattern of error variance at the time of binarization, etc.) are generated, transferred from the CPU 12 to the dual port RAM 21, and stored.

CPU12によるJPEGデコード後、デコードされた画像データは、所定のブロック
あるいはバンドごとにCPU12からデュアルポートRAM21に転送され格納された後
、CPU13により読み出される(フローF2)。
After JPEG decoding by the CPU 12, the decoded image data is transferred from the CPU 12 to the dual port RAM 21 for each predetermined block or band, stored, and then read by the CPU 13 (flow F2).

さらに、画像補正に関するパラメータがデュアルポートRAM21からCPU13によ
り読み出され、そのパラメータに応じた画像補正が、デュアルポートRAM21から読み
出した画像データに対してCPU13により実行される。画像補正後、処理後の画像デー
タは、CPU13から外部RAM2に転送され格納された後、CPU12により読み出さ
れる(フローF3)。
Further, a parameter relating to image correction is read from the dual port RAM 21 by the CPU 13, and image correction corresponding to the parameter is executed by the CPU 13 on the image data read from the dual port RAM 21. After the image correction, the processed image data is transferred from the CPU 13 to the external RAM 2 and stored therein, and then read out by the CPU 12 (flow F3).

そして、CPU12によるリサイズ・レイアウト処理後、処理後の画像データは、CP
U12から外部RAM2に転送され格納された後、CPU14により読み出される(フロ
ーF4)。
After the resizing / layout processing by the CPU 12, the processed image data is CP
After being transferred from U12 to the external RAM 2 and stored, it is read by the CPU 14 (flow F4).

次に、色変換に関するパラメータがデュアルポートRAM21からCPU14により読
み出され、そのパラメータに応じた色変換がCPU14により実行される。色変換後、処
理後の画像データは、所定サイズのブロックごとにCPU14からデュアルポートRAM
22に転送され格納された後、CPU15〜18に順次読み出される(フローF5)。
Next, a parameter relating to color conversion is read from the dual port RAM 21 by the CPU 14, and color conversion corresponding to the parameter is executed by the CPU 14. After color conversion, the processed image data is transferred from the CPU 14 to the dual port RAM for each block of a predetermined size.
After being transferred to 22 and stored, it is sequentially read out by the CPUs 15 to 18 (flow F5).

次に、ハーフトーンに関するパラメータがデュアルポートRAM21からCPU15〜
18により読み出され、そのパラメータに応じたハーフトーンがCPU15〜18により
実行される。ハーフトーン後、処理後の画像データは、CPU15〜18から外部RAM
2に転送され格納された後、CPU11により読み出される(フローF6)。
Next, the parameters relating to the halftone are changed from the dual port RAM 21 to the CPU 15-.
18 and halftones corresponding to the parameters are executed by the CPUs 15-18. After halftone processing, the processed image data is transferred from the CPU 15-18 to the external RAM.
After being transferred to 2 and stored, it is read by the CPU 11 (flow F6).

このように、CPU11〜CPU18の間での画像データの転送には、デュアルポート
RAM21,22の経路と外部RAM2の経路が使用される。
As described above, the path of the dual port RAMs 21 and 22 and the path of the external RAM 2 are used for transferring the image data between the CPUs 11 to 18.

なお、ここでは、上述のように分散処理は行われないものとして説明したが、専用命令
演算部を有するCPUとその他のCPUで分散処理が実行される場合も同様に、CPU1
1〜CPU18の間での画像データの転送には、デュアルポートRAM21,22および
外部RAM2が使用され、各種別の処理に関するパラメータ、JPEGデコード後の画像
データおよび色変換後の画像データの転送は、デュアルポートRAM21,22が使用さ
れる。
Here, the description has been made assuming that the distributed processing is not performed as described above. However, when the distributed processing is executed by the CPU having the dedicated instruction calculation unit and other CPUs, the CPU 1 is similarly processed.
The dual port RAMs 21 and 22 and the external RAM 2 are used for transferring image data between the CPU 1 and the CPU 18, and parameters relating to various processes, image data after JPEG decoding, and image data after color conversion are transferred: Dual port RAMs 21 and 22 are used.

図6は、専用命令演算部を有するCPUとその他のCPUで分散処理を行わない場合の
データ処理の流れおよびタイムシーケンスの一例を示す図である。なお、図6では、各処
理の期間が画像データの処理単位となるブロックごとに示されている。また、図中の番号
は、そのブロックの番号を示している。すなわち、「(1)」が付されたブロックは、画
像中の同一箇所についての一連の処理を示している。
FIG. 6 is a diagram illustrating an example of a data processing flow and a time sequence when distributed processing is not performed by a CPU having a dedicated instruction calculation unit and other CPUs. In FIG. 6, the period of each process is shown for each block that is a unit of image data processing. The numbers in the figure indicate the block numbers. That is, the block with “(1)” indicates a series of processes for the same part in the image.

図6に示すように、例えば、ブロック(1)については、T0〜T1の期間においてC
PU12によりJPEGデコードが実行され、T1〜T2の期間においてCPU13によ
り画像補正が実行され、T2〜T3の期間においてCPU12によりリサイズとレイアウ
トが実行され、T3〜T4の期間においてCPU14により色変換が実行されCPU15
によりハーフトーンが実行され、その後に、CPU11によるプリンタ駆動部4の制御が
実行される。
As shown in FIG. 6, for example, for the block (1), in the period from T0 to T1, C
The JPEG decoding is executed by the PU 12, the image correction is executed by the CPU 13 during the period T1 to T2, the resizing and layout are executed by the CPU 12 during the period T2 to T3, and the color conversion is executed by the CPU 14 during the period T3 to T4. CPU15
Thus, halftone is executed, and then the control of the printer driving unit 4 by the CPU 11 is executed.

なお、図6では、データの転送時間は図示していない。また、色変換が完了したデータ
に対して順次ハーフトーンが実行されるため、同一ブロックについての色変換とハーフト
ーンについては、ほぼ並行して実行される。
In FIG. 6, the data transfer time is not shown. In addition, since halftone is sequentially executed on data for which color conversion has been completed, color conversion and halftone for the same block are executed substantially in parallel.

また、プロック(1)以降のブロック(2),・・・についても、同様の順番で処理が
実行される。また、CPU11〜CPU18の利用効率を挙げるために、JPEGデコー
ド、画像補正、色変換、ハーフトーンおよび駆動部制御については、図6に示すように、
パイプライン処理が実行される。
Also, the processing is executed in the same order for the blocks (2),... After the block (1). Further, in order to increase the utilization efficiency of the CPUs 11 to 18, as shown in FIG. 6, JPEG decoding, image correction, color conversion, halftone, and drive unit control are as follows.
Pipeline processing is executed.

なお、ここでは、CPU15〜18によるハーフトーンの分散処理以外には同一の処理
を複数のCPUで実行する分散処理は行われないものとして説明したが、この実施の形態
1では、実際には、同一の処理が複数のCPU(その処理の専用命令演算部を有するCP
Uとその他のCPU)で分散して実行される場合がある。
Here, it has been described that the distributed processing in which the same processing is executed by a plurality of CPUs other than the halftone distributed processing by the CPUs 15 to 18 is not performed, but in the first embodiment, in practice, The same processing is performed by a plurality of CPUs (CPs having a dedicated instruction calculation unit for the processing)
U and other CPUs) may be executed in a distributed manner.

ここまででは、この実施の形態1に係る画像処理装置により実行される一連の画像処理
およびその画像処理装置の基本的な動作について簡単に説明するため、CPU15〜18
によるハーフトーンの分散処理以外には同一の処理を複数のCPUで実行する分散処理は
行われないものとして説明した。次に、この実施の形態1に係る画像処理装置により実行
される分散処理について説明する。
Up to this point, in order to briefly describe a series of image processing executed by the image processing apparatus according to the first embodiment and the basic operation of the image processing apparatus, the CPUs 15 to 18 are described.
In the above description, it is assumed that the distributed processing in which the same processing is executed by a plurality of CPUs is not performed other than the halftone distributed processing according to the above. Next, distributed processing executed by the image processing apparatus according to the first embodiment will be described.

この実施の形態1に係る画像処理装置により実行される分散処理では、(1)各処理種
別について各処理部(CPU12,CPU13,CPU14,CPU15〜18)での処
理割合を決定する分散割合決定処理、(2)各処理種別について分散割合決定処理で処理
を割り当てられた処理部へ分散割合決定処理で決定された処理割合分の処理を開始させる
開始処理、(3)各処理種別について割り当てられた処理割合分の処理を実行する個別処
理が実行される。
In the distributed processing executed by the image processing apparatus according to the first embodiment, (1) distributed ratio determination processing for determining the processing ratio in each processing unit (CPU 12, CPU 13, CPU 14, CPU 15-18) for each processing type. (2) Start processing for starting processing corresponding to the processing rate determined in the distribution ratio determination process to the processing unit assigned processing in the distribution ratio determination processing for each processing type; (3) Assigned for each processing type Individual processing for executing processing corresponding to the processing ratio is executed.

図7は、本発明の実施の形態1に係る画像処理装置により実行される分散処理を説明す
るブロック図である。
FIG. 7 is a block diagram illustrating distributed processing executed by the image processing apparatus according to Embodiment 1 of the present invention.

図7に示すように、分散割合決定処理61は、CPU12により実行される。分散割合
決定処理61は、CPU12が、分散割合決定処理61を記述した図示せぬプログラムを
実行することで実現される。そのプログラムは、例えば外部RAM2に記憶される。分散
割合決定処理61では、CPU12は、処理能力テーブル52に格納されている各処理種
別に対する各処理部(CPU12、CPU13、CPU14、およびCPU15〜18の
4つのそれぞれ)の処理能力を示すデータ(所定の画素数分データの処理時間、単位時間
あたりの処理画素数など)を読み出し、各処理部へ割り当てられた1または複数の個別処
理に要する計算時間が可能な限り均等になるように、各処理種別についての各処理部への
処理割合を決定する。この負荷分散テーブル51および処理能力テーブル52は、デュア
ルポートRAM21,22に格納されるのが好ましいが、外部RAM2に格納されてもよ
い。
As shown in FIG. 7, the distribution ratio determination process 61 is executed by the CPU 12. The distribution ratio determination process 61 is realized by the CPU 12 executing a program (not shown) describing the distribution ratio determination process 61. The program is stored in the external RAM 2, for example. In the distribution ratio determining process 61, the CPU 12 has data (predetermined processing capacity) of each processing unit (four CPUs 12, 13, 14, and 15 to 18) corresponding to each processing type stored in the processing capacity table 52. Each processing so that the calculation time required for one or more individual processes assigned to each processing unit is as uniform as possible. The processing ratio to each processing unit for the type is determined. The load distribution table 51 and the processing capacity table 52 are preferably stored in the dual port RAMs 21 and 22, but may be stored in the external RAM 2.

図8は、本発明の実施の形態1における処理能力テーブル52の一例を示す図である。
処理能力テーブル52は、予め設定されたデフォルトの処理能力テーブル52a(図8(
A))と、画像データに対する実際の各個別処理63の際に収集された処理能力情報を含
む処理能力テーブル52b(図8(B))を有する。
FIG. 8 is a diagram showing an example of the processing capability table 52 according to Embodiment 1 of the present invention.
The processing capacity table 52 is a preset default processing capacity table 52a (FIG. 8 (
A)) and a processing capability table 52b (FIG. 8B) including processing capability information collected during each actual individual processing 63 for the image data.

処理能力テーブル52aは、各処理部と処理種別との組合せに対するデフォルトの処理
能力情報(図8では処理速度)を有する。処理能力テーブル52aは、処理種別が、JP
EGデコード、画像補正の第1処理(トーン調整および彩度強調)、画像補正の第2処理
(シャープネス)、画像補正の第3処理(ノイズ除去)、色変換、ディザ法によるハーフ
トーン、および誤差拡散法によるハーフトーンのいずれかであり、かつ、処理部が、CP
U12、CPU13、CPU14、およびCPU15〜18のいずれかであるすべての組
合せについての処理能力情報のデフォルト値を有する。例えば、JPEGデコードについ
てのCPU12の処理能力情報のデフォルト値は、800×1000画素/秒となってい
る。
The processing capability table 52a has default processing capability information (processing speed in FIG. 8) for combinations of processing units and processing types. In the processing capacity table 52a, the processing type is JP.
EG decoding, first image correction process (tone adjustment and saturation enhancement), second image correction process (sharpness), third image correction process (noise removal), color conversion, dither halftone, and error One of the halftones by the diffusion method, and the processing unit is CP
It has a default value of processing capability information for all combinations of any of U12, CPU13, CPU14, and CPU15-15. For example, the default value of the processing capability information of the CPU 12 for JPEG decoding is 800 × 1000 pixels / second.

処理能力テーブル52bは、ある画像データを処理する際に画像データの1バンドまた
は1ライン分ずつ測定された実測値としての、各処理部と各処理種別との組合せに対する
処理能力情報(図8では処理速度)を有する。図8(b)に示す状態では、処理能力テー
ブル52bに、JPEGデコードについてのCPU12の処理能力情報(760×100
0画素/秒)、JPEGデコードおよび3つの画像補正についてのCPU13の処理能力
情報(300×1000画素/秒、2,300×1000画素/秒,1,190×100
0画素/秒,350×1000画素/秒)、色変換についてのCPU14の処理能力情報
(1,600×1000画素/秒)、並びに、画像補正の第1処理およびハーフトーンに
ついてのCPU15〜18の処理能力情報(543×1000画素/秒,980×100
0画素/秒)のみが登録されている。すなわち、その他の組合せについては、1バンドま
たは1ライン分の個別処理が実行されていないため、処理能力情報が登録されていない。
The processing capability table 52b includes processing capability information for combinations of processing units and processing types as measured values measured for each band or line of image data when processing certain image data (in FIG. 8, Processing speed). In the state shown in FIG. 8B, the processing capability information 52 (760 × 100) of the CPU 12 regarding JPEG decoding is stored in the processing capability table 52b.
0 pixel / second), JPEG decoding and three image correction processing information of the CPU 13 (300 × 1000 pixels / second, 2,300 × 1000 pixels / second, 1,190 × 100)
0 pixel / second, 350 × 1000 pixel / second), processing capacity information of the CPU 14 for color conversion (1,600 × 1000 pixel / second), and the first processing of image correction and the CPU 15 to 18 for halftone Processing capability information (543 × 1000 pixels / second, 980 × 100
Only 0 pixel / second) is registered. That is, for the other combinations, the individual processing for one band or one line is not executed, so that the processing capability information is not registered.

CPU12は、分散割合決定処理の際、処理能力テーブル52内の処理能力情報を参照
するが、処理能力テーブル52bの値を優先的に使用する。つまり、あるCPUと処理種
別との組合せについて処理能力情報が収集されている場合には、処理能力テーブル52b
の値が使用され、未だ収集されていない場合には、処理能力テーブル52aのデフォルト
値が使用される。
The CPU 12 refers to the processing capability information in the processing capability table 52 during the distribution ratio determination process, but preferentially uses the value of the processing capability table 52b. That is, when the processing capability information is collected for a combination of a certain CPU and processing type, the processing capability table 52b.
Is used and the default value of the processing capacity table 52a is used.

なお、CPU15〜18の処理能力情報には、4つのCPU15〜18の処理能力情報
の代表値(CPU15〜18のうちの所定のCPUの値、平均値、最大値、最小値など)
が使用される。また、CPU15〜18が構成する処理部については、CPU15〜18
のうちのいずれか1つのCPUが、その代表値で処理能力テーブル52の処理能力情報を
更新するようにすればよい。
The processing capacity information of the CPUs 15 to 18 includes representative values of the processing capacity information of the four CPUs 15 to 18 (a predetermined CPU value, an average value, a maximum value, a minimum value, etc. of the CPUs 15 to 18).
Is used. Moreover, about the process part which CPU15-18 comprises, CPU15-18
Any one of the CPUs may update the processing capability information in the processing capability table 52 with the representative value.

図9は、本発明の実施の形態1における負荷分散テーブル51の一例を示す図である。
なお、図9に示す負荷分散テーブル51は、2592×1944画素の画像データを4つ
、8×11インチの印刷用紙に、1440×720dpiで印刷する場合の一例である。
負荷分散テーブル51は、各処理種別について、出力画像データの画素数、並びに、CP
U12、CPU13、CPU14およびCPU15〜18のそれぞれの処理能力値(処理
能力テーブル52の処理能力情報と同値)、処理割合および処理時間(予想される時間)
を有する。
FIG. 9 is a diagram showing an example of the load distribution table 51 according to Embodiment 1 of the present invention.
The load distribution table 51 shown in FIG. 9 is an example in the case where four pieces of image data of 2592 × 1944 pixels are printed at 1440 × 720 dpi on 8 × 11 inch printing paper.
The load distribution table 51 includes the number of pixels of the output image data and the CP for each processing type.
Each of the processing capacity values of U12, CPU 13, CPU 14, and CPUs 15 to 18 (equivalent to the processing capacity information in the processing capacity table 52), processing ratio, and processing time (expected time)
Have

さらに、負荷分散テーブル51は、CPU12、CPU13、CPU14およびCPU
15〜18のそれぞれの合計処理時間(6つの処理種別に関する処理時間の合計)Tcp
u、CPU12、CPU13、CPU14およびCPU15〜18の合計処理時間の平均
値および最大値、並びに、CPU12、CPU13、CPU14およびCPU15〜18
のそれぞれの合計処理時間と上記平均値との差を有する。
Further, the load distribution table 51 includes CPU 12, CPU 13, CPU 14, and CPU.
Total processing time of 15 to 18 (total processing time for six processing types) Tcp
u, the average value and the maximum value of the total processing time of CPU12, CPU13, CPU14 and CPU15-18, and CPU12, CPU13, CPU14 and CPU15-18
The difference between the total processing time and the above average value.

分散割合決定処理では、各処理種別について出力画像データの画素数と、各処理種別に
ついてのCPU12,13,14およびCPU15〜18の処理能力値とに基づいて、処
理割合が計算される。なお、各処理種別について出力画像データの画素数は、JPEGデ
ータの画素数、印刷条件などから計算される。また、各処理種別についてのCPU12,
13,14およびCPU15〜18の処理能力値には、処理能力テーブル52の処理能力
情報の値がそのまま使用される。
In the distribution ratio determination process, the processing ratio is calculated based on the number of pixels of the output image data for each processing type and the processing capability values of the CPUs 12, 13, and 14 and CPUs 15 to 18 for each processing type. Note that the number of pixels of output image data for each processing type is calculated from the number of pixels of JPEG data, printing conditions, and the like. Further, the CPU 12 for each processing type,
The processing capability information values in the processing capability table 52 are used as they are as the processing capability values of the 13, 14 and CPUs 15-18.

次に、開始処理62は、JPEGデコードを1または複数の処理部に開始させるJPE
Gデコード開始処理62a、画像補正を1または複数の処理部に開始させる画像補正開始
処理62b、色変換を1または複数の処理部に開始させる色変換開始処理62c、および
ハーフトーンを1または複数の処理部に開始させるハーフトーン開始処理62dからなる
。各開始処理62a〜62dを実行するCPUは、自己以外のCPUに個別処理を依頼す
る場合には、そのCPUに対して処理要求を発行する。
Next, the start processing 62 is a JPE that causes one or more processing units to start JPEG decoding.
G decode start processing 62a, image correction start processing 62b for starting image correction by one or more processing units, color conversion start processing 62c for starting color conversion by one or more processing units, and one or more halftones It consists of a halftone start process 62d to be started by the processing unit. When a CPU that executes each of the start processes 62a to 62d requests an individual process from a CPU other than itself, it issues a process request to that CPU.

JPEGデコード開始処理62aは、CPU12により実行され、画像補正開始処理6
2bは、CPU13により実行され、色変換開始処理62cおよびハーフトーン開始処理
62dは、CPU14により実行される。各開始処理62a,62b,62c,62dは
、各開始処理62a,62b,62c,62dを記述した図示せぬプログラムを各CPU
12,13,14が実行することで実現される。それらのプログラムは、例えば外部RA
M2に記憶される。
The JPEG decoding start process 62a is executed by the CPU 12, and the image correction start process 6a.
2b is executed by the CPU 13, and the color conversion start process 62c and the halftone start process 62d are executed by the CPU 14. Each start process 62a, 62b, 62c, 62d is a program (not shown) that describes each start process 62a, 62b, 62c, 62d.
This is realized by executing steps 12, 13, and 14. These programs are for example external RA
Stored in M2.

なお、分散割合決定処理61および開始処理62は、予め割り当てられたCPUにより
固定的に実行される。また、分散割合決定処理61および開始処理62は、互いに非同期
に繰り返し実行される。
The distribution ratio determining process 61 and the start process 62 are fixedly executed by a CPU assigned in advance. Also, the distribution ratio determination process 61 and the start process 62 are repeatedly executed asynchronously with each other.

分散割合決定処理61は、すべての種別の処理について処理能力情報が更新される毎に
実行される。また、各開始処理62a〜62dは、JPEGデコード、画像補正、色変換
またはハーフトーンが所定量のデータ分完了するごとに繰り返し実行され、その所定量の
データの処理が1または複数の処理部に個別処理63として割り当てられる。
The distribution ratio determining process 61 is executed every time the processing capability information is updated for all types of processes. Each of the start processes 62a to 62d is repeatedly executed whenever JPEG decoding, image correction, color conversion, or halftone is completed for a predetermined amount of data, and the processing of the predetermined amount of data is performed in one or a plurality of processing units. Assigned as individual processing 63.

そして、各処理種別について、開始処理62により割り当てられた量の個別処理63が
、割り当てられた処理部により実行される。
Then, for each processing type, the individual processing 63 of the amount allocated by the start processing 62 is executed by the allocated processing unit.

この実施の形態1では、JPEGデコードについて、JPEGデコード専用命令演算部
12bを有するCPU12、またはCPU12と画像処理用のその他のCPU13〜18
のうちの1個のCPU(CPU_X)との2個のCPUに、個別処理63が割り当てられ
る。
In the first embodiment, for JPEG decoding, the CPU 12 having the JPEG decoding dedicated instruction calculation unit 12b, or the CPU 12 and other CPUs 13 to 18 for image processing.
Individual processing 63 is assigned to two CPUs, one of which is a CPU (CPU_X).

なお、以下、各処理種別について、その処理種別に関する専用命令演算部を有するCP
U以外の画像処理用CPUのうちの、個別処理を割り当てられる1個のCPUのことをC
PU_Xという。
In the following, for each processing type, a CP having a dedicated instruction calculation unit for that processing type.
Of the CPUs for image processing other than U, one CPU to which individual processing is assigned is C
It is called PU_X.

CPU12が単体でJPEGデコードを実行する場合には、CPU12のみにより、J
PEGデコード個別処理63aが実行される。CPU12およびCPU_XがJPEGデ
コードを実行する場合には、CPU12によりJPEGデコード個別処理63aが実行さ
れ、CPU13〜18のいずれか1つによりJPEGデコード個別処理63eが実行され
る。その際、JPEGデコード個別処理63aは、CPU12がJPEGデコードプログ
ラム41sを実行することにより実現される。また、JPEGデコード個別処理63eは
、CPU_XがJPEGデコードプログラム41gを実行することにより実現される。
When the CPU 12 executes JPEG decoding by itself, only the CPU 12
PEG decoding individual processing 63a is executed. When the CPU 12 and CPU_X execute JPEG decoding, the CPU 12 executes JPEG decoding individual processing 63a, and any one of the CPUs 13 to 18 executes JPEG decoding individual processing 63e. At that time, the JPEG decode individual processing 63a is realized by the CPU 12 executing the JPEG decode program 41s. The JPEG decode individual process 63e is realized by the CPU_X executing the JPEG decode program 41g.

なお、この実施の形態1では、2つのCPUでJPEGデコードを実行する場合、JP
EGデコード個別処理63aとJPEGデコード個別処理63eとの処理データ量の比(
分散割合)は、3:1、1:1、および1:3のいずれかとされる。したがって、個別処
理63a,63eを実行する処理部についての処理割合は、0、0.25、0.5、0.
75および1のいずれかとなる。
In the first embodiment, when JPEG decoding is executed by two CPUs, JP
Ratio of processing data amount between EG decoding individual processing 63a and JPEG decoding individual processing 63e (
The dispersion ratio) is any one of 3: 1, 1: 1, and 1: 3. Therefore, the processing ratios for the processing units that execute the individual processes 63a and 63e are 0, 0.25, 0.5, 0.
One of 75 and 1.

また、この実施の形態1では、画像補正について、画像補正専用命令演算部13bを有
するCPU13、または、CPU13とCPU_Xとの2個のCPUに、個別処理63が
割り当てられる。CPU13が単体で画像補正を実行する場合には、CPU13のみによ
り画像補正個別処理63bが実行される。CPU13およびCPU_Xが画像補正を実行
する場合には、CPU13により画像補正個別処理63bが実行され、CPU12,14
〜18のいずれか1つにより画像補正個別処理63fが実行される。その際、画像補正個
別処理63bは、CPU13が画像補正プログラム42sを実行することにより実現され
る。また、画像補正個別処理63fは、CPU_Xが画像補正プログラム42gを実行す
ることにより実現される。
In the first embodiment, for image correction, the individual process 63 is assigned to the CPU 13 having the image correction dedicated command calculation unit 13b, or the two CPUs of the CPU 13 and CPU_X. When the CPU 13 performs image correction alone, the image correction individual processing 63b is executed only by the CPU 13. When the CPU 13 and the CPU_X execute image correction, the CPU 13 executes the image correction individual process 63b, and the CPUs 12 and 14 are executed.
Image correction individual processing 63f is executed by any one of -18. At this time, the individual image correction process 63b is realized by the CPU 13 executing the image correction program 42s. Further, the individual image correction process 63f is realized by the CPU_X executing the image correction program 42g.

なお、この実施の形態1では、2つのCPUで画像補正を実行する場合、画像補正個別
処理63bと画像補正個別処理63fとの処理データ量の比(分散割合)は、3:1、1
:1、および1:3のいずれかとされる。したがって、個別処理63b,63fを実行す
る処理部についての処理割合は、0、0.25、0.5、0.75および1のいずれかと
なる。
In the first embodiment, when image correction is executed by two CPUs, the ratio (dispersion ratio) of the processing data amount between the image correction individual processing 63b and the image correction individual processing 63f is 3: 1, 1.
1: and 1: 3. Accordingly, the processing ratio for the processing units that execute the individual processes 63b and 63f is one of 0, 0.25, 0.5, 0.75, and 1.

また、この実施の形態1では、色変換について、色変換専用命令演算部14bを有する
CPU14、または、CPU14とCPU_Xとの2個のCPUに、個別処理63が割り
当てられる。CPU14が単体で色変換を実行する場合には、CPU14のみにより色変
換個別処理63cが実行される。CPU14およびCPU_Xが色変換を実行する場合に
は、CPU14により色変換個別処理63cが実行され、CPU12,13,15〜18
のいずれか1つにより色変換個別処理63gが実行される。その際、色変換個別処理63
cは、CPU14が色変換プログラム43sを実行することにより実現される。また、色
変換個別処理63gは、CPU_Xが色変換プログラム43gを実行することにより実現
される。
In the first embodiment, for color conversion, the individual processing 63 is assigned to the CPU 14 having the color conversion dedicated instruction calculation unit 14b, or the two CPUs of the CPU 14 and CPU_X. When the CPU 14 executes color conversion alone, the color conversion individual processing 63c is executed only by the CPU 14. When the CPU 14 and CPU_X execute color conversion, the CPU 14 executes the color conversion individual processing 63c, and the CPUs 12, 13, 15 to 18 are executed.
The color conversion individual process 63g is executed by any one of the above. At that time, color conversion individual processing 63
c is realized by the CPU 14 executing the color conversion program 43s. Further, the individual color conversion process 63g is realized by the CPU_X executing the color conversion program 43g.

なお、この実施の形態1では、2つのCPUで色変換を実行する場合、色変換個別処理
63cと色変換個別処理63gとの処理データ量の比(分散割合)は、3:1、1:1、
および1:3のいずれかとされる。したがって、個別処理63c,63gを実行する処理
部についての処理割合は、0、0.25、0.5、0.75および1のいずれかとなる。
In the first embodiment, when color conversion is executed by two CPUs, the ratio (dispersion ratio) of the processing data amount between the color conversion individual processing 63c and the color conversion individual processing 63g is 3: 1, 1: 1,
And 1: 3. Accordingly, the processing ratio for the processing units that execute the individual processes 63c and 63g is one of 0, 0.25, 0.5, 0.75, and 1.

また、この実施の形態1では、ハーフトーンについて、ハーフトーン専用命令演算部1
5b〜18bを有するCPU15〜18、または、CPU15〜18とCPU_Xとの5
個のCPUに、個別処理63が割り当てられる。CPU15〜18が色変換を実行する場
合には、CPU15〜18のみによりハーフトーン個別処理63dが実行される。CPU
15〜18およびCPU_Xがハーフトーン個別処理を実行する場合には、CPU15〜
18によりハーフトーン個別処理63dが実行され、CPU12〜14のいずれか1つに
よりハーフトーン個別処理63hが実行される。その際、ハーフトーン個別処理63dは
、CPU15〜18がハーフトーンプログラム44sを実行することにより実現される。
また、ハーフトーン個別処理63hは、CPU_Xがハーフトーンプログラム43hを実
行することにより実現される。
In the first embodiment, halftone dedicated instruction calculation unit 1 is used for halftone.
CPU15-18 which has 5b-18b, or 5 of CPU15-18 and CPU_X
Individual processing 63 is assigned to each CPU. When the CPUs 15 to 18 perform color conversion, the halftone individual processing 63d is executed only by the CPUs 15 to 18. CPU
When 15 to 18 and CPU_X execute the halftone individual processing, the CPU 15 to
18, the halftone individual process 63d is executed, and any one of the CPUs 12 to 14 executes the halftone individual process 63h. At that time, the halftone individual processing 63d is realized by the CPUs 15 to 18 executing the halftone program 44s.
Further, the halftone individual process 63h is realized by the CPU_X executing the halftone program 43h.

なお、この実施の形態1では、色変換により7色のCMYK画像データが生成され、7
色のCMYK画像データのうちの2色に対してディザ法による二値化処理が実行され、5
色に対して誤差拡散法による二値化処理が実行される。ディザ法による二値化処理の計算
量は、誤差拡散法による二値化処理の計算量より非常に小さいため、4個のCPU15〜
18でハーフトーンを行う場合には、CPU15により2色分の誤差拡散法による二値化
処理が実行され、CPU16により1色分の誤差拡散法による二値化処理と1色分のディ
ザ法による二値化処理が実行され、CPU17により1色分の誤差拡散法による二値化処
理と1色分のディザ法による二値化処理が実行され、CPU18により1色分の誤差拡散
法による二値化処理が実行される。
In the first embodiment, seven colors of CMYK image data are generated by color conversion.
A binarization process by a dither method is executed for two colors of the CMYK image data of colors 5
A binarization process using an error diffusion method is performed on the color. Since the calculation amount of the binarization processing by the dither method is much smaller than the calculation amount of the binarization processing by the error diffusion method, the four CPUs 15 to
When halftone is performed at 18, the CPU 15 executes binarization processing by the error diffusion method for two colors, and the CPU 16 performs binarization processing by the error diffusion method for one color and the dither method for one color. A binarization process is executed, a binarization process by an error diffusion method for one color and a binarization process by a dither method for one color are executed by the CPU 17, and a binary value by an error diffusion method for one color is executed by the CPU 18. Processing is executed.

一方、CPU15〜18およびCPU_Xでハーフトーンを行う場合には、CPU15
により1色分の誤差拡散法による二値化処理が実行され、CPU16により1色分の誤差
拡散法による二値化処理と1色分のディザ法による二値化処理が実行され、CPU17に
より1色分の誤差拡散法による二値化処理と1色分のディザ法による二値化処理が実行さ
れ、CPU18により1色分の誤差拡散法による二値化処理が実行され、CPU_Xによ
り1色分の誤差拡散法による二値化処理が実行される。
On the other hand, when halftone is performed by the CPUs 15 to 18 and the CPU_X, the CPU 15
The binarization processing by the error diffusion method for one color is executed by the CPU 16, the binarization processing by the error diffusion method for one color and the binarization processing by the dither method for one color are executed by the CPU 17, and 1 is executed by the CPU 17. A binarization process by an error diffusion method for one color and a binarization process by a dither method for one color are executed, and a binarization process by an error diffusion method for one color is executed by the CPU 18, and one color is processed by the CPU_X. The binarization process by the error diffusion method is executed.

このため、5つのCPUでハーフトーンを実行する場合、ハーフトーン個別処理63d
とハーフトーン個別処理63hとの処理データ量の比(分散割合)は、略4:1とされる
Therefore, when halftone is executed by five CPUs, halftone individual processing 63d
The ratio (dispersion ratio) of the processing data amount between the halftone individual processing 63h and the halftone individual processing 63h is approximately 4: 1.

各個別処理63a〜63gでは、割り当てられた画像処理(画像データの1バンドまた
は1ライン分)が完了すると、割り当てられた画像処理に要した時間および処理データ量
などのデータが、処理能力データとして、処理能力テーブル52に格納される。そして、
この処理能力データは、その後の分散割合決定処理61に反映される。
In each of the individual processes 63a to 63g, when the assigned image processing (one band or one line of image data) is completed, data such as the time and the amount of processing data required for the assigned image processing is processed as processing capability data. Stored in the processing capacity table 52. And
This processing capacity data is reflected in the subsequent distribution ratio determination processing 61.

なお、この実施の形態1では、CPU12では、それぞれマルチタスクOSが稼動して
いる。CPU12では、分散割合決定処理61a、JPEGデコード開始処理62aとJ
PEGデコード個別処理63bの2つ、およびその他の各個別処理63f,63g,63
hは、それぞれ別々のタスク(プロセス)として実行される。また、CPU13〜18に
おいてもマルチタスクOSを稼動させるようにしてもよい。その場合、例えば、CPU1
3では、画像補正開始処理62bと画像補正個別処理63bの2つ、およびその他の各個
別処理63e,63g,63hは、それぞれ別々のタスク(プロセス)として実行される
。また、CPU14では、色変換開始処理62cと色変換個別処理63cとハーフトーン
開始処理62dの3つ、およびその他の各個別処理63e,63f,63hは、それぞれ
別々のタスク(プロセス)として実行される。また、CPU15〜18の各CPUでは、
ハーフトーン個別処理63d、およびその他の各個別処理63e,63f,63gは、そ
れぞれ別々のタスク(プロセス)として実行される。
In the first embodiment, each CPU 12 is running a multitasking OS. In the CPU 12, the dispersion ratio determination process 61a, the JPEG decode start process 62a and the J
Two of the individual PEG decoding processes 63b and the other individual processes 63f, 63g, 63
Each h is executed as a separate task (process). Further, the multitask OS may be operated in the CPUs 13-18. In that case, for example, CPU 1
3, the image correction start process 62b and the image correction individual process 63b, and the other individual processes 63e, 63g, and 63h are executed as separate tasks (processes). In the CPU 14, the color conversion start process 62c, the color conversion individual process 63c, the halftone start process 62d, and the other individual processes 63e, 63f, and 63h are executed as separate tasks (processes). . Moreover, in each CPU of CPU15-18,
The halftone individual process 63d and the other individual processes 63e, 63f, and 63g are executed as separate tasks (processes).

ここで、分散割合決定処理61の詳細について説明する。図10は、本発明の実施の形
態1における分散割合決定処理61を説明するフローチャートである。
Here, details of the distribution ratio determination processing 61 will be described. FIG. 10 is a flowchart for explaining the distribution ratio determination processing 61 in Embodiment 1 of the present invention.

まず、CPU12は、処理対象となる画像データ(JPEGデータ)、印刷条件(印刷
用紙、印刷解像度)、デフォルトの処理能力テーブル52aなどに基づいてデフォルトの
負荷分散テーブル51を生成する(ステップS11)。なお、最初の負荷分散テーブル5
1では、JPEGデコードについては、CPU12の処理割合は1であり、その他のCP
U13〜18の処理割合は0である。また、画像補正の第1処理〜第3処理については、
CPU13の処理割合は1であり、その他のCPU12,14〜18の処理割合は0であ
る。また、色変換については、CPU14の処理割合は1であり、その他のCPU12,
13,15〜18の処理割合は0である。また、ハーフトーンについては、CPU15〜
CPU18の処理割合は1であり、その他のCPU12〜14の処理割合は0である。
First, the CPU 12 generates a default load distribution table 51 based on image data (JPEG data) to be processed, printing conditions (printing paper, printing resolution), a default processing capacity table 52a, and the like (step S11). The first load distribution table 5
1, for JPEG decoding, the processing rate of the CPU 12 is 1, and other CPs
The processing rate of U13 to 18 is zero. In addition, regarding the first process to the third process of image correction,
The processing rate of the CPU 13 is 1, and the processing rates of the other CPUs 12, 14 to 18 are 0. For color conversion, the processing ratio of the CPU 14 is 1, and the other CPUs 12,
The processing ratio of 13, 15 to 18 is 0. For halftone, CPU15 ~
The processing ratio of the CPU 18 is 1, and the processing ratios of the other CPUs 12 to 14 are 0.

次に、CPU12は、画像横方向(縦方向および横方向のうち、隣接する画像領域の画
像データが連続している方向)の始端から終端までの画像データの1バンド分または1ラ
イン分の処理が、すべての処理種別(JPEGデコード、画像補正の3処理、色変換およ
びハーフトーン)について少なくとも1回終了するまで待機する(ステップS12)。
Next, the CPU 12 performs processing for one band or one line of image data from the start end to the end of the image in the horizontal direction (the direction in which the image data of adjacent image areas are continuous in the vertical direction and the horizontal direction). However, it waits until it finishes at least once about all the processing types (JPEG decoding, 3 processes of image correction, color conversion, and a halftone) (step S12).

なお、JPEGデコードにおける画像横方向の始端から終端までの1回の処理は、縦方
向がMCU(Minimum Coded Unit)の縦方向分の画素で横方向が画像横幅分の画素で構成
される1バンドに対するJPEGデコードとなる。なお、MCUは、縦8画素、横8画素
のブロックである。
Note that one process from the beginning to the end of the image horizontal direction in JPEG decoding is one band composed of pixels corresponding to the vertical direction of the MCU (Minimum Coded Unit) in the vertical direction and pixels corresponding to the horizontal width of the image. JPEG decoding for. Note that the MCU is a block of 8 vertical pixels and 8 horizontal pixels.

また、画像補正における画像横方向の始端から終端までの1回の処理は、画像データの
1ライン(つまり、縦方向が1画素で、横方向が画像横幅分の画素の領域)に対する第1
処理〜第3処理となる。
In addition, the one-time processing from the start edge to the end edge in the image horizontal direction in the image correction is performed for the first process for one line of image data (that is, the vertical region is one pixel and the horizontal direction is a pixel area corresponding to the horizontal width of the image).
Processing to third processing.

また、色変換における画像横方向の始端から終端までの1回の処理は、画像データの2
ラインに対する色座標変換処理となる。
In addition, one processing from the start edge to the end edge in the horizontal direction of the image in the color conversion is performed with 2 of the image data.
Color coordinate conversion processing for the line is performed.

また、ハーフトーンにおける画像横方向の始端から終端までの1回の処理は、画像デー
タの2ラインに対する二値化処理となる。
Further, a single process from the start edge to the end edge in the horizontal direction of the image in the halftone is a binarization process for two lines of image data.

なお、このように、処理種別によって、画像横方向の始端から終端までの1回の処理に
係る画素領域が異なることや、処理種別によって計算量が異なることに起因して、同一領
域に対するすべての処理種別における個別処理は、同時には終了しない。しかしながら、
すべての処理種別における個別処理では、バリア同期はせず、各処理種別において、1バ
ンド分または1ライン分の処理が完了すると、開始処理後に、次の1バンドまたは1ライ
ンについての個別処理が直ちに開始される。
As described above, the pixel area related to one process from the start edge to the end edge in the horizontal direction of the image differs depending on the processing type, and the calculation amount differs depending on the processing type. Individual processing in the processing type does not end at the same time. However,
In individual processing for all processing types, barrier synchronization is not performed. When processing for one band or one line is completed in each processing type, individual processing for the next one band or one line is immediately performed after the start processing. Be started.

また、1バンド分または1ライン分の処理がすべての処理種別について少なくとも1回
終了したか否かの判定については、処理種別分のフラグを例えば処理能力テーブル52b
内に設け、各個別処理63を実行する処理部が、1バンド分または1ライン分の個別処理
63が終了したときにその個別処理63の処理種別のフラグを立て、CPU12が、その
フラグがすべて立っているか否かで、1バンド分または1ライン分の処理がすべての処理
種別について少なくとも1回終了したか否かを判定すればよい。なお、その場合、CPU
12は、1バンド分または1ライン分の処理がすべての処理種別について少なくとも1回
終了したと判定した際に、すべてのフラグを下ろす。
For determining whether or not processing for one band or one line has been completed at least once for all processing types, a flag for the processing type is set, for example, in the processing capability table 52b.
The processing unit that executes each individual processing 63 sets the processing type flag of the individual processing 63 when the individual processing 63 for one band or one line is completed, and the CPU 12 It may be determined whether or not processing for one band or one line has been completed at least once for all processing types depending on whether or not the user is standing. In that case, CPU
No. 12 lowers all the flags when it is determined that the processing for one band or one line has been completed at least once for all processing types.

そして、CPU12は、1バンド分または1ライン分の処理がすべての処理種別につい
て少なくとも1回終了したと判定すると、処理能力テーブルに基づき、各処理種別につい
て各処理部の処理割合を決定し、負荷分散テーブル51を更新する(ステップS13)。
この実施の形態1では、各処理種別について、1バンド分または1ライン分の個別処理6
3が終了するごとに、その個別処理63を実行する処理部が、その処理種別と自己との組
合せについての処理能力情報を更新するので、1バンド分または1ライン分の処理がすべ
ての処理種別について少なくとも1回終了した後に負荷分散テーブル51を更新すること
で、すべての処理部の動的に変化する処理能力値を考慮して、各処理部への処理割合が決
定される。
If the CPU 12 determines that the processing for one band or one line has been completed at least once for all processing types, the CPU 12 determines the processing ratio of each processing unit for each processing type based on the processing capacity table, The distribution table 51 is updated (step S13).
In the first embodiment, for each processing type, individual processing for one band or one line 6
3 is completed, the processing unit that executes the individual processing 63 updates the processing capability information for the combination of the processing type and the self, so that processing for one band or one line is performed for all processing types. By updating the load distribution table 51 after completing at least once, the processing ratio to each processing unit is determined in consideration of the dynamically changing processing capability value of all the processing units.

そして、上述のステップS12およびステップS13の処理が、画像データが終わるま
で繰り返され、いずれかの処理種別で、処理すべき画像データがなくなると、分散割合決
定処理61は終了する(ステップS14)。
Then, the processes in step S12 and step S13 described above are repeated until the image data is finished, and when there is no image data to be processed in any of the processing types, the distribution ratio determining process 61 ends (step S14).

ここで、図11は、図10における負荷分散テーブル更新処理(ステップS13)の詳
細を説明するフローチャートである。
Here, FIG. 11 is a flowchart for explaining the details of the load distribution table update process (step S13) in FIG.

負荷分散テーブル更新処理(ステップS13)では、まず、CPU12は、処理能力テ
ーブル52の各処理能力情報で、それに対応する負荷分散テーブル51の処理能力値を更
新する(ステップS13a)。また、CPU12は、JPEGファイル3aの画像データ
(入力画像データ)のサイズ、印刷画像数、印刷用紙サイズ、印刷解像度などに基づいて
、各処理種別の出力画像の画素数(つまり、処理対象の画素数)を計算し、負荷分散テー
ブル51に登録する。
In the load distribution table update process (step S13), first, the CPU 12 updates the processing capacity value of the load distribution table 51 corresponding to each processing capacity information of the processing capacity table 52 (step S13a). Further, the CPU 12 determines the number of pixels of the output image of each processing type (that is, the pixel to be processed) based on the size of the image data (input image data) of the JPEG file 3a, the number of print images, the print paper size, the print resolution, and the like. The number is calculated and registered in the load distribution table 51.

そして、CPU12は、各処理種別についての処理割合をデフォルトの値にする(ステ
ップS13b)。デフォルトでは、各処理種別について、その処理種別に対応する専用命
令演算部を有するCPUの処理割合が1であり、その他のCPUの処理割合が0である。
したがって、例えば、JPEGデコードについては、CPU12の処理割合は1であり、
CPU13,14,15〜18の処理割合は0である。
Then, the CPU 12 sets the processing ratio for each processing type to a default value (step S13b). By default, for each processing type, the processing ratio of the CPU having the dedicated instruction calculation unit corresponding to the processing type is 1, and the processing ratio of the other CPUs is 0.
Therefore, for example, for JPEG decoding, the processing ratio of the CPU 12 is 1.
The processing ratio of the CPUs 13, 14, 15 to 18 is zero.

次に、CPU12は、処理部毎の処理時間Tcpu、平均処理時間Tav、および平均
処理時間Tavからの処理部毎の処理時間Tcpuの偏差dTcpuを計算する(ステッ
プS13c)。
Next, the CPU 12 calculates the processing time Tcpu for each processing unit, the average processing time Tav, and the deviation dTcpu of the processing time Tcpu for each processing unit from the average processing time Tav (step S13c).

その際、CPU12は、負荷分散テーブル51を参照し、各処理種別について、処理す
べき画素数Npと、各処理部の処理能力値Pと、各処理部の処理割合αに基づいて、その
処理種別の処理時間T(T=Np×α×P)を計算する。また、CPU12は、ある処理
部についての、JPEGデコードの処理時間T1、画像補正の第1処理の処理時間T2、
画像補正の第2処理の処理時間T3、画像補正の第3処理の処理時間T4、色変換の処理
時間T5、およびハーフトーンの処理時間T6の和をその処理部の処理時間Tcpu(T
cpu=T1+T2+T3+T4+T5+T6)とする。
At that time, the CPU 12 refers to the load distribution table 51, and for each processing type, based on the number Np of pixels to be processed, the processing capability value P of each processing unit, and the processing ratio α of each processing unit. The processing time T (T = Np × α × P) for the type is calculated. Further, the CPU 12 processes JPEG decoding processing time T1 and image correction first processing time T2 for a certain processing unit,
The sum of the processing time T3 of the second processing of image correction, the processing time T4 of the third processing of image correction, the processing time T5 of color conversion, and the processing time T6 of halftone is the processing time Tcpu (T
cpu = T1 + T2 + T3 + T4 + T5 + T6).

また、CPU12は、CPU12の処理時間Tcpu12、CPU13の処理時間Tc
pu13、CPU14の処理時間Tcpu14、および、CPU15〜18の処理時間T
cpu15〜18の平均値を平均処理時間Tavとして計算する(Tav=(Tcpu1
2+Tcpu13+Tcpu14+Tcpu15〜18)/4)。
In addition, the CPU 12 performs processing time Tcpu12 for the CPU 12 and processing time Tc for the CPU 13.
pu13, processing time Tcpu14 of CPU 14, and processing time T of CPUs 15-18
The average value of cpu15 to 18 is calculated as the average processing time Tav (Tav = (Tcpu1
2 + Tcpu13 + Tcpu14 + Tcpu15-18) / 4).

また、CPU12は、処理時間Tcpuと平均処理時間Tavとから、各処理部につい
ての処理時間の偏差dTcpuを計算する。例えば、CPU12についての処理時間の偏
差dTcpu12は、(Tav−Tcpu12)となる。
Further, the CPU 12 calculates a processing time deviation dTcpu for each processing unit from the processing time Tcpu and the average processing time Tav. For example, the processing time deviation dTcpu12 for the CPU 12 is (Tav−Tcpu12).

次に、CPU12は、ステップS13cでの計算結果に基づいて、処理時間Tcpuが
最大である処理部(CPU_A)、CPU_Aの処理のうち処理時間Tが最大である処理
種別(PROC_A)、CPU_A以外の処理部のうちの、デフォルトで割り当てられる
処理種別のみを実行し他の処理種別の分散処理を実行しない1または複数の処理部(CP
U_X)を特定する(ステップS13d)。
Next, based on the calculation result in step S13c, the CPU 12 determines the processing unit (CPU_A) having the maximum processing time Tcpu, the processing type (PROC_A) having the maximum processing time T among the processing of CPU_A, and other than CPU_A. One or more processing units (CPs) that execute only the processing types assigned by default and do not execute distributed processing of other processing types among the processing units
U_X) is specified (step S13d).

例えば図9に示す負荷分散テーブル51の場合では、CPU_Aは、CPU13と特定
され、PROC_Aは、画像補正の第3処理(ノイズ除去)と特定され、CPU_Xは、
CPU12、CPU14、およびCPU15〜18と特定される。
For example, in the case of the load distribution table 51 shown in FIG. 9, CPU_A is identified as CPU 13, PROC_A is identified as the third image correction process (noise removal), and CPU_X is defined as
It is specified as CPU 12, CPU 14, and CPUs 15-18.

次に、CPU12は、所定の分散割合(1:0,3:1,1:1,1:3など)および
CPU_Xの各組合せについて、CPU_AとCPU_Xの処理割合を計算し、その処理
割合でのCPU_AとCPU_Xの処理時間Tcpuを計算する(ステップS13e)。
Next, the CPU 12 calculates the processing ratio of the CPU_A and the CPU_X for each combination of the predetermined distribution ratio (1: 0, 3: 1, 1: 1, 1: 3, etc.) and the CPU_X, and at the processing ratio. The processing time Tcpu for CPU_A and CPU_X is calculated (step S13e).

例えば、CPU_AとCPU_Xの分散割合が3:1である場合には、CPU_Aの処
理割合は、0.75となり、CPU_Xの処理割合は、0.25となる。
For example, when the distribution ratio of CPU_A and CPU_X is 3: 1, the processing ratio of CPU_A is 0.75, and the processing ratio of CPU_X is 0.25.

次に、CPU12は、CPU_Aの処理時間TcpuとCPU_Xの処理時間Tcpu
の大きい方の処理時間が最小となるCPU_Xおよび分散割合を特定し、その分散割合に
基づいて、CPU_AとCPU_Xの処理割合を計算する(ステップS13f)。
Next, the CPU 12 processes the CPU_A processing time Tcpu and the CPU_X processing time Tcpu.
CPU_X and the distribution ratio that minimize the processing time of which is larger are specified, and the processing ratio of CPU_A and CPU_X is calculated based on the distribution ratio (step S13f).

さらに、CPU12は、ステップS13fで計算したCPU_AとCPU_Xの処理割
合に基づいて、処理部毎の処理時間Tcpu、平均処理時間Tav、処理部毎の処理時間
の偏差dTcpuを計算する(ステップS13g)。
Further, the CPU 12 calculates the processing time Tcpu, the average processing time Tav for each processing unit, and the deviation dTcpu for the processing time for each processing unit based on the processing ratio between CPU_A and CPU_X calculated in step S13f (step S13g).

そして、CPU12は、ステップS13gで計算した処理時間Tcpuの最大値が、負
荷分散テーブル51に記録されている処理時間Tcpuの最大値より小さいか否かを判定
する(ステップS13h)。
Then, the CPU 12 determines whether or not the maximum value of the processing time Tcpu calculated in step S13g is smaller than the maximum value of the processing time Tcpu recorded in the load distribution table 51 (step S13h).

ステップS13gで計算した処理時間Tcpuの最大値が、負荷分散テーブル51に記
録されている処理時間Tcpuの最大値より小さい場合、CPU12は、ステップS13
f,S13gで計算した処理割合、処理時間Tcpu、平均処理時間Tav、および処理
時間の偏差dTcpuの値で負荷分散テーブル51内の対応する値を更新する(ステップ
S13i)。
When the maximum value of the processing time Tcpu calculated in step S13g is smaller than the maximum value of the processing time Tcpu recorded in the load distribution table 51, the CPU 12 proceeds to step S13.
The corresponding values in the load distribution table 51 are updated with the values of the processing ratio, processing time Tcpu, average processing time Tav, and processing time deviation dTcpu calculated in f and S13g (step S13i).

一方、ステップS13gで計算した処理時間Tcpuの最大値が、負荷分散テーブル5
1に記録されている処理時間Tcpuの最大値以上ではない場合、CPU12は、負荷分
散テーブル更新処理(ステップS13)を終了する。
On the other hand, the maximum value of the processing time Tcpu calculated in step S13g is the load distribution table 5
If it is not equal to or greater than the maximum value of the processing time Tcpu recorded in 1, the CPU 12 ends the load distribution table update process (step S13).

このように、処理部毎の処理時間Tcpuの最大値が減少する間は、ステップS13d
〜ステップS13iの処理が繰り返し実行され負荷分散テーブル51が更新されていく。
この負荷分散テーブル更新処理では、負荷の最も重いCPUに割り当てられた処理のうち
、最も重い処理が分散されていくので、処理部に掛かる負荷が均一化されていく。
In this way, while the maximum value of the processing time Tcpu for each processing unit decreases, step S13d.
Step S13i is repeatedly executed, and the load distribution table 51 is updated.
In this load distribution table update process, the heaviest process among the processes assigned to the CPU with the heaviest load is distributed, so that the load on the processing unit is made uniform.

ここで、一例として、図9に示す負荷分散テーブル51の更新について説明する。図1
2は、図9の負荷分散テーブル51の更新途中の負荷分散テーブル51を示す図である。
図13は、図9の負荷分散テーブル51を更新した負荷分散テーブル51を示す図である
Here, as an example, the update of the load distribution table 51 shown in FIG. 9 will be described. FIG.
2 is a diagram showing the load distribution table 51 in the middle of updating the load distribution table 51 of FIG.
FIG. 13 is a diagram showing a load distribution table 51 obtained by updating the load distribution table 51 of FIG.

まず、図9に示す負荷分散テーブル51では、CPU_Aは、CPU13と特定され、
CPU_Xは、CPU12、CPU14およびCPU15〜18と特定され、PROC_
Aは、画像補正の第3処理(ノイズ除去)と特定される(ステップS13d)。
First, in the load distribution table 51 shown in FIG. 9, CPU_A is identified as CPU 13,
CPU_X is identified as CPU12, CPU14 and CPU15-18, and PROC_
A is identified as the third image correction process (noise removal) (step S13d).

次に、CPU13の処理割合とCPU_Xの処理割合が、1と0、0.75と0.25
、0.5と0.5、0.25と0.75、および0と1のそれぞれとした場合の、CPU
13の処理時間とCPU_Xの処理時間が計算され(ステップS13e)、計算されたC
PU13の処理時間TcpuとCPU_Xの処理時間Tcpuの大きい方の処理時間が最
小となる分散割合が選択される(ステップS13f)。
Next, the processing ratio of the CPU 13 and the processing ratio of the CPU_X are 1 and 0, 0.75 and 0.25.
, 0.5 and 0.5, 0.25 and 0.75, and 0 and 1 respectively.
The processing time of 13 and the processing time of CPU_X are calculated (step S13e), and the calculated C
A dispersion ratio is selected that minimizes the processing time that is larger between the processing time Tcpu of the PU 13 and the processing time Tcpu of the CPU_X (step S13f).

図9に示す負荷分散テーブル51の場合、画像補正の第3処理(ノイズ除去)について

(a)処理割合が1.00の場合のCPU13の処理時間Tcpuは75.97となり、
(b)処理割合が0.75の場合のCPU13の処理時間Tcpuは63.37となり、
(c)処理割合が0.50の場合のCPU13の処理時間Tcpuは50.78となり、
(d)処理割合が0.25の場合のCPU13の処理時間Tcpuは38.18となる。
In the case of the load distribution table 51 shown in FIG. 9, with respect to the third process of image correction (noise removal),
(A) The processing time Tcpu of the CPU 13 when the processing ratio is 1.00 is 75.97,
(B) The processing time Tcpu of the CPU 13 when the processing ratio is 0.75 is 63.37,
(C) The processing time Tcpu of the CPU 13 when the processing rate is 0.50 is 50.78,
(D) The processing time Tcpu of the CPU 13 when the processing ratio is 0.25 is 38.18.

また、画像補正の第3処理(ノイズ除去)をCPU12へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu12は176.73となり、
(b)処理割合が0.75のときの処理時間Tcpu12は138.85となり、
(c)処理割合が0.50のときの処理時間Tcpu12は100.96となり、
(d)処理割合が0.25のときの処理時間Tcpu12は63.08となる。
Also, when distributing the third image correction process (noise removal) to the CPU 12,
(A) The processing time Tcpu12 when the processing ratio is 1.00 is 176.73,
(B) The processing time Tcpu12 when the processing ratio is 0.75 is 138.85,
(C) The processing time Tcpu12 when the processing ratio is 0.50 is 100.96,
(D) The processing time Tcpu12 when the processing rate is 0.25 is 63.08.

また、画像補正の第3処理(ノイズ除去)をCPU14へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu14は237.22となり、
(b)処理割合が0.75のときの処理時間Tcpu14は183.62となり、
(c)処理割合が0.50のときの処理時間Tcpu14は130.02となり、
(d)処理割合が0.25のときの処理時間Tcpu14は76.41となる。
Further, when distributing the third process of image correction (noise removal) to the CPU 14,
(A) The processing time Tcpu14 when the processing rate is 1.00 is 237.22.
(B) The processing time Tcpu14 when the processing ratio is 0.75 is 183.62.
(C) The processing time Tcpu14 when the processing rate is 0.50 is 130.02,
(D) The processing time Tcpu14 when the processing ratio is 0.25 is 76.41.

また、画像補正の第3処理(ノイズ除去)をCPU15〜18へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu15〜18は76.41となり、
(b)処理割合が0.75のときの処理時間Tcpu15〜18は63.01となり、
(c)処理割合が0.50のときの処理時間Tcpu15〜18は49.61となり、
(d)処理割合が0.25のときの処理時間Tcpu15〜18は36.21となる。
なお、4つのCPU15〜18の処理時間は、CPU15〜18における1個のCPU
による処理時間の4分の1と計算される。
Further, when distributing the third process of image correction (noise removal) to the CPUs 15 to 18,
(A) The processing time Tcpu15 to 18 when the processing ratio is 1.00 is 76.41,
(B) The processing time Tcpu15 to 18 when the processing ratio is 0.75 is 63.01,
(C) The processing time Tcpu15 to 18 when the processing ratio is 0.50 is 49.61,
(D) The processing time Tcpu15 to 18 when the processing ratio is 0.25 is 36.21.
The processing time of the four CPUs 15 to 18 is one CPU in the CPUs 15 to 18.
Is calculated as one-fourth of the processing time.

したがって、CPU13の処理時間TcpuとCPU_Xの処理時間Tcpuの大きい
方の処理時間が最小となるCPU_Xおよび処理割合として、CPU15〜18、0.5
(CPU13の処理割合)および0.5(CPU15〜18の処理割合)が選択される。
そして、画像処理の第3処理についてのCPU12,14の処理割合は0とされる。
Therefore, the CPU_X and the processing ratio at which the processing time of the larger processing time Tcpu of the CPU 13 and the processing time Tcpu of the CPU_X becomes the minimum are the CPUs 15 to 18, 0.5.
(The processing ratio of the CPU 13) and 0.5 (the processing ratio of the CPUs 15 to 18) are selected.
The processing ratio of the CPUs 12 and 14 for the third image processing is 0.

そして、計算された処理割合で、処理時間Tcpu、平均処理時間Tav、およびCP
U毎の処理時間の偏差dTcpuが計算される(ステップS13g)。このとき、CPU
12〜14の処理時間Tcpuは、それぞれ、25.19、50.78、22.81とな
り、CPU15〜18の処理時間Tcpuは49.61となる。そして、平均処理時間T
avは37.10となり、処理時間Tcpuの最大値は50.78となる。また、CPU
12〜14の処理時間の偏差dTcpuは、それぞれ、−11.90、13.68、−1
4.29となり、CPU15〜18の処理時間の偏差dTcpuは12.51となる。
Then, at the calculated processing rate, the processing time Tcpu, the average processing time Tav, and CP
The deviation dTcpu of the processing time for each U is calculated (step S13g). At this time, CPU
The processing times Tcpu of 12 to 14 are 25.19, 50.78, and 22.81, respectively, and the processing times Tcpu of the CPUs 15 to 18 are 49.61. And average processing time T
Av is 37.10, and the maximum value of the processing time Tcpu is 50.78. CPU
The deviations dTcpu of the processing times of 12 to 14 are -11.90, 13.68, -1 respectively.
4.29, and the processing time deviation dTcpu of the CPUs 15 to 18 is 12.51.

そして、このときの処理時間Tcpuの最大値(=50.78)が、この時点の負荷分
散テーブル51(図9)の処理時間Tcpuの最大値(=75.97)より小さいため、
負荷分散テーブル51の更新処理は継続される(ステップS13h)。
Since the maximum value (= 50.78) of the processing time Tcpu at this time is smaller than the maximum value (= 75.97) of the processing time Tcpu of the load distribution table 51 (FIG. 9) at this time,
The update process of the load distribution table 51 is continued (step S13h).

そして、計算された処理割合、各処理部についての各処理種別の処理時間T、処理部毎
の処理時間Tcpu、その平均値Tavと最大値、および処理時間の偏差dTcpuで、
対応する負荷分散テーブル51の値が更新される(ステップS13i)。
The calculated processing ratio, processing time T for each processing type for each processing unit, processing time Tcpu for each processing unit, average value Tav and maximum value thereof, and processing time deviation dTcpu,
The value of the corresponding load distribution table 51 is updated (step S13i).

図9に示す負荷分散テーブル51に対して、ステップS13d,S13e,S13f,
S13g,S13iの処理を施したものが、図12に示す負荷分散テーブル51となる。
For the load distribution table 51 shown in FIG. 9, steps S13d, S13e, S13f,
What performed the process of S13g and S13i becomes the load distribution table 51 shown in FIG.

次に、ステップS13dに戻り、図12に示す負荷分散テーブル51については、CP
U_Aは、CPU13と特定され、CPU_Xは、CPU12、CPU14およびCPU
15〜18と特定され、PROC_Aは、画像補正の第2処理(シャープネス)と特定さ
れる。
Next, returning to step S13d, for the load distribution table 51 shown in FIG.
U_A is specified as CPU 13, and CPU_X is CPU 12, CPU 14, and CPU
15 to 18 are specified, and PROC_A is specified as the second image correction process (sharpness).

そして、同様にしてステップS13e,S13f,S13gの処理が実行され、その結
果として、処理時間Tcpuの最大値が49.49となる。
Similarly, the processes of steps S13e, S13f, and S13g are executed. As a result, the maximum value of the processing time Tcpu is 49.49.

そして、このときの処理時間Tcpuの最大値(=49.49)が、この時点の負荷分
散テーブル51(図12)の処理時間Tcpuの最大値(=50.78)より小さいため
、負荷分散テーブル51の更新処理は継続される(ステップS13h)。
Since the maximum value (= 49.49) of the processing time Tcpu at this time is smaller than the maximum value (= 50.78) of the processing time Tcpu of the load distribution table 51 (FIG. 12) at this time, the load distribution table The update process 51 is continued (step S13h).

そして、計算された処理割合、各処理種別の処理時間T、処理部毎の処理時間Tcpu
、その平均値Tavと最大値、および処理時間の偏差dTcpuで、対応する負荷分散テ
ーブル51の値が更新される(ステップS13i)。
Then, the calculated processing ratio, processing time T for each processing type, processing time Tcpu for each processing unit
Then, the corresponding value of the load distribution table 51 is updated with the average value Tav, the maximum value, and the processing time deviation dTcpu (step S13i).

図12に示す負荷分散テーブル51に対して、ステップS13d,S13e,S13f
,S13g,S13iの処理を施したものが、図13に示す負荷分散テーブル51となる
Steps S13d, S13e, and S13f are applied to the load distribution table 51 shown in FIG.
, S13g, and S13i are processed as a load distribution table 51 shown in FIG.

そして、図13に示す負荷分散テーブル51に対して、ステップS13d,S13e,
S13f,S13gの処理が実行され、その結果としての処理時間Tcpuの最大値が、
この時点の負荷分散テーブル51(図13)の処理時間Tcpuの最大値(=49.49
)より小さくならないため、負荷分散テーブル51の更新処理が終了される(ステップS
13h)。
And with respect to the load distribution table 51 shown in FIG. 13, steps S13d, S13e,
The processes of S13f and S13g are executed, and the maximum value of the resulting processing time Tcpu is
The maximum value (= 49.49) of the processing time Tcpu of the load distribution table 51 (FIG. 13) at this time
), The update process of the load distribution table 51 is terminated (step S).
13h).

この例では、このようにして、図9に示す負荷分散テーブル51は、図8に示す処理能
力テーブル52の処理能力情報に応じてCPU12〜CPU18の負荷が均一に近づくよ
うに、図13に示す負荷分散テーブル51に更新される。
In this example, the load distribution table 51 shown in FIG. 9 is shown in FIG. 13 so that the loads of the CPUs 12 to 18 are uniformly approached according to the processing ability information in the processing ability table 52 shown in FIG. Updated to the load distribution table 51.

以上のように、上記実施の形態1に係る画像処理装置は、同一領域の画像データに対し
て複数種別の画像処理を順番に施す複数の処理部としてのCPU12〜18と、画像処理
の各種別について1または複数の処理部への分散割合を有し初期値としてデフォルトの分
散割合を有する負荷分散テーブル51と、画像処理の開始後に各画像処理の分散割合を計
算し更新する分散割合更新手段としてのCPU12と、一度も更新されていない分散割合
についてはデフォルトの分散割合を使用して、1種別の画像処理について、その画像処理
を2以上の処理部に分散してそれぞれ実行させる開始処理手段としてのCPU12〜14
とを備える。
As described above, the image processing apparatus according to the first embodiment includes the CPUs 12 to 18 as a plurality of processing units that sequentially perform a plurality of types of image processing on image data in the same region, and various types of image processing. A load distribution table 51 having a distribution ratio to one or a plurality of processing units and having a default distribution ratio as an initial value, and a distribution ratio updating unit that calculates and updates the distribution ratio of each image processing after the start of image processing As a start processing means for distributing the image processing to two or more processing units for one type of image processing using the default distribution ratio for the distribution ratio that has never been updated. CPU 12-14
With.

これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が3以上であっても適切に負荷分散を行うことができる。
Thereby, load distribution can be appropriately performed from the beginning of processing to a plurality of processing units,
Furthermore, even when there are three or more processing units, load distribution can be performed appropriately.

また、上記実施の形態1に係る画像処理装置は、さらに、複数の処理部のそれぞれの処
理能力値を格納する処理能力テーブル52bと、複数の処理部のそれぞれの処理能力値の
デフォルト値を格納するデフォルト処理能力テーブル52aと、複数の処理部のそれぞれ
による所定量の画像データに対する処理時間に基づいて処理能力テーブルの処理能力値を
更新する処理能力テーブル更新手段としてのCPU12〜18を備える。そして、分散割
合更新手段としてのCPU12は、処理能力テーブル52bを優先的に参照して、処理能
力テーブル52bおよびデフォルト処理能力テーブル52aに基づいて各画像処理の分散
割合を計算し負荷分散テーブル51に設定する。
The image processing apparatus according to Embodiment 1 further stores a processing capability table 52b that stores the processing capability values of the plurality of processing units, and a default value of the processing capability values of the plurality of processing units. And a CPU 12-18 as processing capacity table updating means for updating the processing capacity value of the processing capacity table based on the processing time for a predetermined amount of image data by each of the plurality of processing units. Then, the CPU 12 as the distribution ratio update means refers to the processing capacity table 52b preferentially, calculates the distribution ratio of each image processing based on the processing capacity table 52b and the default processing capacity table 52a, and stores it in the load distribution table 51. Set.

これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が3以上であ
っても適切に負荷分散を行うことができる。
As a result, it is possible to perform load distribution appropriately for the plurality of processing units from the beginning of the processing and dynamically corresponding to the load that fluctuates according to the contents of the image data, and the number of processing units is three or more. However, load distribution can be performed appropriately.

また、上記実施の形態1では、処理能力テーブル52について、1ラインまたは1バン
ドごとの処理時間および処理画素数に基づいて処理能力値が更新される。
In the first embodiment, the processing capability value is updated in the processing capability table 52 based on the processing time and the number of processing pixels for each line or band.

これにより、実際の画像データを処理している際の処理能力値を取得して分散割合に反
映されるため、個々の画像データに対する画像処理の各種別の計算量に対応して、正確な
負荷分散が可能となる。
As a result, the processing capability value at the time of processing the actual image data is acquired and reflected in the distribution ratio. Therefore, an accurate load corresponding to the calculation amount for each type of image processing for each image data is obtained. Dispersion is possible.

また、上記実施の形態1では、処理能力テーブル52は、複数の処理部(CPU12〜
18)のそれぞれについて複数種別の画像処理の種別ごとに、処理能力値を有する。
In the first embodiment, the processing capacity table 52 includes a plurality of processing units (CPUs 12 to 12).
Each of (18) has a processing capability value for each of a plurality of types of image processing.

これにより、例えば処理部が所定の種別の画像処理に対してのみ最適化されているよう
な場合でも、正確な処理能力値を得ることができ、ひいては正確な負荷分散を行うことが
できる。
As a result, for example, even when the processing unit is optimized only for a predetermined type of image processing, an accurate processing capability value can be obtained, and thus accurate load distribution can be performed.

また、上記実施の形態1では、分散割合を設定した後、複数種別のうち1ラインまたは
1バンド分の処理時間が最も遅い種別の画像処理が完了すると、再度、分散割合決定処理
61において分散割合が設定される。
In the first embodiment, after setting the distribution ratio, when the image processing of the type with the slowest processing time for one line or one band among a plurality of types is completed, the distribution ratio determination processing 61 again performs the distribution ratio. Is set.

これにより、すべての処理部が少なくとも1ラインまたは1バンド分の処理を実行して
から分散割合が設定されるため、各時点での処理能力値を反映した適切な分散割合を設定
することができる。
Thereby, since all the processing units execute processing for at least one line or one band and the distribution ratio is set, an appropriate distribution ratio reflecting the processing capability value at each time point can be set. .

実施の形態2.
本発明の実施の形態2に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、JPEGデコードの開始処理62aおよび個別処理63a,
63eについては以下のように実行する。
Embodiment 2. FIG.
The image processing apparatus according to the second embodiment of the present invention has the same configuration and functions as the image processing apparatuses according to the other embodiments, and includes a JPEG decoding start process 62a and individual processes 63a,
63e is executed as follows.

本実施の形態2においても、図7に示すように、JPEGデコード開始処理62aは、
CPU12により実行される。開始処理62aでは、JPEGデコード個別処理(63a
,63e)は、1または2の処理部に割り当てられる。
Also in the second embodiment, as shown in FIG.
It is executed by the CPU 12. In the start process 62a, the JPEG decode individual process (63a
, 63e) are assigned to one or two processing units.

また、JPEGデコード個別処理(63a,63e)は、1つの処理部で実行する場合
にはCPU12に割り当てられ、2つの処理部で実行する場合には、CPU12と、CP
U13、CPU14およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テ
ーブル51の分散割合に基づいて割り当てられる。
Further, the JPEG decode individual processing (63a, 63e) is assigned to the CPU 12 when executed by one processing unit, and is executed by the CPU 12 and the CP when executed by two processing units.
It is assigned to any one of U13, CPU 14 and CPUs 15-18 (CPU_X) based on the distribution ratio of the load distribution table 51.

図14は、実施の形態2におけるJPEGデコード開始処理62aを説明するフローチ
ャートである。
FIG. 14 is a flowchart for explaining the JPEG decoding start process 62a in the second embodiment.

JPEGデコード開始処理62aでは、CPU12は、まず、4×N個のMCU分のJ
PEGデータをメモリカード3のJPEGファイル3aから外部RAM2へ読み込む(ス
テップS21)。
In the JPEG decoding start process 62a, the CPU 12 first determines J for 4 × N MCUs.
PEG data is read from the JPEG file 3a of the memory card 3 into the external RAM 2 (step S21).

なお、MCUは、デコードの最小単位であり、この実施の形態2では、処理割合が0.
25(=4分の1)の倍数のいずれかに設定されるので、分散処理のデータ最小単位をM
CUとするために、4の倍数(4×N)個のMCU分のデータが1度に読み込まれる。ま
た、Nは、分散に起因して発生するオーバヘッド(処理を分割することにより発生する計
算量の増加、通信量の増加などによる処理の遅延)が無視できる程度大きな数であって、
4×NがJPEGデータの横方向におけるMCUの数より小さくなるような数である。例
えば、N=10とされる。
Note that the MCU is the minimum unit of decoding. In the second embodiment, the processing rate is 0.00.
Since it is set to one of multiples of 25 (= 1/4), the minimum data unit of distributed processing is M
In order to obtain a CU, data for multiples of 4 (4 × N) MCUs are read at a time. N is a number that is so large that the overhead caused by the distribution (an increase in the amount of calculation generated by dividing the processing, a processing delay due to an increase in the communication amount, etc.) can be ignored,
4 × N is a number that is smaller than the number of MCUs in the horizontal direction of the JPEG data. For example, N = 10.

次に、CPU12は、読み込んだ4×N個のMCUのDC成分を抽出する(ステップS
22)。
Next, the CPU 12 extracts the DC components of the read 4 × N MCUs (step S).
22).

そして、CPU12は、負荷分散テーブル51におけるJPEGデコードについてのC
PU12の処理割合の値を読み出し、その値が1であるか否かに基づいて、JPEGデコ
ードを2つの処理部で分散処理するか否かを判定する(ステップS23)。なお、CPU
12は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合
の値が1未満である場合には分散処理をすると判定する。
Then, the CPU 12 performs C for JPEG decoding in the load distribution table 51.
The processing ratio value of the PU 12 is read, and based on whether the value is 1 or not, it is determined whether or not the JPEG decoding is distributed by the two processing units (step S23). CPU
12 determines that the distributed processing is not performed when the value of the processing ratio is 1, and determines that the distributed processing is performed when the value of the processing ratio is less than 1.

JPEGデコードを2つの処理部で分散処理すると判定した場合、CPU12以外のC
PU_Xへ分散処理を与える処理が実行される。
If it is determined that JPEG decoding is distributed by two processing units, a C other than the CPU 12
A process of giving distributed processing to PU_X is executed.

その際、CPU12は、今回の4×N個のMCUが画像データの1バンドの先頭部分(
左端部分)ではない場合には、前回CPU12以外のCPU_Xに割り当てた個別処理が
完了するまで待機する(ステップS24,S25)。一方、今回の4×N個のMCUが画
像データの1バンドの先頭部分である場合には、CPU12は、そのような待機はせず、
直ちに次の処理へ移行する。
At that time, the CPU 12 determines that the current 4 × N MCUs are the first part of one band of image data (
If it is not the leftmost part), the process waits until the individual processing assigned to the CPU_X other than the previous CPU 12 is completed (steps S24 and S25). On the other hand, if the current 4 × N MCUs are the head part of one band of image data, the CPU 12 does not wait as such,
Immediately proceed to the next process.

次に、CPU12は、負荷分散テーブル51におけるJPEGデコードについてのCP
U12以外のCPU13〜18の処理割合の値が0以外であるCPUをCPU_Xとし、
処理種別、そのCPU_Xの処理割合分のMCUデータ、そのDC成分、および計算結果
の出力先アドレス(外部RAM2内の計算結果の格納領域のアドレス)を、デュアルポー
トRAM21に書き込む(ステップS26)。
Next, the CPU 12 determines the CP for JPEG decoding in the load distribution table 51.
CPU_X is a CPU whose processing ratio value other than U12 is other than 0,
The processing type, the MCU data for the processing ratio of the CPU_X, the DC component, and the output destination address of the calculation result (the address of the calculation result storage area in the external RAM 2) are written in the dual port RAM 21 (step S26).

例えば、分散割合が3:1である場合には、3×N個のMCU分のデータが、CPU1
2に割り当てられ、N個のMCU分のデータが、CPU_Xに割り当てられる。
For example, when the distribution ratio is 3: 1, data for 3 × N MCUs is stored in the CPU 1.
2, data for N MCUs is assigned to CPU_X.

そして、CPU12は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63e
をCPU_Xに依頼する(ステップS27)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM21の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分のMCUデータ、そのDC成分および計算結果の出力
先アドレスを、デュアルポートRAM21から読み込む。
Then, the CPU 12 interrupts the CPU_X, and the individual processing 63e corresponding to the processing ratio.
Is requested to CPU_X (step S27). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the CPUs 11 to 18. Further, the CPU_X that has received the interrupt indicates the MCU data corresponding to the processing rate of the CPU_X, the DC component thereof, and the output destination address of the calculation result according to the processing type stored in the predetermined area of the dual port RAM 21. Read from.

このようにして、ステップS24〜S27の処理により、CPU12以外のCPU_X
へ分散処理が与えられる。一方、ステップS23においてJPEGデコードを分散処理し
ないと判定された場合には、ステップS24〜S27の処理はスキップされる。
In this way, the CPU_X other than the CPU 12 is obtained by the processes in steps S24 to S27.
Distributed processing is given. On the other hand, if it is determined in step S23 that JPEG decoding is not distributed, the processes in steps S24 to S27 are skipped.

そして、CPU12は、分散処理の場合には、4×N個のうちの処理割合分のMCUに
対するJPEGデコード個別処理63aを実行し、分散処理をしない場合には、4×N個
のMCUに対するJPEGデコード個別処理63aを実行する(ステップS28)。CP
U12は、JPEGデコード個別処理63aを実行する場合、関数コールにより、JPE
Gデコード個別処理63aの関数やルーチンを呼び出して実行する。なお、CPU12に
割り当てられた処理割合分のMCUデータ、そのDC成分、および計算結果の出力先アド
レスは、一旦、デュアルポートRAM21および/またはCPU12のデータRAM33
6に書き込まれ、個別処理63aの際に使用される。
Then, in the case of distributed processing, the CPU 12 executes JPEG decoding individual processing 63a for MCUs corresponding to the processing ratio of 4 × N, and when not performing distributed processing, the CPU 12 executes JPEG for 4 × N MCUs. The individual decoding process 63a is executed (step S28). CP
When the U12 executes the JPEG decoding individual processing 63a, the function call causes JPE
A function or routine of the G decode individual processing 63a is called and executed. The MCU data for the processing ratio allocated to the CPU 12, its DC component, and the output destination address of the calculation result are temporarily stored in the dual port RAM 21 and / or the data RAM 33 of the CPU 12.
6 and used for the individual processing 63a.

このようにして、4×N個のMCU分のJPEGデータのデコードが実行される。そし
て、画像データが終了するまで、ステップS21〜S28の処理が繰り返される(ステッ
プS29)。
In this way, decoding of JPEG data for 4 × N MCUs is executed. Then, the processes in steps S21 to S28 are repeated until the image data is completed (step S29).

図15は、実施の形態2におけるJPEGデコード個別処理63a,63eを説明する
フローチャートである。JPEGデコード個別処理63aは、CPU12により実行され
、JPEGデコード個別処理63eは、CPU12以外のCPU_Xにより実行される。
CPU12は、専用命令を含むプログラム41sを実行し、CPU_Xは、専用命令を含
まないプログラム41gを実行するが、両者の処理の流れは、同一である。ただし、専用
命令を使用した場合のほうが演算速度が高い。
FIG. 15 is a flowchart for explaining JPEG decoding individual processing 63a and 63e in the second embodiment. The JPEG individual decoding process 63a is executed by the CPU 12, and the JPEG individual decoding process 63e is executed by a CPU_X other than the CPU 12.
The CPU 12 executes a program 41s that includes a dedicated command, and the CPU_X executes a program 41g that does not include a dedicated command, but the processing flow of both is the same. However, the calculation speed is higher when dedicated instructions are used.

CPU12は、個別処理63aの開始時のCPUタイマの値Tsを保存した後(ステッ
プS31)、処理割合分のJPEGデータをそのDC成分に基づいてデコードし(ステッ
プS32)、そのデコードが完了すると、その時のCPUタイマの値Teを検出し(ステ
ップS33)、両者の差(Te−Ts)を計測時間として、合計処理時間データに累積加
算し、デコードした画素数を合計処理画素数データに累積加算する(ステップS34)。
なお、合計処理時間データおよび合計処理画素数データは、処理に要した時間および処理
の完了した画素数を集計するためのデータである。これらのデータの初期値は0とされる
After storing the CPU timer value Ts at the start of the individual processing 63a (step S31), the CPU 12 decodes the JPEG data for the processing ratio based on the DC component (step S32), and when the decoding is completed, The CPU timer value Te at that time is detected (step S33), the difference (Te−Ts) between the two is used as the measurement time, and is added cumulatively to the total processing time data, and the decoded number of pixels is cumulatively added to the total processing pixel number data. (Step S34).
The total processing time data and the total processing pixel number data are data for totaling the time required for processing and the number of pixels for which processing has been completed. The initial values of these data are 0.

そして、CPU12は、今回の処理が1バンド内の最後の処理であるか否かを判定する
(ステップS35)。この判定については、例えば、今回の個別処理63a,63eが1
バンド内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理62
aにおいて設定しそのデータに基づいて各個別処理63a,63eで判定するようにすれ
ばよい。
Then, the CPU 12 determines whether or not the current process is the last process in one band (step S35). For this determination, for example, the current individual processing 63a, 63e is 1
Data indicating whether or not this is the last process in the band is started together with other parameters.
What is necessary is just to make it determine by each separate process 63a, 63e based on the data set in a.

CPU12は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データをJPEG処理時間データとし、合計画素数データをJPEG処理画素数
データとして、処理能力テーブル52における、JPEGデコードについてのCPU12
の処理能力情報を更新する(ステップS36)。このとき、処理能力情報としては、JP
EG処理画素数データをJPEG処理時間データで除算した処理速度などが使用される。
更新後、ローカルデータである合計処理時間データおよび合計画素数データは、0にリセ
ットされる(ステップS37)。
If the CPU 12 determines that the current process is the last process in one band, the total processing time data is JPEG processing time data, the total pixel number data is JPEG processing pixel number data, and the processing capability table 52 CPU12 for JPEG decoding
Is updated (step S36). At this time, as processing capability information, JP
A processing speed obtained by dividing the EG processing pixel number data by the JPEG processing time data is used.
After the update, the total processing time data and the total pixel number data, which are local data, are reset to 0 (step S37).

また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についてのJPEGデコード個別処理63aの際に収集された処理能力情報で
、処理能力テーブル52におけるJPEGデコードについてのCPU12の処理能力情報
が更新される。
In addition, in this way, the processing capability information collected during the JPEG decoding individual processing 63a for the processing ratio of the image data for one band for each processing of one band, the JPEG in the processing capability table 52 The processing capacity information of the CPU 12 regarding the decoding is updated.

なお、分散処理の場合には、CPU12とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU12の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についてのJPEGデコード個別処理63
eの際に収集された処理能力情報で、処理能力テーブル52におけるJPEGデコードに
ついてのCPU_Xの処理能力情報が更新される。
In the case of distributed processing, the CPU 12 and CPU_X execute the above-described processing. Therefore, in addition to the processing capability information of the CPU 12, in the case of distributed processing, JPEG decoding individual processing 63 for the processing ratio of image data for one band for each processing of one band.
The processing capability information of CPU_X for JPEG decoding in the processing capability table 52 is updated with the processing capability information collected during e.

このように、JPEGデコード個別処理63a,63eでは、処理割合分のJPEGデ
コードの他、処理時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル
52の更新が行われる。
As described above, in the JPEG decoding individual processing 63a and 63e, in addition to JPEG decoding corresponding to the processing ratio, the processing time and the number of processing pixels are totaled, and the processing capability table 52 for each band is updated.

以上のように、上記実施の形態2によれば、JPEGデコード開始処理62aおよびJ
PEGデコード個別処理63a,63eが効率良く実行される。
As described above, according to the second embodiment, JPEG decoding start processing 62a and J
The individual PEG decoding processes 63a and 63e are executed efficiently.

実施の形態3.
本発明の実施の形態3に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、画像補正の開始処理および個別処理については以下のように
実行する。
Embodiment 3 FIG.
The image processing apparatus according to the third embodiment of the present invention has the same configuration and functions as the image processing apparatuses according to the other embodiments, and the image correction start process and the individual process are executed as follows. .

本実施の形態3においても、図7に示すように、画像補正開始処理62bは、CPU1
3により実行される。画像補正開始処理62bでは、第1処理(トーン調整および彩度強
調)、第2処理(シャープネス)、および第3処理(ノイズ除去)のそれぞれについて、
分散するか否かが決定され、第1処理〜第3処理のそれぞれについて、1または2の処理
部に画像補正個別処理(63b,63f)が割り当てられる。
Also in the third embodiment, as shown in FIG.
3 is executed. In the image correction start process 62b, for each of the first process (tone adjustment and saturation enhancement), the second process (sharpness), and the third process (noise removal),
Whether or not to distribute is determined, and for each of the first to third processes, the image correction individual processes (63b, 63f) are assigned to one or two processing units.

また、画像補正個別処理(63b,63f)は、1つの処理部で実行する場合にはCP
U13に割り当てられ、2つの処理部で実行する場合には、CPU13と、CPU12、
CPU14およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テーブル5
1の分散割合に基づいて割り当てられる。
In addition, when the image correction individual processing (63b, 63f) is executed by one processing unit, CP
When assigned to U13 and executed by two processing units, CPU13, CPU12,
The load distribution table 5 is connected to any one of the CPU 14 and the CPUs 15 to 18 (CPU_X).
Allocation is based on a distribution ratio of 1.

画像補正開始処理62bでは、CPU13は、画像補正の第3処理、第1処理、第2処
理の順番で、1ラインの画像データずつ画像補正個別処理63b,63fを実行させる。
なお、画像補正の第2処理および第3処理を実行するか否かは、ユーザの設定に応じて判
定される。つまり、第x処理(x=1,2,3)について、1ラインずつ分散処理するか
否かが判定され、処理割合に応じて、CPU13、または、CPU13とCPU_Xの2
つにより、画像補正個別処理(63b,63f)が実行される。
In the image correction start process 62b, the CPU 13 causes the image correction individual processes 63b and 63f to be executed for each line of image data in the order of the third process of image correction, the first process, and the second process.
Whether or not to execute the second process and the third process of image correction is determined according to a user setting. That is, for the x-th process (x = 1, 2, 3), it is determined whether or not the distributed process is performed line by line. Depending on the processing ratio, CPU 13 or CPU 13 and CPU_X 2 are determined.
Thus, the individual image correction process (63b, 63f) is executed.

図16は、実施の形態3における画像補正開始処理62bを説明するフローチャートで
ある。また、図17は、図16における第x処理(x=1,2,3)の1ライン処理を説
明するフローチャートである。
FIG. 16 is a flowchart for explaining the image correction start processing 62b in the third embodiment. FIG. 17 is a flowchart for explaining one-line processing of the x-th processing (x = 1, 2, 3) in FIG.

まず、CPU13は、ユーザの設定に基づいて、第3処理(ノイズ除去)を実行するか
否かを判定し(ステップS41)、第3処理を実行する場合には、第3処理の1ライン処
理を実行する(ステップS42)。一方、第3処理(ノイズ除去)を実行しない場合には
、ステップS42はスキップする。
First, the CPU 13 determines whether or not to execute the third process (noise removal) based on the user setting (step S41). When the third process is executed, the one-line process of the third process is performed. Is executed (step S42). On the other hand, if the third process (noise removal) is not executed, step S42 is skipped.

次に、CPU13は、第1処理(トーン調整および彩度強調)の1ライン処理を実行す
る(ステップS43)。
Next, the CPU 13 executes a one-line process of the first process (tone adjustment and saturation enhancement) (step S43).

そして、第1処理が完了すると、CPU13は、ユーザの設定に基づいて、第2処理(
シャープネス)の1ライン処理を実行するか否かを判定し(ステップS44)、第2処理
を実行する場合には、第2処理の1ライン処理を実行する(ステップS45)。一方、第
2処理(シャープネス)を実行しない場合には、ステップS45はスキップする。
Then, when the first process is completed, the CPU 13 performs the second process (
It is determined whether or not the one-line process of sharpness is to be executed (step S44). When the second process is executed, the one-line process of the second process is executed (step S45). On the other hand, if the second process (sharpness) is not executed, step S45 is skipped.

このように、JPEGデコード後の画像データについて、1ラインずつ順番に画像補正
が実行され、すべての画像データについて画像補正が実行されるまで、ステップS41〜
S45の処理が繰り返し実行される(ステップS46)。
As described above, the image correction is performed on the image data after JPEG decoding one line at a time until the image correction is performed on all the image data.
The process of S45 is repeatedly executed (step S46).

ここで、図17を参照してステップS42,S43,S45の第x処理の1ライン処理
について説明する。なお、第1処理、第2処理および第3処理は、同様の手順で実行され
る。ただし、各画素に施される演算(後述のステップS62)は、処理種別に応じて異な
る。
Here, the one-line process of the x-th process in steps S42, S43, and S45 will be described with reference to FIG. The first process, the second process, and the third process are executed in the same procedure. However, the calculation performed on each pixel (step S62 described later) varies depending on the processing type.

第x処理の1ライン処理では、CPU13は、まず、負荷分散テーブル51における画
像補正の第x処理についてのCPU13の処理割合の値を読み出し、その値が1であるか
否かに基づいて、画像補正を2つの処理部で分散処理するか否かを判定する(ステップS
51)。なお、CPU13は、この処理割合の値が1である場合には分散処理をしないと
判定し、この処理割合の値が1未満である場合には分散処理をすると判定する。
In the one-line process of the x-th process, the CPU 13 first reads the value of the processing ratio of the CPU 13 for the x-th process of the image correction in the load distribution table 51, and determines whether the value is 1 or not. It is determined whether or not the correction is distributed by the two processing units (step S).
51). The CPU 13 determines that the distributed processing is not performed when the value of the processing ratio is 1, and determines that the distributed processing is performed when the value of the processing ratio is less than 1.

画像補正の第x処理を2つの処理部で分散処理すると判定した場合、CPU13以外の
CPU_Xへ分散処理を与える処理が実行される。
When it is determined that the x-th process of image correction is distributed by the two processing units, a process of giving the distributed process to the CPU_X other than the CPU 13 is executed.

その際、CPU13は、負荷分散テーブル51における画像補正の第x処理についての
CPU13以外のCPU12,14〜18の処理割合の値が0以外である処理部をCPU
_Xとし、処理対象となる1ライン分の画像データを分散割合で分割し、各処理割合分に
応じた画像データをCPU13およびCPU_Xに割り当てる(ステップS52)。
At this time, the CPU 13 assigns a processing unit whose CPU 12 and 14 to 18 other than the CPU 13 with respect to the x-th process of image correction in the load distribution table 51 have a value other than 0 to the CPU.
_X, image data for one line to be processed is divided at a distribution ratio, and image data corresponding to each processing ratio is assigned to the CPU 13 and CPU_X (step S52).

例えば、分散割合が3:1である場合には、1ラインの先頭から横幅画素数の4分の3
の画素領域がCPU13に割り当てられ、残りの4分の1の画素領域がCPU_Xに割り
当てられる。
For example, when the dispersion ratio is 3: 1, 3/4 of the number of horizontal pixels from the head of one line.
Are assigned to the CPU 13, and the remaining quarter of the pixel area is assigned to the CPU_X.

そして、CPU13は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のJPEGデコード後の画像データの格納領域のアドレス)を、デ
ュアルポートRAM21に書き込む(ステップS53)。
Then, the CPU 13 writes the start address (image data storage area address after JPEG decoding in the external RAM 2) corresponding to the processing type and the processing ratio of the CPU_X to the dual port RAM 21 (step S53).

そして、CPU13は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63f
をCPU_Xに依頼する(ステップS54)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM21の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M21から読み込む。
Then, the CPU 13 interrupts the CPU_X and performs individual processing 63f corresponding to the processing ratio.
Is requested to CPU_X (step S54). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the CPUs 11 to 18. Further, the CPU_X that has received the interrupt sets the start address of the image data corresponding to the processing rate of the CPU_X to the dual port RA according to the processing type stored in a predetermined area of the dual port RAM 21.
Read from M21.

このようにして、ステップS52〜S54の処理により、CPU13以外のCPU_X
へ分散処理が与えられる。一方、ステップS51において画像補正の第x処理を分散処理
しないと判定された場合には、ステップS52〜S54の処理はスキップされる。
In this way, the CPU_X other than the CPU 13 is obtained by the processes in steps S52 to S54.
Distributed processing is given. On the other hand, if it is determined in step S51 that the image correction x-th process is not distributed, the processes in steps S52 to S54 are skipped.

そして、CPU13は、分散処理の場合には、1ライン分の画像データのうちの処理割
合分の画像データに対する画像補正の第x処理の個別処理63bを実行し、分散処理をし
ない場合には、1ライン分の画像データに対する画像補正の第x処理の個別処理63bを
実行する(ステップS55)。CPU13は、個別処理63bを実行する場合、関数コー
ルにより、個別処理63bの関数やルーチンを呼び出して実行する。
Then, in the case of distributed processing, the CPU 13 executes the individual process 63b of the x-th process of image correction for the image data corresponding to the processing ratio of the image data for one line, and when not performing distributed processing, The individual process 63b of the x-th process of the image correction for the image data for one line is executed (step S55). When executing the individual process 63b, the CPU 13 calls and executes a function or routine of the individual process 63b by a function call.

CPU13は、今回の1ライン処理を分散処理しているか否かを判定し(ステップS5
6)、分散処理していない場合には、画像補正の第x処理の個別処理63bが完了すると
1ライン処理を終了する。一方、分散処理をしている場合には、CPU13は、画像補正
の第x処理の個別処理63bの完了後、CPU_Xによる第x処理の個別処理63fの完
了まで待機し(ステップS57)、CPU_Xによる第x処理の個別処理63fが完了す
ると1ライン処理を終了する。
The CPU 13 determines whether or not the current one-line process is distributed (step S5).
6) When the distributed processing is not performed, the one-line processing is ended when the individual processing 63b of the x-th processing of the image correction is completed. On the other hand, when the distributed processing is performed, the CPU 13 waits until the completion of the individual process 63f of the x-th process by the CPU_X after the completion of the individual process 63b of the x-th process of image correction (Step S57). When the individual process 63f of the x-th process is completed, the one-line process ends.

このようにして、1ライン分の画像データに対して画像補正の第x処理が実行される。   In this way, the x-th process of image correction is executed on the image data for one line.

図18は、実施の形態3における画像補正個別処理63b,63fを説明するフローチ
ャートである。第1処理〜第3処理についての画像補正個別処理63bは、CPU13に
より実行され、第1処理〜第3処理についての画像補正個別処理63fは、CPU13以
外のCPU_Xにより実行される。CPU13は、専用命令を含むプログラム42sを実
行し、CPU_Xは、専用命令を含まないプログラム42gを実行するが、両者の処理の
流れは、同一である。ただし、専用命令を使用した場合のほうが演算速度が高い。
FIG. 18 is a flowchart for explaining the individual image correction processes 63b and 63f in the third embodiment. The image correction individual process 63b for the first process to the third process is executed by the CPU 13, and the image correction individual process 63f for the first process to the third process is executed by a CPU_X other than the CPU 13. The CPU 13 executes a program 42s that includes a dedicated instruction, and the CPU_X executes a program 42g that does not include a dedicated instruction, but the processing flow of both is the same. However, the calculation speed is higher when dedicated instructions are used.

CPU13は、個別処理63bの開始時のCPUタイマの値Tsを保存した後(ステッ
プS61)、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して第x処理の演算を施し(ステップS62
)、その演算が完了すると、その時のCPUタイマの値Teを検出し(ステップS63)
、両者の差(Te−Ts)を計測時間とする。
After saving the CPU timer value Ts at the start of the individual process 63b (step S61), the CPU 13 specifies the image data to be processed based on the start address of the data to be processed, and image data corresponding to the processing ratio. The x-th processing is performed on each of the pixels (step S62).
When the calculation is completed, the CPU timer value Te at that time is detected (step S63).
The difference between them (Te−Ts) is taken as the measurement time.

そして、CPU13は、その計測時間を第x処理についての画像補正処理時間データと
し、処理した画素数を第x処理についての画像補正処理画素数データとして、処理能力テ
ーブル52における、画像補正の第x処理についてのCPU13の処理能力情報を更新す
る(ステップS64)。このとき、処理能力情報としては、画像補正処理画素数データを
画像補正処理時間データで除算した処理速度などが使用される。
Then, the CPU 13 sets the measurement time as the image correction processing time data for the x-th process, and sets the number of processed pixels as the image correction processing pixel number data for the x-th process. The processing capability information of the CPU 13 regarding the processing is updated (step S64). At this time, as the processing capability information, a processing speed obtained by dividing the image correction processing pixel number data by the image correction processing time data is used.

このようにすることにより、1ラインの処理ごとに、1ライン分の画像データの処理割
合分についての画像補正個別処理63bの際に収集された処理能力情報で、処理能力テー
ブル52における画像補正についてのCPU13の処理能力情報が更新される。
By doing so, the processing capability information collected during the image correction individual processing 63b for the processing ratio of the image data for one line for each processing of one line, the image correction in the processing capability table 52 is performed. The processing capability information of the CPU 13 is updated.

なお、分散処理の場合には、CPU13とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU13の処理能力情報の他、分散処理の場合には、1ラインの処理
ごとに、1ライン分の画像データの処理割合分についての画像補正個別処理63fの際に
収集された処理能力情報で、処理能力テーブル52における画像補正についてのCPU_
Xの処理能力情報が更新される。
In the case of distributed processing, the CPU 13 and CPU_X execute the above-described processing. Therefore, in addition to the processing capability information of the CPU 13, in the case of distributed processing, processing capability information collected during the image correction individual processing 63f for the processing ratio of image data for one line for each processing of one line. CPU__ for image correction in the processing capacity table 52
The processing capacity information of X is updated.

このように、第x処理についての画像補正個別処理(63b,63f)では、処理割合
分の第x処理の他、処理時間および処理画素数の計測、並びに1ラインごとの処理能力テ
ーブル52の更新が行われる。
As described above, in the image correction individual processing (63b, 63f) for the x-th processing, in addition to the x-th processing corresponding to the processing ratio, the processing time and the number of processing pixels are measured, and the processing capacity table 52 is updated for each line. Is done.

以上のように、上記実施の形態3によれば、画像補正開始処理62bおよび画像補正個
別処理63b,63fが効率良く実行される。
As described above, according to the third embodiment, the image correction start process 62b and the image correction individual processes 63b and 63f are efficiently executed.

実施の形態4.
本発明の実施の形態4に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、色変換およびハーフトーンの開始処理62c,62dおよび
個別処理63c,63g,63d,63hについては以下のように実行する。
Embodiment 4 FIG.
The image processing apparatus according to the fourth embodiment of the present invention has the same configuration and functions as the image processing apparatuses according to the other embodiments, and includes color conversion and halftone start processes 62c and 62d and individual processes 63c, The steps 63g, 63d, and 63h are executed as follows.

本実施の形態4においても、図7に示すように、色変換開始処理62cは、CPU14
により実行される。色変換個別処理(63c,63g)は、1または2の処理部に割り当
てられる。
Also in the fourth embodiment, as shown in FIG. 7, the color conversion start processing 62 c is performed by the CPU 14.
It is executed by. The color conversion individual processing (63c, 63g) is assigned to one or two processing units.

また、色変換個別処理(63c,63g)は、1つの処理部で実行する場合にはCPU
14に割り当てられ、2つの処理部で実行する場合には、CPU14と、CPU12、C
PU13およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テーブル51
の分散割合に基づいて割り当てられる。
The color conversion individual processing (63c, 63g) is executed by a CPU when executed by one processing unit.
14, the CPU 14 and the CPU 12, C
The load distribution table 51 is connected to any one of the PU 13 and the CPUs 15 to 18 (CPU_X).
Assigned based on the distribution ratio.

さらに、本実施の形態4では、ハーフトーン開始処理62dが、CPU14により色変
換開始処理62cにおいて実行される。ハーフトーン個別処理(63d,63h)は、1
または2の処理部に割り当てられる。
Further, in the fourth embodiment, the halftone start process 62d is executed by the CPU 14 in the color conversion start process 62c. Halftone individual processing (63d, 63h) is 1
Alternatively, it is assigned to the second processing unit.

また、ハーフトーン個別処理(63d,63h)は、1つの処理部で実行する場合には
CPU15〜18の4CPUに割り当てられ、2つの処理部で実行する場合には、CPU
15〜18と、CPU12〜14のいずれか(CPU_X)の合計5CPUに、負荷分散
テーブル51の分散割合に基づいて割り当てられる。
The halftone individual processing (63d, 63h) is assigned to 4 CPUs 15 to 18 when executed by one processing unit, and the CPU is executed when executed by two processing units.
15 to 18 and any of CPUs 12 to 14 (CPU_X) are allocated to a total of 5 CPUs based on the distribution ratio of the load distribution table 51.

図19は、実施の形態4における色変換開始処理62cを説明するフローチャートであ
る。
FIG. 19 is a flowchart for explaining the color conversion start processing 62c in the fourth embodiment.

色変換開始処理62cでは、CPU14は、負荷分散テーブル51における色変換につ
いてのCPU14の処理割合の値を読み出し、その値が1であるか否かに基づいて、色変
換を2つの処理部で分散処理するか否かを判定する(ステップS71)。なお、CPU1
4は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の
値が1未満である場合には分散処理をすると判定する。
In the color conversion start process 62c, the CPU 14 reads the value of the processing ratio of the CPU 14 for the color conversion in the load distribution table 51, and distributes the color conversion by the two processing units based on whether or not the value is 1. It is determined whether or not to process (step S71). CPU1
4 determines that distributed processing is not performed when the value of the processing ratio is 1, and determines that distributed processing is performed when the value of the processing ratio is less than 1.

色変換を2つの処理部で分散処理すると判定した場合、CPU14以外のCPU_Xへ
分散処理を与える処理が実行される。
When it is determined that the color conversion is distributed by the two processing units, a process of giving the distributed process to the CPU_X other than the CPU 14 is executed.

その際、CPU14は、負荷分散テーブル51における色変換についてのCPU14以
外のCPU12,13,15〜18の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU14およびCPU_Xに割り当てる(ステップS72)。
At that time, the CPU 14 sets CPU_X as the CPU_X that has a processing ratio value other than 0 for the CPUs 12, 13, 15 to 18 other than the CPU 14 for color conversion in the load distribution table 51, and image data for one block to be processed. Are divided by the distribution ratio, and image data corresponding to each processing ratio is allocated to the CPU 14 and CPU_X (step S72).

なお、色変換における1回の処理あたりの処理対象となるブロックは、縦2画素、横(
4×M)画素の画素領域である。この実施の形態4では、M=64とされる。
In addition, the block to be processed per process in the color conversion is 2 pixels vertically and horizontally (
4 × M) pixel area. In the fourth embodiment, M = 64.

例えば、分散割合が3:1である場合には、ブロックにおける各ラインの先頭から3×
M個の画素領域(つまり合計6×M個の画素)がCPU14に割り当てられ、残りの2×
M個の画素領域がCPU_Xに割り当てられる。
For example, if the distribution ratio is 3: 1, 3 × from the beginning of each line in the block
M pixel regions (that is, a total of 6 × M pixels) are allocated to the CPU 14 and the remaining 2 ×
M pixel regions are assigned to CPU_X.

そして、CPU14は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のリサイズ・レイアウト後の画像データの格納領域のアドレス)を
、デュアルポートRAM22に書き込む(ステップS73)。
Then, the CPU 14 writes the start address of the image data corresponding to the processing type and the processing ratio of CPU_X (the address of the storage area of the image data after resizing / laying out of the external RAM 2) in the dual port RAM 22 (step S73).

そして、CPU14は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63g
をCPU_Xに依頼する(ステップS74)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM22の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M22から読み込む。
Then, the CPU 14 interrupts the CPU_X and performs individual processing 63g corresponding to the processing ratio.
Is requested to CPU_X (step S74). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the CPUs 11 to 18. Further, the CPU_X that has received the interrupt sets the start address of the image data corresponding to the processing rate of the CPU_X to the dual port RA according to the processing type stored in the predetermined area of the dual port RAM 22.
Read from M22.

このようにして、ステップS72〜S74の処理により、CPU14以外のCPU_X
へ分散処理が与えられる。一方、ステップS71において色変換を分散処理しないと判定
された場合には、ステップS72〜S74の処理はスキップされる。
In this way, the CPU_X other than the CPU 14 is obtained by the processes in steps S72 to S74.
Distributed processing is given. On the other hand, if it is determined in step S71 that the color conversion is not distributed, the processes in steps S72 to S74 are skipped.

そして、CPU14は、分散処理の場合には、1ブロック分の画像データのうちの処理
割合分の画像データに対する色変換の個別処理63cを実行し、分散処理をしない場合に
は、1ブロック分の画像データに対する色変換の個別処理63cを実行する(ステップS
75)。CPU14は、個別処理63cを実行する場合、関数コールにより、個別処理6
3cの関数やルーチンを呼び出して実行する。
In the case of distributed processing, the CPU 14 executes the color conversion individual processing 63c for the image data corresponding to the processing ratio in the image data for one block, and in the case of not performing the distributed processing, the CPU 14 An individual color conversion process 63c for the image data is executed (step S).
75). When executing the individual process 63c, the CPU 14 uses the function call to execute the individual process 6c.
3c functions and routines are called and executed.

CPU14は、処理割合分の個別処理63cが完了すると、ハーフトーン開始処理を実
行する(ステップS76)。これにより、後述のようにして、CPU14による個別処理
63cの後の画像データに対して、ハーフトーン処理が実行される。
When the individual processing 63c corresponding to the processing ratio is completed, the CPU 14 executes a halftone start process (step S76). As a result, halftone processing is executed on the image data after the individual processing 63c performed by the CPU 14 as described later.

CPU14は、処理割合分の画像データについて、色変換およびハーフトーンが完了す
ると、色変換処理を分散処理しているか否かを判定する(ステップS77)。色変換処理
を分散処理している場合には、CPU14は、CPU_Xによる色変換個別処理63gが
終了するまで待機し(ステップS78)、CPU_Xによる色変換個別処理63gが終了
すると、CPU_Xの処理割合分の色変換後の画像データについてハーフトーン開始処理
を実行する(ステップS79)。
When the color conversion and the halftone are completed for the image data corresponding to the processing ratio, the CPU 14 determines whether or not the color conversion processing is distributed (step S77). When the color conversion process is distributed, the CPU 14 waits until the individual color conversion process 63g by the CPU_X is completed (step S78), and when the individual color conversion process 63g by the CPU_X is completed, the CPU 14 processes the processing ratio. Halftone start processing is executed for the image data after color conversion (step S79).

一方、色変換処理を分散処理していない場合には、1ブロック分の色変換およびハーフ
トーンが完了していることになるので、ステップS78,S79はスキップする。
On the other hand, if the color conversion process is not distributed, steps S78 and S79 are skipped because color conversion and halftone for one block have been completed.

このようにして、1ブロック分の色変換およびハーフトーンが実行される。そして、ス
テップS71に戻り、次の1ブロック分の色変換およびハーフトーンが同様にして実行さ
れる。以後、画像データの最後まで、順番に、色変換およびハーフトーンが実行される(
ステップS80)。
In this way, color conversion and halftone for one block are executed. Then, the process returns to step S71, and color conversion and halftone for the next one block are executed in the same manner. Thereafter, color conversion and halftone are sequentially performed until the end of the image data (
Step S80).

上述の色変換開始処理に関連して、まず、色変換個別処理63c,63gについて説明
する。図20は、実施の形態4における色変換個別処理63c,63gを説明するフロー
チャートである。色変換個別処理63cは、CPU14により実行され、色変換個別処理
63gは、CPU14以外のCPU_Xにより実行される。CPU14は、専用命令を含
むプログラム43sを実行し、CPU_Xは、専用命令を含まないプログラム43gを実
行するが、両者の処理の流れは、同一である。ただし、専用命令を使用した場合のほうが
演算速度が高い。なお、色変換に使用されるLUTは、デュアルポートRAM21に格納
されているパラメータの値に基づいて、図示せぬ不揮発メモリに記憶された複数のLUT
から選択される。
In relation to the color conversion start process described above, first, the color conversion individual processes 63c and 63g will be described. FIG. 20 is a flowchart illustrating color conversion individual processing 63c and 63g according to the fourth embodiment. The color conversion individual process 63c is executed by the CPU 14, and the color conversion individual process 63g is executed by a CPU_X other than the CPU 14. The CPU 14 executes a program 43s that includes a dedicated instruction, and the CPU_X executes a program 43g that does not include a dedicated instruction, but the processing flow of both is the same. However, the calculation speed is higher when dedicated instructions are used. Note that the LUT used for color conversion is a plurality of LUTs stored in a nonvolatile memory (not shown) based on the parameter values stored in the dual port RAM 21.
Selected from.

CPU14は、個別処理63cの開始時のCPUタイマの値Tsを保存した後(ステッ
プS81)、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して色変換を実行し(ステップS82)、そ
の演算が完了すると、その時のCPUタイマの値Teを検出し(ステップS83)、両者
の差(Te−Ts)を計測時間として、合計処理時間データに累積加算し、デコードした
画素数を合計処理画素数データに累積加算する(ステップS84)。なお、合計処理時間
データおよび合計処理画素数データは、処理に要した時間および処理の完了した画素数を
集計するためのデータである。これらのデータの初期値は0とされる。
After storing the CPU timer value Ts at the start of the individual process 63c (step S81), the CPU 14 specifies the image data to be processed based on the start address of the data to be processed, and image data corresponding to the processing ratio. Color conversion is performed on each of the pixels (step S82), and when the calculation is completed, the value Te of the CPU timer at that time is detected (step S83), and the difference (Te−Ts) between the two is used as the measurement time. Cumulative addition is made to the total processing time data, and the decoded number of pixels is cumulatively added to the total processing pixel number data (step S84). The total processing time data and the total processing pixel number data are data for totaling the time required for processing and the number of pixels for which processing has been completed. The initial values of these data are 0.

なお、この実施の形態4では、RGBデータが7色インク用の7色分のCYMKデータ
に変換される。
In the fourth embodiment, RGB data is converted into CYMK data for seven colors for seven color inks.

そして、CPU14は、今回の処理が1バンド内の最後の処理であるか否かを判定する
(ステップS85)。この判定については、例えば、今回の個別処理が1バンド内の最後
の処理であるか否かを示すデータを他のパラメータとともに開始処理62cにおいて設定
しそのデータに基づいて各個別処理63c,63gで判定するようにすればよい。
Then, the CPU 14 determines whether or not the current process is the last process in one band (step S85). For this determination, for example, data indicating whether or not the current individual process is the last process in one band is set in the start process 62c together with other parameters, and the individual processes 63c and 63g are set based on the data. It may be determined.

CPU14は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データを色変換処理時間データとし、合計画素数データを色変換処理画素数デー
タとして、処理能力テーブル52における、色変換についてのCPU14の処理能力情報
を更新する(ステップS86)。このとき、処理能力情報としては、色変換処理画素数デ
ータを色変換処理時間データで除算した処理速度などが使用される。更新後、ローカルデ
ータである合計処理時間データおよび合計画素数データは、0にリセットされる(ステッ
プS87)。
If the CPU 14 determines that the current process is the last process in one band, the total processing time data is used as color conversion processing time data, and the total pixel number data is used as color conversion processing pixel number data. The processing capability information of the CPU 14 regarding color conversion in the table 52 is updated (step S86). At this time, as the processing capability information, a processing speed obtained by dividing the color conversion processing pixel number data by the color conversion processing time data is used. After the update, the total processing time data and the total pixel number data, which are local data, are reset to 0 (step S87).

また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についての色変換個別処理63cの際に収集された処理能力情報で、処理能力
テーブル52における色変換についてのCPU14の処理能力情報が更新される。
In addition, in this way, the color in the processing capability table 52 is obtained by the processing capability information collected during the color conversion individual processing 63c for the processing rate of the image data for one band for each processing of one band. The processing capability information of the CPU 14 regarding the conversion is updated.

なお、分散処理の場合には、CPU14とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU14の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についての色変換個別処理63gの際に収
集された処理能力情報で、処理能力テーブル52における色変換についてのCPU_Xの
処理能力情報が更新される。
In the case of distributed processing, the CPU 14 and CPU_X execute the above-described processing. Accordingly, in addition to the processing capability information of the CPU 14, in the case of distributed processing, processing capability information collected during the color conversion individual processing 63g for the processing ratio of image data for one band for each processing of one band. Thus, the CPU_X processing capability information for color conversion in the processing capability table 52 is updated.

このように、色変換個別処理(63c,63g)では、処理割合分の色変換の他、処理
時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル52の更新が行わ
れる。
As described above, in the color conversion individual processing (63c, 63g), in addition to the color conversion corresponding to the processing ratio, the processing time and the number of processing pixels are totaled, and the processing capability table 52 for each band is updated.

上述の色変換開始処理に関連して、次に、ハーフトーン開始処理62dについて説明す
る。ハーフトーン開始処理62dは、上述のように、CPU14またはCPU_Xによる
色変換が完了した後、CPU14により直ちに実行される。
Next, the halftone start process 62d will be described in relation to the above color conversion start process. As described above, the halftone start process 62d is immediately executed by the CPU 14 after the color conversion by the CPU 14 or CPU_X is completed.

図21は、実施の形態4におけるハーフトーン開始処理62dを説明するフローチャー
トである。
FIG. 21 is a flowchart for explaining halftone start processing 62d in the fourth embodiment.

ハーフトーン開始処理62dでは、CPU14は、色変換後の画像データを、色別に分
離してデュアルポートRAM22に書き込む(ステップS91)。その際、各色のデータ
は、2×256画素のブロックとされる。
In the halftone start process 62d, the CPU 14 separates the color-converted image data by color and writes it into the dual port RAM 22 (step S91). At this time, the data of each color is a block of 2 × 256 pixels.

次に、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU1
5〜18の処理割合の値を読み出し、その値が1であるか否かに基づいて、ハーフトーン
を5つのCPUで分散処理するか否かを判定する(ステップS92)。なお、CPU14
は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の値
が1未満である場合には分散処理をすると判定する。
Next, the CPU 14 determines the CPU 1 for the halftone in the load distribution table 51.
A processing ratio value of 5 to 18 is read out, and based on whether the value is 1 or not, it is determined whether or not to distribute the halftone with 5 CPUs (step S92). CPU 14
Determines that distributed processing is not performed when the value of the processing ratio is 1, and determines that distributed processing is performed when the value of the processing ratio is less than 1.

ハーフトーンを5つのCPUで分散処理すると判定した場合、CPU15〜18、およ
びCPU15〜18以外のCPU_Xへ分散処理を与える処理が実行される。
When it is determined that the halftone is to be distributed by five CPUs, a process of giving the distributed processing to the CPUs 15 to 18 and the CPU_X other than the CPUs 15 to 18 is executed.

その際、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU
15〜18以外のCPU12〜14の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU15〜18およびCPU_Xに割り当てる(ステップS92)。
At that time, the CPU 14 performs CPU for halftone in the load distribution table 51.
A CPU whose processing ratio value other than 15 to 18 is other than 0 is CPU_X, image data for one block to be processed is divided by a distribution ratio, and image data corresponding to each processing ratio is obtained. It assigns to CPU15-18 and CPU_X (step S92).

なお、ハーフトーンにおける1回の処理あたりの処理対象となるブロックは、色変換と
同一の画素領域である。
Note that the block to be processed per process in halftone is the same pixel area as color conversion.

そして、CPU14は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63h
をCPU_Xに依頼する(ステップS94)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM22の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M22から読み込む。
Then, the CPU 14 interrupts the CPU_X and performs individual processing 63h corresponding to the processing ratio.
Is requested to CPU_X (step S94). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the CPUs 11 to 18. Further, the CPU_X that has received the interrupt sets the start address of the image data corresponding to the processing rate of the CPU_X to the dual port RA according to the processing type stored in the predetermined area of the dual port RAM 22.
Read from M22.

一方、ステップS91においてハーフトーンを5つのCPUで分散処理しないと判定さ
れた場合には、ステップS73の処理はスキップされる。
On the other hand, if it is determined in step S91 that the halftone is not distributed by the five CPUs, the process of step S73 is skipped.

そして、CPU14は、CPU15〜18のそれぞれに割り込みを掛けて、処理割合分
の個別処理63dをCPU15〜18に依頼する(ステップS95)。なお、割り込みを
受けたCPU15〜18は、デュアルポートRAM22の所定の領域に記憶された処理種
別に応じて、CPU15〜18の処理割合分の画像データの先頭アドレスを、デュアルポ
ートRAM22から読み込む。
Then, the CPU 14 interrupts each of the CPUs 15 to 18 and requests the CPUs 15 to 18 for individual processing 63d corresponding to the processing ratio (step S95). The CPUs 15 to 18 that have received the interrupt read from the dual port RAM 22 the start addresses of the image data corresponding to the processing ratios of the CPUs 15 to 18 in accordance with the processing types stored in a predetermined area of the dual port RAM 22.

このようにして、ステップS93,S94の処理により、CPU15〜18へ分散処理
が与えられたり、CPU15〜18以外のCPU_Xへ分散処理が与えられたりする。
In this way, the distributed processing is given to the CPUs 15 to 18 or the distributed processing is given to the CPU_X other than the CPUs 15 to 18 by the processes of steps S93 and S94.

その後、CPU14は、CPU15〜18によるハーフトーン個別処理63dが終了す
るまで待機する(ステップS95)。そして、CPU15〜18によるハーフトーン個別
処理63dが終了すると、5つのCPUで分散処理をしている場合には、CPU14は、
CPU_Xによるハーフトーン個別処理63hが終了するまで待機し、個別処理63hが
終了すると、ハーフトーン開始処理を終了する。一方、5つのCPUで分散処理をしてい
ない場合には、CPU15〜18によるハーフトーン個別処理63dが終了すると、CP
U14は、ハーフトーン開始処理を終了する。
Thereafter, the CPU 14 stands by until the halftone individual processing 63d by the CPUs 15 to 18 is completed (step S95). Then, when the halftone individual processing 63d by the CPUs 15 to 18 is finished, when the five CPUs are performing distributed processing, the CPU 14
The CPU waits until the halftone individual process 63h by the CPU_X is finished, and when the individual process 63h is finished, the halftone start process is finished. On the other hand, when the distributed processing is not performed by the five CPUs, when the halftone individual processing 63d by the CPUs 15 to 18 ends, CP
U14 ends the halftone start process.

このようにして、ハーフトーン個別処理の割り当て処理が実行される。   In this way, the allocation process of the halftone individual process is executed.

ここで、ハーフトーン個別処理63d,63hの詳細について説明する。図22は、実
施の形態4におけるハーフトーン個別処理63d,63hを説明するフローチャートであ
る。ハーフトーンは、色変換後の各色のデータを単位として分散処理される。ハーフトー
ン個別処理63dは、1色または2色ずつに分散され、CPU15〜18により並列的に
実行され、ハーフトーン個別処理63hは、CPU15〜18以外のCPU_Xにより実
行される。CPU15〜18は、専用命令を含むプログラム44sを実行し、CPU_X
は、専用命令を含まないプログラム44gを実行するが、両者の処理の流れは、同一であ
る。ただし、専用命令を使用した場合のほうが演算速度が高い。
Here, the details of the halftone individual processing 63d and 63h will be described. FIG. 22 is a flowchart illustrating the halftone individual processing 63d and 63h according to the fourth embodiment. Halftone is distributed and processed in units of data of each color after color conversion. The halftone individual processing 63d is distributed by one color or two colors and is executed in parallel by the CPUs 15 to 18, and the halftone individual processing 63h is executed by a CPU_X other than the CPUs 15 to 18. The CPUs 15 to 18 execute a program 44s including a dedicated instruction, and CPU_X
Executes a program 44g that does not include a dedicated instruction, but the flow of both processes is the same. However, the calculation speed is higher when dedicated instructions are used.

CPU15〜18は、個別処理63dの開始時のCPUタイマの値Tsを保存した後(
ステップS101)、予め割り当てられている色の処理割合分の画像データをデュアルポ
ートRAM22から読み出し、その画像データに対して、ディサ法または誤差拡散法で二
値化処理を実行し(ステップS102)、その演算が完了すると、その時のCPUタイマ
の値Teを検出し(ステップS103)、両者の差(Te−Ts)を計測時間として、合
計処理時間データに累積加算し、デコードした画素数を合計処理画素数データに累積加算
する(ステップS104)。なお、合計処理時間データおよび合計処理画素数データは、
処理に要した時間および処理の完了した画素数を集計するためのデータである。これらの
データの初期値は0とされる。
The CPUs 15 to 18 store the value Ts of the CPU timer at the start of the individual process 63d (
Step S101), image data corresponding to the processing rate of the color assigned in advance is read from the dual port RAM 22, and binarization processing is executed on the image data by the dither method or error diffusion method (Step S102). When the calculation is completed, the CPU timer value Te at that time is detected (step S103), the difference between the two (Te-Ts) is added to the total processing time data as a measurement time, and the number of decoded pixels is totaled. Cumulative addition is performed on the pixel number data (step S104). The total processing time data and the total processing pixel number data are
This is data for counting the time required for processing and the number of pixels for which processing has been completed. The initial values of these data are 0.

なお、この実施の形態4では、7色分のCMYKデータ(C,M,Y,K,R,B,C
L)が存在し、4つのCPU15〜18のみでハーフトーンを実行する場合、例えば、C
PU15は、誤差拡散法によるシアンCおよびマゼンタMの二値化を実行し、CPU16
は、ディザ法によるイエローYの二値化と誤差拡散法によるブラックKの二値化を実行し
、CPU17は、ディザ法によるクリアCLの二値化と誤差拡散法によるレッドRの二値
化を実行し、CPU18は、誤差拡散法によるブルーBの二値化を実行する。また、CP
U15〜18とCPU_Xの5つのCPUでハーフトーンを実行する場合、例えば、CP
U15は、誤差拡散法によるシアンCの二値化を実行し、CPU16は、ディザ法による
イエローYの二値化と誤差拡散法によるブラックKの二値化を実行し、CPU17は、デ
ィザ法によるクリアCLの二値化と誤差拡散法によるレッドRの二値化を実行し、CPU
18は、誤差拡散法によるブルーBの二値化を実行し、CPU_Xは、誤差拡散法による
マゼンタMの二値化を実行する。
In the fourth embodiment, CMYK data (C, M, Y, K, R, B, C) for seven colors is used.
L) exists and halftone is executed only by the four CPUs 15 to 18, for example, C
The PU 15 performs binarization of cyan C and magenta M by the error diffusion method, and the CPU 16
Executes binarization of yellow Y by the dither method and binarization of black K by the error diffusion method, and the CPU 17 binarizes the clear CL by the dither method and binarization of the red R by the error diffusion method. The CPU 18 executes binarization of blue B by the error diffusion method. CP
When halftone is executed by five CPUs U15 to 18 and CPU_X, for example, CP
U15 executes binarization of cyan C by the error diffusion method, CPU 16 executes binarization of yellow Y by the dither method and binarization of black K by the error diffusion method, and CPU 17 performs the binarization by the dither method. Executes binarization of clear CL and binarization of red R by error diffusion method, CPU
18 executes binarization of blue B by the error diffusion method, and CPU_X executes binarization of magenta M by the error diffusion method.

そして、CPU15〜18は、今回の処理が1バンド内の最後の処理であるか否かを判
定する(ステップS105)。この判定については、例えば、今回の個別処理が1バンド
内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理62dにお
いて設定しそのデータに基づいて各個別処理63d,63hで判定するようにすればよい
And CPU15-18 determines whether this process is the last process in 1 band (step S105). For this determination, for example, data indicating whether or not the current individual process is the last process in one band is set in the start process 62d together with other parameters, and the individual processes 63d and 63h are based on the data. It may be determined.

CPU15〜18は、今回の処理が1バンド内の最後の処理であると判定した場合には
、合計処理時間データをHT処理時間データとし、合計画素数データをHT処理画素数デ
ータとして、処理能力テーブル52における、ハーフトーンについてのCPU15〜18
の処理能力情報を更新する(ステップS106)。このとき、処理能力情報としては、H
T画素数データをHT処理時間データで除算した処理速度などが使用される。更新後、ロ
ーカルデータである合計処理時間データおよび合計画素数データは、0にリセットされる
(ステップS107)。
When the CPUs 15 to 18 determine that the current process is the last process in one band, the total processing time data is set as the HT processing time data, and the total pixel number data is set as the HT processing pixel number data. CPU 15-18 for halftone in table 52
Is updated (step S106). At this time, as processing capability information, H
A processing speed obtained by dividing the T pixel number data by the HT processing time data is used. After the update, the total processing time data and the total pixel number data, which are local data, are reset to 0 (step S107).

また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についてのハーフトーン個別処理63dの際に収集された処理能力情報で、処
理能力テーブル52におけるハーフトーンについてのCPU15〜18の処理能力情報が
更新される。
Further, in this way, for each processing of one band, the processing capability information collected during the halftone individual processing 63d for the processing ratio of the image data for one band, the half in the processing capability table 52 The processing capability information of the CPUs 15 to 18 for the tone is updated.

なお、分散処理の場合には、CPU15〜18とCPU_Xは、上述の処理をそれぞれ
実行する。したがって、CPU15〜18の処理能力情報の他、分散処理の場合には、1
バンドの処理ごとに、1バンド分の画像データの処理割合分についてのハーフトーン個別
処理63hの際に収集された処理能力情報で、処理能力テーブル52におけるハーフトー
ンについてのCPU_Xの処理能力情報が更新される。
Note that in the case of distributed processing, the CPUs 15 to 18 and the CPU_X execute the above-described processing. Therefore, in addition to the processing capability information of the CPUs 15 to 18, in the case of distributed processing, 1
For each band process, the CPU_X processing capability information for the halftone in the processing capability table 52 is updated with the processing capability information collected during the halftone individual processing 63h for the processing rate of the image data for one band. Is done.

このように、ハーフトーン個別処理(63d,63h)では、処理割合分のハーフトー
ンの他、処理時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル52
の更新が行われる。
As described above, in the halftone individual processing (63d, 63h), in addition to the halftone for the processing ratio, the processing time and the number of processing pixels are counted, and the processing capability table 52 for each band.
Is updated.

以上のように、上記実施の形態4によれば、色変換開始処理62cおよび色変換個別処
理63c,63gが効率良く実行され、色変換後の画像データに色別に施されるハーフト
ーン処理についてのハーフトーン開始処理62dおよびハーフトーン個別処理63d,6
3hが効率良く実行される。
As described above, according to the fourth embodiment, the color conversion start process 62c and the individual color conversion processes 63c and 63g are efficiently executed, and the halftone process applied to the color-converted image data for each color. Halftone start processing 62d and halftone individual processing 63d, 6
3h is executed efficiently.

なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。
Each embodiment described above is a preferred example of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. It is.

例えば、実施の形態1〜4では、最初に用意される画像データは、JPEG形式でエン
コードされたものであるが、その代わりに、他の形式でエンコードされたものとしてもよ
い。その場合には、JPEGデコードの代わりに、その形式でのデコードが実行される。
For example, in Embodiments 1 to 4, the image data prepared first is encoded in the JPEG format, but may be encoded in another format instead. In that case, decoding in that format is executed instead of JPEG decoding.

また、実施の形態1〜4では、CPU15〜18は1つのプロセッサとして負荷管理さ
れているが、その代わりに、4つのCPU15〜18それぞれについて、他のCPU12
〜14と同様に負荷管理を実行して、負荷バランスを保つようにしてもよい。
In the first to fourth embodiments, the CPUs 15 to 18 are load-managed as a single processor. Instead, each of the four CPUs 15 to 18 is replaced with another CPU 12.
Similarly to -14, load management may be executed to maintain the load balance.

また、実施の形態1〜4において、CPU15〜18へ、JPEGデコード、画像補正
、色変換などの、ハーフトーン以外の個別処理を与える場合には、CPU15〜18のう
ちの他のCPUより処理する色の数が少ないCPUに、そのハーフトーン以外の個別処理
を与えればよい。
In the first to fourth embodiments, when individual processing other than halftone, such as JPEG decoding, image correction, and color conversion, is given to the CPUs 15 to 18, processing is performed by other CPUs among the CPUs 15 to 18. What is necessary is just to give individual processing other than the halftone to the CPU having a small number of colors.

また、実施の形態1〜4においては、色変換により7色のCYMK画像データが生成さ
れるが、色変換後の画像データの色数は、他の数でもよい。例えば、色変換により、4色
、6色、8色などのCYMK画像データを生成するようにしてもよい。その場合、ハーフ
トーン専用命令演算部を有するCPUの数は、その色数以下とされる。また、色変換後の
色座標についても上述のものに限定されるものではなく、別の色座標としてもよい。
In the first to fourth embodiments, seven colors of CYMK image data are generated by color conversion. However, the number of colors of image data after color conversion may be other numbers. For example, CYMK image data of four colors, six colors, eight colors, etc. may be generated by color conversion. In this case, the number of CPUs having a halftone dedicated instruction calculation unit is equal to or less than the number of colors. Further, the color coordinates after color conversion are not limited to those described above, and may be different color coordinates.

また、実施の形態1〜4においては、画像補正の第1処理〜第3処理は、別々に分散処
理されるが、第1処理〜第3処理を区別せず、1つの画像補正処理として分散させるよう
にしてもよい。
In the first to fourth embodiments, the first process to the third process of image correction are separately distributed. However, the first process to the third process are not distinguished and distributed as one image correction process. You may make it make it.

また、実施の形態1〜4においては、分散処理時において、1つの処理種別の処理はメ
インのCPU(つまりその処理種別に対応する専用命令演算部を有するCPU)と別の1
つのCPU_Xにより実行されるが、メインのCPUと2以上の他のCPUにより実行す
るようにしてもよい。その場合には、負荷分散テーブル51の処理割合が、少なくとも3
つの処理部について、非0の値となる。
In the first to fourth embodiments, during distributed processing, processing of one processing type is different from the main CPU (that is, a CPU having a dedicated instruction calculation unit corresponding to the processing type).
It is executed by one CPU_X, but may be executed by the main CPU and two or more other CPUs. In that case, the processing ratio of the load distribution table 51 is at least 3
It is a non-zero value for one processing unit.

また、実施の形態1〜4において、色変換を実行するCPU14(およびCPU_X)
からハーフトーンを実行するCPU15〜18(およびCPU_X)へのデータの転送に
ついては、例えば、本出願人が先に提案している特願2004−096845号の方法を
応用してもよい。
In the first to fourth embodiments, the CPU 14 (and CPU_X) that performs color conversion.
For example, the method of Japanese Patent Application No. 2004-096845 previously proposed by the present applicant may be applied to the transfer of data from the CPU to the CPUs 15 to 18 (and CPU_X) executing halftone.

また、実施の形態1〜4において、リサイズ・レイアウト処理については分散処理せず
にCPU12が実行しているが、他の処理種別と同様にして分散処理するようにしてもよ
い。
In the first to fourth embodiments, the resizing / layout process is performed by the CPU 12 without performing the distributed process. However, the distributed process may be performed in the same manner as other processing types.

また、実施の形態1〜4において、汎用命令演算部12a〜18aについて、内蔵の加
算器、乗算器といった演算器の数をCPUごとに変えるようにしてもよい。
In the first to fourth embodiments, the number of arithmetic units such as built-in adders and multipliers may be changed for each CPU in the general-purpose instruction arithmetic units 12a to 18a.

また、実施の形態1〜4においては、専用命令を含むプログラム41s〜44sおよび
汎用命令を含むプログラム41g〜44gを外部RAM2にロードしているが、専用命令
を含むプログラム41s〜44sを各CPU12〜18の命令RAM33にロードし、汎
用命令を含むプログラム41g〜44gを外部RAM2にロードするようにしてもよい。
In the first to fourth embodiments, the programs 41s to 44s including the dedicated instructions and the programs 41g to 44g including the general-purpose instructions are loaded into the external RAM 2. However, the programs 41s to 44s including the dedicated instructions are loaded on each CPU 12 to 18 programs may be loaded into the external RAM 2 and the programs 41g to 44g including general-purpose commands may be loaded into the external RAM 2.

また、実施の形態1〜4においては、JPEGデコード、画像補正および色変換につい
ての処理割合は、0、0.25、0.5、0.75および1の集合のうちのいずれかとさ
れるが、その他の数の集合のいずれかとしてもよい。例えば、処理割合は、0、0.12
5、0.25、0.375、0.5、0.625、0.75、0.875および1の集合
のうちのいずれかとしてもよい。また、ハーフトーンについての処理割合についても、別
の値のいずれかとしてもよい。
In the first to fourth embodiments, the processing ratio for JPEG decoding, image correction, and color conversion is one of a set of 0, 0.25, 0.5, 0.75, and 1. Or any other set of numbers. For example, the processing ratio is 0, 0.12.
Any of the set of 5, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, and 1 may be used. Also, the processing ratio for halftone may be any other value.

また、実施の形態1〜4においては、個別処理63を実行するCPU12〜18の一部
で、分散割合決定処理61および開始処理62が実行されるが、その代わりに、分散割合
決定処理61および開始処理62を別のCPU(例えばCPU11、別途設けられるCP
Uなど)により実行するようにしてもよい。
In the first to fourth embodiments, the distribution ratio determination process 61 and the start process 62 are executed by a part of the CPUs 12 to 18 that execute the individual process 63. Instead, the distribution ratio determination process 61 and Start processing 62 is performed by another CPU (for example, CPU 11, CP provided separately)
U) or the like.

また、実施の形態1〜4において、負荷分散テーブル51を2つとし、開始処理62に
おいて一方の負荷分散テーブル51が参照され、1回の分散割合決定処理61では他方の
負荷分散テーブル51が更新され、更新が完了すると、開始処理62において参照される
負荷分散テーブル51を、更新された他方の負荷分散テーブル51とするようにしてもよ
い。これにより、2つの負荷分散テーブル51が交互に更新され、負荷分散テーブル51
の更新中も、開始処理62において負荷分散テーブル51の参照が円滑に行われる。
In the first to fourth embodiments, there are two load distribution tables 51, one load distribution table 51 is referred to in the start process 62, and the other load distribution table 51 is updated in one distribution ratio determination process 61. When the update is completed, the load distribution table 51 referred to in the start process 62 may be the other updated load distribution table 51. As a result, the two load distribution tables 51 are alternately updated, and the load distribution table 51 is updated.
Even during the update, the load distribution table 51 is referred to smoothly in the start process 62.

また、実施の形態1〜4においては、JPEGデコード、画像補正、リサイズ・レイア
ウト、色変換、およびハーフトーンの順番に実行する画像処理系に対して本発明を適用し
たが、各画像処理の種類はこれに限られるものではなく、一連の複数種別の画像処理を順
番に実行する他の画像処理系に対しても本発明を適用可能である。
In the first to fourth embodiments, the present invention is applied to an image processing system that executes in the order of JPEG decoding, image correction, resizing / layout, color conversion, and halftone. However, the present invention is not limited to this, and the present invention can also be applied to other image processing systems that sequentially execute a plurality of types of image processing.

本発明は、例えば、画像データに対して複数の画像処理を順番に施す画像処理装置に適
用可能である。そのような画像処理装置としては、例えばプリンタ、コピー機、プロジェ
クタ、テレビジョン受像機などがある。
The present invention is applicable to, for example, an image processing apparatus that sequentially performs a plurality of image processes on image data. Examples of such an image processing apparatus include a printer, a copier, a projector, and a television receiver.

本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。1 is a block diagram showing a configuration of an image processing apparatus according to Embodiment 1 of the present invention. 図1におけるCPU12の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of CPU12 in FIG. 図1におけるCPU11〜18用のプログラムを示すブロック図である。It is a block diagram which shows the program for CPU11-18 in FIG. 実施の形態1における一連の画像処理を説明するフローチャートである。3 is a flowchart for describing a series of image processing in the first embodiment. 実施の形態1におけるデータフローを説明するブロック図である。3 is a block diagram illustrating a data flow in Embodiment 1. FIG. 分散処理を行わない場合のデータフローなどの一例を示す図である。It is a figure which shows an example of the data flow etc. when not performing distributed processing. 実施の形態1における分散処理を説明するブロック図である。3 is a block diagram for explaining distributed processing in Embodiment 1. FIG. 実施の形態1における処理能力テーブルの一例を示す図である。6 is a diagram showing an example of a processing capacity table in the first embodiment. FIG. 実施の形態1における負荷分散テーブルの一例を示す図である。6 is a diagram illustrating an example of a load distribution table according to Embodiment 1. FIG. 実施の形態1での分散割合決定処理を説明するフローチャートである。5 is a flowchart for explaining a distribution ratio determination process in the first embodiment. 図10内の負荷分散テーブル更新処理を説明するフローチャートである。It is a flowchart explaining the load distribution table update process in FIG. 図9の負荷分散テーブルの更新途中の負荷分散テーブルを示す図である。It is a figure which shows the load distribution table in the middle of the update of the load distribution table of FIG. 図9の負荷分散テーブルを更新した負荷分散テーブルを示す図である。It is a figure which shows the load distribution table which updated the load distribution table of FIG. 実施の形態2でのJPEGデコード開始処理を説明する図である。FIG. 10 is a diagram for describing JPEG decoding start processing in the second embodiment. 実施の形態2でのJPEGデコード個別処理を説明する図である。FIG. 10 is a diagram for explaining JPEG decoding individual processing in the second embodiment. 実施の形態3での画像補正開始処理を説明するフローチャートである。14 is a flowchart for describing image correction start processing in the third embodiment. 図16での第x処理の1ライン処理を説明するフローチャートである。It is a flowchart explaining 1 line process of the x-th process in FIG. 実施の形態3での画像補正個別処理を説明するフローチャートである。10 is a flowchart for explaining individual image correction processing according to the third embodiment. 実施の形態4における色変換開始処理を説明するフローチャートである。15 is a flowchart for describing color conversion start processing in the fourth embodiment. 実施の形態4における色変換個別処理を説明するフローチャートである。14 is a flowchart for explaining individual color conversion processing according to the fourth embodiment. 実施の形態4におけるハーフトーン開始処理を説明する図である。FIG. 10 is a diagram for explaining halftone start processing in the fourth embodiment. 実施の形態4におけるハーフトーン個別処理を説明する図である。FIG. 10 is a diagram for explaining halftone individual processing in a fourth embodiment.

符号の説明Explanation of symbols

1 ASIC(プロセッサ)、4 プリンタ駆動部(印刷手段)、12 CPU(複数
の処理部の一部,分散割合更新手段,開始処理手段,処理能力テーブル更新手段)、13
,14 CPU(複数の処理部の一部,開始処理手段,処理能力テーブル更新手段)、1
5〜18 CPU(複数の処理部の一部,処理能力テーブル更新手段)、51 負荷分散
テーブル、52a 処理能力テーブル(デフォルト処理能力テーブル)、52b 処理能
力テーブル。
DESCRIPTION OF SYMBOLS 1 ASIC (processor), 4 Printer drive part (printing means), 12 CPU (a part of several processing part, distribution ratio update means, start process means, processing capacity table update means), 13
, 14 CPU (part of a plurality of processing units, start processing means, processing capacity table updating means), 1
5-18 CPU (part of a plurality of processing units, processing capacity table updating means), 51 load distribution table, 52a processing capacity table (default processing capacity table), 52b processing capacity table.

Claims (7)

同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装置において

同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部と、
上記画像処理の各種別に関する1または複数の処理部への分散割合を有する負荷分散テ
ーブルと、
画像処理の開始後に各画像処理の分散割合を計算し上記負荷分散テーブルにおける分散
割合を更新する分散割合更新手段と、
上記分散割合更新手段により一度も更新されていない上記分散割合については上記デフ
ォルトの分散割合を使用して、少なくとも1種別の画像処理について、その画像処理を2
以上の処理部に分散してそれぞれ実行させる開始処理手段と、
を備えることを特徴とする画像処理装置。
In an image processing apparatus that sequentially performs multiple types of image processing on image data in the same region,
A plurality of processing units for sequentially performing the plurality of types of image processing on the image data of the same region;
A load distribution table having a distribution ratio to one or a plurality of processing units related to various types of image processing;
A distribution ratio updating means for calculating a distribution ratio of each image processing after the start of image processing and updating the distribution ratio in the load distribution table;
For the distribution ratio that has never been updated by the distribution ratio update means, the default distribution ratio is used, and at least one type of image processing is processed with 2 images.
Start processing means for distributing and executing each of the above processing units;
An image processing apparatus comprising:
前記複数の処理部のそれぞれの処理能力値を格納する処理能力テーブルと、
前記複数の処理部のそれぞれの処理能力値のデフォルト値を格納するデフォルト処理能
力テーブルと、
前記複数の処理部のそれぞれによる所定量の画像データに対する処理時間に基づいて上
記処理能力テーブルの処理能力値を更新する処理能力テーブル更新手段とを備え、
前記分散割合更新手段は、上記処理能力テーブルを優先的に参照して、上記処理能力テ
ーブルおよび上記デフォルト処理能力テーブルに基づいて各画像処理の分散割合を計算し
上記負荷分散テーブルに設定すること、
を特徴とする請求項1記載の画像処理装置。
A processing capacity table for storing the processing power values of the plurality of processing units;
A default processing capacity table storing a default value of each processing capacity value of the plurality of processing units;
A processing capability table updating means for updating a processing capability value of the processing capability table based on a processing time for a predetermined amount of image data by each of the plurality of processing units;
The distribution ratio update means preferentially refers to the processing capacity table, calculates a distribution ratio of each image processing based on the processing capacity table and the default processing capacity table, and sets the distribution ratio in the load distribution table;
The image processing apparatus according to claim 1.
前記処理能力テーブル更新手段は、前記処理部によりプログラムを実行することで実現
され、1ラインまたは1バンドごとの処理時間および処理画素数に基づいて処理能力値を
更新することを特徴とする請求項2記載の画像処理装置。
The processing capacity table update unit is realized by executing a program by the processing unit, and updates a processing capacity value based on a processing time and a processing pixel number for each line or band. 2. The image processing apparatus according to 2.
前記処理能力テーブルは、前記複数の処理部のそれぞれについて前記複数種別の画像処
理の種別ごとに、処理能力値を有することを特徴とする請求項2記載の画像処理装置。
The image processing apparatus according to claim 2, wherein the processing capability table has a processing capability value for each of the plurality of types of image processing for each of the plurality of processing units.
前記分散割合更新手段は、前記分散割合を設定した後、前記複数種別のうち1ラインま
たは1バンド分の処理時間が最も遅い種別の画像処理が完了すると、再度、前記分散割合
を設定することを特徴とする請求項1または請求項2記載の画像処理装置。
The dispersion ratio updating means sets the dispersion ratio again when the image processing of the type with the latest processing time for one line or one band among the plurality of types is completed after setting the dispersion ratio. The image processing apparatus according to claim 1, wherein the image processing apparatus is characterized in that:
複数の処理として少なくとも色変換およびハーフトーンを実行する請求項1から請求項
5のうちのいずれか1項記載の画像処理装置と、
上記画像処理装置による処理後の画像データに基づいて画像を印刷する印刷手段と、
を備えることを特徴とする印刷装置。
The image processing apparatus according to claim 1, wherein at least color conversion and halftone are executed as a plurality of processes.
Printing means for printing an image based on image data processed by the image processing apparatus;
A printing apparatus comprising:
複数の処理部により同一領域の画像データに対して複数種別の画像処理を順番に施す画
像処理装置における負荷分散方法において、
同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部への
、上記画像処理の処理種別ごとの分散割合を有する負荷分散テーブルを、画像処理の開始
後に計算される各画像処理の分散割合で更新するステップと、
上記負荷分散テーブルにおいて一度も更新されていない分散割合については上記デフォ
ルトの分散割合を使用して、少なくとも1種別の画像処理について、その画像処理を2以
上の処理部に分散してそれぞれ実行させるステップと、
を備えることを特徴とする負荷分散方法。
In a load distribution method in an image processing apparatus that sequentially performs a plurality of types of image processing on image data in the same region by a plurality of processing units,
A load distribution table having a distribution ratio for each processing type of the image processing is calculated after the start of the image processing to a plurality of processing units that sequentially perform the plurality of types of image processing on the image data in the same region. A step of updating at a distribution ratio of each image processing;
A step of using the default distribution ratio for a distribution ratio that has never been updated in the load distribution table and distributing the image processing to two or more processing units for at least one type of image processing. When,
A load balancing method comprising:
JP2004352333A 2004-12-06 2004-12-06 Image processing device, printer, and load distribution method Withdrawn JP2006163674A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004352333A JP2006163674A (en) 2004-12-06 2004-12-06 Image processing device, printer, and load distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004352333A JP2006163674A (en) 2004-12-06 2004-12-06 Image processing device, printer, and load distribution method

Publications (1)

Publication Number Publication Date
JP2006163674A true JP2006163674A (en) 2006-06-22

Family

ID=36665638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004352333A Withdrawn JP2006163674A (en) 2004-12-06 2004-12-06 Image processing device, printer, and load distribution method

Country Status (1)

Country Link
JP (1) JP2006163674A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102198765A (en) * 2010-03-25 2011-09-28 富士施乐株式会社 Image forming apparatus and image forming method
JP2012233937A (en) * 2011-04-28 2012-11-29 Hitachi Ltd Portable phone encryption authentication device system and method therefor
JP2018073162A (en) * 2016-10-31 2018-05-10 セイコーエプソン株式会社 Image processing device, image processing method, and control program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102198765A (en) * 2010-03-25 2011-09-28 富士施乐株式会社 Image forming apparatus and image forming method
JP2011201106A (en) * 2010-03-25 2011-10-13 Fuji Xerox Co Ltd Image forming apparatus and program of the same
US8773673B2 (en) 2010-03-25 2014-07-08 Fuji Xerox Co., Ltd. Image forming apparatus, image forming method, and computer readable medium storing program
JP2012233937A (en) * 2011-04-28 2012-11-29 Hitachi Ltd Portable phone encryption authentication device system and method therefor
JP2018073162A (en) * 2016-10-31 2018-05-10 セイコーエプソン株式会社 Image processing device, image processing method, and control program

Similar Documents

Publication Publication Date Title
US7200287B2 (en) Method and apparatus for image processing, and a computer product
JP4090908B2 (en) Image processing apparatus and image forming apparatus
JP4476203B2 (en) Image processing apparatus, program, and image processing method
US7599087B2 (en) Method and apparatus for image processing, and a computer product
JP2006133839A (en) Image processing device, print device and image processing method
JP2007082060A (en) Image processing device and connection system for image processings
JP2006163674A (en) Image processing device, printer, and load distribution method
JP2006163673A (en) Image processing device, printer, and load distribution method
JP2006163672A (en) Image processing device and method, and printer
JP2000165563A (en) Image processing unit
JP4086556B2 (en) Image processing apparatus and control method thereof
US6963420B1 (en) Image processing apparatus
US6535971B1 (en) Data processing system having plurality of processors and executing series of processings in prescribed order
JP4034323B2 (en) Image data processing method, image data processing apparatus, and image forming apparatus
JPH09289584A (en) Method for processing picture and its device
JP4397242B2 (en) Image processing apparatus and image processing method
JP2002314763A (en) Controller for color copying machine
JP2003250031A (en) Image processing apparatus and image processing method
JPH0784973A (en) Unit and method for multiprocessing processor control
JP2006187906A (en) Image processing apparatus, printing apparatus and image processing method
JP2002359743A (en) Image processing device, image processing method and program to allow computer to execute the method, and computer-readable recording medium for recording the program
JP2000032258A (en) Image processing unit and image processing method
JPH11122482A (en) Method and device for processing color picture
JP2007221520A (en) Image processor, image processing method, and image processing program
JP2002245447A (en) Image processor, program, and recording medium with program recorded thereon

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070404

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304