JP2001213011A - メモリ管理方法及び画像形成装置 - Google Patents
メモリ管理方法及び画像形成装置Info
- Publication number
- JP2001213011A JP2001213011A JP2000027486A JP2000027486A JP2001213011A JP 2001213011 A JP2001213011 A JP 2001213011A JP 2000027486 A JP2000027486 A JP 2000027486A JP 2000027486 A JP2000027486 A JP 2000027486A JP 2001213011 A JP2001213011 A JP 2001213011A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- page
- band
- bitmap
- memory area
- 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
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】
【課題】 本発明はバンド管理のオーバーヘッドをなく
し、ビットマップ展開を高速にできると共に、PDLデ
ータのビットマップへの展開を途切れることなく実行さ
せることを目的とする。 【解決手段】 ページメモリのメモリ領域で1ページ分
のビットマップに展開可能なメモリ領域があるときは用
紙サイズ分のページ単位のメモリ管理を用いてビットマ
ップに展開し、ページメモリのメモリ領域で1ページ分
のビットマップに展開可能なメモリ領域がないときには
画像データの1ページをバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開するようにページメモリを管理するメモリ管理部(1
6)を有する。
し、ビットマップ展開を高速にできると共に、PDLデ
ータのビットマップへの展開を途切れることなく実行さ
せることを目的とする。 【解決手段】 ページメモリのメモリ領域で1ページ分
のビットマップに展開可能なメモリ領域があるときは用
紙サイズ分のページ単位のメモリ管理を用いてビットマ
ップに展開し、ページメモリのメモリ領域で1ページ分
のビットマップに展開可能なメモリ領域がないときには
画像データの1ページをバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開するようにページメモリを管理するメモリ管理部(1
6)を有する。
Description
【0001】
【発明の属する技術分野】本発明はメモリ管理方法及び
画像形成装置に関し、特に上位装置から送信されるPD
Lデータをページメモリにビットマップで展開するペー
ジプリンタ等の画像形成装置に関する。
画像形成装置に関し、特に上位装置から送信されるPD
Lデータをページメモリにビットマップで展開するペー
ジプリンタ等の画像形成装置に関する。
【0002】
【従来の技術】従来、バンドメモリ管理を行う場合、省
メモリのみが優先されるため、バンドメモリ管理以外
(ページ単位)でメモリを使用する。その一例として、
特開平9−164729号公報(以下従来例1と称す)
では、ビットマップメモリを複数のブロックに分割して
そのブロック毎にビットマップを記憶したか否かを管理
し、ワークメモリのメモリフル時に未使用のブロックメ
モリを拡張されたワークメモリに転用することにより、
ページメモリからビットマップのないメモリを取得して
いるが、ワークメモリとしての利用で描画用のメモリと
しては使用していない。
メモリのみが優先されるため、バンドメモリ管理以外
(ページ単位)でメモリを使用する。その一例として、
特開平9−164729号公報(以下従来例1と称す)
では、ビットマップメモリを複数のブロックに分割して
そのブロック毎にビットマップを記憶したか否かを管理
し、ワークメモリのメモリフル時に未使用のブロックメ
モリを拡張されたワークメモリに転用することにより、
ページメモリからビットマップのないメモリを取得して
いるが、ワークメモリとしての利用で描画用のメモリと
しては使用していない。
【0003】また、ページ記述言語(以下PDLと略
す)データをビットマップに展開するページプリンタに
おいて、高速な印刷が求められる場合、いかにPDLデ
ータのビットマップへの展開にCPUパワーを配分し、
その動作を途切れることなく行うことができるかが一つ
のポイントになる。更に、比較的大容量のページメモリ
を搭載し、予め複数枚のページメモリにビットマップが
作成されていれば、ビットマップ展開に時間がかかる処
理が発生したとしても、プリントエンジンの性能を損な
わずに、滞りなく印刷できる可能性が高くなる。
す)データをビットマップに展開するページプリンタに
おいて、高速な印刷が求められる場合、いかにPDLデ
ータのビットマップへの展開にCPUパワーを配分し、
その動作を途切れることなく行うことができるかが一つ
のポイントになる。更に、比較的大容量のページメモリ
を搭載し、予め複数枚のページメモリにビットマップが
作成されていれば、ビットマップ展開に時間がかかる処
理が発生したとしても、プリントエンジンの性能を損な
わずに、滞りなく印刷できる可能性が高くなる。
【0004】
【発明が解決しようとする課題】しかしながら、高速な
プリントエンジンは通紙パスが長くなる傾向があり、ジ
ャムリカバリーのためにページメモリをプリントエンジ
ンへの転送が終わった後も排紙完了までは保持しなくて
はならないことや、メモリ搭載のコストの問題もあるこ
とから必ずしも十分なメモリを搭載していないという問
題がある。また、ページメモリに割り当てられるメモリ
が必要量だけ割り当てられなくなった場合、CPU資源
としては十分な余裕があるにもかかわらず、PDLから
のビットマップへの展開が以前に作成したページメモリ
が開放されるまでの間完全に滞ることになる。
プリントエンジンは通紙パスが長くなる傾向があり、ジ
ャムリカバリーのためにページメモリをプリントエンジ
ンへの転送が終わった後も排紙完了までは保持しなくて
はならないことや、メモリ搭載のコストの問題もあるこ
とから必ずしも十分なメモリを搭載していないという問
題がある。また、ページメモリに割り当てられるメモリ
が必要量だけ割り当てられなくなった場合、CPU資源
としては十分な余裕があるにもかかわらず、PDLから
のビットマップへの展開が以前に作成したページメモリ
が開放されるまでの間完全に滞ることになる。
【0005】通常、省メモリ技術としてはメモリを所定
のバンドに区切り、ビットマップのないバンドにはメモ
リを割り当てずに済ます方式が一般的であるが、この方
式ではメモリに余裕がある時には逆にバンドメモリ管理
のために生じるオーバーヘッドにより、最もCPUパワ
ーを必要とするPDLデータのビットマップへの展開に
悪影響を与える。
のバンドに区切り、ビットマップのないバンドにはメモ
リを割り当てずに済ます方式が一般的であるが、この方
式ではメモリに余裕がある時には逆にバンドメモリ管理
のために生じるオーバーヘッドにより、最もCPUパワ
ーを必要とするPDLデータのビットマップへの展開に
悪影響を与える。
【0006】本発明はこれらの問題点を解決するための
ものであり、メモリ領域に余裕のある場合にはバンド管
理のオーバーヘッドをなくし、ビットマップ展開を高速
にできると共に、メモリに余裕がなくなった場合にその
ページ以降の展開をバンドメモリ管理に変更することに
よりPDLデータのビットマップへの展開を途切れるこ
となく実行させることを目的とする。
ものであり、メモリ領域に余裕のある場合にはバンド管
理のオーバーヘッドをなくし、ビットマップ展開を高速
にできると共に、メモリに余裕がなくなった場合にその
ページ以降の展開をバンドメモリ管理に変更することに
よりPDLデータのビットマップへの展開を途切れるこ
となく実行させることを目的とする。
【0007】
【課題を解決するための手段】前記問題点を解決するた
めに、ホストから送られたデータをビットマップに展開
して格納するメモリを管理するメモリ管理方法によれ
ば、メモリのメモリ領域で1ブロック分のビットマップ
に展開可能なメモリ領域があるときはブロック単位のメ
モリ管理を用いてブロック単位でビットマップに展開す
る。一方メモリのメモリ領域で1ブロック分のビットマ
ップに展開可能なメモリ領域がないときには1ブロック
のメモリ領域より小さいバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開する。よって、バンド管理のオーバーヘッドをなく
し、ビットマップ展開を高速にできる。また、バンド単
位のメモリ管理によって割り当てるメモリ領域がなくな
ったときは、以前に作成したページ単位のメモリ領域を
バンド単位のメモリ管理に切り替え、ビットマップが存
在しないバンドのメモリ領域に未処理データを割り当て
てビットマップに展開することにより、ビットマップへ
の展開を途切れることなく実行させる。更に、物理アド
レスが連続しているバンドのメモリ領域は1つのバンド
のメモリ領域とすることにより、高速化が図れる。
めに、ホストから送られたデータをビットマップに展開
して格納するメモリを管理するメモリ管理方法によれ
ば、メモリのメモリ領域で1ブロック分のビットマップ
に展開可能なメモリ領域があるときはブロック単位のメ
モリ管理を用いてブロック単位でビットマップに展開す
る。一方メモリのメモリ領域で1ブロック分のビットマ
ップに展開可能なメモリ領域がないときには1ブロック
のメモリ領域より小さいバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開する。よって、バンド管理のオーバーヘッドをなく
し、ビットマップ展開を高速にできる。また、バンド単
位のメモリ管理によって割り当てるメモリ領域がなくな
ったときは、以前に作成したページ単位のメモリ領域を
バンド単位のメモリ管理に切り替え、ビットマップが存
在しないバンドのメモリ領域に未処理データを割り当て
てビットマップに展開することにより、ビットマップへ
の展開を途切れることなく実行させる。更に、物理アド
レスが連続しているバンドのメモリ領域は1つのバンド
のメモリ領域とすることにより、高速化が図れる。
【0008】また、別の発明として、ホストから送信さ
れるページ記述言語データをビットマップに展開して格
納するページメモリを有する画像形成装置は、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域があるときは用紙サイズ分のページ単位
のメモリ管理を用いてビットマップに展開し、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域がないときには画像データの1ページを
バンドで区切ったバンド単位のメモリ管理に切り替えて
バンド単位でビットマップに展開するようにページメモ
リを管理するメモリ管理部を有することに特徴がある。
また、メモリ管理部は、バンド単位のメモリ管理によっ
て割り当てるメモリ領域がなくなったときは以前に作成
したページ単位のメモリ領域をバンド単位のメモリ管理
に切り替え、ビットマップが存在しないバンドのメモリ
領域に未処理のバンドの画像データを割り当ててビット
マップに展開する。更に、メモリ管理部は、物理アドレ
スが連続しているバンドのメモリ領域は1つのバンドの
メモリ領域とする。よって、メモリ領域に余裕のある場
合にはバンド管理のオーバーヘッドをなくし、ビットマ
ップ展開を高速にできると共に、メモリに余裕がなくな
った場合にそのページ以降の展開をバンドメモリ管理に
変更することによりPDLデータのビットマップへの展
開を途切れることなく実行させることができる。
れるページ記述言語データをビットマップに展開して格
納するページメモリを有する画像形成装置は、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域があるときは用紙サイズ分のページ単位
のメモリ管理を用いてビットマップに展開し、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域がないときには画像データの1ページを
バンドで区切ったバンド単位のメモリ管理に切り替えて
バンド単位でビットマップに展開するようにページメモ
リを管理するメモリ管理部を有することに特徴がある。
また、メモリ管理部は、バンド単位のメモリ管理によっ
て割り当てるメモリ領域がなくなったときは以前に作成
したページ単位のメモリ領域をバンド単位のメモリ管理
に切り替え、ビットマップが存在しないバンドのメモリ
領域に未処理のバンドの画像データを割り当ててビット
マップに展開する。更に、メモリ管理部は、物理アドレ
スが連続しているバンドのメモリ領域は1つのバンドの
メモリ領域とする。よって、メモリ領域に余裕のある場
合にはバンド管理のオーバーヘッドをなくし、ビットマ
ップ展開を高速にできると共に、メモリに余裕がなくな
った場合にそのページ以降の展開をバンドメモリ管理に
変更することによりPDLデータのビットマップへの展
開を途切れることなく実行させることができる。
【0009】
【発明の実施の形態】ページメモリのメモリ領域で1ペ
ージ分のビットマップに展開可能なメモリ領域があると
きは用紙サイズ分のページ単位のメモリ管理を用いてビ
ットマップに展開し、ページメモリのメモリ領域で1ペ
ージ分のビットマップに展開可能なメモリ領域がないと
きには画像データの1ページをバンドで区切ったバンド
単位のメモリ管理に切り替えてバンド単位でビットマッ
プに展開するようにページメモリを管理するメモリ管理
部を有する。
ージ分のビットマップに展開可能なメモリ領域があると
きは用紙サイズ分のページ単位のメモリ管理を用いてビ
ットマップに展開し、ページメモリのメモリ領域で1ペ
ージ分のビットマップに展開可能なメモリ領域がないと
きには画像データの1ページをバンドで区切ったバンド
単位のメモリ管理に切り替えてバンド単位でビットマッ
プに展開するようにページメモリを管理するメモリ管理
部を有する。
【0010】
【実施例】図1は本発明に係る画像形成装置の構成を示
すブロック図である。同図において、本発明に係る画像
形成装置は、バス11を介して、CPU12と、受信バ
ッファ13と、プログラム実行メモリ14と、ページメ
モリ15と、メモリ管理部16と、ホストI/F17
と、ホスト18と、中間コード/フォントROM19
と、印刷制御部20と、入出力パネル21と、ビデオI
/F22と、プリントエンジン23とを含んで構成され
ている。
すブロック図である。同図において、本発明に係る画像
形成装置は、バス11を介して、CPU12と、受信バ
ッファ13と、プログラム実行メモリ14と、ページメ
モリ15と、メモリ管理部16と、ホストI/F17
と、ホスト18と、中間コード/フォントROM19
と、印刷制御部20と、入出力パネル21と、ビデオI
/F22と、プリントエンジン23とを含んで構成され
ている。
【0011】次に、このような構成を有する画像形成装
置におけるページメモリのメモリ管理動作について説明
すると、セントロニクス,RS−232C,ネットワー
ク,USB等のホストI/F17を介してホスト18か
ら入力されたPDLデータは受信バッファ13に一時格
納される。受信バッファ13に格納されたPDLデータ
は、動作のために必要なソフトウェア構成を示す図2に
示すデータ展開モジュール32によって解釈され、ペー
ジメモリ15にビットマップに展開される。この動作は
2ステップに別れる。つまり図2のデータ展開モジュー
ル32によって、ビットマップ展開に適した中間コード
に変換され、描画用モジュールが中間コードをビットマ
ップへ展開をすることもあるが、ここでの説明には影響
を与えないので省略する。そして、ページメモリ15の
作成が完了すると、メモリ管理部16は、上記データ展
開モジュール32とは独立して動作する図2の印刷制御
モジュール33へページメモリ15の管理を移管する。
印刷制御モジュール33は、ページメモリ15を保持
し、そのページを印刷するタイミングになると、図1の
印刷制御部20へビデオDMAのためのアドレス、主/
副走査幅などの設定後ビデオ転送を行い、ジャムバック
アップを考慮してそのページが排紙されるまでページメ
モリ15を保持した後ページメモリ15の開放を行う。
なお、ジャムバックアップ用にはページメモリを解放
し、中間コードの形式で保存する方法や、印刷後のペー
ジメモリを圧縮し保存する方法も存在するが、中間コー
ドでの保存はジャムバックアップ時にページメモリへの
再展開のCPUコストが発生し、また圧縮して保存する
方式では通常の印刷中に圧縮のCPUコストが発生する
ため、印刷速度が低下する要因となるために、ここでは
採用しない。次に、データ展開モジュール32のページ
メモリ作成と、プリントエンジン23の動作とは非同期
に行われるため、印刷制御モジュール33は同時に複数
のページメモリ15を管理することになる。また、両面
印刷機構の関係でページ順の入れ替えを行う必要がある
場合、図2の印刷制御モジュール33が図1のプリント
エンジン23に送出するページメモリ15の順番を入れ
替えて転送を行う。
置におけるページメモリのメモリ管理動作について説明
すると、セントロニクス,RS−232C,ネットワー
ク,USB等のホストI/F17を介してホスト18か
ら入力されたPDLデータは受信バッファ13に一時格
納される。受信バッファ13に格納されたPDLデータ
は、動作のために必要なソフトウェア構成を示す図2に
示すデータ展開モジュール32によって解釈され、ペー
ジメモリ15にビットマップに展開される。この動作は
2ステップに別れる。つまり図2のデータ展開モジュー
ル32によって、ビットマップ展開に適した中間コード
に変換され、描画用モジュールが中間コードをビットマ
ップへ展開をすることもあるが、ここでの説明には影響
を与えないので省略する。そして、ページメモリ15の
作成が完了すると、メモリ管理部16は、上記データ展
開モジュール32とは独立して動作する図2の印刷制御
モジュール33へページメモリ15の管理を移管する。
印刷制御モジュール33は、ページメモリ15を保持
し、そのページを印刷するタイミングになると、図1の
印刷制御部20へビデオDMAのためのアドレス、主/
副走査幅などの設定後ビデオ転送を行い、ジャムバック
アップを考慮してそのページが排紙されるまでページメ
モリ15を保持した後ページメモリ15の開放を行う。
なお、ジャムバックアップ用にはページメモリを解放
し、中間コードの形式で保存する方法や、印刷後のペー
ジメモリを圧縮し保存する方法も存在するが、中間コー
ドでの保存はジャムバックアップ時にページメモリへの
再展開のCPUコストが発生し、また圧縮して保存する
方式では通常の印刷中に圧縮のCPUコストが発生する
ため、印刷速度が低下する要因となるために、ここでは
採用しない。次に、データ展開モジュール32のページ
メモリ作成と、プリントエンジン23の動作とは非同期
に行われるため、印刷制御モジュール33は同時に複数
のページメモリ15を管理することになる。また、両面
印刷機構の関係でページ順の入れ替えを行う必要がある
場合、図2の印刷制御モジュール33が図1のプリント
エンジン23に送出するページメモリ15の順番を入れ
替えて転送を行う。
【0012】次に、データ展開モジュールの基本動作に
ついて動作フローを示す図3に従って説明すると、取得
したデータからページサイズを決定する(ステップS1
01,S102)。そして、図1のページメモリ15を
アロケートし、アロケータ処理が成功しなかった場合は
ウエイト処理を施して再度ページメモリ15をアロケー
トする(ステップS103〜S105)。ステップS1
04でアロケータ処理が成功したらデータを受信し、1
ページデータが完了するまでビットマップ展開を行う
(ステップS106,S107)。1ページ分のデータ
に対してビットマップ展開したら、メモリ管理部16は
印刷制御部20へページメモリ15の管理を移管させ
て、次ページ処理へ移る(ステップS108,S10
9)。なお、印刷制御モジュール33はデータ展開モジ
ュール32、プリントエンジン23からのイベントによ
って動作するため説明は省略するが、次のようなイベン
トに対応する機能を持つ小モジュールの集合体である。
ページメモリ作成完了イベントに対してはページメモリ
を管理下に置き(例えばキューに追加)、印刷準備完了
イベントに対しては次に転送するページメモリのサー
チ、ビデオ設定を行う。また、ビデオ転送要求イベント
に対してはビデオ転送開始、ジャム発生イベントに対し
てはジャムバックアップ処理開始、排紙完了イベントに
対しては対応するページメモリ開放をそれぞれ行う。こ
のようなイベントはハードウェア割り込みやフラグなど
を用いたソフトウェアのイベントの両方が有り得る。
ついて動作フローを示す図3に従って説明すると、取得
したデータからページサイズを決定する(ステップS1
01,S102)。そして、図1のページメモリ15を
アロケートし、アロケータ処理が成功しなかった場合は
ウエイト処理を施して再度ページメモリ15をアロケー
トする(ステップS103〜S105)。ステップS1
04でアロケータ処理が成功したらデータを受信し、1
ページデータが完了するまでビットマップ展開を行う
(ステップS106,S107)。1ページ分のデータ
に対してビットマップ展開したら、メモリ管理部16は
印刷制御部20へページメモリ15の管理を移管させ
て、次ページ処理へ移る(ステップS108,S10
9)。なお、印刷制御モジュール33はデータ展開モジ
ュール32、プリントエンジン23からのイベントによ
って動作するため説明は省略するが、次のようなイベン
トに対応する機能を持つ小モジュールの集合体である。
ページメモリ作成完了イベントに対してはページメモリ
を管理下に置き(例えばキューに追加)、印刷準備完了
イベントに対しては次に転送するページメモリのサー
チ、ビデオ設定を行う。また、ビデオ転送要求イベント
に対してはビデオ転送開始、ジャム発生イベントに対し
てはジャムバックアップ処理開始、排紙完了イベントに
対しては対応するページメモリ開放をそれぞれ行う。こ
のようなイベントはハードウェア割り込みやフラグなど
を用いたソフトウェアのイベントの両方が有り得る。
【0013】以上が一般的な印刷の動作であるが、ここ
でページメモリのアロケートについて説明する。図1の
ページメモリ15はすべて仮想アドレスで管理される。
図2のデータ展開モジュール32がページメモリ15を
オペレーティングシステム34に対して要求したとき
に、オペレーティングシステム34は、まだ物理メモリ
の割り当てられていない仮想アドレスを返答する。よっ
て、実際には上述のように図3に示すアロケートの失敗
は起こりえず、ウエイト処理はページメモリのアロケー
ト時には発生しない。そして、データ展開モジュール3
2がビットマップを仮想アドレスに割り当てられたペー
ジメモリ15に書き込みを行うと、物理メモリが割り当
てられていないために、図1のCPU12の例外が発生
する。よって、オペレーティングシステム34中のメモ
リ管理モジュールは、この例外が発生した時に、初めて
物理メモリを仮想アドレスのページメモリに割り当てる
ことになる。ウエイト処理は、ページメモリに割り当て
る物理メモリが不足した時、割り当てられる物理メモリ
が確保できるまでの間、データ展開モジュールへのコン
テキストスイッチを行わない等の方法により実現され
る。
でページメモリのアロケートについて説明する。図1の
ページメモリ15はすべて仮想アドレスで管理される。
図2のデータ展開モジュール32がページメモリ15を
オペレーティングシステム34に対して要求したとき
に、オペレーティングシステム34は、まだ物理メモリ
の割り当てられていない仮想アドレスを返答する。よっ
て、実際には上述のように図3に示すアロケートの失敗
は起こりえず、ウエイト処理はページメモリのアロケー
ト時には発生しない。そして、データ展開モジュール3
2がビットマップを仮想アドレスに割り当てられたペー
ジメモリ15に書き込みを行うと、物理メモリが割り当
てられていないために、図1のCPU12の例外が発生
する。よって、オペレーティングシステム34中のメモ
リ管理モジュールは、この例外が発生した時に、初めて
物理メモリを仮想アドレスのページメモリに割り当てる
ことになる。ウエイト処理は、ページメモリに割り当て
る物理メモリが不足した時、割り当てられる物理メモリ
が確保できるまでの間、データ展開モジュールへのコン
テキストスイッチを行わない等の方法により実現され
る。
【0014】このようなメモリ管理を行うことにより、
データ展開モジュールは描画するメモリがページ単位の
管理であろうとも、バンド単位の管理であろうとも意識
することなく処理を行うことができる。
データ展開モジュールは描画するメモリがページ単位の
管理であろうとも、バンド単位の管理であろうとも意識
することなく処理を行うことができる。
【0015】通常残りのメモリに余裕がある時には、メ
モリ管理モジュールは仮想アドレスのページメモリに書
き込みがあった場合1ページ分の実メモリを仮想のペー
ジメモリに割り付ける。しかし、割り当て可能メモリが
1ページ分に満たなかった場合、書き込みがあったアド
レスが含まれるバンドにのみメモリの割り当てを行う。
バンド単位での割り当てを開始するタイミングである
が、1ページ分のメモリがなかった時でも構わないし、
また予め定められた所定のメモリ残容量になったときで
も構わない。
モリ管理モジュールは仮想アドレスのページメモリに書
き込みがあった場合1ページ分の実メモリを仮想のペー
ジメモリに割り付ける。しかし、割り当て可能メモリが
1ページ分に満たなかった場合、書き込みがあったアド
レスが含まれるバンドにのみメモリの割り当てを行う。
バンド単位での割り当てを開始するタイミングである
が、1ページ分のメモリがなかった時でも構わないし、
また予め定められた所定のメモリ残容量になったときで
も構わない。
【0016】図4はページ単位でアロケートした一例を
示す図である。同図は、ページ1〜4までは1ページ分
のメモリが割り当てられ、ページ5のメモリをアロケー
トする時に1ページ分のメモリがないことが検出された
様子を示している。そこで、ページ単位でアロケートで
きなかったページ5に関しては、図5に示すように、割
り当て可能メモリをサーチし、その割り当て可能メモリ
のメモリ領域分によってページ5内をバンド単位でアロ
ケートし、アロケートされた各バンドには図5の矢印1
〜4のようにビットマップが展開されて、描画が滞るこ
とを防いでいる。しかし、図5に示すように、画像デー
タの1つである文字「も」が下半分のため、図5のメモ
リ上では割り当て可能メモリからアロケートすることが
できない。そこで、この時は作成済みであって印刷待ち
のページ4をバンド単位に分割し、ビットマップがない
バンドLをページ5の最後のバンド用に使用することに
より、文字「も」は図5のメモリ上で割り当て可能メモ
リからアロケートされてビットマップ展開され得ること
となる。
示す図である。同図は、ページ1〜4までは1ページ分
のメモリが割り当てられ、ページ5のメモリをアロケー
トする時に1ページ分のメモリがないことが検出された
様子を示している。そこで、ページ単位でアロケートで
きなかったページ5に関しては、図5に示すように、割
り当て可能メモリをサーチし、その割り当て可能メモリ
のメモリ領域分によってページ5内をバンド単位でアロ
ケートし、アロケートされた各バンドには図5の矢印1
〜4のようにビットマップが展開されて、描画が滞るこ
とを防いでいる。しかし、図5に示すように、画像デー
タの1つである文字「も」が下半分のため、図5のメモ
リ上では割り当て可能メモリからアロケートすることが
できない。そこで、この時は作成済みであって印刷待ち
のページ4をバンド単位に分割し、ビットマップがない
バンドLをページ5の最後のバンド用に使用することに
より、文字「も」は図5のメモリ上で割り当て可能メモ
リからアロケートされてビットマップ展開され得ること
となる。
【0017】図6はメモリ管理モジュールの動作を示す
フローチャートである。先ずメモリ割り当て要求があれ
ば、割り当て可能メモリに1ページ分あるかを判定し、
あれば1ページ分のメモリを割り当てる(ステップS2
01〜S203)。ステップS202で1ページ分の割
り当て可能メモリがないが1ページ分に満たない割り当
て可能メモリがあればバンド単位でメモリを割り当てる
(ステップS204,S205)。そして、バンド単位
での割り当てが全て完了したか否かを判定し、完了しな
かったとき及びステップS204で割り当て可能メモリ
がなかったとき、上位アドレスの方から印刷待ちのペー
ジをサーチする(ステップS206,S207)。サー
チした印刷待ちのページがバンド管理されているかを判
定し、管理されていないならばバンド管理に移行する
(ステップS208,S209)。そして、ビットマッ
プのないバンドをサーチし、当該バンドが見つかればそ
のバンドメモリをページ管理から外して割り当てる(ス
テップS210〜S212)。ステップS211でビッ
トマップのないバンドが見つからなかったらステップS
207に戻って再度次の上位アドレスの方から印刷待ち
のページをサーチしてステップS208〜S211をビ
ットマップのないバンドが見つかるまで繰り返す。この
ように例えばページ4のビットマップがないバンドを探
す方法であるが、1ページ分のメモリをスキャンしても
構わないが、無視できないほどの処理時間がかかるた
め、予め1ページ分のメモリが割り当てられていたとし
ても、バンド単位に考え、ビットマップがあるバンドに
マーキングを施すなどの処理を、データ展開モジュール
において行っておくことが望ましい。
フローチャートである。先ずメモリ割り当て要求があれ
ば、割り当て可能メモリに1ページ分あるかを判定し、
あれば1ページ分のメモリを割り当てる(ステップS2
01〜S203)。ステップS202で1ページ分の割
り当て可能メモリがないが1ページ分に満たない割り当
て可能メモリがあればバンド単位でメモリを割り当てる
(ステップS204,S205)。そして、バンド単位
での割り当てが全て完了したか否かを判定し、完了しな
かったとき及びステップS204で割り当て可能メモリ
がなかったとき、上位アドレスの方から印刷待ちのペー
ジをサーチする(ステップS206,S207)。サー
チした印刷待ちのページがバンド管理されているかを判
定し、管理されていないならばバンド管理に移行する
(ステップS208,S209)。そして、ビットマッ
プのないバンドをサーチし、当該バンドが見つかればそ
のバンドメモリをページ管理から外して割り当てる(ス
テップS210〜S212)。ステップS211でビッ
トマップのないバンドが見つからなかったらステップS
207に戻って再度次の上位アドレスの方から印刷待ち
のページをサーチしてステップS208〜S211をビ
ットマップのないバンドが見つかるまで繰り返す。この
ように例えばページ4のビットマップがないバンドを探
す方法であるが、1ページ分のメモリをスキャンしても
構わないが、無視できないほどの処理時間がかかるた
め、予め1ページ分のメモリが割り当てられていたとし
ても、バンド単位に考え、ビットマップがあるバンドに
マーキングを施すなどの処理を、データ展開モジュール
において行っておくことが望ましい。
【0018】次に、印刷制御モジュールが図5に示して
いるページ4を印刷することを考える。ここではページ
4をA〜Lのバンドに分割し、バンドLをページ5のた
めに割り振った。印刷制御モジュールはページ4のビデ
オ転送のために、A〜Kまでのバンド数分アドレス、
幅、高さ等の設定を印刷制御部に行う。ページ5用に使
用したバンドLのバンド分のDMAは1バンド分のメモ
リを用意しても構わないが、図1の印刷制御部20がハ
ードウェア的にメモリがなくても幅、高さの指定のみで
ブランクの転送を行う機能を有していれば、そのメモリ
も必要はない。印刷制御部20はせいぜい1〜3段程度
のFIFOしか持たないのが通常であるから、ページの
先頭部分以外の設定はDMA中に行わなければならな
い。
いるページ4を印刷することを考える。ここではページ
4をA〜Lのバンドに分割し、バンドLをページ5のた
めに割り振った。印刷制御モジュールはページ4のビデ
オ転送のために、A〜Kまでのバンド数分アドレス、
幅、高さ等の設定を印刷制御部に行う。ページ5用に使
用したバンドLのバンド分のDMAは1バンド分のメモ
リを用意しても構わないが、図1の印刷制御部20がハ
ードウェア的にメモリがなくても幅、高さの指定のみで
ブランクの転送を行う機能を有していれば、そのメモリ
も必要はない。印刷制御部20はせいぜい1〜3段程度
のFIFOしか持たないのが通常であるから、ページの
先頭部分以外の設定はDMA中に行わなければならな
い。
【0019】図1で示したように、この構成ではバス1
1が1本であるため、DMA中はバス調停によりCPU
12がメモリにアクセスできる時間が限られてくる。ま
た、実際には図5で図示したものよりもはるかに細かい
メモリ分割を行うのが通常であるから、DMA用のアド
レス計算、印刷制御部への設定は無視できないCPU時
間とバス占有時間となってあらわれる。更に、設定回数
だけ見ても、例えばA4サイズの用紙に600dpiで
印刷を行う場合、1ページ分では約4.2メガバイトの
メモリが必要となる。これを32キロバイト単位のバン
ドに分割したとすると、約130のバンドに分割され、
要するにページ単位の場合では一回の設定で行うことが
130回行わなくてはならなくなる。この時間がオーバ
ーヘッドであり、通常動作時でもバンド管理を行う場合
には、常にこのオーバーヘッドのためにデータ展開モジ
ュールが使用できるCPU時間と、特にDMA中に問題
となるメモリアクセスのためのバス時間が制限されてい
る状態となっている。
1が1本であるため、DMA中はバス調停によりCPU
12がメモリにアクセスできる時間が限られてくる。ま
た、実際には図5で図示したものよりもはるかに細かい
メモリ分割を行うのが通常であるから、DMA用のアド
レス計算、印刷制御部への設定は無視できないCPU時
間とバス占有時間となってあらわれる。更に、設定回数
だけ見ても、例えばA4サイズの用紙に600dpiで
印刷を行う場合、1ページ分では約4.2メガバイトの
メモリが必要となる。これを32キロバイト単位のバン
ドに分割したとすると、約130のバンドに分割され、
要するにページ単位の場合では一回の設定で行うことが
130回行わなくてはならなくなる。この時間がオーバ
ーヘッドであり、通常動作時でもバンド管理を行う場合
には、常にこのオーバーヘッドのためにデータ展開モジ
ュールが使用できるCPU時間と、特にDMA中に問題
となるメモリアクセスのためのバス時間が制限されてい
る状態となっている。
【0020】図5ではページ4をA〜Lまでのバンドに
分割したが、もともと連続した1ページ分の物理メモリ
が割り当てられていたため、Lをページ5用に割り当て
たとしてもA〜Kまでは連続した実メモリである。この
ため、図示していないがページ6以降の作成の前に、も
しもページ1のメモリが開放されていれば、これ以上の
物理メモリの分断はない。このときA〜Kを1つのバン
ドとして扱えば、結局ビデオ設定は物理メモリがあるバ
ンドとないバンドの2回のみで済ますことができる。
分割したが、もともと連続した1ページ分の物理メモリ
が割り当てられていたため、Lをページ5用に割り当て
たとしてもA〜Kまでは連続した実メモリである。この
ため、図示していないがページ6以降の作成の前に、も
しもページ1のメモリが開放されていれば、これ以上の
物理メモリの分断はない。このときA〜Kを1つのバン
ドとして扱えば、結局ビデオ設定は物理メモリがあるバ
ンドとないバンドの2回のみで済ますことができる。
【0021】上記のような理由により、作成済みのペー
ジからビットマップのないメモリを割り当てる場合、で
きるだけ上位のアドレスからメモリを割り当てるように
する。そうすることにより、ページ1から順番に排紙完
了した場合、次ページ以降のメモリのアロケートでは連
続した空間を割り当てられる可能性が非常に高くなる。
ジからビットマップのないメモリを割り当てる場合、で
きるだけ上位のアドレスからメモリを割り当てるように
する。そうすることにより、ページ1から順番に排紙完
了した場合、次ページ以降のメモリのアロケートでは連
続した空間を割り当てられる可能性が非常に高くなる。
【0022】そして、ページ6以降用にメモリを割り当
てる必要がある時には、またページ4から割り当て直す
訳であるが、次に割り当て可能なメモリは図5中ではビ
ットマップのないI,H,Gである。この時、I,H,
Gの順番で割り当てていく訳であるが、もし必要とする
バンドが3バンド分であれば、G,H,Iの順に割り当
てても構わない。そうすることにより、G〜Iが連続し
た領域となり、ビデオ設定回数が1/3に低減できる。
てる必要がある時には、またページ4から割り当て直す
訳であるが、次に割り当て可能なメモリは図5中ではビ
ットマップのないI,H,Gである。この時、I,H,
Gの順番で割り当てていく訳であるが、もし必要とする
バンドが3バンド分であれば、G,H,Iの順に割り当
てても構わない。そうすることにより、G〜Iが連続し
た領域となり、ビデオ設定回数が1/3に低減できる。
【0023】但し、メモリの再割り当ては、実際には物
理メモリのない仮想メモリへの書き込みによる例外が発
生した時に行われるので、次のバンドが連続したアドレ
スにあることを検出することはできない。
理メモリのない仮想メモリへの書き込みによる例外が発
生した時に行われるので、次のバンドが連続したアドレ
スにあることを検出することはできない。
【0024】よって、物理メモリの要求があった時に、
G〜Iを一度割り当て可能メモリとして、ページ4から
は開放し、下位アドレス(Gだったメモリ)から割り当
てていくなどの工夫が必要である。ページ4では1バン
ドのみ開放されても、連続した3バンドを開放されても
メモリが2つに分断されることに違いはないため、ビデ
オ設定の回数自体は変わらない。
G〜Iを一度割り当て可能メモリとして、ページ4から
は開放し、下位アドレス(Gだったメモリ)から割り当
てていくなどの工夫が必要である。ページ4では1バン
ドのみ開放されても、連続した3バンドを開放されても
メモリが2つに分断されることに違いはないため、ビデ
オ設定の回数自体は変わらない。
【0025】同様の理由で、図5で図示したページ5の
一番上の2バンドは連続した空間から割り当てられてい
るため、1つのバンドとして扱うことにより、ビデオ設
定の時間を1/2に低減することができる。
一番上の2バンドは連続した空間から割り当てられてい
るため、1つのバンドとして扱うことにより、ビデオ設
定の時間を1/2に低減することができる。
【0026】以上のメモリ管理モジュールの動作を別の
メモリ管理モジュールの動作フローを示す図7に従って
説明する。同図におけるステップS201〜S212の
動作は図6におけるステップS301〜S312と同じ
動作であるが、異なる動作としてはステップS312で
バンドメモリをページの管理から外して割り当てた後、
割り当てたバンドが直前に割り当てたバンドと連続な物
理アドレスか否かを判定し、連続な物理アドレスであれ
ば直前に割り当てたバンドと合わせて1つのバンドとし
て管理する(ステップS313,S314)。ステップ
S313で連続な物理アドレスでなければそのまま割り
当てて処理を終了する。
メモリ管理モジュールの動作フローを示す図7に従って
説明する。同図におけるステップS201〜S212の
動作は図6におけるステップS301〜S312と同じ
動作であるが、異なる動作としてはステップS312で
バンドメモリをページの管理から外して割り当てた後、
割り当てたバンドが直前に割り当てたバンドと連続な物
理アドレスか否かを判定し、連続な物理アドレスであれ
ば直前に割り当てたバンドと合わせて1つのバンドとし
て管理する(ステップS313,S314)。ステップ
S313で連続な物理アドレスでなければそのまま割り
当てて処理を終了する。
【0027】なお、印刷制御モジュールに関してはメモ
リ管理モジュールの提供する情報に従って順にビデオ設
定を行うだけで設定回数以外の違いはないために説明は
省略する。
リ管理モジュールの提供する情報に従って順にビデオ設
定を行うだけで設定回数以外の違いはないために説明は
省略する。
【0028】なお、本発明は上記実施例に限定されるも
のではなく、特許請求の範囲内の記載であれば多種の変
形や置換可能であることは言うまでもない。
のではなく、特許請求の範囲内の記載であれば多種の変
形や置換可能であることは言うまでもない。
【0029】
【発明の効果】以上説明したように、本発明によれば、
ホストから送信されるPDLデータをビットマップに展
開して格納するページメモリを有する画像形成装置であ
って、ページメモリのメモリ領域で1ページ分のビット
マップに展開可能なメモリ領域があるときは用紙サイズ
分のページ単位のメモリ管理を用いてビットマップに展
開する。一方、メモリ領域で1ページ分のビットマップ
に展開可能なメモリ領域がないときには画像データの1
ページをバンドで区切ったバンド単位のメモリ管理に切
り替えてバンド単位でビットマップに展開する。よっ
て、PDLデータのビットマップへの展開を途切れるこ
となく実行させることができる。
ホストから送信されるPDLデータをビットマップに展
開して格納するページメモリを有する画像形成装置であ
って、ページメモリのメモリ領域で1ページ分のビット
マップに展開可能なメモリ領域があるときは用紙サイズ
分のページ単位のメモリ管理を用いてビットマップに展
開する。一方、メモリ領域で1ページ分のビットマップ
に展開可能なメモリ領域がないときには画像データの1
ページをバンドで区切ったバンド単位のメモリ管理に切
り替えてバンド単位でビットマップに展開する。よっ
て、PDLデータのビットマップへの展開を途切れるこ
となく実行させることができる。
【0030】また、バンド単位のメモリ管理での描画中
のページを作成中に、割り当てるメモリ領域がなくなっ
たときは、以前に作成したページ単位のメモリ領域をバ
ンド単位のメモリ管理に切り替え、ビットマップが存在
しないバンドのメモリ領域を開放し、開放したメモリ領
域を描画中のページのためにバンド単位でビットマップ
に展開することにより、バンド管理のオーバーヘッドを
なくし、ビットマップ展開を高速にできる。
のページを作成中に、割り当てるメモリ領域がなくなっ
たときは、以前に作成したページ単位のメモリ領域をバ
ンド単位のメモリ管理に切り替え、ビットマップが存在
しないバンドのメモリ領域を開放し、開放したメモリ領
域を描画中のページのためにバンド単位でビットマップ
に展開することにより、バンド管理のオーバーヘッドを
なくし、ビットマップ展開を高速にできる。
【0031】更に、連続しているバンドのメモリ領域が
あれば、連続するバンドのメモリ領域を1つのバンドの
メモリ領域とすることにより、ビットマップ展開に最大
限CPUの処理時間を割り当てることができ、印刷の高
速化が図れる。
あれば、連続するバンドのメモリ領域を1つのバンドの
メモリ領域とすることにより、ビットマップ展開に最大
限CPUの処理時間を割り当てることができ、印刷の高
速化が図れる。
【図1】本発明に係る画像形成装置の構成を示すブロッ
ク図である。
ク図である。
【図2】本発明の画像形成装置におけるソフトウェアの
関連を示す図である。
関連を示す図である。
【図3】データ展開モジュールの基本動作を示すフロー
チャートである。
チャートである。
【図4】本実施例のページメモリのページ毎に割り当て
た様子の一例を示す図である。
た様子の一例を示す図である。
【図5】本実施例のページメモリをバンド単位に割り当
てた様子を示す図である。
てた様子を示す図である。
【図6】本実施例のメモリ管理モジュールの動作を示す
フローチャートである。
フローチャートである。
【図7】本実施例のメモリ管理モジュールの別の動作を
示すフローチャートである。
示すフローチャートである。
11:バス、12:CPU、13:受信バッファ、1
4:プログラム実行メモリ、15:ページメモリ、1
6:メモリ管理部、17:ホストI/F、18:ホス
ト、19:中間コード/フォントROM、20:印刷制
御部、21:入出力パネル、22:ビデオI/F、2
3:プリントエンジン。
4:プログラム実行メモリ、15:ページメモリ、1
6:メモリ管理部、17:ホストI/F、18:ホス
ト、19:中間コード/フォントROM、20:印刷制
御部、21:入出力パネル、22:ビデオI/F、2
3:プリントエンジン。
Claims (6)
- 【請求項1】 ホストから送られたデータをビットマッ
プに展開して格納するメモリを管理するメモリ管理方法
において、 前記メモリのメモリ領域で1ブロック分のビットマップ
に展開可能なメモリ領域があるときはブロック単位のメ
モリ管理を用いてブロック単位でビットマップに展開
し、前記メモリのメモリ領域で1ブロック分のビットマ
ップに展開可能なメモリ領域がないときには1ブロック
のメモリ領域より小さいバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開することを特徴とするメモリ管理方法。 - 【請求項2】 バンド単位のメモリ管理によって割り当
てるメモリ領域がなくなったときは、以前に作成したペ
ージ単位のメモリ領域をバンド単位のメモリ管理に切り
替え、ビットマップが存在しないバンドのメモリ領域に
未処理データを割り当ててビットマップに展開する請求
項1のメモリ管理方法。 - 【請求項3】 物理アドレスが連続しているバンドのメ
モリ領域は1つのバンドのメモリ領域とする請求項1又
は2のメモリ管理方法。 - 【請求項4】 ホストから送信されるページ記述言語デ
ータをビットマップに展開して格納するページメモリを
有する画像形成装置において、 前記ページメモリのメモリ領域で1ページ分のビットマ
ップに展開可能なメモリ領域があるときは用紙サイズ分
のページ単位のメモリ管理を用いてビットマップに展開
し、前記ページメモリのメモリ領域で1ページ分のビッ
トマップに展開可能なメモリ領域がないときには画像デ
ータの1ページをバンドで区切ったバンド単位のメモリ
管理に切り替えてバンド単位でビットマップに展開する
ように前記ページメモリを管理するメモリ管理部を有す
ることを特徴とする画像形成装置。 - 【請求項5】 前記メモリ管理部は、バンド単位のメモ
リ管理によって割り当てるメモリ領域がなくなったとき
は、以前に作成したページ単位のメモリ領域をバンド単
位のメモリ管理に切り替え、ビットマップが存在しない
バンドのメモリ領域に未処理のバンドの画像データを割
り当ててビットマップに展開する請求項4の画像形成装
置。 - 【請求項6】 前記メモリ管理部は、物理アドレスが連
続しているバンドのメモリ領域は1つのバンドのメモリ
領域とする請求項4又は5の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000027486A JP2001213011A (ja) | 2000-02-04 | 2000-02-04 | メモリ管理方法及び画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000027486A JP2001213011A (ja) | 2000-02-04 | 2000-02-04 | メモリ管理方法及び画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001213011A true JP2001213011A (ja) | 2001-08-07 |
Family
ID=18553049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000027486A Pending JP2001213011A (ja) | 2000-02-04 | 2000-02-04 | メモリ管理方法及び画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001213011A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013111769A1 (ja) | 2012-01-27 | 2013-08-01 | 京セラドキュメントソリューションズ株式会社 | メモリー管理装置および画像処理装置 |
-
2000
- 2000-02-04 JP JP2000027486A patent/JP2001213011A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013111769A1 (ja) | 2012-01-27 | 2013-08-01 | 京セラドキュメントソリューションズ株式会社 | メモリー管理装置および画像処理装置 |
JP2013156781A (ja) * | 2012-01-27 | 2013-08-15 | Kyocera Document Solutions Inc | メモリー管理装置および画像処理装置 |
US9552170B2 (en) | 2012-01-27 | 2017-01-24 | Kyocera Document Solutions, Inc. | Memory managing apparatus and image processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3226095B2 (ja) | ネットワークプリンタ | |
JPH09251361A (ja) | 情報処理装置、情報処理方法、印刷システム、及び、メモリ | |
KR100490412B1 (ko) | 인쇄작업 순서 제어방법 및 이를 위한 프린트 시스템 | |
US20030210427A1 (en) | Efficient storage and rendering of patterns in a printer | |
KR100524076B1 (ko) | 데이터 압축 및 복원 장치 | |
JP3283939B2 (ja) | 画像処理方法及びその装置 | |
JP2001213011A (ja) | メモリ管理方法及び画像形成装置 | |
JPH11157146A (ja) | 印刷装置の画像処理方法および印刷装置 | |
JP3472064B2 (ja) | 印刷装置 | |
JPH09254455A (ja) | プリンタ装置 | |
JP3116354B2 (ja) | プリンタデータ管理方式 | |
JPH11119942A (ja) | プリンタ制御方式およびプリンタ制御プログラムを記録 した記録媒体 | |
JP2687577B2 (ja) | 印刷制御方法 | |
JP3353312B2 (ja) | メモリ領域の管理方法 | |
JPH10307695A (ja) | プリンタ装置及びプリンタ制御方法 | |
JP2000315141A (ja) | プリンタ、記録媒体およびプリンタのメモリ管理方法 | |
JP6078954B2 (ja) | 画像処理装置 | |
JPH09282112A (ja) | 情報処理装置 | |
JPH09292875A (ja) | 画像処理装置 | |
JPH1058766A (ja) | 画像データ出力制御装置 | |
JPH03163621A (ja) | ページプリンタ | |
JP2000052609A (ja) | 情報処理装置、印刷装置、制御方法および記録媒体 | |
JP2000122818A (ja) | ネットワークプリンタ | |
JPH08282019A (ja) | 画像形成方法とその装置 | |
JPH08310062A (ja) | プリンタ内に記憶される登録文字の管理方法 |