(57)【要約】【課題】画像処理中に発生する記憶領域不足を解消する。【解決手段】画像処理中のデータを記憶するメモリと、メモリの記憶領域不足を検出するメモリ不足検出手段と、メモリ不足検出手段により記憶領域不足が検出された場合に、メモリに記憶されているデータの記憶領域占有サイズに基づいて、メモリに記憶されているデータの中から削除すべきデータを選択する削除データ選択手段と、削除データ選択手段により選択されたデータをメモリから削除して記憶領域を解放するメモリ解放手段と、  メモリに記憶されているデータに対する画像処理が終了するまで、新たなジョブの受付を制限するジョブ制限手段と、メモリに記憶されているデータに対する画像処理が終了した時点でメモリ解放手段によって削除されたデータのジョブの再送を要求する再送要求手段とを備える。【選択図】図１
2007142800.tif 000002
【特許請求の範囲】
【請求項１】
画像処理中のデータを記憶するメモリと、
前記メモリの記憶領域不足を検出するメモリ不足検出手段と、
前記メモリ不足検出手段により記憶領域不足が検出された場合に、前記メモリに記憶されているデータの記憶領域占有サイズに基づいて、前記メモリに記憶されているデータの中から削除すべきデータを選択する削除データ選択手段と、
前記削除データ選択手段により選択されたデータを前記メモリから削除して記憶領域を解放するメモリ解放手段と、
前記メモリに記憶されているデータに対する画像処理が終了するまで、新たなデータの書き込みを制限するデータ制限手段と、
前記メモリに記憶されているデータに対する画像処理が終了した時点で前記メモリ解放手段によって削除されたデータのジョブの再送を要求する再送要求手段と
を備えたことを特徴とする画像形成装置。
【請求項２】
画像処理中のデータを記憶するメモリを備えた画像形成装置の動作を制御する制御プログラムであって、
前記メモリの記憶領域不足を検出するメモリ不足検出処理と、
前記メモリ不足検出処理により記憶領域不足が検出された場合に、前記メモリに記憶されているデータの記憶領域占有サイズに基づいて、前記メモリに記憶されているデータの中から削除すべきデータを選択する削除データ選択処理と、
前記削除データ選択処理により選択されたデータを前記メモリから削除して記憶領域を解放するメモリ解放処理と、
前記メモリに記憶されているデータに対する画像処理が終了するまで、新たなデータの書き込みを制限するデータ制限処理と、
前記メモリに記憶されているデータに対する画像処理が終了した時点で前記メモリ解放処理によって削除されたデータのジョブの再送を要求する再送要求処理と
をコンピュータに行わせることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理中に発生する記憶領域不足を解消する画像形成装置及び制御プログラムに関する。
【背景技術】
【０００２】
従来の印刷装置においては、画像処理中にメモリ不足が発生した場合、メモリを確保しようとしたジョブ自身がメモリ不足エラーとしてジョブキャンセルされるのが一般的である。ジョブがキャンセルされた場合、印刷装置は、ホストコンピュータに対してジョブの再送要求を行う必要がある。この再送処理を簡単に行うために、印刷装置に送信したプリントジョブを記憶した状態で、プリントジョブに所定の識別情報を付加して印刷装置に送信した後、印刷装置で管理されるジョブログを取得し、この取得されたジョブログに基づき記憶されているプリントジョブの削除処理を制御することにより、簡単な構成で、正常に用紙出力が完了して印刷装置にジョブログとして登録されたプリントジョブと、再送信される可能性のあるプリントジョブとを選別し、不要なプリントジョブを確実に削除するジョブ管理を行えるジョブ管理環境を容易に構築できる印刷装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００３−３２３２７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、画像処理中にメモリ不足（記憶領域不足）が発生した場合、メモリを確保しようとしたジョブ自身がメモリ不足エラーとしてジョブキャンセルされてしまうと、画像形成装置全体の効率が低下してしまうという問題がある。特に、プリントジョブを中間言語に変換する部分と中間言語からビットマップへの変換部分が並列に処理される画像形成装置おいては、メモリ不足が発生した場合に、このメモリを確保しようとしたジョブをキャンセルした後再送させて再度実行した場合、再びメモリ不足エラーが発生してしまう可能性があり、何度もリトライをしなければならず、画像形成装置全体の処理効率が悪化してしまうという問題がある。
【０００４】
本発明は、このような事情に鑑みてなされたもので、画像処理中に発生する記憶領域不足を適切に解消することができる画像形成装置及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、画像処理中のデータを記憶するメモリと、前記メモリの記憶領域不足を検出するメモリ不足検出手段と、前記メモリ不足検出手段により記憶領域不足が検出された場合に、前記メモリに記憶されているデータの記憶領域占有サイズに基づいて、前記メモリに記憶されているデータの中から削除すべきデータを選択する削除データ選択手段と、前記削除データ選択手段により選択されたデータを前記メモリから削除して記憶領域を解放するメモリ解放手段と、前記メモリに記憶されているデータに対する画像処理が終了するまで、新たなデータの書き込みを制限するデータ制限手段と、前記メモリに記憶されているデータに対する画像処理が終了した時点で前記メモリ解放手段によって削除されたデータのジョブの再送を要求する再送要求手段とを備えたことを特徴とする。
【０００６】
本発明は、画像処理中のデータを記憶するメモリを備えた画像形成装置の動作を制御する制御プログラムであって、前記メモリの記憶領域不足を検出するメモリ不足検出処理と、前記メモリ不足検出処理により記憶領域不足が検出された場合に、前記メモリに記憶されているデータの記憶領域占有サイズに基づいて、前記メモリに記憶されているデータの中から削除すべきデータを選択する削除データ選択処理と、前記削除データ選択処理により選択されたデータを前記メモリから削除して記憶領域を解放するメモリ解放処理と、前記メモリに記憶されているデータに対する画像処理が終了するまで、新たなデータの書き込みを制限するデータ制限処理と、前記メモリに記憶されているデータに対する画像処理が終了した時点で前記メモリ解放処理によって削除されたデータのジョブの再送を要求する再送要求処理とをコンピュータに行わせることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、印刷処理中にメモリ不足が発生した場合、キャンセルするべき印刷ジョブを選択してキャンセルし、メモリ中から処理中の印刷ジョブがなくなった時点で再送するようにしたため、画像形成装置全体の処理効率を最適にすることができるという効果が得られる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施形態による画像形成装置を図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号１は、ホストコンピュータであるパソコンから送信される印刷データを受信する印刷データ受信部である。符号２は、受信した印刷データの内容を解析して解析結果を出力する印刷データ解析部である。符号３は、印刷データ中の描画データを処理する描画データ処理部である。符号３１は、拡大縮小の設定行列や現在有効なスクリーン等の描画に関係する設定情報を管理する描画環境管理部である。符号３２は、描画対象の図形を簡単な描画プリミティブに加工する描画処理部である。符号３３は、描画処理部３２において処理された情報を基にディスプレイリストを作成するディスプレイリスト作成部である。符号３４は、ディスプレイリスト作成部３３において作成されたディスプレイリストを集めてレンダ要求を作成するレンダ要求作成部である。
【０００９】
符号４は、画像形成装置内のメモリを管理するメモリ管理部である。符号５は、画像形成装置の共通情報を管理し、画像形成装置の処理動作の制御を行なうシステム制御部である。符号６は、レンダ要求作成部３４から要求されたレンダ要求を待ち行列として保持するレンダ待ちキューである。符号７は、レンダ待ちキュー６からレンダ要求を取り出し、ディスプレイリスト作成部３３において作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うページレンダラである。符号８は、ＶＲＡＭに書き込まれたビットマップデータに基づいて、印刷するべき画像を録媒体に転写を行なう出力部である。符号９は、印刷ジョブの管理を行い、メモリ不足の際には削除すべき印刷ジョブを決定して削除を行うジョブ管理部である。
【００１０】
次に、図２を参照して、図１に示す装置において、画像の描画処理を説明する。まず、印刷データ受信部１は、ホストコンピュータから送信される印刷データを受信し、受信した印刷データを印刷データ解析部２へ出力する。これを受けて印刷データ解析部２は、この印刷データの内容を解析する（ステップＳ１）。これと並行してジョブ管理部９は、現在処理中のページがどの印刷ジョブのページなのかを関連付けて記憶することによりディスプレイリスト作成中の印刷ジョブ情報を更新する（ステップＳ２）。
【００１１】
次に、描画データ処理部３は、印刷データ解析部２における解析結果に基づいてページ内のディスプレイリストを作成する（ステップＳ３）。これと並行して、メモリ管理部４は、処理中の印刷ジョブで使用しているメモリ量とレンダリング処理で使用されると予想されるメモリ量を求め、この処理中の印刷ジョブで使用しているメモリ量とレンダリング処理で使用されると予想されるメモリ量の情報をジョブ管理部９へ出力する。ジョブ管理部９は、このメモリ量の情報を内部に保持する（ステップＳ４）。
【００１２】
次に、印刷データ解析部２は、ページ排出命令を検知したか否かにより１ページ分の処理が終わったか否かを判定し（ステップＳ５）、ページ排出命令を検知しなければ、ステップＳ３に戻り処理を繰り返す。一方、ページ排出命令を検知した場合、ジョブ管理部９は、レンダ待ちキュー６の中の印刷ジョブの情報を更新する（ステップＳ６）。そして、レンダ要求作成部３４は、レンダ待ちキュー６にディスプレイリスト（中間データ）に変換されたページ情報を出力する（ステップＳ７）。このような動作によって、受信した印刷データに基づいて変換されたディスプレイリストがレンダ待ちキュー６に蓄積されることになる。
【００１３】
次に、図３を参照して、メモリ不足（確保しようとした記憶領域が確保できない状態）が発生した場合に、ジョブをキャンセルして記憶領域を確保する動作を説明する。まず、メモリ管理部４は、描画データ処理部３から要求されたメモリが確保できない場合にメモリ不足信号を発生させる（ステップＳ１１）。これを受けて、システム制御部５及び描画データ処理部３は、メモリ不足解消処理を行う（ステップＳ１２）。ここでいうメモリ不足解消処理とは、メモリのガーベージコレクションやフォントやパターン等のキャッシュの解放等のことである。そして、メモリ管理部４は、メモリ不足解消処理の結果メモリ不足が解消されたか否かを判定する（ステップＳ１３）。この判定の結果、メモリ不足が解消されていれば、メモリ管理部４は、メモリ不足信号を解除し、印刷処理を継続する（ステップＳ１６）。
【００１４】
一方、メモリ不足が解消しない場合、メモリ管理部４は、ジョブ管理部９に対して不足しているメモリ量の情報を出力する。これを受けて、ジョブ管理部９は、不足しているメモリ量の情報と、各ジョブが確保しているメモリ量とに基づいて、キャンセルする印刷ジョブを選択して決定する（ステップＳ１４）。このとき、ジョブ管理部９は、各ジョブが確保（占有）しているメモリ量が多い順に選択し、選択したジョブが確保しているメモリ量の合計が不足しているメモリ量を超えるように、キャンセル対象のジョブを選択する。そして、ジョブ管理部９は、選択したジョブを識別する情報を描画データ処理部３及びレンダ待ちキュー６に対して通知し、ジョブのキャンセルを指示する。これを受けて、描画データ処理部３及びレンダ待ちキュー６は、指示されたジョブをキャンセル（削除）する。これに伴いメモリ管理部４は、キャンセル対象のジョブが確保していたメモリの記憶領域を解放する。これにより確保されていたメモリの記憶領域が解放されるため、不足していたメモリ量分に相当する記憶領域が確保可能となる。
【００１５】
次に、ジョブ管理部９は、システム制御部５に対して、キャンセルしたジョブの再送を要求するとともに、現時点で処理中のジョブ（現時点でメモリに記憶されているジョブ）の処理が終了するまで、新たな印刷データの受付を制限するように指示を出す。これを受けて、システム制御部５は、印刷データ受信部１に対して、新たな印刷データの受信を一時的に拒否する指示を出す。そして、現時点で処理中のジョブ（現時点でメモリに記憶されているジョブ）の処理が終了した時点でシステム制御部５は、キャンセルしたジョブの再送要求をホストコンピュータに対して送信する。また、システム制御部５は、キャンセルされたジョブが再送された時点で印刷データ受信部１に対して、新たな印刷データの受信拒否を解除する指示を出力する（ステップＳ１５）。
【００１６】
キャンセルされたジョブは、メモリ占有サイズが大きいため、メモリ上に他のジョブが存在しない状態で画像処理を実行しないと、メモリ不足が発生した場合に再びキャンセル対象のジョブとなってしまう可能性がある。しかしこの動作により、キャンセルしたジョブが再送された場合において、メモリ上には他のジョブが存在しないため、このジョブがメモリ不足のため再度キャンセルされてしまうことを防止することができる。続いて、メモリ管理部４は、キャンセルされたジョブの再送が開始された時点でメモリ不足信号を解除し、印刷処理を継続する（ステップＳ１６）。
【００１７】
ここで、図４を参照して、印刷するべき複数のページ（または、複数のジョブ）を並列処理する動作を簡単に説明する。図４は、印刷ジョブの並列処理の状態を示す図である。この図において、ＡＰＬ１〜ＡＰＬ５は、ページ記述言語で記述された１ページ目から５ページ目の印刷データを解釈して中間言語によるディスプレイリストを出力する処理（ディスプレイ作成処理）を示している。Ｒｅｎｄｅｒｉｎｇ１〜Ｒｅｎｄｅｒｉｎｇ４は出力されるディスプレイリストを解釈してビットマップデータを出力する処理（レンダリング処理）を示している。Ｖｉｄｅｏ１は出力されたビットマップデータを印刷エンジンに転送する処理（転送処理）を示している。これらの処理を並列に動作させることによりトータルスループットを向上させることができる。なお、ＡＰＬ１〜５（ディスプレイ作成処理）は描画データ処理部３において実行され、Ｒｅｎｄｅｒｉｎｇ１〜４（レンダリング処理）はページレンダラ７において実行され、Ｖｉｄｅｏ１（転送処理）は、出力部８において実行される。
【００１８】
図４では、５ページ目のディスプレイリスト出力処理（ＡＰＬ５）が終わった状態を示しているが、例えば、５ページ目の処理の途中でメモリ不足が発生した場合には、ページレンダラ７では２ページ目の処理（Ｒｅｎｄｅｒｉｎｇ２）を行っており、出力部８では１ページ目の処理（Ｖｉｄｅｏ１）を行っている。３ページ目と４ページ目はディスプレイリストの状態でＲｅｎｄｅｒｉｎｇを待つキュー（レンダ待ちキュー６）の中にある。メモリ不足を解消する方法にはいくつか手段があるが、これらの手段を全て用いてもメモリ不足を解消出来ない場合は、いずれかのページを削除（キャンセル）することになる。従来技術では途中のページだけが抜けてしまうと、それに気付かず使用するユーザに不利益が発生するため、一つの印刷ジョブの中でメモリ不足が起こりページをキャンセルする場合は、そのページの後続のページ全て（すなわち印刷ジョブ）がキャンセルされていた。
【００１９】
しかしながら、既に出力処理が実行されているジョブをキャンセルすると、画像形成装置全体の効率が悪いため、出力処理を実行中のジョブをキャンセルするよりレンダ処理待ちのジョブをキャンセルして再送を行った方が装置全体の効率が良い場合もある。画像処理中にメモリ不足が発生していずれかのページ（またはジョブ）をキャンセルせざるを得なくなった場合に、一番メモリを占有しているジョブをキャンセルし、このキャンセルしたジョブを再送させて、この再送されたジョブを優先的に処理することにより装置全体の効率を向上させることが可能になる。
【００２０】
なお、図１における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりメモリ不足解消処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す装置の動作を示すフローチャートである。
【図３】図１に示す装置の動作を示すフローチャートである。
【図４】印刷ジョブの並列処理の状態を示す説明図である。
【符号の説明】
【００２３】
１・・・印刷データ受信部、２・・・印刷データ解析部、３・・・描画データ処理部、３１・・・描画環境管理部、３２・・・描画処理部、３３・・・ディスプレイリスト作成部、３４・・・レンダ要求作成部、４・・・メモリ管理部、５・・・システム制御部、６・・・レンダ待ちキュー、７・・・ページレンダラ、８・・・出力部、９・・・ジョブ管理部
【図１】
2007142800.tif 000003
【図２】
2007142800.tif 000004
【図３】
2007142800.tif 000005
【図４】
2007142800.tif 000006