(57)【特許請求の範囲】
【請求項１】
中央演算処理部と、
主記憶部と、
複数の画像処理部と、
前記中央演算処理部と前記複数の画像処理部とで共有可能で同時にアクセス可能な高速の高速記憶部と、
前記高速記憶部の記憶領域を前記中央演算処理部および前記複数の画像処理部の処理状態に応じた配分の大きさで該中央演算処理部のキャッシュメモリまたは前記画像処理部のワークメモリとして排他的、かつ動的に割り当てる割当手段と
を具備し、
前記複数の画像処理部は、
前記割当手段により該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域が小さく、且つ該複数の画像処理部を所定の順番で連続して実行して一連の画像処理を行う場合に、該記憶領域に記憶された当該画像処理部による画像処理後の画像情報を前記主記憶部に退避後、該記憶領域を次の順番の画像処理部の画像処理で使用可能に開放して該記憶領域を該複数の画像処理部で共有して使用する画像処理装置。
【請求項２】
前記中央演算処理部の処理状態を検知する状態検知手段
を具備し、
前記割当手段は、
前記状態検知手段により前記中央演算処理部の処理状態がアイドル状態と検知された場合、前記中央演算処理部のキャッシュメモリとして割り当てられた前記高速記憶部の記憶領域を前記複数の画像処理部のワークメモリとして再割り当てする請求項１記載の画像処理装置。
【請求項３】
前記状態検知手段は、
前記複数の画像処理部の処理状態を更に検知し、
前記割当手段は、
前記状態検知手段により前記複数の画像処理部の処理状態がアイドル状態と検知された場合、前記複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域を前記中央演算処理部のキャッシュメモリとして再割り当てする請求項１記載の画像処理装置。
【請求項４】
前記割当手段は、
前記複数の画像処理部が並列で画像処理を行う場合に、該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域を該画像処理部毎に該画像処理部の処理状態に応じてバンク単位で増減させて再割り当てを行う請求項１記載の画像処理装置。
【請求項５】
前記複数の画像処理部は、
前記割当手段で該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域が大きく、且つ該複数の画像処理部を所定の順番で連続して実行して一連の画像処理を行う場合に、該記憶領域に記憶された当該画像処理部による画像処理後の画像情報を前記主記憶部に退避させることなく該記憶領域を該複数の画像処理部のそれぞれの画像処理で使用する請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
従来、１つの半導体集積回路にＣＰＵやメモリコントローラ、ＰＣＩコントローラ、ＵＳＢコントローラ、各種のＩＯインターフェース、特定の処理を高速に行う専用ハードウェアエンジン等の多くの機能モジュールを内蔵したシステムオンチップ（ＳＯＣ＝Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）のシステム半導体集積回路が実現されている。
【０００３】
しかしながら、多くの機能モジュールを１つのシステム半導体集積回路に内蔵させる場合、全機能モジュールに亘ってバス配線を行う必要があるため、バス配線が長くなり、その結果、データ転送の遅延の増大やバスの動作周波数を上げることが出来ないなどの問題があった。
【０００４】
この解決策として、バスを階層化し、バス同士をバスブリッジにより接続する手法が考えられ、この手法により配線長を短くしたバスを多段に接続して、物理的に遠距離にある機能モジュール同士を接続し、各バスの負荷容量を軽減すると共に、各バスの動作周波数を上げることができるようになった。
【０００５】
しかし、バスを階層化した場合、システム半導体集積回路の最も深い階層のバスに接続された機能モジュールからシステム半導体集積回路の外の外部メモリと接続するメモリコントローラまでのアクセス時間が長くなるという問題があった。
【０００６】
また、システム半導体集積回路に多くの機能モジュールを内蔵することで、それら多数の機能モジュールから外部メモリへのアクセスが行われるようになり、その結果、高速メモリの外部メモリの性能が十分に発揮できないという問題があった。
【０００７】
そこで、特許文献１には、バスを階層化した場合に効率的に外部メモリにアクセスできるシステムＬＳＩ（＝Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）が提案されている。
【特許文献１】特開２００５−３４６５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１は、階層化されたバス間を接続するバスブリッジにそれぞれキャッシュメモリを設け、外部メモリに格納されたデータと同一のデータをキャッシュメモリにも格納して、外部メモリへのアクセス頻度を低減させることで、効率的に外部メモリにアクセスするように構成されてものである。
【０００９】
しかし、上記特許文献１には、同一の高速メモリをＣＰＵのキャッシュメモリおよび画像処理モジュールのワークメモリとして、相互に排他的に使用できるように動的に割り当て使用する構成は開示されていない。
【００１０】
本発明は、同一の高速メモリをＣＰＵのキャッシュメモリおよび画像処理モジュールのワークメモリとして、相互に排他的に使用できるように動的に割り当て可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、請求項１の発明の画像処理装置は、中央演算処理部と、主記憶部と、複数の画像処理部と、前記中央演算処理部と前記複数の画像処理部とで共有可能で同時にアクセス可能な高速の高速記憶部と、前記高速記憶部の記憶領域を前記中央演算処理部および前記複数の画像処理部の処理状態に応じた配分の大きさで該中央演算処理部のキャッシュメモリまたは前記画像処理部のワークメモリとして排他的、かつ動的に割り当てる割当手段とを具備し、前記複数の画像処理部は、前記割当手段により該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域が小さく、且つ該複数の画像処理部を所定の順番で連続して実行して一連の画像処理を行う場合に、該記憶領域に記憶された当該画像処理部による画像処理後の画像情報を前記主記憶部に退避後、該記憶領域を次の順番の画像処理部の画像処理で使用可能に開放して該記憶領域を該複数の画像処理部で共有して使用することを特徴とする。
【００１２】
また、請求項２の発明は、請求項１の発明において、前記中央演算処理部の処理状態を検知する状態検知手段を具備し、前記割当手段は、前記状態検知手段により前記中央演算処理部の処理状態がアイドル状態と検知された場合、前記中央演算処理部のキャッシュメモリとして割り当てられた前記高速記憶部の記憶領域を前記複数の画像処理部のワークメモリとして再割り当てすることを特徴とする。
【００１３】
また、請求項３の発明は、請求項１の発明において、前記状態検知手段は、
前記複数の画像処理部の処理状態を更に検知し、前記割当手段は、前記状態検知手段により前記複数の画像処理部の処理状態がアイドル状態と検知された場合、前記複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域を前記中央演算処理部のキャッシュメモリとして再割り当てすることを特徴とする。
【００１４】
また、請求項４の発明は、請求項１の発明において、前記割当手段は、前記複数の画像処理部が並列で画像処理を行う場合に、該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域を該画像処理部毎に該画像処理部の処理状態に応じてバンク単位で増減させて再割り当てを行うことを特徴とする。
【００１５】
また、請求項５の発明は、請求項１の発明において、前記複数の画像処理部は、前記割当手段で該複数の画像処理部のワークメモリとして割り当てられた前記高速記憶部の記憶領域が大きく、且つ該複数の画像処理部を所定の順番で連続して実行して一連の画像処理を行う場合に、該記憶領域に記憶された当該画像処理部による画像処理後の画像情報を前記主記憶部に退避させることなく該記憶領域を該複数の画像処理部のそれぞれの画像処理で使用することを特徴とする。
【発明の効果】
【００１９】
請求項１の発明によれば、キャッシュメモリをＣＰＵのキャッュメモリまたは複数の画像処理モジュールのワークメモリとして共用でき、ＣＰＵの処理速度が速くなり、画像処理の高速化が図れる。
【００２０】
また、請求項２の発明によれば、ＣＰＵの処理状態がアイドル状態の時は、ＣＰＵで使用されていたキャッシュメモリの記憶領域を画像処理モジュールでも使用でき、画像処理の高速化が図られる。
【００２１】
また、請求項３の発明によれば、画像処理モジュールの処理状態がアイドル状態の時は、画像処理モジュールで使用されていたキャッシュメモリの記憶領域をＣＰＵでも使用でき、ＣＰＵによる処理の高速化が図られる。
【００２２】
請求項４の発明によれば、各画像処理モジュールの負荷状態に応じてキャッシュメモリの記憶領域が最適に配分されて各画像処理モジュールで使用できるようになり、画像処理の最適動作が実現できる。
【００２３】
請求項５の発明によれば、一連の画像処理において、各画像処理モジュールに割り当てられたキャッシュメモリの記憶領域が多い場合は、各画像処理モジュールで画像処理された画像データのメインメモリへの退避動作が減少するので、画像処理の高速化が図れる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明に係わる画像処理装置の一実施例を添付図面を参照して詳細に説明する。  
図１は、本発明に係わる画像処理装置１００の要部の構成の一例を示す構成図である。
【００２７】
図１に示すように、画像処理装置１００は、ＣＰＵ（＝Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ ）１０１、画像処理部１０２、メインメモリ１０３、調停部１０４、キャッシュメモリ１０５、システムバス切替部１０６、ＲＯＭ（＝Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０７、通信部１０８、印字部１０９、画像読取部１１０を具備して構成されており、通信部１０８を介してパソコンなどの上位装置１１１と接続されている。
【００２８】
ＣＰＵ１０１は、画像処理装置１００の各部を制御すると共に、画像処理装置１００全体を統括制御するプロセッサであり、読み出し専用のメモリであるＲＯＭ１０７に記憶された制御プログラムなどを読み出して実行して、印刷処理、スキャン処理、複製処理などの各種処理動作の制御を行う。
【００２９】
画像処理部１０２は、画像データを画像処理するために必要な各種画像処理モジュールで構成されおり、例えば画像読取部１１０で読み取った画像データを入力するＳｃａｎ  Ｆｒｏｎｔ  Ｐｏｒｔ１０２−１、行列演算を行う行列演算部１０２−２、下地除去の処理を行う下地除去部１０２−３、フィルター処理を行うフィルタ部１０２−４、色変換を行う色変換部１０２−５、拡縮やスクリーン処理を行う拡縮・スクリーン処理部１０２−６、圧縮処理を行うＪＰＥＧ（＝Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）部１０２−７、圧縮画像を伸張して出力する伸張部１０２−８、データの書き換えが可能な内蔵記憶領域１０２−ｎ−１、キャッシュメモリ１０５とのデータの読み書きのインタフェース制御を行うキャッシュインタフェース（以下、「キャッシュＩ／Ｆ」という。）部１０２−ｎなどを備えている。
【００３０】
尚、説明の便宜上、画像処理部１０２の各種画像処理モジュール１０２−１〜１０２−ｎを総称する場合は、単に「画像処理モジュール１０２−ｎ」という。
【００３１】
メインメモリ１０３は、ＣＰＵ１０１からデータやプログラムを直接読み書きすることができる主記憶装置である。
【００３２】
調停部１０４は、ＣＰＵ１０１および画像処理部１０２の各画像処理モジュール１０２−ｎの処理状態に応じてキャッシュメモリ１０５の記憶領域をＣＰＵ１０１または各画像処理モジュール１０２または双方で使用可能なように割り当てる制御を行う。
【００３３】
キャッシュメモリ１０５は、高速メモリであり、再配置可能で独立してアクセス可能な複数の記憶領域（メモリバンク）１０５−０〜１０５−ｎから構成されたＲＡＭ（＝Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００３４】
バス切替部１０６は、システムバス１２０と画像処理部１０２などが接続されたバスとの接続制御を行う。
【００３５】
通信部１０８は、画像処理装置１００とパソコンなどの上位装置１１１との制御信号やデータ信号の入出力のインタフェース制御を行う。
【００３６】
印字部１０９は、画像処理された画像データを用紙上に形成して出力するまでの一連の各種装置を備え、これらの装置を制御して画像処理された画像データを用紙上に形成して出力する。
【００３７】
画像読取部１１０は、スキャナー装置などを備え、それらの装置を制御して紙などの原稿を光学的に走査し、原稿に形成された画像の読み取りを行う。
【００３８】
このように構成された画像処理装置１００による印刷処理の動作は、パソコンなどの上位装置１１１から印刷要求と共に送信される画像データが通信部１０８を介して受信されると、受信された画像データは、ＣＰＵ１０１の制御に基づき画像処理部１０２の各画像処理モジュール１０２−ｎによって画像処理されてメインメモリ１０３に格納され、印字部１０９に転送されて用紙上に形成されて出力される。
【００３９】
また、スキャン処理および複製処理の動作は、ＣＰＵ１０１の制御に基づき画像読取部１１０によって図示せぬ原稿から画像データが読み取られ、読み取られた画像データは、画像処理部１０２の各画像処理モジュール１０２−ｎによって画像処理されてメインメモリ１０３に格納され、所定の記憶領域に格納される、または印字部１０９に転送されて用紙上に形成されて出力される。
【００４０】
これらの印刷処理、スキャン処理、複製処理などの各種処理動作は、前述したように、ＣＰＵ１０１がＲＯＭ１０７から各種処理の制御プログラムを読み込み実行することで、実行された制御プログラムに記述された命令に基づくＣＰＵ１０１の制御動作により実現される。
【００４１】
ところで、本願発明の画像処理装置１００は、印刷処理、スキャン処理、複製処理などの各種処理を効率良く動作させるために、ＣＰＵ１０１および各画像処理モジュール１０２−ｎの処理状態に応じて高速メモリであるキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）の一部または全部をＣＰＵまたは各画像処理モジュール１０２−ｎで使用可能なように割り当てて相互に使用できるように構成されている。
【００４２】
具体的には、ＣＰＵ１０１の処理状態がアイドル状態または負荷の小さい処理を行っている状態などの場合には、キャッシュメモリ１０５の一部または全部の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を画像処理部１０２の各画像処理モジュール１０２−ｎで使用するメモリとして割り当てて使用し、また、各画像処理モジュール１０２−ｎの処理状態がアイドル状態または負荷の小さい処理を行っている状態などの場合には、キャッシュメモリ１０５の一部または全部の記憶領域（メモリバンク１０５−０〜１０５−ｎ）をＣＰＵ１０１で使用するメモリとして優先的に割り当てて使用するように構成されている。
【００４３】
また、各画像処理モジュール１０２−ｎで並列処理する場合には、各画像処理モジュール１０２−ｎの処理状態に応じて各画像処理モジュール１０２−ｎが使用するキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を増減させるように切り替えて割り当てて使用するように構成されている。
【００４４】
このような構成とすることで、キャッシュメモリ１０５の全記憶領域（メモリバンク１０５−０〜１０５−ｎ）のうちの多くのメモリバンクをＣＰＵ１０１で使用するように割り当てると、ＣＰＵ１０１で処理する処理プログラムをＣＰＵ１０１が高速に動作させることができ、また、処理の負荷の小さい処理プログラムを実行する場合には、キャッシュメモリ１０５の多くのメモリバンクをＣＰＵ１０１で使用するように割り当てなくても十分な性能が得られるので、ＣＰＵ１０１で使用するキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を少なくし、各画像処理モジュール１０２−ｎで使用するキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を多くすることで、各画像処理モジュール１０２−ｎによるメインメモリ１０３へのデータの退避動作などが減少し、画像処理の高速化が図れる。
【００４５】
画像処理装置１００の各種処理におけるキャッシュメモリ１０５の割り当て動作について図２乃至図６を参照して説明する。
【００４６】
図２は、画像処理装置１００の印刷処理におけるキャッシュメモリ１０５の割り当て動作の流れの一例を示す流れ図である。
【００４７】
画像処理装置１００による印刷処理動作は、前述したように、パソコンなどの上位装置１１１から印刷要求と共に送信される画像データが通信部１０８を介して受信されると、受信した画像データをＣＰＵ１０１の制御に基づき画像処理部１０２の各画像処理モジュール１０２−ｎによって画像処理してメインメモリ１０３に格納後、印字部１０９に転送して用紙上に形成して出力するように一連の処理動作を行う。
【００４８】
この一連の印刷処理動作において、画像処理装置１００のＣＰＵ１０１は、ＣＰＵ１０１および各画像処理モジュール１０２−ｎの処理状態に応じてキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）の一部または全部をＣＰＵまたは各画像処理モジュール１０２−ｎで使用可能なように割り当てて相互に使用する。
【００４９】
この印刷処理におけるキャッシュメモリ１０５の割り当て動作は、図２に示すように、画像処理装置１００のＣＰＵ１０１がＣＰＵ１０１の処理状態を確認し、ＣＰＵ１０１がアイドル状態または負荷の小さい処理を行っている状態であるか否かを判別する（Ｓ１０１）。
【００５０】
ＣＰＵ１０１の処理状態の確認は、割り込み処理あるいはパソコンなどの上位装置１１１からの転送データの終了などの信号の受信に基づき検知する。
【００５１】
Ｓ１０１において、ＣＰＵ１０１の処理状態がアイドル状態でないか、または負荷の小さい処理を行っている状態でない場合には（Ｓ１０２でＮＯ）、キャッシュメモリ１０５の各メモリバンクの割り当て動作を行うことなく、処理を継続して実施する。
【００５２】
Ｓ１０１において、ＣＰＵ１０１の処理状態がアイドル状態であるか、または負荷の小さい処理を行っている状態の場合には（Ｓ１０２でＹＥＳ）、ＣＰＵ１０１による処理を高速化しなくても十分に処理できるので、ＣＰＵ１０１は、キャッシュメモリ１０５の全記憶領域（メモリバンク１０５−０〜１０５−ｎ）のうちのＣＰＵ１０１で使用する記憶領域として割り当てられている各メモリバンクを減少させるように解放させ、解放された各メモリバンクを画像処理部１０２の各画像処理モジュールで使用する記憶領域として再割り当てする制御を行う。
【００５３】
具体的には、ＣＰＵ１０１で使用するメモリとして割り当てられている各メモリバンクのうちの解放するメモリバンクに格納されたデータを他の記憶装置（メモリ、ディスクなど）にフラッシュ（書き込む）後（Ｓ１０３）、キャッシュをオフにする（Ｓ１０４）。
【００５４】
キャッシュのオフ後、キャッシュメモリ１０５の解放された各メモリバンクを画像処理部１０２の各画像処理モジュールで使用する記憶領域として再割り当てする制御を行い（Ｓ１０５）、キャッシュをオンにして（Ｓ１０６）、キャッシュメモリ１０５の一部または全部の各メモリバンクを画像処理部１０２の各画像処理モジュールで使用する。
【００５５】
次に、画像処理装置１００の複製処理におけるキャッシュメモリ１０５の割り当て動作について、図３を参照して説明する。
【００５６】
図３は、画像処理装置１００の複製処理におけるキャッシュメモリ１０５の割り当て動作の流れの一例を示す流れ図である。
【００５７】
画像処理装置１００による複製処理動作は、前述したように、ＣＰＵ１０１の制御に基づき画像読取部１１０によって原稿から画像データを読み取り、読み取った画像データを画像処理部１０２の各画像処理モジュール１０２−ｎによって画像処理してメインメモリ１０３に格納後、印字部１０９に転送して用紙上に形成されて出力するように一連の複製処理動作を行う。
【００５８】
この複製処理動作におけるキャッシュメモリ１０５の割り当て動作は、図３に示すように、画像処理装置１００のＣＰＵ１０１が複製処理における所定単位（バンド）の画像処理毎にキャッシュメモリ１０５の全記憶領域（メモリバンク１０５−０〜１０５−ｎ）のうちの画像処理部１０２の各画像処理モジュール１０２−ｎで使用可能に割り当てられている記憶領域（メモリバンク）を確認し、画像処理部１０２で使用する記憶領域（メモリバンク）の増減の必要有無を判断する（Ｓ２０１）。
【００５９】
具体的には、例えば、読み取った画像データがＰＤＬ（Ｐａｇｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ：ページ記述言語）によって記述されたデータで入力され、ビットマップデータに展開して出力する場合において、出力する画像データを図４に示すような１ページ分の画像データ１０を複数の帯状の領域（バンド１０−１〜１０−ｎ）ごとに分割して出力する場合、画像データ１０の各バンドの画像処理毎に画像処理部１０２の各画像処理モジュール１０２−ｎに割り当てられているキャッシュメモリ１０５の各メモリバンクを確認し、画像処理部１０２で使用する記憶領域（メモリバンク）の増減の必要有無を判断する。
【００６０】
Ｓ２０１において、画像処理部１０２の各画像処理モジュール１０２−ｎで使用する記憶領域（メモリバンク）の増減の必要が無いと判断した場合は（Ｓ２０２でＮＯ）、キャッシュメモリ１０５の記憶領域（各メモリバンク）の再割り当て動作を行うことなく、処理を継続して実施する。
【００６１】
Ｓ２０１において、各画像処理モジュール１０２−ｎで使用するキャッシュメモリ１０５の記憶領域（メモリバンク）を増加させる必要有りと判断した場合は（Ｓ２０２でＹＥＳ、Ｓ２０３でＹＥＳ）、キャッシュメモリ１０５の全記憶領域（メモリバンク１０５−０〜１０５−ｎ）のうちのＣＰＵ１０１で使用する記憶領域として割り当てられている記憶領域（各メモリバンク）を減少させるように解放させ、解放させた記憶領域（各メモリバンク）を画像処理部１０２の各画像処理モジュールで使用する記憶領域として再割り当てを行い、画像処理部１０２の画像処理モジュールには画像処理パラメータを転送し、画像処理部１０２で使用できる記憶領域（各メモリバンク）として新たに割り当てされた記憶領域（各メモリバンク）にはメインメモリ１０３に退避されている中間データを転送して（Ｓ２０４）、当該画像処理モジュールの設定を変更する（Ｓ２０５）。
【００６２】
また、Ｓ２０２において、各画像処理モジュール１０２−ｎで使用するキャッシュメモリ１０５の記憶領域（メモリバンク）を減少させる必要有りと判断した場合は（Ｓ２０２でＹＥＳ、Ｓ２０３でＮＯ）、解放する記憶領域（各メモリバンク）に記憶されているデータをメインメモリ１０３に転送して退避させ（Ｓ２０６）、データを退避させた記憶領域（各メモリバンク）を解放させ、解放された記憶領域（各メモリバンク）をＣＰＵ１０１で使用する記憶領域として再割り当てを行う（Ｓ２０７）。
【００６３】
このように、ＣＰＵ１０１および各画像処理モジュール１０２−ｎの処理状態に応じてＣＰＵ１０１または各画像処理モジュール１０２または双方で使用可能なように割り当てられたキャッシュメモリ１０５の記憶領域に応じたデータの流れについて、図５および図６を参照して説明する。
【００６４】
図５および図６は、画像処理部１０２の各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が少ない場合と多い場合とにおけるワークメモリ１０３とキャッシュメモリ１０５との間のデータの転送動作を概念的に示した説明図である。
【００６５】
尚、図５は、各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が少ない場合の一例を示す説明図、図６は、各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が多い場合の一例を示す説明図である。
【００６６】
図５に示すように、入力された画像データが行列演算、下地除去、フィルター処理、色変換処理、拡縮およびスクリーン処理の一連の手順で画像処理する場合において、各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が例えばメモリバンク１０５−０およびメモリバンク１０５−１のように少ない場合は、Ｓｃａｎ  Ｆｒｏｎｔ  Ｐｏｒｔ１０２−１から入力された画像データは、メインメモリ１０３およびメモリバンク１０５−０に記憶され、メモリバンク１０５−０に記憶された画像データに基づき行列演算部１０２−２がメモリバンク１０５−１を使用して画像データの演算処理を行う。
【００６７】
行列演算部１０２−２で行列演算された画像データ（以下、画像データ（行列演算後）という。）は、メインメモリ１０３に一旦転送されて記憶され、下地除去部によりメインメモリ１０３から読み出されて下地除去の処理が実施される。
【００６８】
この下地除去の処理の際に、メモリバンク１０５−１は、下地除去部１０２−２で使用されるため、行列演算部１０２−２で行列演算を行った時にメモリバンク１０５−１に記憶された画像処理の各種パラメータやデータをメインメモリ１０３に退避させて記憶させた後、下地除去部１０２−２による処理に必要な画像処理の各種パラメータやデータがメインメモリ１０３から読み出されてメモリバンク１０５−１に記憶され、それらの各種パラメータやデータと画像データ（行列演算後）とに基づき下地除去部１０２−２が下地除去の処理を実施する。
【００６９】
また、下地除去部１０２−２で下地除去の処理がされた画像データ（以下、画像データ（下地除去後）という。）は、行列演算部１０２−２の行列演算の場合と同様にメインメモリ１０３に一旦転送されて記憶され、下地除去の処理の際にメモリバンク１０５−１に記憶された各種パラメータやデータがメインメモリ１０３に退避させられて記憶された後、次の画像処理を行うフィルタ部１０２−４によりメインメモリ１０３から画像データ（下地除去後）が読み出されてフィルタ処理され、更に色変換部１０２−５および拡縮・スクリーン部１０２−６による色変換処理、拡縮およびスクリーン処理が順次実施される。
【００７０】
このように、一連の画像処理において、各部で画像処理された画像データおよびメモリバンク１０５−１に記憶された各種パラメータやデータが各部の画像処理を実施する毎にメインメモリ１０３とメモリバンク１０５−１またはメインメモリ１０３と各画像処理モジュール１０２−ｎとの間で各種パラメータやデータおよび画像データの転送動作が発生して処理速度が低下する可能性があるが、各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が少ない場合は、キャッシュメモリ１０５の多くの記憶領域（メモリバンク）をＣＰＵ１０１で使用するように割り当てられるため、ＣＰＵ１０１の処理速度が速くなり、画像処理の高速化が図れる。
【００７１】
また、図６に示すように、各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が例えばメモリバンク１０５−０〜１０５−５のように多い場合は、Ｓｃａｎ  Ｆｒｏｎｔ  Ｐｏｒｔ１０２−１から入力された画像データは、メインメモリ１０３およびメモリバンク１０５−０に記憶され、メモリバンク１０５−０に記憶された画像データに基づき行列演算部１０２−２がメモリバンク１０５−１を使用して画像データの演算処理を行う。
【００７２】
行列演算部１０２−２で行列演算された画像データ（以下、画像データ（行列演算後）という。）は、下地除去部１０２−２に転送され、下地除去部１０２−２が画像データ（行列演算後）をメモリバンク１０５−２を使用して下地除去の処理を行う。
【００７３】
また、下地除去部１０２−２で下地除去の処理がされた画像データ（以下、画像データ（下地除去後）という。）は、フィルタ部１０２−４に転送され、フィルタ部１０２−４が画像データ（下地除去後）をメモリバンク１０５−３を使用してフィルタ処理を行う。
【００７４】
また、フィルタ処理された画像データは、色変換部１０２−５に転送されて、色変換部１０２−５がメモリバンク１０５−４を使用して色変換処理を行い、更に拡縮・スクリーン部１０２−６に転送されて拡縮・スクリーン部１０２−６がメモリバンク１０５−５を使用して拡縮およびスクリーン処理を順次実施する。
【００７５】
このように、一連の画像処理において、各部で画像処理された画像データは、メインメモリ１０３を介することなく次の画像処理を行う画像処理モジュールに転送され、当該画像処理モジュールが当該画像処理モジュールに割り当てられたメモリバンクを使用して画像処理するので、各部で使用する各種パラメータやデータおよび画像処理された画像データをメインメモリ１０３とメモリバンクまたはメインメモリ１０３と各画像処理モジュール１０２−ｎとの間で転送動作が頻繁に発生する場合と比べて画像処理の高速化が図れる。
【００７６】
図７は、画像処理装置１００とは他の本発明に係わる画像処理装置２００の要部の構成の一例を示す構成図である。
【００７７】
図７に示すように、画像処理装置２００は、ＣＰＵ２０１、画像処理部１３０、メインメモリ１０３、キャッシュメモリ１０５、システムバス切替部１０６、ＲＯＭ１０７、通信部１０８、印字部１０９、画像読取部１１０を具備して構成されており、通信部１０８を介してパソコンなどの上位装置１１１と接続されている。
【００７８】
図７において、画像処理装置２００は、画像処理部１３０を前述の画像処理装置１００の画像処理部１０２（図１参照）の各画像処理モジュール１０２−ｎを画像処理を行うための専用のＳＩＭＤ（＝Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ／Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）方式の複数のメディアプロセッサ１３０−１〜１３０−ｎに置き換え、キャッシュメモリ１０５をシステムバス切替部１０６と接続して調停部１０４を不要として構成した他は、画像処理装置１００と同様に構成されており、画像処理装置１００と同様な構成および動作を行う各部には、説明の便宜上、画像処理装置１００と同一の符号を付し、同一符号の各部の説明は省略または簡略して説明するものとする。
【００７９】
画像処理装置２００のＣＰＵ２０１は、画像処理装置２００の各部を制御すると共に、画像処理装置２００全体を統括制御するプロセッサであり、読み出し専用のメモリであるＲＯＭ１０７に記憶された制御プログラムなどを読み出して実行して、印刷処理、スキャン処理、複製処理などの各種処理動作の制御を行う。
【００８０】
キャッシュメモリ１０５は、画像処理装置１００と同様に再配置可能で独立してアクセス可能な複数の記憶領域（メモリバンク）１０５−０〜１０５−ｎから構成された高速メモリのＲＡＭである。
【００８１】
画像処理部１３０は、前述したように画像データを画像処理するための各種画像処理専用のメディアプロセッサ１３０−１〜１３０−ｎで構成されており、各メディアプロセッサ１３０−１〜１３０−ｎは、画像処理プログラムを自プロセッサにロードして実行し、その画像処理プログラムの命令に基づき各種画像処理を行うように構成されている。
【００８２】
画像処理プログラムは、ＲＯＭ１０７に記憶されており、各メディアプロセッサ１３０−１〜１３０−ｎは、ＣＰＵ２０１の制御に基づき画像処理プログラムをＲＯＭ１０７から自メディアプロセッサに読込み実行して各種画像処理を行う。
【００８３】
複数のメディアプロセッサ１３０−１〜１３０−ｎのうちのメディアプロセッサ１３０−１は、バスインタフェース（以下、「バスＩ／Ｆ」という。）１３１−１、命令キャッシュメモリ１３２−１、命令キャッシュ制御部１３３−１、命令デコード制御部１３４−１、ＤＭＡ（＝Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）１３５−１、ローカルメモリ１３６−１、複数のデータパス１３７−１−１、２、・・・ｎ（以下、「データパス１３７−１−ｎ」という。）から成るデータバス部１３７−１を備えて構成されている。
【００８４】
メディアプロセッサ１３０−１のバスＩ／Ｆ１３１−１は、システムバス切替部１０８とのプログラムやデータの入出力のインタフェース制御を行う。
【００８５】
命令キャッシュメモリ１３２−１は、フェッチされた命令や実行後の命令を一時的に格納する高速なＲＡＭである。
【００８６】
命令キャッシュ制御部１３３−１は、バスＩ／Ｆ１３１−１を介して入力されたプログラムの命令を命令キャッシュメモリ１３２−１に記憶させると共に、命令キャッシュメモリ１３２−１に記憶されている命令を順次取り出して、命令デコード制御部１３４−１へ転送する制御を行う。
【００８７】
命令デコード制御部１３４−１は、入力された命令の内容を解釈して、命令に基づく演算処理を行う。
【００８８】
ＤＭＡ１３５−１は、システムバス切替部１０８と接続された自装置とは他の各装置（自装置とは他のメディアプロセッサ１３０−ｎやキャッシュメモリ１０５など）とバスＩ／Ｆ１３１−１を介して直接データの入出力の制御を行う。
【００８９】
ローカルメモリ１３６−１は、自装置のメディアプロセッサ１３０−１のみ使用可能なメモリである。
【００９０】
データパス１３７−１−ｎは、命令キャッシュ制御部１３３−１とローカルメモリ１３６−１との間のデータを転送するデータ経路であり、マルチプレクサなどで構成されている。
【００９１】
尚、本実施例では、メディアプロセッサ１３０−１とは他の各メディアプロセッサ１３０−ｎの構成もメディアプロセッサ１３０−１と同様に構成されているが、異なる構成であっても本発明に係わる制御動作が実現される構成であれば良い。
【００９２】
また、画像処理部１３０の各メディアプロセッサ１３０−１〜１３０−ｎを総称する場合は、説明の便宜上、単に「メディアプロセッサ１３０−ｎ」という。
【００９３】
このように構成された画像処理装置２００は、画像処理装置１００と同様に、パソコンなどの上位装置１１１から印刷要求と共に送信される画像データが通信部１０８を介して受信されると、受信された画像データは、ＣＰＵ１２１の制御に基づき画像処理部１３０の各メディアプロセッサ１３０−ｎによって画像処理されてメインメモリ１０３に格納され、印字部１０９に転送されて用紙上に形成されて出力される。
【００９４】
また、画像処理装置２００によるスキャン処理および複製処理の動作は、ＣＰＵ２０１の制御に基づき画像読取部１１０によって図示せぬ原稿から画像データが読み取られ、読み取られた画像データは、画像処理部１３０の各メディアプロセッサ１３０−ｎによって画像処理されてメインメモリ１０３に格納され、所定の記憶領域に格納される、または印字部１０９に転送されて用紙上に形成されて出力される。
【００９５】
これらの印刷処理、スキャン処理、複製処理などの各種処理動作は、ＣＰＵ２０１がＲＯＭ１０７から各種処理の制御プログラムを読み込み実行し、ＣＰＵ２０１の制御に基づき各メディアプロセッサ１３０−ｎが画像処理プログラムをＲＯＭ１０７から読み込み実行することで、実行された制御プログラムに記述された命令に基づく各種処理の制御動作が実現される。
【００９６】
ところで、本願発明の画像処理装置２００は、印刷処理、スキャン処理、複製処理などの各種処理を効率良く動作させるために、ＣＰＵ２０１および各メディアプロセッサ１３０−ｎの処理状態に応じてキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）の一部または全部をＣＰＵ２０１または各メディアプロセッサ１３０−ｎで使用可能なように割り当てて相互に使用できるように構成されている。
【００９７】
具体的には、ＣＰＵ１０１の処理状態がアイドル状態または負荷の小さい処理を行っている状態などの場合には、キャッシュメモリ１０５の一部または全部の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を画像処理部１０２の各メディアプロセッサ１３０−ｎの画像処理プログラムを記憶する領域として割り当てて使用し、また、各メディアプロセッサ１３０−ｎの処理状態がアイドル状態または負荷の小さい処理を行っている状態などの場合には、キャッシュメモリ１０５の一部または全部の記憶領域（メモリバンク１０５−０〜１０５−ｎ）をＣＰＵ２０１で使用する記憶領域として優先的に割り当てて使用するように構成されている。
【００９８】
このような構成とすることで、キャッシュメモリ１０５の全記憶領域（メモリバンク１０５−０〜１０５−ｎ）のうちの多くのメモリバンクをＣＰＵ２０１で使用するように割り当てると、ＣＰＵ２０１の制御プログラムを高速に動作させることができ、また、処理の負荷の小さい制御プログラムを実行する場合には、キャッシュメモリ１０５の多くのメモリバンクをＣＰＵ２０１で使用するように割り当てなくても十分な性能が得られるので、ＣＰＵ２０１で使用するキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を少なくし、各メディアプロセッサ１３０−ｎで使用するキャッシュメモリ１０５の記憶領域（メモリバンク１０５−０〜１０５−ｎ）を多く割り当て、その記憶領域に各メディアプロセッサ１３０−ｎの画像処理プログラムを記憶させることで、各メディアプロセッサ１３０−ｎの各命令キャッシュメモリ１３１−ｎに収まりきれない使用容量の大きい画像処理プログラムを実行する場合でもメインメモリ１０３へのデータの退避動作が減少するので、画像処理の高速化が図れる。
【００９９】
図８は、画像処理装置２００とは他の本発明に係わる画像処理装置２１０の要部の構成の一例を示す構成図である。
【０１００】
図８に示すように、画像処理装置２１０は、ＣＰＵ２０２、画像処理部１４０、メインメモリ１０３、キャッシュメモリ１０５、システムバス切替部１０６、ＲＯＭ１０７、通信部１０８、印字部１０９、画像読取部１１０を具備して構成されており、通信部１０８を介してパソコンなどの上位装置１１１と接続されている。
【０１０１】
図８において、画像処理装置２１０は、画像処理装置２１０の画像処理部１４０を構成する各種画像処理専用の複数のメディアプロセッサ１４０−１〜１４０−ｎが同一の画像処理プログラムを実行するメディアプロセッサ間で当該各メディアプロセッサが備えるそれぞれの命令キャッシュメモリを共有して使用するように制御するように構成した他は、画像処理装置２００（図７参照）と同様に構成されており、画像処理装置２００と同様な構成および動作を行う各部には、説明の便宜上、画像処理装置２００と同一の符号を付し、同一符号の各部の説明は省略または簡略して説明するものとする。
【０１０２】
画像処理装置２１０のＣＰＵ２０２は、画像処理装置２１０の各部を制御すると共に、画像処理装置２１０全体を統括制御し、読み出し専用のメモリであるＲＯＭ１０７に記憶された制御プログラムなどを読み出して実行して、印刷処理、スキャン処理、複製処理などの各種処理動作の制御を行う。
【０１０３】
キャッシュメモリ１０５は、画像処理装置２００と同様に再配置可能で独立してアクセス可能な複数の記憶領域（メモリバンク）１０５−０〜１０５−ｎから構成された高速メモリのＲＡＭである。
【０１０４】
画像処理部１４０は、前述したように画像データを画像処理するための各種画像処理専用のメディアプロセッサ１４０−１〜１４０−ｎで構成されており、各メディアプロセッサ１４０−１〜１４０−ｎは、画像処理プログラムを自プロセッサにロードして実行し、その画像処理プログラムの命令に基づき各種画像処理を行う。
【０１０５】
また、各メディアプロセッサ１４０−１〜１４０−ｎは、画像処理装置２００の各メディアプロセッサ１３０−ｎと同様に構成されたそれぞれのバスＩ／Ｆ１３１−１〜１３１−ｎ、命令キャッシュメモリ１３２−１〜１３２−ｎ、命令デコード制御部１３４−１〜１３２−ｎ、ＤＭＡ１３５−１〜１３５−ｎ、ローカルメモリ１３６−１〜１３６−ｎ、複数のデータパスから成るデータバス部１３７−１〜１３７−ｎおよび同一の画像処理プログラムを実行するメディアプロセッサ間で当該各メディアプロセッサが備えるそれぞれの命令キャッシュメモリを共有して使用するように制御する命令キャッシュ制御部１４３−１〜１４５−ｎを備えて構成されている。
【０１０６】
尚、画像処理部１４０の各メディアプロセッサ１４０−１〜１４０−ｎを総称する場合は、説明の便宜上、単に「メディアプロセッサ１４０−ｎ」という。
【０１０７】
このような構成とすることで、画像処理部１４０の複数のメディアプロセッサ１４０−ｎのうちの例えばメディアプロセッサ１４０−１とメディアプロセッサ１４０−２との間で同一の画像処理プログラムを実行する場合は、当該画像処理プログラムの一部または全部をメディアプロセッサ１４０−１の命令キャッシュメモリ１３２−１とメディアプロセッサ１４０−２の命令キャッシュメモリ１３２−２とにそれぞれ分割して記憶させ、各メディアプロセッサ１４０−１、１４０−２で命令キャッシュメモリ１３２−１および命令キャッシュメモリ１３２−２を共用して使用することができる。
【０１０８】
このように、同一の処理プログラムを実行する各メディアプロセッサ間でそれぞれの命令キャッシュメモリに当該処理プログラムを記憶させて共用して使用することで、これらの各メディアプロセッサからメインメモリ１０３に記憶された当該処理プログラムへのアクセス動作が減少し、画像処理の処理性能の低下を防止することが可能となる。
【０１０９】
また、画像処理装置２１０とは他の画像処理装置の実施例として、例えば、画像処理装置２１０の複数のメディアプロセッサ１４０−ｎで実行される同一の画像処理プログラムが複数存在する場合に、どの画像処理プログラムを優先的にキャッシュメモリ１０５に記憶させるか、またはどの画像処理プログラムを同一の画像処理プログラムを実行するメディアプロセッサ間で当該各メディアプロセッサが備えるそれぞれの命令キャッシュメモリに共有して記憶させるかを所定の判断基準に基づき記憶させるように制御する構成としても良い。
【０１１０】
このように構成した場合は、例えばメインメモリ１０３へアクセスするトラフィックが高くない場合には、各メディアプロセッサ１４０−ｎで実行される複数の同一の画像処理プログラムのうち、実行する画像処理プログラムの全ての命令を命令キャッシュに記憶させて実行した場合のその実行時間と、メインメモリ１０３に記憶させて実行した場合のその実行時間との実行時間差に基づき判断して決定する。
【０１１１】
また、メインメモリ１０３へアクセスするトラフィックが高い場合には、各メディアプロセッサ１４０−ｎで実行される複数の同一の画像処理プログラムのうち、実行する画像処理プログラムの全ての命令を命令キャッシュに記憶させた場合と比べてメインメモリ１０３に記憶させた場合のキャッシュのミスヒット時のメインメモリ１０３からのデータ転送量に基づき判断して決定する。
【産業上の利用可能性】
【０１１２】
本発明は、複数のプロセッサを備える装置で同一の高速メモリを共用して使用する技術に適用可能である。
【図面の簡単な説明】
【０１１３】
【図１】本発明に係わる画像処理装置１００の要部の構成の一例を示す構成図
【図２】画像処理装置１００の印刷処理におけるキャッシュメモリ１０５の割り当て動作の流れの一例を示す流れ図
【図３】画像処理装置１００の複製処理におけるキャッシュメモリ１０５の割り当て動作の流れの一例を示す流れ図
【図４】１ページ分の画像データ１０とそのバンド（帯状の領域）の一例を示す図
【図５】各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が少ない場合のデータ転送動作の説明図
【図６】各画像処理モジュール１０２−ｎに割り当てられたキャッシュメモリ１０５の記憶領域（メモリバンク）が多い場合のデータ転送動作の説明図
【図７】本発明に係わる画像処理装置２００の要部の構成の一例を示す構成図
【図８】本発明に係わる画像処理装置２１０の要部の構成の一例を示す構成図
【符号の説明】
【０１１４】
１０    画像データ
１０−１、１０−２、１０−ｎ  バンド（画像データ１０の複数の帯状の領域）
１００、２００、２１０  画像処理装置
１０１、２０１  ＣＰＵ（＝Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ ）
１０２、１３０、１４０  画像処理部
１０２−１  Ｓｃａｎ  Ｆｒｏｎｔ  Ｐｏｒｔ
１０２−２  行列演算部
１０２−３  下地除去部
１０２−４  フィルタ部
１０２−５  色変換部
１０２−６  拡縮・スクリーン処理部
１０２−７  ＪＰＥＧ（＝Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）部
１０２−８  伸張部
１０２−ｎ−１  データの書き換えが可能な内蔵記憶領域
１０２−ｎ  キャッシュＩ／Ｆ部
１０３  メインメモリ
１０４  調停部
１０５  キャッシュメモリ
１０５−０、１０５−１、１０５−２、１０５−３、１０５−４、１０５−５、１０５−ｎ  メモリバンク（記憶領域）
１０６  システムバス切替部
１０７  ＲＯＭ（＝Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１０８  通信部
１０９  印字部
１１０  画像読取部
１１１  上位装置
１３０−１、１３０−ｎ、１４０−１、１４０−２、１４０−ｎ  メディアプロセッサ
１３２−１、１３２−ｎ  命令キャッシュメモリ
１３３−１、１３３−ｎ  命令キャッシュ制御部
１３４−１、１３４−ｎ  命令デコード制御部
１３５−１、１３５−ｎ  ＤＭＡ（＝Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）
１３６−１、１３６−ｎ  ローカルメモリ
１３７−１、１３７−ｎ  データパス部
１３７−１−１、１３７−１−ｎ、１３７−ｎ−１、１３７−ｎ−ｎ  データパス
【図１】
0004935730.tif 000002
【図２】
0004935730.tif 000003
【図３】
0004935730.tif 000004
【図４】
0004935730.tif 000005
【図５】
0004935730.tif 000006
【図６】
0004935730.tif 000007
【図７】
0004935730.tif 000008
【図８】
0004935730.tif 000009