(57)【要約】【課題】複数画像処理回路を含む画像処理装置において、動作モードにより一時的に停止状態の画像処理回路付属の専用メモリが、動作中の他の画像処理回路から使用できない。【解決手段】画像処理装置であって、複数の画像処理回路と、前記複数の画像処理回路が共有する共有メモリと、動作モードに応じて前記画像処理回路の夫々の動作又は停止を制御する処理回路制御手段と、前記共有メモリの使用領域について、停止される画像処理回路のための使用領域を他の画像処理回路に割り当てるメモリ制御回路とを有する。【選択図】    図２
2010268411.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像処理回路と、
前記複数の画像処理回路が共有する共有メモリと、
動作モードに応じて前記画像処理回路の夫々の動作又は停止を制御する処理回路制御手段と、
前記共有メモリの使用領域について、停止される画像処理回路のための使用領域を他の画像処理回路に割り当てるメモリ制御回路と
を有することを特徴とする画像処理装置。
【請求項２】
前記複数の画像処理回路のうち前記動作モードに応じて動作する画像処理回路は、前記メモリ制御回路に前記共有メモリに対するアクセス方法を指定するアクセス方法指定信号を出力し、
前記メモリ制御回路は、前記アクセス方法指定信号に応じて、前記動作する画像処理回路に対して前記共有メモリの使用領域を割り当てる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記アクセス方法には、前記共有メモリからのデータの読み出し及び書き込みの少なくともいずれか、読み出し後の書き込み、キャッシュを利用した読み出しが含まれることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記共有メモリは、複数のメモリで構成され、
前記メモリ制御回路は、
前記動作モードに応じて動作する画像処理回路のための使用領域を前記複数のメモリのいずれかに割当て、前記複数のメモリのうち、前記使用領域が割り当てられなかったメモリのクロック供給を停止する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像処理回路は、空間フィルタ処理回路を含み、
前記画像データは、長さと高さにより規定される複数のバンドに分割されて、前記共有メモリで保持され、
前記メモリ制御回路は、前記共有メモリにおいて分割された各バンドを保持する領域の前記高さを、前記空間フィルタ処理回路による空間フィルタのタップ数と、１画素のデータ量とに基づいて決定する
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
複数の処理手段と、
前記複数の処理手段が共有する共有メモリと、
動作モードに応じて前記処理手段の夫々の動作又は停止を制御する制御手段と、
前記共有メモリの使用領域について、停止される処理手段のための使用領域を他の処理手段に割り当てるメモリ制御手段と
を有することを特徴とする情報処理装置。
【請求項７】
複数の画像処理回路と、前記複数の画像処理回路が共有する共有メモリと、
を有する画像処理装置の制御方法であって、
動作モードに応じて前記画像処理回路の夫々の動作又は停止を制御する処理回路制御工程と、
前記共有メモリの使用領域について、停止される画像処理回路のための使用領域を他の画像処理回路に割り当てるメモリ制御工程と
を有することを特徴とする画像処理方法。
【請求項８】
コンピュータを、
複数の処理手段と、
前記複数の処理手段が共有する共有メモリと、
動作モードに応じて前記処理手段の夫々の動作又は停止を制御する制御手段と、
前記共有メモリの使用領域について、停止される処理手段のための使用領域を、動作することになる他の処理手段に割り当てるメモリ制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、入力デバイスとして、スキャナ、ビデオカメラなどが普及している。また、出力デバイスとして、インクジェット、染料熱昇華型あるいは電子写真などの方式を用いた、各種カラープリンタが普及している。一般に、これらのカラー入／出力デバイスの中で使用されている代表的な画像処理として、「色空間変換」や「空間フィルタ処理」が挙げられる。
【０００３】
「色空間変換」とは、カラー画像等に対する、上記入／出力デバイス間での色再現性に関する問題を解決するために、入力デバイスの色空間を出力デバイスの色空間に変換する処理である。具体的には入力γ補正、輝度濃度変換、マスキング、黒生成、ＵＣＲ、出力γ補正等の一連の画像処理全体のことを指す場合と、その中の一定の処理のみを指す場合とがある。
【０００４】
また「空間フィルタ処理」とは、処理対象となる画素（以下、処理画素と略称する）を含む空間フィルタ領域に含まれるすべての画素を用いて何らかの演算を行なう局所（近傍）画像処理のことである。例えば、エッジ強調処理やぼかし処理といった処理のことを指す。
【０００５】
このような画像処理を実現する画像処理回路では、各種演算回路の他に、各種演算回路で必要となる参照データを一時的に記憶したり、カラー画像の処理画素の画素値を一時的に記憶したりするためのメモリを付属することが多い。これらの画像処理回路で用いられるメモリについて、具体的な例を挙げて詳しく説明する。
【０００６】
先の色空間変換では、入力デバイスの３色のデジタル画像信号を同時に参照して、出力デバイスの３色あるいは４色のデジタル画像信号に変換することが多い。ここで、入力デバイスの３色とは、例えば、レッド、ブルー、グリーンの３色（以下、「ＲＧＢ」と略す）を指す。また、出力デバイスの３色とは、例えば、シアン、マゼンタ、イエローの３色を指す（以下、「ＣＭＹ」と略す）。また、出力デバイスの４色とは、例えば、シアン、マゼンタ、イエロー、ブラックの４色（以下、「ＣＭＹＫ」と略す）を指す。また電子写真方式の複写機の場合、稼働時間とともにプリンタのエンジン特性が変化するため、定期的なキャリブレーションが必要となる。このような場合には、出力デバイスの４色（例えば、「ＣＭＹＫ」）から出力デバイスの４色（例えば、「Ｃ'Ｍ'Ｙ'Ｋ'」）への変換も必要となる。
【０００７】
上記色空間変換を実現する手段として、予め変換結果をルックアップ・テーブル（以下、「ＬＵＴ」と略す）としてメモリに記憶しておき、入力されたデジタル画像信号に対してそのＬＵＴから変換結果を出力する方法がある。
【０００８】
このＬＵＴを用いた色空間変換方法では、３色入力のデジタル画像信号に対して使用されるＬＵＴを、三次元ルックアップ・テーブル（以下、「３Ｄ-ＬＵＴ」と略す）と呼ぶ。また、４色入力のデジタル画像信号に対して使用されるＬＵＴを、四次元ルックアップ・テーブル（以下、「４Ｄ-ＬＵＴ」と略す）と呼ぶ。
【０００９】
ここで、三次元入力の色空間（ＲＧＢ空間）の各軸方向に１６分割される場合、３Ｄ-ＬＵＴは１６の３乗のエントリ数をもつメモリが必要となる（特許文献１を参照）。従って、ＲＧＢ空間をＣＭＹＫ空間に変換するために１エントリあたり４バイトのデータ量なら、１６Ｋバイトの容量のメモリが色空間変換回路の専用メモリ（同回路の一部）として実装される。
【００１０】
また、四次元入力の色空間（ＣＭＹＫ空間）の各軸方向に１６分割される場合、４Ｄ-ＬＵＴは１６の４乗のエントリ数（３Ｄ-ＬＵＴの１６倍の大きさ）をもつメモリが必要となる。即ち、ＣＭＹＫ空間をＣ'Ｍ'Ｙ'Ｋ'空間に変換するため、１エントリあたり４バイトのデータ量なら、２５６Ｋバイトの容量のメモリが色空間変換回路の専用メモリ（同回路の一部）として実装される。
【００１１】
また先の空間フィルタ処理の場合、デジタル画像データの左上端の画素から主走査方向に沿って１画素ずつ画像処理を行ない、右端の画素まで画像処理を行なう。そして、副走査方向に１画素だけ進み、再度左端の画素から主走査方向に沿って１画素ずつ右端まで画像処理を行なう。この一連の画像処理を、デジタル画像データの右下端の画素についての画像処理を終えるまで繰り返し実行し、所望の画像処理を行なう。
【００１２】
かかる技術では、デジタル画像データの主走査方向の幅が大きくなるにつれて、大きなメモリ容量が必要になる。例えば、Ａ４サイズの画像を、解像度が６００ｄｐｉのスキャナで読み取り、デジタル画像データに変換した場合、デジタル画像データの幅は４９５３画素となる。また１画素が前述ＲＧＢで構成され、ＲＧＢが３バイトのデータ量である場合に、３×３の空間フィルタ領域に対しては２ライン分の遅延メモリが必要となる。約２９Ｋバイト（４９５３画素×２ライン×３バイト）の容量をもつメモリが空間フィルタ回路の専用メモリ（同回路の一部）として実装される。
【００１３】
また１画素が前述ＣＭＹＫで構成され、ＣＭＹＫが４バイトのデータ量である場合を考える。この場合、上記３×３の空間フィルタ領域に対しては、約３９Ｋバイト（４９５３画素×２ライン×４バイト）の容量をもつメモリが空間フィルタ回路の専用メモリ（同回路の一部）として実装される。
【００１４】
近年、製品の高画質化や機能強化のために画像処理装置には種々の画像処理回路が必要となる。しかしながら、画像処理回路はＣＰＵのようにプログラムを交換すれば、処理内容を変更できるというものではない。よって、多岐に渡る製品の動作モードの変更により、画像処理装置の種々の画像処理回路のうち、ある画像処理回路は動作させられ、別の画像処理回路は不必要であるために一時的に停止させられるという状況が起こる。
【００１５】
このとき、停止状態の画像処理回路付属の専用メモリも同時に停止し、動作中の他の画像処理回路から使用することはできない。上述の説明で示したように画像処理回路に専用メモリとして接続されるメモリ容量は非常に大きく、専用メモリの回路規模は画像処理ＬＳＩ全体の中で占める割合は大きい。これらのメモリは一時的に無駄となってしまい、ハードウェア資源が有効活用されない（画像処理ＬＳＩ全体の活性率が向上しない）。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００７−６７９５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
このように複数画像処理回路を含む画像処理装置において、動作モードにより一時的に停止状態の画像処理回路付属の専用メモリが、動作中の他の画像処理回路から使用できないという課題がある。
【００１８】
本発明は、上述した課題に鑑みてなされたもので、複数の画像処理回路の専用メモリを互いに共用することで、一部の画像処理回路が動作しない場合でも、他の動作中の画像処理回路が使用できるような技術を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記の課題を解決するための本発明に係る画像処理装置は、複数の画像処理回路と、前記複数の画像処理回路が共有する共有メモリと、動作モードに応じて前記画像処理回路の夫々の動作又は停止を制御する処理回路制御手段と、前記共有メモリの使用領域について、停止される画像処理回路のための使用領域を他の画像処理回路に割り当てるメモリ制御回路とを有することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、複数の画像処理回路の専用メモリを互いに共用することで、一部の画像処理回路が動作しない場合でも、当該回路のための領域を他の動作中の画像処理回路に割り当てることができる。これにより、常に画像処理に使用するメモリの活性率を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】画像処理装置１０の全体構成の一例を示すブロック図である。
【図２】画像処理部１５０の回路構成の一例を示すブロック図である。
【図３】共有メモリ制御回路２７０の一例を説明する図である。
【図４】共有メモリ２８０のアドレスマップの一例を説明する図である。
【図５】未使用メモリのクロックを停止可能な状態の画像処理部の回路構成の一例と、共有メモリのアドレスマップの一例を示す図である。
【図６】共有メモリ制御処理の一例を示すフローチャートである。
【図７】発明の第４の実施形態に対応するバンド処理の動作の一例を説明する図である。
【発明を実施するための形態】
【００２２】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００２３】
［第１の実施形態］
図１は、第１実施形態による画像処理装置１０の全体構成の一例を示すブロック図である。図１において、画像読み取り部１２０は、レンズ１２４、ＣＣＤセンサ１２６、及びＡ／Ｄ変換部１２７等を有する。画像読み取り部１２０において、レンズ１２４を介しＣＣＤセンサ１２６に結像された原稿１１０の画像情報が、ＣＣＤセンサ１２６によりＲ（Ｒｅｄ），Ｇ（Ｇｒｅｅｎ），Ｂ（Ｂｌｕｅ）のアナログ電気信号に変換される。アナログ電気信号に変換された画像情報は、Ａ／Ｄ変換部１２７に入力され、Ｒ，Ｇ，Ｂの色毎に補正等が行われた後にアナログ／デジタル変換（Ａ／Ｄ変換）される。こうして、デジタル化されたフルカラー信号（デジタル画像信号という）が生成される。１組のＲ，Ｇ，Ｂで構成されるデジタル画像信号が画像の１画素を表現する。
【００２４】
ＣＰＵ１０２は書込用のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１９２を制御し、生成されたデジタル画像信号を、共有バス１９０を介してＣＰＵ回路部１００のＲＡＭ１０６に画像データとして格納させる。次にＣＰＵ１０２は読出用ＤＭＡＣ１９４を制御して、ＲＡＭ１０６に格納された画像データを読み出して画像処理部１５０に入力する。
【００２５】
画像処理部１５０は、入力されたデジタル画像信号に対し、例えばスキャナなどのセンサ・デバイスの読み取り素子の個体差の補正と入力ガンマ補正などの色補正を行い、読み取り画像を正規化して一定水準の画像データを作成する。そしてこれら処理が施されたデジタル画像信号は、ＣＰＵ１０２の制御に応じて、書込用ＤＭＡＣ１９６によりＲＡＭ１０６に再度、格納させる。
【００２６】
画像処理部１５０は、入力されたデジタル画像信号に対し、その他に入力色補正処理、空間フィルタ処理、色空間変換、および濃度補正処理、印刷のための前処理としての画像処理を施し印刷可能な画像データを作成することもできる。この場合も、上述同様に書込用ＤＭＡＣ１９６によりＲＡＭ１０６に格納させる。
【００２７】
最後にＣＰＵ１０２は、読出用ＤＭＡＣ１９８を制御してＲＡＭ１０６に格納された画像処理済みの画像データを読み出し、中間調処理を施して画像印刷（プリンタ）部１７０へ出力する。この画像印刷（プリンタ）部１７０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部（図示せず）を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【００２８】
また、ＣＰＵ回路部１００は、演算制御用のＣＰＵ１０２、固定データやプログラムを格納するＲＯＭ１０４、データの一時保存やプログラムのロードに使用されるＲＡＭ１０６、及び外部記憶装置１０８等を備える。ＣＰＵ回路部１００は、画像読み取り部１２０、画像処理部１５０、及び画像印刷（プリンタ）部１７０等を制御し、本実施形態の画像処理装置１０のシーケンスを統括的に制御する。
【００２９】
外部記憶装置１０８は、本実施形態の画像処理装置１０が使用するパラメータやプログラムや補正データを記憶するディスク等の記憶媒体であり、ＲＡＭ１０６のデータやプログラム等は、外部記憶装置１０８からロードされる構成としても構わない。
【００３０】
次に、図１の画像処理部１５０について詳細に説明する。図２は、本実施形態の画像処理部１５０の回路構成の一例を示すブロック図である。
【００３１】
デジタル画像信号が画像処理部１５０に入力され、以下に説明する画像処理が実行される。画像処理部１５０は、画像処理入力回路２１０、空間フィルタ処理回路（１）２２０、空間フィルタ処理回路（２）２３０、色空間変換回路２４０、出力γ補正回路２５０、及び画像処理出力回路２６０を備えて構成される。
【００３２】
以下、画像処理入力回路２１０、空間フィルタ処理回路（１）２２０、空間フィルタ処理回路（２）２３０、色空間変換回路２４０、出力γ補正回路２５０、及び画像処理出力回路２６０について詳細に説明する。
【００３３】
［画像処理入力回路２１０］
画像処理部１５０の外部にある読出用ＤＭＡＣ１９４を経由してデジタル画像信号２０５が入力される。このデジタル画像信号２０５はＲ，Ｇ，Ｂの輝度信号で構成される。画像処理入力回路２１０は、ダブルバッファ構成のメモリを制御可能でデジタル画像信号２０５を受け取りながら、一旦バッファに格納する。また一方で前回バッファに格納したデジタル画像信号を読み出してデジタル画像信号２１５として出力する。
【００３４】
［空間フィルタ処理回路（１）２２０／空間フィルタ処理回路（２）２３０］
画像処理入力回路２１０から出力されたデジタル画像信号２１５が、空間フィルタ処理回路（１）２２０に入力される。空間フィルタ処理回路（１）２２０は、フィルタ処理を行うための遅延メモリを制御可能であり、すでに遅延メモリに蓄積されたデジタル画像信号と入力されたデジタル画像信号２１５をもとに平滑化やエッジ強調といった局所（近傍）画像処理を行う。処理結果は、デジタル画像信号２２５として出力される。処理と同時に、既に遅延メモリに蓄積されたデジタル画像信号のうち、不必要なデジタル画像信号を入力されたデジタル画像信号２１５と置き換える。
【００３５】
また空間フィルタ処理回路（２）２３０も、デジタル画像信号２２５の入力を受け、空間フィルタ処理回路（１）２２０と同様な処理を行い、デジタル画像信号２３５として出力する。
【００３６】
［色空間変換回路２４０］
空間フィルタ処理回路（２）２３０から出力されたデジタル画像信号２３５が、色空間変換回路２４０に入力される。色空間変換回路２４０は色変換のための３Ｄ−ＬＵＴや４Ｄ−ＬＵＴを保持するメモリを制御可能である。色空間変換回路２４０は、３Ｄ−ＬＵＴから参照データを取得して補間演算を行い、入力されたデジタル画像信号２３５の輝度信号Ｒ，Ｇ，Ｂを別色空間の輝度信号Ｒ'，Ｇ'，Ｂ'や濃度信号Ｃ，Ｍ，Ｙや濃度信号Ｃ，Ｍ，Ｙ，Ｋに変換する。変換結果は、デジタル画像信号２４５として出力される。また入力されたデジタル画像信号２３５が、濃度信号Ｃ，Ｍ，Ｙ，Ｋの４成分の場合、色空間変換回路２４０は、４Ｄ−ＬＵＴから参照データを取得して補間演算を行う。デジタル画像信号２３５の濃度信号Ｃ，Ｍ，Ｙ，Ｋは、別の濃度信号Ｃ'，Ｍ'，Ｙ'，Ｋ'に変換され、デジタル画像信号２４５として出力される。
【００３７】
［出力γ補正回路２５０］
色空間変換回路２４０から出力されたデジタル画像信号（輝度信号Ｒ',Ｇ',Ｂ'、濃度信号Ｃ，Ｍ，Ｙなど）２４５が、出力γ補正回路２５０に入力される。出力γ補正回路２５０は出力デバイス機器固有の色補正を行うための１Ｄ−ＬＵＴを保持するメモリを制御可能である。出力γ補正回路２５０は、１Ｄ−ＬＵＴから参照データを取得して補間演算を行い、入力されたデジタル画像信号２４５を補正し、デジタル画像信号２５５として出力する。
【００３８】
［画像処理出力回路２６０］
画像処理出力回路２６０は、ダブルバッファ構成のメモリを制御可能でデジタル画像信号２５５を受け取りながら、一旦バッファに格納する。また一方で前回バッファに格納したデジタル画像信号を読み出して画像処理部１５０の外部にある書込用ＤＭＡＣ１９６を経由してＲＡＭ１０６へデジタル画像信号２６５を出力する。
【００３９】
画像処理部１５０を構成する複数の画像処理回路２１０〜２６０は、いずれもメモリを制御して画像処理を行う。各処理回路は、このメモリ制御のために制御ポート２７２を介して共有メモリ制御回路２７０を操作する。画像処理回路の各々は、共有メモリ制御回路２７０に対してメモリ・アクセス方法指定信号２７４を送付し、共有メモリ制御回路２７０からメモリ・アクセス終了信号２７６を受け取り、共有メモリ制御回路２７０との同期を実現する。また画像処理回路の各々からのメモリ制御がデータ書き込み（ライト）の場合、メモリ・アクセス方法指定信号２７４の送付と同時もしくは連続して書き込み（ライト）データを画像処理回路の各々は共有メモリ制御回路２７０へ送付する。
【００４０】
また画像処理回路の各々からのメモリ制御がデータ読み出し（リード）の場合、読み出し（リード）データを画像処理回路の各々は共有メモリ制御回路２７０から受け取る。メモリ制御がデータ読み出し（リード）の場合には、読み出し（リード）データの受け取りにより、メモリ制御の完了を画像処理回路の各々は判断できる。そこで、メモリ・アクセス終了信号２７６を省く実装方法でも良いし、読み出し（リード）データの受け取りと同時、もしくは、前もって、もしくは最後にメモリ・アクセス終了信号２７６を受け取る実装方法でもよい。
【００４１】
共有メモリ制御回路２７０は、共有メモリ２８０と読出用ＤＭＡＣ２９０と書込用ＤＭＡＣ２９４とに接続される。但し、画像処理回路のすべてが後述するリード・キャッシュ・モードをサポートしない場合、共有メモリ制御回路２７０は、読出用ＤＭＡＣ２９０と接続する必要がない。また、画像処理回路のすべてが後述するライト・キャッシュ・モードをサポートしない場合、共有メモリ制御回路２７０は、書込用ＤＭＡＣ２９４と接続する必要がない。たとえ画像処理回路のいずれかが、リード・キャッシュ・モードもしくはライト・キャッシュ・モードをサポートする場合であっても、読出用ＤＭＡＣ２９０と書込用ＤＭＡＣ２９４とが画像処理部１５０の外側にあってよい。その際、共有メモリ制御回路２７０は、読出用ＤＭＡＣ２９０もしくは書込用ＤＭＡＣ２９４を制御するための制御ポートと接続する実装方法でかまわない。
【００４２】
本実施形態の共有メモリ２８０は、１個以上のメモリ（メモリ２８０−１からメモリ２８０−Ｎで図示）で構成されており、画像処理回路２１０から２６０の処理性能との兼ね合いで共有メモリを構成すべきメモリの個数が決定される。このとき共有メモリ２８０は、複数のメモリ（実体）を統合してできる仮想的なメモリである。
【００４３】
またＬＳＩ実装において、ある容量のメモリを１個で実装するより、より小さい容量の複数個のサブメモリに分割して実装する方が、回路規模は増加する。これは、１個のメモリには電源を確保するための領域やメモリをテストするためのテスト回路を接続するための領域が必要となるからである。しかしながら、メモリを複数のサブメモリに分割した場合、並列に読み書きできるデータ量が増加するため、１サイクルあたりの処理性能を向上しやすい。画像処理回路２１０から２６０は、合計８個の制御ポート２７２を必要としている。
【００４４】
たとえば、コンシューマ向けのプリンタ用画像処理装置で、画像処理回路２１０から２６０の処理性能が１／１０［pixel／cycle］でよければ、画像処理回路の各々は１０クロックに１回の割合でメモリ制御すればよいこととなる。この場合、共有メモリ２８０をメモリ（１）２８０−１だけで実現すればよい。
【００４５】
一方、事務機向けのプリンタ用画像処理装置で、画像処理回路２１０から２６０の処理性能が１／１［pixel／cycle］であれば、共有メモリ２８０を少なくとも１０基のメモリ（１）〜（Ｎ）（Ｎ＝１０）で実現する必要がある。なお、空間フィルタ処理回路は、データの読み出しと書き込みの２回のメモリ制御を必要とすると仮定した場合、上述のような概算となる。
【００４６】
また共有メモリ制御回路２７０は、メモリ（１）２８０−１〜メモリ（Ｎ）２８０−Ｎを制御するためのチップ・セレクト信号（ｃｓ）、リード／ライト識別信号（ｒｗ）、アドレス信号（ａｄｄｒｅｓｓ）、ライトデータ（ｗｒｉｔｅ＿ｄａｔａ）を出力する。また、メモリ（１）２８０−１〜メモリ（Ｎ）２８０−Ｎから、リードデータ（ｒｅａｄ＿ｄａｔａ）を受け取る（これらの信号を、メモリ制御信号２８４と総称する）。
【００４７】
本実施形態の動作モードに応じた共有メモリ２８０の使用領域の割り当てについて、図４を用いて説明する。まず、第１の動作モードに対応するcase１記載のアドレスマップは、図２記載の画像処理回路の全てが使用される場合を示している。
【００４８】
画像処理入力回路２１０で使用するダブルバッファは、入力バッファ４１０および入力バッファ４１２を切り替えて使用することで実現される。また空間フィルタ処理回路（１）２２０は遅延メモリ（１）４２０を使用し、空間フィルタ処理回路（２）２３０は遅延メモリ（２）４３０を使用する。色空間変換回路２４０は、３次元LUT４４０を使用し、出力γ補正回路２５０は１次元LUT（１）４５０を使用する。画像処理出力回路２６０で使用するダブルバッファは出力バッファ４６０および出力バッファ４６２を切り替えて使用することで実現される。
【００４９】
図４に記載のcase２およびcase3は、第１の動作モードとは異なる第２及び第３の動作モードにおけるアドレスマップの一例と画像処理回路の構成例を示している。case2では前述case1の空間フィルタ処理回路（１）２２０が停止しており、共有メモリ２８０の未使用領域をcase１の入力バッファ４１０と４１２、遅延メモリ（２）４３０、出力バッファ４６０と４６２で使用する。より具体的処理内容は、第４実施形態において説明する。case２では、３次元LUT４４０および、１次元LUT（１）４５０についてはcase1と共有メモリ２８０上の先頭アドレスは異なるが容量は同じである。
【００５０】
またcase3は、前述case1の空間フィルタ処理回路（１）２２０、空間フィルタ処理回路（２）２３０が停止しており、未使用領域は、色空間変換回路２４０と出力γ補正回路２５０に割り当てられている。case3の一例では、入力デジタル画像信号がC，M，Y，Kの４色であり、色空間変換回路２４０が４次元四面体補間法を用いた色空間変換でC'，M'，Y'，K'の４色を出力している。このとき必要となる４Ｄ−ＬＵＴは前述のように２５６Ｋバイトも必要であるため、図示の例ではキャッシュ・データが共有メモリ２８０の４次元ＬＵＴ用データキャッシュ４４０に展開されている。また出力γ補正回路２５０も４色のデジタル画像信号のための１次元ＬＵＴ４５０が割り当てられている。
【００５１】
上記のように画像処理装置１０の動作モードにより、停止中の画像処理回路が使用していた共有メモリ２８０の使用領域を、あるときは画像処理の効率（処理性能）向上のために動作中の別の画像処理回路が使用することができる。また、あるときは高画質化を含む機能向上のために動作中の別の画像処理回路が使用することができる。
【００５２】
図６に記載のフローチャートの処理により、停止中の画像処理回路が使用していた共有メモリ２８０の使用領域を適切に動作中の別の画像処理回路に割り振る。まず、ステップＳ６０１では、ＣＰＵ回路部１００において画像処理の動作モードを決定する。次に、ステップＳ６０２では、決定した画像処理の動作モードに基づいて、ＣＰＵ回路部１００が処理回路制御部として機能して、使用する画像処理回路を選定する。さらに、ステップＳ６０３では、画像処理部１５０が他の関連ドメインからデジタル画像データを入出力するためのバッファの容量を読出用ＤＭＡＣ１９４及び書込用ＤＭＡＣ１９６の転送量から算出する。続くステップＳ６０４以降では、動作モードにより選定された画像処理回路各々に必要となるメモリ容量を画像処理内容に応じて算出する。
【００５３】
まず、ステップＳ６０４では、色空間変換回路２４０を用いた色空間変換を行うか否かを判定する。もし、色空間変換を行う場合（ステップＳ６０４において「ＹＥＳ」）、ステップＳ６０５に移行する。一方、色空間変換を行わない場合（ステップＳ６０４において「ＮＯ」）、ステップＳ６０６に移行する。
【００５４】
ステップＳ６０５では、色空間変換のＬＵＴ容量を算出する。色空間変換では、３次元ＬＵＴまたは４次元ＬＵＴを使用するので、使用するＬＵＴに応じた容量を算出する。前述のように、例えば３Ｄ−ＬＵＴの場合は１６Ｋバイト、４Ｄ−ＬＵＴの場合は２５６Ｋバイトとなる。その後、ステップＳ６０６に移行する。
【００５５】
次に、ステップＳ６０６では、出力γ補正回路２５０による出力γ補正を行うか否かを判定する。もし、出力γ補正を行う場合（ステップＳ６０６において「ＹＥＳ」）、ステップＳ６０７に移行する。一方、出力γ補正を行わない場合（ステップＳ６０６において「ＮＯ」）、ステップＳ６０８に移行する。ステップＳ６０７では、出力γ補正に使用する４色のデジタル画像信号のための１次元ＬＵＴ４５０の容量を算出する。
【００５６】
続くステップＳ６０８では、空間フィルタ処理回路（１）２２０を使用するか否かを判定する。もし、空間フィルタ処理回路（１）２２０を使用する場合（ステップＳ６０８において「ＹＥＳ」）、ステップＳ６０９に移行する。ステップＳ６０９では、遅延メモリ容量を算出し、ステップＳ６１０に移行する。このとき必要で有れば、バンド高さを算出する。バンド高さの算出については、第４の実施形態において詳細を後述する。一方、空間フィルタ処理回路（１）２２０を使用しない場合（ステップＳ６０８において「ＮＯ」）、ステップＳ６１０に移行する。
【００５７】
続くステップＳ６１０では、空間フィルタ処理回路（２）２３０を使用するか否かを判定する。もし、空間フィルタ処理回路（２）２３０を使用する場合（ステップＳ６１０において「ＹＥＳ」）、ステップＳ６１１に移行する。ステップＳ６１１では、遅延メモリ容量を算出する。このとき必要で有ればバンド高さを算出する。一方、空間フィルタ処理回路（２）２３０を使用しない場合（ステップＳ６１０において「ＮＯ」）、ステップＳ６１２に移行する。
【００５８】
続くステップＳ６１２では、共有メモリ２８０の使用領域の割当てを決定する。続くステップＳ６１３では未使用のメモリの有無を判定し、もし未使用のメモリが存在する場合（ステップＳ６１３において「ＹＥＳ」）、ステップＳ６１４に移行する。一方、未使用のメモリが存在しない場合（ステップＳ６１３において「ＮＯ」）、ステップＳ６１５に移行する。
【００５９】
ステップＳ６１４では、未使用のメモリに対するクロック供給が停止され、ステップＳ６１５に移行する。ステップＳ６１５では、決定された共有メモリ２８０の割り当てに従い、共有メモリ制御回路の変換テーブルに所定の値を予め設定する。ステップＳ６１６では、ステップＳ６０１において決定された動作モードにおける画像処理を実行する。
【００６０】
以下、図３を参照して共有メモリ制御回路の動作と画像処理回路との連携について、より詳細な説明を行う。
【００６１】
図３記載のブロック図は、共有メモリ制御回路２７０の詳細を示している。画像処理回路の各々は、共有メモリ制御回路２７０との間で接続される制御ポート２７２を介し、前述のメモリ・アクセス方法指定信号を命令キュー３１４に入力する。
【００６２】
制御ポート２７２には、各画像処理回路に対して１つのポート３１１が配置されている。ポート３１１は、命令キュー３１４と、命令完了キュー３１６とを有する。命令キュー３１４には、各画像処理回路からの共有メモリ２８０に対するメモリ・アクセス方法指定信号が書き込まれる。また、命令完了キュー３１６には、メモリへの制御の終了を通知するメモリ制御終了信号、又は、共有メモリ２８０からの読み出し（リード）データが書き込まれる。
【００６３】
メモリ・アクセス調停回路３１０は優先順位付けに従い、画像処理回路の各々から入力された制御ポートの命令キュー３１４のメモリ・アクセス方法指定信号を取り出し、変換テーブル３７０へ送付する。
【００６４】
メモリ・アクセス方法指定信号は、メモリ・アクセス方法を識別するためのＩＤ（タグ）と、メモリアクセス位置を特定するための相対開始アドレス（ポインタ）からなる。また変換テーブル３７０を構成する１エントリのテーブル値は、共有メモリのアドレスマップ上の開始アドレスと容量（ワード数）と１命令で実行すべきメモリ制御回数とメモリ・アクセス方法で構成される。
【００６５】
本実施形態におけるメモリ・アクセス方法には、書き込み（Ｗｒｉｔｅ）、読み出し（Ｒｅａｄ）、読み出し後の書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）、リード・キャッシュ、ライト・キャッシュの５通りがある。これらのメモリ・アクセス方法には、それぞれＩＤ（タグ）が割り当てられる。変換テーブル３７０からは、当該ＩＤ（タグ）に従って予め登録された画像処理のためのメモリ・アクセスを実現するためのテーブル値を取得する。
【００６６】
以下に各メモリ・アクセス方法の動作を簡単に説明する。
【００６７】
［書き込み（Ｗｒｉｔｅ）］
テーブル値のメモリ・アクセス方法が書き込み（Ｗｒｉｔｅ）の場合、相対開始アドレス（ポインタ）と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリに書き込み（ライト）データを書き込む。
【００６８】
［読み出し（Ｒｅａｄ）］
テーブル値のメモリ・アクセス方法が読み出し（Ｒｅａｄ）の場合、相対開始アドレス（ポインタ）と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリから読み出し（リード）データを読み出す。
【００６９】
［読み出し後の書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）］
テーブル値のメモリ・アクセス方法が読み出し後の書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）の場合、相対開始アドレス（ポインタ）と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリから読み出し（リード）データを読み出す。その後、共有メモリの同アドレスに書き込み（ライト）データを書き込む。
【００７０】
［ライト・キャッシュ］
テーブル値のメモリ・アクセス方法がライト・キャッシュの場合、相対開始アドレス（ポインタ）をキャッシュのタグ番号に見立て、キャッシュのヒット/ミスヒットを判定する。ヒットであれば相対開始アドレス（ポインタ）と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリに書き込み（ライト）データを書き出す。
【００７１】
また、ミスヒットであれば相対開始アドレス（ポインタ）と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリの所定アドレスのデータを書込用ＤＭＡＣコントローラ３６０で書込用ＤＭＡＣを制御する。一端ＲＡＭ１０６へ書き込む。その後共有メモリの所定アドレスに書き込み（ライト）データを書き込む。
【００７２】
［リード・キャッシュ］
テーブル値のメモリ・アクセス方法がリード・キャッシュの場合、相対開始アドレス（ポインタ）をキャッシュのタグ番号に見立て、キャッシュのヒット/ミスヒットを判定する。ヒットであれば相対開始アドレス（ポインタ）と開始アドレスの加算結果から、メモリ制御回数だけ連続で共有メモリから読み出し（リード）データを読み出す。また、ミスヒットであれば相対開始アドレス（ポインタ）と開始アドレスの加算結果から、メモリ制御回数だけ連続で読出用ＤＭＡＣコントローラ３５０で読出用ＤＭＡＣを制御する。そして、ＲＡＭ１０６から読み出し（リード）データを再取得し、共有メモリの所定アドレスに（リード）データを書き込むと同時に読み出し（リード）データを読み出す。
【００７３】
上記メモリ・アクセス方法毎の制御は、制御回路３８０で行われる。制御回路３８０は、キャッシュのヒット/ミスヒットを判定するキャッシュタグ判定回路、ＦＩＦＯポインタ回路、読出用回路（ＲＥＡＤ）、書込用回路（ＷＲＩＴＥ）と、各回路への入出力を制御するセレクタ（ｓｅｌ）を含む。
【００７４】
制御回路３８０からは、共有メモリ２８０へのアクセス先を規定する所定アドレスとメモリ制御回数とがメモリ制御回路３３０に送られる。メモリ制御回路３３０は、所定アドレスとメモリ制御回数から、メモリ（１）からメモリ（N）のいずれに対するメモリ制御であるかを判別する。メモリ制御回路３３０は、メモリ制御信号を生成してメモリ（１）からメモリ（N）に対して読み書きを行う。
【００７５】
SRAMコントローラ３４０−１から３４０−Ｎと読出用ＤＭＡＣコントローラ３５０、および書込用ＤＭＡＣコントローラ３６０には、メモリ制御回数だけ連続でメモリ制御を行うためにシーケンサ３４５がそれぞれ搭載されている。
【００７６】
SRAMコントローラ３４０−１から３４０−Ｎと読出用DMACコントローラ３５０、および書込用DMACコントローラ３６０は、書き込みであれば、メモリ制御終了信号をリード・データ取得回路３２０に送る。また、読み出しであれば読出（リード）データもしくは及びメモリ制御終了信号をリード・データ取得回路３２０に送る。メモリ制御終了信号は、画像処理回路の各々の制御ポート２７２にある命令完了キュー３１６へ入力され、画像処理回路の各々がメモリ制御終了信号もしくは、および読み出し（リード）データを得る。
【００７７】
以下、各画像処理回路におけるメモリ・アクセス方法を説明する。
【００７８】
画像処理入力回路２１０は、ダブルバッファ構成を実現する必要があり、読出用ＤＭＡＣ１９４からの入力デジタル画像データを随時、メモリ・アクセス方法を「書き込み（Ｗｒｉｔｅ）」を指定して共有メモリへ書き込む。また前回バッファに格納済みのデジタル画像データを後段画像処理回路へ送る場合は、メモリ・アクセス方法を「読み出し（Ｒｅａｄ）」を指定して共有メモリからデジタル画像データを読み出す。
【００７９】
空間フィルタ処理回路（１）２２０と空間フィルタ処理回路（２）２３０は遅延メモリを制御する。遅延メモリ制御の場合、メモリ・アクセス方法を「読み出し後の書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）」を指定して共有メモリの読み出しと書き込みを同時に行う。
【００８０】
色空間変換回路２４０と出力γ補正回路２５０はLUTを制御する。ＬＵＴ制御の場合、メモリ・アクセス方法を「読み出し（Ｒｅａｄ）」を指定して共有メモリからデジタル画像データを読み出す。
【００８１】
色空間変換回路２４０が４次元ＬＵＴから読み出し（リード）データを読み出す場合に、全てのＬＵＴを共有メモリへ納めることができない場合は、メモリ・アクセス方法を「リード・キャッシュ」を指定する。これにより、共有メモリからＬＵＴ参照時にキャッシュ機能を付加する。
【００８２】
画像処理出力回路２６０は、ダブルバッファ構成を実現する必要があり、画像処理回路からの出力デジタル画像データを随時、メモリ・アクセス方法を「書き込み（Ｗｒｉｔｅ）」を指定して共有メモリへ書き込む。また前回バッファに格納済みのデジタル画像データをＤＭＡＣ（Ｗｒｉｔｅ）を介してＲＡＭ１０６へ送る場合は、メモリ・アクセス方法を「読み出し（Ｒｅａｄ）」を指定して共有メモリから出力デジタル画像データを読み出す。
【００８３】
以上、複数画像処理回路においてメモリを共有するための制御方法を説明したが、以上の内容は一例である。よって、メモリ・アクセス方法指定信号のＩＤ（タグ）と相対開始アドレス（ポインタ）は、必ずしも上述の通り出なくてもよい。また、変換テーブル３７０を構成する１エントリのテーブル値である、共有メモリのアドレスマップ上の開始アドレスと容量（ワード数）と１命令で実行すべきメモリ制御回数とメモリ・アクセス方法も、必ずしも上述のような回路構成でなくとも構わない。たとえば変換テーブル３７０の実装は行わず、上記のメモリ制御を行うための情報をすべてメモリ・アクセス方法指定信号に入れても構わない。
【００８４】
［第２の実施形態］
第１の実施形態ではメモリ・アクセス方法を一般的なメモリ制御要件で定義し、画像処理回路がそれらを組み合わせて共有メモリへの読み書きを実現した。
【００８５】
具体的には、画像処理入力回路２１０は、２つのメモリ・アクセス方法である［書き込み（Ｗｒｉｔｅ）］と［読み出し（Ｒｅａｄ）］を組み合わせた。実際には変換テーブルに４つのメモリ・アクセス方法（入力バッファ［Ａ］４１０への［書き込み（Ｗｒｉｔｅ）］と［読み出し（Ｒｅａｄ）］、入力バッファ［Ｂ］４１２への［書き込み（Ｗｒｉｔｅ）］と［読み出し（Ｒｅａｄ）］）を登録する。その上で、画像処理入力回路２１０が４つの変換テーブル値のうち２つを選びダブルバッファを実現していた。
【００８６】
これに対し第２の実施形態ではメモリ・アクセス方法を画像処理回路特有の要件で定義する。つまり、上述の画像処理入力回路２１０に対しては、メモリ・アクセス方法としてダブル・バッファ・モードを定義する。そして、メモリ・アクセス方法指定信号の相対開始アドレス（ポインタ）の指定により入力バッファ［Ａ］４１０と入力バッファ［Ｂ］４１２を共有メモリ制御回路側で自動的に切り替える。
【００８７】
また空間フィルタ処理回路（１）２２０および（２）２３０のメモリ・アクセス方法に対しては上述の［読み出し後の書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）］を遅延バッファ（ＦＩＦＯ）モードとして定義する。このとき変換テーブルに遅延バッファの容量とは別にリング式ＦＩＦＯの長さを登録してもよい。また色空間変換回路２４０と出力γ補正回路２５０のメモリ・アクセス方法に対しては上述の［読み出し（Ｒｅａｄ）］をルックアップテーブル・モードとして定義する。このとき変換テーブルにＬＵＴの読み出し方を共有メモリの所定アドレスから連続に読み出すのではなく、特開２００７−６７９５６号公報に記載の４面体補間に必要な頂点を連続的に読み出すことを共有メモリ制御回路側で自動的に行う実装方法であってもよい。
【００８８】
またメモリ・アクセス方法指定信号のＩＤ（タグ）が、第１実施形態のような変換テーブルのエントリ番号を示すのではなく、画像処理内容を示す固有の番号とする実装方法であってもよい。
【００８９】
［第３の実施形態］
図５は、本実施形態を示し、未使用メモリのクロックを停止可能な状態の画像処理部の回路構成の一例と共有メモリのアドレスマップの一例を説明する図である。図５の回路構成では共有メモリは同容量のメモリ（１）２８０−１、メモリ（２）２８０−２、メモリ（３）２８０−３、およびメモリ（４）２８０−４の４個のメモリにより構成されている。またアドレスマップも図５に示すようにメモリ（１）、メモリ（２）、メモリ（３）、メモリ（４）の順で同容量ずつ割り振られているとする。
【００９０】
図５の回路構成にあるように、画像処理装置１０のすべての画像処理回路の中で動作モードにより、画像処理入力回路２１０、空間フィルタ処理回路（１）２２０、および画像処理出力回路２６０だけが動作し、それ以外が停止しているとする。このとき共有メモリ２８０の指定領域を図５記載のメモリマップのように、共有メモリを構成するメモリ（１）２８０−１の領域に収まるように割り当てる。或いは、使用領域が複数のメモリ間に分散しないように、できるだけまとめるようにして、領域が割り当てられないメモリが存在するように割当てを調整する。
【００９１】
この結果、図５の場合ではメモリ（２）２８０−２からメモリ（４）２８０−４は未使用となり、画像処理に使用されない。そして、画像処理回路の消費電力を下げるために余剰なメモリのクロックを停止することができる。それ以外の場合でも、領域が割り当てられないメモリについてはクロックを停止して、消費電力を下げることができる。
【００９２】
画像処理回路の各々が専用メモリと接続されている場合は、動作モードにより未使用の画像処理回路とその専用メモリに対するクロックを停止し、消費電力を押さえることが可能である。その一方、本発明では動作モードによる共有メモリの指定領域を操作することで、消費電力を抑制することができる。
【００９３】
［第４の実施形態］
特開２００６−１３９６０６号公報に記載されるように、エッジ強調処理やぼかし処理といった局所（近傍）画像処理の空間フィルタ処理回路に必要な遅延メモリ容量を小さくすることができる。たとえば、図７のデジタル画像データ７００に対してエッジ強調処理やぼかし処理といった局所画像処理を施すとする。このときデジタル画像データを領域ごとに分割し、別々の領域ごとに局所画像処理を行なう。一般に、かかる技術では、図７の（ａ）〜（ｄ）に示されるように、１枚のデジタル画像データ全体が帯状（短冊状）に分割され、逐次的に領域毎に各種の画像処理が行なわれる。
【００９４】
この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼び、画像を分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。
【００９５】
また、デジタル画像データの座標系（主走査方向−副走査方向）は、図７の（ｅ）に示すように、長さ方向、高さ方向という新たな座標系（バンド領域座標系）を定義し、バンド領域を長さ×高さで表現する。バンド領域は、長さ及び高さのいずれかが必ずデジタル画像データの主走査方向の幅、或いは、副走査方向の高さの値を有するように設定される。例えば、バンド領域の長さをデジタル画像データの主走査方向の幅に合わせる場合、バンドの高さは任意の値となる。一方、バンド領域の高さをデジタル画像データの副走査方向の高さに合わせる場合、バンドの長さは任意の値となる。
【００９６】
バンド処理について詳しく説明する。まず、図７の（ａ）に示す第１のバンド領域７０１を、メインメモリ上のバンドメモリに展開して画像処理を行なう。次に、図７の（ｂ）に示す第２のバンド領域７０２を第１のバンド領域７０１が展開されたバンドメモリに上書き展開して画像処理を行なう。さらに、図７の（ｃ）に示す第３のバンド領域７０３を第２のバンド領域７０２が展開されたバンドメモリに上書き展開して画像処理を行なう。最後に、図７の（ｄ）に示す第４のバンド領域７０４を第３のバンド領域７０３が展開されたバンドメモリに上書き展開して画像処理を行なう。
【００９７】
図７の（ａ）〜（ｄ）で明らかなように、バンド領域７０１〜７０４の長さは同じであるが、高さは同じである必要性はない。図７では、バンド領域７０１〜７０３は同じ高さを有し、バンド領域７０４はそれよりも低い高さを有している。よって、メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域（図７の場合、第１〜第３のバンド領域７０１〜７０３）によって決定される。
【００９８】
かかる技術では、各バンド領域間で隙間なく局所画像処理を行なうために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うように工夫している。また、特開２００６−１３９６０６号公報では各バンド領域の高さと同一の方向に１画素ずつ画素を走査し、局所画像処理に必要な処理画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定する。これにより、この遅延メモリの省メモリ化を実現している。
【００９９】
通常、例に挙げた局所画像処理を行うためには、紙面の横幅の画素数の整数（空間フィルタ処理のタップ数−１）倍の容量の遅延メモリが必要となる。かかる技術では、遅延メモリ容量は紙面の大きさにより決定し、変更することができない。しかしながら特開２００６−１３９６０６号公報では、遅延メモリ容量は分割したバンド高さの整数（空間フィルタ処理のタップ数−１）倍となるが、バンド分割数に応じて任意のバンド高さを指定できるため、遅延メモリ容量を変更することができる。
【０１００】
本実施形態では、この遅延メモリ容量を変更できるという特徴を利用する。つまり、共有メモリの空き容量（共有メモリ上に確保できる遅延メモリ容量）と空間フィルタ処理のタップ数に応じて下記の式１によりバンド高さを算出する。
【０１０１】
バンド高さ =共有メモリ上に確保できる遅延メモリ容量／（タップ数-1）／(１画素のデータ量)・・・（式１）
本発明によれば、画像処理装置１０の画像処理回路の一部が動作しない場合でも、常に他の動作中の画像処理回路がメモリを使用し、画像処理用に実装されたメモリを有効活用でき、ＬＳＩ全体のメモリの活性率を向上できる。また、各画像処理回路は接続先のメモリが共有されていることを意識する必要がないため、各画像処理回路にとってメモリ制御方法は容易で、各画像処理回路の設計も容易となる。
【０１０２】
また、従来は各画像処理回路に付属する専用メモリは各々の処理内容に応じて様々な大きさを持ち、各々偏在していた。これに対し本発明は、ある程度の大きさのメモリ（多くの場合、同一容量が望ましい）を統合して１つの仮想的な共有メモリとして構成するため、ＬＳＩ開発時の回路の配置配線も容易となる。
【０１０３】
さらに、複数画像処理回路のうち動作モードの指定により動作する画像処理回路のメモリの総量より共有メモリの容量が大きければよいので、従来のように複数画像処理回路のすべてのメモリの総量をＬＳＩに実装する必要はない。よって、トータルとして搭載されるメモリの回路規模は小さくなる。
【０１０４】
また、バンド分割して逐次的に画像処理を行う方法では、空間フィルタ回路などの局所画像処理に使用する遅延メモリの容量は、空間フィルタのタップ数とバンド高さに依存する。このような画像処理では、バンド高さに対する空間フィルタのタップ数の割合により、重複して再送される画素数が変わり、バンド高さが大きいほど画像処理の効率が良い。本発明の共有メモリとバンド分割して逐次的に画像処理を組み合わせることで、より柔軟な画像処理を実現することができる。具体的には、機能を重視し動作モードにより動作する画像処理回路が非常に多い場合、当然共有メモリの空き容量は小さくなる。このとき、共有メモリの空き領域と空間フィルタのタップ数から、実行可能なバンド高さを算出し、効率は落ちるが所定のバンド高さ毎の逐次的な画像処理を行う。また逆に動作モードにより動作する画像処理回路が非常に少ない場合、当然共有メモリの空き容量も多くなり、できるだけ大きなバンド高さを設定することで効率的な画像処理を行うことができる。つまり、共有メモリの空き領域に応じてバンド高さを調節し、画像処理の機能と効率をトレードオフし、柔軟な画像処理を実現することができる。
【０１０５】
以上の各実施形態では、本発明を、複数の画像処理回路を有する画像処理装置として説明したが、発明の実施形態は画像処理装置に限定されるものではない。即ち、複数の処理回路を含む情報処理装置において、動作モードにより一時的に停止状態の処理回路付属の専用メモリが動作中の他の処理回路から使用できないという課題を解決するために本発明を提供することができる。このような情報処理装置では、複数の処理回路の専用メモリを互いに共用させてことで、一部の処理回路が動作しない場合でも、当該回路のための領域を他の動作中の処理回路に割り当てることができる。
【０１０６】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０７】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１０８】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１０９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2010268411.tif 000003
【図２】
2010268411.tif 000004
【図３】
2010268411.tif 000005
【図４】
2010268411.tif 000006
【図５】
2010268411.tif 000007
【図６】
2010268411.tif 000008
【図７】
2010268411.tif 000009