(57)【特許請求の範囲】
【請求項１】
プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置であって、
前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、
前記画像処理装置は、
前記画像処理用メモリ領域が前記画像処理デバイスに使用されていない時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成し、
前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップし、
前記画像処理用メモリ領域が前記画像処理デバイスに使用される時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える制御部を備え、
前記制御部は、
前記ＯＳのスワップファイル参照先を前記２次記憶装置にバックアップしたスワップファイルに切り替える際に、前記画像処理デバイスが実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替える、
ことを特徴とする画像処理装置。
【請求項２】
前記制御部は、
前記ＯＳのスワップファイル参照先を前記２次記憶装置にバックアップしたスワップファイルに切り替えた後、前記画像処理用メモリ領域が前記画像処理デバイスに使用されなくなった時は、前記画像処理用メモリ領域を前記スワップ領域として使用し、前記２次記憶装置にバックアップしたスワップファイルを前記スワップ領域にコピーし、前記ＯＳのスワップファイル参照先を、前記２次記憶装置にバックアップしたスワップファイルから、前記スワップ領域にコピーしたスワップファイルに切り替える、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置で動作するメモリ制御プログラムであって、
前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、
前記画像処理装置の前記プロセッサに、
前記画像処理デバイスの動作を監視し、前記画像処理用メモリ領域が前記画像処理デバイスに使用されていないと判断した時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成する第１処理、
前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップする第２処理、
前記画像処理デバイスの動作を監視し、前記画像処理用メモリ領域が前記画像処理デバイスに使用されると判断した時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える第３処理、を実行させ、
前記第３処理では、
前記画像処理装置が実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替える、
ことを特徴とするメモリ制御プログラム。
【請求項４】
前記画像処理装置の前記プロセッサに、更に、
前記第３処理後、前記画像処理デバイスの動作を監視し、前記画像処理用メモリ領域が前記画像処理デバイスに使用されなくなったと判断した時は、前記画像処理用メモリ領域を前記スワップ領域として使用し、前記２次記憶装置にバックアップしたスワップファイルを前記スワップ領域にコピーし、前記ＯＳのスワップファイル参照先を、前記２次記憶装置にバックアップしたスワップファイルから、前記スワップ領域にコピーしたスワップファイルに切り替える第４処理を実行させる、
ことを特徴とする請求項３に記載のメモリ制御プログラム。
【請求項５】
プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置におけるメモリ制御方法であって、
前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、
前記画像処理装置は、
前記画像処理用メモリ領域が前記画像処理デバイスに使用されていない時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成する第１処理と、
前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップする第２処理と、
前記画像処理用メモリ領域が前記画像処理デバイスに使用される時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える第３処理と、を実行し、
前記第３処理では、
前記画像処理装置が実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替える、
ことを特徴とするメモリ制御方法。
【請求項６】
前記画像処理装置は、更に、
前記第３処理後、前記画像処理用メモリ領域が前記画像処理デバイスに使用されなくなった時は、前記画像処理用メモリ領域を前記スワップ領域として使用し、前記２次記憶装置にバックアップしたスワップファイルを前記スワップ領域にコピーし、前記ＯＳのスワップファイル参照先を、前記２次記憶装置にバックアップしたスワップファイルから、前記スワップ領域にコピーしたスワップファイルに切り替える第４処理を実行する、
ことを特徴とする請求項５に記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びメモリ制御プログラム並びにメモリ制御方法に関し、特に、メインメモリ内に画像処理用メモリ領域を有する画像処理装置及び画像処理用メモリ領域の使用を制御するメモリ制御プログラム並びにメモリ制御方法に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional Peripherals）では、プリント、コピー、スキャン等のジョブ制御に際して、常に所定のパフォーマンスを満足する必要があるため、ジョブ制御に掛かる画像処理で使用するメモリ領域を、他の制御に転用される事のない、画像処理用メモリ領域としてきた。従って、ジョブ制御を実施していない状態においても、常時、一定サイズのメモリ領域が確保された状態となる。
【０００３】
一方、近年のＭＦＰには、ジョブ制御以外にも、サーバ機能のように一定以上のパフォーマンスが要求される機能が搭載されつつあり、このようなＭＦＰにおいて、従来のような画像処理用メモリ領域を確保する制御では、メモリの利用効率が低下し、メモリ資源を有効利用できない。特に、ＯＳ（Operating System）が画像処理用メモリ領域をスワップ領域として使用することができず、ジョブ制御以外のサーバ機能などを効率的に実施することができない。
【０００４】
このような問題に対して、例えば、下記特許文献１には、プロセスが使用するメモリの使用率を監視し、前記メモリに保存されたデータをスワップデバイスへスワップアウトさせるスワップ処理を制御するＯＳ部と、前記スワップデバイスにアクセス可能なスワップデバイスドライバ部と、前記スワップアウトされたデータの圧縮及び伸張を行うデータ圧縮／伸張部と、前記圧縮されたデータの圧縮率に基づいてスワップアウト対象の優先度を決定する優先度操作部を備え、前記ＯＳ部は、前記優先度操作部によって決定された前記優先度に基づいてデータのスワップアウトを行うデータ圧縮伸張装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２６０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、データを圧縮してメモリ上に空き領域を作成するため、メモリ上に作られる空き領域のサイズを保証するのが難しい。また、特許文献１の方法では、所定サイズの空き領域が作成されるまで、データをスワップアウトさせることができないため、スワップ処理時間を保証することができず、その空き領域を使用して動作させるプロセスの処理開始までの時間を保証することができない。
【０００７】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、従来と同等のジョブ処理パフォーマンスを維持しつつ、パフォーマンスが要求される他の機能を効率的に実施することができる画像処理装置及びメモリ制御プログラム並びにメモリ制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一側面は、プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置であって、前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、前記画像処理装置は、前記画像処理用メモリ領域が前記画像処理デバイスに使用されていない時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成し、前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップし、前記画像処理用メモリ領域が前記画像処理デバイスに使用される時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える制御部を備え、前記制御部は、前記ＯＳのスワップファイル参照先を前記２次記憶装置にバックアップしたスワップファイルに切り替える際に、前記画像処理デバイスが実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替えることを特徴とする。
【０００９】
本発明の一側面は、プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置で動作するメモリ制御プログラムであって、前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、前記画像処理装置の前記プロセッサに、前記画像処理デバイスの動作を監視し、前記画像処理用メモリ領域が前記画像処理デバイスに使用されていないと判断した時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成する第１処理、前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップする第２処理、前記画像処理デバイスの動作を監視し、前記画像処理用メモリ領域が前記画像処理デバイスに使用されると判断した時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える第３処理、を実行させ、前記第３処理では、前記画像処理装置が実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替えることを特徴とする。
【００１０】
本発明の一側面は、プロセッサとメインメモリと２次記憶装置と画像処理デバイスとを少なくとも備える画像処理装置におけるメモリ制御方法であって、前記メインメモリは、前記プロセッサにより実行されるＯＳが使用するＯＳ用メモリ領域と、前記画像処理デバイスが画像処理に際して使用する画像処理用メモリ領域と、を備え、前記画像処理用メモリ領域は、前記画像処理デバイスが実行可能なジョブの種別毎に分割され、前記画像処理装置は、前記画像処理用メモリ領域が前記画像処理デバイスに使用されていない時は、前記画像処理用メモリ領域を、前記ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、前記スワップ領域にスワップファイルを生成する第１処理と、前記スワップ領域に生成したスワップファイルを、前記２次記憶装置にバックアップする第２処理と、前記画像処理用メモリ領域が前記画像処理デバイスに使用される時に、前記ＯＳのスワップファイル参照先を、前記スワップ領域に生成したスワップファイルから、前記２次記憶装置にバックアップしたスワップファイルに切り替える第３処理と、を実行し、前記第３処理では、前記画像処理装置が実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、前記特定した画像処理用メモリ領域内の前記スワップ領域のスワップファイルのみ、前記ＯＳのスワップファイル参照先を、前記２次記憶装置上にバックアップしたスワップファイルに切り替えることを特徴とする。
【発明の効果】
【００１１】
本発明の画像処理装置及びメモリ制御プログラム並びにメモリ制御方法によれば、従来と同等のジョブ処理パフォーマンスを維持しつつ、パフォーマンスが要求される他の機能を効率的に実施することができる。
【００１２】
その理由は、画像処理装置は、メインメモリに設けた画像処理用メモリ領域を、プリント、コピー、スキャン等のジョブ制御にかかる画像処理に使用していない時は、ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、当該スワップ領域に生成したスワップファイルを２次記憶装置にバックアップし、画像処理装置がジョブを受信するなどして画像処理用メモリ領域を使用する際、ＯＳのスワップファイル参照先を、スワップ領域に生成したスワップファイルから、２次記憶装置にバックアップしたスワップファイルに切り替える制御を行うからである。また、画像処理装置は、画像処理用メモリ領域が画像処理に使用されなくなった時は、画像処理用メモリ領域をスワップ領域として使用し、２次記憶装置にバックアップしたスワップファイルをスワップ領域にコピーし、ＯＳのスワップファイル参照先を、２次記憶装置にバックアップしたスワップファイルから、スワップ領域にコピーしたスワップファイルに切り替える制御を行うからである。また、画像処理装置は、受信したジョブの種別に基づき、該ジョブ制御にかかる画像処理に使用される画像処理用メモリ領域を特定し、特定された画像処理用メモリ領域のスワップ領域のスワップファイルについてのみ、ＯＳのスワップファイル参照先を、２次記憶装置上にバックアップしたスワップファイルに切り替える制御を行うからである。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施例に係る画像形成装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施例に係るメインメモリ構成を示す模式図である。
【図３】本発明の第１の実施例に係るドライブ構成を示す模式図である。
【図４】本発明の第１の実施例に係るジョブ制御未実施時のスワップ制御を示す模式図である。
【図５】本発明の第１の実施例に係るメモリ制御（ジョブ制御未実施時のスワップ制御）を示すフローチャート図である。
【図６】本発明の第１の実施例に係るメモリ制御（スワップファイルのバックアップ制御）を示すフローチャート図である。
【図７】本発明の第１の実施例に係るジョブ制御実施時のスワップ制御を示す模式図である。
【図８】本発明の第１の実施例に係るメモリ制御（ジョブ制御実施時のスワップファイル参照先切り替え制御）を示すフローチャート図である。
【図９】本発明の第１の実施例に係るジョブ制御完了後のスワップファイル参照先切り替え制御を示す模式図である。
【図１０】本発明の第１の実施例に係るメモリ制御（ジョブ制御完了後のスワップファイル参照先切り替え制御）を示すフローチャート図である。
【図１１】本発明の第２の実施例に係るジョブ制御未実施時の領域別スワップ制御を示す模式図である。
【図１２】本発明の第２の実施例に係るジョブ種別に基づくスワップファイル参照先切り替え時のスワップ制御を示す模式図である。
【図１３】本発明の第２の実施例に係るメモリ制御（ジョブ種別に基づくスワップファイル参照先切り替え時のスワップ制御）を示すフローチャート図である。
【発明を実施するための形態】
【００１４】
背景技術で示したように、ＭＦＰでは、プリント、コピー、スキャン等のジョブ制御の際に画像処理を行うが、画像処理では、常に所定のパフォーマンスを満足する必要があるため、ＤＭＡ（Direct Memory Access）により、所定サイズのデータ（例えば、２５６ライン分のデータ）が一塊として転送される。このＤＭＡ転送では、画像処理デバイスがＣＰＵを介さずにメモリに直接アクセスするため、メモリ内に、物理的に連続しているメモリ領域（画像処理用メモリ領域）を確保している。しかしながら、近年のＭＦＰは、上記のジョブを処理する機能に加えて、サーバ機能などの一定以上のパフォーマンスを要求される機能が搭載されつつあり、メモリ内に画像処理用メモリ領域を確保する構成では、ＯＳがデータスワップを行うためのメモリ領域を十分に確保することができず、サーバ機能などを効率的に実施することができない。
【００１５】
そこで、本発明の一実施の形態では、ジョブを処理する機能に加えて、Ｗｅｂサーバやファイルサーバ等のサーバ機能のようなパフォーマンスが要求される他の機能を有するＭＦＰなどの画像処理装置において、ＯＳのカーネルが使用しないメモリ領域（ＯＳ管理外領域と呼ぶ。）に確保される画像処理用メモリ領域を、仮想ＲＡＭディスクとして使用し、仮想ＲＡＭディスク上にＯＳのスワップファイルを作成し、ＯＳ管理外領域をＯＳのメモリ拡張として使用する。そして、スワップファイルを常時、２次記憶装置にバックアップし、画像処理用メモリ領域を使用するジョブ（プリント、コピー、スキャン等のジョブ）を受信した場合は、ＯＳのスワップファイル参照先を、仮想ＲＡＭディスク上のスワップファイルから２次記憶装置上のスワップファイルに切り替える。
【００１６】
このような制御を行うことにより、ＯＳ管理外領域に確保した画像処理用メモリ領域を、ＯＳ上で動作する他のプロセスがＯＳのスワップ領域として使用することができるようになり、ＯＳのカーネルが使用するメモリ領域（ＯＳ管理内領域と呼ぶ。）が枯渇した場合においても、パフォーマンスを維持することができる。また、プリント、コピー、スキャン等のジョブ制御に際して画像処理用メモリ領域を使用する際は、ＯＳのスワップファイル参照先を２次記憶上のスワップファイルに切り替えることにより、画像処理用メモリ領域を高速に解放することができるため、従来と同等のパフォーマンスで画像処理を行うことができる。
【実施例１】
【００１７】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の第１の実施例に係る画像処理装置及びメモリ制御プログラム並びにメモリ制御方法について、図１乃至図１０を参照して説明する。図１は、本実施例の画像形成装置の概略構成を示すブロック図であり、図２は、メインメモリ構成を示す模式図、図３は、ドライブ構成を示す模式図である。また、図４、図７、図９は、スワップ制御を示す模式図であり、図５、図６、図８、図１０は、スワップ制御を示すフローチャート図である。
【００１８】
以下、本実施例では、メモリ制御を行う装置として、画像形成装置を例にして説明する。本実施例の画像形成装置１０は、図１に示すように、ＣＰＵ（Central Processing Unit）１１、メインメモリ１２、不揮発メモリ１３、２次記憶装置１４、ネットワークＩ／Ｆ部１５、ＵＩ（User Interface）部１６、画像入力装置１７、画像処理装置１８、画像出力装置１９などで構成される。
【００１９】
マイクロプロセッサなどで構成されるＣＰＵ１１と、ＤＲＡＭ（Dynamic Random Access Memory）などで構成されるメインメモリ１２と、ＮＡＮＤ型やＮＯＲ型のフラッシュメモリなどで構成される不揮発メモリ１３と、で制御部が構成され、ＣＰＵ１１は、不揮発メモリ１３や２次記憶装置１４からプログラムを読み出し、メインメモリ１２に展開して実行することにより、画像形成装置１０全体の制御を行う。
【００２０】
特に、本実施例では、制御部（ＣＰＵ１１により実行されるメモリ制御プログラム）は、画像入力装置１７、画像処理装置１８、画像出力装置１９などの画像処理デバイスの動作を監視し、後述する画像処理用メモリ領域が画像処理デバイスに使用されていないと判断した時は、画像処理用メモリ領域を、ＯＳ上で動作する特定のプロセスが使用するためのＯＳのスワップ領域として使用し、スワップ領域にスワップファイルを生成する第１処理と、スワップ領域に生成したスワップファイルを２次記憶装置１４にバックアップする第２処理と、画像処理デバイスの動作を監視し、画像処理用メモリ領域が画像処理デバイスに使用されると判断した時に、ＯＳのスワップファイル参照先を、スワップ領域に生成したスワップファイルから、２次記憶装置１４にバックアップしたスワップファイルに切り替える第３処理と、第３処理後、画像処理デバイスの動作を監視し、画像処理用メモリ領域が画像処理デバイスに使用されなくなったと判断した時は、画像処理用メモリ領域をスワップ領域として使用し、２次記憶装置１４にバックアップしたスワップファイルをスワップ領域にコピーし、ＯＳのスワップファイル参照先を、２次記憶装置１４にバックアップしたスワップファイルから、スワップ領域にコピーしたスワップファイルに切り替える第４処理と、を実行する。
【００２１】
２次記憶装置１４は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などで構成され、ＯＳ、プリント／コピー／スキャン等のジョブ処理機能を実行するプログラム、Ｗｅｂサーバ／ファイルサーバ等のサーバ機能を実行するプログラムを記憶すると共に、バックアップ（スワップアウト）されたスワップファイルなどを記憶する。
【００２２】
ネットワークＩ／Ｆ部１５は、ＮＩＣ（Network Interface Card）やモデムなどで構成され、画像形成装置１０を通信ネットワークに接続し、図示しないクライアント端末やサーバ装置などの外部装置とのアクセスを可能にする。
【００２３】
ＵＩ部１６は、液晶表示装置等の表示部上に、透明電極が格子状に配置された感圧式の操作部を備えたタッチパネルなどで構成され、画像形成装置１０を操作するための画面などを表示すると共に、各種設定や指示などを可能にする。
【００２４】
画像入力装置１７は、例えば、スキャナなどの画像処理デバイスであり、原稿台に載置された原稿をスキャンし、光学的に読み取った画像データを画像処理装置１８に出力（画像処理が不要な場合はメインメモリ１２に格納）する。
【００２５】
画像処理装置１８は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）などの画像処理デバイスであり、必要に応じて、画像入力装置１７から転送された画像データに対して、エッジ強調処理や、スムージング処理、色変換処理等の画像処理を行う。また、画像処理装置１８は、他の装置から、PostScriptやＰＣＬ（Printer Control Language）に代表されるＰＤＬ（Page Description Language）で記述された印刷ジョブを取得した場合は、印刷ジョブに含まれる各ページをラスタライズしてページ毎の画像データを生成するＲＩＰ（Raster Image Processor）部として機能し、生成した画像データに対して上記画像処理を行う。そして、画像処理後の画像データをメインメモリ１２に格納する。
【００２６】
画像出力装置１９は、例えば、印刷エンジンなどの画像処理デバイスであり、メインメモリ１２に格納された画像データに基づいて、用紙への印刷処理を行う。具体的には、電子写真方式の場合は、帯電装置により帯電された感光体ドラムに、露光装置から画像データに応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに１次転写し、転写ベルトから用紙に２次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。
【００２７】
なお、図１は、本実施例の画像形成装置１０の一例であり、その構成は適宜変更可能である。例えば、図１では、画像形成装置１０に画像入力装置１７や画像出力装置１９を含む構成としたが、画像入力装置１７や画像出力装置１９を画像形成装置１０とは別体の装置とし、画像形成装置１０と有線又は無線で接続される構成としてもよい。画像出力装置１９を別体の装置とした場合、画像形成装置１０は、画像出力装置１９に出力する画像データを生成する（すなわち、画像処理までを行う）画像処理装置となる。
【００２８】
次に、本実施例のメモリ構成について説明する。図２に示すように、本実施例では、メインメモリ１２を、ＣＰＵ１１により実行されるＯＳ（ＯＳのカーネル）、及びＯＳ上で動作する各アプリケーションプロセスが使用する、ＯＳ用メモリ領域（ＯＳ管理内領域）と、画像形成装置１０の画像処理機能（画像入力装置１７、画像処理装置１８、画像出力装置１９などの画像処理デバイス）が画像処理に際して使用する、画像処理用メモリ領域（ＯＳ管理外領域）と、に分割して使用する。
【００２９】
ここで、画像処理用メモリ領域はＯＳ管理外領域であるため、従来、ＯＳ及びＯＳ上で動作する各アプリケーションプロセスは、画像処理用メモリ領域をＯＳが認識するメインメモリ１２の一部として使用することができない。これに対して、本実施例では、画像処理用メモリ領域を仮想ＲＡＭディスクとして使用し、図３に示すように、ＯＳからは、システム上に、仮想ＲＡＭディスク、及び、２次記憶装置１４の２種類のディスクドライブが存在するように認識させる。すなわち、画像処理用メモリ領域を、ＯＳのメモリ拡張領域として使用する。
【００３０】
以下、上記構成のメインメモリ１２の使用制御について、図４、図７、図９の模式図、及び、図５、図６、図８、図１０のフローチャート図を参照して説明する。ＣＰＵ１１は、不揮発メモリ１３や２次記憶装置１４に記憶したメモリ制御プログラムをメインメモリ１２に展開して実行することにより、図５、図６、図８、図１０のフローチャート図に示す各ステップの処理を実行する。なお、ＣＰＵ１１（メモリ制御プログラム）は、画像処理デバイスの動作を監視することにより、画像処理デバイスが画像処理用メモリ領域を使用しているか否かを判断する。
【００３１】
［ジョブ制御未実施時のスワップ制御］
画像形成装置１０が、プリント、コピー、スキャン等のジョブ制御を実施していない時は、画像処理デバイスにより画像処理が実行されないため、メインメモリ１２の画像処理用メモリ領域は使用されない。そこで、本実施例では、図４に示すように、画像処理用メモリ領域を使用した仮想ＲＡＭディスク上に作成したスワップファイルを、ＯＳのスワップファイル参照先に設定し、ＯＳ上で動作する各プロセスが使用するメモリ領域が枯渇した際、各プロセスが使用するメモリ上のデータを、仮想ＲＡＭディスク上のスワップファイルに退避する（図４のデータスワップ参照）。
【００３２】
具体的には、図５に示すように、まず、ＣＰＵ１１（メモリ制御プログラム）は、各プロセスが使用するメモリサイズを取得し（Ｓ１０１）、取得したメモリサイズとメインメモリ１２のＯＳ管理内領域の空き容量とを比較することにより、データ退避が必要であるか否かを判断する（Ｓ１０２）。各プロセスが使用するメモリサイズの領域をメインメモリ１２のＯＳ管理内領域に確保できる場合は、メインメモリ１２上のデータ退避が必要ないため（Ｓ１０２のＮｏ）、Ｓ１０１に戻って、次のプロセスが使用するメモリサイズを取得する。一方、各プロセスが使用するメモリサイズの領域をメインメモリ１２に確保できない場合は、ＣＰＵ１１（メモリ制御プログラム）は、メインメモリ１２上のデータ退避が必要と判断し（Ｓ１０２のＹｅｓ）、メインメモリ１２上のデータをスワップファイル参照先のスワップファイル（画像処理用メモリ領域が使用されていない場合は、画像処理用メモリ領域を使用した仮想ＲＡＭディスク上に作成したスワップファイル）に退避させる（Ｓ１０３）。
【００３３】
このように、ＯＳ管理内領域のメモリが枯渇した場合においても、ＯＳ管理外領域である画像処理用メモリ領域を、ＯＳのスワップ領域として使用することにより、ＯＳ上で動作する各アプリケーションプロセスのパフォーマンスを維持することができる。
【００３４】
［スワップファイルのバックアップ制御］
本実施例では、画像処理用メモリ領域を使用した仮想ＲＡＭディスク上にスワップファイルを作成するが、プリント、コピー、スキャン等のジョブ制御の実施に際して画像処理用メモリ領域を使用すると、仮想ＲＡＭディスク上のスワップファイルに退避させたデータが消去されてしまう。そこで、本実施例では、図４に示すように、スワップファイルを、常時、２次記憶装置１４にバックアップする（図４のバックアップ参照）。
【００３５】
具体的には、図６に示すように、ＣＰＵ１１（メモリ制御プログラム）は、メインメモリ１２上のデータを、画像処理用メモリ領域を使用した仮想ＲＡＭディスク上に作成したスワップファイルに退避させてからの経過時間を監視し、予め定めた一定時間が経過したかを判断する（Ｓ２０１）。一定時間が経過したら（Ｓ２０１のＹｅｓ）、ＣＰＵ１１（メモリ制御プログラム）は、スワップファイル参照先が２次記憶装置１４であるかを判断する（Ｓ２０２）。スワップファイル参照先が２次記憶装置１４の場合は（Ｓ２０２のＹｅｓ）、一連の処理を終了し、スワップファイル参照先が２次記憶装置１４でない（すなわち、メインメモリ１２の画像処理用メモリ領域を使用した仮想ＲＡＭディスク）の場合は（Ｓ２０２のＮｏ）、ＣＰＵ１１（メモリ制御プログラム）は、２次記憶装置１４上のスワップファイルと仮想ＲＡＭディスク上のスワップファイルとを比較して、スワップファイルに変更があるか否かを判断する（Ｓ２０３）。スワップファイルに変更がない場合は（Ｓ２０３のＮｏ）、バックアップは不要であるため、Ｓ２０１に戻って同様の処理を繰り返す。一方、スワップファイルに変更がある場合は（Ｓ２０３のＹｅｓ）、ＣＰＵ１１（メモリ制御プログラム）は、仮想ＲＡＭディスク上のスワップファイル（全部又は変更があった部分）を２次記憶装置１４にバックアップし（Ｓ２０４）、Ｓ２０１に戻って同様の処理を繰り返す。
【００３６】
このように、仮想ＲＡＭディスク上のスワップファイルを、２次記憶装置１４に常時バックアップすることにより、スワップファイルに退避させたデータの消去を未然に防止することができる。
【００３７】
［ジョブ制御時のスワップ制御］
画像形成装置１０が、プリント、コピー、スキャン等のジョブ制御を実施する際、当該ジョブ制御に際して、画像処理デバイスがメインメモリ１２の画像処理用メモリ領域を使用して画像処理を実行する。よって、ジョブ制御時は、仮想ＲＡＭディスクとして使用していた画像処理用メモリ領域を解放し、画像処理デバイスが使用できる状態とする必要がある。そこで、本実施例では、図７に示すように、ジョブ制御時にスワップファイル参照先を仮想ＲＡＭディスク上から２次記憶装置１４上に切り替えるようにする。
【００３８】
具体的には、図８に示すように、ＣＰＵ１１（メモリ制御プログラム）は、プリント、コピー、スキャン等のジョブを受信（外部装置からジョブのデータを受信又はＵＩ部１６からジョブの指示を受信）すると（Ｓ３０１）、そのジョブの処理に、メインメモリ１２の画像処理用メモリ領域を使用するか否か（すなわち、プリント、コピー、スキャン等のジョブであるか否か）を判断する（Ｓ３０２）。ジョブの処理にメインメモリ１２の画像処理用メモリ領域を使用する場合（Ｓ３０２のＹｅｓ）、ＣＰＵ１１（メモリ制御プログラム）は、ＯＳのスワップファイル参照先を、画像処理用メモリ領域を使用した仮想ＲＡＭディスク上のスワップファイルから、２次記憶装置１４上にバックアップしたスワップファイルに変更する（Ｓ３０３）。そして、上記のスワップファイル参照先の切り替え制御の実施後、ＯＳ管理内領域のメモリが枯渇した際、図７に示すように、２次記憶装置１４上のスワップファイルにデータの退避を行う（図７のデータスワップ参照）。
【００３９】
このように、仮想ＲＡＭディスク上のスワップファイルが、ＯＳから参照されない状態とすることにより、プリント、コピー、スキャン等のジョブ制御を従来と同等のパフォーマンスで実施することができる。
【００４０】
［ジョブ制御完了後のスワップ制御］
画像形成装置１０がジョブ制御を完了した後は、画像処理デバイスにより画像処理用メモリ領域が使用されなくなる。そこで、本実施例では、図９に示すように、ＯＳのスワップファイル参照先を、２次記憶装置１４上にバックアップしたスワップファイルから、再度、メインメモリ１２の画像処理用メモリ領域を使用した仮想ＲＡＭディスク上のスワップファイルに切り替える制御を実施する。
【００４１】
具体的には、図１０に示すように、ＣＰＵ１１（メモリ制御プログラム）は、プリント、コピー、スキャン等のジョブ制御が完了したかを判断する（Ｓ４０１）。ジョブ制御が完了したら（Ｓ４０１のＹｅｓ）、ＣＰＵ１１（メモリ制御プログラム）は、２次記憶装置１４上のスワップファイルを、メインメモリ１２の画像処理用メモリ領域を使用した仮想ＲＡＭディスクにコピーし（Ｓ４０２、図９の（１）参照）、コピー完了後、ＯＳのスワップファイル参照先を、２次記憶装置１４上のスワップファイルから仮想ＲＡＭディスク上のスワップファイルに切り替える（Ｓ４０３、図９の（２）参照）。そして、ＯＳのスワップファイル参照先の切り替え制御完了後は、図５に示すスワップ制御と、図６に示すスワップファイルのバックアップ制御を実施する。
【００４２】
このように、ジョブ制御完了後に、ＯＳのスワップファイル参照先を、２次記憶装置１４上にバックアップしたスワップファイルから、再度、メインメモリ１２の画像処理用メモリ領域を使用した仮想ＲＡＭディスク上のスワップファイルに切り替える制御を行うことにより、ＯＳ上で動作する各アプリケーションプロセスのパフォーマンスを維持することができる。
【００４３】
以上説明したように、メインメモリ１２の画像処理用メモリ領域を、ＯＳ上で動作する各アプリケーションプロセスがＯＳのスワップ領域として使用できるようにすることにより、ＯＳのカーネルが使用するメモリ領域（ＯＳ管理内領域）が枯渇した場合においても、各アプリケーションプロセスのパフォーマンスを維持することができる。また、プリント、コピー、スキャン等のジョブ制御の際に画像処理用メモリ領域を使用する時は、ＯＳのスワップファイル参照先を２次記憶装置１４上のスワップファイルに切り替える制御を行うことにより、画像処理用メモリ領域を高速に解放して、従来と同等のパフォーマンスで画像処理を行うことができる。
【実施例２】
【００４４】
次に、本発明の第２の実施例に係る画像処理装置及びメモリ制御プログラム並びにメモリ制御方法について、図１１乃至図１３を参照して説明する。図１１、図１２は、スワップ制御を示す模式図であり、図１３は、スワップ制御を示すフローチャート図である。
【００４５】
前記した第１の実施例では、メインメモリ１２の画像処理用メモリ領域を１つとして説明したが、プリントやコピー、スキャンなどの複数の機能を備える画像形成装置１０では、画像処理用メモリ領域を機能毎に設けることもできる。
【００４６】
その場合、画像形成装置１０の構成は第１の実施例と同様であるが、制御部（ＣＰＵ１１により実行されるメモリ制御プログラム）は、ＯＳのスワップファイル参照先を、スワップ領域に生成したスワップファイルから、２次記憶装置１４にバックアップしたスワップファイルに切り替える第３処理において、画像処理デバイスが実行するジョブの種別を判断し、判断した種別のジョブを処理するために使用される画像処理用メモリ領域を特定し、ＯＳのスワップファイル参照先を、特定した画像処理用メモリ領域内のスワップ領域のスワップファイルのみ、２次記憶装置１４上にバックアップされたスワップファイルに切り替える第４処理を更に実行する。
【００４７】
以下、図１１、図１２の模式図、及び、図１３のフローチャート図を参照して説明する。ＣＰＵ１１は、不揮発メモリ１３や２次記憶装置１４に記憶したメモリ制御プログラムをメインメモリ１２に展開して実行することにより、図１３のフローチャート図に示す各ステップの処理を実行する。
【００４８】
［ジョブ種別に基づくスワップ先切り替え制御］
画像形成装置１０が、プリント、コピー、スキャン等のジョブ制御を実施する際、ジョブの種別により異なる制御が実施され、その際に使用される画像処理用メモリ領域も、ジョブ種別により異なる。そこで、本実施例では、図１１に示すように、予め、画像処理用メモリ領域を、ジョブ種別毎に使用されるメモリ領域（プリント画像処理用領域、コピー画像処理用領域、スキャン画像処理用領域など）に分割する。そして、分割された各々の画像処理用メモリ領域を、異なる仮想ＲＡＭディスクとして使用し、各仮想ＲＡＭディスクにスワップファイルを生成し、各スワップファイルをＯＳのスワップファイル参照先として設定する。また、各々の仮想ＲＡＭディスク上のスワップファイルは、常時、２次記憶装置１４にバックアップを実施する。
【００４９】
そして、図１２に示すように、画像形成装置１０がジョブを受信（外部装置からジョブのデータを受信又はＵＩ部１６からジョブの指示を受信）した際、受信したジョブの種別に基づいて、該ジョブ制御に掛かる画像処理が使用する画像処理用メモリ領域（ここではプリント画像処理用領域）を特定し、特定された領域に保存されたスワップファイル（ここではスワップファイル１）についてのみ、ＯＳのスワップファイル参照先を、画像処理用メモリ領域上のスワップファイルから２次記憶装置１４上にバックアップされたスワップファイルに切り替える制御を実施する。
【００５０】
具体的には、図１３に示すように、ＣＰＵ１１（メモリ制御プログラム）は、プリント、コピー、スキャン等のジョブを受信すると（Ｓ５０１）、そのジョブの処理に、メインメモリ１２の画像処理用メモリ領域を使用するか否か（すなわち、プリント、コピー、スキャン等のジョブであるか否か）を判断する（Ｓ５０２）。ジョブの処理にメインメモリ１２の画像処理用メモリ領域を使用する場合（Ｓ５０２のＹｅｓ）、ＣＰＵ１１（メモリ制御プログラム）は、ジョブの種別を判断し、判断した種別のジョブの処理に使用する画像処理用メモリ領域を特定する（Ｓ５０３）。そして、ＣＰＵ１１（メモリ制御プログラム）は、ＯＳのスワップファイル参照先を、特定した画像処理用メモリ領域を使用した仮想ＲＡＭディスク上のスワップファイルから、２次記憶装置１４上にバックアップした、対応するスワップファイルに変更する（Ｓ５０４）。
【００５１】
その後、画像処理用メモリ領域を使用するジョブの処理が完了したら、第１の実施例と同様に、そのジョブに対応する画像処理用メモリ領域を仮想ＲＡＭディスクとして使用し、各仮想ＲＡＭディスクにスワップファイルを生成し、各スワップファイルをＯＳのスワップファイル参照先として設定する。また、各々の仮想ＲＡＭディスク上のスワップファイルを２次記憶装置１４にバックアップする。
【００５２】
このように、ジョブ制御、及び、ジョブ制御に掛かる画像処理を実施する際、画像処理用メモリ領域のうち、当該ジョブ制御、及び、当該ジョブ制御に掛かる画像処理が使用する画像処理用メモリ領域のみを選択的に解放することにより、ジョブ制御実施時においても、一部の画像処理用メモリ領域を、ＯＳのスワップ領域として継続的に使用できるようになり、ＯＳ上で動作する各アプリケーションプロセスのパフォーマンスの低下を最小限に抑制することができる。また、ジョブ制御完了後のスワップファイル参照先切り替え制御においても、２次記憶装置１４上のスワップファイルを画像処理用メモリ領域にコピーする制御の負荷を軽減することができる。
【００５３】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、画像形成装置１０の構成やメインメモリ１２の制御方法は適宜変更可能である。
【００５４】
例えば、上記実施例では、画像形成装置１０におけるメインメモリ１２の使用制御について説明したが、画像処理デバイスを備える任意の画像処理装置に対して、本発明のメモリ制御方法を同様に適用することができる。
【００５５】
また、上記実施例では、メインメモリ１２に画像処理用メモリ領域を設ける場合について説明したが、データの暗号化／復号化を行うデバイスが使用する暗号化／復号化処理用メモリ領域を設ける場合に対しても、本発明のメモリ制御方法を同様に適用することができる。
【産業上の利用可能性】
【００５６】
本発明は、メインメモリ内に画像処理用メモリ領域を有する画像処理装置及び画像処理用メモリ領域の使用を制御するメモリ制御プログラム並びに当該メモリ制御プログラムを記録した記録媒体並びにメモリ制御方法に利用可能である。
【符号の説明】
【００５７】
１０  画像形成装置
１１  ＣＰＵ
１２  メインメモリ
１３  不揮発メモリ
１４  ２次記憶装置
１５  ネットワークＩ／Ｆ部
１６  ＵＩ部
１７  画像入力装置
１８  画像処理装置
１９  画像出力装置
【図１】
0006524928.tif 000002
【図２】
0006524928.tif 000003
【図３】
0006524928.tif 000004
【図４】
0006524928.tif 000005
【図５】
0006524928.tif 000006
【図６】
0006524928.tif 000007
【図７】
0006524928.tif 000008
【図８】
0006524928.tif 000009
【図９】
0006524928.tif 000010
【図１０】
0006524928.tif 000011
【図１１】
0006524928.tif 000012
【図１２】
0006524928.tif 000013
【図１３】
0006524928.tif 000014