(57)【特許請求の範囲】
【請求項１】
プリント機能、スキャン機能、画像蓄積機能、ファクシミリ送受信機能、蓄積画像抽出機能のうち、少なくともいずれか２つを有する画像処理装置において、
画像データの一時保持を始めとし各機能を実現する際に使用する装置内蔵メモリと、
ネットワークに接続するネットワーク接続手段と、
各機能を実現するために最低限必要なメモリを当該画像処理装置の起動時に算出する最少メモリ算出手段と、
前記最少メモリ算出手段により算出された最少量のメモリを各機能毎に前記装置内蔵メモリ上に確保する内蔵メモリ確保手段と、
各機能のメモリ使用要求にしたがって前記装置内蔵メモリを超えるメモリ容量が必要となった場合に、前記ネットワーク接続手段により接続されたネットワーク上の他の装置上で利用可能なメモリ領域を当該機能の処理に対して確保する外部メモリ確保手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
各機能を実現するための最低限のメモリアクセス速度を認識するアクセス速度認識手段と、
前記アクセス速度認識手段の認識結果にしたがって、前記外部メモリ確保手段により確保されたメモリ領域との間ではアクセス速度が確保できない機能の処理については優先的に前記装置内蔵メモリを確保する制御をおこなう内蔵メモリ確保制御手段と、
を備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記外部メモリ確保手段により確保されたメモリ領域を使用して各機能の処理がおこなわれている際に、メモリアクセス速度が前記アクセス速度認識手段により認識された最低限のアクセス速度を下回った場合に、当該メモリ領域を前記内蔵メモリへ転写する転写手段を備えたことを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、スキャナ機能、画像蓄積機能、ファクシミリ機能、プリント機能などの多機能を有し、画像入出力処理プロセスを複数同時に動作させる画像処理装置に関する。
【０００２】
【従来の技術】
従来、一般にＭＦＰ機（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ  Ｍａｃｈｉｎｅ）と呼ばれる画像処理装置には複数の画像処理機能が搭載されていた。例えばプリント機能、スキャン機能、画像蓄積機能、ファックス機能、ネットワークを介した蓄積画像抽出機能などがその代表的な機能である。これらの機能は各々独立して動作できるようになっている。
【０００３】
また、パフォーマンスアップのために、複数のプロセスが同時に実行できるようになっている。例えばプリントプロセスとスキャンプロセスは、お互いのプロセスが画像処理装置のリソースを同時に奪い合うことがないプロッタやスキャナでおこなわれる。したがって、ＭＦＰ機は、コントローラが両プロセスの並列動作を管理することにより並列動作を可能とし、パフォーマンスアップを図っている。
【０００４】
また、コピープロセスとファックス受信プロセスについても、コピープロセスがスキャナおよびプロッタリソースを消費するのに対し、ファックス受信プロセスではこれらリソースを使用せずに画像データを保存するのでリソースの奪い合いがなく、プロセスの並列動作が可能である。
【０００５】
従来では、この様なリソースの競合が起こらない組合せで並列処理をおこない、効率的な画像処理が可能となっていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の技術では以下の問題点があった。
すなわち、従来のＭＦＰ機（画像処理装置）では、画像を展開するための画像メモリが不足するという問題点があった。各プロセスはその動作時に自身のプロセスの動作のために画像メモリを確保し、確保した画像メモリを使用することによって画像処理をおこなっている。しかしながらＭＦＰ機では複数のプロセスが並列動作するため、各プロセスが同時に画像メモリを使用することがあり、あるプロセスが大量の画像メモリを確保していた場合には、他のプロセスが、自身で必要とする画像メモリを獲得することができず、動作を中断しなければならない場合が発生していた。
【０００７】
このとき、メモリを確保できなかったプロセスは即時に動作できず、特に、緊急を要するプロセスもしくは優先度が高いプロセスである場合にはシステムエラーが発生し、並列処理が中止するどころかシステムがフリーズし、他の動作も破綻してしまう場合があるという問題点があった。
【０００８】
従来では、この様なシステム破綻を来さないために、例えば特開平８−３３９３２４号公報では、特定ソフトウェアが使用するための専用メモリプールと、その他のソフトウェアが使用する汎用メモリプールを備える技術が開示されている。しかしながら、かかる技術では、複数のプロセスが同時に発生し、大量の汎用メモリプールを消費していた場合には、特定ソフトウェアが専用メモリプールだけでは動作できないといった問題点があった。
【０００９】
本発明は上記に鑑みてなされたものであって、複数のプロセスが並列動作している場合にも、各プロセスが中断することなく、効率的なメモリ割り当てをおこなう画像処理装置を提供することを目的とする。また、装置内部のメモリが全て確保されている場合でも、新たなプロセスを起動できる画像処理装置を提供することを目的とする。これにより、例えば緊急を要するプロセスがメモリ不足によって動作不可能になるといったことを防ぐことが可能となる。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、請求項１に記載の画像処理装置は、プリント機能、スキャン機能、画像蓄積機能、ファクシミリ送受信機能、蓄積画像抽出機能のうち、少なくともいずれか２つを有する画像処理装置において、画像データの一時保持を始めとし各機能を実現する際に使用する装置内蔵メモリと、ネットワークに接続するネットワーク接続手段と、各機能を実現するために最低限必要なメモリを当該画像処理装置の起動時に算出する最少メモリ算出手段と、前記最少メモリ算出手段により算出された最少量のメモリを各機能毎に前記装置内蔵メモリ上に確保する内蔵メモリ確保手段と、各機能のメモリ使用要求にしたがって前記装置内蔵メモリを超えるメモリ容量が必要となった場合に、前記ネットワーク接続手段により接続されたネットワーク上の他の装置上で利用可能なメモリ領域を当該機能の処理に対して確保する外部メモリ確保手段と、を備えたことを特徴とする。
【００１１】
すなわち、請求項１にかかる発明は、複数の画像処理プロセスが動作する画像処理装置において、各プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に、算出した必要量の画像メモリを確保し、画像メモリ量が足りない場合はネットワーク上にある他の画像メモリを確保することにより、十分な画像メモリを持っていない画像処理装置においても各プロセスを中断なく動作させることができる。
【００１２】
また、請求項２に記載の画像処理装置は、請求項１に記載の画像処理装置において、各機能を実現するための最低限のメモリアクセス速度を認識するアクセス速度認識手段と、前記アクセス速度認識手段の認識結果にしたがって、前記外部メモリ確保手段により確保されたメモリ領域との間ではアクセス速度が確保できない機能の処理については優先的に前記装置内蔵メモリを確保する制御をおこなう内蔵メモリ確保制御手段と、を備えたことを特徴とする。
【００１３】
すなわち、請求項２にかかる発明は、画像メモリへのアクセスを高速におこなわなければならないプロセスに対しては、画像処理装置上の画像メモリを確保し、アクセスが低速でも動作可能であるプロセスについては、ネットワーク上にある他の画像メモリを確保することにより、各プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てをおこなうことが可能となる。
【００１４】
また、請求項３に記載の画像処理装置は、請求項２に記載の画像処理装置において、前記外部メモリ確保手段により確保されたメモリ領域を使用して各機能の処理がおこなわれている際に、メモリアクセス速度が前記アクセス速度認識手段により認識された最低限のアクセス速度を下回った場合に、当該メモリ領域を前記内蔵メモリへ転写する転写手段を備えたことを特徴とする。
【００１５】
すなわち、請求項３にかかる発明は、ネットワーク上の画像メモリを確保しているプロセスが、画像メモリへのアクセススピードの低下から動作不能となった場合、画像処理装置上の画像メモリを確保するように変更することにより、各プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てをおこなうことが可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
実施の形態１．
図１は、実施の形態１の画像処理装置のうちの画像処理のコントロール部分を中心として、ネットワークを介して他の装置と接続された様子を示した構成図である。
【００１７】
画像処理装置１００は、その画像処理に関わるコントロール部１０１として、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ブリッジ１０５、画像メモリ１０６、ＤＭＡＣ（ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）１０７、スキャナバッファ１０８、プロッタバッファ１０９、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）１１０、ＣＰＵバス１３０、画像転送用バス１４０、を有する。また、画像処理装置１００は、このコントロール部１０１の制御の下に作動するスキャナエンジン１２１とプロッタエンジン１２２を揺する。
【００１８】
また、画像処理装置１００は、ネットワーク１８０を介して、外部の画像処理装置１５０と、ＰＣ１６０と、サーバ１７０とに接続されている。なお、この外部の画像処理装置１５０、ＰＣ１６０、サーバ１７０は、それぞれ画像メモリ１５１、画像メモリ１６１、画像メモリ１７１を有している。
【００１９】
次に、各部を説明する。ＣＰＵバス１３０はＣＰＵ１０２に直結しているバスであり、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ブリッジ１０５などが接続されている。画像転送用バス１４０は主に画像データを転送するバスであり、このバスにはブリッジ１０５の他、画像メモリ１０６、ＤＭＡＣ、スキャナバッファ１０８、プロッタバッファ１０９、ＮＩＣ１１０、ハードディスク１１１などが接続されている。このバスは画像データを高速に転送しなければならないバスであり、汎用の高速なバスを流用してもよく、また、画像データを効率良く転送するように設計した専用のバスを使用してもよい。
【００２０】
ブリッジ１０５はＣＰＵバス１３０と画像転送用バス１４０を仲介しており、２つのバスの速度差やバス幅の違いを吸収するとともに、エンディアンの変換などをおこなっている。例えばブリッジ１０５は、ＣＰＵ１０２が画像メモリ１０６をアクセスする場合は、ＣＰＵ１０２によるＣＰＵバスアクセスサイクルを、画像転送用バス１４０のアクセスサイクルに変換することによって画像メモリ１０６へのアクセスを実現可能としている。
【００２１】
画像メモリ１０６は画像データを保存するメモリである。画像メモリ１０６は後述するようにスキャナエンジン１２１などの画像入力部から入力された画像データや、ＮＩＣ１１０を通じてネットワークから送られてきた画像データを保存する。この画像データはどのような種類の画像でもよく、例えば、白黒／カラー、二値／多値、圧縮／非圧縮、低解像度／高解像度など各種多様なフォーマットの画像データである。
【００２２】
また、画像メモリ１０６上に保存した画像データは、プロッタエンジン１２２に転送してプリント処理される。この他、画像データは、ＮＩＣ１１０を通じてネットワーク上に送信される場合もあり、ハードディスク１１１に保存される場合もある。
【００２３】
ＤＭＡＣ１０７は、画像転送用バス１４０上を流れる画像データを高速に転送するコントローラであり、例えばスキャン時にはスキャナＩ／Ｆから送られてくるデータを画像転送用バス１４０を通じてフレームメモリの指定された領域に書き込むなど、まとめて大量のデータを転送するような処理をおこなう。フレームメモリ上のアドレスや転送サイズはあらかじめＣＰＵ１０２からＤＭＡＣ１０７に指定しておく。
【００２４】
ＮＩＣ１１０はネットワーク１８０とのＩ／Ｆを制御するモジュールで、ネットワーク１８０から送られてきた画像データおよびその他のデータを受け取り、画像転送用バス１４０の要求にしたがって画像転送用バス１４０にデータを流す処理をおこなう。また、画像データをはじめ、ネットワーク１８０へ各種のデータを送信する処理もおこなう。また、ＣＰＵ１０２からネットワーク１８０上の画像メモリを透過的に見せるための処理もおこなっている。
【００２５】
ネットワーク１８０は、汎用なネットワークでも、画像処理装置１００に特化したネットワークでもよい。汎用的なネットワークとしては例えばイーサネットがあるが、ＩＥＥＥ１３９４などのシリアルＩ／Ｆなどを用いることもできる。またネットワーク１８０の先には他の画像処理装置１５０、ＰＣ１６０、サーバ１７０などが接続されている。これらの機器にも画像データ用のメモリ（画像メモリ）が装備されており、画像処理装置１００からアクセスすることが可能である。
【００２６】
スキャナエンジン１２１は画像を入力するモジュールであり、入力した画像データをスキャナＩ／Ｆを通じてスキャナバッファ１０８に転送する。スキャナバッファ１０８はスキャナエンジン１２１から送られてきた画像データを一時的に保存し、画像転送用バス１４０のバスサイクルに合わせてデータを出力する。
【００２７】
プロッタエンジン１２２は画像を出力するモジュールであり、プロッタバッファ１０９から送られてきた画像データをプロッタＩ／Ｆを通じて取り込みプリントする。プロッタバッファ１０９は画像転送用バス１４０から送られてきた画像データを一時的に保存し、プロッタＩ／Ｆの速度に応じてデータを出力する。なお、ハードディスク１１１は、画像を保存する記憶装置である。
【００２８】
次に画像処理装置１００の画像処理動作の一例を説明する。図２は、スキャナエンジン１２１で取り込んだ画像を画像メモリに蓄積し、画像メモリ上のデータをプロッタエンジンに出力するコピープロセスの動作例を説明するフローチャートである。まず画像処理装置１００は、スキャナエンジン１２１にスキャン開始を要求し、画像データをスキャナバッファ１０８にため込んでいく（ステップＳ２０１）。続いてＤＭＡＣ１０７にＤＭＡ転送開始を要求し（ステップＳ２０２）、あらかじめＤＭＡＣ１０７に設定されていたサイズ分だけ、スキャナバッファ１０８から画像メモリ１０６へ画像データが転送される（ステップＳ２０３）。この転送は画像転送用バス１４０を使用しておこなわれる。
【００２９】
次に、スキャナエンジン１２１で全ての画像を読み込み、画像メモリ１０６に全ての画像データが保存されるまで画像データの転送はおこなわれる（ステップＳ２０４）。全ての画像データの転送が終了したら、スキャナエンジン１２１にスキャン終了を要求し（ステップＳ２０５）、続いてＤＭＡＣ１０７にＤＭＡ転送終了を要求する（ステップＳ２０６）。以上の手順によりスキャナエンジン１２１から画像メモリ１０６への画像転送がおこなわれる。
【００３０】
画像処理装置１００は、次に、ＤＭＡＣ１０７にＤＭＡ転送開始を要求し（ステップＳ２０７）、続いてプロッタエンジン１２２にプリント開始を要求する（ステップＳ２０８）。これにより、画像メモリ１０６からプロッタバッファ１０９へ画像データが転送される（ステップＳ２０９）。この転送は画像転送用バス１４０を使用しておこなわれる。画像メモリ上１０６の画像データが全て転送され、全ての画像データがプロッタエンジン１２２から出力されるまで画像データの転送がおこなわれる（ステップＳ２１０）。
【００３１】
全ての画像データの転送が終了したら、ＤＭＡＣ１０７にＤＭＡ転送終了を要求し（ステップＳ２１１）、続いてプロッタエンジン１２２にプリント終了を要求する（ステップＳ２１２）。以上の手順により画像メモリ１０６からプロッタエンジン１２２への画像転送がおこなわれる。
【００３２】
次に、並列処理中の画像メモリ１０６の確保について説明する。ここでは、画像処理装置１００でプロセスＡ、プロセスＢ、プロセスＣが動作する場合について説明する。まず、画像処理装置１００は、起動時に、各プロセスが最低限必要とする画像メモリ量を算出する。
【００３３】
各プロセスが必要とする画像メモリの大きさは、プロセスの種類や扱う画像データの種類によって異なる。例えば、バンド単位で画像を展開して出力するプリントプロセスでは、最低限１バンド分の画像を展開できるだけの画像メモリを必要とする。同様にページ単位で画像を展開して出力するプロセスでは、最低限１ページ分の画像メモリを必要とする。これらは最低限必要であるメモリ容量であり、通常の動作で快適にプロセスが動作するためには、例えばプロセスＡが１ページ分、プロセスＢが数ページ分の画像メモリを必要とする。
【００３４】
また、圧縮した画像データを画像メモリ１０６に展開し、出力時にハードウェアの伸長機能を利用してプリントするようなプロセスでは、圧縮状態の画像が保持できるだけの画像メモリが必要となる。扱う画像がモノクロ画像だけのプロセスなら１プレーン分の画像メモリだけを必要とするが、カラー画像も扱うようなプロセスでは４プレーン分の画像メモリが必要となる場合もある。また、高精細な画像も扱うプロセスでは、通常の画像よりも多くのメモリを必要とする。
【００３５】
このように、プロセスの種類やそのプロセスで扱う画像の種類などによって、動作委に必要な最低限の画像メモリの大きさは異なる。プロセスＡは１バンド毎に画像を展開して出力するプリントプロセスであるため、最低限１バンド分の画像メモリを必要としている。またプロセスＢは１ページ毎に画像を展開して出力するプリントプロセスであるため、最低限１ページ分の画像メモリを必要としている。プロセスＣは１ページ毎に圧縮されたファックス文書を受信して画像メモリに保存するファックス受信プロセスであるため、最低限１ページ分の画像メモリを必要としているものとする。
【００３６】
このようにして得られた最低限必要な画像メモリ量が、例えばプロセスＡでは８ＭＢ、プロセスＢでは１２ＭＢ、プロセスＣでは４ＭＢであったとする。画像処理装置１００は、システム起動時に各プロセスで最低限必要とする画像メモリを、それぞれ各プロセス専用の画像メモリとして予約しておく。また残った画像メモリを、全てのプロセスで状況に応じて使用させるフリー画像メモリとして割り当てる。すなわち、画像処理装置１００は、画像メモリ１０６を各プロセスに最小限必要なメモリをまず予約（確保）し、他のメモリをフリー画像メモリとして、状況に応じて各プロセスに分配する。
【００３７】
図３は、各プロセスで必要最少の画像メモリが確保された状況を説明する画像メモリの割り当て説明図である。図に示したように、画像処理装置１００の起動直後に、プロセスＡ用必要最少画像メモリ、プロセスＢ用必要最少画像メモリ、プロセスＣ用必要最少画像メモリ、フリー画像メモリがそれぞれ予約されている。各プロセスに割り当てられた画像メモリはそのプロセス専用の画像メモリであり、例えばプロセスＡ用必要最少画像メモリは他のプロセスからのアクセスが禁止されている。
【００３８】
プロセスＡが実行されると、プロセスＡが通常必要とする容量だけ画像メモリが確保される。ここでプロセスＡは、通常１２ＭＢのメモリを確保して処理を進行する場合を考える。図４は、プロセスＡが通常に処理されている際の画像メモリの割り当て様子を示した図である。図示したように、起動直後に割り当てられたフリーの画像メモリのうち、４ＭＢの画像メモリがプロセスＡ用に分配されていることが分かる。
【００３９】
次に、プロセスＡの実行中にプロセスＢが実行されると、プロセスＢが必要とする容量だけ画像メモリが確保される。ここでプロセスＢは、通常３２ＭＢの画像メモリを使用する場合を考える。画像メモリ１０６に余裕がある場合であれば、１２ＭＢのプロセスＢ用必要最少画像メモリの他に、フリー画像メモリから２０ＭＢ分の画像メモリが確保される。しかしながら、この例では、フリー画像メモリの未使用領域が２０ＭＢに満たないので、確保要求時点でフリー画像メモリにある未使用領域の分だけ、プロセスＢの画像メモリとして確保する。
【００４０】
図５は、フリー画像メモリが４ＭＢである場合にプロセスＢにより２０ＭＢの確保要求がされた後の画像メモリ１０６のメモリ割り当ての様子を示した説明図である。図示したように、残りが４ＭＢなので、プロセスＢには１２ＭＢのプロセスＢ用必要最少画像メモリと４ＭＢのフリー画像メモリの合わせて１６ＭＢのメモリが割り当てられる。なお、この場合プロセスＢは「最適」な容量の画像メモリを得てないが、プロセス自体が動作するための最低限必要なメモリ容量は確保できているので、システムがフリーズすることなく動作が可能となる。
【００４１】
更に、この状況でプロセスＣが同時に実行されると、プロセスＣが必要とする画像メモリが確保される。この状況では、フリー画像メモリはプロセスＡおよびプロセスＢにより全て分配されているので、フリー画像メモリからプロセスＣに割り当てることのできる領域はない。そのため、画像処理装置１００は、あらかじめ確保していたプロセスＣ用必要最少画像メモリのみを割り当てる。図６は、フリー画像メモリにプロセスＡおよびプロセスＢ用にメモリが既に割り当てられた後にプロセスＣのメモリが割り当てられた場合の画像メモリ１０６の様子を示した図である。この場合、プロセスＣは最適な容量の画像メモリを得てないが、プロセスが動作する上で最低限必要とするメモリ容量は確保されているので、システムがフリーズすることなく動作が可能となっている。
【００４２】
以上のように、プロセスＡ、プロセスＢ、プロセスＣが同時に動作する状況において、それぞれが最低限必要とする画像メモリが確保されているので、同時動作が可能となる。
【００４３】
なお、プロセスＡの優先度が高くなりシステム中最速で動作する必要がある場合には、フリー画像メモリの全領域をプロセスＡで使用させてもよい。この時プロセスＡに割り当てられる画像メモリは、８ＭＢのプロセスＡ用必要最少画像メモリとフリー画像メモリ全領域である。このとき、プロセスＢ用必要最少画像メモリとプロセスＣ用必要最少画像メモリは、それぞれが実行可能な最低限のメモリ容量であるので、処理を並列におこなうことができ、且つ、プロセスＡが使用できるフリー画像メモリは最大に確保されるので、効率のよいメモリ割り当てが可能となる。
【００４４】
このように、それぞれのプロセスが動作するために必要な最低限の画像メモリ量を算出しておき、システム起動時に算出した必要量の画像メモリをまず確保しておくことにより、各プロセスが中断することなく確実に動作することができるとともに、効率的なメモリ割り当てが行なえる。
【００４５】
さらにこのとき、ＮＩＣ１１０の接続先であるネットワーク１８０上に画像メモリ１５１が存在するシステムを考える。例えば、この様なシステムとしては、ネットワーク１８０の先に同様な画像処理装置１５０が接続されており、お互いの画像メモリ（画像メモリ１０６と画像メモリ１５１）がアクセス可能になっているシステムの場合が考えられる。この他、画像処理装置１００をアクセスするためにＰＣ１６０からネットワーク接続されているシステムであって、画像処理装置１００からＰＣ１６０上の画像メモリ１６１がアクセス可能なシステムであってもよく、画像データをはじめとする諸々のデータを保存可能であり、ネットワーク１８０を介してアクセス可能なサーバ１７０を含んだシステムであってもよい。
【００４６】
これらの画像メモリ（画像メモリ１５１、画像メモリ１６１、画像メモリ１７１）は画像処理装置１００からのアクセスが許されており、一部自由に使用できる領域とする。
【００４７】
上述した例のように、各プロセスで最低限必要な画像メモリ量が、プロセスＡでは８ＭＢ、プロセスＢでは１２ＭＢ、プロセスＣでは４ＭＢであった場合には図３に示したようなメモリ割り当てとなる。しかしながら、例えばプロセスＢがカラー画像で解像度も高く数ページ分を同時にメモリ上に展開しなければ動作しないプロセスであった場合は、より多くの画像メモリを確保しなければならなくなる。
【００４８】
例えばプロセスＢが２４ＭＢの画像メモリを必要とした場合を考える。すると画像処理装置１００の画像メモリ１０６が３２ＭＢであり、プロセスＡに８ＭＢ、プロセスＢに２４ＭＢを割り当てると、プロセスＣには画像メモリを割り当てることができなくなる。そこで、画像処理装置１００は、残りのプロセスＣに最低限必要なメモリを、ネットワーク上の画像メモリに確保する。図７は、プロセスＣ用必要最少画像メモリをネットワーク上の画像メモリに確保した例を説明する図である。
【００４９】
プロセスＡおよびプロセスＢが実行された場合は、画像処理装置１００上の画像メモリ１０６を使用し、必要に応じてネットワーク１８０上のフリー画像メモリを使用する。また、プロセスＣが実行された場合はネットワーク１８０上のプロセスＣ用必要最少画像メモリを使用して、必要に応じてフリー画像メモリを使用する。このようにプロセスＣ用必要最少画像メモリをネットワーク１８０上の接続先に確保することにより、各プロセスが動作する上で最低限必要な画像メモリを確保しているので、各プロセスの動作が可能となる。
【００５０】
実施の形態２．
次に、実施の形態２の画像処理装置について説明する。なお、実施の形態２については実施の形態１と同様の構成部分については同一の符号を付し、特に断らない限りその説明を省略する。
【００５１】
装置内のバス（ＣＰＵバス１３０もしくは画像転送用バス１４０）の通信速度と、ネットワーク１８０との通信速度は、通常、装置内のバスの方が高速である。したがって、ネットワーク１８０上の画像メモリを利用する場合は、低速でも動作可能なプロセスでなければならない。例えば、画像メモリ１０６からのプリントプロセスではプロッタエンジン１２２が印刷する速度に合わせて画像データを転送する必要があり、これに遅れが生じると印刷した画像が異常になったり出力できなくなる場合がある。そこで、このような高速性が要求されるプロセスの場合は、画像処理装置１００内の画像メモリを確保する必要がある。
【００５２】
上述したプロセスＡ、プロセスＢ、プロセスＣのうち、プロセスＡのみが高速なアクセスが必要である場合は、まずプロセスＡ用必要最少画像メモリを本画像処理装置１００上の画像メモリ１０６から確保する。その後プロセスＢ用必要最少画像メモリ、プロセスＣ用必要最少画像メモリを空いている領域から確保する。この場合は、プロセスＡ用必要最少画像メモリに８ＭＢ、プロセスＢ用必要最少画像メモリに２４ＭＢを確保することになるので、確保後の画像メモリ１０６の様子は図７に示した如くとなる。
【００５３】
また、プロセスＢおよびプロセスＣに高速なアクセスが必要である場合は、同様にプロセスＢ用必要最少画像メモリ、プロセスＣ用必要最少画像メモリを画像処理装置１００上の画像メモリ１０６から確保する。この場合はプロセスＣ用必要最少画像メモリに４ＭＢ、プロセスＢ用必要最少画像メモリに２４ＭＢを確保することになるので、確保後の画像メモリ１０６の様子は図８に示した如くとなる。
【００５４】
その後プロセスＡ用必要最少画像メモリを空いている領域から確保する。プロセスＡ用必要最少画像メモリは図８に示した如く、ネットワーク１８０上の画像メモリを確保してもよいし、図９のように分割して画像処理装置１００の画像メモリ１０６とネットワーク１８０の接続先の画像メモリからリザーブしてもよい。
【００５５】
実施の形態３．
次に、実施の形態３の画像処理装置について説明する。なお、実施の形態３については実施の形態１もしくは実施の形態２と同様の構成部分については同一の符号を付し、特に断らない限りその説明を省略する。
【００５６】
図７に示したように、画像処理装置１００上にプロセスＡ用必要最少画像メモリ８ＭＢとプロセスＢ用必要最少画像メモリ２４ＭＢが確保されており、ネットワーク上の画像メモリにプロセスＣ用必要最少画像メモリ４ＭＢが確保されているとする。この状況下で、プロセスＣが実行され、その実行中に画像メモリへのアクセススピードの低下から動作不能となった場合を考える。
【００５７】
画像処理装置１００は、プロセスＣが高速なメモリ環境下で動作できるように、プロセスＣ用必要最少画像メモリを本画像処理装置１００上に再確保する。この例では既にプロセスＡ用必要最少画像メモリとプロセスＢ用必要最少画像メモリによって本画像処理装置１００の画像メモリ１０６が全て確保されているので、まずプロセスＡ用必要最少画像メモリをネットワーク上の画像メモリに移し、空いた画像メモリからプロセスＣ用必要最少画像メモリをリザーブする。その結果は図８に示したと如くとなる。
【００５８】
この様に、必要に応じて、プロセスＣを高速なメモリ環境下で動作させることができ、他のプロセスも最低限の画像メモリを確保できているので、全てのプロセスが動作不能になることなく、効率的なメモリ割り当てをおこなうことができる。
【００５９】
【発明の効果】
以上説明したように、本発明の画像処理装置（請求項１）は、プリント機能、スキャン機能、画像蓄積機能、ファクシミリ送受信機能、蓄積画像抽出機能のうち、少なくともいずれか２つを有する画像処理装置において、画像データの一時保持を始めとし各機能を実現する際に使用する装置内蔵メモリと、ネットワークに接続するネットワーク接続手段と、各機能を実現するために最低限必要なメモリを当該画像処理装置の起動時に算出する最少メモリ算出手段と、前記最少メモリ算出手段により算出された最少量のメモリを各機能毎に前記装置内蔵メモリ上に確保する内蔵メモリ確保手段と、各機能のメモリ使用要求にしたがって前記装置内蔵メモリを超えるメモリ容量が必要となった場合に、前記ネットワーク接続手段により接続されたネットワーク上の他の装置上で利用可能なメモリ領域を当該機能の処理に対して確保する外部メモリ確保手段と、を備えている。
【００６０】
したがって、複数の画像処理プロセスが動作する画像処理装置において、各プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に、算出した必要量の画像メモリを確保し、画像メモリ量が足りない場合はネットワーク上にある他の画像メモリを確保することにより、十分な画像メモリを持っていない画像処理装置においても各プロセスを中断なく動作させることができる。
【００６１】
また、本発明の画像処理装置（請求項２）は、請求項１に記載の画像処理装置において、各機能を実現するための最低限のメモリアクセス速度を認識するアクセス速度認識手段と、前記アクセス速度認識手段の認識結果にしたがって、前記外部メモリ確保手段により確保されたメモリ領域との間ではアクセス速度が確保できない機能の処理については優先的に前記装置内蔵メモリを確保する制御をおこなう内蔵メモリ確保制御手段と、を備えている。
【００６２】
したがって、画像メモリへのアクセスを高速におこなわなければならないプロセスに対しては、画像処理装置上の画像メモリを確保し、アクセスが低速でも動作可能であるプロセスについては、ネットワーク上にある他の画像メモリを確保することにより、各プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てをおこなうことが可能となる。すなわち、高速な画像メモリアクセスが必要なプロセスは、画像処理装置上から画像メモリを確保するので、確実に高速な画像メモリアクセスが行なえ、各プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てが行なえる画像処理装置を提供することができる。
【００６３】
また、本発明の画像処理装置（請求項３）は、請求項２に記載の画像処理装置において、前記外部メモリ確保手段により確保されたメモリ領域を使用して各機能の処理がおこなわれている際に、メモリアクセス速度が前記アクセス速度認識手段により認識された最低限のアクセス速度を下回った場合に、当該メモリ領域を前記内蔵メモリへ転写する転写手段を備えている。
【００６４】
したがって、ネットワーク上の画像メモリを確保しているプロセスが、画像メモリへのアクセススピードの低下から動作不能となった場合、画像処理装置上の画像メモリを確保するように変更することにより、各プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てをおこなうことが可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【図１】実施の形態１の画像処理装置のうちの画像処理のコントロール部分を中心として、ネットワークを介して他の装置と接続された様子を示した構成図である。
【図２】スキャナエンジンで取り込んだ画像を画像メモリに蓄積し、画像メモリ上のデータをプロッタエンジンに出力するコピープロセスの動作例を説明するフローチャートである。
【図３】各プロセスで必要最少の画像メモリが確保された状況を説明する画像メモリの割り当て説明図である。
【図４】プロセスＡが通常に処理されている際の画像メモリの割り当て様子を示した図である。
【図５】フリー画像メモリが４ＭＢである場合にプロセスＢにより２０ＭＢの確保要求がされた後の画像メモリのメモリ割り当ての様子を示した説明図である。
【図６】フリー画像メモリにプロセスＡおよびプロセスＢ用にメモリが既に割り当てられた後にプロセスＣのメモリが割り当てられた場合の画像メモリの様子を示した図である。
【図７】プロセスＣ用必要最少画像メモリをネットワーク上の画像メモリに確保した例を説明する図である。
【図８】プロセスＢおよびプロセスＣに高速なアクセスが必要な場合の画像メモリの確保後の様子を示した説明図である。
【図９】プロセスＡに必要なメモリを分割して確保した様子を示した説明図である。
【符号の説明】
１００  画像処理装置
１０１  コントロール部
１０６  画像メモリ
１０８  スキャナバッファ
１０９  プロッタバッファ
１１０  ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）
１１１  ハードディスク
１２１  スキャナエンジン
１２２  プロッタエンジン
１３０  ＣＰＵバス
１４０  画像転送用バス
１５０  画像処理装置（外部）
１５１  画像メモリ
１６０  ＰＣ
１６１  画像メモリ
１７０  サーバ
１７１  画像メモリ
１８０  ネットワーク
【図１】
0004328032.tif 000002
【図２】
0004328032.tif 000003
【図３】
0004328032.tif 000004
【図４】
0004328032.tif 000005
【図５】
0004328032.tif 000006
【図６】
0004328032.tif 000007
【図７】
0004328032.tif 000008
【図８】
0004328032.tif 000009
【図９】
0004328032.tif 000010