JP2006163674A - Image processing device, printer, and load distribution method - Google Patents
Image processing device, printer, and load distribution method Download PDFInfo
- 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
Links
Images
Abstract
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
この印刷装置では、第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.
しかしながら、上述の従来の印刷装置では、一方の制御区画が過負荷状態になった後、
その一方の制御区画から他方の制御区画へプロセスの一部が移動されるため、処理の最初
から適切に負荷分散を行われない可能性がある。また、上述の従来の印刷装置における制
御区画は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 )画像データなどといった画像データに対して印刷前に一連の
画像処理を施す装置である。
FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to
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
The
また、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
また、外部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
This is a semiconductor memory connected to the
Is a DDR-SDRAM, and 20 to 30 clocks are required to read / write one word.
また、メモリカード3は、装置に対して着脱可能であって、JPEGでエンコードされ
た画像データを含むJPEGファイルを記憶する不揮発性の半導体メモリを有する記憶媒
体である。なお、メモリカード3は、図示せぬインタフェース回路を介してバス20に接
続される。
The
また、プリンタ駆動部4は、プリンタヘッドや各種モータなどの、紙などの媒体への印
刷に必要な電気的および機械的構成部分である。なお、プリンタ駆動部4は、図示せぬイ
ンタフェース回路を介してバス20に接続される。プリンタ駆動部4は、画像処理装置に
よる処理後の画像データに基づいて画像を印刷する印刷手段として機能する。
The
図1に示すASIC1において、CPU11は、駆動制御プログラム45(図3参照)
に従って、一連の画像処理後の画像データに基づいて、プリンタ駆動部4を制御するCP
Uである。
In the
CP for controlling the
U.
また、CPU12は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部12aの他に、JPEGデコード用の専用命令を実行可能なJPEGデコード専用
命令演算部12bを有し、主に、JPEGデコードを実行するCPUである。
The
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
また、CPU13は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部13aの他に、画像補正用の専用命令を実行可能な画像補正専用命令演算部13b
を有し、主に、画像補正を実行するCPUである。なお、画像補正としては、トーン調整
および彩度強調を行う第1処理、シャープネス(先鋭度の調整)を行う第2処理、および
ノイズ除去を行う第3処理のうちの1または複数が必要に応じて行われる。なお、各処理
は、例えば出願人が提供するAPF(Auto Photo Fine )と同様に行えばよい。
In addition to the general-purpose
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
That is, the image correction dedicated
また、CPU14は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部14aの他に、色変換用の専用命令を実行可能な色変換専用命令演算部14bを有
し、主に、色変換を実行するCPUである。なお、この実施の形態1では、色変換として
、RGBデータからCYMKデータへの変換が行われる。
Further, the
色変換用の専用命令は、色変換処理時に多用される一連の演算を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
また、CPU15は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部15aの他に、ハーフトーン用の専用命令を実行可能なハーフトーン専用命令演算
部15bを有し、主に、ハーフトーンを実行するCPUである。CPU16〜CPU18
は、それぞれ、CPU15と同様の構成を有し、汎用命令演算部16a,17a,18a
とハーフトーン専用命令演算部16b,17b,18bを有する。
Further, the
Respectively have the same configuration as the
And halftone dedicated instruction calculation units 16b, 17b, and 18b.
4個のCPU15〜18は、ハーフトーンを並列に実行するCPU群である。また、ハ
ーフトーンの分散処理時には、他のCPU(CPU12〜14)が、CPU15〜18と
ともに使用される。
The four
ハーフトーン用の専用命令は、ハーフトーン時に多用される一連の演算を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
この実施の形態1では、ハーフトーン専用命令演算部15b〜18bを有するCPU1
5〜18が4個設けられているが、ハーフトーン専用命令演算部15b〜18bを有する
CPUの数は、別の数でもよい。その数は、色変換後の色数に応じて決定してもよい。
In the first embodiment, the
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
A bus connecting M21 and M22, and a data transmission path between them. A
また、デュアルポートRAM21,22は、ASIC1に内蔵され、入出力ポートを2
つ有し、一方のポートと他方のポートへのリード/ライトを独立に実行可能なRAMであ
る。デュアルポートRAM21,22は、スタティックRAM(SRAM)で構成され、
外部RAM2より高速にデータのリード/ライトをすることが可能である。デュアルポー
トRAM21,22の記憶容量は、数〜数十キロバイトとされ、外部RAM2の記憶領域
より小さい。
The dual port RAMs 21 and 22 are built in the
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
デュアルポートRAM21,22の一方のポートはローカルバス19に接続され、他方
のポートは、CPU12とCPU14にそれぞれ直接に接続される。
One port of the dual port RAMs 21 and 22 is connected to the
図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
This memory cannot be accessed from the PU.
また、データ管理部34は、プログラム実行時におけるデータの入出力を管理する。ま
た、データキャッシュ35は、ロードされたデータや演算結果を一時的に格納するSRA
Mなどの高速なRAMである。また、データRAM36は、CPU12に内蔵されたデー
タ格納用の内部RAMである。データRAM36は、SRAMで構成された高速なメモリ
であり、他のCPUからアクセスできないメモリである
The
It is a high-speed RAM such as M. The
また、メモリインタフェース37は、CPU12に併設されたメモリとの間でデータの
入出力を実行するインタフェースである。メモリインタフェース37は、直接にデュアル
ポートRAM21に接続されるとともに、ローカルバス19を介してデュアルポートRA
M22に接続される。また、外部インタフェース38は、バス20やその他の外部デバイ
スに接続され、バス20を介して、ASIC1外部の周辺デバイス(外部RAM2など)
との間でデータの入出力を実行するインタフェースである。
The
Connected to M22. The
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
データ管理部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
The other port is read / written via 9. Similarly, when the
3 and 15 to 18 read / write to the other port via the
図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
The
図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
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
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
Are executed by the general-purpose
なお、JPEGデコードプログラム41sとJPEGデコードプログラム41gとでは
、一部に異なる命令が使用されるが、同一データに対して、JPEGデコードプログラム
41sによる演算結果とJPEGデコードプログラム41gによる演算結果は、同一とな
る。
The JPEG decode program 41s and the
また、画像補正プログラム42sは、CPU13が画像補正を実行するためのプログラ
ムである。画像補正プログラム42sは、画像補正用の専用命令を使用して記述されたプ
ログラムである。したがって、画像補正プログラム42sのうち、専用命令は、専用命令
演算部13bで実行され、その他の汎用命令は、汎用命令演算部13aで実行される。こ
のため、ASIC1内のCPU13以外のCPUでは、このプログラム42sは実行され
ない。
The image correction program 42s is a program for the
一方、画像補正プログラム42gは、CPU12,14〜18が画像補正を実行するた
めのプログラムである。画像補正プログラム42gは、汎用命令のみで記述されたプログ
ラムである。したがって、画像補正プログラム42gは、汎用命令演算部12a,14a
〜18aで実行される。
On the other hand, the
Executed at ~ 18a.
なお、画像補正プログラム42sと画像補正プログラム42gとでは、一部に異なる命
令が使用されるが、同一データに対して、画像補正プログラム42sによる演算結果と画
像補正プログラム42gによる演算結果は、同一となる。
The image correction program 42s and the
また、色変換プログラム43sは、CPU14が色変換を実行するためのプログラムで
ある。色変換プログラム43sは、色変換用の専用命令を使用して記述されたプログラム
である。したがって、色変換プログラム43sのうち、専用命令は、専用命令演算部14
bで実行され、その他の汎用命令は、汎用命令演算部14aで実行される。このため、A
SIC1内のCPU14以外のCPUでは、このプログラム43sは実行されない。
The
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
一方、色変換プログラム43gは、CPU12,13,15〜18が色変換を実行する
ためのプログラムである。色変換プログラム43gは、汎用命令のみで記述されたプログ
ラムである。したがって、色変換プログラム43gは、汎用命令演算部12a,13a,
15a〜18aで実行される。
On the other hand, the
It is executed at 15a to 18a.
なお、色変換プログラム43sと色変換プログラム43gとでは、一部に異なる命令が
使用されるが、同一データに対して、色変換プログラム43sによる演算結果と色変換プ
ログラム43gによる演算結果は、同一となる。
The
また、ハーフトーンプログラム44sは、CPU15〜18がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44sは、ハーフトーン用の専用命令
を使用して記述されたプログラムである。したがって、ハーフトーンプログラム44sの
うち、専用命令は、専用命令演算部15b〜18bで実行され、その他の汎用命令は、汎
用命令演算部15a〜18aで実行される。このため、ASIC1内のCPU15〜18
以外のCPUでは、このプログラム44sは実行されない。
The
In other CPUs, the
一方、ハーフトーンプログラム44gは、CPU12〜14がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44gは、汎用命令のみで記述された
プログラムである。したがって、ハーフトーンプログラム44gは、汎用命令演算部12
a〜14aで実行される。
On the other hand, the halftone program 44g is a program for the
a to 14a.
なお、ハーフトーンプログラム44sとハーフトーンプログラム44gとでは、一部に
異なる命令が使用されるが、同一データに対して、ハーフトーンプログラム44sによる
演算結果とハーフトーンプログラム44gによる演算結果は、同一となる。
The
また、駆動制御プログラム45は、CPU11がプリンタ駆動部4を制御するためのプ
ログラムである。
The
上述のプログラムのうち、専用命令を含むプログラム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
なお、上述のASIC1は、例えばTensilica社のXtensa技術により設
計可能である。Xtensa技術を使用する場合、上述の各専用命令は、Xtensa技
術で提供される命令拡張TIE(Tensilica Instruction Extension )を使用することで
定義可能であり、各専用命令演算部12b〜18bのハードウェア構成も、Xtensa
技術で実現可能である。TIEを使用して設定された専用命令を使用することで、通常、
同一の演算が2〜5倍に高速化されるが、場合によっては数十倍に高速化される。
Note that the
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
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
ここで、実施の形態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
まず、メモリカード3内のJPEGファイル3aに含まれるJPEGデータがCPU1
2に転送される(フローF1)。
First, JPEG data contained in the JPEG file 3a in the
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
CPU12によるJPEGデコード後、デコードされた画像データは、所定のブロック
あるいはバンドごとにCPU12からデュアルポートRAM21に転送され格納された後
、CPU13により読み出される(フローF2)。
After JPEG decoding by the
さらに、画像補正に関するパラメータがデュアルポートRAM21からCPU13によ
り読み出され、そのパラメータに応じた画像補正が、デュアルポートRAM21から読み
出した画像データに対してCPU13により実行される。画像補正後、処理後の画像デー
タは、CPU13から外部RAM2に転送され格納された後、CPU12により読み出さ
れる(フローF3)。
Further, a parameter relating to image correction is read from the
そして、CPU12によるリサイズ・レイアウト処理後、処理後の画像データは、CP
U12から外部RAM2に転送され格納された後、CPU14により読み出される(フロ
ーF4)。
After the resizing / layout processing by the
After being transferred from U12 to the
次に、色変換に関するパラメータがデュアルポートRAM21からCPU14により読
み出され、そのパラメータに応じた色変換がCPU14により実行される。色変換後、処
理後の画像データは、所定サイズのブロックごとにCPU14からデュアルポートRAM
22に転送され格納された後、CPU15〜18に順次読み出される(フローF5)。
Next, a parameter relating to color conversion is read from the
After being transferred to 22 and stored, it is sequentially read out by the
次に、ハーフトーンに関するパラメータがデュアルポートRAM21からCPU15〜
18により読み出され、そのパラメータに応じたハーフトーンがCPU15〜18により
実行される。ハーフトーン後、処理後の画像データは、CPU15〜18から外部RAM
2に転送され格納された後、CPU11により読み出される(フローF6)。
Next, the parameters relating to the halftone are changed from the
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
なお、ここでは、上述のように分散処理は行われないものとして説明したが、専用命令
演算部を有する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
The dual port RAMs 21 and 22 and the
図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
Thus, halftone is executed, and then the control of the
なお、図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
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
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
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 (
図7は、本発明の実施の形態1に係る画像処理装置により実行される分散処理を説明す
るブロック図である。
FIG. 7 is a block diagram illustrating distributed processing executed by the image processing apparatus according to
図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
図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
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
処理能力テーブル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
処理能力テーブル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
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
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
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
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
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,
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
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
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
G
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
2b is executed by the
This is realized by executing
Stored in M2.
なお、分散割合決定処理61および開始処理62は、予め割り当てられたCPUにより
固定的に実行される。また、分散割合決定処理61および開始処理62は、互いに非同期
に繰り返し実行される。
The distribution
分散割合決定処理61は、すべての種別の処理について処理能力情報が更新される毎に
実行される。また、各開始処理62a〜62dは、JPEGデコード、画像補正、色変換
またはハーフトーンが所定量のデータ分完了するごとに繰り返し実行され、その所定量の
データの処理が1または複数の処理部に個別処理63として割り当てられる。
The distribution
そして、各処理種別について、開始処理62により割り当てられた量の個別処理63が
、割り当てられた処理部により実行される。
Then, for each processing type, the
この実施の形態1では、JPEGデコードについて、JPEGデコード専用命令演算部
12bを有するCPU12、またはCPU12と画像処理用のその他のCPU13〜18
のうちの1個のCPU(CPU_X)との2個のCPUに、個別処理63が割り当てられ
る。
In the first embodiment, for JPEG decoding, the
なお、以下、各処理種別について、その処理種別に関する専用命令演算部を有する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
PEG decoding
なお、この実施の形態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
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
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
Image correction
なお、この実施の形態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
1: and 1: 3. Accordingly, the processing ratio for the processing units that execute the
また、この実施の形態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
The color conversion
c is realized by the
なお、この実施の形態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
And 1: 3. Accordingly, the processing ratio for the processing units that execute the
また、この実施の形態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
CPU15-18 which has 5b-18b, or 5 of CPU15-18 and CPU_X
When 15 to 18 and CPU_X execute the halftone individual processing, the
18, the halftone
Further, the halftone
なお、この実施の形態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
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
When halftone is performed at 18, the
一方、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
The binarization processing by the error diffusion method for one color is executed by the
このため、5つのCPUでハーフトーンを実行する場合、ハーフトーン個別処理63d
とハーフトーン個別処理63hとの処理データ量の比(分散割合)は、略4:1とされる
。
Therefore, when halftone is executed by five CPUs,
The ratio (dispersion ratio) of the processing data amount between the
各個別処理63a〜63gでは、割り当てられた画像処理(画像データの1バンドまた
は1ライン分)が完了すると、割り当てられた画像処理に要した時間および処理データ量
などのデータが、処理能力データとして、処理能力テーブル52に格納される。そして、
この処理能力データは、その後の分散割合決定処理61に反映される。
In each of the
This processing capacity data is reflected in the subsequent distribution
なお、この実施の形態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
Two of the individual PEG decoding processes 63b and the other
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,
3, the image
The halftone
ここで、分散割合決定処理61の詳細について説明する。図10は、本発明の実施の形
態1における分散割合決定処理61を説明するフローチャートである。
Here, details of the distribution
まず、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
1, for JPEG decoding, the processing rate of the
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
The processing ratio of 13, 15 to 18 is 0. For halftone, CPU15 ~
The processing ratio of the
次に、CPU12は、画像横方向(縦方向および横方向のうち、隣接する画像領域の画
像データが連続している方向)の始端から終端までの画像データの1バンド分または1ラ
イン分の処理が、すべての処理種別(JPEGデコード、画像補正の3処理、色変換およ
びハーフトーン)について少なくとも1回終了するまで待機する(ステップS12)。
Next, the
なお、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
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
In the first embodiment, for each processing type, individual processing for one band or one
3 is completed, the processing unit that executes the
そして、上述のステップ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
ここで、図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
そして、CPU12は、各処理種別についての処理割合をデフォルトの値にする(ステ
ップS13b)。デフォルトでは、各処理種別について、その処理種別に対応する専用命
令演算部を有するCPUの処理割合が1であり、その他のCPUの処理割合が0である。
したがって、例えば、JPEGデコードについては、CPU12の処理割合は1であり、
CPU13,14,15〜18の処理割合は0である。
Then, the
Therefore, for example, for JPEG decoding, the processing ratio of the
The processing ratio of the
次に、CPU12は、処理部毎の処理時間Tcpu、平均処理時間Tav、および平均
処理時間Tavからの処理部毎の処理時間Tcpuの偏差dTcpuを計算する(ステッ
プS13c)。
Next, the
その際、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
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
pu13, processing time Tcpu14 of
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
次に、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
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
It is specified as
次に、CPU12は、所定の分散割合(1:0,3:1,1:1,1:3など)および
CPU_Xの各組合せについて、CPU_AとCPU_Xの処理割合を計算し、その処理
割合でのCPU_AとCPU_Xの処理時間Tcpuを計算する(ステップS13e)。
Next, the
例えば、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_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
そして、CPU12は、ステップS13gで計算した処理時間Tcpuの最大値が、負
荷分散テーブル51に記録されている処理時間Tcpuの最大値より小さいか否かを判定
する(ステップS13h)。
Then, the
ステップ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
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
このように、処理部毎の処理時間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_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
, 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
図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
(B) The processing time Tcpu of the
(C) The processing time Tcpu of the
(D) The processing time Tcpu of the
また、画像補正の第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
(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
(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
(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
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
(The processing ratio of the CPU 13) and 0.5 (the processing ratio of the
The processing ratio of the
そして、計算された処理割合で、処理時間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
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
そして、このときの処理時間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
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
そして、計算された処理割合、各処理種別の処理時間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
以上のように、上記実施の形態1に係る画像処理装置は、同一領域の画像データに対し
て複数種別の画像処理を順番に施す複数の処理部としてのCPU12〜18と、画像処理
の各種別について1または複数の処理部への分散割合を有し初期値としてデフォルトの分
散割合を有する負荷分散テーブル51と、画像処理の開始後に各画像処理の分散割合を計
算し更新する分散割合更新手段としてのCPU12と、一度も更新されていない分散割合
についてはデフォルトの分散割合を使用して、1種別の画像処理について、その画像処理
を2以上の処理部に分散してそれぞれ実行させる開始処理手段としてのCPU12〜14
とを備える。
As described above, the image processing apparatus according to the first embodiment includes the
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
これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が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 (
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
これにより、すべての処理部が少なくとも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については以下のように実行する。
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
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
, 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
It is assigned to any one of U13,
図14は、実施の形態2におけるJPEGデコード開始処理62aを説明するフローチ
ャートである。
FIG. 14 is a flowchart for explaining the JPEG
JPEGデコード開始処理62aでは、CPU12は、まず、4×N個のMCU分のJ
PEGデータをメモリカード3のJPEGファイル3aから外部RAM2へ読み込む(ス
テップS21)。
In the JPEG
PEG data is read from the JPEG file 3a of the
なお、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
22).
そして、CPU12は、負荷分散テーブル51におけるJPEGデコードについてのC
PU12の処理割合の値を読み出し、その値が1であるか否かに基づいて、JPEGデコ
ードを2つの処理部で分散処理するか否かを判定する(ステップS23)。なお、CPU
12は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合
の値が1未満である場合には分散処理をすると判定する。
Then, the
The processing ratio value of the
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
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
If it is not the leftmost part), the process waits until the individual processing assigned to the CPU_X other than the
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_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
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
Is requested to CPU_X (step S27). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the
このようにして、ステップS24〜S27の処理により、CPU12以外のCPU_X
へ分散処理が与えられる。一方、ステップS23においてJPEGデコードを分散処理し
ないと判定された場合には、ステップS24〜S27の処理はスキップされる。
In this way, the CPU_X other than the
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
When the U12 executes the JPEG decoding
A function or routine of the G decode
6 and used for the
このようにして、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
The
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
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
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
CPU12は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データをJPEG処理時間データとし、合計画素数データをJPEG処理画素数
データとして、処理能力テーブル52における、JPEGデコードについてのCPU12
の処理能力情報を更新する(ステップS36)。このとき、処理能力情報としては、JP
EG処理画素数データをJPEG処理時間データで除算した処理速度などが使用される。
更新後、ローカルデータである合計処理時間データおよび合計画素数データは、0にリセ
ットされる(ステップS37)。
If the
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
なお、分散処理の場合には、CPU12とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU12の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についてのJPEGデコード個別処理63
eの際に収集された処理能力情報で、処理能力テーブル52におけるJPEGデコードに
ついてのCPU_Xの処理能力情報が更新される。
In the case of distributed processing, the
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
以上のように、上記実施の形態2によれば、JPEGデコード開始処理62aおよびJ
PEGデコード個別処理63a,63eが効率良く実行される。
As described above, according to the second embodiment, JPEG
The individual PEG decoding processes 63a and 63e are executed efficiently.
実施の形態3.
本発明の実施の形態3に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、画像補正の開始処理および個別処理については以下のように
実行する。
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
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
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
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,
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
まず、CPU13は、ユーザの設定に基づいて、第3処理(ノイズ除去)を実行するか
否かを判定し(ステップS41)、第3処理を実行する場合には、第3処理の1ライン処
理を実行する(ステップS42)。一方、第3処理(ノイズ除去)を実行しない場合には
、ステップS42はスキップする。
First, the
次に、CPU13は、第1処理(トーン調整および彩度強調)の1ライン処理を実行す
る(ステップS43)。
Next, the
そして、第1処理が完了すると、CPU13は、ユーザの設定に基づいて、第2処理(
シャープネス)の1ライン処理を実行するか否かを判定し(ステップS44)、第2処理
を実行する場合には、第2処理の1ライン処理を実行する(ステップS45)。一方、第
2処理(シャープネス)を実行しない場合には、ステップS45はスキップする。
Then, when the first process is completed, the
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
51). The
画像補正の第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
その際、CPU13は、負荷分散テーブル51における画像補正の第x処理についての
CPU13以外のCPU12,14〜18の処理割合の値が0以外である処理部をCPU
_Xとし、処理対象となる1ライン分の画像データを分散割合で分割し、各処理割合分に
応じた画像データをCPU13およびCPU_Xに割り当てる(ステップS52)。
At this time, the
_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
例えば、分散割合が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
そして、CPU13は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のJPEGデコード後の画像データの格納領域のアドレス)を、デ
ュアルポートRAM21に書き込む(ステップS53)。
Then, the
そして、CPU13は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63f
をCPU_Xに依頼する(ステップS54)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM21の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M21から読み込む。
Then, the
Is requested to CPU_X (step S54). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the
Read from M21.
このようにして、ステップS52〜S54の処理により、CPU13以外のCPU_X
へ分散処理が与えられる。一方、ステップS51において画像補正の第x処理を分散処理
しないと判定された場合には、ステップS52〜S54の処理はスキップされる。
In this way, the CPU_X other than the
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
CPU13は、今回の1ライン処理を分散処理しているか否かを判定し(ステップS5
6)、分散処理していない場合には、画像補正の第x処理の個別処理63bが完了すると
1ライン処理を終了する。一方、分散処理をしている場合には、CPU13は、画像補正
の第x処理の個別処理63bの完了後、CPU_Xによる第x処理の個別処理63fの完
了まで待機し(ステップS57)、CPU_Xによる第x処理の個別処理63fが完了す
ると1ライン処理を終了する。
The
6) When the distributed processing is not performed, the one-line processing is ended when the
このようにして、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
CPU13は、個別処理63bの開始時のCPUタイマの値Tsを保存した後(ステッ
プS61)、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して第x処理の演算を施し(ステップS62
)、その演算が完了すると、その時のCPUタイマの値Teを検出し(ステップS63)
、両者の差(Te−Ts)を計測時間とする。
After saving the CPU timer value Ts at the start of the
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
このようにすることにより、1ラインの処理ごとに、1ライン分の画像データの処理割
合分についての画像補正個別処理63bの際に収集された処理能力情報で、処理能力テー
ブル52における画像補正についてのCPU13の処理能力情報が更新される。
By doing so, the processing capability information collected during the image correction
なお、分散処理の場合には、CPU13とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU13の処理能力情報の他、分散処理の場合には、1ラインの処理
ごとに、1ライン分の画像データの処理割合分についての画像補正個別処理63fの際に
収集された処理能力情報で、処理能力テーブル52における画像補正についてのCPU_
Xの処理能力情報が更新される。
In the case of distributed processing, the
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
実施の形態4.
本発明の実施の形態4に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、色変換およびハーフトーンの開始処理62c,62dおよび
個別処理63c,63g,63d,63hについては以下のように実行する。
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
本実施の形態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
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
The load distribution table 51 is connected to any one of the
Assigned based on the distribution ratio.
さらに、本実施の形態4では、ハーフトーン開始処理62dが、CPU14により色変
換開始処理62cにおいて実行される。ハーフトーン個別処理(63d,63h)は、1
または2の処理部に割り当てられる。
Further, in the fourth embodiment, the
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
15 to 18 and any of
図19は、実施の形態4における色変換開始処理62cを説明するフローチャートであ
る。
FIG. 19 is a flowchart for explaining the color
色変換開始処理62cでは、CPU14は、負荷分散テーブル51における色変換につ
いてのCPU14の処理割合の値を読み出し、その値が1であるか否かに基づいて、色変
換を2つの処理部で分散処理するか否かを判定する(ステップS71)。なお、CPU1
4は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の
値が1未満である場合には分散処理をすると判定する。
In the color
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
その際、CPU14は、負荷分散テーブル51における色変換についてのCPU14以
外のCPU12,13,15〜18の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU14およびCPU_Xに割り当てる(ステップS72)。
At that time, the
なお、色変換における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
M pixel regions are assigned to CPU_X.
そして、CPU14は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のリサイズ・レイアウト後の画像データの格納領域のアドレス)を
、デュアルポートRAM22に書き込む(ステップS73)。
Then, the
そして、CPU14は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63g
をCPU_Xに依頼する(ステップS74)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM22の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M22から読み込む。
Then, the
Is requested to CPU_X (step S74). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the
Read from M22.
このようにして、ステップS72〜S74の処理により、CPU14以外のCPU_X
へ分散処理が与えられる。一方、ステップS71において色変換を分散処理しないと判定
された場合には、ステップS72〜S74の処理はスキップされる。
In this way, the CPU_X other than the
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
75). When executing the
3c functions and routines are called and executed.
CPU14は、処理割合分の個別処理63cが完了すると、ハーフトーン開始処理を実
行する(ステップS76)。これにより、後述のようにして、CPU14による個別処理
63cの後の画像データに対して、ハーフトーン処理が実行される。
When the
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
一方、色変換処理を分散処理していない場合には、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
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
なお、この実施の形態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
CPU14は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データを色変換処理時間データとし、合計画素数データを色変換処理画素数デー
タとして、処理能力テーブル52における、色変換についてのCPU14の処理能力情報
を更新する(ステップS86)。このとき、処理能力情報としては、色変換処理画素数デ
ータを色変換処理時間データで除算した処理速度などが使用される。更新後、ローカルデ
ータである合計処理時間データおよび合計画素数データは、0にリセットされる(ステッ
プS87)。
If the
また、このようにすることにより、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
なお、分散処理の場合には、CPU14とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU14の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についての色変換個別処理63gの際に収
集された処理能力情報で、処理能力テーブル52における色変換についてのCPU_Xの
処理能力情報が更新される。
In the case of distributed processing, the
このように、色変換個別処理(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
図21は、実施の形態4におけるハーフトーン開始処理62dを説明するフローチャー
トである。
FIG. 21 is a flowchart for explaining
ハーフトーン開始処理62dでは、CPU14は、色変換後の画像データを、色別に分
離してデュアルポートRAM22に書き込む(ステップS91)。その際、各色のデータ
は、2×256画素のブロックとされる。
In the
次に、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU1
5〜18の処理割合の値を読み出し、その値が1であるか否かに基づいて、ハーフトーン
を5つのCPUで分散処理するか否かを判定する(ステップS92)。なお、CPU14
は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の値
が1未満である場合には分散処理をすると判定する。
Next, the
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).
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
その際、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU
15〜18以外のCPU12〜14の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU15〜18およびCPU_Xに割り当てる(ステップS92)。
At that time, the
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
Is requested to CPU_X (step S94). The interrupt is performed by transmitting an interrupt signal via a control line that interconnects the
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
このようにして、ステップS93,S94の処理により、CPU15〜18へ分散処理
が与えられたり、CPU15〜18以外のCPU_Xへ分散処理が与えられたりする。
In this way, the distributed processing is given to the
その後、CPU14は、CPU15〜18によるハーフトーン個別処理63dが終了す
るまで待機する(ステップS95)。そして、CPU15〜18によるハーフトーン個別
処理63dが終了すると、5つのCPUで分散処理をしている場合には、CPU14は、
CPU_Xによるハーフトーン個別処理63hが終了するまで待機し、個別処理63hが
終了すると、ハーフトーン開始処理を終了する。一方、5つのCPUで分散処理をしてい
ない場合には、CPU15〜18によるハーフトーン個別処理63dが終了すると、CP
U14は、ハーフトーン開始処理を終了する。
Thereafter, the
The CPU waits until the halftone
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
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
Step S101), image data corresponding to the processing rate of the color assigned in advance is read from the
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
The
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
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,
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
CPU15〜18は、今回の処理が1バンド内の最後の処理であると判定した場合には
、合計処理時間データをHT処理時間データとし、合計画素数データをHT処理画素数デ
ータとして、処理能力テーブル52における、ハーフトーンについてのCPU15〜18
の処理能力情報を更新する(ステップS106)。このとき、処理能力情報としては、H
T画素数データをHT処理時間データで除算した処理速度などが使用される。更新後、ロ
ーカルデータである合計処理時間データおよび合計画素数データは、0にリセットされる
(ステップS107)。
When the
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
なお、分散処理の場合には、CPU15〜18とCPU_Xは、上述の処理をそれぞれ
実行する。したがって、CPU15〜18の処理能力情報の他、分散処理の場合には、1
バンドの処理ごとに、1バンド分の画像データの処理割合分についてのハーフトーン個別
処理63hの際に収集された処理能力情報で、処理能力テーブル52におけるハーフトー
ンについてのCPU_Xの処理能力情報が更新される。
Note that in the case of distributed processing, the
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
このように、ハーフトーン個別処理(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
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
また、実施の形態1〜4では、CPU15〜18は1つのプロセッサとして負荷管理さ
れているが、その代わりに、4つのCPU15〜18それぞれについて、他のCPU12
〜14と同様に負荷管理を実行して、負荷バランスを保つようにしてもよい。
In the first to fourth embodiments, the
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
また、実施の形態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
また、実施の形態1〜4において、リサイズ・レイアウト処理については分散処理せず
にCPU12が実行しているが、他の処理種別と同様にして分散処理するようにしてもよ
い。
In the first to fourth embodiments, the resizing / layout process is performed by the
また、実施の形態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
また、実施の形態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
また、実施の形態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
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
Even during the update, the load distribution table 51 is referred to smoothly in the
また、実施の形態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 ASIC(プロセッサ)、4 プリンタ駆動部(印刷手段)、12 CPU(複数
の処理部の一部,分散割合更新手段,開始処理手段,処理能力テーブル更新手段)、13
,14 CPU(複数の処理部の一部,開始処理手段,処理能力テーブル更新手段)、1
5〜18 CPU(複数の処理部の一部,処理能力テーブル更新手段)、51 負荷分散
テーブル、52a 処理能力テーブル(デフォルト処理能力テーブル)、52b 処理能
力テーブル。
DESCRIPTION OF
, 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または請求項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:
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:
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)
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 |
-
2004
- 2004-12-06 JP JP2004352333A patent/JP2006163674A/en not_active Withdrawn
Cited By (5)
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 |