(57)【要約】【課題】  複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、さらに処理部が３以上であっても適切に負荷分散を行うことができるようにすること。【解決手段】  この画像処理装置は、同一領域の画像データに対して複数種別の画像処理を順番に施す複数の処理部としてのＣＰＵ１２〜１８と、画像処理の各種別に関する１または複数の処理部への分散割合を有し初期値としてデフォルトの分散割合を有する負荷分散テーブル５１と、画像処理の開始後に各画像処理の分散割合を計算し負荷分散テーブル５１を更新する分散割合更新手段としてのＣＰＵ１２と、一度も更新されていない分散割合についてはデフォルトの分散割合を使用して、少なくとも１種別の画像処理について、その画像処理を２以上の処理部に分散してそれぞれ実行させる開始処理手段としてのＣＰＵ１２〜１４とを備える。【選択図】  図７
2006163674.tif 000002
【特許請求の範囲】
【請求項１】
同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装置において
、
同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部と、
上記画像処理の各種別に関する１または複数の処理部への分散割合を有する負荷分散テ
ーブルと、
画像処理の開始後に各画像処理の分散割合を計算し上記負荷分散テーブルにおける分散
割合を更新する分散割合更新手段と、
上記分散割合更新手段により一度も更新されていない上記分散割合については上記デフ
ォルトの分散割合を使用して、少なくとも１種別の画像処理について、その画像処理を２
以上の処理部に分散してそれぞれ実行させる開始処理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数の処理部のそれぞれの処理能力値を格納する処理能力テーブルと、
前記複数の処理部のそれぞれの処理能力値のデフォルト値を格納するデフォルト処理能
力テーブルと、
前記複数の処理部のそれぞれによる所定量の画像データに対する処理時間に基づいて上
記処理能力テーブルの処理能力値を更新する処理能力テーブル更新手段とを備え、
前記分散割合更新手段は、上記処理能力テーブルを優先的に参照して、上記処理能力テ
ーブルおよび上記デフォルト処理能力テーブルに基づいて各画像処理の分散割合を計算し
上記負荷分散テーブルに設定すること、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記処理能力テーブル更新手段は、前記処理部によりプログラムを実行することで実現
され、１ラインまたは１バンドごとの処理時間および処理画素数に基づいて処理能力値を
更新することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記処理能力テーブルは、前記複数の処理部のそれぞれについて前記複数種別の画像処
理の種別ごとに、処理能力値を有することを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記分散割合更新手段は、前記分散割合を設定した後、前記複数種別のうち１ラインま
たは１バンド分の処理時間が最も遅い種別の画像処理が完了すると、再度、前記分散割合
を設定することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項６】
複数の処理として少なくとも色変換およびハーフトーンを実行する請求項１から請求項
５のうちのいずれか１項記載の画像処理装置と、
上記画像処理装置による処理後の画像データに基づいて画像を印刷する印刷手段と、
を備えることを特徴とする印刷装置。
【請求項７】
複数の処理部により同一領域の画像データに対して複数種別の画像処理を順番に施す画
像処理装置における負荷分散方法において、
同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部への
、上記画像処理の処理種別ごとの分散割合を有する負荷分散テーブルを、画像処理の開始
後に計算される各画像処理の分散割合で更新するステップと、
上記負荷分散テーブルにおいて一度も更新されていない分散割合については上記デフォ
ルトの分散割合を使用して、少なくとも１種別の画像処理について、その画像処理を２以
上の処理部に分散してそれぞれ実行させるステップと、
を備えることを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装
置、印刷装置およびそれらの装置における負荷分散方法に関するものである。
【背景技術】
【０００２】
従来から、２つのＣＰＵを有する印刷装置が提案されている（例えば、特許文献１参照
）。例えば特許文献１の印刷装置では、第１のＣＰＵを有する第１の制御区画が、印刷デ
ータを中間段階のデータに変換する処理を制御し、第２のＣＰＵを有する第２の制御区画
が、中間段階のデータを印刷機構に出力可能なビットマップデータに変換する処理を制御
する。
【０００３】
この印刷装置では、第１の制御区画および第２の制御区画が、互いに第２の制御区画お
よび第１の制御区画が実行すべき処理を実行し得る機能を有している。そして、第１の制
御区画および第２の制御区画の一方が過負荷状態になると、他方へプロセスの一部を移動
させる。
【０００４】
【特許文献１】特開２００３−２５１８６７号公報（要約など）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来の印刷装置では、一方の制御区画が過負荷状態になった後、
その一方の制御区画から他方の制御区画へプロセスの一部が移動されるため、処理の最初
から適切に負荷分散を行われない可能性がある。また、上述の従来の印刷装置における制
御区画は２つのみであるため、上述のように一方から他方へプロセスの一部を移動するこ
とができるが、制御区画（処理部）が３以上である場合では、複数の制御区画（処理部）
が過負荷状態となったりするなど、様々な状況が発生するため、上述の従来の印刷装置に
おける負荷分散手法を処理部が３以上である場合にそのまま適用することは困難である。
【０００６】
本発明は、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、さ
らに処理部が３以上であっても適切に負荷分散を行うことができる画像処理装置、印刷装
置および負荷分散方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明では以下のようにした。
【０００８】
本発明に係る画像処理装置は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部と、画像処理の各種別に関する１または複数の処理部への分散割合
を有する負荷分散テーブルと、画像処理の開始後に各画像処理の分散割合を計算し負荷分
散テーブルにおける分散割合を更新する分散割合更新手段と、分散割合更新手段により一
度も更新されていない分散割合についてはデフォルトの分散割合を使用して、少なくとも
１種別の画像処理について、その画像処理を２以上の処理部に分散してそれぞれ実行させ
る開始処理手段とを備える。
【０００９】
これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が３以上であっても適切に負荷分散を行うことができる。
【００１０】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよ
い。つまり、その場合、この画像処理装置は、さらに、複数の処理部のそれぞれの処理能
力値を格納する処理能力テーブルと、複数の処理部のそれぞれの処理能力値のデフォルト
値を格納するデフォルト処理能力テーブルと、複数の処理部のそれぞれによる所定量の画
像データに対する処理時間に基づいて処理能力テーブルの処理能力値を更新する処理能力
テーブル更新手段とを備える。そして、分散割合更新手段は、処理能力テーブルを優先的
に参照して、処理能力テーブルおよびデフォルト処理能力テーブルに基づいて各画像処理
の分散割合を計算し負荷分散テーブルに設定する。
【００１１】
これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が３以上であ
っても適切に負荷分散を行うことができる。
【００１２】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、処理能力テーブル更新手段は、処理部によりプログラ
ムを実行することで実現され、１ラインまたは１バンドごとの処理時間および処理画素数
に基づいて処理能力値を更新する。
【００１３】
これにより、実際の画像データを処理している際の処理能力値を取得して分散割合に反
映されるため、個々の画像データに対する画像処理の各種別の計算量に対応して、正確な
負荷分散が可能となる。
【００１４】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、処理能力テーブルは、複数の処理部のそれぞれについ
て複数種別の画像処理の種別ごとに、処理能力値を有する。
【００１５】
これにより、例えば処理部が所定の種別の画像処理に対してのみ最適化されているよう
な場合でも、正確な処理能力値を得ることができ、ひいては正確な負荷分散を行うことが
できる。
【００１６】
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、分散割合更新手段は、分散割合を設定した後、複数種
別のうち１ラインまたは１バンド分の処理時間が最も遅い種別の画像処理が完了すると、
再度、前記分散割合を設定する。
【００１７】
これにより、すべての処理部が少なくとも１ラインまたは１バンド分の処理を実行して
から分散割合が設定されるため、各時点での処理能力値を反映した適切な分散割合を設定
することができる。
【００１８】
本発明に係る印刷装置は、複数の処理として少なくとも色変換およびハーフトーンを実
行する上記画像処理装置のいずれかと、その画像処理装置による処理後の画像データに基
づいて画像を印刷する印刷手段とを備える。
【００１９】
これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が３以上であ
っても適切に負荷分散を行うことができる。ひいては、印刷処理を高速に実行することが
できる。
【００２０】
本発明に係る負荷分散方法は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部への、画像処理の処理種別ごとの分散割合を有する負荷分散テーブ
ルを、画像処理の開始後に計算される各画像処理の分散割合で更新するステップと、負荷
分散テーブルにおいて一度も更新されていない分散割合についてはデフォルトの分散割合
を使用して、少なくとも１種別の画像処理について、その画像処理を２以上の処理部に分
散してそれぞれ実行させるステップとを備える。
【００２１】
これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が３以上であっても適切に負荷分散を行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、図に基づいて本発明の実施の形態を説明する。
【００２３】
実施の形態１．
図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。本
発明の実施の形態１に係る画像処理装置は、印刷装置に内蔵され、ＪＰＥＧ（Joint Phot
ographic Experts Group ）画像データなどといった画像データに対して印刷前に一連の
画像処理を施す装置である。
【００２４】
図１において、ＡＳＩＣ１は、１つのチップで構成されたマルチＣＰＵ（Central Proc
essing Unit）のプロセッサである。ＡＳＩＣ１は、８個のＣＰＵ１１〜１８を内蔵し、
ＣＰＵ１１でプリンタ駆動部４の制御を行い、７個のＣＰＵ１２〜１８でＪＰＥＧデコー
ド、画像補正、色変換およびハーフトーンからなる複数の一連の画像処理を実行するプロ
セッサである。この実施の形態１では、ＪＰＥＧデコード、画像補正、色変換およびハー
フトーンといった複数の互いに異なる処理が画像データに順番に施され、ＪＰＥＧデコー
ド、画像補正、色変換、ハーフトーンの順番でパイプライン処理が実行される。
【００２５】
また、ＪＰＥＧデコード、画像補正、色変換およびハーフトーンのうちの１または複数
の処理は、ＣＰＵ１２〜１８の負荷バランスに応じて、ＣＰＵ１２〜１８のうちの複数の
ＣＰＵで分散処理される。
【００２６】
また、外部ＲＡＭ（Random Access Memory）２は、バス２０を介してＡＳＩＣ１の各Ｃ
ＰＵ１１〜１８に接続された半導体メモリである。この実施の形態１では、外部ＲＡＭ２
は、ＤＤＲ−ＳＤＲＡＭとされ、１ワードのリード／ライトに２０〜３０クロックが必要
となる。
【００２７】
また、メモリカード３は、装置に対して着脱可能であって、ＪＰＥＧでエンコードされ
た画像データを含むＪＰＥＧファイルを記憶する不揮発性の半導体メモリを有する記憶媒
体である。なお、メモリカード３は、図示せぬインタフェース回路を介してバス２０に接
続される。
【００２８】
また、プリンタ駆動部４は、プリンタヘッドや各種モータなどの、紙などの媒体への印
刷に必要な電気的および機械的構成部分である。なお、プリンタ駆動部４は、図示せぬイ
ンタフェース回路を介してバス２０に接続される。プリンタ駆動部４は、画像処理装置に
よる処理後の画像データに基づいて画像を印刷する印刷手段として機能する。
【００２９】
図１に示すＡＳＩＣ１において、ＣＰＵ１１は、駆動制御プログラム４５（図３参照）
に従って、一連の画像処理後の画像データに基づいて、プリンタ駆動部４を制御するＣＰ
Ｕである。
【００３０】
また、ＣＰＵ１２は、ＣＰＵ１２〜ＣＰＵ１８に共通な汎用命令を実行可能な汎用命令
演算部１２ａの他に、ＪＰＥＧデコード用の専用命令を実行可能なＪＰＥＧデコード専用
命令演算部１２ｂを有し、主に、ＪＰＥＧデコードを実行するＣＰＵである。
【００３１】
ＪＰＥＧデコード用の専用命令は、ＪＰＥＧデコード時に多用される一連の演算を１つ
の命令に集約したものであり、ＪＰＥＧデコード専用命令演算部１２ｂは、その専用命令
に対応して、その一連の演算を、汎用命令演算部１２ａより少ないクロック数で実行可能
な演算器構成を有する。なお、そのような専用命令は、１つに限定されず、必要に応じて
設計時に定義される。つまり、ＪＰＥＧデコード専用命令演算部１２ｂは、１または複数
の専用命令に対応して動作する、ＪＰＥＧデコード高速化のための専用ハードウェアとい
える。
【００３２】
また、ＣＰＵ１３は、ＣＰＵ１２〜ＣＰＵ１８に共通な汎用命令を実行可能な汎用命令
演算部１３ａの他に、画像補正用の専用命令を実行可能な画像補正専用命令演算部１３ｂ
を有し、主に、画像補正を実行するＣＰＵである。なお、画像補正としては、トーン調整
および彩度強調を行う第１処理、シャープネス（先鋭度の調整）を行う第２処理、および
ノイズ除去を行う第３処理のうちの１または複数が必要に応じて行われる。なお、各処理
は、例えば出願人が提供するＡＰＦ（Auto Photo Fine ）と同様に行えばよい。
【００３３】
画像補正用の専用命令は、画像補正処理時に多用される一連の演算を１つの命令に集約
したものであり、画像補正専用命令演算部１３ｂは、その専用命令に対応して、その一連
の演算を、汎用命令演算部１３ａより少ないクロック数で実行可能な演算器構成を有する
。なお、そのような専用命令は、１つに限定されず、必要に応じて設計時に定義される。
つまり、画像補正専用命令演算部１３ｂは、１または複数の専用命令に対応して動作する
、画像補正高速化のための専用ハードウェアといえる。
【００３４】
また、ＣＰＵ１４は、ＣＰＵ１２〜ＣＰＵ１８に共通な汎用命令を実行可能な汎用命令
演算部１４ａの他に、色変換用の専用命令を実行可能な色変換専用命令演算部１４ｂを有
し、主に、色変換を実行するＣＰＵである。なお、この実施の形態１では、色変換として
、ＲＧＢデータからＣＹＭＫデータへの変換が行われる。
【００３５】
色変換用の専用命令は、色変換処理時に多用される一連の演算を１つの命令に集約した
ものであり、色変換専用命令演算部１４ｂは、その専用命令に対応して、その一連の演算
を、汎用命令演算部１４ａより少ないクロック数で実行可能な演算器構成を有する。なお
、そのような専用命令は、１つに限定されず、必要に応じて設計時に定義される。つまり
、色変換専用命令演算部１４ｂは、１または複数の専用命令に対応して動作する、色変換
高速化のための専用ハードウェアといえる。
【００３６】
また、ＣＰＵ１５は、ＣＰＵ１２〜ＣＰＵ１８に共通な汎用命令を実行可能な汎用命令
演算部１５ａの他に、ハーフトーン用の専用命令を実行可能なハーフトーン専用命令演算
部１５ｂを有し、主に、ハーフトーンを実行するＣＰＵである。ＣＰＵ１６〜ＣＰＵ１８
は、それぞれ、ＣＰＵ１５と同様の構成を有し、汎用命令演算部１６ａ，１７ａ，１８ａ
とハーフトーン専用命令演算部１６ｂ，１７ｂ，１８ｂを有する。
【００３７】
４個のＣＰＵ１５〜１８は、ハーフトーンを並列に実行するＣＰＵ群である。また、ハ
ーフトーンの分散処理時には、他のＣＰＵ（ＣＰＵ１２〜１４）が、ＣＰＵ１５〜１８と
ともに使用される。
【００３８】
ハーフトーン用の専用命令は、ハーフトーン時に多用される一連の演算を１つの命令に
集約したものであり、ハーフトーン専用命令演算部１５ｂ〜１８ｂは、その専用命令に対
応して、その一連の演算を、汎用命令演算部１５ａ〜１８ａより少ないクロック数で実行
可能な演算器構成を有する。なお、そのような専用命令は、１つに限定されず、必要に応
じて設計時に定義される。つまり、ハーフトーン専用命令演算部１５ｂ〜１８ｂは、１ま
たは複数の専用命令に対応して動作する、ハーフトーン高速化のための専用ハードウェア
といえる。
【００３９】
この実施の形態１では、ハーフトーン専用命令演算部１５ｂ〜１８ｂを有するＣＰＵ１
５〜１８が４個設けられているが、ハーフトーン専用命令演算部１５ｂ〜１８ｂを有する
ＣＰＵの数は、別の数でもよい。その数は、色変換後の色数に応じて決定してもよい。
【００４０】
また、ローカルバス１９は、ＡＳＩＣ１内で、ＣＰＵ１１〜１８とデュアルポートＲＡ
Ｍ２１，２２とを接続するバスであって、これらの間のデータ伝送路である。また、バス
２０は、ＣＰＵ１１〜１８と外部ＲＡＭ２、プリンタ駆動部４およびメモリカード３とを
接続するバスであって、これらの間のデータ伝送路である。なお、ローカルバス１９ａお
よびバス２０は、例えば１２８ビットのデータバスである。
【００４１】
また、デュアルポートＲＡＭ２１，２２は、ＡＳＩＣ１に内蔵され、入出力ポートを２
つ有し、一方のポートと他方のポートへのリード／ライトを独立に実行可能なＲＡＭであ
る。デュアルポートＲＡＭ２１，２２は、スタティックＲＡＭ（ＳＲＡＭ）で構成され、
外部ＲＡＭ２より高速にデータのリード／ライトをすることが可能である。デュアルポー
トＲＡＭ２１，２２の記憶容量は、数〜数十キロバイトとされ、外部ＲＡＭ２の記憶領域
より小さい。
【００４２】
デュアルポートＲＡＭ２１，２２の一方のポートはローカルバス１９に接続され、他方
のポートは、ＣＰＵ１２とＣＰＵ１４にそれぞれ直接に接続される。
【００４３】
図２は、図１におけるＣＰＵ１２の詳細な構成を示すブロック図である。図２において
、命令管理部３１は、プログラム実行時における命令の入出力を管理する。また、命令キ
ャッシュ３２は、フェッチされた命令や実行後の命令を一時的に格納するＳＲＡＭなどの
高速なＲＡＭである。また、命令ＲＡＭ３３は、ＣＰＵ１２に内蔵された命令格納用の内
部ＲＡＭである。命令ＲＡＭ３３は、ＳＲＡＭで構成された高速なメモリであり、他のＣ
ＰＵからアクセスできないメモリである。
【００４４】
また、データ管理部３４は、プログラム実行時におけるデータの入出力を管理する。ま
た、データキャッシュ３５は、ロードされたデータや演算結果を一時的に格納するＳＲＡ
Ｍなどの高速なＲＡＭである。また、データＲＡＭ３６は、ＣＰＵ１２に内蔵されたデー
タ格納用の内部ＲＡＭである。データＲＡＭ３６は、ＳＲＡＭで構成された高速なメモリ
であり、他のＣＰＵからアクセスできないメモリである
【００４５】
また、メモリインタフェース３７は、ＣＰＵ１２に併設されたメモリとの間でデータの
入出力を実行するインタフェースである。メモリインタフェース３７は、直接にデュアル
ポートＲＡＭ２１に接続されるとともに、ローカルバス１９を介してデュアルポートＲＡ
Ｍ２２に接続される。また、外部インタフェース３８は、バス２０やその他の外部デバイ
スに接続され、バス２０を介して、ＡＳＩＣ１外部の周辺デバイス（外部ＲＡＭ２など）
との間でデータの入出力を実行するインタフェースである。
【００４６】
なお、ここでは、一例としてＣＰＵ１２について説明したが、ＣＰＵ１３〜１８につい
ても、図１に示すように専用命令演算部が異なるだけで、他の構成は、図２のものと同様
である。ただし、メモリインタフェース３７は、ＣＰＵ１４では、ローカルバス１９およ
びデュアルポートＲＡＭ２２に接続されるが、その他のＣＰＵ１３，１５〜１８では、ロ
ーカルバス１９に接続される。
【００４７】
データ管理部３４は、ローカルバス１９を介してメモリインタフェース３７に接続され
たデュアルポートＲＡＭ２１，２２に対してリード／ライトをすることが可能である。こ
の場合のデュアルポートＲＡＭ２１，２２へのリード／ライトは、外部ＲＡＭ２へのリー
ド／ライトより速く実行可能である。ＣＰＵ１１〜１８がデュアルポートＲＡＭ２１に対
してリード／ライトを行う場合、ＣＰＵ１２は、ローカルバス１９を介さずに一方のポー
トに対してリード／ライトを行い、その他のＣＰＵ１１，１３〜１８は、ローカルバス１
９を介して他方のポートに対してリード／ライトを行う。同様に、ＣＰＵ１１〜１８がデ
ュアルポートＲＡＭ２２に対してリード／ライトを行う場合、ＣＰＵ１４は、ローカルバ
ス１９を介さずに一方のポートに対してリード／ライトを行い、その他のＣＰＵ１１〜１
３，１５〜１８は、ローカルバス１９を介して他方のポートに対してリード／ライトを行
う。
【００４８】
図３は、図１におけるＣＰＵ１１〜１８により実行されるプログラムを示すブロック図
である。図３に示すプログラム４１ｓ〜４４ｓ，４１ｇ〜４４ｇ，４５は、例えばバス２
０に接続された図示せぬ不揮発性メモリから外部メモリ２にロードされる。
【００４９】
図３において、ＪＰＥＧデコードプログラム４１ｓは、ＣＰＵ１２がＪＰＥＧ画像デー
タをデコードするためのプログラムである。ＪＰＥＧデコードプログラム４１ｓは、ＪＰ
ＥＧデコード用の専用命令を使用して記述されたプログラムである。したがって、ＪＰＥ
Ｇデコードプログラム４１ｓのうち、専用命令は、専用命令演算部１２ｂで実行され、そ
の他の汎用命令は、汎用命令演算部１２ａで実行される。このため、ＡＳＩＣ１内のＣＰ
Ｕ１２以外のＣＰＵでは、実行されない。
【００５０】
一方、ＪＰＥＧデコードプログラム４１ｇは、ＣＰＵ１３〜１８がＪＰＥＧ画像データ
をデコードするためのプログラムである。ＪＰＥＧデコードプログラム４１ｇは、汎用命
令のみで記述されたプログラムである。したがって、ＪＰＥＧデコードプログラム４１ｇ
は、汎用命令演算部１３ａ〜１８ａで実行される。
【００５１】
なお、ＪＰＥＧデコードプログラム４１ｓとＪＰＥＧデコードプログラム４１ｇとでは
、一部に異なる命令が使用されるが、同一データに対して、ＪＰＥＧデコードプログラム
４１ｓによる演算結果とＪＰＥＧデコードプログラム４１ｇによる演算結果は、同一とな
る。
【００５２】
また、画像補正プログラム４２ｓは、ＣＰＵ１３が画像補正を実行するためのプログラ
ムである。画像補正プログラム４２ｓは、画像補正用の専用命令を使用して記述されたプ
ログラムである。したがって、画像補正プログラム４２ｓのうち、専用命令は、専用命令
演算部１３ｂで実行され、その他の汎用命令は、汎用命令演算部１３ａで実行される。こ
のため、ＡＳＩＣ１内のＣＰＵ１３以外のＣＰＵでは、このプログラム４２ｓは実行され
ない。
【００５３】
一方、画像補正プログラム４２ｇは、ＣＰＵ１２，１４〜１８が画像補正を実行するた
めのプログラムである。画像補正プログラム４２ｇは、汎用命令のみで記述されたプログ
ラムである。したがって、画像補正プログラム４２ｇは、汎用命令演算部１２ａ，１４ａ
〜１８ａで実行される。
【００５４】
なお、画像補正プログラム４２ｓと画像補正プログラム４２ｇとでは、一部に異なる命
令が使用されるが、同一データに対して、画像補正プログラム４２ｓによる演算結果と画
像補正プログラム４２ｇによる演算結果は、同一となる。
【００５５】
また、色変換プログラム４３ｓは、ＣＰＵ１４が色変換を実行するためのプログラムで
ある。色変換プログラム４３ｓは、色変換用の専用命令を使用して記述されたプログラム
である。したがって、色変換プログラム４３ｓのうち、専用命令は、専用命令演算部１４
ｂで実行され、その他の汎用命令は、汎用命令演算部１４ａで実行される。このため、Ａ
ＳＩＣ１内のＣＰＵ１４以外のＣＰＵでは、このプログラム４３ｓは実行されない。
【００５６】
一方、色変換プログラム４３ｇは、ＣＰＵ１２，１３，１５〜１８が色変換を実行する
ためのプログラムである。色変換プログラム４３ｇは、汎用命令のみで記述されたプログ
ラムである。したがって、色変換プログラム４３ｇは、汎用命令演算部１２ａ，１３ａ，
１５ａ〜１８ａで実行される。
【００５７】
なお、色変換プログラム４３ｓと色変換プログラム４３ｇとでは、一部に異なる命令が
使用されるが、同一データに対して、色変換プログラム４３ｓによる演算結果と色変換プ
ログラム４３ｇによる演算結果は、同一となる。
【００５８】
また、ハーフトーンプログラム４４ｓは、ＣＰＵ１５〜１８がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム４４ｓは、ハーフトーン用の専用命令
を使用して記述されたプログラムである。したがって、ハーフトーンプログラム４４ｓの
うち、専用命令は、専用命令演算部１５ｂ〜１８ｂで実行され、その他の汎用命令は、汎
用命令演算部１５ａ〜１８ａで実行される。このため、ＡＳＩＣ１内のＣＰＵ１５〜１８
以外のＣＰＵでは、このプログラム４４ｓは実行されない。
【００５９】
一方、ハーフトーンプログラム４４ｇは、ＣＰＵ１２〜１４がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム４４ｇは、汎用命令のみで記述された
プログラムである。したがって、ハーフトーンプログラム４４ｇは、汎用命令演算部１２
ａ〜１４ａで実行される。
【００６０】
なお、ハーフトーンプログラム４４ｓとハーフトーンプログラム４４ｇとでは、一部に
異なる命令が使用されるが、同一データに対して、ハーフトーンプログラム４４ｓによる
演算結果とハーフトーンプログラム４４ｇによる演算結果は、同一となる。
【００６１】
また、駆動制御プログラム４５は、ＣＰＵ１１がプリンタ駆動部４を制御するためのプ
ログラムである。
【００６２】
上述のプログラムのうち、専用命令を含むプログラム４１ｓ〜４４ｓは、専用命令を使
用するとともに、ＣＰＵ内蔵の命令ＲＡＭ３３およびデータＲＡＭ３６を可能な限り使用
するようにして、ＣＰＵ毎に最適化されてコーディングされている。一方、汎用命令のみ
のプログラム４１ｇ〜４４ｇは、ＣＰＵ内蔵の命令キャッシュ３２およびデータキャッシ
ュ３５並びに命令ＲＡＭ３３およびデータＲＡＭ３６の容量を意識して、バス２０を介し
ての外部ＲＡＭ２に対するリード／ライトの回数が少なくなるようにコーディングされて
いる。例えば、あるループ処理内で使用するデータ量をデータキャッシュ３５の容量以下
としたりする。
【００６３】
なお、上述のＡＳＩＣ１は、例えばＴｅｎｓｉｌｉｃａ社のＸｔｅｎｓａ技術により設
計可能である。Ｘｔｅｎｓａ技術を使用する場合、上述の各専用命令は、Ｘｔｅｎｓａ技
術で提供される命令拡張ＴＩＥ（Tensilica Instruction Extension ）を使用することで
定義可能であり、各専用命令演算部１２ｂ〜１８ｂのハードウェア構成も、Ｘｔｅｎｓａ
技術で実現可能である。ＴＩＥを使用して設定された専用命令を使用することで、通常、
同一の演算が２〜５倍に高速化されるが、場合によっては数十倍に高速化される。
【００６４】
次に、上記装置により実行される一連の画像処理について説明する。図４は、実施の形
態１に係る装置により実行される一連の画像処理について説明するフローチャートである
。
【００６５】
この装置では、まず、ＪＰＥＧ画像ファイルに含まれるＪＰＥＧデータがデコードされ
る（ステップＳ１）。デコード後の画像データは、ＲＧＢ画像データである。
【００６６】
次に、必要に応じて、デコード後の画像データに対して、画像補正が施される（ステッ
プＳ２）。画像補正としては、トーン調整および彩度強調を行う第１処理、シャープネス
を行う第２処理、およびノイズ除去を行う第３処理のうちの１または複数が、必要に応じ
て行われる。
【００６７】
そして、画像補正後の画像データに対して、リサイズとレイアウトの処理が実行される
（ステップＳ３）。リサイズ処理では、印刷解像度、印刷用紙サイズ、一枚の用紙に印刷
する画像の数に応じた拡大・縮小率で、画像データのサイズ（縦横の画素数）が変更され
る。また、レイアウト処理では、印刷イメージに一致する画像データ（ＲＧＢデータ）が
生成される。
【００６８】
次に、色座標系の変更が実行される。この実施の形態１では、リサイズとレイアウトの
処理後のＲＧＢ画像データが、ＣＹＭＫ画像データに変換される（ステップＳ４）。なお
、この実施の形態１では、ＲＧＢ画像データが、７色のＣＹＭＫ画像データ（シアンＣ，
イエローＹ，マゼンタＭ，ブラックＫ，レッドＲ，ブルーＢ，クリア（つやだし）ＣＬ）
に変換される。
【００６９】
色変換後のＣＹＭＫ画像データにおける各色の画像データに対してハーフトーンが実行
される（ステップＳ５）。ハーフトーンでは、ディザ法または誤差分散法により各色の画
像データが二値化される。
【００７０】
そして、二値化後の各色の画像データに基づいて、ＣＰＵ１１によりプリンタ駆動部４
が制御され、媒体上に画像が印刷される（ステップＳ６）。その際、例えばマイクロウィ
ーブ処理などが適宜施される。
【００７１】
このようにして、ＪＰＥＧデータといった汎用の画像データが、プリンタ固有の、プリ
ンタ駆動部４の駆動制御に適したデータ形式に変換される。
【００７２】
ここで、実施の形態１に係る画像処理装置において、上述の処理を実行する場合のデー
タの流れについて説明する。なお、ここでは、説明を簡単にするために、ある処理の一部
を、それとは別の種別の処理を実行するＣＰＵに実行させる分散処理は行われないものと
仮定して説明する。ただし、ＣＰＵ１５〜１８は、ハーフトーンを分散処理する。図５は
、実施の形態１に係る画像処理装置において一連の画像処理を実行する場合のデータの流
れについて説明するブロック図である。
【００７３】
まず、メモリカード３内のＪＰＥＧファイル３ａに含まれるＪＰＥＧデータがＣＰＵ１
２に転送される（フローＦ１）。
【００７４】
そして、ＪＰＥＧファイル３ａ、印刷用紙のサイズ、印刷解像度、ユーザ指定の条件に
基づいて、画像補正の種類、度合いなどを指定するパラメータ、色変換時のＬＵＴ（ルッ
クアップテーブル）を指定するパラメータ、ハーフトーンの設定パラメータ（二値化方法
の選択、二値化時の誤差分散の係数パターンなどを設定するためのパラメータ）が生成さ
れ、ＣＰＵ１２からデュアルポートＲＡＭ２１に転送され格納される。
【００７５】
ＣＰＵ１２によるＪＰＥＧデコード後、デコードされた画像データは、所定のブロック
あるいはバンドごとにＣＰＵ１２からデュアルポートＲＡＭ２１に転送され格納された後
、ＣＰＵ１３により読み出される（フローＦ２）。
【００７６】
さらに、画像補正に関するパラメータがデュアルポートＲＡＭ２１からＣＰＵ１３によ
り読み出され、そのパラメータに応じた画像補正が、デュアルポートＲＡＭ２１から読み
出した画像データに対してＣＰＵ１３により実行される。画像補正後、処理後の画像デー
タは、ＣＰＵ１３から外部ＲＡＭ２に転送され格納された後、ＣＰＵ１２により読み出さ
れる（フローＦ３）。
【００７７】
そして、ＣＰＵ１２によるリサイズ・レイアウト処理後、処理後の画像データは、ＣＰ
Ｕ１２から外部ＲＡＭ２に転送され格納された後、ＣＰＵ１４により読み出される（フロ
ーＦ４）。
【００７８】
次に、色変換に関するパラメータがデュアルポートＲＡＭ２１からＣＰＵ１４により読
み出され、そのパラメータに応じた色変換がＣＰＵ１４により実行される。色変換後、処
理後の画像データは、所定サイズのブロックごとにＣＰＵ１４からデュアルポートＲＡＭ
２２に転送され格納された後、ＣＰＵ１５〜１８に順次読み出される（フローＦ５）。
【００７９】
次に、ハーフトーンに関するパラメータがデュアルポートＲＡＭ２１からＣＰＵ１５〜
１８により読み出され、そのパラメータに応じたハーフトーンがＣＰＵ１５〜１８により
実行される。ハーフトーン後、処理後の画像データは、ＣＰＵ１５〜１８から外部ＲＡＭ
２に転送され格納された後、ＣＰＵ１１により読み出される（フローＦ６）。
【００８０】
このように、ＣＰＵ１１〜ＣＰＵ１８の間での画像データの転送には、デュアルポート
ＲＡＭ２１，２２の経路と外部ＲＡＭ２の経路が使用される。
【００８１】
なお、ここでは、上述のように分散処理は行われないものとして説明したが、専用命令
演算部を有するＣＰＵとその他のＣＰＵで分散処理が実行される場合も同様に、ＣＰＵ１
１〜ＣＰＵ１８の間での画像データの転送には、デュアルポートＲＡＭ２１，２２および
外部ＲＡＭ２が使用され、各種別の処理に関するパラメータ、ＪＰＥＧデコード後の画像
データおよび色変換後の画像データの転送は、デュアルポートＲＡＭ２１，２２が使用さ
れる。
【００８２】
図６は、専用命令演算部を有するＣＰＵとその他のＣＰＵで分散処理を行わない場合の
データ処理の流れおよびタイムシーケンスの一例を示す図である。なお、図６では、各処
理の期間が画像データの処理単位となるブロックごとに示されている。また、図中の番号
は、そのブロックの番号を示している。すなわち、「（１）」が付されたブロックは、画
像中の同一箇所についての一連の処理を示している。
【００８３】
図６に示すように、例えば、ブロック（１）については、Ｔ０〜Ｔ１の期間においてＣ
ＰＵ１２によりＪＰＥＧデコードが実行され、Ｔ１〜Ｔ２の期間においてＣＰＵ１３によ
り画像補正が実行され、Ｔ２〜Ｔ３の期間においてＣＰＵ１２によりリサイズとレイアウ
トが実行され、Ｔ３〜Ｔ４の期間においてＣＰＵ１４により色変換が実行されＣＰＵ１５
によりハーフトーンが実行され、その後に、ＣＰＵ１１によるプリンタ駆動部４の制御が
実行される。
【００８４】
なお、図６では、データの転送時間は図示していない。また、色変換が完了したデータ
に対して順次ハーフトーンが実行されるため、同一ブロックについての色変換とハーフト
ーンについては、ほぼ並行して実行される。
【００８５】
また、プロック（１）以降のブロック（２），・・・についても、同様の順番で処理が
実行される。また、ＣＰＵ１１〜ＣＰＵ１８の利用効率を挙げるために、ＪＰＥＧデコー
ド、画像補正、色変換、ハーフトーンおよび駆動部制御については、図６に示すように、
パイプライン処理が実行される。
【００８６】
なお、ここでは、ＣＰＵ１５〜１８によるハーフトーンの分散処理以外には同一の処理
を複数のＣＰＵで実行する分散処理は行われないものとして説明したが、この実施の形態
１では、実際には、同一の処理が複数のＣＰＵ（その処理の専用命令演算部を有するＣＰ
Ｕとその他のＣＰＵ）で分散して実行される場合がある。
【００８７】
ここまででは、この実施の形態１に係る画像処理装置により実行される一連の画像処理
およびその画像処理装置の基本的な動作について簡単に説明するため、ＣＰＵ１５〜１８
によるハーフトーンの分散処理以外には同一の処理を複数のＣＰＵで実行する分散処理は
行われないものとして説明した。次に、この実施の形態１に係る画像処理装置により実行
される分散処理について説明する。
【００８８】
この実施の形態１に係る画像処理装置により実行される分散処理では、（１）各処理種
別について各処理部（ＣＰＵ１２，ＣＰＵ１３，ＣＰＵ１４，ＣＰＵ１５〜１８）での処
理割合を決定する分散割合決定処理、（２）各処理種別について分散割合決定処理で処理
を割り当てられた処理部へ分散割合決定処理で決定された処理割合分の処理を開始させる
開始処理、（３）各処理種別について割り当てられた処理割合分の処理を実行する個別処
理が実行される。
【００８９】
図７は、本発明の実施の形態１に係る画像処理装置により実行される分散処理を説明す
るブロック図である。
【００９０】
図７に示すように、分散割合決定処理６１は、ＣＰＵ１２により実行される。分散割合
決定処理６１は、ＣＰＵ１２が、分散割合決定処理６１を記述した図示せぬプログラムを
実行することで実現される。そのプログラムは、例えば外部ＲＡＭ２に記憶される。分散
割合決定処理６１では、ＣＰＵ１２は、処理能力テーブル５２に格納されている各処理種
別に対する各処理部（ＣＰＵ１２、ＣＰＵ１３、ＣＰＵ１４、およびＣＰＵ１５〜１８の
４つのそれぞれ）の処理能力を示すデータ（所定の画素数分データの処理時間、単位時間
あたりの処理画素数など）を読み出し、各処理部へ割り当てられた１または複数の個別処
理に要する計算時間が可能な限り均等になるように、各処理種別についての各処理部への
処理割合を決定する。この負荷分散テーブル５１および処理能力テーブル５２は、デュア
ルポートＲＡＭ２１，２２に格納されるのが好ましいが、外部ＲＡＭ２に格納されてもよ
い。
【００９１】
図８は、本発明の実施の形態１における処理能力テーブル５２の一例を示す図である。
処理能力テーブル５２は、予め設定されたデフォルトの処理能力テーブル５２ａ（図８（
Ａ））と、画像データに対する実際の各個別処理６３の際に収集された処理能力情報を含
む処理能力テーブル５２ｂ（図８（Ｂ））を有する。
【００９２】
処理能力テーブル５２ａは、各処理部と処理種別との組合せに対するデフォルトの処理
能力情報（図８では処理速度）を有する。処理能力テーブル５２ａは、処理種別が、ＪＰ
ＥＧデコード、画像補正の第１処理（トーン調整および彩度強調）、画像補正の第２処理
（シャープネス）、画像補正の第３処理（ノイズ除去）、色変換、ディザ法によるハーフ
トーン、および誤差拡散法によるハーフトーンのいずれかであり、かつ、処理部が、ＣＰ
Ｕ１２、ＣＰＵ１３、ＣＰＵ１４、およびＣＰＵ１５〜１８のいずれかであるすべての組
合せについての処理能力情報のデフォルト値を有する。例えば、ＪＰＥＧデコードについ
てのＣＰＵ１２の処理能力情報のデフォルト値は、８００×１０００画素／秒となってい
る。
【００９３】
処理能力テーブル５２ｂは、ある画像データを処理する際に画像データの１バンドまた
は１ライン分ずつ測定された実測値としての、各処理部と各処理種別との組合せに対する
処理能力情報（図８では処理速度）を有する。図８（ｂ）に示す状態では、処理能力テー
ブル５２ｂに、ＪＰＥＧデコードについてのＣＰＵ１２の処理能力情報（７６０×１００
０画素／秒）、ＪＰＥＧデコードおよび３つの画像補正についてのＣＰＵ１３の処理能力
情報（３００×１０００画素／秒、２，３００×１０００画素／秒，１，１９０×１００
０画素／秒，３５０×１０００画素／秒）、色変換についてのＣＰＵ１４の処理能力情報
（１，６００×１０００画素／秒）、並びに、画像補正の第１処理およびハーフトーンに
ついてのＣＰＵ１５〜１８の処理能力情報（５４３×１０００画素／秒，９８０×１００
０画素／秒）のみが登録されている。すなわち、その他の組合せについては、１バンドま
たは１ライン分の個別処理が実行されていないため、処理能力情報が登録されていない。
【００９４】
ＣＰＵ１２は、分散割合決定処理の際、処理能力テーブル５２内の処理能力情報を参照
するが、処理能力テーブル５２ｂの値を優先的に使用する。つまり、あるＣＰＵと処理種
別との組合せについて処理能力情報が収集されている場合には、処理能力テーブル５２ｂ
の値が使用され、未だ収集されていない場合には、処理能力テーブル５２ａのデフォルト
値が使用される。
【００９５】
なお、ＣＰＵ１５〜１８の処理能力情報には、４つのＣＰＵ１５〜１８の処理能力情報
の代表値（ＣＰＵ１５〜１８のうちの所定のＣＰＵの値、平均値、最大値、最小値など）
が使用される。また、ＣＰＵ１５〜１８が構成する処理部については、ＣＰＵ１５〜１８
のうちのいずれか１つのＣＰＵが、その代表値で処理能力テーブル５２の処理能力情報を
更新するようにすればよい。
【００９６】
図９は、本発明の実施の形態１における負荷分散テーブル５１の一例を示す図である。
なお、図９に示す負荷分散テーブル５１は、２５９２×１９４４画素の画像データを４つ
、８×１１インチの印刷用紙に、１４４０×７２０ｄｐｉで印刷する場合の一例である。
負荷分散テーブル５１は、各処理種別について、出力画像データの画素数、並びに、ＣＰ
Ｕ１２、ＣＰＵ１３、ＣＰＵ１４およびＣＰＵ１５〜１８のそれぞれの処理能力値（処理
能力テーブル５２の処理能力情報と同値）、処理割合および処理時間（予想される時間）
を有する。
【００９７】
さらに、負荷分散テーブル５１は、ＣＰＵ１２、ＣＰＵ１３、ＣＰＵ１４およびＣＰＵ
１５〜１８のそれぞれの合計処理時間（６つの処理種別に関する処理時間の合計）Ｔｃｐ
ｕ、ＣＰＵ１２、ＣＰＵ１３、ＣＰＵ１４およびＣＰＵ１５〜１８の合計処理時間の平均
値および最大値、並びに、ＣＰＵ１２、ＣＰＵ１３、ＣＰＵ１４およびＣＰＵ１５〜１８
のそれぞれの合計処理時間と上記平均値との差を有する。
【００９８】
分散割合決定処理では、各処理種別について出力画像データの画素数と、各処理種別に
ついてのＣＰＵ１２，１３，１４およびＣＰＵ１５〜１８の処理能力値とに基づいて、処
理割合が計算される。なお、各処理種別について出力画像データの画素数は、ＪＰＥＧデ
ータの画素数、印刷条件などから計算される。また、各処理種別についてのＣＰＵ１２，
１３，１４およびＣＰＵ１５〜１８の処理能力値には、処理能力テーブル５２の処理能力
情報の値がそのまま使用される。
【００９９】
次に、開始処理６２は、ＪＰＥＧデコードを１または複数の処理部に開始させるＪＰＥ
Ｇデコード開始処理６２ａ、画像補正を１または複数の処理部に開始させる画像補正開始
処理６２ｂ、色変換を１または複数の処理部に開始させる色変換開始処理６２ｃ、および
ハーフトーンを１または複数の処理部に開始させるハーフトーン開始処理６２ｄからなる
。各開始処理６２ａ〜６２ｄを実行するＣＰＵは、自己以外のＣＰＵに個別処理を依頼す
る場合には、そのＣＰＵに対して処理要求を発行する。
【０１００】
ＪＰＥＧデコード開始処理６２ａは、ＣＰＵ１２により実行され、画像補正開始処理６
２ｂは、ＣＰＵ１３により実行され、色変換開始処理６２ｃおよびハーフトーン開始処理
６２ｄは、ＣＰＵ１４により実行される。各開始処理６２ａ，６２ｂ，６２ｃ，６２ｄは
、各開始処理６２ａ，６２ｂ，６２ｃ，６２ｄを記述した図示せぬプログラムを各ＣＰＵ
１２，１３，１４が実行することで実現される。それらのプログラムは、例えば外部ＲＡ
Ｍ２に記憶される。
【０１０１】
なお、分散割合決定処理６１および開始処理６２は、予め割り当てられたＣＰＵにより
固定的に実行される。また、分散割合決定処理６１および開始処理６２は、互いに非同期
に繰り返し実行される。
【０１０２】
分散割合決定処理６１は、すべての種別の処理について処理能力情報が更新される毎に
実行される。また、各開始処理６２ａ〜６２ｄは、ＪＰＥＧデコード、画像補正、色変換
またはハーフトーンが所定量のデータ分完了するごとに繰り返し実行され、その所定量の
データの処理が１または複数の処理部に個別処理６３として割り当てられる。
【０１０３】
そして、各処理種別について、開始処理６２により割り当てられた量の個別処理６３が
、割り当てられた処理部により実行される。
【０１０４】
この実施の形態１では、ＪＰＥＧデコードについて、ＪＰＥＧデコード専用命令演算部
１２ｂを有するＣＰＵ１２、またはＣＰＵ１２と画像処理用のその他のＣＰＵ１３〜１８
のうちの１個のＣＰＵ（ＣＰＵ＿Ｘ）との２個のＣＰＵに、個別処理６３が割り当てられ
る。
【０１０５】
なお、以下、各処理種別について、その処理種別に関する専用命令演算部を有するＣＰ
Ｕ以外の画像処理用ＣＰＵのうちの、個別処理を割り当てられる１個のＣＰＵのことをＣ
ＰＵ＿Ｘという。
【０１０６】
ＣＰＵ１２が単体でＪＰＥＧデコードを実行する場合には、ＣＰＵ１２のみにより、Ｊ
ＰＥＧデコード個別処理６３ａが実行される。ＣＰＵ１２およびＣＰＵ＿ＸがＪＰＥＧデ
コードを実行する場合には、ＣＰＵ１２によりＪＰＥＧデコード個別処理６３ａが実行さ
れ、ＣＰＵ１３〜１８のいずれか１つによりＪＰＥＧデコード個別処理６３ｅが実行され
る。その際、ＪＰＥＧデコード個別処理６３ａは、ＣＰＵ１２がＪＰＥＧデコードプログ
ラム４１ｓを実行することにより実現される。また、ＪＰＥＧデコード個別処理６３ｅは
、ＣＰＵ＿ＸがＪＰＥＧデコードプログラム４１ｇを実行することにより実現される。
【０１０７】
なお、この実施の形態１では、２つのＣＰＵでＪＰＥＧデコードを実行する場合、ＪＰ
ＥＧデコード個別処理６３ａとＪＰＥＧデコード個別処理６３ｅとの処理データ量の比（
分散割合）は、３：１、１：１、および１：３のいずれかとされる。したがって、個別処
理６３ａ，６３ｅを実行する処理部についての処理割合は、０、０．２５、０．５、０．
７５および１のいずれかとなる。
【０１０８】
また、この実施の形態１では、画像補正について、画像補正専用命令演算部１３ｂを有
するＣＰＵ１３、または、ＣＰＵ１３とＣＰＵ＿Ｘとの２個のＣＰＵに、個別処理６３が
割り当てられる。ＣＰＵ１３が単体で画像補正を実行する場合には、ＣＰＵ１３のみによ
り画像補正個別処理６３ｂが実行される。ＣＰＵ１３およびＣＰＵ＿Ｘが画像補正を実行
する場合には、ＣＰＵ１３により画像補正個別処理６３ｂが実行され、ＣＰＵ１２，１４
〜１８のいずれか１つにより画像補正個別処理６３ｆが実行される。その際、画像補正個
別処理６３ｂは、ＣＰＵ１３が画像補正プログラム４２ｓを実行することにより実現され
る。また、画像補正個別処理６３ｆは、ＣＰＵ＿Ｘが画像補正プログラム４２ｇを実行す
ることにより実現される。
【０１０９】
なお、この実施の形態１では、２つのＣＰＵで画像補正を実行する場合、画像補正個別
処理６３ｂと画像補正個別処理６３ｆとの処理データ量の比（分散割合）は、３：１、１
：１、および１：３のいずれかとされる。したがって、個別処理６３ｂ，６３ｆを実行す
る処理部についての処理割合は、０、０．２５、０．５、０．７５および１のいずれかと
なる。
【０１１０】
また、この実施の形態１では、色変換について、色変換専用命令演算部１４ｂを有する
ＣＰＵ１４、または、ＣＰＵ１４とＣＰＵ＿Ｘとの２個のＣＰＵに、個別処理６３が割り
当てられる。ＣＰＵ１４が単体で色変換を実行する場合には、ＣＰＵ１４のみにより色変
換個別処理６３ｃが実行される。ＣＰＵ１４およびＣＰＵ＿Ｘが色変換を実行する場合に
は、ＣＰＵ１４により色変換個別処理６３ｃが実行され、ＣＰＵ１２，１３，１５〜１８
のいずれか１つにより色変換個別処理６３ｇが実行される。その際、色変換個別処理６３
ｃは、ＣＰＵ１４が色変換プログラム４３ｓを実行することにより実現される。また、色
変換個別処理６３ｇは、ＣＰＵ＿Ｘが色変換プログラム４３ｇを実行することにより実現
される。
【０１１１】
なお、この実施の形態１では、２つのＣＰＵで色変換を実行する場合、色変換個別処理
６３ｃと色変換個別処理６３ｇとの処理データ量の比（分散割合）は、３：１、１：１、
および１：３のいずれかとされる。したがって、個別処理６３ｃ，６３ｇを実行する処理
部についての処理割合は、０、０．２５、０．５、０．７５および１のいずれかとなる。
【０１１２】
また、この実施の形態１では、ハーフトーンについて、ハーフトーン専用命令演算部１
５ｂ〜１８ｂを有するＣＰＵ１５〜１８、または、ＣＰＵ１５〜１８とＣＰＵ＿Ｘとの５
個のＣＰＵに、個別処理６３が割り当てられる。ＣＰＵ１５〜１８が色変換を実行する場
合には、ＣＰＵ１５〜１８のみによりハーフトーン個別処理６３ｄが実行される。ＣＰＵ
１５〜１８およびＣＰＵ＿Ｘがハーフトーン個別処理を実行する場合には、ＣＰＵ１５〜
１８によりハーフトーン個別処理６３ｄが実行され、ＣＰＵ１２〜１４のいずれか１つに
よりハーフトーン個別処理６３ｈが実行される。その際、ハーフトーン個別処理６３ｄは
、ＣＰＵ１５〜１８がハーフトーンプログラム４４ｓを実行することにより実現される。
また、ハーフトーン個別処理６３ｈは、ＣＰＵ＿Ｘがハーフトーンプログラム４３ｈを実
行することにより実現される。
【０１１３】
なお、この実施の形態１では、色変換により７色のＣＭＹＫ画像データが生成され、７
色のＣＭＹＫ画像データのうちの２色に対してディザ法による二値化処理が実行され、５
色に対して誤差拡散法による二値化処理が実行される。ディザ法による二値化処理の計算
量は、誤差拡散法による二値化処理の計算量より非常に小さいため、４個のＣＰＵ１５〜
１８でハーフトーンを行う場合には、ＣＰＵ１５により２色分の誤差拡散法による二値化
処理が実行され、ＣＰＵ１６により１色分の誤差拡散法による二値化処理と１色分のディ
ザ法による二値化処理が実行され、ＣＰＵ１７により１色分の誤差拡散法による二値化処
理と１色分のディザ法による二値化処理が実行され、ＣＰＵ１８により１色分の誤差拡散
法による二値化処理が実行される。
【０１１４】
一方、ＣＰＵ１５〜１８およびＣＰＵ＿Ｘでハーフトーンを行う場合には、ＣＰＵ１５
により１色分の誤差拡散法による二値化処理が実行され、ＣＰＵ１６により１色分の誤差
拡散法による二値化処理と１色分のディザ法による二値化処理が実行され、ＣＰＵ１７に
より１色分の誤差拡散法による二値化処理と１色分のディザ法による二値化処理が実行さ
れ、ＣＰＵ１８により１色分の誤差拡散法による二値化処理が実行され、ＣＰＵ＿Ｘによ
り１色分の誤差拡散法による二値化処理が実行される。
【０１１５】
このため、５つのＣＰＵでハーフトーンを実行する場合、ハーフトーン個別処理６３ｄ
とハーフトーン個別処理６３ｈとの処理データ量の比（分散割合）は、略４：１とされる
。
【０１１６】
各個別処理６３ａ〜６３ｇでは、割り当てられた画像処理（画像データの１バンドまた
は１ライン分）が完了すると、割り当てられた画像処理に要した時間および処理データ量
などのデータが、処理能力データとして、処理能力テーブル５２に格納される。そして、
この処理能力データは、その後の分散割合決定処理６１に反映される。
【０１１７】
なお、この実施の形態１では、ＣＰＵ１２では、それぞれマルチタスクＯＳが稼動して
いる。ＣＰＵ１２では、分散割合決定処理６１ａ、ＪＰＥＧデコード開始処理６２ａとＪ
ＰＥＧデコード個別処理６３ｂの２つ、およびその他の各個別処理６３ｆ，６３ｇ，６３
ｈは、それぞれ別々のタスク（プロセス）として実行される。また、ＣＰＵ１３〜１８に
おいてもマルチタスクＯＳを稼動させるようにしてもよい。その場合、例えば、ＣＰＵ１
３では、画像補正開始処理６２ｂと画像補正個別処理６３ｂの２つ、およびその他の各個
別処理６３ｅ，６３ｇ，６３ｈは、それぞれ別々のタスク（プロセス）として実行される
。また、ＣＰＵ１４では、色変換開始処理６２ｃと色変換個別処理６３ｃとハーフトーン
開始処理６２ｄの３つ、およびその他の各個別処理６３ｅ，６３ｆ，６３ｈは、それぞれ
別々のタスク（プロセス）として実行される。また、ＣＰＵ１５〜１８の各ＣＰＵでは、
ハーフトーン個別処理６３ｄ、およびその他の各個別処理６３ｅ，６３ｆ，６３ｇは、そ
れぞれ別々のタスク（プロセス）として実行される。
【０１１８】
ここで、分散割合決定処理６１の詳細について説明する。図１０は、本発明の実施の形
態１における分散割合決定処理６１を説明するフローチャートである。
【０１１９】
まず、ＣＰＵ１２は、処理対象となる画像データ（ＪＰＥＧデータ）、印刷条件（印刷
用紙、印刷解像度）、デフォルトの処理能力テーブル５２ａなどに基づいてデフォルトの
負荷分散テーブル５１を生成する（ステップＳ１１）。なお、最初の負荷分散テーブル５
１では、ＪＰＥＧデコードについては、ＣＰＵ１２の処理割合は１であり、その他のＣＰ
Ｕ１３〜１８の処理割合は０である。また、画像補正の第１処理〜第３処理については、
ＣＰＵ１３の処理割合は１であり、その他のＣＰＵ１２，１４〜１８の処理割合は０であ
る。また、色変換については、ＣＰＵ１４の処理割合は１であり、その他のＣＰＵ１２，
１３，１５〜１８の処理割合は０である。また、ハーフトーンについては、ＣＰＵ１５〜
ＣＰＵ１８の処理割合は１であり、その他のＣＰＵ１２〜１４の処理割合は０である。
【０１２０】
次に、ＣＰＵ１２は、画像横方向（縦方向および横方向のうち、隣接する画像領域の画
像データが連続している方向）の始端から終端までの画像データの１バンド分または１ラ
イン分の処理が、すべての処理種別（ＪＰＥＧデコード、画像補正の３処理、色変換およ
びハーフトーン）について少なくとも１回終了するまで待機する（ステップＳ１２）。
【０１２１】
なお、ＪＰＥＧデコードにおける画像横方向の始端から終端までの１回の処理は、縦方
向がＭＣＵ（Minimum Coded Unit）の縦方向分の画素で横方向が画像横幅分の画素で構成
される１バンドに対するＪＰＥＧデコードとなる。なお、ＭＣＵは、縦８画素、横８画素
のブロックである。
【０１２２】
また、画像補正における画像横方向の始端から終端までの１回の処理は、画像データの
１ライン（つまり、縦方向が１画素で、横方向が画像横幅分の画素の領域）に対する第１
処理〜第３処理となる。
【０１２３】
また、色変換における画像横方向の始端から終端までの１回の処理は、画像データの２
ラインに対する色座標変換処理となる。
【０１２４】
また、ハーフトーンにおける画像横方向の始端から終端までの１回の処理は、画像デー
タの２ラインに対する二値化処理となる。
【０１２５】
なお、このように、処理種別によって、画像横方向の始端から終端までの１回の処理に
係る画素領域が異なることや、処理種別によって計算量が異なることに起因して、同一領
域に対するすべての処理種別における個別処理は、同時には終了しない。しかしながら、
すべての処理種別における個別処理では、バリア同期はせず、各処理種別において、１バ
ンド分または１ライン分の処理が完了すると、開始処理後に、次の１バンドまたは１ライ
ンについての個別処理が直ちに開始される。
【０１２６】
また、１バンド分または１ライン分の処理がすべての処理種別について少なくとも１回
終了したか否かの判定については、処理種別分のフラグを例えば処理能力テーブル５２ｂ
内に設け、各個別処理６３を実行する処理部が、１バンド分または１ライン分の個別処理
６３が終了したときにその個別処理６３の処理種別のフラグを立て、ＣＰＵ１２が、その
フラグがすべて立っているか否かで、１バンド分または１ライン分の処理がすべての処理
種別について少なくとも１回終了したか否かを判定すればよい。なお、その場合、ＣＰＵ
１２は、１バンド分または１ライン分の処理がすべての処理種別について少なくとも１回
終了したと判定した際に、すべてのフラグを下ろす。
【０１２７】
そして、ＣＰＵ１２は、１バンド分または１ライン分の処理がすべての処理種別につい
て少なくとも１回終了したと判定すると、処理能力テーブルに基づき、各処理種別につい
て各処理部の処理割合を決定し、負荷分散テーブル５１を更新する（ステップＳ１３）。
この実施の形態１では、各処理種別について、１バンド分または１ライン分の個別処理６
３が終了するごとに、その個別処理６３を実行する処理部が、その処理種別と自己との組
合せについての処理能力情報を更新するので、１バンド分または１ライン分の処理がすべ
ての処理種別について少なくとも１回終了した後に負荷分散テーブル５１を更新すること
で、すべての処理部の動的に変化する処理能力値を考慮して、各処理部への処理割合が決
定される。
【０１２８】
そして、上述のステップＳ１２およびステップＳ１３の処理が、画像データが終わるま
で繰り返され、いずれかの処理種別で、処理すべき画像データがなくなると、分散割合決
定処理６１は終了する（ステップＳ１４）。
【０１２９】
ここで、図１１は、図１０における負荷分散テーブル更新処理（ステップＳ１３）の詳
細を説明するフローチャートである。
【０１３０】
負荷分散テーブル更新処理（ステップＳ１３）では、まず、ＣＰＵ１２は、処理能力テ
ーブル５２の各処理能力情報で、それに対応する負荷分散テーブル５１の処理能力値を更
新する（ステップＳ１３ａ）。また、ＣＰＵ１２は、ＪＰＥＧファイル３ａの画像データ
（入力画像データ）のサイズ、印刷画像数、印刷用紙サイズ、印刷解像度などに基づいて
、各処理種別の出力画像の画素数（つまり、処理対象の画素数）を計算し、負荷分散テー
ブル５１に登録する。
【０１３１】
そして、ＣＰＵ１２は、各処理種別についての処理割合をデフォルトの値にする（ステ
ップＳ１３ｂ）。デフォルトでは、各処理種別について、その処理種別に対応する専用命
令演算部を有するＣＰＵの処理割合が１であり、その他のＣＰＵの処理割合が０である。
したがって、例えば、ＪＰＥＧデコードについては、ＣＰＵ１２の処理割合は１であり、
ＣＰＵ１３，１４，１５〜１８の処理割合は０である。
【０１３２】
次に、ＣＰＵ１２は、処理部毎の処理時間Ｔｃｐｕ、平均処理時間Ｔａｖ、および平均
処理時間Ｔａｖからの処理部毎の処理時間Ｔｃｐｕの偏差ｄＴｃｐｕを計算する（ステッ
プＳ１３ｃ）。
【０１３３】
その際、ＣＰＵ１２は、負荷分散テーブル５１を参照し、各処理種別について、処理す
べき画素数Ｎｐと、各処理部の処理能力値Ｐと、各処理部の処理割合αに基づいて、その
処理種別の処理時間Ｔ（Ｔ＝Ｎｐ×α×Ｐ）を計算する。また、ＣＰＵ１２は、ある処理
部についての、ＪＰＥＧデコードの処理時間Ｔ１、画像補正の第１処理の処理時間Ｔ２、
画像補正の第２処理の処理時間Ｔ３、画像補正の第３処理の処理時間Ｔ４、色変換の処理
時間Ｔ５、およびハーフトーンの処理時間Ｔ６の和をその処理部の処理時間Ｔｃｐｕ（Ｔ
ｃｐｕ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６）とする。
【０１３４】
また、ＣＰＵ１２は、ＣＰＵ１２の処理時間Ｔｃｐｕ１２、ＣＰＵ１３の処理時間Ｔｃ
ｐｕ１３、ＣＰＵ１４の処理時間Ｔｃｐｕ１４、および、ＣＰＵ１５〜１８の処理時間Ｔ
ｃｐｕ１５〜１８の平均値を平均処理時間Ｔａｖとして計算する（Ｔａｖ＝（Ｔｃｐｕ１
２＋Ｔｃｐｕ１３＋Ｔｃｐｕ１４＋Ｔｃｐｕ１５〜１８）／４）。
【０１３５】
また、ＣＰＵ１２は、処理時間Ｔｃｐｕと平均処理時間Ｔａｖとから、各処理部につい
ての処理時間の偏差ｄＴｃｐｕを計算する。例えば、ＣＰＵ１２についての処理時間の偏
差ｄＴｃｐｕ１２は、（Ｔａｖ−Ｔｃｐｕ１２）となる。
【０１３６】
次に、ＣＰＵ１２は、ステップＳ１３ｃでの計算結果に基づいて、処理時間Ｔｃｐｕが
最大である処理部（ＣＰＵ＿Ａ）、ＣＰＵ＿Ａの処理のうち処理時間Ｔが最大である処理
種別（ＰＲＯＣ＿Ａ）、ＣＰＵ＿Ａ以外の処理部のうちの、デフォルトで割り当てられる
処理種別のみを実行し他の処理種別の分散処理を実行しない１または複数の処理部（ＣＰ
Ｕ＿Ｘ）を特定する（ステップＳ１３ｄ）。
【０１３７】
例えば図９に示す負荷分散テーブル５１の場合では、ＣＰＵ＿Ａは、ＣＰＵ１３と特定
され、ＰＲＯＣ＿Ａは、画像補正の第３処理（ノイズ除去）と特定され、ＣＰＵ＿Ｘは、
ＣＰＵ１２、ＣＰＵ１４、およびＣＰＵ１５〜１８と特定される。
【０１３８】
次に、ＣＰＵ１２は、所定の分散割合（１：０，３：１，１：１，１：３など）および
ＣＰＵ＿Ｘの各組合せについて、ＣＰＵ＿ＡとＣＰＵ＿Ｘの処理割合を計算し、その処理
割合でのＣＰＵ＿ＡとＣＰＵ＿Ｘの処理時間Ｔｃｐｕを計算する（ステップＳ１３ｅ）。
【０１３９】
例えば、ＣＰＵ＿ＡとＣＰＵ＿Ｘの分散割合が３：１である場合には、ＣＰＵ＿Ａの処
理割合は、０．７５となり、ＣＰＵ＿Ｘの処理割合は、０．２５となる。
【０１４０】
次に、ＣＰＵ１２は、ＣＰＵ＿Ａの処理時間ＴｃｐｕとＣＰＵ＿Ｘの処理時間Ｔｃｐｕ
の大きい方の処理時間が最小となるＣＰＵ＿Ｘおよび分散割合を特定し、その分散割合に
基づいて、ＣＰＵ＿ＡとＣＰＵ＿Ｘの処理割合を計算する（ステップＳ１３ｆ）。
【０１４１】
さらに、ＣＰＵ１２は、ステップＳ１３ｆで計算したＣＰＵ＿ＡとＣＰＵ＿Ｘの処理割
合に基づいて、処理部毎の処理時間Ｔｃｐｕ、平均処理時間Ｔａｖ、処理部毎の処理時間
の偏差ｄＴｃｐｕを計算する（ステップＳ１３ｇ）。
【０１４２】
そして、ＣＰＵ１２は、ステップＳ１３ｇで計算した処理時間Ｔｃｐｕの最大値が、負
荷分散テーブル５１に記録されている処理時間Ｔｃｐｕの最大値より小さいか否かを判定
する（ステップＳ１３ｈ）。
【０１４３】
ステップＳ１３ｇで計算した処理時間Ｔｃｐｕの最大値が、負荷分散テーブル５１に記
録されている処理時間Ｔｃｐｕの最大値より小さい場合、ＣＰＵ１２は、ステップＳ１３
ｆ，Ｓ１３ｇで計算した処理割合、処理時間Ｔｃｐｕ、平均処理時間Ｔａｖ、および処理
時間の偏差ｄＴｃｐｕの値で負荷分散テーブル５１内の対応する値を更新する（ステップ
Ｓ１３ｉ）。
【０１４４】
一方、ステップＳ１３ｇで計算した処理時間Ｔｃｐｕの最大値が、負荷分散テーブル５
１に記録されている処理時間Ｔｃｐｕの最大値以上ではない場合、ＣＰＵ１２は、負荷分
散テーブル更新処理（ステップＳ１３）を終了する。
【０１４５】
このように、処理部毎の処理時間Ｔｃｐｕの最大値が減少する間は、ステップＳ１３ｄ
〜ステップＳ１３ｉの処理が繰り返し実行され負荷分散テーブル５１が更新されていく。
この負荷分散テーブル更新処理では、負荷の最も重いＣＰＵに割り当てられた処理のうち
、最も重い処理が分散されていくので、処理部に掛かる負荷が均一化されていく。
【０１４６】
ここで、一例として、図９に示す負荷分散テーブル５１の更新について説明する。図１
２は、図９の負荷分散テーブル５１の更新途中の負荷分散テーブル５１を示す図である。
図１３は、図９の負荷分散テーブル５１を更新した負荷分散テーブル５１を示す図である
。
【０１４７】
まず、図９に示す負荷分散テーブル５１では、ＣＰＵ＿Ａは、ＣＰＵ１３と特定され、
ＣＰＵ＿Ｘは、ＣＰＵ１２、ＣＰＵ１４およびＣＰＵ１５〜１８と特定され、ＰＲＯＣ＿
Ａは、画像補正の第３処理（ノイズ除去）と特定される（ステップＳ１３ｄ）。
【０１４８】
次に、ＣＰＵ１３の処理割合とＣＰＵ＿Ｘの処理割合が、１と０、０．７５と０．２５
、０．５と０．５、０．２５と０．７５、および０と１のそれぞれとした場合の、ＣＰＵ
１３の処理時間とＣＰＵ＿Ｘの処理時間が計算され（ステップＳ１３ｅ）、計算されたＣ
ＰＵ１３の処理時間ＴｃｐｕとＣＰＵ＿Ｘの処理時間Ｔｃｐｕの大きい方の処理時間が最
小となる分散割合が選択される（ステップＳ１３ｆ）。
【０１４９】
図９に示す負荷分散テーブル５１の場合、画像補正の第３処理（ノイズ除去）について
、
（ａ）処理割合が１．００の場合のＣＰＵ１３の処理時間Ｔｃｐｕは７５．９７となり、
（ｂ）処理割合が０．７５の場合のＣＰＵ１３の処理時間Ｔｃｐｕは６３．３７となり、
（ｃ）処理割合が０．５０の場合のＣＰＵ１３の処理時間Ｔｃｐｕは５０．７８となり、
（ｄ）処理割合が０．２５の場合のＣＰＵ１３の処理時間Ｔｃｐｕは３８．１８となる。
【０１５０】
また、画像補正の第３処理（ノイズ除去）をＣＰＵ１２へ分散させる場合、
（ａ）処理割合が１．００のときの処理時間Ｔｃｐｕ１２は１７６．７３となり、
（ｂ）処理割合が０．７５のときの処理時間Ｔｃｐｕ１２は１３８．８５となり、
（ｃ）処理割合が０．５０のときの処理時間Ｔｃｐｕ１２は１００．９６となり、
（ｄ）処理割合が０．２５のときの処理時間Ｔｃｐｕ１２は６３．０８となる。
【０１５１】
また、画像補正の第３処理（ノイズ除去）をＣＰＵ１４へ分散させる場合、
（ａ）処理割合が１．００のときの処理時間Ｔｃｐｕ１４は２３７．２２となり、
（ｂ）処理割合が０．７５のときの処理時間Ｔｃｐｕ１４は１８３．６２となり、
（ｃ）処理割合が０．５０のときの処理時間Ｔｃｐｕ１４は１３０．０２となり、
（ｄ）処理割合が０．２５のときの処理時間Ｔｃｐｕ１４は７６．４１となる。
【０１５２】
また、画像補正の第３処理（ノイズ除去）をＣＰＵ１５〜１８へ分散させる場合、
（ａ）処理割合が１．００のときの処理時間Ｔｃｐｕ１５〜１８は７６．４１となり、
（ｂ）処理割合が０．７５のときの処理時間Ｔｃｐｕ１５〜１８は６３．０１となり、
（ｃ）処理割合が０．５０のときの処理時間Ｔｃｐｕ１５〜１８は４９．６１となり、
（ｄ）処理割合が０．２５のときの処理時間Ｔｃｐｕ１５〜１８は３６．２１となる。
なお、４つのＣＰＵ１５〜１８の処理時間は、ＣＰＵ１５〜１８における１個のＣＰＵ
による処理時間の４分の１と計算される。
【０１５３】
したがって、ＣＰＵ１３の処理時間ＴｃｐｕとＣＰＵ＿Ｘの処理時間Ｔｃｐｕの大きい
方の処理時間が最小となるＣＰＵ＿Ｘおよび処理割合として、ＣＰＵ１５〜１８、０．５
（ＣＰＵ１３の処理割合）および０．５（ＣＰＵ１５〜１８の処理割合）が選択される。
そして、画像処理の第３処理についてのＣＰＵ１２，１４の処理割合は０とされる。
【０１５４】
そして、計算された処理割合で、処理時間Ｔｃｐｕ、平均処理時間Ｔａｖ、およびＣＰ
Ｕ毎の処理時間の偏差ｄＴｃｐｕが計算される（ステップＳ１３ｇ）。このとき、ＣＰＵ
１２〜１４の処理時間Ｔｃｐｕは、それぞれ、２５．１９、５０．７８、２２．８１とな
り、ＣＰＵ１５〜１８の処理時間Ｔｃｐｕは４９．６１となる。そして、平均処理時間Ｔ
ａｖは３７．１０となり、処理時間Ｔｃｐｕの最大値は５０．７８となる。また、ＣＰＵ
１２〜１４の処理時間の偏差ｄＴｃｐｕは、それぞれ、−１１．９０、１３．６８、−１
４．２９となり、ＣＰＵ１５〜１８の処理時間の偏差ｄＴｃｐｕは１２．５１となる。
【０１５５】
そして、このときの処理時間Ｔｃｐｕの最大値（＝５０．７８）が、この時点の負荷分
散テーブル５１（図９）の処理時間Ｔｃｐｕの最大値（＝７５．９７）より小さいため、
負荷分散テーブル５１の更新処理は継続される（ステップＳ１３ｈ）。
【０１５６】
そして、計算された処理割合、各処理部についての各処理種別の処理時間Ｔ、処理部毎
の処理時間Ｔｃｐｕ、その平均値Ｔａｖと最大値、および処理時間の偏差ｄＴｃｐｕで、
対応する負荷分散テーブル５１の値が更新される（ステップＳ１３ｉ）。
【０１５７】
図９に示す負荷分散テーブル５１に対して、ステップＳ１３ｄ，Ｓ１３ｅ，Ｓ１３ｆ，
Ｓ１３ｇ，Ｓ１３ｉの処理を施したものが、図１２に示す負荷分散テーブル５１となる。
【０１５８】
次に、ステップＳ１３ｄに戻り、図１２に示す負荷分散テーブル５１については、ＣＰ
Ｕ＿Ａは、ＣＰＵ１３と特定され、ＣＰＵ＿Ｘは、ＣＰＵ１２、ＣＰＵ１４およびＣＰＵ
１５〜１８と特定され、ＰＲＯＣ＿Ａは、画像補正の第２処理（シャープネス）と特定さ
れる。
【０１５９】
そして、同様にしてステップＳ１３ｅ，Ｓ１３ｆ，Ｓ１３ｇの処理が実行され、その結
果として、処理時間Ｔｃｐｕの最大値が４９．４９となる。
【０１６０】
そして、このときの処理時間Ｔｃｐｕの最大値（＝４９．４９）が、この時点の負荷分
散テーブル５１（図１２）の処理時間Ｔｃｐｕの最大値（＝５０．７８）より小さいため
、負荷分散テーブル５１の更新処理は継続される（ステップＳ１３ｈ）。
【０１６１】
そして、計算された処理割合、各処理種別の処理時間Ｔ、処理部毎の処理時間Ｔｃｐｕ
、その平均値Ｔａｖと最大値、および処理時間の偏差ｄＴｃｐｕで、対応する負荷分散テ
ーブル５１の値が更新される（ステップＳ１３ｉ）。
【０１６２】
図１２に示す負荷分散テーブル５１に対して、ステップＳ１３ｄ，Ｓ１３ｅ，Ｓ１３ｆ
，Ｓ１３ｇ，Ｓ１３ｉの処理を施したものが、図１３に示す負荷分散テーブル５１となる
。
【０１６３】
そして、図１３に示す負荷分散テーブル５１に対して、ステップＳ１３ｄ，Ｓ１３ｅ，
Ｓ１３ｆ，Ｓ１３ｇの処理が実行され、その結果としての処理時間Ｔｃｐｕの最大値が、
この時点の負荷分散テーブル５１（図１３）の処理時間Ｔｃｐｕの最大値（＝４９．４９
）より小さくならないため、負荷分散テーブル５１の更新処理が終了される（ステップＳ
１３ｈ）。
【０１６４】
この例では、このようにして、図９に示す負荷分散テーブル５１は、図８に示す処理能
力テーブル５２の処理能力情報に応じてＣＰＵ１２〜ＣＰＵ１８の負荷が均一に近づくよ
うに、図１３に示す負荷分散テーブル５１に更新される。
【０１６５】
以上のように、上記実施の形態１に係る画像処理装置は、同一領域の画像データに対し
て複数種別の画像処理を順番に施す複数の処理部としてのＣＰＵ１２〜１８と、画像処理
の各種別について１または複数の処理部への分散割合を有し初期値としてデフォルトの分
散割合を有する負荷分散テーブル５１と、画像処理の開始後に各画像処理の分散割合を計
算し更新する分散割合更新手段としてのＣＰＵ１２と、一度も更新されていない分散割合
についてはデフォルトの分散割合を使用して、１種別の画像処理について、その画像処理
を２以上の処理部に分散してそれぞれ実行させる開始処理手段としてのＣＰＵ１２〜１４
とを備える。
【０１６６】
これにより、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、
さらに処理部が３以上であっても適切に負荷分散を行うことができる。
【０１６７】
また、上記実施の形態１に係る画像処理装置は、さらに、複数の処理部のそれぞれの処
理能力値を格納する処理能力テーブル５２ｂと、複数の処理部のそれぞれの処理能力値の
デフォルト値を格納するデフォルト処理能力テーブル５２ａと、複数の処理部のそれぞれ
による所定量の画像データに対する処理時間に基づいて処理能力テーブルの処理能力値を
更新する処理能力テーブル更新手段としてのＣＰＵ１２〜１８を備える。そして、分散割
合更新手段としてのＣＰＵ１２は、処理能力テーブル５２ｂを優先的に参照して、処理能
力テーブル５２ｂおよびデフォルト処理能力テーブル５２ａに基づいて各画像処理の分散
割合を計算し負荷分散テーブル５１に設定する。
【０１６８】
これにより、複数の処理部に対して処理の最初から適切にかつ画像データの内容に応じ
て変動する負荷に動的に対応して負荷分散を行うことができ、さらに処理部が３以上であ
っても適切に負荷分散を行うことができる。
【０１６９】
また、上記実施の形態１では、処理能力テーブル５２について、１ラインまたは１バン
ドごとの処理時間および処理画素数に基づいて処理能力値が更新される。
【０１７０】
これにより、実際の画像データを処理している際の処理能力値を取得して分散割合に反
映されるため、個々の画像データに対する画像処理の各種別の計算量に対応して、正確な
負荷分散が可能となる。
【０１７１】
また、上記実施の形態１では、処理能力テーブル５２は、複数の処理部（ＣＰＵ１２〜
１８）のそれぞれについて複数種別の画像処理の種別ごとに、処理能力値を有する。
【０１７２】
これにより、例えば処理部が所定の種別の画像処理に対してのみ最適化されているよう
な場合でも、正確な処理能力値を得ることができ、ひいては正確な負荷分散を行うことが
できる。
【０１７３】
また、上記実施の形態１では、分散割合を設定した後、複数種別のうち１ラインまたは
１バンド分の処理時間が最も遅い種別の画像処理が完了すると、再度、分散割合決定処理
６１において分散割合が設定される。
【０１７４】
これにより、すべての処理部が少なくとも１ラインまたは１バンド分の処理を実行して
から分散割合が設定されるため、各時点での処理能力値を反映した適切な分散割合を設定
することができる。
【０１７５】
実施の形態２．
本発明の実施の形態２に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、ＪＰＥＧデコードの開始処理６２ａおよび個別処理６３ａ，
６３ｅについては以下のように実行する。
【０１７６】
本実施の形態２においても、図７に示すように、ＪＰＥＧデコード開始処理６２ａは、
ＣＰＵ１２により実行される。開始処理６２ａでは、ＪＰＥＧデコード個別処理（６３ａ
，６３ｅ）は、１または２の処理部に割り当てられる。
【０１７７】
また、ＪＰＥＧデコード個別処理（６３ａ，６３ｅ）は、１つの処理部で実行する場合
にはＣＰＵ１２に割り当てられ、２つの処理部で実行する場合には、ＣＰＵ１２と、ＣＰ
Ｕ１３、ＣＰＵ１４およびＣＰＵ１５〜１８のいずれか（ＣＰＵ＿Ｘ）とに、負荷分散テ
ーブル５１の分散割合に基づいて割り当てられる。
【０１７８】
図１４は、実施の形態２におけるＪＰＥＧデコード開始処理６２ａを説明するフローチ
ャートである。
【０１７９】
ＪＰＥＧデコード開始処理６２ａでは、ＣＰＵ１２は、まず、４×Ｎ個のＭＣＵ分のＪ
ＰＥＧデータをメモリカード３のＪＰＥＧファイル３ａから外部ＲＡＭ２へ読み込む（ス
テップＳ２１）。
【０１８０】
なお、ＭＣＵは、デコードの最小単位であり、この実施の形態２では、処理割合が０．
２５（＝４分の１）の倍数のいずれかに設定されるので、分散処理のデータ最小単位をＭ
ＣＵとするために、４の倍数（４×Ｎ）個のＭＣＵ分のデータが１度に読み込まれる。ま
た、Ｎは、分散に起因して発生するオーバヘッド（処理を分割することにより発生する計
算量の増加、通信量の増加などによる処理の遅延）が無視できる程度大きな数であって、
４×ＮがＪＰＥＧデータの横方向におけるＭＣＵの数より小さくなるような数である。例
えば、Ｎ＝１０とされる。
【０１８１】
次に、ＣＰＵ１２は、読み込んだ４×Ｎ個のＭＣＵのＤＣ成分を抽出する（ステップＳ
２２）。
【０１８２】
そして、ＣＰＵ１２は、負荷分散テーブル５１におけるＪＰＥＧデコードについてのＣ
ＰＵ１２の処理割合の値を読み出し、その値が１であるか否かに基づいて、ＪＰＥＧデコ
ードを２つの処理部で分散処理するか否かを判定する（ステップＳ２３）。なお、ＣＰＵ
１２は、この処理割合の値が１である場合には分散処理をしないと判定し、この処理割合
の値が１未満である場合には分散処理をすると判定する。
【０１８３】
ＪＰＥＧデコードを２つの処理部で分散処理すると判定した場合、ＣＰＵ１２以外のＣ
ＰＵ＿Ｘへ分散処理を与える処理が実行される。
【０１８４】
その際、ＣＰＵ１２は、今回の４×Ｎ個のＭＣＵが画像データの１バンドの先頭部分（
左端部分）ではない場合には、前回ＣＰＵ１２以外のＣＰＵ＿Ｘに割り当てた個別処理が
完了するまで待機する（ステップＳ２４，Ｓ２５）。一方、今回の４×Ｎ個のＭＣＵが画
像データの１バンドの先頭部分である場合には、ＣＰＵ１２は、そのような待機はせず、
直ちに次の処理へ移行する。
【０１８５】
次に、ＣＰＵ１２は、負荷分散テーブル５１におけるＪＰＥＧデコードについてのＣＰ
Ｕ１２以外のＣＰＵ１３〜１８の処理割合の値が０以外であるＣＰＵをＣＰＵ＿Ｘとし、
処理種別、そのＣＰＵ＿Ｘの処理割合分のＭＣＵデータ、そのＤＣ成分、および計算結果
の出力先アドレス（外部ＲＡＭ２内の計算結果の格納領域のアドレス）を、デュアルポー
トＲＡＭ２１に書き込む（ステップＳ２６）。
【０１８６】
例えば、分散割合が３：１である場合には、３×Ｎ個のＭＣＵ分のデータが、ＣＰＵ１
２に割り当てられ、Ｎ個のＭＣＵ分のデータが、ＣＰＵ＿Ｘに割り当てられる。
【０１８７】
そして、ＣＰＵ１２は、ＣＰＵ＿Ｘに割り込みを掛けて、処理割合分の個別処理６３ｅ
をＣＰＵ＿Ｘに依頼する（ステップＳ２７）。なお、割り込みは、ＣＰＵ１１〜１８を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたＣＰＵ＿Ｘは、デュアルポートＲＡＭ２１の所定の領域に記憶された処理種別
に応じて、ＣＰＵ＿Ｘの処理割合分のＭＣＵデータ、そのＤＣ成分および計算結果の出力
先アドレスを、デュアルポートＲＡＭ２１から読み込む。
【０１８８】
このようにして、ステップＳ２４〜Ｓ２７の処理により、ＣＰＵ１２以外のＣＰＵ＿Ｘ
へ分散処理が与えられる。一方、ステップＳ２３においてＪＰＥＧデコードを分散処理し
ないと判定された場合には、ステップＳ２４〜Ｓ２７の処理はスキップされる。
【０１８９】
そして、ＣＰＵ１２は、分散処理の場合には、４×Ｎ個のうちの処理割合分のＭＣＵに
対するＪＰＥＧデコード個別処理６３ａを実行し、分散処理をしない場合には、４×Ｎ個
のＭＣＵに対するＪＰＥＧデコード個別処理６３ａを実行する（ステップＳ２８）。ＣＰ
Ｕ１２は、ＪＰＥＧデコード個別処理６３ａを実行する場合、関数コールにより、ＪＰＥ
Ｇデコード個別処理６３ａの関数やルーチンを呼び出して実行する。なお、ＣＰＵ１２に
割り当てられた処理割合分のＭＣＵデータ、そのＤＣ成分、および計算結果の出力先アド
レスは、一旦、デュアルポートＲＡＭ２１および／またはＣＰＵ１２のデータＲＡＭ３３
６に書き込まれ、個別処理６３ａの際に使用される。
【０１９０】
このようにして、４×Ｎ個のＭＣＵ分のＪＰＥＧデータのデコードが実行される。そし
て、画像データが終了するまで、ステップＳ２１〜Ｓ２８の処理が繰り返される（ステッ
プＳ２９）。
【０１９１】
図１５は、実施の形態２におけるＪＰＥＧデコード個別処理６３ａ，６３ｅを説明する
フローチャートである。ＪＰＥＧデコード個別処理６３ａは、ＣＰＵ１２により実行され
、ＪＰＥＧデコード個別処理６３ｅは、ＣＰＵ１２以外のＣＰＵ＿Ｘにより実行される。
ＣＰＵ１２は、専用命令を含むプログラム４１ｓを実行し、ＣＰＵ＿Ｘは、専用命令を含
まないプログラム４１ｇを実行するが、両者の処理の流れは、同一である。ただし、専用
命令を使用した場合のほうが演算速度が高い。
【０１９２】
ＣＰＵ１２は、個別処理６３ａの開始時のＣＰＵタイマの値Ｔｓを保存した後（ステッ
プＳ３１）、処理割合分のＪＰＥＧデータをそのＤＣ成分に基づいてデコードし（ステッ
プＳ３２）、そのデコードが完了すると、その時のＣＰＵタイマの値Ｔｅを検出し（ステ
ップＳ３３）、両者の差（Ｔｅ−Ｔｓ）を計測時間として、合計処理時間データに累積加
算し、デコードした画素数を合計処理画素数データに累積加算する（ステップＳ３４）。
なお、合計処理時間データおよび合計処理画素数データは、処理に要した時間および処理
の完了した画素数を集計するためのデータである。これらのデータの初期値は０とされる
。
【０１９３】
そして、ＣＰＵ１２は、今回の処理が１バンド内の最後の処理であるか否かを判定する
（ステップＳ３５）。この判定については、例えば、今回の個別処理６３ａ，６３ｅが１
バンド内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理６２
ａにおいて設定しそのデータに基づいて各個別処理６３ａ，６３ｅで判定するようにすれ
ばよい。
【０１９４】
ＣＰＵ１２は、今回の処理が１バンド内の最後の処理であると判定した場合には、合計
処理時間データをＪＰＥＧ処理時間データとし、合計画素数データをＪＰＥＧ処理画素数
データとして、処理能力テーブル５２における、ＪＰＥＧデコードについてのＣＰＵ１２
の処理能力情報を更新する（ステップＳ３６）。このとき、処理能力情報としては、ＪＰ
ＥＧ処理画素数データをＪＰＥＧ処理時間データで除算した処理速度などが使用される。
更新後、ローカルデータである合計処理時間データおよび合計画素数データは、０にリセ
ットされる（ステップＳ３７）。
【０１９５】
また、このようにすることにより、１バンドの処理ごとに、１バンド分の画像データの
処理割合分についてのＪＰＥＧデコード個別処理６３ａの際に収集された処理能力情報で
、処理能力テーブル５２におけるＪＰＥＧデコードについてのＣＰＵ１２の処理能力情報
が更新される。
【０１９６】
なお、分散処理の場合には、ＣＰＵ１２とＣＰＵ＿Ｘは、上述の処理をそれぞれ実行す
る。したがって、ＣＰＵ１２の処理能力情報の他、分散処理の場合には、１バンドの処理
ごとに、１バンド分の画像データの処理割合分についてのＪＰＥＧデコード個別処理６３
ｅの際に収集された処理能力情報で、処理能力テーブル５２におけるＪＰＥＧデコードに
ついてのＣＰＵ＿Ｘの処理能力情報が更新される。
【０１９７】
このように、ＪＰＥＧデコード個別処理６３ａ，６３ｅでは、処理割合分のＪＰＥＧデ
コードの他、処理時間および処理画素数の集計、並びに１バンドごとの処理能力テーブル
５２の更新が行われる。
【０１９８】
以上のように、上記実施の形態２によれば、ＪＰＥＧデコード開始処理６２ａおよびＪ
ＰＥＧデコード個別処理６３ａ，６３ｅが効率良く実行される。
【０１９９】
実施の形態３．
本発明の実施の形態３に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、画像補正の開始処理および個別処理については以下のように
実行する。
【０２００】
本実施の形態３においても、図７に示すように、画像補正開始処理６２ｂは、ＣＰＵ１
３により実行される。画像補正開始処理６２ｂでは、第１処理（トーン調整および彩度強
調）、第２処理（シャープネス）、および第３処理（ノイズ除去）のそれぞれについて、
分散するか否かが決定され、第１処理〜第３処理のそれぞれについて、１または２の処理
部に画像補正個別処理（６３ｂ，６３ｆ）が割り当てられる。
【０２０１】
また、画像補正個別処理（６３ｂ，６３ｆ）は、１つの処理部で実行する場合にはＣＰ
Ｕ１３に割り当てられ、２つの処理部で実行する場合には、ＣＰＵ１３と、ＣＰＵ１２、
ＣＰＵ１４およびＣＰＵ１５〜１８のいずれか（ＣＰＵ＿Ｘ）とに、負荷分散テーブル５
１の分散割合に基づいて割り当てられる。
【０２０２】
画像補正開始処理６２ｂでは、ＣＰＵ１３は、画像補正の第３処理、第１処理、第２処
理の順番で、１ラインの画像データずつ画像補正個別処理６３ｂ，６３ｆを実行させる。
なお、画像補正の第２処理および第３処理を実行するか否かは、ユーザの設定に応じて判
定される。つまり、第ｘ処理（ｘ＝１，２，３）について、１ラインずつ分散処理するか
否かが判定され、処理割合に応じて、ＣＰＵ１３、または、ＣＰＵ１３とＣＰＵ＿Ｘの２
つにより、画像補正個別処理（６３ｂ，６３ｆ）が実行される。
【０２０３】
図１６は、実施の形態３における画像補正開始処理６２ｂを説明するフローチャートで
ある。また、図１７は、図１６における第ｘ処理（ｘ＝１，２，３）の１ライン処理を説
明するフローチャートである。
【０２０４】
まず、ＣＰＵ１３は、ユーザの設定に基づいて、第３処理（ノイズ除去）を実行するか
否かを判定し（ステップＳ４１）、第３処理を実行する場合には、第３処理の１ライン処
理を実行する（ステップＳ４２）。一方、第３処理（ノイズ除去）を実行しない場合には
、ステップＳ４２はスキップする。
【０２０５】
次に、ＣＰＵ１３は、第１処理（トーン調整および彩度強調）の１ライン処理を実行す
る（ステップＳ４３）。
【０２０６】
そして、第１処理が完了すると、ＣＰＵ１３は、ユーザの設定に基づいて、第２処理（
シャープネス）の１ライン処理を実行するか否かを判定し（ステップＳ４４）、第２処理
を実行する場合には、第２処理の１ライン処理を実行する（ステップＳ４５）。一方、第
２処理（シャープネス）を実行しない場合には、ステップＳ４５はスキップする。
【０２０７】
このように、ＪＰＥＧデコード後の画像データについて、１ラインずつ順番に画像補正
が実行され、すべての画像データについて画像補正が実行されるまで、ステップＳ４１〜
Ｓ４５の処理が繰り返し実行される（ステップＳ４６）。
【０２０８】
ここで、図１７を参照してステップＳ４２，Ｓ４３，Ｓ４５の第ｘ処理の１ライン処理
について説明する。なお、第１処理、第２処理および第３処理は、同様の手順で実行され
る。ただし、各画素に施される演算（後述のステップＳ６２）は、処理種別に応じて異な
る。
【０２０９】
第ｘ処理の１ライン処理では、ＣＰＵ１３は、まず、負荷分散テーブル５１における画
像補正の第ｘ処理についてのＣＰＵ１３の処理割合の値を読み出し、その値が１であるか
否かに基づいて、画像補正を２つの処理部で分散処理するか否かを判定する（ステップＳ
５１）。なお、ＣＰＵ１３は、この処理割合の値が１である場合には分散処理をしないと
判定し、この処理割合の値が１未満である場合には分散処理をすると判定する。
【０２１０】
画像補正の第ｘ処理を２つの処理部で分散処理すると判定した場合、ＣＰＵ１３以外の
ＣＰＵ＿Ｘへ分散処理を与える処理が実行される。
【０２１１】
その際、ＣＰＵ１３は、負荷分散テーブル５１における画像補正の第ｘ処理についての
ＣＰＵ１３以外のＣＰＵ１２，１４〜１８の処理割合の値が０以外である処理部をＣＰＵ
＿Ｘとし、処理対象となる１ライン分の画像データを分散割合で分割し、各処理割合分に
応じた画像データをＣＰＵ１３およびＣＰＵ＿Ｘに割り当てる（ステップＳ５２）。
【０２１２】
例えば、分散割合が３：１である場合には、１ラインの先頭から横幅画素数の４分の３
の画素領域がＣＰＵ１３に割り当てられ、残りの４分の１の画素領域がＣＰＵ＿Ｘに割り
当てられる。
【０２１３】
そして、ＣＰＵ１３は、処理種別およびＣＰＵ＿Ｘの処理割合分の画像データの先頭ア
ドレス（外部ＲＡＭ２のＪＰＥＧデコード後の画像データの格納領域のアドレス）を、デ
ュアルポートＲＡＭ２１に書き込む（ステップＳ５３）。
【０２１４】
そして、ＣＰＵ１３は、ＣＰＵ＿Ｘに割り込みを掛けて、処理割合分の個別処理６３ｆ
をＣＰＵ＿Ｘに依頼する（ステップＳ５４）。なお、割り込みは、ＣＰＵ１１〜１８を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたＣＰＵ＿Ｘは、デュアルポートＲＡＭ２１の所定の領域に記憶された処理種別
に応じて、ＣＰＵ＿Ｘの処理割合分の画像データの先頭アドレスを、デュアルポートＲＡ
Ｍ２１から読み込む。
【０２１５】
このようにして、ステップＳ５２〜Ｓ５４の処理により、ＣＰＵ１３以外のＣＰＵ＿Ｘ
へ分散処理が与えられる。一方、ステップＳ５１において画像補正の第ｘ処理を分散処理
しないと判定された場合には、ステップＳ５２〜Ｓ５４の処理はスキップされる。
【０２１６】
そして、ＣＰＵ１３は、分散処理の場合には、１ライン分の画像データのうちの処理割
合分の画像データに対する画像補正の第ｘ処理の個別処理６３ｂを実行し、分散処理をし
ない場合には、１ライン分の画像データに対する画像補正の第ｘ処理の個別処理６３ｂを
実行する（ステップＳ５５）。ＣＰＵ１３は、個別処理６３ｂを実行する場合、関数コー
ルにより、個別処理６３ｂの関数やルーチンを呼び出して実行する。
【０２１７】
ＣＰＵ１３は、今回の１ライン処理を分散処理しているか否かを判定し（ステップＳ５
６）、分散処理していない場合には、画像補正の第ｘ処理の個別処理６３ｂが完了すると
１ライン処理を終了する。一方、分散処理をしている場合には、ＣＰＵ１３は、画像補正
の第ｘ処理の個別処理６３ｂの完了後、ＣＰＵ＿Ｘによる第ｘ処理の個別処理６３ｆの完
了まで待機し（ステップＳ５７）、ＣＰＵ＿Ｘによる第ｘ処理の個別処理６３ｆが完了す
ると１ライン処理を終了する。
【０２１８】
このようにして、１ライン分の画像データに対して画像補正の第ｘ処理が実行される。
【０２１９】
図１８は、実施の形態３における画像補正個別処理６３ｂ，６３ｆを説明するフローチ
ャートである。第１処理〜第３処理についての画像補正個別処理６３ｂは、ＣＰＵ１３に
より実行され、第１処理〜第３処理についての画像補正個別処理６３ｆは、ＣＰＵ１３以
外のＣＰＵ＿Ｘにより実行される。ＣＰＵ１３は、専用命令を含むプログラム４２ｓを実
行し、ＣＰＵ＿Ｘは、専用命令を含まないプログラム４２ｇを実行するが、両者の処理の
流れは、同一である。ただし、専用命令を使用した場合のほうが演算速度が高い。
【０２２０】
ＣＰＵ１３は、個別処理６３ｂの開始時のＣＰＵタイマの値Ｔｓを保存した後（ステッ
プＳ６１）、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して第ｘ処理の演算を施し（ステップＳ６２
）、その演算が完了すると、その時のＣＰＵタイマの値Ｔｅを検出し（ステップＳ６３）
、両者の差（Ｔｅ−Ｔｓ）を計測時間とする。
【０２２１】
そして、ＣＰＵ１３は、その計測時間を第ｘ処理についての画像補正処理時間データと
し、処理した画素数を第ｘ処理についての画像補正処理画素数データとして、処理能力テ
ーブル５２における、画像補正の第ｘ処理についてのＣＰＵ１３の処理能力情報を更新す
る（ステップＳ６４）。このとき、処理能力情報としては、画像補正処理画素数データを
画像補正処理時間データで除算した処理速度などが使用される。
【０２２２】
このようにすることにより、１ラインの処理ごとに、１ライン分の画像データの処理割
合分についての画像補正個別処理６３ｂの際に収集された処理能力情報で、処理能力テー
ブル５２における画像補正についてのＣＰＵ１３の処理能力情報が更新される。
【０２２３】
なお、分散処理の場合には、ＣＰＵ１３とＣＰＵ＿Ｘは、上述の処理をそれぞれ実行す
る。したがって、ＣＰＵ１３の処理能力情報の他、分散処理の場合には、１ラインの処理
ごとに、１ライン分の画像データの処理割合分についての画像補正個別処理６３ｆの際に
収集された処理能力情報で、処理能力テーブル５２における画像補正についてのＣＰＵ＿
Ｘの処理能力情報が更新される。
【０２２４】
このように、第ｘ処理についての画像補正個別処理（６３ｂ，６３ｆ）では、処理割合
分の第ｘ処理の他、処理時間および処理画素数の計測、並びに１ラインごとの処理能力テ
ーブル５２の更新が行われる。
【０２２５】
以上のように、上記実施の形態３によれば、画像補正開始処理６２ｂおよび画像補正個
別処理６３ｂ，６３ｆが効率良く実行される。
【０２２６】
実施の形態４．
本発明の実施の形態４に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、色変換およびハーフトーンの開始処理６２ｃ，６２ｄおよび
個別処理６３ｃ，６３ｇ，６３ｄ，６３ｈについては以下のように実行する。
【０２２７】
本実施の形態４においても、図７に示すように、色変換開始処理６２ｃは、ＣＰＵ１４
により実行される。色変換個別処理（６３ｃ，６３ｇ）は、１または２の処理部に割り当
てられる。
【０２２８】
また、色変換個別処理（６３ｃ，６３ｇ）は、１つの処理部で実行する場合にはＣＰＵ
１４に割り当てられ、２つの処理部で実行する場合には、ＣＰＵ１４と、ＣＰＵ１２、Ｃ
ＰＵ１３およびＣＰＵ１５〜１８のいずれか（ＣＰＵ＿Ｘ）とに、負荷分散テーブル５１
の分散割合に基づいて割り当てられる。
【０２２９】
さらに、本実施の形態４では、ハーフトーン開始処理６２ｄが、ＣＰＵ１４により色変
換開始処理６２ｃにおいて実行される。ハーフトーン個別処理（６３ｄ，６３ｈ）は、１
または２の処理部に割り当てられる。
【０２３０】
また、ハーフトーン個別処理（６３ｄ，６３ｈ）は、１つの処理部で実行する場合には
ＣＰＵ１５〜１８の４ＣＰＵに割り当てられ、２つの処理部で実行する場合には、ＣＰＵ
１５〜１８と、ＣＰＵ１２〜１４のいずれか（ＣＰＵ＿Ｘ）の合計５ＣＰＵに、負荷分散
テーブル５１の分散割合に基づいて割り当てられる。
【０２３１】
図１９は、実施の形態４における色変換開始処理６２ｃを説明するフローチャートであ
る。
【０２３２】
色変換開始処理６２ｃでは、ＣＰＵ１４は、負荷分散テーブル５１における色変換につ
いてのＣＰＵ１４の処理割合の値を読み出し、その値が１であるか否かに基づいて、色変
換を２つの処理部で分散処理するか否かを判定する（ステップＳ７１）。なお、ＣＰＵ１
４は、この処理割合の値が１である場合には分散処理をしないと判定し、この処理割合の
値が１未満である場合には分散処理をすると判定する。
【０２３３】
色変換を２つの処理部で分散処理すると判定した場合、ＣＰＵ１４以外のＣＰＵ＿Ｘへ
分散処理を与える処理が実行される。
【０２３４】
その際、ＣＰＵ１４は、負荷分散テーブル５１における色変換についてのＣＰＵ１４以
外のＣＰＵ１２，１３，１５〜１８の処理割合の値が０以外であるＣＰＵをＣＰＵ＿Ｘと
し、処理対象となる１ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをＣＰＵ１４およびＣＰＵ＿Ｘに割り当てる（ステップＳ７２）。
【０２３５】
なお、色変換における１回の処理あたりの処理対象となるブロックは、縦２画素、横（
４×Ｍ）画素の画素領域である。この実施の形態４では、Ｍ＝６４とされる。
【０２３６】
例えば、分散割合が３：１である場合には、ブロックにおける各ラインの先頭から３×
Ｍ個の画素領域（つまり合計６×Ｍ個の画素）がＣＰＵ１４に割り当てられ、残りの２×
Ｍ個の画素領域がＣＰＵ＿Ｘに割り当てられる。
【０２３７】
そして、ＣＰＵ１４は、処理種別およびＣＰＵ＿Ｘの処理割合分の画像データの先頭ア
ドレス（外部ＲＡＭ２のリサイズ・レイアウト後の画像データの格納領域のアドレス）を
、デュアルポートＲＡＭ２２に書き込む（ステップＳ７３）。
【０２３８】
そして、ＣＰＵ１４は、ＣＰＵ＿Ｘに割り込みを掛けて、処理割合分の個別処理６３ｇ
をＣＰＵ＿Ｘに依頼する（ステップＳ７４）。なお、割り込みは、ＣＰＵ１１〜１８を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたＣＰＵ＿Ｘは、デュアルポートＲＡＭ２２の所定の領域に記憶された処理種別
に応じて、ＣＰＵ＿Ｘの処理割合分の画像データの先頭アドレスを、デュアルポートＲＡ
Ｍ２２から読み込む。
【０２３９】
このようにして、ステップＳ７２〜Ｓ７４の処理により、ＣＰＵ１４以外のＣＰＵ＿Ｘ
へ分散処理が与えられる。一方、ステップＳ７１において色変換を分散処理しないと判定
された場合には、ステップＳ７２〜Ｓ７４の処理はスキップされる。
【０２４０】
そして、ＣＰＵ１４は、分散処理の場合には、１ブロック分の画像データのうちの処理
割合分の画像データに対する色変換の個別処理６３ｃを実行し、分散処理をしない場合に
は、１ブロック分の画像データに対する色変換の個別処理６３ｃを実行する（ステップＳ
７５）。ＣＰＵ１４は、個別処理６３ｃを実行する場合、関数コールにより、個別処理６
３ｃの関数やルーチンを呼び出して実行する。
【０２４１】
ＣＰＵ１４は、処理割合分の個別処理６３ｃが完了すると、ハーフトーン開始処理を実
行する（ステップＳ７６）。これにより、後述のようにして、ＣＰＵ１４による個別処理
６３ｃの後の画像データに対して、ハーフトーン処理が実行される。
【０２４２】
ＣＰＵ１４は、処理割合分の画像データについて、色変換およびハーフトーンが完了す
ると、色変換処理を分散処理しているか否かを判定する（ステップＳ７７）。色変換処理
を分散処理している場合には、ＣＰＵ１４は、ＣＰＵ＿Ｘによる色変換個別処理６３ｇが
終了するまで待機し（ステップＳ７８）、ＣＰＵ＿Ｘによる色変換個別処理６３ｇが終了
すると、ＣＰＵ＿Ｘの処理割合分の色変換後の画像データについてハーフトーン開始処理
を実行する（ステップＳ７９）。
【０２４３】
一方、色変換処理を分散処理していない場合には、１ブロック分の色変換およびハーフ
トーンが完了していることになるので、ステップＳ７８，Ｓ７９はスキップする。
【０２４４】
このようにして、１ブロック分の色変換およびハーフトーンが実行される。そして、ス
テップＳ７１に戻り、次の１ブロック分の色変換およびハーフトーンが同様にして実行さ
れる。以後、画像データの最後まで、順番に、色変換およびハーフトーンが実行される（
ステップＳ８０）。
【０２４５】
上述の色変換開始処理に関連して、まず、色変換個別処理６３ｃ，６３ｇについて説明
する。図２０は、実施の形態４における色変換個別処理６３ｃ，６３ｇを説明するフロー
チャートである。色変換個別処理６３ｃは、ＣＰＵ１４により実行され、色変換個別処理
６３ｇは、ＣＰＵ１４以外のＣＰＵ＿Ｘにより実行される。ＣＰＵ１４は、専用命令を含
むプログラム４３ｓを実行し、ＣＰＵ＿Ｘは、専用命令を含まないプログラム４３ｇを実
行するが、両者の処理の流れは、同一である。ただし、専用命令を使用した場合のほうが
演算速度が高い。なお、色変換に使用されるＬＵＴは、デュアルポートＲＡＭ２１に格納
されているパラメータの値に基づいて、図示せぬ不揮発メモリに記憶された複数のＬＵＴ
から選択される。
【０２４６】
ＣＰＵ１４は、個別処理６３ｃの開始時のＣＰＵタイマの値Ｔｓを保存した後（ステッ
プＳ８１）、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して色変換を実行し（ステップＳ８２）、そ
の演算が完了すると、その時のＣＰＵタイマの値Ｔｅを検出し（ステップＳ８３）、両者
の差（Ｔｅ−Ｔｓ）を計測時間として、合計処理時間データに累積加算し、デコードした
画素数を合計処理画素数データに累積加算する（ステップＳ８４）。なお、合計処理時間
データおよび合計処理画素数データは、処理に要した時間および処理の完了した画素数を
集計するためのデータである。これらのデータの初期値は０とされる。
【０２４７】
なお、この実施の形態４では、ＲＧＢデータが７色インク用の７色分のＣＹＭＫデータ
に変換される。
【０２４８】
そして、ＣＰＵ１４は、今回の処理が１バンド内の最後の処理であるか否かを判定する
（ステップＳ８５）。この判定については、例えば、今回の個別処理が１バンド内の最後
の処理であるか否かを示すデータを他のパラメータとともに開始処理６２ｃにおいて設定
しそのデータに基づいて各個別処理６３ｃ，６３ｇで判定するようにすればよい。
【０２４９】
ＣＰＵ１４は、今回の処理が１バンド内の最後の処理であると判定した場合には、合計
処理時間データを色変換処理時間データとし、合計画素数データを色変換処理画素数デー
タとして、処理能力テーブル５２における、色変換についてのＣＰＵ１４の処理能力情報
を更新する（ステップＳ８６）。このとき、処理能力情報としては、色変換処理画素数デ
ータを色変換処理時間データで除算した処理速度などが使用される。更新後、ローカルデ
ータである合計処理時間データおよび合計画素数データは、０にリセットされる（ステッ
プＳ８７）。
【０２５０】
また、このようにすることにより、１バンドの処理ごとに、１バンド分の画像データの
処理割合分についての色変換個別処理６３ｃの際に収集された処理能力情報で、処理能力
テーブル５２における色変換についてのＣＰＵ１４の処理能力情報が更新される。
【０２５１】
なお、分散処理の場合には、ＣＰＵ１４とＣＰＵ＿Ｘは、上述の処理をそれぞれ実行す
る。したがって、ＣＰＵ１４の処理能力情報の他、分散処理の場合には、１バンドの処理
ごとに、１バンド分の画像データの処理割合分についての色変換個別処理６３ｇの際に収
集された処理能力情報で、処理能力テーブル５２における色変換についてのＣＰＵ＿Ｘの
処理能力情報が更新される。
【０２５２】
このように、色変換個別処理（６３ｃ，６３ｇ）では、処理割合分の色変換の他、処理
時間および処理画素数の集計、並びに１バンドごとの処理能力テーブル５２の更新が行わ
れる。
【０２５３】
上述の色変換開始処理に関連して、次に、ハーフトーン開始処理６２ｄについて説明す
る。ハーフトーン開始処理６２ｄは、上述のように、ＣＰＵ１４またはＣＰＵ＿Ｘによる
色変換が完了した後、ＣＰＵ１４により直ちに実行される。
【０２５４】
図２１は、実施の形態４におけるハーフトーン開始処理６２ｄを説明するフローチャー
トである。
【０２５５】
ハーフトーン開始処理６２ｄでは、ＣＰＵ１４は、色変換後の画像データを、色別に分
離してデュアルポートＲＡＭ２２に書き込む（ステップＳ９１）。その際、各色のデータ
は、２×２５６画素のブロックとされる。
【０２５６】
次に、ＣＰＵ１４は、負荷分散テーブル５１におけるハーフトーンについてのＣＰＵ１
５〜１８の処理割合の値を読み出し、その値が１であるか否かに基づいて、ハーフトーン
を５つのＣＰＵで分散処理するか否かを判定する（ステップＳ９２）。なお、ＣＰＵ１４
は、この処理割合の値が１である場合には分散処理をしないと判定し、この処理割合の値
が１未満である場合には分散処理をすると判定する。
【０２５７】
ハーフトーンを５つのＣＰＵで分散処理すると判定した場合、ＣＰＵ１５〜１８、およ
びＣＰＵ１５〜１８以外のＣＰＵ＿Ｘへ分散処理を与える処理が実行される。
【０２５８】
その際、ＣＰＵ１４は、負荷分散テーブル５１におけるハーフトーンについてのＣＰＵ
１５〜１８以外のＣＰＵ１２〜１４の処理割合の値が０以外であるＣＰＵをＣＰＵ＿Ｘと
し、処理対象となる１ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをＣＰＵ１５〜１８およびＣＰＵ＿Ｘに割り当てる（ステップＳ９２）。
【０２５９】
なお、ハーフトーンにおける１回の処理あたりの処理対象となるブロックは、色変換と
同一の画素領域である。
【０２６０】
そして、ＣＰＵ１４は、ＣＰＵ＿Ｘに割り込みを掛けて、処理割合分の個別処理６３ｈ
をＣＰＵ＿Ｘに依頼する（ステップＳ９４）。なお、割り込みは、ＣＰＵ１１〜１８を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたＣＰＵ＿Ｘは、デュアルポートＲＡＭ２２の所定の領域に記憶された処理種別
に応じて、ＣＰＵ＿Ｘの処理割合分の画像データの先頭アドレスを、デュアルポートＲＡ
Ｍ２２から読み込む。
【０２６１】
一方、ステップＳ９１においてハーフトーンを５つのＣＰＵで分散処理しないと判定さ
れた場合には、ステップＳ７３の処理はスキップされる。
【０２６２】
そして、ＣＰＵ１４は、ＣＰＵ１５〜１８のそれぞれに割り込みを掛けて、処理割合分
の個別処理６３ｄをＣＰＵ１５〜１８に依頼する（ステップＳ９５）。なお、割り込みを
受けたＣＰＵ１５〜１８は、デュアルポートＲＡＭ２２の所定の領域に記憶された処理種
別に応じて、ＣＰＵ１５〜１８の処理割合分の画像データの先頭アドレスを、デュアルポ
ートＲＡＭ２２から読み込む。
【０２６３】
このようにして、ステップＳ９３，Ｓ９４の処理により、ＣＰＵ１５〜１８へ分散処理
が与えられたり、ＣＰＵ１５〜１８以外のＣＰＵ＿Ｘへ分散処理が与えられたりする。
【０２６４】
その後、ＣＰＵ１４は、ＣＰＵ１５〜１８によるハーフトーン個別処理６３ｄが終了す
るまで待機する（ステップＳ９５）。そして、ＣＰＵ１５〜１８によるハーフトーン個別
処理６３ｄが終了すると、５つのＣＰＵで分散処理をしている場合には、ＣＰＵ１４は、
ＣＰＵ＿Ｘによるハーフトーン個別処理６３ｈが終了するまで待機し、個別処理６３ｈが
終了すると、ハーフトーン開始処理を終了する。一方、５つのＣＰＵで分散処理をしてい
ない場合には、ＣＰＵ１５〜１８によるハーフトーン個別処理６３ｄが終了すると、ＣＰ
Ｕ１４は、ハーフトーン開始処理を終了する。
【０２６５】
このようにして、ハーフトーン個別処理の割り当て処理が実行される。
【０２６６】
ここで、ハーフトーン個別処理６３ｄ，６３ｈの詳細について説明する。図２２は、実
施の形態４におけるハーフトーン個別処理６３ｄ，６３ｈを説明するフローチャートであ
る。ハーフトーンは、色変換後の各色のデータを単位として分散処理される。ハーフトー
ン個別処理６３ｄは、１色または２色ずつに分散され、ＣＰＵ１５〜１８により並列的に
実行され、ハーフトーン個別処理６３ｈは、ＣＰＵ１５〜１８以外のＣＰＵ＿Ｘにより実
行される。ＣＰＵ１５〜１８は、専用命令を含むプログラム４４ｓを実行し、ＣＰＵ＿Ｘ
は、専用命令を含まないプログラム４４ｇを実行するが、両者の処理の流れは、同一であ
る。ただし、専用命令を使用した場合のほうが演算速度が高い。
【０２６７】
ＣＰＵ１５〜１８は、個別処理６３ｄの開始時のＣＰＵタイマの値Ｔｓを保存した後（
ステップＳ１０１）、予め割り当てられている色の処理割合分の画像データをデュアルポ
ートＲＡＭ２２から読み出し、その画像データに対して、ディサ法または誤差拡散法で二
値化処理を実行し（ステップＳ１０２）、その演算が完了すると、その時のＣＰＵタイマ
の値Ｔｅを検出し（ステップＳ１０３）、両者の差（Ｔｅ−Ｔｓ）を計測時間として、合
計処理時間データに累積加算し、デコードした画素数を合計処理画素数データに累積加算
する（ステップＳ１０４）。なお、合計処理時間データおよび合計処理画素数データは、
処理に要した時間および処理の完了した画素数を集計するためのデータである。これらの
データの初期値は０とされる。
【０２６８】
なお、この実施の形態４では、７色分のＣＭＹＫデータ（Ｃ，Ｍ，Ｙ，Ｋ，Ｒ，Ｂ，Ｃ
Ｌ）が存在し、４つのＣＰＵ１５〜１８のみでハーフトーンを実行する場合、例えば、Ｃ
ＰＵ１５は、誤差拡散法によるシアンＣおよびマゼンタＭの二値化を実行し、ＣＰＵ１６
は、ディザ法によるイエローＹの二値化と誤差拡散法によるブラックＫの二値化を実行し
、ＣＰＵ１７は、ディザ法によるクリアＣＬの二値化と誤差拡散法によるレッドＲの二値
化を実行し、ＣＰＵ１８は、誤差拡散法によるブルーＢの二値化を実行する。また、ＣＰ
Ｕ１５〜１８とＣＰＵ＿Ｘの５つのＣＰＵでハーフトーンを実行する場合、例えば、ＣＰ
Ｕ１５は、誤差拡散法によるシアンＣの二値化を実行し、ＣＰＵ１６は、ディザ法による
イエローＹの二値化と誤差拡散法によるブラックＫの二値化を実行し、ＣＰＵ１７は、デ
ィザ法によるクリアＣＬの二値化と誤差拡散法によるレッドＲの二値化を実行し、ＣＰＵ
１８は、誤差拡散法によるブルーＢの二値化を実行し、ＣＰＵ＿Ｘは、誤差拡散法による
マゼンタＭの二値化を実行する。
【０２６９】
そして、ＣＰＵ１５〜１８は、今回の処理が１バンド内の最後の処理であるか否かを判
定する（ステップＳ１０５）。この判定については、例えば、今回の個別処理が１バンド
内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理６２ｄにお
いて設定しそのデータに基づいて各個別処理６３ｄ，６３ｈで判定するようにすればよい
。
【０２７０】
ＣＰＵ１５〜１８は、今回の処理が１バンド内の最後の処理であると判定した場合には
、合計処理時間データをＨＴ処理時間データとし、合計画素数データをＨＴ処理画素数デ
ータとして、処理能力テーブル５２における、ハーフトーンについてのＣＰＵ１５〜１８
の処理能力情報を更新する（ステップＳ１０６）。このとき、処理能力情報としては、Ｈ
Ｔ画素数データをＨＴ処理時間データで除算した処理速度などが使用される。更新後、ロ
ーカルデータである合計処理時間データおよび合計画素数データは、０にリセットされる
（ステップＳ１０７）。
【０２７１】
また、このようにすることにより、１バンドの処理ごとに、１バンド分の画像データの
処理割合分についてのハーフトーン個別処理６３ｄの際に収集された処理能力情報で、処
理能力テーブル５２におけるハーフトーンについてのＣＰＵ１５〜１８の処理能力情報が
更新される。
【０２７２】
なお、分散処理の場合には、ＣＰＵ１５〜１８とＣＰＵ＿Ｘは、上述の処理をそれぞれ
実行する。したがって、ＣＰＵ１５〜１８の処理能力情報の他、分散処理の場合には、１
バンドの処理ごとに、１バンド分の画像データの処理割合分についてのハーフトーン個別
処理６３ｈの際に収集された処理能力情報で、処理能力テーブル５２におけるハーフトー
ンについてのＣＰＵ＿Ｘの処理能力情報が更新される。
【０２７３】
このように、ハーフトーン個別処理（６３ｄ，６３ｈ）では、処理割合分のハーフトー
ンの他、処理時間および処理画素数の集計、並びに１バンドごとの処理能力テーブル５２
の更新が行われる。
【０２７４】
以上のように、上記実施の形態４によれば、色変換開始処理６２ｃおよび色変換個別処
理６３ｃ，６３ｇが効率良く実行され、色変換後の画像データに色別に施されるハーフト
ーン処理についてのハーフトーン開始処理６２ｄおよびハーフトーン個別処理６３ｄ，６
３ｈが効率良く実行される。
【０２７５】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。
【０２７６】
例えば、実施の形態１〜４では、最初に用意される画像データは、ＪＰＥＧ形式でエン
コードされたものであるが、その代わりに、他の形式でエンコードされたものとしてもよ
い。その場合には、ＪＰＥＧデコードの代わりに、その形式でのデコードが実行される。
【０２７７】
また、実施の形態１〜４では、ＣＰＵ１５〜１８は１つのプロセッサとして負荷管理さ
れているが、その代わりに、４つのＣＰＵ１５〜１８それぞれについて、他のＣＰＵ１２
〜１４と同様に負荷管理を実行して、負荷バランスを保つようにしてもよい。
【０２７８】
また、実施の形態１〜４において、ＣＰＵ１５〜１８へ、ＪＰＥＧデコード、画像補正
、色変換などの、ハーフトーン以外の個別処理を与える場合には、ＣＰＵ１５〜１８のう
ちの他のＣＰＵより処理する色の数が少ないＣＰＵに、そのハーフトーン以外の個別処理
を与えればよい。
【０２７９】
また、実施の形態１〜４においては、色変換により７色のＣＹＭＫ画像データが生成さ
れるが、色変換後の画像データの色数は、他の数でもよい。例えば、色変換により、４色
、６色、８色などのＣＹＭＫ画像データを生成するようにしてもよい。その場合、ハーフ
トーン専用命令演算部を有するＣＰＵの数は、その色数以下とされる。また、色変換後の
色座標についても上述のものに限定されるものではなく、別の色座標としてもよい。
【０２８０】
また、実施の形態１〜４においては、画像補正の第１処理〜第３処理は、別々に分散処
理されるが、第１処理〜第３処理を区別せず、１つの画像補正処理として分散させるよう
にしてもよい。
【０２８１】
また、実施の形態１〜４においては、分散処理時において、１つの処理種別の処理はメ
インのＣＰＵ（つまりその処理種別に対応する専用命令演算部を有するＣＰＵ）と別の１
つのＣＰＵ＿Ｘにより実行されるが、メインのＣＰＵと２以上の他のＣＰＵにより実行す
るようにしてもよい。その場合には、負荷分散テーブル５１の処理割合が、少なくとも３
つの処理部について、非０の値となる。
【０２８２】
また、実施の形態１〜４において、色変換を実行するＣＰＵ１４（およびＣＰＵ＿Ｘ）
からハーフトーンを実行するＣＰＵ１５〜１８（およびＣＰＵ＿Ｘ）へのデータの転送に
ついては、例えば、本出願人が先に提案している特願２００４−０９６８４５号の方法を
応用してもよい。
【０２８３】
また、実施の形態１〜４において、リサイズ・レイアウト処理については分散処理せず
にＣＰＵ１２が実行しているが、他の処理種別と同様にして分散処理するようにしてもよ
い。
【０２８４】
また、実施の形態１〜４において、汎用命令演算部１２ａ〜１８ａについて、内蔵の加
算器、乗算器といった演算器の数をＣＰＵごとに変えるようにしてもよい。
【０２８５】
また、実施の形態１〜４においては、専用命令を含むプログラム４１ｓ〜４４ｓおよび
汎用命令を含むプログラム４１ｇ〜４４ｇを外部ＲＡＭ２にロードしているが、専用命令
を含むプログラム４１ｓ〜４４ｓを各ＣＰＵ１２〜１８の命令ＲＡＭ３３にロードし、汎
用命令を含むプログラム４１ｇ〜４４ｇを外部ＲＡＭ２にロードするようにしてもよい。
【０２８６】
また、実施の形態１〜４においては、ＪＰＥＧデコード、画像補正および色変換につい
ての処理割合は、０、０．２５、０．５、０．７５および１の集合のうちのいずれかとさ
れるが、その他の数の集合のいずれかとしてもよい。例えば、処理割合は、０、０．１２
５、０．２５、０．３７５、０．５、０．６２５、０．７５、０．８７５および１の集合
のうちのいずれかとしてもよい。また、ハーフトーンについての処理割合についても、別
の値のいずれかとしてもよい。
【０２８７】
また、実施の形態１〜４においては、個別処理６３を実行するＣＰＵ１２〜１８の一部
で、分散割合決定処理６１および開始処理６２が実行されるが、その代わりに、分散割合
決定処理６１および開始処理６２を別のＣＰＵ（例えばＣＰＵ１１、別途設けられるＣＰ
Ｕなど）により実行するようにしてもよい。
【０２８８】
また、実施の形態１〜４において、負荷分散テーブル５１を２つとし、開始処理６２に
おいて一方の負荷分散テーブル５１が参照され、１回の分散割合決定処理６１では他方の
負荷分散テーブル５１が更新され、更新が完了すると、開始処理６２において参照される
負荷分散テーブル５１を、更新された他方の負荷分散テーブル５１とするようにしてもよ
い。これにより、２つの負荷分散テーブル５１が交互に更新され、負荷分散テーブル５１
の更新中も、開始処理６２において負荷分散テーブル５１の参照が円滑に行われる。
【０２８９】
また、実施の形態１〜４においては、ＪＰＥＧデコード、画像補正、リサイズ・レイア
ウト、色変換、およびハーフトーンの順番に実行する画像処理系に対して本発明を適用し
たが、各画像処理の種類はこれに限られるものではなく、一連の複数種別の画像処理を順
番に実行する他の画像処理系に対しても本発明を適用可能である。
【産業上の利用可能性】
【０２９０】
本発明は、例えば、画像データに対して複数の画像処理を順番に施す画像処理装置に適
用可能である。そのような画像処理装置としては、例えばプリンタ、コピー機、プロジェ
クタ、テレビジョン受像機などがある。
【図面の簡単な説明】
【０２９１】
【図１】本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図１におけるＣＰＵ１２の詳細な構成を示すブロック図である。
【図３】図１におけるＣＰＵ１１〜１８用のプログラムを示すブロック図である。
【図４】実施の形態１における一連の画像処理を説明するフローチャートである。
【図５】実施の形態１におけるデータフローを説明するブロック図である。
【図６】分散処理を行わない場合のデータフローなどの一例を示す図である。
【図７】実施の形態１における分散処理を説明するブロック図である。
【図８】実施の形態１における処理能力テーブルの一例を示す図である。
【図９】実施の形態１における負荷分散テーブルの一例を示す図である。
【図１０】実施の形態１での分散割合決定処理を説明するフローチャートである。
【図１１】図１０内の負荷分散テーブル更新処理を説明するフローチャートである。
【図１２】図９の負荷分散テーブルの更新途中の負荷分散テーブルを示す図である。
【図１３】図９の負荷分散テーブルを更新した負荷分散テーブルを示す図である。
【図１４】実施の形態２でのＪＰＥＧデコード開始処理を説明する図である。
【図１５】実施の形態２でのＪＰＥＧデコード個別処理を説明する図である。
【図１６】実施の形態３での画像補正開始処理を説明するフローチャートである。
【図１７】図１６での第ｘ処理の１ライン処理を説明するフローチャートである。
【図１８】実施の形態３での画像補正個別処理を説明するフローチャートである。
【図１９】実施の形態４における色変換開始処理を説明するフローチャートである。
【図２０】実施の形態４における色変換個別処理を説明するフローチャートである。
【図２１】実施の形態４におけるハーフトーン開始処理を説明する図である。
【図２２】実施の形態４におけるハーフトーン個別処理を説明する図である。
【符号の説明】
【０２９２】
１  ＡＳＩＣ（プロセッサ）、４  プリンタ駆動部（印刷手段）、１２  ＣＰＵ（複数
の処理部の一部，分散割合更新手段，開始処理手段，処理能力テーブル更新手段）、１３
，１４  ＣＰＵ（複数の処理部の一部，開始処理手段，処理能力テーブル更新手段）、１
５〜１８  ＣＰＵ（複数の処理部の一部，処理能力テーブル更新手段）、５１  負荷分散
テーブル、５２ａ  処理能力テーブル（デフォルト処理能力テーブル）、５２ｂ  処理能
力テーブル。
【図１】
2006163674.tif 000003
【図２】
2006163674.tif 000004
【図３】
2006163674.tif 000005
【図４】
2006163674.tif 000006
【図５】
2006163674.tif 000007
【図６】
2006163674.tif 000008
【図７】
2006163674.tif 000009
【図８】
2006163674.tif 000010
【図９】
2006163674.tif 000011
【図１０】
2006163674.tif 000012
【図１１】
2006163674.tif 000013
【図１２】
2006163674.tif 000014
【図１３】
2006163674.tif 000015
【図１４】
2006163674.tif 000016
【図１５】
2006163674.tif 000017
【図１６】
2006163674.tif 000018
【図１７】
2006163674.tif 000019
【図１８】
2006163674.tif 000020
【図１９】
2006163674.tif 000021
【図２０】
2006163674.tif 000022
【図２１】
2006163674.tif 000023
【図２２】
2006163674.tif 000024