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