(57)【要約】【課題】固定領域によるメモリ管理を行った場合のメモリ不足を解消し、メモリを効率よく利用可能なメモリ管理装置及びメモリ管理方法を提供する。【解決手段】イメージ生成処理部２は、印刷指示受信部１で受け取った印刷指示に従ってイメージを生成し、メモリ３のイメージ生成処理用領域に格納する。所定単位のイメージは、蓄積部６に一旦蓄積した後、再びメモリ３の印刷処理用領域に読み出し、印刷処理部４で印刷処理を施して画像形成部５でイメージを用紙等に形成する。イメージ生成処理時には印刷指示によってデータ量が異なる。イメージ生成処理用の固定領域で済む間はこの領域内にイメージを格納する。不足した場合には、メモリ制御部７に要求し、印刷処理用領域からイメージ生成処理用の領域と連続した領域を確保し、一体のイメージ生成処理用の領域として使用可能とする。【選択図】　図１
2004086751.tif 000002
【特許請求の範囲】
【請求項１】
第１の処理が専用する第１のメモリ領域と、前記第１のメモリ領域に隣接し通常は第２の処理が使用する第２のメモリ領域と、第１の処理から第２のメモリ領域の取得要求を受け前記第２のメモリ領域の前記第１のメモリ領域と連続した領域を確保して前記第１のメモリ領域とともに連続領域として前記第１の処理に使用させるメモリ制御手段を有することを特徴とするメモリ管理装置。
【請求項２】
前記第１の処理は、前記第１のメモリ領域だけでは不足する場合に前記第２のメモリ領域の取得要求を前記メモリ制御手段に対して行い、前記第２の処理は、前記第２のメモリ領域の範囲内で取得要求を前記メモリ制御手段に対して行うことを特徴とする請求項１に記載のメモリ管理装置。
【請求項３】
前記第１の処理は与えられた印刷指示に従ってメモリ領域を用いてイメージを生成して蓄積装置に蓄積するイメージ生成処理であり、前記第２の処理は前記蓄積装置から１ページ分のイメージを読み出してメモリ領域に格納した後に前記イメージを画像形成手段に渡す印刷処理であることを特徴とする請求項１または請求項２に記載のメモリ管理装置。
【請求項４】
メモリ領域のうち第１の処理が第１のメモリ領域を専用し、また前記第１のメモリ領域に隣接する第２のメモリ領域について通常は第２の処理が使用し、前記第１の処理が前記第１のメモリ領域では不足する時に前記第２のメモリ領域の前記第１のメモリ領域と連続した領域を確保して前記第１のメモリ領域とともに連続領域として前記第１の処理が使用可能とするようにメモリ領域を管理することを特徴とするメモリ管理方法。
【請求項５】
前記第２の処理は、前記第２のメモリ領域の範囲内で領域を取得して利用し、必要な領域が取得できない場合には前記第２のメモリ領域に必要な空き領域ができるまで待つことを特徴とする請求項４に記載のメモリ管理方法。
【請求項６】
前記第１の処理は与えられた印刷指示に従ってメモリ領域を用いてイメージを生成して蓄積装置に蓄積するイメージ生成処理であり、前記第２の処理は前記蓄積装置から１ページ分のイメージを読み出してメモリ領域に格納した後に前記イメージを画像形成手段に渡す印刷処理であることを特徴とする請求項４または請求項５に記載のメモリ管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の処理によってメモリ領域を使用する際に、メモリ領域を管理する技術に関するものであり、特に、画像形成装置などにおけるイメージ生成処理及び印刷処理を並行動作させる際に用いて好適なメモリ管理技術に関するものである。
【０００２】
【従来の技術】
図５は、蓄積手段を有する画像形成装置の一例を示すブロック図である。図中、１は印刷指示受信部、２はイメージ生成処理部、３はメモリ、４は印刷処理部、５は画像形成部、６は蓄積部である。印刷指示受信部１は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部２に渡す。イメージ生成処理部２では、印刷指示受信部１で受け取った印刷指示に従って、画像形成部５で形成するためのイメージを生成する。イメージの生成は、印刷指示を一つずつ解釈し、描画を行ってゆく。このとき、単に上書きするだけでなく、いくつかの描画したイメージ間で論理演算を行うなど、描画したイメージや印刷指示とともに送られてきたイメージをいくつも保存しておいて、それらを利用しながら、イメージの生成を行ってゆく場合もある。
【０００３】
通常、イメージの生成は１ページを帯状領域に区切ったバンドと呼ばれる単位で行われ、バンド単位のイメージが一旦メモリ３に格納される。そして、１ページ分のイメージがメモリ３に格納できたら、その１ページ分のイメージを蓄積部６に格納し、蓄積しておく。
【０００４】
印刷処理部４は、蓄積部６から１ページ分のイメージを一旦メモリ３に格納した後、画像形成部５の印刷方式などに従ってイメージをメモリ３から読み出し、画像形成部５へ転送する。画像形成部５は、印刷処理部４から送られてくるイメージを、例えば用紙上などに印刷する。
【０００５】
このように、蓄積部６に一旦イメージを格納し、蓄積しておくことによって、イメージ生成処理部２の処理と印刷処理部４以降の処理とを独立させ、両者を並行して動作させて高速化を図り、またスループットを向上させることが可能となる。また、そのような並行動作を実現するためにもメモリ３をイメージ生成処理部２の処理と印刷処理部４の処理の両方で利用できるように管理することが必要となる。
【０００６】
このとき、メモリ３はイメージ生成処理部２において生成されたイメージと、印刷処理部４が読み出すためのイメージが格納される。図６は、従来のメモリ３の利用形態の一例の説明図である。図中、１１はイメージ生成処理用領域、１２は印刷処理用領域である。従来の画像形成装置では、メモリ３の記憶領域をそれぞれの処理において利用するための領域、すなわちイメージ生成処理用領域１１と印刷処理用領域１２とに分け、それぞれ固定された領域を使用して処理を行っていた。
【０００７】
印刷処理部４において読み出すイメージのデータ量は、画像形成部５で形成するイメージサイズや、何ページ分のイメージを保持する必要があるか等に応じて決定されるので、ある程度、上限を予測することができる。また、例えば上限に合わせて領域を確保しておけば、メモリ領域が不足することはない。しかし、イメージ生成処理部２で生成したイメージについては、上述のように印刷指示によっては多量のイメージを保存しておかなければならない場合が発生する。例えば、印刷指示が同じ領域に何回も描画するような指示を含んでいた場合、その印刷指示を処理するためにそれぞれの印刷指示に応じたイメージを生成し、保存するためのメモリ領域が必要となる。具体例としては、グラデーションなどを描画する際には、描画領域を多少ずらした多数のイメージを生成し、その後に論理演算を行うことになる。このとき、多数のイメージを保存しておくためのメモリ領域が必要となる。このように、イメージ生成処理では、印刷指示としてどのような指示が送られてくるかによって、必要となるメモリ領域の大きさは異なり、その上限を予め知ることができない。従って、メモリ領域をいくら広く確保しても不足する場合が発生する可能性がある。もちろん、メモリ領域を広く確保しておけば、不足する可能性は低減するが、通常のイメージ生成処理では大部分の領域が使用されないことになり、メモリを有効に利用することができない。
【０００８】
一方、メモリの管理方法として、必要になった時に必要なだけメモリ領域を確保して用いる方法も従来から用いられている。このような方式では、メモリの全体の領域が無くなるまで、それぞれの処理にメモリ領域を割り当てることができ、固定領域を割り当てる方法に比べてメモリ不足を少なくし、またメモリ領域を有効に利用することができる。しかしこのような方法では、一般に、割り当てられるメモリ中の領域は不定であり、複数回の領域の割り当てを要求するとメモリ中の離れた領域が確保されるなど、領域が分断されることがある。そのため、メモリを利用するそれぞれの処理あるいはシステムにおいて、このような領域の分断に対応できるようにしておくなど、メモリを管理し、利用するための処理が煩雑になるという問題がある。
【０００９】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、固定領域によるメモリ管理を行った場合のメモリ不足を解消するとともに、メモリを効率よく利用可能なメモリ管理装置及びメモリ管理方法を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
本発明では、通常の状態ではメモリ領域のうち第１の処理が第１のメモリ領域を利用し、また第２の処理は第１のメモリ領域に隣接する第２のメモリ領域を利用する。このように通常の状態では、それぞれが固定された領域を利用することになる。そして、第１の処理が第１のメモリ領域では不足する時には、第２のメモリ領域の第１のメモリ領域と連続した領域を確保し、第１のメモリ領域とともに連続領域として、第１の処理が使用可能とする。このようにして第１の処理で第１のメモリ領域では不足する場合には第２のメモリ領域を共用とすることでメモリ不足を回避する。これによって、第１のメモリ領域として適度なメモリ領域を確保しておけばよく、メモリの利用効率を向上させることができる。さらに、第１のメモリ領域と連続した領域を確保することによって、固定領域を利用している処理をそのまま適用して処理を続行することが可能である。従って、複雑な処理を搭載することなく、従来と同様の処理で対応することができる。
【００１１】
なお、第２の処理については、第２のメモリ領域の範囲内で領域を取得して利用し、必要な領域が第２のメモリ領域から取得できない場合には、第１のメモリ領域を使用することなく、第２のメモリ領域に必要な空き領域ができるまで待つように制御することができる。
【００１２】
また第１の処理としては、与えられた印刷指示に従ってメモリ領域を用いてイメージを生成し、蓄積装置に蓄積するイメージ生成処理とすることができる。また第２の処理としては、蓄積装置から１ページ分のイメージを読み出してメモリ領域に格納した後に、イメージを画像形成手段に渡す印刷処理とすることができる。
【００１３】
【発明の実施の形態】
図１は、本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。図中、図５と同様の部分には同じ符号を付してある。７はメモリ制御部である。印刷指示受信部１は、外部から送られてくる印刷すべき情報や印刷のための設定などを含む印刷指示を受け取り、イメージ生成処理部２に渡す。印刷指示としては、例えばＰＤＬ（Ｐａｇｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ）で記述されたデータを受け取るように構成することができる。
【００１４】
イメージ生成処理部２では、印刷指示受信部１で受け取った印刷指示に従って、画像形成部５で形成するためのイメージを生成する。例えばＰＤＬで記述された印刷指示を一つずつ解釈し、描画処理を行ってゆく。それぞれの印刷指示に対応して描画されたイメージは、必要に応じてメモリ３に格納しておき、後続の印刷指示において利用することができる。また、描画が終了したイメージも同様にメモリ３に格納する。このイメージ生成処理部２の処理によりメモリ３に格納するイメージは、印刷指示によっては多量になる場合もあり、そのデータ量は不定である。例えば１ページ分など、所定単位のイメージの描画が終了したら、そのイメージを蓄積部６に蓄積するように、メモリ制御部７に指示する。
【００１５】
なお、イメージ生成処理部２におけるイメージ生成の単位としては、例えば上述のようなバンド単位などで行うこともできる。その場合、例えば印刷指示受信部１で受け取ったＰＤＬで記述された印刷指示をもとにバンド単位の中間コードを生成し、その中間コードをもとに描画処理し、バンド単位のイメージを生成することができる。また、蓄積部６に蓄積する単位も、バンド単位あるいは１ページ単位など、種々の単位で行うことができる。さらに、描画が終了したイメージは、圧縮して蓄積部６に蓄積しておくことができる。
【００１６】
メモリ３には、メモリ制御部７によって管理されており、イメージ生成処理部２で生成し、圧縮されたイメージが格納され、蓄積部６へ転送される。また、蓄積部６に蓄積されていた圧縮されたイメージが読み出されてこのメモリ３に格納され、印刷処理部４によって読み出される。なお、このメモリ３の利用の詳細については後述する。
【００１７】
印刷処理部４は、メモリ制御部７に対して、蓄積部６に蓄積されている１ないし数ページ分のイメージの読み出しを要求し、この要求によってメモリ３に格納される１ないし数ページ分のイメージを、画像形成部５の印刷方式などに従って読み出し、画像処理を適宜施した後、画像形成部５へ転送する。メモリ３に格納されるイメージは、形成するイメージのサイズや、画像形成部５の印刷方式により必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによってデータ量の最大値はある程度決まっている。従って１ページ分のイメージを格納するためのメモリ領域としては、決まったメモリ量以下でよい。
【００１８】
画像形成部５は、印刷処理部４から送られてくるイメージを、例えば用紙上などに印刷する。画像形成方式は任意である。
【００１９】
蓄積部６は、圧縮されたイメージを一時蓄積する。例えばハードディスクなどの蓄積装置を利用することができ、複数ページにわたるイメージを蓄積可能に構成することができる。なお、この例ではメモリ３との間のデータ転送はメモリ制御部７によって制御される。
【００２０】
メモリ制御部７は、メモリ３の記憶管理を行い、イメージ生成処理部２において利用するメモリ領域、及び、印刷処理部４において利用するメモリ領域の管理を行う。また、イメージ生成処理部２からの要求に従い、メモリ３に格納されたイメージを蓄積部６へ転送して蓄積させる。また、印刷処理部４からの要求に従い、蓄積部６に蓄積されているイメージをメモリ３に転送して格納させる。なお、蓄積部６へイメージを蓄積する際には圧縮を施し、また蓄積部６に蓄積されている圧縮されたイメージを取り出す際には復号を行うように構成することができる。
【００２１】
図２は、メモリ領域の利用形態の一例の説明図である。図中、図６と同様の部分には同じ符号を付してある。１１’は領域変更後のイメージ生成処理用領域、１２’は領域変更後の印刷処理用領域である。上述のように、メモリ３にはイメージ生成処理部２で生成され、圧縮されたイメージが格納されるとともに、印刷処理部４で読み出す復号された１ページ分のイメージが格納される。メモリ制御部７では、初期状態においては図２（Ａ）に示すように、イメージ生成処理用領域１１及び印刷処理用領域１２を隣接して確保しておく。印刷処理用領域１２には、画像形成部５において必要とするイメージ、例えば１ないし数ページ分のイメージが格納されるが、このデータ量は上述のようにイメージサイズ、必要とされるページ数、あるいは例えばカラーであれば全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなどによって、データ量はほぼ予測可能である。
【００２２】
またイメージ生成処理用領域１１には、イメージ生成処理部２でそれぞれの印刷指示に応じて生成されたイメージ及び生成が完了したイメージ等が格納される。イメージの格納及び蓄積部６への転送処理は、固定領域の方が処理が容易である。そのため、初期状態として、図２（Ａ）に示すように予め所定の領域を確保している。上述のようにイメージ生成処理によってメモリ３に格納するイメージの数は不定であり、全体のデータ量は予測できない。しかし、際限なくメモリ領域を広げても、利用効率が低下してしまう。そのため、所定の領域として、通常とみなせる印刷指示に基づいてイメージ生成処理を行う際に、そのイメージ生成処理が可能なだけの領域を確保しておけばよい。このイメージ生成処理領域１１内で処理できる限りは、このイメージ生成処理領域１１のみを使ってイメージ生成処理を行う。
【００２３】
しかし、上述のようにメモリ３に格納されるイメージの数が不定であることから必要とされるデータ量は不定である。そのため、予め確保しておいたイメージ生成処理用領域１１では格納しきれない場合が発生する。このような場合に、イメージ生成処理部２からメモリ制御部７に対してメモリ確保の要求が行われる。メモリ制御部７は、印刷処理用領域１２のイメージ生成処理用領域１１と連続した領域を確保し、イメージ生成処理用領域１１とともに連続領域として使用できるようにする。これによって、図２（Ｂ）に示したようにイメージ生成処理用領域１１は領域変更後のイメージ生成処理用領域１１’として利用できるようになる。なお、その分だけ印刷処理用領域１２は減少し、領域変更後の印刷処理用領域１２’となる。
【００２４】
このようにしてイメージ生成処理用領域１１を広げることによって、さらにイメージ生成処理中のイメージを格納することができるようになる。このとき、連続領域を確保しているので、使用可能領域の境界を変更するだけで、固定領域を利用した場合と同様の処理によって対応することが可能である。また、領域変更後の印刷処理用領域１２’は狭くなるが、この領域で印刷処理が可能であれば、イメージ生成処理部２と印刷処理部４は並行して動作することができる。印刷処理部４による印刷処理を実行するだけの領域が確保できない場合には、印刷処理部４はイメージ生成処理部２が領域を確保するまで待つことになる。
【００２５】
さらにイメージ生成処理部２において領域の不足が生じた場合には、同様にしてメモリ制御部７に対してメモリ確保の要求を行い、さらに連続した領域を確保し、圧縮されたイメージの格納を行ってゆく。もともとの印刷処理用領域１２をすべてイメージ生成処理用の領域として利用しても不足する場合には、一部のイメージを蓄積部６へ待避させたり、あるいは中間的なイメージ生成を行ってそれぞれの印刷指示毎に生成したイメージを減らす等、別途、エラー時の処理を行うことになる。
【００２６】
なお、上述のように印刷処理用領域１２は予測される最大データ量に合わせて確保しておけば、イメージ生成処理において利用されていない限り、印刷処理部４において処理を行っている時に印刷処理用領域１２が不足することはない。従って、イメージ生成処理用領域１１は、印刷処理によって利用されることはなく、イメージ生成処理専用として利用される。
【００２７】
次に、本発明の実施の一形態を搭載した画像形成装置の一例における動作について、特にイメージ生成処理部２及び印刷処理部４におけるメモリ３を利用する処理部分とメモリ制御部７の動作について一例を説明する。図３は、本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。印刷指示受信部１が印刷指示を受信すると、Ｓ２１において、イメージ生成処理部２は印刷指示受信部１からＰＤＬ等で記述された印刷指示を受け取る。このとき、例えば中間コードなどに展開する処理を行っておいてもよい。
【００２８】
イメージ生成処理部２では、受け取った印刷指示に基づいて、Ｓ２２においてイメージ生成処理を行う。具体的には、新たな印刷指示に従って描画処理を行い、イメージを生成し、生成したイメージをメモリ３に格納する。このとき、必要に応じてメモリ３に格納されているイメージを読み出して論理演算処理などを行い、結果をメモリ３に格納する。
【００２９】
Ｓ２３において、メモリ３（イメージ生成処理用領域１１あるいは領域変更後のイメージ生成処理用領域１１’）にイメージを格納するだけの空き領域が存在するか否かを判定する。空き領域があれば、Ｓ２４においてメモリ３へ圧縮したイメージを格納する。そしてＳ２５において、例えば１ページ分や１バンド分など、所定単位のイメージを生成し終えたか否かを判定し、まだ所定単位のイメージを生成し終えていなければＳ２２へ戻って次の印刷指示に従ってイメージの生成を行う。
【００３０】
Ｓ２３で空き領域が不足していると判定された場合には、Ｓ２６において、イメージ生成処理部２は領域の確保をメモリ制御部７に対して要求する。メモリ制御部７は、イメージ生成処理部２からの要求を受け、Ｓ３１において、印刷処理用領域１２からの領域確保のための準備を行う。例えば印刷処理部４において印刷処理用領域１２を広く使用している場合には、領域を確保できない場合もある。Ｓ３２において、準備完了か否かを判断し、領域を確保できるまで待つ。準備完了となったら、Ｓ３３において、印刷処理用領域１２からイメージ生成処理用領域１１（あるいは領域変更後のイメージ生成処理用領域１１’）と連続する領域を確保し、イメージ生成処理部２に対して利用可能となった旨や、新たな領域の境界アドレスなどを通知する。この通知を受けたイメージ生成処理部２では、書き込み可能なメモリ３の領域の境界についての情報を更新した後、イメージ生成処理を続行する。すなわち、Ｓ２４へ進み、既に生成したイメージについてメモリ３への格納を行う。
【００３１】
このように、それぞれの印刷指示についてイメージの生成及びメモリ３への格納を繰り返し、またメモリ３の領域が不足する場合にはメモリ制御部７に対して領域確保の要求を行って領域を確保してイメージの格納を行ってゆく。所定単位のイメージを生成し終えたら、Ｓ２５においてこれを検出してＳ２７へ進む。
【００３２】
Ｓ２７において、イメージ生成処理部２はメモリ制御部７に対して、メモリ３に格納したイメージを蓄積部６へ転送するように要求する。これに応じてメモリ制御部７は、Ｓ３４において、メモリ３に格納されているイメージを蓄積部６へ転送して蓄積させる。なお、蓄積部６への蓄積の際には、圧縮して蓄積することができる。
【００３３】
このようなイメージの蓄積部６への蓄積がある程度進むと、印刷処理部４による印刷処理が可能となる。簡単な例では、１ページ単位でイメージ生成及び印刷処理を行う場合には、１ページ分のイメージが蓄積部６に蓄積された時点で、印刷処理部４による印刷処理が可能となる。所定単位のイメージを蓄積部６へ蓄積した時点で印刷処理が可能であるか否かを判断し、可能であればイメージ生成処理部２あるいはメモリ制御部７が印刷処理部４に対して、印刷処理が可能である旨を通知するように構成することができる。
【００３４】
所定単位のイメージの蓄積部６への転送が終了したら、Ｓ２８において、それまで所定単位のイメージを生成するために必要としており、今後のイメージ生成に使用しないメモリ３の領域を、後続のイメージの格納に使用できるように、メモリ制御部７へ解放を要求する。イメージ生成処理部２から領域の解放要求を受けたメモリ制御部７は、Ｓ３５において、Ｓ３４で蓄積部６へ転送したイメージが格納されていた領域、及びそのイメージを生成するために利用し、今後利用しないイメージが格納されていた領域を解放して新たなイメージの格納に利用可能にする。
【００３５】
この時点では、印刷処理用領域１２からイメージ生成処理用に確保している場合、その領域についても再びイメージが格納可能な状態となっている。Ｓ３６において、印刷処理用領域１２中のイメージ生成処理用として確保した領域を、印刷処理用に戻せるか否かを判定する。元々印刷処理用領域１２中にイメージ生成処理用の領域を確保していない場合や、この時点では印刷処理用領域１２中に確保したイメージ生成処理用の領域を印刷処理用に戻せないと判断される場合には、そのままのメモリ３の使用状態を維持する。印刷処理用領域１２中に確保したイメージ生成処理用の領域を印刷処理用に戻せる場合には、Ｓ３７において、印刷処理用領域１２中の当該領域を印刷処理用に戻す。これによって、後述する印刷処理において利用可能な領域が増加する。
【００３６】
なお、印刷処理用領域１２中に確保したイメージ生成処理用の領域を印刷処理用に戻せない場合としては、例えば他のページのイメージを参照しながらイメージ生成処理を行う場合であって、参照するページのイメージが印刷処理用領域１２中に確保した領域に存在する場合等が考えられる。このような場合であっても、１つの印刷ジョブについてのイメージ生成処理が終了すれば、印刷処理用領域１２中に確保したイメージ生成処理用の領域を印刷処理用に戻すことができる。従って、例えば印刷処理用領域１２からイメージ生成処理用の領域を確保したために印刷処理が中断してしまう場合でも、最悪、１つの印刷ジョブについてイメージ生成処理が終了すれば、印刷処理を再開することが可能である。
【００３７】
その後、イメージ生成処理部２はＳ２９において、印刷指示受信部１で受け取った印刷指示（例えばＰＤＬ）がすべて終了したか否かを判定し、未処理のものが残っている場合にはＳ２２へ戻ってイメージ生成処理を続行する。すべての印刷指示を処理すれば、１つのジョブについての処理を終える。
【００３８】
図４は、本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。上述のイメージ生成処理時の処理例において述べたように、例えば１ページ単位で画像形成を行ってゆく場合には、蓄積部６に１ページ分以上のイメージが存在していれば、印刷処理部４による印刷処理は可能となる。もちろん、印刷モードなどによっては、ページ順序などを入れ換える場合もあり、その場合には、最初に形成するページのイメージが蓄積部６に蓄積された時点で印刷処理が可能となる。ここでは１ページずつ順に印刷処理を行ってゆくものとして説明する。
【００３９】
印刷処理部４は、Ｓ４１において、蓄積部６に１ページ分以上のイメージが蓄積され、印刷処理が可能である旨の通知を受け取ると、Ｓ４２において、メモリ制御部７に対してメモリ３中の印刷処理用領域１２の領域確保を要求する。要求する領域の大きさは、１ページのイメージの大きさや画像形成部５の画像形成方式などに従って決定される。１ページのイメージの大きさは、画像形成部５においてイメージを形成する用紙の大きさに対応し、例えば印刷指示受信部１で受け取った印刷指示で指定されている場合が多い。あるいは、別途、例えば図示しない操作パネルから指定されることもある。そのほか、画像形成部５において例えばカラー画像を形成する場合に全ての色成分のイメージが必要か、あるいはそれぞれの色成分毎に読み出せばよいかなど、種々の条件を考慮することによって決定することができる。
【００４０】
メモリ制御部７は、印刷処理部４から領域確保の要求を受け取ると、Ｓ５１において、要求されたメモリサイズの領域を印刷処理用領域１２中に確保できるか否かを判定する。例えば上述のイメージ生成処理によって印刷処理用領域１２中の領域まで使用されている場合、印刷処理部４から要求された領域を確保できない場合がある。そのような場合には、Ｓ５２において、印刷処理用領域１２が解放されたか否かを判定し、印刷処理用として解放されるまで待つ。これによって、印刷処理部４の処理も待たされることになる。この場合、不足している領域をイメージ生成処理用領域１１から取得することはない。もちろん、印刷処理用領域１２中にイメージ生成処理用の領域が確保されていても、印刷処理用に領域が確保できる場合もあり、その場合には印刷処理部４は待つことなく印刷処理を実行可能である。
【００４１】
印刷処理用領域１２中の領域がイメージ生成処理から印刷処理用として解放されたら、Ｓ５１へ戻って再び印刷処理部４から要求された領域を確保できるか否かをチェックする。Ｓ５１で印刷処理部４から要求された領域を確保できると判定された場合には、Ｓ５３において、その要求された領域を印刷処理用領域１２から確保し、印刷処理部４に通知する。
【００４２】
印刷処理部４は、印刷処理用領域１２中に領域が確保されたら、ここではメモリ制御部３に対して蓄積部６に蓄積されているイメージを読み出し、印刷処理用領域１２中の確保した領域に転送、格納するように要求する。メモリ制御部７は、この要求に応じ、Ｓ５４において蓄積部６からイメージを読み出し、圧縮して蓄積されている場合には復号し、印刷処理用領域１２中の確保した領域に転送、格納する。なお、この処理はメモリ制御部７が行うほか、印刷処理部４が自ら行ってもよい。
【００４３】
メモリ３への転送が完了したら、印刷処理部４は、Ｓ４４において、メモリ３からイメージを読み出しながら印刷用の処理を行い、画像形成部５へイメージを送ってイメージの形成を行わせる。なお、メモリ３からのイメージの読み出しは、画像形成部５の動作と同期して行われる。また、画像形成部５の画像形成方式に従って、例えばカラーイメージであれば色成分毎にそれぞれの画像形成位置に対応した画素を読み出すことになる。
【００４４】
Ｓ４５において、すべてのページを印刷処理したか否かを判定し、まだ未処理のページが残っていれば、Ｓ４３へ戻って、当該ページのイメージのメモリ３への転送要求から繰り返す。すべてのページのイメージを形成し終えたら、１つのジョブに対する印刷処理を終了する。
【００４５】
上述のような印刷処理において、Ｓ４２で印刷処理部４からメモリ制御部７に対して領域確保の要求を行ったが、例えば上述のイメージ生成処理によって印刷処理用領域１２中の領域まで使用され、印刷処理部４から要求された領域を確保できない場合には印刷処理が待たされることになる。さらに上述のイメージ生成処理において述べたように、最悪の場合には１つのジョブのイメージ生成処理が終了するまで、印刷処理用領域１２中に確保されたイメージ生成処理用の領域が解放されず、１ページも印刷処理することなく印刷処理が待たされてしまう場合がある。この場合、全てのイメージを蓄積部６に蓄積してから印刷処理を行うことになる。一般的には、このように全てのイメージを一旦蓄積してから印刷処理を行う完全先行蓄積と呼ばれる手法が用いられることがあるが、上述のようなケースでは、結果的に完全先行蓄積となってしまう。
【００４６】
完全先行蓄積を行うか否かは、一般的には印刷指示のパラメータによって決まるため、処理の初めに知ることができる。しかし上述のようなケースでは、完全先行蓄積を行わずに基本的にはイメージ生成処理と印刷処理とを並行して行うものとして処理を開始している。そのため、処理の途中で完全先行蓄積となることが判明したり、あるいは、判断できずに最終的に完全先行蓄積になってしまったということもあり得る。
【００４７】
完全先行蓄積か否かで異なる処理があるとき、その判断のタイミングを、（必要に応じて）遅らせるか、または、別途判断しなければならない。例えば、完全先行蓄積では、イメージ生成処理が終了まで画像形成部５を起動しないが、完全先行蓄積でない場合は、１ページ目のイメージ生成処理の開始時点で、画像形成部５を起動させてスループットの向上を図るといったことが行われる。上述のような結果として完全先行蓄積となってしまう場合には、１ページ目のイメージ生成処理の開始時点で、完全先行蓄積ではないものとして画像形成部５を起動させる。しかし、印刷処理を開始することができないため、必要以上に早く画像形成部５を起動させることになる。その結果、画像形成部５の寿命を縮めてしまう場合がある。
【００４８】
このような問題が懸念される場合には、イメージ生成処理で完全先行蓄積になることがわかったら、画像形成部５を起動させないか、あるいは、画像形成部５が既に起動している場合には一旦終了させるように制御するとよい。もちろん、完全先行蓄積とならずとも、例えば上述の印刷処理で領域を確保できなかった場合や、イメージ生成処理中の領域解放時に印刷処理用領域１２中のイメージ生成処理用に確保した領域を印刷処理用として解放できずに印刷処理時に領域確保を行えない場合に、画像形成部５を停止させるといったことも考えられる。また、スループットは低下するが、印刷処理において領域が確保できた時点で画像形成部５を起動するといった解決方法も可能である。
【００４９】
【発明の効果】
以上の説明から明らかなように、本発明によれば、メモリの利用及び管理の容易な固定（連続）領域によるメモリ管理方法を採用し、固定領域でメモリが不足しない場合にはその範囲で処理を行う。また、固定領域ではメモリ領域が不足する場合に、隣接する領域を他の処理と共用し、連続した領域を拡大することによってメモリ不足を解消することができる。このとき、もとの固定領域と連続した領域を取得するので、境界のアドレスを変更する程度でそのまま固定（連続）領域によるメモリ管理方法を適用することができる。さらに、最初から固定領域を広く確保しておく場合に比べてメモリを効率よく利用することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態を搭載した画像形成装置の一例を示すブロック図である。
【図２】メモリ領域の利用形態の一例の説明図である。
【図３】本発明の実施の一形態を搭載した画像形成装置の一例におけるイメージ生成処理時の動作の一例を示すフローチャートである。
【図４】本発明の実施の一形態を搭載した画像形成装置の一例における印刷処理時の動作の一例を示すフローチャートである。
【図５】蓄積手段を有する画像形成装置の一例を示すブロック図である。
【図６】従来のメモリ３の利用形態の一例の説明図である。
【符号の説明】
１…印刷指示受信部、２…イメージ生成処理部、３…メモリ、４…印刷処理部、５…画像形成部、６…蓄積部、７…メモリ制御部、１１…イメージ生成処理用領域、１１’…領域変更後のイメージ生成処理用領域、１２…印刷処理用領域、１２’…領域変更後の印刷処理用領域。
【図１】
2004086751.tif 000003
【図２】
2004086751.tif 000004
【図３】
2004086751.tif 000005
【図４】
2004086751.tif 000006
【図５】
2004086751.tif 000007
【図６】
2004086751.tif 000008