JP2004086751A - メモリ管理装置及びメモリ管理方法 - Google Patents
メモリ管理装置及びメモリ管理方法 Download PDFInfo
- Publication number
- JP2004086751A JP2004086751A JP2002249394A JP2002249394A JP2004086751A JP 2004086751 A JP2004086751 A JP 2004086751A JP 2002249394 A JP2002249394 A JP 2002249394A JP 2002249394 A JP2002249394 A JP 2002249394A JP 2004086751 A JP2004086751 A JP 2004086751A
- Authority
- JP
- Japan
- Prior art keywords
- area
- image
- memory
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】固定領域によるメモリ管理を行った場合のメモリ不足を解消し、メモリを効率よく利用可能なメモリ管理装置及びメモリ管理方法を提供する。
【解決手段】イメージ生成処理部2は、印刷指示受信部1で受け取った印刷指示に従ってイメージを生成し、メモリ3のイメージ生成処理用領域に格納する。所定単位のイメージは、蓄積部6に一旦蓄積した後、再びメモリ3の印刷処理用領域に読み出し、印刷処理部4で印刷処理を施して画像形成部5でイメージを用紙等に形成する。イメージ生成処理時には印刷指示によってデータ量が異なる。イメージ生成処理用の固定領域で済む間はこの領域内にイメージを格納する。不足した場合には、メモリ制御部7に要求し、印刷処理用領域からイメージ生成処理用の領域と連続した領域を確保し、一体のイメージ生成処理用の領域として使用可能とする。
【選択図】 図1
【解決手段】イメージ生成処理部2は、印刷指示受信部1で受け取った印刷指示に従ってイメージを生成し、メモリ3のイメージ生成処理用領域に格納する。所定単位のイメージは、蓄積部6に一旦蓄積した後、再びメモリ3の印刷処理用領域に読み出し、印刷処理部4で印刷処理を施して画像形成部5でイメージを用紙等に形成する。イメージ生成処理時には印刷指示によってデータ量が異なる。イメージ生成処理用の固定領域で済む間はこの領域内にイメージを格納する。不足した場合には、メモリ制御部7に要求し、印刷処理用領域からイメージ生成処理用の領域と連続した領域を確保し、一体のイメージ生成処理用の領域として使用可能とする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、複数の処理によってメモリ領域を使用する際に、メモリ領域を管理する技術に関するものであり、特に、画像形成装置などにおけるイメージ生成処理及び印刷処理を並行動作させる際に用いて好適なメモリ管理技術に関するものである。
【0002】
【従来の技術】
図5は、蓄積手段を有する画像形成装置の一例を示すブロック図である。図中、1は印刷指示受信部、2はイメージ生成処理部、3はメモリ、4は印刷処理部、5は画像形成部、6は蓄積部である。印刷指示受信部1は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部2に渡す。イメージ生成処理部2では、印刷指示受信部1で受け取った印刷指示に従って、画像形成部5で形成するためのイメージを生成する。イメージの生成は、印刷指示を一つずつ解釈し、描画を行ってゆく。このとき、単に上書きするだけでなく、いくつかの描画したイメージ間で論理演算を行うなど、描画したイメージや印刷指示とともに送られてきたイメージをいくつも保存しておいて、それらを利用しながら、イメージの生成を行ってゆく場合もある。
【0003】
通常、イメージの生成は1ページを帯状領域に区切ったバンドと呼ばれる単位で行われ、バンド単位のイメージが一旦メモリ3に格納される。そして、1ページ分のイメージがメモリ3に格納できたら、その1ページ分のイメージを蓄積部6に格納し、蓄積しておく。
【0004】
印刷処理部4は、蓄積部6から1ページ分のイメージを一旦メモリ3に格納した後、画像形成部5の印刷方式などに従ってイメージをメモリ3から読み出し、画像形成部5へ転送する。画像形成部5は、印刷処理部4から送られてくるイメージを、例えば用紙上などに印刷する。
【0005】
このように、蓄積部6に一旦イメージを格納し、蓄積しておくことによって、イメージ生成処理部2の処理と印刷処理部4以降の処理とを独立させ、両者を並行して動作させて高速化を図り、またスループットを向上させることが可能となる。また、そのような並行動作を実現するためにもメモリ3をイメージ生成処理部2の処理と印刷処理部4の処理の両方で利用できるように管理することが必要となる。
【0006】
このとき、メモリ3はイメージ生成処理部2において生成されたイメージと、印刷処理部4が読み出すためのイメージが格納される。図6は、従来のメモリ3の利用形態の一例の説明図である。図中、11はイメージ生成処理用領域、12は印刷処理用領域である。従来の画像形成装置では、メモリ3の記憶領域をそれぞれの処理において利用するための領域、すなわちイメージ生成処理用領域11と印刷処理用領域12とに分け、それぞれ固定された領域を使用して処理を行っていた。
【0007】
印刷処理部4において読み出すイメージのデータ量は、画像形成部5で形成するイメージサイズや、何ページ分のイメージを保持する必要があるか等に応じて決定されるので、ある程度、上限を予測することができる。また、例えば上限に合わせて領域を確保しておけば、メモリ領域が不足することはない。しかし、イメージ生成処理部2で生成したイメージについては、上述のように印刷指示によっては多量のイメージを保存しておかなければならない場合が発生する。例えば、印刷指示が同じ領域に何回も描画するような指示を含んでいた場合、その印刷指示を処理するためにそれぞれの印刷指示に応じたイメージを生成し、保存するためのメモリ領域が必要となる。具体例としては、グラデーションなどを描画する際には、描画領域を多少ずらした多数のイメージを生成し、その後に論理演算を行うことになる。このとき、多数のイメージを保存しておくためのメモリ領域が必要となる。このように、イメージ生成処理では、印刷指示としてどのような指示が送られてくるかによって、必要となるメモリ領域の大きさは異なり、その上限を予め知ることができない。従って、メモリ領域をいくら広く確保しても不足する場合が発生する可能性がある。もちろん、メモリ領域を広く確保しておけば、不足する可能性は低減するが、通常のイメージ生成処理では大部分の領域が使用されないことになり、メモリを有効に利用することができない。
【0008】
一方、メモリの管理方法として、必要になった時に必要なだけメモリ領域を確保して用いる方法も従来から用いられている。このような方式では、メモリの全体の領域が無くなるまで、それぞれの処理にメモリ領域を割り当てることができ、固定領域を割り当てる方法に比べてメモリ不足を少なくし、またメモリ領域を有効に利用することができる。しかしこのような方法では、一般に、割り当てられるメモリ中の領域は不定であり、複数回の領域の割り当てを要求するとメモリ中の離れた領域が確保されるなど、領域が分断されることがある。そのため、メモリを利用するそれぞれの処理あるいはシステムにおいて、このような領域の分断に対応できるようにしておくなど、メモリを管理し、利用するための処理が煩雑になるという問題がある。
【0009】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、固定領域によるメモリ管理を行った場合のメモリ不足を解消するとともに、メモリを効率よく利用可能なメモリ管理装置及びメモリ管理方法を提供することを目的とするものである。
【0010】
【課題を解決するための手段】
本発明では、通常の状態ではメモリ領域のうち第1の処理が第1のメモリ領域を利用し、また第2の処理は第1のメモリ領域に隣接する第2のメモリ領域を利用する。このように通常の状態では、それぞれが固定された領域を利用することになる。そして、第1の処理が第1のメモリ領域では不足する時には、第2のメモリ領域の第1のメモリ領域と連続した領域を確保し、第1のメモリ領域とともに連続領域として、第1の処理が使用可能とする。このようにして第1の処理で第1のメモリ領域では不足する場合には第2のメモリ領域を共用とすることでメモリ不足を回避する。これによって、第1のメモリ領域として適度なメモリ領域を確保しておけばよく、メモリの利用効率を向上させることができる。さらに、第1のメモリ領域と連続した領域を確保することによって、固定領域を利用している処理をそのまま適用して処理を続行することが可能である。従って、複雑な処理を搭載することなく、従来と同様の処理で対応することができる。
【0011】
なお、第2の処理については、第2のメモリ領域の範囲内で領域を取得して利用し、必要な領域が第2のメモリ領域から取得できない場合には、第1のメモリ領域を使用することなく、第2のメモリ領域に必要な空き領域ができるまで待つように制御することができる。
【0012】
また第1の処理としては、与えられた印刷指示に従ってメモリ領域を用いてイメージを生成し、蓄積装置に蓄積するイメージ生成処理とすることができる。また第2の処理としては、蓄積装置から1ページ分のイメージを読み出してメモリ領域に格納した後に、イメージを画像形成手段に渡す印刷処理とすることができる。
【0013】
【発明の実施の形態】
図1は、本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。図中、図5と同様の部分には同じ符号を付してある。7はメモリ制御部である。印刷指示受信部1は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部2に渡す。印刷指示としては、例えばPDL(Page Description Language)で記述されたデータを受け取るように構成することができる。
【0014】
イメージ生成処理部2では、印刷指示受信部1で受け取った印刷指示に従って、画像形成部5で形成するためのイメージを生成する。例えばPDLで記述された印刷指示を一つずつ解釈し、描画処理を行ってゆく。それぞれの印刷指示に対応して描画されたイメージは、必要に応じてメモリ3に格納しておき、後続の印刷指示において利用することができる。また、描画が終了したイメージも同様にメモリ3に格納する。このイメージ生成処理部2の処理によりメモリ3に格納するイメージは、印刷指示によっては多量になる場合もあり、そのデータ量は不定である。例えば1ページ分など、所定単位のイメージの描画が終了したら、そのイメージを蓄積部6に蓄積するように、メモリ制御部7に指示する。
【0015】
なお、イメージ生成処理部2におけるイメージ生成の単位としては、例えば上述のようなバンド単位などで行うこともできる。その場合、例えば印刷指示受信部1で受け取ったPDLで記述された印刷指示をもとにバンド単位の中間コードを生成し、その中間コードをもとに描画処理し、バンド単位のイメージを生成することができる。また、蓄積部6に蓄積する単位も、バンド単位あるいは1ページ単位など、種々の単位で行うことができる。さらに、描画が終了したイメージは、圧縮して蓄積部6に蓄積しておくことができる。
【0016】
メモリ3には、メモリ制御部7によって管理されており、イメージ生成処理部2で生成し、圧縮されたイメージが格納され、蓄積部6へ転送される。また、蓄積部6に蓄積されていた圧縮されたイメージが読み出されてこのメモリ3に格納され、印刷処理部4によって読み出される。なお、このメモリ3の利用の詳細については後述する。
【0017】
印刷処理部4は、メモリ制御部7に対して、蓄積部6に蓄積されている1ないし数ページ分のイメージの読み出しを要求し、この要求によってメモリ3に格納される1ないし数ページ分のイメージを、画像形成部5の印刷方式などに従って読み出し、画像処理を適宜施した後、画像形成部5へ転送する。メモリ3に格納されるイメージは、形成するイメージのサイズや、画像形成部5の印刷方式により必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによってデータ量の最大値はある程度決まっている。従って1ページ分のイメージを格納するためのメモリ領域としては、決まったメモリ量以下でよい。
【0018】
画像形成部5は、印刷処理部4から送られてくるイメージを、例えば用紙上などに印刷する。画像形成方式は任意である。
【0019】
蓄積部6は、圧縮されたイメージを一時蓄積する。例えばハードディスクなどの蓄積装置を利用することができ、複数ページにわたるイメージを蓄積可能に構成することができる。なお、この例ではメモリ3との間のデータ転送はメモリ制御部7によって制御される。
【0020】
メモリ制御部7は、メモリ3の記憶管理を行い、イメージ生成処理部2において利用するメモリ領域、及び、印刷処理部4において利用するメモリ領域の管理を行う。また、イメージ生成処理部2からの要求に従い、メモリ3に格納されたイメージを蓄積部6へ転送して蓄積させる。また、印刷処理部4からの要求に従い、蓄積部6に蓄積されているイメージをメモリ3に転送して格納させる。なお、蓄積部6へイメージを蓄積する際には圧縮を施し、また蓄積部6に蓄積されている圧縮されたイメージを取り出す際には復号を行うように構成することができる。
【0021】
図2は、メモリ領域の利用形態の一例の説明図である。図中、図6と同様の部分には同じ符号を付してある。11’は領域変更後のイメージ生成処理用領域、12’は領域変更後の印刷処理用領域である。上述のように、メモリ3にはイメージ生成処理部2で生成され、圧縮されたイメージが格納されるとともに、印刷処理部4で読み出す復号された1ページ分のイメージが格納される。メモリ制御部7では、初期状態においては図2(A)に示すように、イメージ生成処理用領域11及び印刷処理用領域12を隣接して確保しておく。印刷処理用領域12には、画像形成部5において必要とするイメージ、例えば1ないし数ページ分のイメージが格納されるが、このデータ量は上述のようにイメージサイズ、必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによって、データ量はほぼ予測可能である。
【0022】
またイメージ生成処理用領域11には、イメージ生成処理部2でそれぞれの印刷指示に応じて生成されたイメージ及び生成が完了したイメージ等が格納される。イメージの格納及び蓄積部6への転送処理は、固定領域の方が処理が容易である。そのため、初期状態として、図2(A)に示すように予め所定の領域を確保している。上述のようにイメージ生成処理によってメモリ3に格納するイメージの数は不定であり、全体のデータ量は予測できない。しかし、際限なくメモリ領域を広げても、利用効率が低下してしまう。そのため、所定の領域として、通常とみなせる印刷指示に基づいてイメージ生成処理を行う際に、そのイメージ生成処理が可能なだけの領域を確保しておけばよい。このイメージ生成処理領域11内で処理できる限りは、このイメージ生成処理領域11のみを使ってイメージ生成処理を行う。
【0023】
しかし、上述のようにメモリ3に格納されるイメージの数が不定であることから必要とされるデータ量は不定である。そのため、予め確保しておいたイメージ生成処理用領域11では格納しきれない場合が発生する。このような場合に、イメージ生成処理部2からメモリ制御部7に対してメモリ確保の要求が行われる。メモリ制御部7は、印刷処理用領域12のイメージ生成処理用領域11と連続した領域を確保し、イメージ生成処理用領域11とともに連続領域として使用できるようにする。これによって、図2(B)に示したようにイメージ生成処理用領域11は領域変更後のイメージ生成処理用領域11’として利用できるようになる。なお、その分だけ印刷処理用領域12は減少し、領域変更後の印刷処理用領域12’となる。
【0024】
このようにしてイメージ生成処理用領域11を広げることによって、さらにイメージ生成処理中のイメージを格納することができるようになる。このとき、連続領域を確保しているので、使用可能領域の境界を変更するだけで、固定領域を利用した場合と同様の処理によって対応することが可能である。また、領域変更後の印刷処理用領域12’は狭くなるが、この領域で印刷処理が可能であれば、イメージ生成処理部2と印刷処理部4は並行して動作することができる。印刷処理部4による印刷処理を実行するだけの領域が確保できない場合には、印刷処理部4はイメージ生成処理部2が領域を確保するまで待つことになる。
【0025】
さらにイメージ生成処理部2において領域の不足が生じた場合には、同様にしてメモリ制御部7に対してメモリ確保の要求を行い、さらに連続した領域を確保し、圧縮されたイメージの格納を行ってゆく。もともとの印刷処理用領域12をすべてイメージ生成処理用の領域として利用しても不足する場合には、一部のイメージを蓄積部6へ待避させたり、あるいは中間的なイメージ生成を行ってそれぞれの印刷指示毎に生成したイメージを減らす等、別途、エラー時の処理を行うことになる。
【0026】
なお、上述のように印刷処理用領域12は予測される最大データ量に合わせて確保しておけば、イメージ生成処理において利用されていない限り、印刷処理部4において処理を行っている時に印刷処理用領域12が不足することはない。従って、イメージ生成処理用領域11は、印刷処理によって利用されることはなく、イメージ生成処理専用として利用される。
【0027】
次に、本発明の実施の一形態を搭載した画像形成装置の一例における動作について、特にイメージ生成処理部2及び印刷処理部4におけるメモリ3を利用する処理部分とメモリ制御部7の動作について一例を説明する。図3は、本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。印刷指示受信部1が印刷指示を受信すると、S21において、イメージ生成処理部2は印刷指示受信部1からPDL等で記述された印刷指示を受け取る。このとき、例えば中間コードなどに展開する処理を行っておいてもよい。
【0028】
イメージ生成処理部2では、受け取った印刷指示に基づいて、S22においてイメージ生成処理を行う。具体的には、新たな印刷指示に従って描画処理を行い、イメージを生成し、生成したイメージをメモリ3に格納する。このとき、必要に応じてメモリ3に格納されているイメージを読み出して論理演算処理などを行い、結果をメモリ3に格納する。
【0029】
S23において、メモリ3(イメージ生成処理用領域11あるいは領域変更後のイメージ生成処理用領域11’)にイメージを格納するだけの空き領域が存在するか否かを判定する。空き領域があれば、S24においてメモリ3へ圧縮したイメージを格納する。そしてS25において、例えば1ページ分や1バンド分など、所定単位のイメージを生成し終えたか否かを判定し、まだ所定単位のイメージを生成し終えていなければS22へ戻って次の印刷指示に従ってイメージの生成を行う。
【0030】
S23で空き領域が不足していると判定された場合には、S26において、イメージ生成処理部2は領域の確保をメモリ制御部7に対して要求する。メモリ制御部7は、イメージ生成処理部2からの要求を受け、S31において、印刷処理用領域12からの領域確保のための準備を行う。例えば印刷処理部4において印刷処理用領域12を広く使用している場合には、領域を確保できない場合もある。S32において、準備完了か否かを判断し、領域を確保できるまで待つ。準備完了となったら、S33において、印刷処理用領域12からイメージ生成処理用領域11(あるいは領域変更後のイメージ生成処理用領域11’)と連続する領域を確保し、イメージ生成処理部2に対して利用可能となった旨や、新たな領域の境界アドレスなどを通知する。この通知を受けたイメージ生成処理部2では、書き込み可能なメモリ3の領域の境界についての情報を更新した後、イメージ生成処理を続行する。すなわち、S24へ進み、既に生成したイメージについてメモリ3への格納を行う。
【0031】
このように、それぞれの印刷指示についてイメージの生成及びメモリ3への格納を繰り返し、またメモリ3の領域が不足する場合にはメモリ制御部7に対して領域確保の要求を行って領域を確保してイメージの格納を行ってゆく。所定単位のイメージを生成し終えたら、S25においてこれを検出してS27へ進む。
【0032】
S27において、イメージ生成処理部2はメモリ制御部7に対して、メモリ3に格納したイメージを蓄積部6へ転送するように要求する。これに応じてメモリ制御部7は、S34において、メモリ3に格納されているイメージを蓄積部6へ転送して蓄積させる。なお、蓄積部6への蓄積の際には、圧縮して蓄積することができる。
【0033】
このようなイメージの蓄積部6への蓄積がある程度進むと、印刷処理部4による印刷処理が可能となる。簡単な例では、1ページ単位でイメージ生成及び印刷処理を行う場合には、1ページ分のイメージが蓄積部6に蓄積された時点で、印刷処理部4による印刷処理が可能となる。所定単位のイメージを蓄積部6へ蓄積した時点で印刷処理が可能であるか否かを判断し、可能であればイメージ生成処理部2あるいはメモリ制御部7が印刷処理部4に対して、印刷処理が可能である旨を通知するように構成することができる。
【0034】
所定単位のイメージの蓄積部6への転送が終了したら、S28において、それまで所定単位のイメージを生成するために必要としており、今後のイメージ生成に使用しないメモリ3の領域を、後続のイメージの格納に使用できるように、メモリ制御部7へ解放を要求する。イメージ生成処理部2から領域の解放要求を受けたメモリ制御部7は、S35において、S34で蓄積部6へ転送したイメージが格納されていた領域、及びそのイメージを生成するために利用し、今後利用しないイメージが格納されていた領域を解放して新たなイメージの格納に利用可能にする。
【0035】
この時点では、印刷処理用領域12からイメージ生成処理用に確保している場合、その領域についても再びイメージが格納可能な状態となっている。S36において、印刷処理用領域12中のイメージ生成処理用として確保した領域を、印刷処理用に戻せるか否かを判定する。元々印刷処理用領域12中にイメージ生成処理用の領域を確保していない場合や、この時点では印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せないと判断される場合には、そのままのメモリ3の使用状態を維持する。印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せる場合には、S37において、印刷処理用領域12中の当該領域を印刷処理用に戻す。これによって、後述する印刷処理において利用可能な領域が増加する。
【0036】
なお、印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せない場合としては、例えば他のページのイメージを参照しながらイメージ生成処理を行う場合であって、参照するページのイメージが印刷処理用領域12中に確保した領域に存在する場合等が考えられる。このような場合であっても、1つの印刷ジョブについてのイメージ生成処理が終了すれば、印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻すことができる。従って、例えば印刷処理用領域12からイメージ生成処理用の領域を確保したために印刷処理が中断してしまう場合でも、最悪、1つの印刷ジョブについてイメージ生成処理が終了すれば、印刷処理を再開することが可能である。
【0037】
その後、イメージ生成処理部2はS29において、印刷指示受信部1で受け取った印刷指示(例えばPDL)がすべて終了したか否かを判定し、未処理のものが残っている場合にはS22へ戻ってイメージ生成処理を続行する。すべての印刷指示を処理すれば、1つのジョブについての処理を終える。
【0038】
図4は、本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。上述のイメージ生成処理時の処理例において述べたように、例えば1ページ単位で画像形成を行ってゆく場合には、蓄積部6に1ページ分以上のイメージが存在していれば、印刷処理部4による印刷処理は可能となる。もちろん、印刷モードなどによっては、ページ順序などを入れ換える場合もあり、その場合には、最初に形成するページのイメージが蓄積部6に蓄積された時点で印刷処理が可能となる。ここでは1ページずつ順に印刷処理を行ってゆくものとして説明する。
【0039】
印刷処理部4は、S41において、蓄積部6に1ページ分以上のイメージが蓄積され、印刷処理が可能である旨の通知を受け取ると、S42において、メモリ制御部7に対してメモリ3中の印刷処理用領域12の領域確保を要求する。要求する領域の大きさは、1ページのイメージの大きさや画像形成部5の画像形成方式などに従って決定される。1ページのイメージの大きさは、画像形成部5においてイメージを形成する用紙の大きさに対応し、例えば印刷指示受信部1で受け取った印刷指示で指定されている場合が多い。あるいは、別途、例えば図示しない操作パネルから指定されることもある。そのほか、画像形成部5において例えばカラー画像を形成する場合に全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなど、種々の条件を考慮することによって決定することができる。
【0040】
メモリ制御部7は、印刷処理部4から領域確保の要求を受け取ると、S51において、要求されたメモリサイズの領域を印刷処理用領域12中に確保できるか否かを判定する。例えば上述のイメージ生成処理によって印刷処理用領域12中の領域まで使用されている場合、印刷処理部4から要求された領域を確保できない場合がある。そのような場合には、S52において、印刷処理用領域12が解放されたか否かを判定し、印刷処理用として解放されるまで待つ。これによって、印刷処理部4の処理も待たされることになる。この場合、不足している領域をイメージ生成処理用領域11から取得することはない。もちろん、印刷処理用領域12中にイメージ生成処理用の領域が確保されていても、印刷処理用に領域が確保できる場合もあり、その場合には印刷処理部4は待つことなく印刷処理を実行可能である。
【0041】
印刷処理用領域12中の領域がイメージ生成処理から印刷処理用として解放されたら、S51へ戻って再び印刷処理部4から要求された領域を確保できるか否かをチェックする。S51で印刷処理部4から要求された領域を確保できると判定された場合には、S53において、その要求された領域を印刷処理用領域12から確保し、印刷処理部4に通知する。
【0042】
印刷処理部4は、印刷処理用領域12中に領域が確保されたら、ここではメモリ制御部3に対して蓄積部6に蓄積されているイメージを読み出し、印刷処理用領域12中の確保した領域に転送、格納するように要求する。メモリ制御部7は、この要求に応じ、S54において蓄積部6からイメージを読み出し、圧縮して蓄積されている場合には復号し、印刷処理用領域12中の確保した領域に転送、格納する。なお、この処理はメモリ制御部7が行うほか、印刷処理部4が自ら行ってもよい。
【0043】
メモリ3への転送が完了したら、印刷処理部4は、S44において、メモリ3からイメージを読み出しながら印刷用の処理を行い、画像形成部5へイメージを送ってイメージの形成を行わせる。なお、メモリ3からのイメージの読み出しは、画像形成部5の動作と同期して行われる。また、画像形成部5の画像形成方式に従って、例えばカラーイメージであれば色成分毎にそれぞれの画像形成位置に対応した画素を読み出すことになる。
【0044】
S45において、すべてのページを印刷処理したか否かを判定し、まだ未処理のページが残っていれば、S43へ戻って、当該ページのイメージのメモリ3への転送要求から繰り返す。すべてのページのイメージを形成し終えたら、1つのジョブに対する印刷処理を終了する。
【0045】
上述のような印刷処理において、S42で印刷処理部4からメモリ制御部7に対して領域確保の要求を行ったが、例えば上述のイメージ生成処理によって印刷処理用領域12中の領域まで使用され、印刷処理部4から要求された領域を確保できない場合には印刷処理が待たされることになる。さらに上述のイメージ生成処理において述べたように、最悪の場合には1つのジョブのイメージ生成処理が終了するまで、印刷処理用領域12中に確保されたイメージ生成処理用の領域が解放されず、1ページも印刷処理することなく印刷処理が待たされてしまう場合がある。この場合、全てのイメージを蓄積部6に蓄積してから印刷処理を行うことになる。一般的には、このように全てのイメージを一旦蓄積してから印刷処理を行う完全先行蓄積と呼ばれる手法が用いられることがあるが、上述のようなケースでは、結果的に完全先行蓄積となってしまう。
【0046】
完全先行蓄積を行うか否かは、一般的には印刷指示のパラメータによって決まるため、処理の初めに知ることができる。しかし上述のようなケースでは、完全先行蓄積を行わずに基本的にはイメージ生成処理と印刷処理とを並行して行うものとして処理を開始している。そのため、処理の途中で完全先行蓄積となることが判明したり、あるいは、判断できずに最終的に完全先行蓄積になってしまったということもあり得る。
【0047】
完全先行蓄積か否かで異なる処理があるとき、その判断のタイミングを、(必要に応じて)遅らせるか、または、別途判断しなければならない。例えば、完全先行蓄積では、イメージ生成処理が終了まで画像形成部5を起動しないが、完全先行蓄積でない場合は、1ページ目のイメージ生成処理の開始時点で、画像形成部5を起動させてスループットの向上を図るといったことが行われる。上述のような結果として完全先行蓄積となってしまう場合には、1ページ目のイメージ生成処理の開始時点で、完全先行蓄積ではないものとして画像形成部5を起動させる。しかし、印刷処理を開始することができないため、必要以上に早く画像形成部5を起動させることになる。その結果、画像形成部5の寿命を縮めてしまう場合がある。
【0048】
このような問題が懸念される場合には、イメージ生成処理で完全先行蓄積になることがわかったら、画像形成部5を起動させないか、あるいは、画像形成部5が既に起動している場合には一旦終了させるように制御するとよい。もちろん、完全先行蓄積とならずとも、例えば上述の印刷処理で領域を確保できなかった場合や、イメージ生成処理中の領域解放時に印刷処理用領域12中のイメージ生成処理用に確保した領域を印刷処理用として解放できずに印刷処理時に領域確保を行えない場合に、画像形成部5を停止させるといったことも考えられる。また、スループットは低下するが、印刷処理において領域が確保できた時点で画像形成部5を起動するといった解決方法も可能である。
【0049】
【発明の効果】
以上の説明から明らかなように、本発明によれば、メモリの利用及び管理の容易な固定(連続)領域によるメモリ管理方法を採用し、固定領域でメモリが不足しない場合にはその範囲で処理を行う。また、固定領域ではメモリ領域が不足する場合に、隣接する領域を他の処理と共用し、連続した領域を拡大することによってメモリ不足を解消することができる。このとき、もとの固定領域と連続した領域を取得するので、境界のアドレスを変更する程度でそのまま固定(連続)領域によるメモリ管理方法を適用することができる。さらに、最初から固定領域を広く確保しておく場合に比べてメモリを効率よく利用することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。
【図2】メモリ領域の利用形態の一例の説明図である。
【図3】本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。
【図4】本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。
【図5】蓄積手段を有する画像形成装置の一例を示すブロック図である。
【図6】従来のメモリ3の利用形態の一例の説明図である。
【符号の説明】
1…印刷指示受信部、2…イメージ生成処理部、3…メモリ、4…印刷処理部、5…画像形成部、6…蓄積部、7…メモリ制御部、11…イメージ生成処理用領域、11’…領域変更後のイメージ生成処理用領域、12…印刷処理用領域、12’…領域変更後の印刷処理用領域。
【発明の属する技術分野】
本発明は、複数の処理によってメモリ領域を使用する際に、メモリ領域を管理する技術に関するものであり、特に、画像形成装置などにおけるイメージ生成処理及び印刷処理を並行動作させる際に用いて好適なメモリ管理技術に関するものである。
【0002】
【従来の技術】
図5は、蓄積手段を有する画像形成装置の一例を示すブロック図である。図中、1は印刷指示受信部、2はイメージ生成処理部、3はメモリ、4は印刷処理部、5は画像形成部、6は蓄積部である。印刷指示受信部1は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部2に渡す。イメージ生成処理部2では、印刷指示受信部1で受け取った印刷指示に従って、画像形成部5で形成するためのイメージを生成する。イメージの生成は、印刷指示を一つずつ解釈し、描画を行ってゆく。このとき、単に上書きするだけでなく、いくつかの描画したイメージ間で論理演算を行うなど、描画したイメージや印刷指示とともに送られてきたイメージをいくつも保存しておいて、それらを利用しながら、イメージの生成を行ってゆく場合もある。
【0003】
通常、イメージの生成は1ページを帯状領域に区切ったバンドと呼ばれる単位で行われ、バンド単位のイメージが一旦メモリ3に格納される。そして、1ページ分のイメージがメモリ3に格納できたら、その1ページ分のイメージを蓄積部6に格納し、蓄積しておく。
【0004】
印刷処理部4は、蓄積部6から1ページ分のイメージを一旦メモリ3に格納した後、画像形成部5の印刷方式などに従ってイメージをメモリ3から読み出し、画像形成部5へ転送する。画像形成部5は、印刷処理部4から送られてくるイメージを、例えば用紙上などに印刷する。
【0005】
このように、蓄積部6に一旦イメージを格納し、蓄積しておくことによって、イメージ生成処理部2の処理と印刷処理部4以降の処理とを独立させ、両者を並行して動作させて高速化を図り、またスループットを向上させることが可能となる。また、そのような並行動作を実現するためにもメモリ3をイメージ生成処理部2の処理と印刷処理部4の処理の両方で利用できるように管理することが必要となる。
【0006】
このとき、メモリ3はイメージ生成処理部2において生成されたイメージと、印刷処理部4が読み出すためのイメージが格納される。図6は、従来のメモリ3の利用形態の一例の説明図である。図中、11はイメージ生成処理用領域、12は印刷処理用領域である。従来の画像形成装置では、メモリ3の記憶領域をそれぞれの処理において利用するための領域、すなわちイメージ生成処理用領域11と印刷処理用領域12とに分け、それぞれ固定された領域を使用して処理を行っていた。
【0007】
印刷処理部4において読み出すイメージのデータ量は、画像形成部5で形成するイメージサイズや、何ページ分のイメージを保持する必要があるか等に応じて決定されるので、ある程度、上限を予測することができる。また、例えば上限に合わせて領域を確保しておけば、メモリ領域が不足することはない。しかし、イメージ生成処理部2で生成したイメージについては、上述のように印刷指示によっては多量のイメージを保存しておかなければならない場合が発生する。例えば、印刷指示が同じ領域に何回も描画するような指示を含んでいた場合、その印刷指示を処理するためにそれぞれの印刷指示に応じたイメージを生成し、保存するためのメモリ領域が必要となる。具体例としては、グラデーションなどを描画する際には、描画領域を多少ずらした多数のイメージを生成し、その後に論理演算を行うことになる。このとき、多数のイメージを保存しておくためのメモリ領域が必要となる。このように、イメージ生成処理では、印刷指示としてどのような指示が送られてくるかによって、必要となるメモリ領域の大きさは異なり、その上限を予め知ることができない。従って、メモリ領域をいくら広く確保しても不足する場合が発生する可能性がある。もちろん、メモリ領域を広く確保しておけば、不足する可能性は低減するが、通常のイメージ生成処理では大部分の領域が使用されないことになり、メモリを有効に利用することができない。
【0008】
一方、メモリの管理方法として、必要になった時に必要なだけメモリ領域を確保して用いる方法も従来から用いられている。このような方式では、メモリの全体の領域が無くなるまで、それぞれの処理にメモリ領域を割り当てることができ、固定領域を割り当てる方法に比べてメモリ不足を少なくし、またメモリ領域を有効に利用することができる。しかしこのような方法では、一般に、割り当てられるメモリ中の領域は不定であり、複数回の領域の割り当てを要求するとメモリ中の離れた領域が確保されるなど、領域が分断されることがある。そのため、メモリを利用するそれぞれの処理あるいはシステムにおいて、このような領域の分断に対応できるようにしておくなど、メモリを管理し、利用するための処理が煩雑になるという問題がある。
【0009】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、固定領域によるメモリ管理を行った場合のメモリ不足を解消するとともに、メモリを効率よく利用可能なメモリ管理装置及びメモリ管理方法を提供することを目的とするものである。
【0010】
【課題を解決するための手段】
本発明では、通常の状態ではメモリ領域のうち第1の処理が第1のメモリ領域を利用し、また第2の処理は第1のメモリ領域に隣接する第2のメモリ領域を利用する。このように通常の状態では、それぞれが固定された領域を利用することになる。そして、第1の処理が第1のメモリ領域では不足する時には、第2のメモリ領域の第1のメモリ領域と連続した領域を確保し、第1のメモリ領域とともに連続領域として、第1の処理が使用可能とする。このようにして第1の処理で第1のメモリ領域では不足する場合には第2のメモリ領域を共用とすることでメモリ不足を回避する。これによって、第1のメモリ領域として適度なメモリ領域を確保しておけばよく、メモリの利用効率を向上させることができる。さらに、第1のメモリ領域と連続した領域を確保することによって、固定領域を利用している処理をそのまま適用して処理を続行することが可能である。従って、複雑な処理を搭載することなく、従来と同様の処理で対応することができる。
【0011】
なお、第2の処理については、第2のメモリ領域の範囲内で領域を取得して利用し、必要な領域が第2のメモリ領域から取得できない場合には、第1のメモリ領域を使用することなく、第2のメモリ領域に必要な空き領域ができるまで待つように制御することができる。
【0012】
また第1の処理としては、与えられた印刷指示に従ってメモリ領域を用いてイメージを生成し、蓄積装置に蓄積するイメージ生成処理とすることができる。また第2の処理としては、蓄積装置から1ページ分のイメージを読み出してメモリ領域に格納した後に、イメージを画像形成手段に渡す印刷処理とすることができる。
【0013】
【発明の実施の形態】
図1は、本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。図中、図5と同様の部分には同じ符号を付してある。7はメモリ制御部である。印刷指示受信部1は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部2に渡す。印刷指示としては、例えばPDL(Page Description Language)で記述されたデータを受け取るように構成することができる。
【0014】
イメージ生成処理部2では、印刷指示受信部1で受け取った印刷指示に従って、画像形成部5で形成するためのイメージを生成する。例えばPDLで記述された印刷指示を一つずつ解釈し、描画処理を行ってゆく。それぞれの印刷指示に対応して描画されたイメージは、必要に応じてメモリ3に格納しておき、後続の印刷指示において利用することができる。また、描画が終了したイメージも同様にメモリ3に格納する。このイメージ生成処理部2の処理によりメモリ3に格納するイメージは、印刷指示によっては多量になる場合もあり、そのデータ量は不定である。例えば1ページ分など、所定単位のイメージの描画が終了したら、そのイメージを蓄積部6に蓄積するように、メモリ制御部7に指示する。
【0015】
なお、イメージ生成処理部2におけるイメージ生成の単位としては、例えば上述のようなバンド単位などで行うこともできる。その場合、例えば印刷指示受信部1で受け取ったPDLで記述された印刷指示をもとにバンド単位の中間コードを生成し、その中間コードをもとに描画処理し、バンド単位のイメージを生成することができる。また、蓄積部6に蓄積する単位も、バンド単位あるいは1ページ単位など、種々の単位で行うことができる。さらに、描画が終了したイメージは、圧縮して蓄積部6に蓄積しておくことができる。
【0016】
メモリ3には、メモリ制御部7によって管理されており、イメージ生成処理部2で生成し、圧縮されたイメージが格納され、蓄積部6へ転送される。また、蓄積部6に蓄積されていた圧縮されたイメージが読み出されてこのメモリ3に格納され、印刷処理部4によって読み出される。なお、このメモリ3の利用の詳細については後述する。
【0017】
印刷処理部4は、メモリ制御部7に対して、蓄積部6に蓄積されている1ないし数ページ分のイメージの読み出しを要求し、この要求によってメモリ3に格納される1ないし数ページ分のイメージを、画像形成部5の印刷方式などに従って読み出し、画像処理を適宜施した後、画像形成部5へ転送する。メモリ3に格納されるイメージは、形成するイメージのサイズや、画像形成部5の印刷方式により必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによってデータ量の最大値はある程度決まっている。従って1ページ分のイメージを格納するためのメモリ領域としては、決まったメモリ量以下でよい。
【0018】
画像形成部5は、印刷処理部4から送られてくるイメージを、例えば用紙上などに印刷する。画像形成方式は任意である。
【0019】
蓄積部6は、圧縮されたイメージを一時蓄積する。例えばハードディスクなどの蓄積装置を利用することができ、複数ページにわたるイメージを蓄積可能に構成することができる。なお、この例ではメモリ3との間のデータ転送はメモリ制御部7によって制御される。
【0020】
メモリ制御部7は、メモリ3の記憶管理を行い、イメージ生成処理部2において利用するメモリ領域、及び、印刷処理部4において利用するメモリ領域の管理を行う。また、イメージ生成処理部2からの要求に従い、メモリ3に格納されたイメージを蓄積部6へ転送して蓄積させる。また、印刷処理部4からの要求に従い、蓄積部6に蓄積されているイメージをメモリ3に転送して格納させる。なお、蓄積部6へイメージを蓄積する際には圧縮を施し、また蓄積部6に蓄積されている圧縮されたイメージを取り出す際には復号を行うように構成することができる。
【0021】
図2は、メモリ領域の利用形態の一例の説明図である。図中、図6と同様の部分には同じ符号を付してある。11’は領域変更後のイメージ生成処理用領域、12’は領域変更後の印刷処理用領域である。上述のように、メモリ3にはイメージ生成処理部2で生成され、圧縮されたイメージが格納されるとともに、印刷処理部4で読み出す復号された1ページ分のイメージが格納される。メモリ制御部7では、初期状態においては図2(A)に示すように、イメージ生成処理用領域11及び印刷処理用領域12を隣接して確保しておく。印刷処理用領域12には、画像形成部5において必要とするイメージ、例えば1ないし数ページ分のイメージが格納されるが、このデータ量は上述のようにイメージサイズ、必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによって、データ量はほぼ予測可能である。
【0022】
またイメージ生成処理用領域11には、イメージ生成処理部2でそれぞれの印刷指示に応じて生成されたイメージ及び生成が完了したイメージ等が格納される。イメージの格納及び蓄積部6への転送処理は、固定領域の方が処理が容易である。そのため、初期状態として、図2(A)に示すように予め所定の領域を確保している。上述のようにイメージ生成処理によってメモリ3に格納するイメージの数は不定であり、全体のデータ量は予測できない。しかし、際限なくメモリ領域を広げても、利用効率が低下してしまう。そのため、所定の領域として、通常とみなせる印刷指示に基づいてイメージ生成処理を行う際に、そのイメージ生成処理が可能なだけの領域を確保しておけばよい。このイメージ生成処理領域11内で処理できる限りは、このイメージ生成処理領域11のみを使ってイメージ生成処理を行う。
【0023】
しかし、上述のようにメモリ3に格納されるイメージの数が不定であることから必要とされるデータ量は不定である。そのため、予め確保しておいたイメージ生成処理用領域11では格納しきれない場合が発生する。このような場合に、イメージ生成処理部2からメモリ制御部7に対してメモリ確保の要求が行われる。メモリ制御部7は、印刷処理用領域12のイメージ生成処理用領域11と連続した領域を確保し、イメージ生成処理用領域11とともに連続領域として使用できるようにする。これによって、図2(B)に示したようにイメージ生成処理用領域11は領域変更後のイメージ生成処理用領域11’として利用できるようになる。なお、その分だけ印刷処理用領域12は減少し、領域変更後の印刷処理用領域12’となる。
【0024】
このようにしてイメージ生成処理用領域11を広げることによって、さらにイメージ生成処理中のイメージを格納することができるようになる。このとき、連続領域を確保しているので、使用可能領域の境界を変更するだけで、固定領域を利用した場合と同様の処理によって対応することが可能である。また、領域変更後の印刷処理用領域12’は狭くなるが、この領域で印刷処理が可能であれば、イメージ生成処理部2と印刷処理部4は並行して動作することができる。印刷処理部4による印刷処理を実行するだけの領域が確保できない場合には、印刷処理部4はイメージ生成処理部2が領域を確保するまで待つことになる。
【0025】
さらにイメージ生成処理部2において領域の不足が生じた場合には、同様にしてメモリ制御部7に対してメモリ確保の要求を行い、さらに連続した領域を確保し、圧縮されたイメージの格納を行ってゆく。もともとの印刷処理用領域12をすべてイメージ生成処理用の領域として利用しても不足する場合には、一部のイメージを蓄積部6へ待避させたり、あるいは中間的なイメージ生成を行ってそれぞれの印刷指示毎に生成したイメージを減らす等、別途、エラー時の処理を行うことになる。
【0026】
なお、上述のように印刷処理用領域12は予測される最大データ量に合わせて確保しておけば、イメージ生成処理において利用されていない限り、印刷処理部4において処理を行っている時に印刷処理用領域12が不足することはない。従って、イメージ生成処理用領域11は、印刷処理によって利用されることはなく、イメージ生成処理専用として利用される。
【0027】
次に、本発明の実施の一形態を搭載した画像形成装置の一例における動作について、特にイメージ生成処理部2及び印刷処理部4におけるメモリ3を利用する処理部分とメモリ制御部7の動作について一例を説明する。図3は、本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。印刷指示受信部1が印刷指示を受信すると、S21において、イメージ生成処理部2は印刷指示受信部1からPDL等で記述された印刷指示を受け取る。このとき、例えば中間コードなどに展開する処理を行っておいてもよい。
【0028】
イメージ生成処理部2では、受け取った印刷指示に基づいて、S22においてイメージ生成処理を行う。具体的には、新たな印刷指示に従って描画処理を行い、イメージを生成し、生成したイメージをメモリ3に格納する。このとき、必要に応じてメモリ3に格納されているイメージを読み出して論理演算処理などを行い、結果をメモリ3に格納する。
【0029】
S23において、メモリ3(イメージ生成処理用領域11あるいは領域変更後のイメージ生成処理用領域11’)にイメージを格納するだけの空き領域が存在するか否かを判定する。空き領域があれば、S24においてメモリ3へ圧縮したイメージを格納する。そしてS25において、例えば1ページ分や1バンド分など、所定単位のイメージを生成し終えたか否かを判定し、まだ所定単位のイメージを生成し終えていなければS22へ戻って次の印刷指示に従ってイメージの生成を行う。
【0030】
S23で空き領域が不足していると判定された場合には、S26において、イメージ生成処理部2は領域の確保をメモリ制御部7に対して要求する。メモリ制御部7は、イメージ生成処理部2からの要求を受け、S31において、印刷処理用領域12からの領域確保のための準備を行う。例えば印刷処理部4において印刷処理用領域12を広く使用している場合には、領域を確保できない場合もある。S32において、準備完了か否かを判断し、領域を確保できるまで待つ。準備完了となったら、S33において、印刷処理用領域12からイメージ生成処理用領域11(あるいは領域変更後のイメージ生成処理用領域11’)と連続する領域を確保し、イメージ生成処理部2に対して利用可能となった旨や、新たな領域の境界アドレスなどを通知する。この通知を受けたイメージ生成処理部2では、書き込み可能なメモリ3の領域の境界についての情報を更新した後、イメージ生成処理を続行する。すなわち、S24へ進み、既に生成したイメージについてメモリ3への格納を行う。
【0031】
このように、それぞれの印刷指示についてイメージの生成及びメモリ3への格納を繰り返し、またメモリ3の領域が不足する場合にはメモリ制御部7に対して領域確保の要求を行って領域を確保してイメージの格納を行ってゆく。所定単位のイメージを生成し終えたら、S25においてこれを検出してS27へ進む。
【0032】
S27において、イメージ生成処理部2はメモリ制御部7に対して、メモリ3に格納したイメージを蓄積部6へ転送するように要求する。これに応じてメモリ制御部7は、S34において、メモリ3に格納されているイメージを蓄積部6へ転送して蓄積させる。なお、蓄積部6への蓄積の際には、圧縮して蓄積することができる。
【0033】
このようなイメージの蓄積部6への蓄積がある程度進むと、印刷処理部4による印刷処理が可能となる。簡単な例では、1ページ単位でイメージ生成及び印刷処理を行う場合には、1ページ分のイメージが蓄積部6に蓄積された時点で、印刷処理部4による印刷処理が可能となる。所定単位のイメージを蓄積部6へ蓄積した時点で印刷処理が可能であるか否かを判断し、可能であればイメージ生成処理部2あるいはメモリ制御部7が印刷処理部4に対して、印刷処理が可能である旨を通知するように構成することができる。
【0034】
所定単位のイメージの蓄積部6への転送が終了したら、S28において、それまで所定単位のイメージを生成するために必要としており、今後のイメージ生成に使用しないメモリ3の領域を、後続のイメージの格納に使用できるように、メモリ制御部7へ解放を要求する。イメージ生成処理部2から領域の解放要求を受けたメモリ制御部7は、S35において、S34で蓄積部6へ転送したイメージが格納されていた領域、及びそのイメージを生成するために利用し、今後利用しないイメージが格納されていた領域を解放して新たなイメージの格納に利用可能にする。
【0035】
この時点では、印刷処理用領域12からイメージ生成処理用に確保している場合、その領域についても再びイメージが格納可能な状態となっている。S36において、印刷処理用領域12中のイメージ生成処理用として確保した領域を、印刷処理用に戻せるか否かを判定する。元々印刷処理用領域12中にイメージ生成処理用の領域を確保していない場合や、この時点では印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せないと判断される場合には、そのままのメモリ3の使用状態を維持する。印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せる場合には、S37において、印刷処理用領域12中の当該領域を印刷処理用に戻す。これによって、後述する印刷処理において利用可能な領域が増加する。
【0036】
なお、印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻せない場合としては、例えば他のページのイメージを参照しながらイメージ生成処理を行う場合であって、参照するページのイメージが印刷処理用領域12中に確保した領域に存在する場合等が考えられる。このような場合であっても、1つの印刷ジョブについてのイメージ生成処理が終了すれば、印刷処理用領域12中に確保したイメージ生成処理用の領域を印刷処理用に戻すことができる。従って、例えば印刷処理用領域12からイメージ生成処理用の領域を確保したために印刷処理が中断してしまう場合でも、最悪、1つの印刷ジョブについてイメージ生成処理が終了すれば、印刷処理を再開することが可能である。
【0037】
その後、イメージ生成処理部2はS29において、印刷指示受信部1で受け取った印刷指示(例えばPDL)がすべて終了したか否かを判定し、未処理のものが残っている場合にはS22へ戻ってイメージ生成処理を続行する。すべての印刷指示を処理すれば、1つのジョブについての処理を終える。
【0038】
図4は、本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。上述のイメージ生成処理時の処理例において述べたように、例えば1ページ単位で画像形成を行ってゆく場合には、蓄積部6に1ページ分以上のイメージが存在していれば、印刷処理部4による印刷処理は可能となる。もちろん、印刷モードなどによっては、ページ順序などを入れ換える場合もあり、その場合には、最初に形成するページのイメージが蓄積部6に蓄積された時点で印刷処理が可能となる。ここでは1ページずつ順に印刷処理を行ってゆくものとして説明する。
【0039】
印刷処理部4は、S41において、蓄積部6に1ページ分以上のイメージが蓄積され、印刷処理が可能である旨の通知を受け取ると、S42において、メモリ制御部7に対してメモリ3中の印刷処理用領域12の領域確保を要求する。要求する領域の大きさは、1ページのイメージの大きさや画像形成部5の画像形成方式などに従って決定される。1ページのイメージの大きさは、画像形成部5においてイメージを形成する用紙の大きさに対応し、例えば印刷指示受信部1で受け取った印刷指示で指定されている場合が多い。あるいは、別途、例えば図示しない操作パネルから指定されることもある。そのほか、画像形成部5において例えばカラー画像を形成する場合に全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなど、種々の条件を考慮することによって決定することができる。
【0040】
メモリ制御部7は、印刷処理部4から領域確保の要求を受け取ると、S51において、要求されたメモリサイズの領域を印刷処理用領域12中に確保できるか否かを判定する。例えば上述のイメージ生成処理によって印刷処理用領域12中の領域まで使用されている場合、印刷処理部4から要求された領域を確保できない場合がある。そのような場合には、S52において、印刷処理用領域12が解放されたか否かを判定し、印刷処理用として解放されるまで待つ。これによって、印刷処理部4の処理も待たされることになる。この場合、不足している領域をイメージ生成処理用領域11から取得することはない。もちろん、印刷処理用領域12中にイメージ生成処理用の領域が確保されていても、印刷処理用に領域が確保できる場合もあり、その場合には印刷処理部4は待つことなく印刷処理を実行可能である。
【0041】
印刷処理用領域12中の領域がイメージ生成処理から印刷処理用として解放されたら、S51へ戻って再び印刷処理部4から要求された領域を確保できるか否かをチェックする。S51で印刷処理部4から要求された領域を確保できると判定された場合には、S53において、その要求された領域を印刷処理用領域12から確保し、印刷処理部4に通知する。
【0042】
印刷処理部4は、印刷処理用領域12中に領域が確保されたら、ここではメモリ制御部3に対して蓄積部6に蓄積されているイメージを読み出し、印刷処理用領域12中の確保した領域に転送、格納するように要求する。メモリ制御部7は、この要求に応じ、S54において蓄積部6からイメージを読み出し、圧縮して蓄積されている場合には復号し、印刷処理用領域12中の確保した領域に転送、格納する。なお、この処理はメモリ制御部7が行うほか、印刷処理部4が自ら行ってもよい。
【0043】
メモリ3への転送が完了したら、印刷処理部4は、S44において、メモリ3からイメージを読み出しながら印刷用の処理を行い、画像形成部5へイメージを送ってイメージの形成を行わせる。なお、メモリ3からのイメージの読み出しは、画像形成部5の動作と同期して行われる。また、画像形成部5の画像形成方式に従って、例えばカラーイメージであれば色成分毎にそれぞれの画像形成位置に対応した画素を読み出すことになる。
【0044】
S45において、すべてのページを印刷処理したか否かを判定し、まだ未処理のページが残っていれば、S43へ戻って、当該ページのイメージのメモリ3への転送要求から繰り返す。すべてのページのイメージを形成し終えたら、1つのジョブに対する印刷処理を終了する。
【0045】
上述のような印刷処理において、S42で印刷処理部4からメモリ制御部7に対して領域確保の要求を行ったが、例えば上述のイメージ生成処理によって印刷処理用領域12中の領域まで使用され、印刷処理部4から要求された領域を確保できない場合には印刷処理が待たされることになる。さらに上述のイメージ生成処理において述べたように、最悪の場合には1つのジョブのイメージ生成処理が終了するまで、印刷処理用領域12中に確保されたイメージ生成処理用の領域が解放されず、1ページも印刷処理することなく印刷処理が待たされてしまう場合がある。この場合、全てのイメージを蓄積部6に蓄積してから印刷処理を行うことになる。一般的には、このように全てのイメージを一旦蓄積してから印刷処理を行う完全先行蓄積と呼ばれる手法が用いられることがあるが、上述のようなケースでは、結果的に完全先行蓄積となってしまう。
【0046】
完全先行蓄積を行うか否かは、一般的には印刷指示のパラメータによって決まるため、処理の初めに知ることができる。しかし上述のようなケースでは、完全先行蓄積を行わずに基本的にはイメージ生成処理と印刷処理とを並行して行うものとして処理を開始している。そのため、処理の途中で完全先行蓄積となることが判明したり、あるいは、判断できずに最終的に完全先行蓄積になってしまったということもあり得る。
【0047】
完全先行蓄積か否かで異なる処理があるとき、その判断のタイミングを、(必要に応じて)遅らせるか、または、別途判断しなければならない。例えば、完全先行蓄積では、イメージ生成処理が終了まで画像形成部5を起動しないが、完全先行蓄積でない場合は、1ページ目のイメージ生成処理の開始時点で、画像形成部5を起動させてスループットの向上を図るといったことが行われる。上述のような結果として完全先行蓄積となってしまう場合には、1ページ目のイメージ生成処理の開始時点で、完全先行蓄積ではないものとして画像形成部5を起動させる。しかし、印刷処理を開始することができないため、必要以上に早く画像形成部5を起動させることになる。その結果、画像形成部5の寿命を縮めてしまう場合がある。
【0048】
このような問題が懸念される場合には、イメージ生成処理で完全先行蓄積になることがわかったら、画像形成部5を起動させないか、あるいは、画像形成部5が既に起動している場合には一旦終了させるように制御するとよい。もちろん、完全先行蓄積とならずとも、例えば上述の印刷処理で領域を確保できなかった場合や、イメージ生成処理中の領域解放時に印刷処理用領域12中のイメージ生成処理用に確保した領域を印刷処理用として解放できずに印刷処理時に領域確保を行えない場合に、画像形成部5を停止させるといったことも考えられる。また、スループットは低下するが、印刷処理において領域が確保できた時点で画像形成部5を起動するといった解決方法も可能である。
【0049】
【発明の効果】
以上の説明から明らかなように、本発明によれば、メモリの利用及び管理の容易な固定(連続)領域によるメモリ管理方法を採用し、固定領域でメモリが不足しない場合にはその範囲で処理を行う。また、固定領域ではメモリ領域が不足する場合に、隣接する領域を他の処理と共用し、連続した領域を拡大することによってメモリ不足を解消することができる。このとき、もとの固定領域と連続した領域を取得するので、境界のアドレスを変更する程度でそのまま固定(連続)領域によるメモリ管理方法を適用することができる。さらに、最初から固定領域を広く確保しておく場合に比べてメモリを効率よく利用することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。
【図2】メモリ領域の利用形態の一例の説明図である。
【図3】本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。
【図4】本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。
【図5】蓄積手段を有する画像形成装置の一例を示すブロック図である。
【図6】従来のメモリ3の利用形態の一例の説明図である。
【符号の説明】
1…印刷指示受信部、2…イメージ生成処理部、3…メモリ、4…印刷処理部、5…画像形成部、6…蓄積部、7…メモリ制御部、11…イメージ生成処理用領域、11’…領域変更後のイメージ生成処理用領域、12…印刷処理用領域、12’…領域変更後の印刷処理用領域。
Claims (6)
- 第1の処理が専用する第1のメモリ領域と、前記第1のメモリ領域に隣接し通常は第2の処理が使用する第2のメモリ領域と、第1の処理から第2のメモリ領域の取得要求を受け前記第2のメモリ領域の前記第1のメモリ領域と連続した領域を確保して前記第1のメモリ領域とともに連続領域として前記第1の処理に使用させるメモリ制御手段を有することを特徴とするメモリ管理装置。
- 前記第1の処理は、前記第1のメモリ領域だけでは不足する場合に前記第2のメモリ領域の取得要求を前記メモリ制御手段に対して行い、前記第2の処理は、前記第2のメモリ領域の範囲内で取得要求を前記メモリ制御手段に対して行うことを特徴とする請求項1に記載のメモリ管理装置。
- 前記第1の処理は与えられた印刷指示に従ってメモリ領域を用いてイメージを生成して蓄積装置に蓄積するイメージ生成処理であり、前記第2の処理は前記蓄積装置から1ページ分のイメージを読み出してメモリ領域に格納した後に前記イメージを画像形成手段に渡す印刷処理であることを特徴とする請求項1または請求項2に記載のメモリ管理装置。
- メモリ領域のうち第1の処理が第1のメモリ領域を専用し、また前記第1のメモリ領域に隣接する第2のメモリ領域について通常は第2の処理が使用し、前記第1の処理が前記第1のメモリ領域では不足する時に前記第2のメモリ領域の前記第1のメモリ領域と連続した領域を確保して前記第1のメモリ領域とともに連続領域として前記第1の処理が使用可能とするようにメモリ領域を管理することを特徴とするメモリ管理方法。
- 前記第2の処理は、前記第2のメモリ領域の範囲内で領域を取得して利用し、必要な領域が取得できない場合には前記第2のメモリ領域に必要な空き領域ができるまで待つことを特徴とする請求項4に記載のメモリ管理方法。
- 前記第1の処理は与えられた印刷指示に従ってメモリ領域を用いてイメージを生成して蓄積装置に蓄積するイメージ生成処理であり、前記第2の処理は前記蓄積装置から1ページ分のイメージを読み出してメモリ領域に格納した後に前記イメージを画像形成手段に渡す印刷処理であることを特徴とする請求項4または請求項5に記載のメモリ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002249394A JP2004086751A (ja) | 2002-08-28 | 2002-08-28 | メモリ管理装置及びメモリ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002249394A JP2004086751A (ja) | 2002-08-28 | 2002-08-28 | メモリ管理装置及びメモリ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004086751A true JP2004086751A (ja) | 2004-03-18 |
Family
ID=32056523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002249394A Pending JP2004086751A (ja) | 2002-08-28 | 2002-08-28 | メモリ管理装置及びメモリ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004086751A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012015653A (ja) * | 2010-06-29 | 2012-01-19 | Canon Inc | 画像処理装置及びその制御方法並びにプログラム |
JP2014023010A (ja) * | 2012-07-20 | 2014-02-03 | Seiko Epson Corp | メモリー管理装置、画像処理装置、及び、メモリー管理方法 |
JP2014069526A (ja) * | 2012-10-01 | 2014-04-21 | Konica Minolta Inc | 描画処理装置、画像形成装置、コンピュータープログラムおよび描画処理方法 |
-
2002
- 2002-08-28 JP JP2002249394A patent/JP2004086751A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012015653A (ja) * | 2010-06-29 | 2012-01-19 | Canon Inc | 画像処理装置及びその制御方法並びにプログラム |
JP2014023010A (ja) * | 2012-07-20 | 2014-02-03 | Seiko Epson Corp | メモリー管理装置、画像処理装置、及び、メモリー管理方法 |
JP2014069526A (ja) * | 2012-10-01 | 2014-04-21 | Konica Minolta Inc | 描画処理装置、画像形成装置、コンピュータープログラムおよび描画処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10116160A (ja) | メモリ削減技法を使用したページ生成のためのフォールバック処理 | |
JP5482528B2 (ja) | 印刷文書変換装置及びプログラム | |
JP3666258B2 (ja) | プリンタ | |
US8687223B2 (en) | Image processing apparatus and image processing method utilizing efficient memory regions | |
JP5482238B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、画像形成方法及びプログラム | |
JP2000293674A (ja) | 画像処理方法、印刷装置、画像処理システムおよび記録媒体 | |
JP2004086751A (ja) | メモリ管理装置及びメモリ管理方法 | |
JP7158656B2 (ja) | 画像形成装置、画像形成方法及び画像形成プログラム | |
JP2006344184A (ja) | 画像形成装置 | |
JP4332308B2 (ja) | 画像処理装置、プログラム、プログラムが書き込まれた記録媒体および画像形成装置 | |
JP4781327B2 (ja) | 画像処理装置及び画像処理方法 | |
JP3974762B2 (ja) | 画像処理装置および画像処理方法 | |
JP3711609B2 (ja) | 印刷方法、印刷システム、及びプリンタ | |
JP2006338194A (ja) | データ処理システム、データ処理プログラム及びデータ処理方法 | |
JP2010124236A (ja) | 画像形成装置、画像データ転送方法、及びプログラム | |
JP2007136824A (ja) | 印刷装置及び印刷方法、コンピュータプログラム及び記憶媒体 | |
JP3230516B2 (ja) | プリンタ、記録媒体およびプリンタのメモリ管理方法 | |
JP2019057207A (ja) | プリントコントローラー、画像形成システム及び画像形成装置 | |
JP4605003B2 (ja) | 画像処理装置、画像処理方法 | |
JP4252958B2 (ja) | 印刷制御装置 | |
JPH0844509A (ja) | 印刷制御方法及び印刷システム | |
JP2000148418A (ja) | 印刷装置 | |
JP2003211747A (ja) | 画像形成装置 | |
JP2002120418A (ja) | プリンタ装置及び該プリンタ装置を備えた画像処理装置 | |
JP6078954B2 (ja) | 画像処理装置 |