(57)【要約】【課題】小規模なプログラマブルなデータ処理部でもって、プログラミングの自由度を担保しながら、メモリ増大を抑制して低コスト化を実現した画像処理装置を提供する。【解決手段】データメモリ１５０は、データ処理部１１０で順番に実行される複数の処理用プログラムとその処理用パラメータをあらかじめ記憶しておく。データ処理部１１０は、処理対象の画像データを複数に分割した各分割画像データを処理単位として、データメモリ１５０から処理用プログラムとその処理用パラメータ及び分割画像データを読み込み、該分割画像データに対して、該処理用プログラムをその処理用パラメータを参照して実行し、処理後の分割画像データ及び実行した処理用プログラムとその処理用パラメータをデータメモリ１５０に書き戻す動作を、データメモリ１５０に記憶された処理用プログラムの数分繰り返す。【選択図】図１
2007189367.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルなデータ処理部と、画像データの記憶部、及び処理プログラムの記憶部を有する画像処理装置において、
前記データ処理部は、前記画像データの記憶部から前記画像データを分割して読み込み、前記処理プログラムの記憶部から前記処理プログラムを読み込み、前記読み込んだ画像データに対して、前記読み込んだ処理プログラムを実行し、処理後の画像データを前記画像データの記憶部に戻し、前記実行後の処理プログラムを前記プログラムの記憶部に戻す処理を、分割された画像データ毎に繰り返すことを特徴とする画像処理装置。
【請求項２】
プログラマブルなデータ処理部と、画像データの記憶部、及び複数の処理プログラムの記憶部を有する画像処理装置において、
前記画像データの記憶部から前記画像データを分割して読み込み、前記処理プログラムの記憶部から第１の処理プログラムを読み込み、前記分割して読み込んだ画像データに対して、前記読み込んだ第１の処理プログラムを実行し、該処理後の画像データを前記画像データの記憶部に戻し、前記実行後の第１の処理プログラムを前記プログラムの記憶部に戻す第１の処理と、
前記画像データの記憶部から前記処理後の画像データを読み込み、前記処理プログラムの記憶部から次の処理プログラムを読み込み、前記読み込んだ画像データに対して、前記読み込んだ処理プログラムを実行し、処理後の画像データを前記画像データの記憶部に戻し、前記実行後の処理プログラムを前記プログラムの記憶部に戻す処理を、前記プログラムの記憶部に存在する各処理プログラムについて順に繰り返す第２の処理と、
を分割された画像データ毎に繰り返すことを特徴とする画像処理装置。
【請求項３】
請求項１もしくは２に記載の画像処理装置において、
前記処理プログラムに対応したパラメータの記憶部を有し、
前記データ処理部は、前記処理プログラムの読み込みの際に、前記パラメータの記憶部から対応するパラメータを読み込み、前記画像データに対して、前記パラメータを用いて前記処理プログラムを実行し、前記処理プログラムを前記処理プログラムの記憶部に戻す際に、前記パラメータを前記パラメータの記憶部に戻す、
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記データ処理部は、前記パラメータを前記パラメータの記憶部に戻す際に、当該処理プログラムで処理される分割された画像データの境界データを前記パラメータに付加して戻し、次に分割された画像データに対して、当該処理プログラムを実行する際に、前記パラメータに付加された境界データを使用する、
ことを特徴とする画像処理装置。
【請求項５】
請求項２乃至４のいずれか１項に記載の画像処理装置において、
前記データ処理部は、前記処理後の画像データを前記画像データの記憶部に戻す際に、次の処理プログラムに引き継ぐ情報を前記画像データに付加して戻し、前記画像データに対して、次の処理プログラムを実行する際に、当該画像データに付加された前記情報を使用する、
ことを特徴とする画像処理装置。
【請求項６】
請求項１又は２に記載の画像処理装置において、
画像データを前記画像データの記憶部へ入力する入力動作、前記データ処理部の処理動作、処理後の画像データを前記画像データの記憶部から出力する出力動作を制御する制御手段を更に有することを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記制御手段は、分割された画像データ毎に、前記入力動作、前記処理動作及び前記出力動作をオーバーラップして制御することを特徴とする画像処理装置。
【請求項８】
プログラマブルなデータ処理部と、画像データの記憶部、及び処理プログラムの記憶部を有する画像処理装置における画像処理制御方法であって、
前記画像データの記憶部から前記画像データを分割して前記データ処理部に読み込むステップ、
前記処理プログラムの記憶部から前記処理プログラムを前記データ処理部に読み込むステップと、
前記記データ処理部において、前記分割して読み込まれた画像データに対して、前記読み込んだ処理プログラムを実行するステップと、
前記データ処理部において処理された画像データを前記画像データの記憶部に戻すステップと、
前記データ処理部にて実行された処理プログラムを前記処理プログラムの記憶部に戻すステップと、
を有し、分割された画像データ毎に、前記各ステップを繰り返すことを特徴とする画像処理制御方法。
【請求項９】
プログラマブルなデータ処理部と、画像データの記憶部、及び複数の処理プログラムの記憶部を有する画像処理装置における画像処理制御方法であって、
前記画像データの記憶部から前記画像データを分割して前記データ処理部に読み込むステップと、前記処理プログラムの記憶部から第１の処理プログラムを前記データ処理部に読み込むステップと、前記データ処理部において、前記分割して読み込まれた画像データに対して、前記読み込まれた第１の処理プログラムを実行するステップと、処理後の画像データを前記画像データの記憶部に戻すステップと、実行された前記第１の処理プログラムを前記処理プログラムの記憶部に戻すステップとを含む第１の処理ステップ、
及び、前記画像データの記憶部から前記処理後の画像データを前記データ処理部に読み込むステップと、前記処理プログラムの記憶部から次の処理プログラムを読み込むステップと、前記データ処理部において、前記読み込まれた前記画像データに対して、前記読み込まれた処理プログラムを実行するステップと、処理後の画像データを前記画像データの記憶部に戻すステップと、実行された前記処理プログラムを前記プログラムの記憶部に戻すステップとを含む処理ステップを、前記プログラムの記憶部に存在する各処理プログラムについて順に繰り返す第２の処理ステップ、
を有し、分割された画像データ毎に、前記第１及び第２の処理ステップを繰り返すことを特徴とする画像処理制御方法。
【請求項１０】
請求項８又は９に記載の画像処理制御方法において、
前記画像処理装置は前記処理プログラムに対応したパラメータの記憶部を有し、
前記処理プログラムを前記データ処理部に読み込むステップでは、前記パラメータの記憶部から対応するパラメータを読み込み、
前記データ処理部において、画像データに対して前記処理プログラムを実行するステップでは、前記読み込まれたパラメータを用いて当該処理プログラムを実行し、
前記実行された処理プログラムを前記処理プログラムの記憶部に戻すステップでは、前記対応するパラメータを前記パラメータの記憶部に戻す、
ことを特徴とする画像処理制御方法。
【請求項１１】
請求項１０に記載の画像処理制御方法において、
前記パラメータを再び前記パラメータの記憶部に戻す際に、該パラメータに当該処理プログラムで処理対象の分割された画像データの境界データを前記パラメータに付加して戻し、
前記データ処理部にて、次に分割された画像データに対して、当該処理プログラムを実行する際に、当該処理プログラムに対応する前記パラメータに付加された境界データを使用する、
ことを特徴とする画像処理制御方法。
【請求項１２】
請求項９乃至１１のいずれか１項に記載の画像処理制御方法において、
前記処理後の画像データを再び前記画像データの記憶部に戻すステップでは、該処理後の画像データに次の処理プログラムに引き継ぐ情報を前記画像データに付加して戻し、
前記データ処理部において、画像データに対して、次の処理プログラムを実行するステップでは、前記画像データに付加された情報を使用する、
ことを特徴とする画像処理制御方法。
【請求項１３】
請求項８又は９に記載の画像処理制御方法において、
画像データを前記画像データの記憶部へ入力する入力ステップと、
前記画像データの記憶部の処理後の画像データを出力する出力ステップ、
を更に有することを特徴とする画像処理制御方法。
【請求項１４】
請求項１３に記載の画像処理制御方法において、
前記画像データの入力ステップ、前記データ処理部における処理ステップ及び前記処理後の画像データの出力ステップがオーバーラップして行われることを特徴とする画像処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル複写機、ファクシミリ装置、プリンタ等の単体機器、あるいは、これらやスキャナ等の一部あるいは全部の処理機能を複合した複合機（ＭＦＰ）、さらには、その他の画像データ処理機器に適用される画像処理装置及び画像処理制御方法に関する。
【背景技術】
【０００２】
デジタル複写機などの画像処理装置では、例えば、ライン間補正やシェーディング補正、ＭＴＦ（空間周波数特性）フィルタリング、ガンマ変換、階調処理などの処理機能が必要である。また、複合機（ＭＦＰ）では、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等が１台の画像処理装置に要求される。
【０００３】
従来の画像処理装置では、一般に複数の独立の専用処理部を有するデータ処理ハードウエア（ＡＳＩＣ）を用いることで、複数の処理機能を実現していた（例えば、特許文献１、特許文献２参照）。
【０００４】
図９に、従来の複数の専用処理部を有するデータ処理ハードウエアを使用した画像処理装置のシステム構成例を示す。図９では簡単化のために、データ処理ハードウエア（ＡＳＩＣ）１１００は３つの独立の専用ハード処理部１１１０、１１２０、１１３０からなるとしているが、一般には、それ以上の処理部を有している。ここで、処理部１１１０は、画像の処理Ａを実行する処理ブロック（処理Ａブロック）１１１１及び該処理ブロック専用のデータメモリ（Ａ専用データメモリ）１１１２で構成される。同様に、処理部１１２０は処理Ｂブロック１１２１及びＢ専用データメモリ１１２２で構成され、処理部１１３０は処理Ｃブロック１１３１及びＣ専用データメモリ１１３２で構成される。又、処理部１１１０、１１２０、１１３０の間は内部バスで接続されている。
【０００５】
図９の画像処理装置は、このような専用ハード処理部１１１０、１１２０、１１３０を有するデータ処理ハードウエア（ＡＳＩＣ）１１００、スキャナなどで原稿等を読み取る画像読み取り部１２００、プリンタなどで画像データを紙などのメディアに出力する画像出力部１３００、外部メディア（ＣＤ、ＤＶＤ、ＳＤカード等）や外部装置（パソコン等）と画像データを送受信する外部インターフェース部（外部Ｉ／Ｆ部）１４００、データ処理ハードウエア（ＡＳＩＣ）１１００の作業用メモリであるデータメモリ１５００、ハードディスクなどでバックアップや再利用等のために画像データを保存しておく大容量記憶部１６００、及び、装置全体の動作を制御する制御部１７００等が、システムバス１８００を介して接続されている。なお、データメモリ１５００は、データ処理ハードウェア１１００だけでなく、画像読み取り部１２００、画像出力部１３００、外部インターフェース部（外部Ｉ／Ｆ部）１４００、大容量記憶部１６００、及び、制御部１７００の作業用メモリとしても使用される。
【０００６】
図１０は、一例として、画像読み取り部１２００などから入力された画像データを、専用データ処理ハードウエア（ＡＳＩＣ）１１００内で処理Ａ→処理Ｂ→処理Ｃの順番に３種の画像処理を実行して画像出力部１３００などに出力する場合の処理フローを示した図である。まず、ハードロジックの処理Ａブロック１１１１が、Ａ専用データメモリ１１１２を使用して、入力画像データに対して処理Ａを実行し、処理結果の画像データを処理ブロック１１２１に転送する。処理Ｂブロック１１２１は、Ｂ専用データメモリ１１２２を使用して、処理Ａブロック１１１１から転送された画像データに対して処理Ｂを実行し、処理結果の画像データを処理Ｃブロック１１３１に転送する。処理Ｃブロック１１２１は、Ｃ専用データメモリ１１３２を使用して、処理Ｂブロック１１２１から転送された画像データに対して処理Ｃを実行して出力する。ここで、どの処理ブロックを動作させるかは、例えば、制御部１７００が司る。
【０００７】
図９に示した画像処理装置のように、複数の専用処理部を有するデータ処理ハードウエア（ＡＳＩＣ）を使用する利点は、速度性能が優れていることであるが、その反面、ハードロシックのため、機能変更や追加の柔軟性に欠けるという欠点がある。これの解決策として、ＤＳＰ（デジタル信号プロセッサ）のようなプログラマブルデバイスを用いる場合がある。
【０００８】
図１１に、プログラマブルデバイス（ＤＳＰ）を用いて、複数の処理機能を実現する従来の画像処理装置のシステム構成例を示す。図１１の画像処理装置は、ＡＳＩＣのデータ処理ハードウエアをＤＳＰのプログラマブルデバイス２１００に置き替えた以外、図９のシステム構成と基本的に同様である。プログラマブルデバイス２１００には、あらかじめ複数の処理機能に対応した複数のプログラム（ここでは、処理Ａ用プログラム、処理Ｂ用プログラム、処理Ｃ用プログラムとする）がそれぞれプログラムメモリ領域２１１１、２１１２、２１１３にロードされている。また、各処理プログラム用にそれぞれデータメモリ領域があらかじめ確保されている。ここでは、Ａ用データメモリ領域２１２１、Ｂ用データメモリ領域２１２２、Ｃ用データメモリ領域２１２３とする。
【０００９】
図１２は、一例として、画像読み取り部２２００などから入力された画像データを、プログラマブルデバイス（ＤＳＰ）２１００で処理Ａ→処理Ｂ→処理Ｃの順番に３種の画像処理を実行して画像出力部２３００などに出力する場合の処理フローを示した図である。まず、プログラムメモリ領域２１１１の処理Ａ用プログラムにより、Ａ用データメモリ領域２１２１を使用して、入力画像データに対して処理Ａを実行する。次に、プログラムメモリ領域２１１２の処理Ｂ用プログラムにより、Ｂ用データメモリ領域２１２２を使用して、処理Ａ用プログラムで処理された画像データに対して処理Ｂを実行する。最後に、プログラムメモリ領域２１１３の処理Ｃ用プログラムにより、Ｃ用データメモリ領域２１２３を使用して、処理Ｂ用プログラムで処理された画像データに対し処理Ｃを実行して出力する。どの処理プログラムを動作させるかは、例えば、制御部２７００が司る。
【００１０】
ＤＳＰのようなプログラマブルデバイスを使用する利点は、ＤＳＰ内の処理プログラムをダウンロードし直すことで、処理機能の変更・追加に柔軟に対処できることであるが、その反面、ソフト処理のため、専用のハードロジックに比べて速度性能が劣ることである。さらに、従来のプログラマブルデバイスでは処理用のプログラムメモリ及びデータメモリが各処理分必要であるため、コスト高になることである。
【００１１】
このように、ＡＳＩＣ使用の画像処理装置とＤＳＰ使用の画像処理装置には一長一短があり、それぞれ使い分けているのが現状である。
【００１２】
【特許文献１】特開平８−２７４９８６号公報
【特許文献２】米国特許第５７１５０７０号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１３】
近年の複合機（ＭＦＰ）では、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の強化により、処理フローが多様化・複雑化している。これはユーザの多様な要求に対応するために、種々の処理機能を搭載する必要があることによる。さらに、ユーザの画質性能への要求も強く、高画質化に対応するために、画像処理も増大する傾向にある。なお、処理フローの多様化・複雑化は、複合機に限らず、デジタル複写機、ファクシミリ装置、プリンタ等の単体機器、その他の画像データ処理機器でも同様である。
【００１４】
このため、ＡＳＩＣなどに代表される実際に画像処理を行うハードウエア部は肥大化し、製造コストが高くなるという問題が発生している。特にＡＳＩＣなどのデータ処理ハードウエアにおいては、上述のように内部に必要な処理専用ブロックと処理専用メモリが複数配置される構成であり、要求される処理機能を維持しながらのコスト削減は困難である。さらに、あらかじめ内部にハードウエアロジックを構成し処理機能を実現するため、その後の処理変更や追加などの柔軟性に欠ける根本的問題がある。
【００１５】
一方、ＤＳＰのようなプログラマブルデバイスは、速度性能やコスト面ではＡＳＩＣなどに比べて劣るものの、ユーザの要求などに対し、その都度、機能を自由にプログラミングできる自由度の高さが最大の長所である。すなわち、行ないたい処理機能をプログラミングし、プログラムコードをＤＳＰなどにダウンロードすることで、処理変更や追加が容易に実現できる。しかしながら、従来のＤＳＰなどのプログラマブルデバイスを用いた画像処理装置においては、上述のように、複数の処理機能を実行する場合、各処理分のプログラムメモリとデータメモリを必要とするため、ＤＳＰなどの規模が増大し、ＡＳＩＣなどに比べて高コストが、さらに増加する問題があった。また、画像データの膨大化に伴い、データメモリの必要容量は益々増加の傾向にあり、この点からも高コストは免れなかった。
【００１６】
本発明は、上記の課題に鑑み、プログラミングの自由度を担保しながらも、メモリ増大を抑制して低コスト化を実現する画像処理装置及び画像処理制御方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、プログラマブルなデータ処理部と、画像データの記憶部、及び処理プログラムの記憶部を有する画像処理装置において、データ処理部は、画像データの記憶部から画像データを分割して読み込み、処理プログラムの記憶部から処理プログラムを読み込み、分割して読み込んだ画像データに対して、読み込んだ処理プログラムを実行し、処理後の画像データを画像データの記憶部に戻し、実行後の処理プログラムをプログラムの記憶部に戻す処理を、分割された画像データ毎に繰り返すことを特徴とする。これにより、処理対象の画像データが増加しても、データ処理部は必要最小限の小容量のデータ用メモリを備えるだけよく、コスト削減が可能になる。
【００１８】
さらに、本発明は、プログラマブルなデータ処理部と、画像データの記憶部、及び複数の処理プログラムの記憶部を有する画像処理装置において、画像データの記憶部から画像データを分割して読み込み、処理プログラムの記憶部から第１の処理プログラムを読み込み、分割して読み込んだ画像データに対して、読み込んだ第１の処理プログラムを実行し、該処理後の画像データを前記画像データの記憶部に戻し、前記実行後の第１の処理プログラムを前記プログラムの記憶部に戻した後、画像データの記憶部から処理後の画像データを読み込み、処理プログラムの記憶部から次の処理プログラムを読み込み、読み込んだ画像データに対して、読み込んだ処理プログラムを実行し、処理後の画像データを画像データの記憶部に戻し、実行後の処理プログラムを前記プログラムの記憶部に戻す処理を、プログラムの記憶部に存在する各処理プログラムについて順に繰り返すことを特徴とする。これにより、データ処理部は、必要最小限の小容量のデータ用メモリ及びプログラム用メモリでもって、複数の処理機能、大規模処理が実現し、さらなるコスト削減が可能になる。
【００１９】
また、本発明の画像処理装置においては、処理プログラムに対応したパラメータの記憶部を有し、データ処理部は、前記処理プログラムの読み込みの際に、パラメータの記憶部から対応するパラメータを読み込み、画像データに対して、パラメータを用いて処理プログラムを実行し、処理プログラムを前記処理プログラムの記憶部に戻す際に、パラメータを前記パラメータの記憶部に戻すことを特徴とする。一実施形態では、データ処理部は、パラメータをパラメータの記憶部に戻す際に、当該処理プログラムで処理される分割された画像データの境界データをパラメータに付加して戻し、次に分割された画像データに対して、当該処理プログラムを実行する際に、パラメータに付加された境界データを使用するようにする。これにより、前の分割画像データの境界データを次の分割画像データで必要とする場合にも簡単に対処できるようになる。
【００２０】
また、本発明の画像処理装置においては、データ処理部は、処理後の画像データを画像データの記憶部に戻す際に、次の処理プログラムに引き継ぐ情報を画像データに付加して戻し、画像データに対して、次の処理プログラムを実行する際に、当該画像データに付加された情報を使用するようにする。これにより、分割画像データに対して複数の処理プログラムを順に実行する際に、処理プログラムの間で必要な情報を簡単に引き継ぐことができるようになる。
【００２１】
また、本発明の画像処理装置においては、画像データを画像データの記憶部へ入力する入力動作、データ処理部の処理動作、処理後の画像データを画像データの記憶部から出力する出力動作を制御する制御手段を有する。一実施形態では、制御手段は、分割された画像データ毎に、前記入力動作、前記処理動作及び前記出力動作をオーバーラップして制御する。これにより、全体の処理時間が短縮でき、コスト削減と共に処理性能も向上する。
【発明の効果】
【００２２】
本発明によれば、データ処理部は、一つの処理用プログラムと処理用パラメータを記憶する程度のプログラムメモリ領域、及び、処理単位の分割画像データを記憶する程度のデータメモリ領域を持てばよく、メモリ増大を格段に抑制して低コスト化を実現することができる。しかも、データ処理部では、必要に応じて複数の任意の処理用プログラムをぐるぐる回して実行することが可能であり、プログラムミングの自由度を担保できる。さらに、画像データを分割して処理することにより、画像データの記憶部の容量増大も抑制することができる。
【００２３】
また、処理対象の画像データを複数に分割し、各分割データを処理単位とすることで、処理対象の画像データの入力動作、データ処理部での一連の処理動作、処理後の画像データの出力動作を並行に行うことが可能になり、全体の処理時間を短縮することができる。また、処理用プログラム及びその処理用パラメータを記憶部に書き戻す際に、処理用パラメータに境界データを設定することにより、分割画像データ間の境界をまたぐ処理を何ら支障なく行うことができる。さらに、処理後の画像データを記憶部に戻す際に、次の処理用プログラムに引き継ぐ情報を該画像データに付加することにより、分割画像データに対して複数の処理プログラムを順に実行する場合、各処理プログラム間で必要な情報を簡単に引き継ぐことができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明の一実施の形態について説明する。以下の実施形態では、分割された画像データごとに、複数種類（３種類）の処理を順に繰り返し実行し、且つ、前の分割画像データの境界データは次の分割画像データの処理に引き継ぐ必要がある場合について詳述する。分割された画像データごとに単一の処理を繰り返し実行する場合や、分割画像データの間で境界データを引き継ぐ必要がない場合などは、容易に類推可能である。
【００２５】
図１は、本実施の形態による画像処理装置のシステム構成例を示すブロック図である。本画像処理装置は、ＤＳＰのようなプログラマブルなデータ処理部１１０、原稿やその他の画像データを入力するスキャナなどや、その他のデータ入力部１２０、画像データを紙などのメディアに出力するプリンタなどのデータ出力部１３０、外部メディア（ＣＤ、ＤＶＤ、ＳＤカード等）や外部装置（パソコン等）と画像データを送受信する外部インターフェース部（外部Ｉ／Ｆ部）１４０、データ入力部１２０や外部Ｉ／Ｆ部１４０から入力された画像データや処理結果の画像データ、プログラムコード（以下、プログラム）などを一時的に蓄積するＤＤＲなどのデータメモリ１５０、バックアップや再利用等のために画像データを保存しておくハードディスクなどの大容量記憶部１６０、データメモリ１５０上のプログラム、画像データをデータ処理部１１０に転送制御するＤＭＡコントローラなどのコントローラ部１７０、処理対象の複数のプログラムがあらかじめ格納された不揮発性の記憶媒体１８０、装置全体の動作制御を司ると共に、記憶媒体１８０上のプログラムのデータメモリ１５０へのロードを制御する制御ＣＰＵ１９０、および、これら各部を接続するシステムバス２００で構成される。
【００２６】
データメモリ１５０上には、本実施の形態に関係するメモリ領域として、データ入力部１２０などから入力された画像データが格納される入力データ格納領域１５１、データ処理部１１０で処理された画像データが格納される処理後データ格納領域１５２、及び、データ処理部１１０の処理用プログラムとその処理用パラメータがあらかじめ記憶媒体１８０からロードされて格納される処理用プログラム格納領域が用意される。本実施の形態では、データ処理部１１０の処理用プログラムは処理Ａ用プログラム、処理Ｂ用プログラム及び処理Ｃ用プログラムの３種類とし、それぞれ処理Ａ用プログラム格納領域１５３、処理Ｂ用プログラム格納領域１５４及び処理Ｃ用プログラム格納領域１５５がデータメモリ１５０上に割り当てられているとする。なお、データメモリ１５０に格納される処理用プログラムは、対象とする画像データの処理の種類で決まり、一般には一つ以上いくつでもよい。また、プログラムによっては、処理用パラメータは不要である。入力データ格納領域１５１と処理後データ格納領域１５２は、処理対象の画像データを複数の小処理単位に分割し、該分割した処理単位の画像データ（入力分割画像データあるいは処理後分割画像データ）を順次上書きして記憶するだけの記憶容量で足りるが、実際には多少余裕を持たせて構成されることになる。なお、入力データ格納領域１５１については、入力される処理対象の画像データ全部を蓄積できるだけの記憶容量を用意するようにしてもよい。これにより、例えば、処理途中でエラー等が発生した場合、入力データ格納領域１５１に記憶されている入力画像データを用いて、最初から処理をやり直すことが可能である。データメモリ１５０は、入力データ格納領域１５１や処理後データ格納領域１５２の書込み／読出しポインタを有する。
【００２７】
一方、データ処理部１１０は、処理対象のプログラム及びその処理用パラメータがデータメモリ１５０からロードされて格納される処理用プログラムメモリ領域（プログラムメモリ）１１１、処理単位の画像データ（分割画像データ）がデータメモリ１５０から転送されて格納されるデータメモリ領域１１２、及び、データメモリ領域１１２の画像データについて、処理用プログラムメモリ領域１１１のプログラム及びそのパラメータに基づく処理を実行するＣＰＵ１１３を有している。
【００２８】
本実施の形態では、実行すべき処理用プログラムとその処理用パラメータを順番に繰り返しデータメモリ１５０から該データ処理部１１０の処理用プログラムメモリ領域１１１にロードして、分割画像データに対して、複数の処理を順番に繰り返し実行し、処理済のプログラムとパラメータは、処理の都度、データメモリ１５０に書き戻す。この書き戻しの際に、必要なら境界データをパラメータの一部として含めておき、次の分割画像データの処理に引き継ぐようにする。この処理用プログラム及び処理用パラメータのロードの都度、処理すべき画像データ（分割画像データ）をデータメモリ１５０からデータ処理部１１０のデータメモリ領域１１２に転送し、処理された画像データ（処理後分割画像データ）は同様にデータメモリに１５０に書き戻す。このため、データ処理部１１０は、高々一つの処理用プログラムと処理用パラメータ分程度の小規模の処理用プログラムメモリ領域１１１、及び、処理単位の分割画像データ分程度（具体的には、分割画像データ＋境界データ）のデータメモリ領域１１２でもって、複数の処理機能が可能になり、従来のＤＳＰなどに比べて格段の低コスト化を満たすことが可能になる。また、データ処理部１１０は、プログラマブルデバイスであり、ロードするプログラムの変更や追加は任意であり、自由に処理機能の変更や追加が可能である。
【００２９】
図２は、一例として、データ入力部１２０などから入力される画像データを複数の小処理単位に分割し、分割された処理単位で、データ処理部１１０で処理Ａ→処理Ｂ→処理Ｃの順番に３種の画像処理を繰り返し実行し、順次、データ出力部１３０などに出力する場合の処理概念を示した図である。すなわち、処理対象の画像データが複数に分割され、各分割画像データを処理単位として、処理Ａ、処理Ｂ、処理Ｃが順番にぐるぐる回しで処理されて、順次、出力される。この処理Ａ、処理Ｂ、処理Ｃの各処理の都度、処理Ａ用プログラム、処理Ｂ用プログラム、処理Ｃ用プログラムが、その処理用パラメータと共にデータメモリ１５０からデータ処理部１１０の処理用プログラムメモリ領域１１１に上書き形式でロードされ、処理が終了すると、再びデータメモリ１５０に書き戻される。同様に、データ処理部１１０のデータメモリ領域１１２には、各処理の都度、処理すべき分割画像データがデータメモリ１５０から転送され、処理後の分割画像データは再びデータメモリ１５０に書き戻される。
【００３０】
なお、処理対象のプログラムが一つの場合には、データメモリ１５０から当該処理用プログラムがデータ処理部１１０にロードされ、データメモリ１５０から画像データが分割してデータ処理部１１０に転送されることで、データ処理部１１０は、分割画像データに対して、該処理用プログラムに基づいて所望の処理を実行し、処理が終了するに、該処理用プログラムがデータメモリ１５０に書き戻され、同様に、処理後の分割画像データもデータメモリ１５０に書き戻される。これが分割された画像データごとに繰り返され、順次、処理後の分割画像データがデータ出力部１３０などに出力されることになる。
【００３１】
ところで、処理対象の画像データを複数に分割し、各分割画像データを処理単位として処理する場合、処理の種類によっては、前の分割画像データの最終ラインやその数ライン前までのデータ、その他の情報を次の分割画像データの処理に引き継ぐ必要が生じる。また、現在の分割画像データの最終ライン等の処理に、次の分割画像データの先頭ライン等のデータが必要となる。いま、図３（ａ）に示すように、分割データ１と次の分割データ２の境界領域３００に着目する。この場合、例えば、空間フィルタ処理では、３×３のフィルタを使用すると、分割データ１の最終ラインの処理では、図３（ｂ）のように、次の分割データ２の先頭ラインのデータ（画素値）を使って計算する必要があり、分割データ２の１ライン目の処理をするには、図３（ｃ）のように、その前の分割データ１の最終ラインのデータ（画素値）を使って計算する必要がある。また、ステートマシン処理では、図３（ｄ）のように、分割データ２の１ライン目のステート（状態）を決定するには、その前の分割データ１の最終ラインまでのステートを参照して決定する必要がある。
【００３２】
本実施の形態では、前の分割画像データの境界データを次の分割画像データの処理に引き継ぐために、データ処理部１１０で処理されたプログラム及びパラメータをデータメモリ１５０に書き戻すときに、当該プログラムのパラメータ領域に所望の境界データ（処理済みライン数、所定ライン数の画像データ、ステートデータ等）を設定してデータメモリ１５０に書き戻すようにする。また、処理した分割画像データには、必要ならデータヘッダを付加してデータメモリ１５０に書き戻すようにする。
【００３３】
図４（ａ）に示すように、処理用プログラム４００には、その処理用パラメータ４０１が含まれているが、該処理用パラメータ４０１の一部に境界データ４０２を追加する。例えば、図３（ｂ），（ｃ）に示した３×３フィルタの空間フィルタ処理の場合、データ処理部１１０のＣＰＵ１１３は、最初の分割データ１がデータメモリ１５０から転送されてくると、その最終ラインの１つ前のラインまで処理して、それを処理後の分割データ１としてデータメモリ１５０に書き戻すことになる。この時、ＣＰＵ１１３は、該分割データ１の処理済みライン数（最終ラインの１つ前までのライン数）、及びデータメモリ領域１１２に残されている最終ラインとその一つ前のラインの２ライン分の処理前データを境界データ４０２として処理用パラメータ４０１に設定して、処理用プログラム４００と共にデータメモリ１５０に書き戻す。その後、該処理用プログラム４００と処理用パラメータ４０１、及び、次の分割データ２がデータメモリ１５０から転送されてくると、ＣＰＵ１１３は、該処理用パラメータ４０１の境界データ４０２から分割データ１の最後の２ライン分のデータを抽出して、分割データ２の先頭に繋げ、境界データ４０２の処理済みライン数に基づき、分割データ１の最終ラインから、分割データ２として処理を開始する。各分割データについて、同様の処理を繰り返す。これにより、図３（ｂ）や（ｃ）に示した境界をまたがる場合も、何ら支障なく処理される。また、図３（ｄ）のステートマシン処理の場合には、その処理用プログラム４００の処理用パラメータ４０１に、処理した分割データ１のステートデータＳ−１，Ｓ−２等を境界データ４０２として設定することにより、該境界データ４０２を参照して次の分割データ２の１ライン目のステートＳを決定することができる。
【００３４】
データ処理部１１０のＣＰＵ１１３における上記処理は、例えば、処理用プログラム４００自体にそのための手続きを入れておくことで容易に実現される。あるいは、ＣＰＵ１１３自体がそのハードロジック手段などで、処理用プログラム４００の種類等を判別して行うことでもよい。
【００３５】
図４（ｂ）は、データ処理部１１０とデータメモリ１５０との間で送受信される画像データ（分割画像データ）の構成例である。ここで、４１０はデータヘッダ、４１１は処理後データ（分割画像データ）で、データヘッダ４１０には、処理済みライン数、その他、次の処理に引き継ぐべき必要な情報が書き込まれる。データ処理部１１０のＣＰＵ１１３は、データヘッダ４１１を参照することで、分割された画像データを処理単位として、順次、必要な処理を支障なく行うことが可能になる。
【００３６】
図５に、本実施の形態の全体的処理フローチャートを示す。以下、図５に基づいて図１の主要部の動作を詳述するが、以下では、図２と同様に、データ入力部１２０から入力される画像データを複数に分割し、各分割画像データを処理単位してデータ入力部１２０の入力動作と並行に、データ処理部１１０において、処理Ａ→処理Ｂ→処理Ｃの３種類の画像処理を順番に実行し、順次、処理後の分割画像データをデータ出力部１３０に出力するとする。図６は、この場合のプログラムとデータの流れを具体的に示した図、図７はデータメモリ１５０内のプログラムとデータの遷移を示した図である。なお、図７では、データメモリ１５０の入力データ格納領域１５１は、一つの分割画像データを記憶できる程度の記憶容量として、入力された画像データを上書き形式で順次サイクリックに記憶するとしたが、処理対象の入力画像データ全部を記憶できる記憶容量として、入力された画像データを順次記憶し、これと並行して、あるいは、処理対象の画像データがすべて記憶された後、分割画像データを順番に読み出すようにしてもよい。
【００３７】
制御ＣＰＵ１９０は、システム立上げ時など処理開始に先立ち、記憶媒体１８０内の処理Ａ用プログラム１８１、処理Ｂ用プログラム１８２、処理Ｃ用プログラム１８３を読み出し、システムバス２００を通して、データメモリ１５０内の処理Ａ用プログラム格納領域１５３、処理Ｂ用プログラム格納領域１５４、処理Ｃ用プログラム格納領域１５５にロードする（ステップ５０１）。各処理用プログラム１８１、１８２、１８３には、その処理用パラメータが含まれている。また、制御ＣＰＵ１９０は、コントローラ部１７０に対して、データ分割数、データ分割サイズ、データメモリ１５０にロードされた各処理用プログラム１８１、１８２、１８３の選択順序及びデータメモリ内のアドレス等を通知し設定する（ステップ５０２）。データ分割数やデータ分割サイズは、例えば、処理対象の画像データをプレリードし、そのデータ量とデータ処理部１１０のデータメモリ領域１１２のサイズなどに基づいて決める。なお、ユーザが指定したり、あるいは、あらかじめ固定値とすることでもよい。
【００３８】
図７（ａ）は、この時点のデータメモリ１５０の状態を示したもので、入力データ格納領域１５１と処理後データ格納領域１５２は空であり、各プログラム格納領域１５３、１５４、１５５には、当該処理用プログラムとその処理用パラメータが格納されている。
【００３９】
以後、制御の主導権がコントローラ部１７０に移り、該コントローラ部１７０の制御下で図６に示すように、データ処理部１１０とデータメモリ１５０の間でプログラムとデータの転送及び書き戻しを繰り返して、各分割画像データを処理単位として、データ処理部１１０において処理Ａ→処理Ｂ→処理Ｃの順番に３種類の処理が実行され、順次、処理後の分割画像データがデータ出力部１３０に出力されることになる。
【００４０】
スタートボタンの押下等を契機に、データ入力部１２０が画像データの読み取りを開始する。このデータ入力部１２０で読み取られた処理対象の画像データは、順次、システムバス２００を通してデータメモリ１５０内の入力データ格納領域１５１に格納される（ステップ５０３）。図７（ｂ）は、入力データ格納領域１５１が最初の処理単位の画像データで一杯になった状態を示している。
【００４１】
コントローラ部１７０は、データメモリ１５０内の入力データ格納領域１５１にデータ分割サイズ分（処理単位）の画像データが格納されると（図７（ｂ）の状態）、まず、データメモリ１５０の処理Ａ用プログラム格納領域１５３から処理Ａ用プログラム及び処理Ａ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。次に、コントローラ部１７０は、データメモリ１５０内の入力データ格納領域１５１の先頭からデータ分割サイズ分の画像データ（分割画像データ１とする）を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。データメモリ１５０内の入力データ格納領域１５１に、どれだけの入力画像データが蓄積されたかは、該入力データ格納領域１５１に対応する書き込みポインタの値で知ることができる。また、コントローラ部１７０が、システムバス２００上の入力画像データを監視して、直接判断することもできる。
【００４２】
データ処理部１１０では、処理Ａ用プログラム１８１及び処理Ａ用パラメータは処理用プログラムメモリ領域１１１に格納され、分割画像データ１はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ａ用プログラム１８１とそのパラメータに基づいて、データメモリ領域１１２の分割画像データ１に対して所望の処理Ａ（例えば、シェーディング補正など）を実行し（ステップ５０６）、処理Ａ後の分割画像データ１を、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。また、必要ならデータヘッダを生成して一緒に書き戻す。データヘッダには、次の処理（ここでは処理Ｂ）に引き継ぐべき情報が挿入される。処理後の分割画像データの書き戻しは、例えばライン単位に書き戻す方式、あるいは一括に書き戻す方式のいずれでもよい。処理Ａ後の分割画像データ１の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ａ用プログラム１８１及び処理Ａ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ａ用プログラム格納領域１５３に書き戻す（ステップ５０８）。この時、必要ならば、ＣＰＵ１１３は、データメモリ領域１１２に保持されているデータ等をもとに分割画像データ１の境界データ（処理済みライン数、所定ライン分の画像データ、ステートデータ等）を作成し、これを処理Ａ用パラメータの一部に設定してデータメモリ１５０の処理Ａ用プログラム格納領域１５３に書き戻す。
【００４３】
図７（ｃ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、次の画像データが蓄積しはじめている。処理後データ格納領域１５２には、処理Ａ後の分割画像データ１が格納される。また、処理Ａ用プログラム格納領域１５３には、処理Ａ用プログラム１８１及び処理Ａ用パラメータが書き戻されるが、該処理Ａ用パラメータには分割画像データ１の境界データが設定されている。処理Ｂ用プログラム格納領域１５４と処理Ｃ用プログラム領域１５５は、図７（ｂ）のままである。
【００４４】
コントローラ部１７０は、次に、データメモリ１５０の処理Ｂ用プログラム格納領域１５４から処理Ｂ用プログラム１８２及び処理Ｂ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。続いて、コントローラ部１７０は、データメモリ１５０の処理後データ格納領域１５２から処理Ａ後の分割画像データ１を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。
【００４５】
具体的には、コントローラ部１７０は、例えば、システムバス２００上のデータ転送状況を監視して、データ処理部１１０の処理状態を判断し、現処理用プログラムの処理が終了してプログラム、処理後画像データ（処理後分割画像データ）などがデータメモリ１５０に書き戻されたなら、次の処理用プログラム等をデータ処理部１１０へ転送するようにする。なお、コントロール部１７０は、データ処理部１１０から現処理用プログラムの処理終了の通知を受け取ることで、次の処理用プログラム等をデータ処理部１１０へ転送するようにしてもよい。
【００４６】
データ処理部１１０では、処理Ｂ用プログラム１８２及び処理Ｂパラメータは処理用プログラムメモリ領域１１１に格納され、処理Ａ後の分割画像データ１はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｂ用プログラム１８２とそのパラメータに基づいて、データメモリ領域１１２の処理Ａ後の分割画像データ１に対して所望の処理Ｂ（例えば、ＭＴＦフィルタリングとガンマ変換など）を実行し（ステップ５０６）、処理Ｂ後の分割画像データ１を、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。また、必要ならデータヘッダを生成して一緒に書き戻す。データヘッダには、次の処理（ここでは処理Ｃ）に引き継ぐべき情報が挿入される。処理Ｂ後の分割画像データ１の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｂ用プログラム１８２及び処理Ｂ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ｂ用プログラム格納領域１５４に書き戻す（ステップ５０８）。この時も、必要ならば、ＣＰＵ１１３は、処理Ａ後分割画像データ１の境界データを作成し、これを処理Ｂ用パラメータの一部に設定してデータメモリ１５０の処理Ｂ用プログラム格納領域１５４に書き戻す。
【００４７】
図７（ｄ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、データ入力部１２０からの画像データが上書き形式で蓄積しつづけている。処理後データ格納領域１５２は、処理Ｂ後の分割画像データ１に書き換えられる。処理Ｂ用プログラム格納領域１５４には、処理Ｂ用プログラム１８２及び処理Ｂ用パラメータが書き戻されるが、該処理Ｂ用パラメータには処理Ａ後の分割画像データ１の境界データが設定されている。処理Ａ用プログラム格納領域１５３は図７（ｃ）のままであり、処理Ｃ用プログラム格納領域１５は、引き続き図７（ｂ）のままである。
【００４８】
コントローラ部１７０は、次に、データメモリ１５０の処理Ｃ用プログラム格納領域１５５から処理Ｃ用プログラム１８３及び処理Ｃ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。続いて、コントローラ部１７０は、データメモリ１５０の処理後データ格納領域１５２から処理Ｂ後の分割画像データ１を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。
【００４９】
データ処理部１１０では、処理Ｃ用プログラム１８３及び処理Ｃ用パラメータは処理用プログラムメモリ領域１１１に格納され、処理Ｂ後の分割画像データ１はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｃ用プログラム１８３とそのパラメータに基づいて、データメモリ領域１１２の処理Ｂ後の分割画像データ１に対して所望の処理Ｃ（例えば、階調処理など）を実行し（ステップ５０６）、処理Ｃ後の分割画像データ１を、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。この処理Ｃ後の分割画像データ１の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｃ用プログラム１８３及び処理Ｃ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ｃプログラム格納領域１５５に書き戻す（ステップ５０８）、この時も、必要ならば、ＣＰＵ１１３は、処理Ｂ後分割画像データ１の境界データを作成し、これを処理Ｃ用パラメータの一部に設定してデータメモリ１５０の処理Ｃ用プログラム領域１５５に書き戻す。
【００５０】
図７（ｅ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、次に処理すべき画像データがほぼ蓄積される。処理後データ格納領域１５２は、処理Ｃ後の分割画像データ１に書き換えられる。処理Ｃ用プログラム格納領域１５５には、処理Ｃ用プログラム１８３及び処理Ｃ用パラメータが書き戻されるが、該処理Ｃ用パラメータには処理Ｂ後の分割画像データ１の境界データが設定されている。処理Ａ用プログラム格納領域１５３は、引き続き図７（ｃ）のままであり、処理Ｂ用プログラム格納領域１５４は、図７（ｄ）のままである。
【００５１】
以上のようにして、最初の処理単位の分割画像データ１に対して、処理Ａ〜Ｃの処理がすべて終了すると（ステップ５０９）、コントローラ部１７０は、データメモリ１５０の処理後データ格納領域１５２から処理後Ｃの分割画像データ１を読み出し、システムバス２００を通してデータ出力部１３０に出力する（ステップ５１０）。なお、この出力処理は、制御ＣＰＵ１９０が受け持つことでよい。この場合、制御ＣＰＵ１９０の出力処理と並行にコントローラ部１７０では次の処理を開始することが可能になる。
【００５２】
コントローラ部１７０は、データメモリ１５０内の入力データ格納領域１５１に次に処理すべき画像データが蓄積されると（図７（ｅ））、再びデータメモリ１５０の処理Ａ用プログラム格納領域１５３から処理Ａ用プログラム１８１及び処理Ａ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。次に、コントローラ部１７０は、データメモリ１５０内の入力データ格納領域１５１に蓄積された次の処理単位の画像データ（分割画像データ２とする）を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。
【００５３】
データ処理部１１０では、処理Ａ用プログラム１８１及び処理Ａ用パラメータは、処理用プログラムメモリ領域１１１に格納され、分割画像データ２はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ａ用プログラム１８１及び処理Ａ用パラメータに基づいて、データメモリ領域１１２の分割画像データ２に対して所望の処理Ａ（同じく、シェーディング補正など）を実行するが（ステップ５０６）、当該処理Ａ用パラメータに分割画像データ１の境界データが設定されていると、該境界データの画像データをデータメモリ領域１１２の分割画像データ２の先頭に繋げるか（例えば、図３（ｂ），（ｃ）の場合）、該境界データを参照する（例えば、図３（ｄ）の場合）などして、処理Ａを実行する。そして、処理Ａ後の分割画像データ２をデータヘッダと共に、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。この処理Ａ後の分割画像データ２の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ａ用プログラム１８１及び処理Ａ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ａ用プログラム格納領域１５３に書き戻す（ステップ５０８）、この時、必要ならば、ＣＰＵ１１３は、分割画像データ２の境界データを作成し、これを処理Ａ用パラメータの一部に新たに設定してデータメモリ１５０の処理Ａ用プログラム格納領域１５３に書き戻す。
【００５４】
図７（ｆ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、再び次の画像データが蓄積しはじめている。処理後データ格納領域１５２は、処理Ａ後の分割画像データ２に書き換えられる。処理Ａ用プログラム格納領域１５３には、処理Ａ用プログラム１８１及び処理Ａ用パラメータに書き戻されるが、該処理Ａ用パラメータは分割画像データ２の境界データが書き換えられる。処理Ｂ用プログラム格納領域１５４及び処理Ｃ用プログラム格納領域１５５は、図７（ｅ）のままである。
【００５５】
コントローラ部１７０は、次に、データメモリ１５０の処理Ｂ用プログラム格納領域１５４から処理Ｂ用プログラム１８２及び処理Ｂ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。続いて、コントローラ部１７０は、データメモリ１５０の処理後データ格納領域１５２から処理Ａ後の分割画像データ２を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。
【００５６】
データ処理部１１０では、処理Ｂ用プログラム１８２及び処理Ｂ用パラメータは、処理用プログラムメモリ領域１１１に格納され、処理Ａ後の分割画像データ２はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｂ用プログラム１８２及び処理Ｂ用パラメータに基づいて、データメモリ領域１１２の処理Ａ後の分割画像データ２に対して所望の処理Ｂ（同じく、ＭＴＦフィルタリングとガンマ変換など）を実行するが（ステップ５０６）、当該処理Ｂ用パラメータに処理Ａ後の分割画像データ１の境界データが挿入されていると、該境界データの画像データをデータメモリ領域１１２の処理Ａ後の分割画像データ２の先頭に繋げるか、該境界データを参照するなどして、処理Ｂを実行する。そして、処理Ｂ後の分割画像データ２をデータヘッダと共に、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。この処理Ａ後の分割画像データ２の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｂ用プログラム１８２及び処理Ｂ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ｂ用プログラム格納領域１５４に書き戻す（ステップ５０８）、この時も、必要ならば、ＣＰＵ１１３は、処理Ａ後の分割画像データ２の境界データを作成し、これを処理Ｂ用プログラム１８１の処理用パラメータの一部に設定してデータメモリ１５０の処理Ｂ用プログラム格納領域１５４に書き戻す。
【００５７】
図７（ｇ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、データ入力部１２０からの画像データが上書き形式で蓄積しつづけている。処理後データ格納領域１５２は、処理Ｂ後の分割画像データ２に書き換えられる。処理Ｂ用プログラム格納領域１５４には、処理Ｂ用プログラム１８２及び処理Ｂ用パラメータが書き戻されるが、該処理Ｂ用パラメータは処理Ａ後の分割画像データ２の境界データに書き換えられる。処理Ａ用プログラム格納領域１５３は図７（ｆ）のままであり、処理Ｃ用プログラム格納領域１５５は、引き続き図７（ｅ）のままである。
【００５８】
コントローラ部１７０は、次に、データメモリ１５０の処理Ｃ用プログラム格納領域１５５から処理Ｃ用プログラム１８３及び処理Ｃ用パラメータを読み出し、ＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０４）。続いて、コントローラ部１７０は、データメモリ１５０の処理後データ格納領域１５２から処理Ｂ後の分割画像データ２を読み出し、同じくＤＭＡ形式でシステムバス２００を通してデータ処理部１１０に転送する（ステップ５０５）。
【００５９】
データ処理部１１０では、処理Ｃ用プログラム１８３及び処理Ｃ用パラメータは処理用プログラムメモリ領域１１１に格納され、処理Ｂ後の分割画像データ２はデータメモリ領域１１２に格納される。データ処理部１１０のＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｃ用プログラム１８３及び処理Ｃ用パラメータに基づいて、データメモリ領域１１２の処理Ｂ後の分割画像データ２に対して所望の処理Ｃ（同じく、階調処理など）を実行するが（ステップ５０６）、ここでも、当該処理Ｃ用パラメータに処理Ｂ後の分割画像データ１の境界データが含まれると、該境界データの画像データをデータメモリ領域１１２の処理Ｂ後の分割画像データ２の先頭に繋げるか、該境界データを参照するなどして、処理Ｃを実行する。そして、処理Ｃ後の分割画像データ２を、システムバス２００を通してデータメモリ１５０の処理後データ格納領域１５２に書き戻す（ステップ５０７）。この処理Ｃ後の分割画像データ２の書き戻しが終了すると、ＣＰＵ１１３は、処理用プログラムメモリ領域１１１の処理Ｃ用プログラム１８３及び処理Ｃ用パラメータを、システムバス２００を通してデータメモリ１５０の処理Ｃ用プログラム格納領域１５５に書き戻す（ステップ５０８）、この時も、必要ならば、ＣＰＵ１１３は、処理Ｂ後の分割画像データ２の境界データを作成し、これを処理Ｃ用パラメータの一部に設定してデータメモリ１５０の処理Ｃ用プログラム格納領域１５５に書き戻す。
【００６０】
図７（ｈ）は、この時点のデータメモリ１５０の状態である。入力データ格納領域１５１には、再び次に処理すべき画像データ（分割画像データ３）がほぼ蓄積される。処理後データ格納領域１５２は、処理Ｃ後の分割画像データ２に書き換えられる。処理Ｃ用プログラム格納領域１５５には、処理Ｃ用プログラム１８３及び処理Ｃ用パラメータが書き戻されるが、該処理Ｃ用パラメータは処理Ｂ後の分割画像データ２の境界データに書き換えられる。処理Ａ用プログラム格納領域１５３は、引き続き図７（ｆ）のままであり、処理Ｂ用プログラム格納領域１５４は図７（ｇ）のままである。
【００６１】
以上のようにして、分割画像データ２に対して、処理Ａ〜Ｃの処理がすべて終了すると（ステップ５０９）、コントローラ部１７０あるいは制御ＣＰＵ１９０は、データメモリ１５０の処理後データ格納領域１５２から処理後Ｃの分割画像データ２を読み出し、システムバス２００を通してデータ出力部１３０に出力する（ステップ５１０）。
【００６２】
以下、各分割画像データを処理単位に、処理Ａ〜Ｃを順番に実行しては、順次、出力する動作を繰り返して、最後の分割画像データに対する処理Ｃ後のデータが出力されると、全ての処理が終了となる（ステップ５１１）。
【００６３】
図８に、本実施形態のタイムチャート例を示す。なお、図８では簡単化のために、処理対象の入力画像データを分割データ１と分割データ２の２つに分割して処理するとし、また、処理は処理Ａと処理Ｂの２種類だけとしている。
【００６４】
時刻ｔ０でデータ入力が開始し、時刻ｔ１で最初の処理単位の分割データ１が入力し終えると、時刻ｔ１から時刻ｔ２の間で、該分割データ１に対して処理Ａ、処理Ｂが順番に処理され（ぐるぐる回し処理：Ｍulti  Ｒound  Ｉmage  Ｐrocessing）、時刻ｔ２から時刻ｔ３の間で、処理後の分割データ１が出力される。時刻ｔ１以後もデータ入力が続き、時刻t２で次の処理単位の分割データ２が入力し終えると、時刻ｔ２から時刻ｔ３の間で、分割データ１の出力動作と並行に、該分割データ２に対して引き続き処理Ａ、処理Ｂが順番に処理され、時刻ｔ３から時刻ｔ４の間で、処理後の分割データ２が出力される。
【００６５】
図８に示すように、入力される画像データを複数に分割し、各分割画像データを処理単位とすることにより、入力、処理、出力を並列的に動作させることが可能であり、データメモリ１５０やデータ処理部１１０内のメモリ等のハードウエア資源の軽減に加えて、全体の処理時間の軽減もできる。
【００６６】
なお、図８は最も理想的なケースであり、例えば、時刻ｔ２の時点で、次の分割データ２が途中までしか入力されていないような場合には、それがすべて入力されるまで待って、分割データ２に対する処理が始まることになる。
【００６７】
以上、本発明の一実施の形態について説明したが、本発明は上記の実施の形態に限定されるものでないことは云うまでもない。先にも述べたように、処理するプログラムは一つ以上いくつでもよく、プログラムによっては処理用パラメータは不要で有り、さらに、処理の種類によってはパラメータへの境界データの設定が不要である。また、例えば、全体の処理時間は多少長くなるが、処理対象の画像データをすべてデータメモリに蓄積してから、所望の処理単位ずつ処理（ぐるぐる回し処理）することでもよい。また、処理対象のデータは外部Ｉ／Ｆ部１４０を通して入力し、処理後データは再び外部Ｉ／Ｆ部１４０を通して出力してもよく、あるいは、大容量記憶部１６０に蓄積することでもよい。
【図面の簡単な説明】
【００６８】
【図１】本発明の画像処理装置の一実施形態のシステム構成例を示す図。
【図２】本実施形態におけるデータ処理部でのぐるぐる回し処理概念を示す図。
【図３】分割データの境界をまたがる処理の一例を示す図。
【図４】本実施形態のプログラムとデータの構成例を示す図。
【図５】本実施形態の全体的な処理フローチャート例を示す図。
【図６】本実施形態のプログラムとデータの流れを示す図。
【図７】本実施形態におけるデータメモリ内のプログラムとデータの遷移を示す図。
【図８】本発明の一実施形態のタイムチャートを示す図。
【図９】従来のＡＳＩＣを使用した画像処理装置のシステム構成図。
【図１０】図８のＡＳＩＣ内の処理フローを示す図。
【図１１】従来のＤＳＰを使用した画像処理装置のシステム構成図。
【図１２】図１０のＤＳＰ内での処理フローを示す図。
【符号の説明】
【００６９】
１１０  データ処理部
１１１  処理用プログラムメモリ領域
１１２  データメモリ領域
１１３  ＣＰＵ
１２０  データ入力部
１３０  データ出力部
１４０  外部Ｉ／Ｆ部
１５０  データメモリ
１５１  入力データ格納領域
１５２  処理後データ格納領域
１５３  処理Ａ用プログラム格納領域
１５３  処理Ｂ用プログラム格納領域
１５３  処理Ｃ用プログラム格納領域
１６０  大容量記憶部
１７０  コントローラ部
１８０  記録媒体
１９０  制御ＣＰＵ
２００  システムバス
【図１】
2007189367.tif 000003
【図２】
2007189367.tif 000004
【図３】
2007189367.tif 000005
【図４】
2007189367.tif 000006
【図５】
2007189367.tif 000007
【図６】
2007189367.tif 000008
【図７】
2007189367.tif 000009
【図８】
2007189367.tif 000010
【図９】
2007189367.tif 000011
【図１０】
2007189367.tif 000012
【図１１】
2007189367.tif 000013
【図１２】
2007189367.tif 000014