JP3974762B2 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP3974762B2 JP3974762B2 JP2001284343A JP2001284343A JP3974762B2 JP 3974762 B2 JP3974762 B2 JP 3974762B2 JP 2001284343 A JP2001284343 A JP 2001284343A JP 2001284343 A JP2001284343 A JP 2001284343A JP 3974762 B2 JP3974762 B2 JP 3974762B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- image
- image processing
- image memory
- notification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Storing Facsimile Image Data (AREA)
Description
【発明の属する技術分野】
本発明は、スキャナやプロッタといった画像入出力エンジンを装備する画像処理装置に関し、さらに詳しくは、例えばMFP(Multi Function Peripher )機等の画像処理装置のシステムコントローラにおける特にコピープロセスやプリントプロセスといった画像入出力処理プロセスを、複数同時に動作させるプロセス実行環境を管理する技術に関する。
【0002】
【従来の技術】
一般にMFP機と呼ばれる画像処理装置には、複数の画像処理機能が搭載されている。例えばプリント機能、スキャン機能、画像蓄積機能、ファックス機能、ネットワークを介した蓄積画像抽出機能などがその代表的な機能である。これらの機能は各々独立して動作できるようになっている。
【0003】
また、この装置は、パフォーマンスアップのために、複数のプロセスが同時に実行可能である。例えばプリントプロセスとスキャンプロセスは、お互いのプロセスがプロッタやスキャナといった画像処理装置のリソースを同時に奪い合うことがないので、コントローラにおいて両プロセスの並列動作を管理することによって、並列動作が可能になりパフォーマンスアップが図れるようになる。
【0004】
また、コピープロセスとファックス受信プロセスの並列動作の例でも、コピープロセスがスキャナおよびプロッタリソースを消費するのに対し、ファックス受信による画像保存プロセスではこれらのリソースを使用しないのでリソースの奪い合いが無く、プロセスの並列動作が可能となる。
【0005】
一方、このような画像処理装置には画像を展開するための画像メモリが用意されており、各プロセスは動作時に自身のプロセスの動作のために画像メモリをリザーブし、この画像メモリを使用することによって画像処理を行なっている。
しかしながら、MFP機では複数のプロセスが並列動作するため、各プロセスが同時に画像メモリをリザーブすることがあり、あるプロセスが大量の画像メモリをリザーブしていた場合には、他のプロセスが必要とする画像メモリを獲得することができず、動作を中断しなければならないことがある。これによりプロセスが即時に動作できなくなり、例えばこれが緊急を要するプロセスである場合にはシステムが破綻するといったことがある。
【0006】
この問題を解決するために、例えば特開平8−339324号公報に開示された情報処理装置では、特定ソフトウェアが使用するための専用メモリプールと、その他のソフトウェアが使用する汎用メモリプールを備える技術的手段を提案している。
【0007】
【発明が解決しようとする課題】
しかしながら、複数のプロセスが同時に発生し、大量の汎用メモリプールを消費していた場合には、専用メモリプールだけでは特定ソフトウェアが動作できないといった問題がある。
また、プロセスの動作が可能であった場合でも、各プロセスが必要とするメモリ量は、そのプロセスの動作モードによって変化することがあり、その時点の空きメモリ量によっては動作できないモードが存在する。
この時各プロセスはあらかじめメモリの消費量を知ることができず、実際には動作できないモードであっても動作を開始し、不必要な動作を行なってしまうことになる。
【0008】
そこで、本発明では、複数のプロセスが並列動作している場合にも、各プロセスが中断することなく確実に動作し、なおかつ効率的なメモリ割り当てが行なえる画像処理装置を提供することを目的とする。
また、他の目的として、空きメモリ量を各プロセスが知るようにし、現状のメモリ使用状態で動作可能な動作モードを特定することができるようにし、各プロセスが不必要な動作を行なって無駄に時間とメモリを消費してしまうことを防ぐことを目的とする。
【0009】
【課題を解決するための手段】
上記課題を達成するため、請求項1の画像処理装置は、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出手段と、該画像メモリ量算出手段によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ手段と、リザーブされていないメモリのメモリ使用量が動的に変化した場合にその旨を上記複数の画像処理プロセスに通知する通知手段とを設け、上記リザーブされていないメモリのメモリ使用量が動的に変化した旨の通知を受けた上記画像処理プロセスが、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断するものである。
【0010】
上記発明によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、リザーブされていないメモリのメモリ使用量が動的に変化した時、その旨を上記複数の画像処理プロセスに通知する。その通知を受けた画像処理プロセスは、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断する。
【0011】
請求項2の画像処理装置は、請求項1において、前記通知手段に代えて、リザーブされていないメモリのメモリ使用量が動的に変化した場合において、その旨を特定の画像処理プロセスに通知する通知手段を設けたものである。
【0012】
上記発明によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、リザーブされていないメモリのメモリ使用量が動的に変化した時、その旨を特定の画像処理プロセスに通知する。その通知を受けた特定の画像処理プロセスは、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断する。
【0013】
請求項3の画像処理装置は、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出手段と、該画像メモリ量算出手段によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ手段と、異常時に不必要になったリザーブされたメモリを開放するメモリ開放手段と、前記メモリ開放手段によってメモリ開放された旨を上記複数の画像処理プロセスに通知する通知手段とを設け、上記メモリ開放された旨の通知を受けた上記画像処理プロセスが、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断するものである。
【0014】
上記発明によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、異常時に不必要になったリザーブされたメモリを開放し、その旨を上記複数の画像処理プロセスに通知する。その通知を受けた画像処理プロセスは、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断する。
【0015】
請求項4の画像処理方法は、複数の画像処理プロセスが動作する画像処理装置における画像処理方法であって、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出工程と、該画像メモリ量算出工程によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ工程と、リザーブされていないメモリのメモリ使用量が動的に変化した場合にその旨を上記複数の画像処理プロセスに通知する通知工程と、上記リザーブされていないメモリのメモリ使用量が動的に変化した旨の通知を受けた上記画像処理プロセスにより、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断する工程とを有するものである。
【0016】
請求項5の画像処理法方法は、請求項4において、前記通知工程に代えて、リザーブされていないメモリのメモリ使用量が動的に変化した場合において、その旨を特定の画像処理プロセスに通知する通知工程を有するものである。
【0017】
請求項6の画像処理方法は、複数の画像処理プロセスが動作する画像処理装置における画像処理方法であって、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出工程と、該画像メモリ量算出工程によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ工程と、異常時に不必要になったリザーブされたメモリを開放するメモリ開放工程と、該メモリ開放工程によってメモリ開放された旨を上記複数の画像処理プロセスに通知する通知工程と、上記メモリ開放された旨の通知を受けた上記画像処理プロセスにより、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断する工程とを有するものである。
【0018】
【発明の実施の形態】
次に本発明に係る画像処理装置の実施形態を図1〜図9を用いて説明する。
(実施形態1)
実施形態1における画像処理装置は、図1に示すように、CPUバス1と主に画像データを転送する画像転送用バス2とがブリッジ12を介して連絡されている。CPUバス1には、CPU3と、ROM4と、RAM5、とが夫々接続され、画像転送用バス2には、DMAC6と、画像メモリ7と、NIC8と、スキャナバッファ9と、プロッタバッファ10と、ハードディスク11とが夫々接続されている。
画像転送用バス2は、画像データを高速に転送しなければならないバスであり、汎用の高速なバスを流用しても、画像データを効率良く転送するように設計した専用のバスを使用してもいずれでも良いものである。
【0019】
ブリッジ12は、CPUバス1と画像転送用バス2を仲介しており、2つのバスの速度差やバス幅の違いを吸収するとともに、エンディアンの変換などを行なっている。例えば、CPU3が画像メモリ7をアクセスする場合は、CPU3によるCPUバスアクセスサイクルを、ブリッジ12が画像転送用バスアクセスに変換することによって画像メモリ7へのアクセスを実現している。
【0020】
画像メモリ7は、画像データを保存する領域である。スキャナなどの画像入力部から入力された画像データや、NIC8を通じてネットワークから送られてきた画像データを保存する。この画像データはどのような種類の画像でも良く、例えば、白黒/カラー、二値/多値、圧縮/非圧縮、低解像度/高解像度など各種多様なフォーマットの画像が挙げられる。
【0021】
また画像メモリ7上に保存した画像データは、プロッタに転送してプリントする、NIC8を通じてネットワーク上に送信する、ハードディスク11へ保存するなどの処理が行なわれる。
【0022】
DMAC(DMA Controller)6は、画像転送用バス2上を流れる画像データを高速に転送するコントローラであり、例えばスキャン時にはスキャナI/Fから送られてくるデータを画像転送用バスを通じてフレームメモリの指定された領域に書き込むなど、まとめて大量のデータを転送するような処理を行なう。フレームメモリ上のアドレスや転送サイズはあらかじめCPU3からDMAC6に指定しておく。
【0023】
NIC(Network Interface Controller)8は、ネットワークとのI/Fを制御するモジュールで、ネットワークから送られてきた画像データおよびその他のデータを受け取り、バスの要求に従って画像転送用バスにデータを流す処理を行なう。また、データをネットワークへ送信する処理も行なう。
ネットワークは汎用なネットワークでも、画像処理装置に特化したネットワークでもいずれでもよい。汎用的なネットワークとしては例えばイーサネット(登録商標)があるが、IEEE1394などのシリアルI/Fなどでもよい。
【0024】
スキャナI/Fを介してスキャナバッファ9と接続されたスキャナエンジン13は、画像を入力するモジュールで、入力した画像データをスキャナI/Fを通じてスキャナバッファ9に転送する。
スキャナバッファ9は、スキャナエンジン13から送られてきた画像データを一時的に保存し、画像転送用バス2のバスサイクルに合わせてデータを出力する。
【0025】
プロッタI/Fを介してプロッタバッファ10と接続されたプロッタエンジン14は、画像を出力するモジュールで、プロッタバッファ10より送られてきた画像データをプロッタI/Fを通じて取り込みプリントする。
プロッタバッファ10は、画像転送用バス2から送られてきた画像データを一時的に保存し、プロッタI/Fの速度に応じてデータを出力する。
ハードディスク11は、画像を保存する記憶装置である。
【0026】
次に、例えば、スキャナエンジン13で取り込んだ画像を画像メモリ7に蓄積し、画像メモリ7上のデータをプロッタエンジン14に出力する、いわゆるコピーアプリケーションについて図2を参照しながら説明する。
まず、スキャナエンジン13にスキャン開始を要求し(ステップ11)、画像データをスキャナバッファ9にため込んでいく。続いてDMAC6にDMA転送開始を要求し(ステップ12)、あらかじめDMAC6に設定されていたサイズ分だけ、スキャナバッファ9から画像メモリ7へ画像データが転送される。この転送は画像転送用バス2を使用して行なわれる(ステップ13)。
【0027】
スキャナで全ての画像を読み込み、画像メモリに全ての画像データが保存されるまで画像データの転送は行なわれる(ステップ14)。全ての画像データの転送が終了したら(ステップ14:Yes)、スキャナエンジンにスキャン終了を要求(ステップ15)し、続いてDMAC6にDMA転送終了を要求する(ステップ16)。
以上によりスキャナエンジンから画像メモリ7への画像転送が行なわれる。
【0028】
次にDMAC6にDMA転送開始を要求(ステップ17)し、続いてプロッタエンジンにプリント開始を要求する(ステップ18)。これにより、画像メモリ7からプロッタバッファへ画像データが転送される(ステップ19)。この転送は画像転送用バスを使用して行なわれる。
【0029】
画像メモリ上の画像データが全て転送され、全ての画像データがプロッタに出力されるされるまで画像データの転送が行なわれる(ステップ20)。全ての画像データの転送が終了したら(ステップ20:Yes)、DMAC6にDMA転送終了を要求し(ステップ21)、続いてプロッタエンジンにプリント終了を要求する(ステップ22)。
以上により画像メモリ7からプロッタエンジンへの画像転送が行なわれる。
【0030】
次に画像メモリ7のリザーブについて説明する。
例えば本画像処理装置でプロセスA、プロセスB、プロセスCが動作するものとする。
まず、本実施形態における画像処理装置の起動時において、各プロセスが最低限必要とする画像メモリ量を算出する。各プロセスが必要とする画像メモリ7の大きさは、プロセスの種類や扱う画像データの種類によって異なる。
【0031】
例えば、バンド単位で画像を展開して出力するプリントプロセスでは、最低限1バンド分の画像を展開できるだけの画像メモリ7を必要とする。同様にページ単位で画像を展開して出力するプロセスでは、最低限1ページ分の画像メモリ7を必要とする。これらは最低限必要であるメモリ容量であり、通常の動作で快適にプロセスが動作するためには、例えばプロセスAが数バンド分、プロセスBが数ページ分の画像メモリ7を必要とする。
【0032】
また、圧縮した画像を画像メモリ7に展開し、出力時にハードウェアの伸長機能を利用してプリントするようなプロセスでは、圧縮状態の画像が保持できるだけの画像メモリ7を必要とする。
扱う画像がモノクロ画像だけのプロセスなら1プレーン分の画像メモリ7だけを必要とするが、カラー画像も扱うようなプロセスでは4プレーン分の画像メモリ7が必要となる場合もある。
【0033】
高精細な画像も扱うプロセスでは、通常の画像よりも多くの画像メモリ7を必要とする。
このように、プロセスの種類やそのプロセスで扱う画像の種類などによって、必要とする画像メモリ7の大きさは異なってくる。
例えばプロセスA、プロセスB、プロセスCが最低限以下に示す画像メモリ容量を必要としているものとする。
【0034】
プロセスAは1バンド毎に画像を展開して出力するプリントプロセスであり、最低限1バンド分の画像メモリ7を必要としている。またプロセスBは1ページ毎に画像を展開して出力するプリントプロセスであり、最低限1ページ分の画像メモリ7を必要としている。プロセスCは1ページ毎に圧縮されたファックス文書を受信して画像メモリ7に保存するファックス受信プロセスであり、最低限1ページ分の画像メモリ7を必要としているものとする。
【0035】
このようにして得られた最低限必要な画像メモリ量が、図3に示すように、例えばプロセスAでは8MB、プロセスBでは12MB、プロセスCでは4MBであったとする。
次に、システム起動時に各プロセスで最低限必要とする画像メモリ7を、それぞれ各プロセス専用の画像メモリとしてリザーブする。また残った画像メモリ7を、全てのプロセスで使用可能であるフリー画像メモリとして割り当てる。
【0036】
これにより、システム起動時には、図3で示すようにプロセスA用画像メモリ、プロセスB用画像メモリ、プロセスC用画像メモリ、フリー画像メモリがそれぞれ割り当てられることなる。各プロセスに割り当てられた画像メモリはそのプロセス専用の画像メモリであり、例えばプロセスA用画像メモリは他のプロセスからのアクセスが禁止されている。
【0037】
プロセスAが実行されると、プロセスAが必要とする容量だけ画像メモリ7がリザーブされる。プロセスAが通常12MBの画像メモリ7を使用するなら、図4に示すように8MBのプロセスA用画像メモリとフリー画像メモリから4MBの画像メモリがリザーブされる。
【0038】
次に、プロセスAの実行中にプロセスBが実行されると、プロセスBが必要とする容量だけ画像メモリ7がリザーブされる。プロセスBが通常32MBの画像メモリを使用するなら、12MBのプロセスB用画像メモリとフリー画像メモリから20MBの画像メモリがリザーブされる。この時、フリー画像メモリの未使用領域が20MBに満たなかった場合は、現在フリー画像メモリにある未使用領域の分だけ、プロセスBの画像メモリとしてリザーブする。例えば、図5に示したように未使用領域が4MBなら、12MBのプロセスB用画像メモリと4MBのフリー画像メモリの合わせて16MBをプロセスBに割り当てる。
この場合プロセスBは最適な容量の画像メモリを得てないが、プロセスが動作する上で最低限必要とするメモリ容量は確保できているので、動作可能である。
【0039】
また更にプロセスCが同時に実行されると、プロセスCが必要とする画像メモリ7をリザーブする。現在フリー画像メモリはプロセスAおよびプロセスBに全てリザーブされているので、フリー画像メモリからプロセスCに割り当てる領域はない。そのため、図6に示したように、プロセスC用画像メモリのみを割り当てる。
この場合プロセスCは最適な容量の画像メモリ7を得てないが、プロセスが動作する上で最低限必要とするメモリ容量は確保できているので、動作可能である。
このように、プロセスA、プロセスB、プロセスCが同時に動作する状況において、それぞれが最低限必要とする画像メモリ7が確保されているので、同時動作が可能となる。
【0040】
またプロセスAの優先度が高くなりシステム中最速で動作する必要がある場合、フリー画像メモリ全領域をプロセスAで使用する場合もある。この時プロセスAに割り当てられる画像メモリ7は、図7で示すように、8MBのプロセスA用画像メモリとフリー画像メモリ全領域である。
この時プロセスB用画像メモリ、プロセスC用画像メモリは、それぞれが実行可能になる最低限のメモリ容量であり、プロセスAが使用できるフリー画像メモリは最大となり、効率の良いメモリ割り当てが可能となる。
また、この状態でプロセスBやプロセスCが実行された場合でも、それぞれのプロセスが実行されるのに必要な最低限の画像メモリ7が確保されているので、それぞれのプロセスは実行可能である。
【0041】
このように、それぞれのプロセスが動作するために必要な最低限の画像メモリ量を算出しておき、システム起動時に算出した必要量の画像メモリ7をリザーブしておくことにより、各プロセスが中断することなく確実に動作することができるとともに、効率的なメモリ割り当てが行なえる。
【0042】
次に、フリー画像メモリの空きメモリ量が動的に変化した時の動作について説明する。
図3に示したように各プロセス用画像メモリがリザーブされている場合に、12MBの画像メモリ7を必要とする動作モードでプロセスAが実行状態になると、図4に示すように、フリー画像メモリから4MBの画像メモリ7がリザーブされる。
フリー画像メモリが8MBであった場合は、フリー画像メモリの未使用領域は4MBとなる。このように、あるプロセスがフリー画像メモリを新たにリザーブした場合、またはあるプロセスがリザーブ済みのフリー画像メモリを開放した場合には、フリー画像メモリの未使用領域が変化する。この時その旨を各プロセスに通知する。
【0043】
通知手段は、プロセス間通信でも、共有メモリによる通信でも何でもよい。この通知を受信したプロセス、例えばプロセスBは現在のフリー画像メモリ領域の未使用領域が4MBであることを知る。そして、現時点での画像メモリ7の最大使用量が、プロセスB用画像メモリ12MBとフリー画像メモリの4MBの合計である16MBであることを知ることができる。
【0044】
また、プロセスBが動作するとき、その動作モードによって最低限必要とする画像メモリ量が異なるとする。例えば、通常の画像を扱う場合は10MBの画像メモリを必要とし、高解像度の画像を扱う場合は20MBの画像メモリ7を必要とするものとする。
図4の状態では、プロセスBが使用可能な画像メモリ7の最大値が16MBであるため通常画像モードの動作は可能であるが、高解像度モードの動作が不可能である。
【0045】
そこで、プロセスBはフリー画像メモリの未使用領域の動的な変化量の通知を受けて、その値を保存しておき、要求される動作モードに応じてその処理が可能であるかどうかを判断し、動作可能である場合はそのまま動作を開始し、動作不可能である場合はその時点でメモリ不足エラー処理などを行なう。
これにより、前もってメモリ不足による動作不能を検知することができ、無駄な処理を行なうことがなくなり、速度の低下や、不必要なメモリ消費を抑えることができる。
【0046】
(実施形態2)
次に、前記した通知手段に替えて、リザーブされていないメモリのメモリ使用量が動的に変化した場合において、その旨を特定の画像処理プロセスに通知する通知手段について説明する。なお、電気的な構成は実施形態1で例示したものと同一ため説明は省略する。
プロセスによっては、必要とする画像メモリ量が動作モードにかかわらず均一であるものと、動作モードによって大きく変わるものがある。
ここで、必要とする画像メモリ量が均一であるプロセスはフリー画像メモリの未使用領域の動的な変化によって、動作モードの制御を変える必要がないので、この情報が必要ない。
【0047】
そこで、システムであらかじめメモリ残量の通知が必要であるプロセスを登録しておき、未使用領域の動的変化時に、登録されているプロセスのみにその旨を通知する。
例えば、プロセスA、プロセスBのみ変化の通知が必要であると登録されていた場合、プロセスA、プロセスBのみ通知を行ない、他のプロセスには通知を行なわない。
【0048】
これにより、前もってメモリ不足による動作不能を検知することができ、無駄な処理を行なうことがなくなり、速度の低下や、不必要なメモリ消費を抑えることができるとともに、メモリ残量の変化通知が必要なプロセスのみに、その情報を通知するので、不必要な通知の動作がなくなる。
【0049】
(実施形態3)
次に、システム起動時に算出した必要量の画像メモリ7をリザーブし、異常時に不必要になったリザーブされたメモリを開放し、メモリ開放された旨を各画像処理プロセスに通知する手段を具備した場合について説明する。なお、電気的な構成は実施形態1で例示したものと同一ため説明は省略する。
【0050】
まず、システムが正常に動作し、周辺機器が正常に機能している場合には、その周辺機器を使用するプロセスは動作可能である。例えばスキャナ、プロッタが接続されている機器では、コピープロセス、スキャンプロセス、プリントプロセスなどが動作可能となり、各プロセスが必要とする最低限の画像メモリ量をそれぞれの専用画像メモリとしてリザーブする。
【0051】
次に、周辺機器が故障などで動作不能になってしまった場合には、その周辺機器を使用するプロセスが動作不能となる。例えばスキャナが故障した場合には、コピープロセス、スキャンプロセスが動作不能となる。ただし、スキャナを使用しないプロセスであるプリントプロセスなどは動作可能である。
この場合は動作不能になったプロセス用の画像メモリが不必要になる。
【0052】
例えば図8のように、プロセスA、プロセスB、プロセスCがそれぞれのプロセス用画像メモリをリザーブしているときに、プロセスAが使用している周辺機器が故障した場合、プロセスAが動作不能となる。そのためプロセスA用画像メモリを開放し、図9のようにプロセスB、プロセスCのみをリザーブする。
このように各プロセス用画像メモリのリザーブ状態が変化した場合には、その旨を各プロセスに通知する。
【0053】
通知を受信したプロセスは、その時点でそのプロセスが使用できる最大メモリ量を知ることができるので、実際に動作可能な動作モードを判断することができ、無駄な処理を行なうことがなくなり、速度の低下や、不必要なメモリ消費を抑えることができる。
【0054】
また、このようなメモリ割り当てにすることによって、動作することのないプロセスに画像メモリを割り当てることがないので、フリー画像メモリを大きく取ることができ効率的にメモリを割り当てることができる。
【0055】
以上、本実施形態における画像処理装置を説明したが、同様の工程手順を持つ画像処理方法でも良いものである。
【0056】
【発明の効果】
本発明は以上のように構成したことにより、同時に複数のプロセスが動作している場合においても、上記複数の画像処理プロセスが必要としている最低限のメモリを確保しているので、プロセスが動作不能になることがない。また、前もってメモリ不足による動作不能を検知することができ、無駄な処理を行なうことがなくなり、速度の低下や、不必要なメモリ消費を抑えることができるといった有利な効果を奏するものである。
【0057】
すなわち、請求項1にかかる画像処理装置によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、リザーブされていないメモリのメモリ使用量が動的に変化した時、その旨を上記複数の画像処理プロセスに通知し、その通知を受けた画像処理プロセスが、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断するから、上記複数の画像処理プロセスが中断することなく確実に動作することを保証するとともに、上記複数の画像処理プロセスが不必要な動作を行なわないようにすることができる。
【0058】
請求項2にかかる画像処理装置によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、リザーブされていないメモリのメモリ使用量が動的に変化した時、その旨を特定の画像処理プロセスに通知し、その通知を受けた特定の画像処理プロセスが、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断するから、上記特定の画像処理プロセスが中断することなく確実に動作することを保証するとともに、上記特定の画像処理プロセスが不必要な動作を行なわないようにすることができる。
【0059】
請求項3にかかる画像処理装置によれば、複数の画像処理プロセスが動作する画像処理装置において、上記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出し、システム起動時に算出した必要量の画像メモリをリザーブし、異常時に不必要になったリザーブされたメモリを開放し、その旨を上記複数の画像処理プロセスに通知し、その通知を受けた画像処理プロセスが、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断するから、上記複数の画像処理プロセスが中断することなく確実に動作することを保証するとともに、効率的なメモリ割り当てを行うことができる。
【図面の簡単な説明】
【図1】本実施形態における画像処理装置の電気的構成図である。
【図2】コピーアプリケーションの一連動作を示すフローチャートである。
【図3】システム起動時におけるメモリ割り当てを示した画像メモリマップである。
【図4】プロセスAリザーブ状態における画像メモリマップである。
【図5】プロセスA、プロセスBリザーブ状態における画像メモリマップである。
【図6】プロセスA、プロセスB、プロセスC、リザーブ状態における画像メモリマップその1である。
【図7】プロセスA、プロセスB、プロセスC、リザーブ状態における画像メモリマップその2である。
【図8】プロセスA、プロセスB、プロセスCのメモリ割り当てを示した画像メモリマップである。
【図9】プロセスB、プロセスCのメモリ割り当てを示した画像メモリマップである。
【符号の説明】
1 CPUバス1
2 画像転送用バス
3 CPU
4 ROM
5 RAM
6 DMAC
7 画像メモリ
8 NIC
9 スキャナバッファ
10 プロッタバッファ
11 ハードディスク
12 ブリッジ
Claims (6)
- 複数の画像処理プロセスが動作する画像処理装置において、
前記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出手段と、
該画像メモリ量算出手段によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ手段と、
リザーブされていないメモリのメモリ使用量が動的に変化した場合にその旨を前記複数の画像処理プロセスに通知する通知手段とを設け、
前記リザーブされていないメモリのメモリ使用量が動的に変化した旨の通知を受けた前記画像処理プロセスは、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断することを特徴とする画像処理装置。 - 前記通知手段に代えて、リザーブされていないメモリのメモリ使用量が動的に変化した場合において、その旨を特定の画像処理プロセスに通知する通知手段を設けたことを特徴とする請求項1記載の画像処理装置。
- 複数の画像処理プロセスが動作する画像処理装置において、
前記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出手段と、
該画像メモリ量算出手段によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ手段と、
異常時に不必要になったリザーブされたメモリを開放するメモリ開放手段と、
前記メモリ開放手段によってメモリ開放された旨を前記複数の画像処理プロセスに通知する通知手段とを設け、
前記メモリ開放された旨の通知を受けた前記画像処理プロセスは、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断することを特徴とする画像処理装置。 - 複数の画像処理プロセスが動作する画像処理装置における画像処理方法であって、
前記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出工程と、
該画像メモリ量算出工程によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ工程と、
リザーブされていないメモリのメモリ使用量が動的に変化した場合にその旨を前記複数の画像処理プロセスに通知する通知工程と、
前記リザーブされていないメモリのメモリ使用量が動的に変化した旨の通知を受けた前記画像処理プロセスにより、その通知を保存しておき、動作モードが要求されたとき、その動作モードが動作可能か否かを、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて判断する工程とを有することを特徴とする画像処理方法。 - 前記通知工程に代えて、リザーブされていないメモリのメモリ使用量が動的に変化した場合において、その旨を特定の画像処理プロセスに通知する通知工程を有することを特徴とする請求項4記載の画像処理方法。
- 複数の画像処理プロセスが動作する画像処理装置における画像処理方法であって、
前記複数の画像処理プロセスで必要とする最低限の画像メモリ量をあらかじめ算出する画像メモリ量算出工程と、
該画像メモリ量算出工程によってシステム起動時に算出した必要量の画像メモリをリザーブする画像メモリリザーブ工程と、
異常時に不必要になったリザーブされたメモリを開放するメモリ開放工程と、
該メモリ開放工程によってメモリ開放された旨を前記複数の画像処理プロセスに通知する通知工程と、
前記メモリ開放された旨の通知を受けた前記画像処理プロセスにより、自己が使用可能な画像メモリ量の最大値を算出し、その算出結果に応じて、動作可能な動作モードを判断する工程とを有することを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001284343A JP3974762B2 (ja) | 2001-09-19 | 2001-09-19 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001284343A JP3974762B2 (ja) | 2001-09-19 | 2001-09-19 | 画像処理装置および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003091425A JP2003091425A (ja) | 2003-03-28 |
JP3974762B2 true JP3974762B2 (ja) | 2007-09-12 |
Family
ID=19107680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001284343A Expired - Fee Related JP3974762B2 (ja) | 2001-09-19 | 2001-09-19 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3974762B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7474445B2 (en) | 2004-03-12 | 2009-01-06 | Kabushiki Kaisha Toshiba | Image forming apparatus |
JP4721262B2 (ja) * | 2005-03-31 | 2011-07-13 | 株式会社リコー | 画像処理装置、画像処理方法、プログラム及び情報記録媒体 |
JP4522306B2 (ja) | 2005-04-08 | 2010-08-11 | 株式会社リコー | 画像処理装置、画像処理装置の制御方法、画像認識方法、画像形成装置、情報処理装置、データ処理方法およびプログラム |
JP6762450B2 (ja) | 2018-02-28 | 2020-09-30 | 三菱電機株式会社 | リソース制御装置、リソース制御方法及びリソース制御プログラム |
-
2001
- 2001-09-19 JP JP2001284343A patent/JP3974762B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003091425A (ja) | 2003-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5287297B2 (ja) | データ処理回路、省電力方法、省電力プログラム、記録媒体及び機器 | |
EP1909474A1 (en) | Image processor and its control method | |
JPH11205493A (ja) | 画像形成装置およびその制御方法 | |
JP2018120490A (ja) | メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置 | |
JP2010263328A (ja) | 画像処理装置および画像処理方法 | |
US20130104142A1 (en) | Information processing apparatus and information processing method | |
JP4101004B2 (ja) | 画像形成装置 | |
US7355739B2 (en) | Image forming device having a memory assignment unit | |
JP3974762B2 (ja) | 画像処理装置および画像処理方法 | |
JP4328032B2 (ja) | 画像処理装置 | |
JP4332308B2 (ja) | 画像処理装置、プログラム、プログラムが書き込まれた記録媒体および画像形成装置 | |
JP5233608B2 (ja) | 画像形成装置、画像データ転送方法、及びプログラム | |
JP4156206B2 (ja) | 複合装置 | |
JP4474873B2 (ja) | 画像処理装置 | |
JP2002268940A (ja) | 画像処理装置 | |
JP4781327B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2002251318A (ja) | システムコントローラ | |
JP2018118477A (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP7180463B2 (ja) | 画像形成装置 | |
JP4848188B2 (ja) | 複数のメモリ領域を有する記憶装置を有するユニット及びメモリ制御システム | |
JP2001211079A (ja) | 符号化復号化装置 | |
JP2003125122A (ja) | 複合装置 | |
JP3175505B2 (ja) | 画像処理装置 | |
JP6833491B2 (ja) | 情報処理装置 | |
JP2001338286A (ja) | 画像処理方法と装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041006 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070615 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100622 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110622 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110622 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120622 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130622 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |