JP2001213011A - Method for managing memory and imaging apparatus - Google Patents

Method for managing memory and imaging apparatus

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
Application number
JP2000027486A
Other languages
Japanese (ja)
Inventor
Satoshi Miyazaki
聡 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2000027486A priority Critical patent/JP2001213011A/en
Publication of JP2001213011A publication Critical patent/JP2001213011A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To develop a bit map at a high speed by eliminating overhead in the management of band, and to develop PDL data to a bit map with no break. SOLUTION: A memory managing section (16) manages a page memory such that image data is developed to a bit map using memory management in units of page of sheet size when a memory area developable to a page of bit map is present in a page memory otherwise switching is made to memory management in units of band where a page of image data is sectioned into bands and developed to a bit map in units of band.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はメモリ管理方法及び
画像形成装置に関し、特に上位装置から送信されるPD
Lデータをページメモリにビットマップで展開するペー
ジプリンタ等の画像形成装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a memory management method and an image forming apparatus, and more particularly to a PD transmitted from a host device.
The present invention relates to an image forming apparatus such as a page printer that develops L data in a page memory as a bit map.

【0002】[0002]

【従来の技術】従来、バンドメモリ管理を行う場合、省
メモリのみが優先されるため、バンドメモリ管理以外
(ページ単位)でメモリを使用する。その一例として、
特開平9−164729号公報(以下従来例1と称す)
では、ビットマップメモリを複数のブロックに分割して
そのブロック毎にビットマップを記憶したか否かを管理
し、ワークメモリのメモリフル時に未使用のブロックメ
モリを拡張されたワークメモリに転用することにより、
ページメモリからビットマップのないメモリを取得して
いるが、ワークメモリとしての利用で描画用のメモリと
しては使用していない。
2. Description of the Related Art Conventionally, when performing band memory management, only memory saving is prioritized. Therefore, a memory is used in a manner other than band memory management (in page units). As an example,
Japanese Patent Application Laid-Open No. 9-164729 (hereinafter referred to as Conventional Example 1)
Then, it is necessary to divide the bitmap memory into a plurality of blocks, manage whether or not the bitmap is stored for each block, and divert unused block memory to expanded work memory when the work memory is full By
A memory without a bitmap is obtained from the page memory, but is not used as a drawing memory because it is used as a work memory.

【0003】また、ページ記述言語(以下PDLと略
す)データをビットマップに展開するページプリンタに
おいて、高速な印刷が求められる場合、いかにPDLデ
ータのビットマップへの展開にCPUパワーを配分し、
その動作を途切れることなく行うことができるかが一つ
のポイントになる。更に、比較的大容量のページメモリ
を搭載し、予め複数枚のページメモリにビットマップが
作成されていれば、ビットマップ展開に時間がかかる処
理が発生したとしても、プリントエンジンの性能を損な
わずに、滞りなく印刷できる可能性が高くなる。
In a page printer that develops page description language (hereinafter abbreviated as PDL) data into a bitmap, if high-speed printing is required, CPU power is allocated to how the PDL data is developed into a bitmap.
One point is whether the operation can be performed without interruption. Furthermore, if a relatively large-capacity page memory is mounted and bitmaps are created in advance on a plurality of page memories, the performance of the print engine will not be impaired even if processing that takes a long time to develop the bitmap occurs. In addition, the possibility of printing without delay increases.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、高速な
プリントエンジンは通紙パスが長くなる傾向があり、ジ
ャムリカバリーのためにページメモリをプリントエンジ
ンへの転送が終わった後も排紙完了までは保持しなくて
はならないことや、メモリ搭載のコストの問題もあるこ
とから必ずしも十分なメモリを搭載していないという問
題がある。また、ページメモリに割り当てられるメモリ
が必要量だけ割り当てられなくなった場合、CPU資源
としては十分な余裕があるにもかかわらず、PDLから
のビットマップへの展開が以前に作成したページメモリ
が開放されるまでの間完全に滞ることになる。
However, a high-speed print engine tends to have a long paper-passing path, and the page memory is retained until the discharge is completed even after the transfer of the page memory to the print engine for jam recovery. However, there is a problem that sufficient memory is not necessarily mounted because of the necessity and the cost of mounting the memory. Also, when the required amount of memory to be allocated to the page memory is no longer allocated, the page memory previously created by the development from the PDL to the bitmap is released even though there is ample room for CPU resources. Will be completely stalled until the

【0005】通常、省メモリ技術としてはメモリを所定
のバンドに区切り、ビットマップのないバンドにはメモ
リを割り当てずに済ます方式が一般的であるが、この方
式ではメモリに余裕がある時には逆にバンドメモリ管理
のために生じるオーバーヘッドにより、最もCPUパワ
ーを必要とするPDLデータのビットマップへの展開に
悪影響を与える。
[0005] Generally, as a memory saving technique, a method is generally used in which a memory is divided into predetermined bands and no memory is allocated to a band without a bitmap. The overhead caused by band memory management adversely affects the development of PDL data requiring the most CPU power into bitmaps.

【0006】本発明はこれらの問題点を解決するための
ものであり、メモリ領域に余裕のある場合にはバンド管
理のオーバーヘッドをなくし、ビットマップ展開を高速
にできると共に、メモリに余裕がなくなった場合にその
ページ以降の展開をバンドメモリ管理に変更することに
よりPDLデータのビットマップへの展開を途切れるこ
となく実行させることを目的とする。
The present invention has been made to solve these problems. When there is room in the memory area, the overhead of band management can be eliminated, the bitmap can be expanded at a high speed, and the memory has no room. In this case, the purpose is to change the development of the page and subsequent pages to band memory management so that the development of the PDL data into the bitmap is executed without interruption.

【0007】[0007]

【課題を解決するための手段】前記問題点を解決するた
めに、ホストから送られたデータをビットマップに展開
して格納するメモリを管理するメモリ管理方法によれ
ば、メモリのメモリ領域で1ブロック分のビットマップ
に展開可能なメモリ領域があるときはブロック単位のメ
モリ管理を用いてブロック単位でビットマップに展開す
る。一方メモリのメモリ領域で1ブロック分のビットマ
ップに展開可能なメモリ領域がないときには1ブロック
のメモリ領域より小さいバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開する。よって、バンド管理のオーバーヘッドをなく
し、ビットマップ展開を高速にできる。また、バンド単
位のメモリ管理によって割り当てるメモリ領域がなくな
ったときは、以前に作成したページ単位のメモリ領域を
バンド単位のメモリ管理に切り替え、ビットマップが存
在しないバンドのメモリ領域に未処理データを割り当て
てビットマップに展開することにより、ビットマップへ
の展開を途切れることなく実行させる。更に、物理アド
レスが連続しているバンドのメモリ領域は1つのバンド
のメモリ領域とすることにより、高速化が図れる。
In order to solve the above-mentioned problems, according to a memory management method for managing a memory for expanding data stored in a bitmap and storing the data in a bitmap, one memory is used in a memory area of the memory. If there is a memory area that can be developed in the bitmap for the block, the memory area is developed into the bitmap in block units using the memory management in block units. On the other hand, when there is no expandable memory area in the bit map of one block in the memory area of the memory, the memory management is switched to a band unit divided into bands smaller than the memory area of one block, and is expanded into a bit map in band units. Therefore, the overhead of band management can be eliminated and bitmap development can be performed at high speed. If there is no more memory area to be allocated by band-based memory management, the previously created page-based memory area is switched to band-based memory management, and unprocessed data is allocated to the memory area of the band where no bitmap exists. By developing the data into a bitmap, the development into the bitmap is executed without interruption. Furthermore, the speed can be increased by setting the memory area of the band where the physical address is continuous to the memory area of one band.

【0008】また、別の発明として、ホストから送信さ
れるページ記述言語データをビットマップに展開して格
納するページメモリを有する画像形成装置は、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域があるときは用紙サイズ分のページ単位
のメモリ管理を用いてビットマップに展開し、ページメ
モリのメモリ領域で1ページ分のビットマップに展開可
能なメモリ領域がないときには画像データの1ページを
バンドで区切ったバンド単位のメモリ管理に切り替えて
バンド単位でビットマップに展開するようにページメモ
リを管理するメモリ管理部を有することに特徴がある。
また、メモリ管理部は、バンド単位のメモリ管理によっ
て割り当てるメモリ領域がなくなったときは以前に作成
したページ単位のメモリ領域をバンド単位のメモリ管理
に切り替え、ビットマップが存在しないバンドのメモリ
領域に未処理のバンドの画像データを割り当ててビット
マップに展開する。更に、メモリ管理部は、物理アドレ
スが連続しているバンドのメモリ領域は1つのバンドの
メモリ領域とする。よって、メモリ領域に余裕のある場
合にはバンド管理のオーバーヘッドをなくし、ビットマ
ップ展開を高速にできると共に、メモリに余裕がなくな
った場合にそのページ以降の展開をバンドメモリ管理に
変更することによりPDLデータのビットマップへの展
開を途切れることなく実行させることができる。
According to another aspect of the present invention, an image forming apparatus having a page memory for expanding page description language data transmitted from a host into a bitmap and storing the same in a bitmap for one page in a memory area of the page memory. If there is a memory area that can be expanded, it is expanded into a bitmap using the memory management of the page unit for the paper size. If there is no memory area that can be expanded into a bitmap for one page in the memory area of the page memory, the image data is It is characterized in that it has a memory management unit that manages a page memory so that one page is switched to band-based memory management divided into bands and developed into a bitmap in band units.
When the memory area to be allocated by the band-based memory management runs out, the memory management unit switches the previously created page-based memory area to the band-based memory management, and leaves the memory area of the band where no bitmap exists in the memory area. The image data of the band to be processed is allocated and developed into a bitmap. Further, the memory management unit sets the memory area of the band where the physical address is continuous to the memory area of one band. Therefore, when there is room in the memory area, the overhead of band management can be eliminated, and bitmap development can be performed at high speed. When the memory has no room, the development after the page is changed to band memory management, thereby enabling PDL. The development of data into a bitmap can be executed without interruption.

【0009】[0009]

【発明の実施の形態】ページメモリのメモリ領域で1ペ
ージ分のビットマップに展開可能なメモリ領域があると
きは用紙サイズ分のページ単位のメモリ管理を用いてビ
ットマップに展開し、ページメモリのメモリ領域で1ペ
ージ分のビットマップに展開可能なメモリ領域がないと
きには画像データの1ページをバンドで区切ったバンド
単位のメモリ管理に切り替えてバンド単位でビットマッ
プに展開するようにページメモリを管理するメモリ管理
部を有する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS When there is a memory area that can be expanded into a bit map for one page in a memory area of a page memory, the memory area is expanded into a bit map by using memory management of a page unit for a paper size, and the page memory is expanded. When there is no memory area that can be developed in a bitmap for one page in the memory area, the page memory is managed so that one page of the image data is switched to the memory management in a band unit divided into bands and developed into a bitmap in band units. And a memory management unit.

【0010】[0010]

【実施例】図1は本発明に係る画像形成装置の構成を示
すブロック図である。同図において、本発明に係る画像
形成装置は、バス11を介して、CPU12と、受信バ
ッファ13と、プログラム実行メモリ14と、ページメ
モリ15と、メモリ管理部16と、ホストI/F17
と、ホスト18と、中間コード/フォントROM19
と、印刷制御部20と、入出力パネル21と、ビデオI
/F22と、プリントエンジン23とを含んで構成され
ている。
FIG. 1 is a block diagram showing the configuration of an image forming apparatus according to the present invention. In FIG. 1, the image forming apparatus according to the present invention includes, via a bus 11, a CPU 12, a reception buffer 13, a program execution memory 14, a page memory 15, a memory management unit 16, a host I / F 17
, Host 18 and intermediate code / font ROM 19
, Print control unit 20, input / output panel 21, video I
/ F22 and a print engine 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の順番を入れ
替えて転送を行う。
Next, a description will be given of the memory management operation of the page memory in the image forming apparatus having such a configuration. The memory management operation is performed by the host 18 via a host I / F 17 such as Centronics, RS-232C, a network, or a USB. The PDL data is temporarily stored in the reception buffer 13. The PDL data stored in the reception buffer 13 is interpreted by a data development module 32 shown in FIG. 2 showing a software configuration required for operation, and is developed into a bit map in the page memory 15. This operation is divided into two steps. In other words, the data is expanded into an intermediate code suitable for bitmap expansion by the data expansion module 32 in FIG. 2, and the rendering module may expand the intermediate code into a bitmap, but this does not affect the description here. Omitted. Then, when the creation of the page memory 15 is completed, the memory management unit 16 transfers the management of the page memory 15 to the print control module 33 of FIG. 2 that operates independently of the data development module 32.
The print control module 33 holds the page memory 15 and, when it is time to print the page, sends to the print control unit 20 of FIG.
After setting the sub-scanning width and the like, video transfer is performed, the page memory 15 is held until the page is discharged in consideration of a jam backup, and then the page memory 15 is released.
For jam backup, there is a method of releasing the page memory and saving it in the form of intermediate code, and a method of compressing and saving the page memory after printing.However, saving in the intermediate code involves saving the page memory at the time of jam backup. In the method of compressing and saving, the CPU cost of compression is generated during normal printing, which causes a reduction in printing speed, and is not adopted here. Next, since the page memory creation of the data development module 32 and the operation of the print engine 23 are performed asynchronously, the print control module 33 manages a plurality of page memories 15 at the same time. When it is necessary to change the order of the pages due to the double-sided printing mechanism, the print control module 33 of FIG. 2 changes the order of the page memory 15 sent to the print engine 23 of FIG.

【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からのイベントによ
って動作するため説明は省略するが、次のようなイベン
トに対応する機能を持つ小モジュールの集合体である。
ページメモリ作成完了イベントに対してはページメモリ
を管理下に置き(例えばキューに追加)、印刷準備完了
イベントに対しては次に転送するページメモリのサー
チ、ビデオ設定を行う。また、ビデオ転送要求イベント
に対してはビデオ転送開始、ジャム発生イベントに対し
てはジャムバックアップ処理開始、排紙完了イベントに
対しては対応するページメモリ開放をそれぞれ行う。こ
のようなイベントはハードウェア割り込みやフラグなど
を用いたソフトウェアのイベントの両方が有り得る。
Next, the basic operation of the data expansion module will be described with reference to FIG. 3 showing an operation flow. The page size is determined from the acquired data (step S1).
01, S102). Then, the page memory 15 in FIG. 1 is allocated, and if the allocator processing is not successful, a wait processing is performed and the page memory 15 is allocated again (steps S103 to S105). Step S1
If the allocator processing is successful in 04, the data is received and 1
Bitmap development is performed until the page data is completed (steps S106 and S107). When the bitmap is developed for the data of one page, the memory management unit 16 transfers the management of the page memory 15 to the print control unit 20 and moves to the next page processing (steps S108 and S10).
9). The print control module 33 is an aggregation of small modules having functions corresponding to the following events, although the description is omitted because the print control module 33 operates in response to events from the data expansion module 32 and the print engine 23.
For the page memory creation completion event, the page memory is placed under management (for example, added to a queue), and for the print preparation completion event, search of the page memory to be transferred next and video setting are performed. In addition, video transfer start is performed for a video transfer request event, jam backup processing is started for a jam occurrence event, and the corresponding page memory is released for a paper discharge completion event. Such an event can be both a hardware interrupt and a software event using a flag or the like.

【0013】以上が一般的な印刷の動作であるが、ここ
でページメモリのアロケートについて説明する。図1の
ページメモリ15はすべて仮想アドレスで管理される。
図2のデータ展開モジュール32がページメモリ15を
オペレーティングシステム34に対して要求したとき
に、オペレーティングシステム34は、まだ物理メモリ
の割り当てられていない仮想アドレスを返答する。よっ
て、実際には上述のように図3に示すアロケートの失敗
は起こりえず、ウエイト処理はページメモリのアロケー
ト時には発生しない。そして、データ展開モジュール3
2がビットマップを仮想アドレスに割り当てられたペー
ジメモリ15に書き込みを行うと、物理メモリが割り当
てられていないために、図1のCPU12の例外が発生
する。よって、オペレーティングシステム34中のメモ
リ管理モジュールは、この例外が発生した時に、初めて
物理メモリを仮想アドレスのページメモリに割り当てる
ことになる。ウエイト処理は、ページメモリに割り当て
る物理メモリが不足した時、割り当てられる物理メモリ
が確保できるまでの間、データ展開モジュールへのコン
テキストスイッチを行わない等の方法により実現され
る。
The above is the general printing operation. Here, the allocation of the page memory will be described. All page memories 15 in FIG. 1 are managed by virtual addresses.
When the data expansion module 32 in FIG. 2 requests the page memory 15 from the operating system 34, the operating system 34 returns a virtual address to which a physical memory has not been allocated. Therefore, the allocation failure shown in FIG. 3 cannot actually occur as described above, and the wait processing does not occur when the page memory is allocated. And the data expansion module 3
2 writes the bitmap to the page memory 15 assigned to the virtual address, an exception of the CPU 12 in FIG. 1 occurs because the physical memory is not assigned. Therefore, the memory management module in the operating system 34 allocates the physical memory to the page memory of the virtual address for the first time when this exception occurs. The wait process is realized by a method such as not performing a context switch to the data expansion module until the allocated physical memory can be secured when the physical memory allocated to the page memory is insufficient.

【0014】このようなメモリ管理を行うことにより、
データ展開モジュールは描画するメモリがページ単位の
管理であろうとも、バンド単位の管理であろうとも意識
することなく処理を行うことができる。
By performing such memory management,
The data development module can perform processing without regard to whether the memory to be drawn is managed in page units or band units.

【0015】通常残りのメモリに余裕がある時には、メ
モリ管理モジュールは仮想アドレスのページメモリに書
き込みがあった場合1ページ分の実メモリを仮想のペー
ジメモリに割り付ける。しかし、割り当て可能メモリが
1ページ分に満たなかった場合、書き込みがあったアド
レスが含まれるバンドにのみメモリの割り当てを行う。
バンド単位での割り当てを開始するタイミングである
が、1ページ分のメモリがなかった時でも構わないし、
また予め定められた所定のメモリ残容量になったときで
も構わない。
Normally, when there is room in the remaining memory, the memory management module allocates one page of real memory to the virtual page memory when data is written to the page memory at the virtual address. However, when the allocable memory is less than one page, the memory is allocated only to the band including the address where the writing has been performed.
This is the timing to start allocation in band units, but it does not matter if there is no memory for one page,
Further, it may be a time when a predetermined remaining memory capacity is reached.

【0016】図4はページ単位でアロケートした一例を
示す図である。同図は、ページ1〜4までは1ページ分
のメモリが割り当てられ、ページ5のメモリをアロケー
トする時に1ページ分のメモリがないことが検出された
様子を示している。そこで、ページ単位でアロケートで
きなかったページ5に関しては、図5に示すように、割
り当て可能メモリをサーチし、その割り当て可能メモリ
のメモリ領域分によってページ5内をバンド単位でアロ
ケートし、アロケートされた各バンドには図5の矢印1
〜4のようにビットマップが展開されて、描画が滞るこ
とを防いでいる。しかし、図5に示すように、画像デー
タの1つである文字「も」が下半分のため、図5のメモ
リ上では割り当て可能メモリからアロケートすることが
できない。そこで、この時は作成済みであって印刷待ち
のページ4をバンド単位に分割し、ビットマップがない
バンドLをページ5の最後のバンド用に使用することに
より、文字「も」は図5のメモリ上で割り当て可能メモ
リからアロケートされてビットマップ展開され得ること
となる。
FIG. 4 is a diagram showing an example of allocation on a page basis. This figure shows a state in which one page of memory is allocated to pages 1 to 4, and it is detected that there is no memory of one page when allocating the memory of page 5. Therefore, as for page 5 that could not be allocated in page units, as shown in FIG. 5, an allocatable memory was searched, and page 5 was allocated in band units according to the memory area of the allocatable memory, and allocated. Arrow 1 in FIG.
Bitmaps are expanded as in to 4 to prevent drawing from being delayed. However, as shown in FIG. 5, the character “MO”, which is one of the image data, cannot be allocated from the allocatable memory in the memory of FIG. Therefore, at this time, the page 4 that has been created and is waiting to be printed is divided into band units, and the band L without the bitmap is used for the last band of the page 5, so that the character “mo” in FIG. It can be allocated on the memory from the allocatable memory and expanded into a bitmap.

【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ページ分のメモリが割り当てられていたとし
ても、バンド単位に考え、ビットマップがあるバンドに
マーキングを施すなどの処理を、データ展開モジュール
において行っておくことが望ましい。
FIG. 6 is a flowchart showing the operation of the memory management module. First, if there is a memory allocation request, it is determined whether there is one page in the allocatable memory,
If there is, memory for one page is allocated (step S2).
01 to S203). In step S202, if there is no allocable memory for one page, but there is less allocable memory for one page, the memory is allocated in band units (steps S204, S205). Then, it is determined whether or not all the assignments in band units have been completed. If the assignment has not been completed, and if there is no memory that can be assigned in step S204, a page waiting for printing is searched from the upper address (step S206). , S207). It is determined whether the searched page waiting for printing is band-managed, and if not managed, the process proceeds to band management (steps S208, S209). Then, a band without a bitmap is searched, and if the band is found, the band memory is removed from page management and assigned (steps S210 to S212). If no band without a bitmap is found in step S211, step S2 is executed.
Returning to step 207, the page waiting for printing is searched again from the next higher address, and steps S208 to S211 are repeated until a band without a bitmap is found. As described above, for example, a method of searching for a band having no bitmap of page 4 is possible. However, it is possible to scan the memory of one page. Even if they are assigned, it is desirable to perform processing such as marking a band having a bitmap on a band-by-band basis in the data expansion module.

【0018】次に、印刷制御モジュールが図5に示して
いるページ4を印刷することを考える。ここではページ
4をA〜Lのバンドに分割し、バンドLをページ5のた
めに割り振った。印刷制御モジュールはページ4のビデ
オ転送のために、A〜Kまでのバンド数分アドレス、
幅、高さ等の設定を印刷制御部に行う。ページ5用に使
用したバンドLのバンド分のDMAは1バンド分のメモ
リを用意しても構わないが、図1の印刷制御部20がハ
ードウェア的にメモリがなくても幅、高さの指定のみで
ブランクの転送を行う機能を有していれば、そのメモリ
も必要はない。印刷制御部20はせいぜい1〜3段程度
のFIFOしか持たないのが通常であるから、ページの
先頭部分以外の設定はDMA中に行わなければならな
い。
Next, consider that the print control module prints page 4 shown in FIG. Here, page 4 is divided into bands A to L, and band L is allocated for page 5. The print control module addresses the number of bands from A to K for the video transfer of page 4,
Settings such as width and height are made to the print control unit. The DMA of the band L of the band L used for the page 5 may be prepared with a memory of one band, but the print control unit 20 of FIG. If it has a function of performing blank transfer only by designation, there is no need for the memory. Normally, the print control unit 20 has at most about one to three stages of FIFOs, so that settings other than the head of a page must be made during DMA.

【0019】図1で示したように、この構成ではバス1
1が1本であるため、DMA中はバス調停によりCPU
12がメモリにアクセスできる時間が限られてくる。ま
た、実際には図5で図示したものよりもはるかに細かい
メモリ分割を行うのが通常であるから、DMA用のアド
レス計算、印刷制御部への設定は無視できないCPU時
間とバス占有時間となってあらわれる。更に、設定回数
だけ見ても、例えばA4サイズの用紙に600dpiで
印刷を行う場合、1ページ分では約4.2メガバイトの
メモリが必要となる。これを32キロバイト単位のバン
ドに分割したとすると、約130のバンドに分割され、
要するにページ単位の場合では一回の設定で行うことが
130回行わなくてはならなくなる。この時間がオーバ
ーヘッドであり、通常動作時でもバンド管理を行う場合
には、常にこのオーバーヘッドのためにデータ展開モジ
ュールが使用できるCPU時間と、特にDMA中に問題
となるメモリアクセスのためのバス時間が制限されてい
る状態となっている。
As shown in FIG. 1, in this configuration, the bus 1
Since one is one, the CPU arbitrates during DMA by bus arbitration.
The time during which the memory 12 can access the memory is limited. In fact, since it is normal to actually perform much finer memory division than that shown in FIG. 5, the address calculation for the DMA and the setting to the print control unit become a CPU time and a bus occupation time that cannot be ignored. Appears. Further, even if only the set number of times is taken, for example, when printing on A4 size paper at 600 dpi, a memory of about 4.2 megabytes is required for one page. If this is divided into bands of 32 kilobytes, it is divided into about 130 bands,
In short, in the case of the page unit, it is necessary to perform the setting with one setting 130 times. This time is overhead, and when performing band management even during normal operation, the CPU time that can be used by the data expansion module due to this overhead and the bus time for memory access, which is a problem during DMA, are always required. It is in a restricted state.

【0020】図5ではページ4をA〜Lまでのバンドに
分割したが、もともと連続した1ページ分の物理メモリ
が割り当てられていたため、Lをページ5用に割り当て
たとしてもA〜Kまでは連続した実メモリである。この
ため、図示していないがページ6以降の作成の前に、も
しもページ1のメモリが開放されていれば、これ以上の
物理メモリの分断はない。このときA〜Kを1つのバン
ドとして扱えば、結局ビデオ設定は物理メモリがあるバ
ンドとないバンドの2回のみで済ますことができる。
In FIG. 5, page 4 is divided into bands A to L, but since physical memory for one continuous page is originally allocated, even if L is allocated for page 5, It is a continuous real memory. Therefore, although not shown, if the memory of page 1 is released before the creation of page 6 and subsequent pages, there is no further division of the physical memory. At this time, if A to K are treated as one band, the video setting can be completed only twice in the band with the physical memory and in the band without the physical memory.

【0021】上記のような理由により、作成済みのペー
ジからビットマップのないメモリを割り当てる場合、で
きるだけ上位のアドレスからメモリを割り当てるように
する。そうすることにより、ページ1から順番に排紙完
了した場合、次ページ以降のメモリのアロケートでは連
続した空間を割り当てられる可能性が非常に高くなる。
For the above reasons, when allocating a memory without a bitmap from a page that has already been created, the memory is allocated from the highest possible address. By doing so, when the paper ejection is completed in order from page 1, the possibility of allocating a continuous space in the allocation of the memory after the next page becomes very high.

【0022】そして、ページ6以降用にメモリを割り当
てる必要がある時には、またページ4から割り当て直す
訳であるが、次に割り当て可能なメモリは図5中ではビ
ットマップのないI,H,Gである。この時、I,H,
Gの順番で割り当てていく訳であるが、もし必要とする
バンドが3バンド分であれば、G,H,Iの順に割り当
てても構わない。そうすることにより、G〜Iが連続し
た領域となり、ビデオ設定回数が1/3に低減できる。
When it is necessary to allocate memory for page 6 and subsequent pages, the memory is reallocated from page 4. The next memory that can be allocated is I, H, G without a bit map in FIG. is there. At this time, I, H,
G is assigned in the order of G. However, if the required bands correspond to three bands, they may be assigned in the order of G, H, and I. By doing so, GI becomes a continuous area, and the number of times of video setting can be reduced to 1/3.

【0023】但し、メモリの再割り当ては、実際には物
理メモリのない仮想メモリへの書き込みによる例外が発
生した時に行われるので、次のバンドが連続したアドレ
スにあることを検出することはできない。
However, since the reallocation of the memory is performed when an exception occurs due to the writing to the virtual memory having no actual physical memory, it cannot be detected that the next band is at a continuous address.

【0024】よって、物理メモリの要求があった時に、
G〜Iを一度割り当て可能メモリとして、ページ4から
は開放し、下位アドレス(Gだったメモリ)から割り当
てていくなどの工夫が必要である。ページ4では1バン
ドのみ開放されても、連続した3バンドを開放されても
メモリが2つに分断されることに違いはないため、ビデ
オ設定の回数自体は変わらない。
Thus, when there is a request for physical memory,
It is necessary to take measures such as releasing G1 to I as a once assignable memory from page 4 and assigning it from a lower address (memory that was G). In page 4, there is no difference that the memory is divided into two even if one band is released or three consecutive bands are released, so that the number of video settings itself does not change.

【0025】同様の理由で、図5で図示したページ5の
一番上の2バンドは連続した空間から割り当てられてい
るため、1つのバンドとして扱うことにより、ビデオ設
定の時間を1/2に低減することができる。
For the same reason, the two bands at the top of page 5 shown in FIG. 5 are allocated from a continuous space. Therefore, by treating them as one band, the time for video setting is reduced to half. Can be reduced.

【0026】以上のメモリ管理モジュールの動作を別の
メモリ管理モジュールの動作フローを示す図7に従って
説明する。同図におけるステップS201〜S212の
動作は図6におけるステップS301〜S312と同じ
動作であるが、異なる動作としてはステップS312で
バンドメモリをページの管理から外して割り当てた後、
割り当てたバンドが直前に割り当てたバンドと連続な物
理アドレスか否かを判定し、連続な物理アドレスであれ
ば直前に割り当てたバンドと合わせて1つのバンドとし
て管理する(ステップS313,S314)。ステップ
S313で連続な物理アドレスでなければそのまま割り
当てて処理を終了する。
The operation of the above-described memory management module will be described with reference to FIG. 7 showing an operation flow of another memory management module. The operations in steps S201 to S212 in FIG. 6 are the same as the operations in steps S301 to S312 in FIG. 6, except that the band memory is removed from the page management in step S312 and allocated.
It is determined whether or not the allocated band is a physical address that is continuous with the band allocated immediately before. If the allocated physical address is a continuous physical address, the band is managed as one band together with the band allocated immediately before (steps S313 and S314). If it is not a continuous physical address in step S313, the address is allocated as it is and the process is terminated.

【0027】なお、印刷制御モジュールに関してはメモ
リ管理モジュールの提供する情報に従って順にビデオ設
定を行うだけで設定回数以外の違いはないために説明は
省略する。
It should be noted that the print control module only performs video setting in order according to the information provided by the memory management module, and there is no difference other than the number of times of setting.

【0028】なお、本発明は上記実施例に限定されるも
のではなく、特許請求の範囲内の記載であれば多種の変
形や置換可能であることは言うまでもない。
The present invention is not limited to the above embodiment, and needless to say, various modifications and substitutions can be made within the scope of the claims.

【0029】[0029]

【発明の効果】以上説明したように、本発明によれば、
ホストから送信されるPDLデータをビットマップに展
開して格納するページメモリを有する画像形成装置であ
って、ページメモリのメモリ領域で1ページ分のビット
マップに展開可能なメモリ領域があるときは用紙サイズ
分のページ単位のメモリ管理を用いてビットマップに展
開する。一方、メモリ領域で1ページ分のビットマップ
に展開可能なメモリ領域がないときには画像データの1
ページをバンドで区切ったバンド単位のメモリ管理に切
り替えてバンド単位でビットマップに展開する。よっ
て、PDLデータのビットマップへの展開を途切れるこ
となく実行させることができる。
As described above, according to the present invention,
An image forming apparatus having a page memory for developing PDL data transmitted from a host into a bit map and storing the developed data, wherein if there is a memory area that can be expanded into a bit map for one page in the memory area of the page memory, It is developed into a bitmap using memory management in page units for the size. On the other hand, when there is no expandable memory area in the bit map for one page in the memory area, 1
Switch to page-by-band memory management by dividing the page into bands, and expand to bitmaps in band units. Therefore, the development of the PDL data into the bitmap can be executed without interruption.

【0030】また、バンド単位のメモリ管理での描画中
のページを作成中に、割り当てるメモリ領域がなくなっ
たときは、以前に作成したページ単位のメモリ領域をバ
ンド単位のメモリ管理に切り替え、ビットマップが存在
しないバンドのメモリ領域を開放し、開放したメモリ領
域を描画中のページのためにバンド単位でビットマップ
に展開することにより、バンド管理のオーバーヘッドを
なくし、ビットマップ展開を高速にできる。
When a memory area to be allocated is exhausted during creation of a page being drawn by band-based memory management, the previously created page-based memory area is switched to band-based memory management, and a bit map is created. By releasing the memory area of the band where there is no, and developing the released memory area into bitmaps in band units for the page being drawn, the overhead of band management can be eliminated and bitmap development can be performed at high speed.

【0031】更に、連続しているバンドのメモリ領域が
あれば、連続するバンドのメモリ領域を1つのバンドの
メモリ領域とすることにより、ビットマップ展開に最大
限CPUの処理時間を割り当てることができ、印刷の高
速化が図れる。
Further, if there is a memory area of a continuous band, the memory area of the continuous band is set as a memory area of one band, so that the maximum processing time of the CPU can be allocated to bitmap development. The printing speed can be increased.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る画像形成装置の構成を示すブロッ
ク図である。
FIG. 1 is a block diagram illustrating a configuration of an image forming apparatus according to the present invention.

【図2】本発明の画像形成装置におけるソフトウェアの
関連を示す図である。
FIG. 2 is a diagram illustrating a relation of software in the image forming apparatus of the present invention.

【図3】データ展開モジュールの基本動作を示すフロー
チャートである。
FIG. 3 is a flowchart showing a basic operation of the data expansion module.

【図4】本実施例のページメモリのページ毎に割り当て
た様子の一例を示す図である。
FIG. 4 is a diagram illustrating an example of a state in which a page is allocated to each page of a page memory according to the embodiment;

【図5】本実施例のページメモリをバンド単位に割り当
てた様子を示す図である。
FIG. 5 is a diagram illustrating a state in which page memories according to the present embodiment are allocated in band units.

【図6】本実施例のメモリ管理モジュールの動作を示す
フローチャートである。
FIG. 6 is a flowchart illustrating an operation of the memory management module according to the embodiment.

【図7】本実施例のメモリ管理モジュールの別の動作を
示すフローチャートである。
FIG. 7 is a flowchart illustrating another operation of the memory management module of the embodiment.

【符号の説明】[Explanation of symbols]

11:バス、12:CPU、13:受信バッファ、1
4:プログラム実行メモリ、15:ページメモリ、1
6:メモリ管理部、17:ホストI/F、18:ホス
ト、19:中間コード/フォントROM、20:印刷制
御部、21:入出力パネル、22:ビデオI/F、2
3:プリントエンジン。
11: bus, 12: CPU, 13: reception buffer, 1
4: Program execution memory, 15: Page memory, 1
6: memory management unit, 17: host I / F, 18: host, 19: intermediate code / font ROM, 20: print control unit, 21: input / output panel, 22: video I / F, 2
3: Print engine.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 ホストから送られたデータをビットマッ
プに展開して格納するメモリを管理するメモリ管理方法
において、 前記メモリのメモリ領域で1ブロック分のビットマップ
に展開可能なメモリ領域があるときはブロック単位のメ
モリ管理を用いてブロック単位でビットマップに展開
し、前記メモリのメモリ領域で1ブロック分のビットマ
ップに展開可能なメモリ領域がないときには1ブロック
のメモリ領域より小さいバンドで区切ったバンド単位の
メモリ管理に切り替えてバンド単位でビットマップに展
開することを特徴とするメモリ管理方法。
1. A memory management method for managing a memory for expanding data stored in a bitmap sent from a host and storing the expanded data in a bitmap, wherein when there is a memory area in the memory area of the memory which can be expanded to a bitmap of one block. Is expanded into bitmaps in block units using block-by-block memory management, and when there is no expandable memory area in the bitmap for one block in the memory area of the memory, the memory area is divided into bands smaller than the memory area of one block. A memory management method characterized by switching to band-based memory management and developing a bitmap in band units.
【請求項2】 バンド単位のメモリ管理によって割り当
てるメモリ領域がなくなったときは、以前に作成したペ
ージ単位のメモリ領域をバンド単位のメモリ管理に切り
替え、ビットマップが存在しないバンドのメモリ領域に
未処理データを割り当ててビットマップに展開する請求
項1のメモリ管理方法。
2. When there is no more memory area to be allocated by band-based memory management, the previously created page-based memory area is switched to band-based memory management, and the unprocessed memory area of the band in which no bitmap exists exists. 2. The memory management method according to claim 1, wherein data is allocated and developed into a bitmap.
【請求項3】 物理アドレスが連続しているバンドのメ
モリ領域は1つのバンドのメモリ領域とする請求項1又
は2のメモリ管理方法。
3. The memory management method according to claim 1, wherein a memory area of a band in which physical addresses are continuous is a memory area of one band.
【請求項4】 ホストから送信されるページ記述言語デ
ータをビットマップに展開して格納するページメモリを
有する画像形成装置において、 前記ページメモリのメモリ領域で1ページ分のビットマ
ップに展開可能なメモリ領域があるときは用紙サイズ分
のページ単位のメモリ管理を用いてビットマップに展開
し、前記ページメモリのメモリ領域で1ページ分のビッ
トマップに展開可能なメモリ領域がないときには画像デ
ータの1ページをバンドで区切ったバンド単位のメモリ
管理に切り替えてバンド単位でビットマップに展開する
ように前記ページメモリを管理するメモリ管理部を有す
ることを特徴とする画像形成装置。
4. An image forming apparatus having a page memory for expanding page description language data transmitted from a host into a bitmap and storing the bitmap, wherein the memory can be expanded into a bitmap for one page in a memory area of the page memory. If there is an area, it is developed into a bitmap using the page size memory management for the paper size. If there is no memory area that can be developed into a bitmap for one page in the memory area of the page memory, one page of image data is stored. An image forming apparatus, comprising: a memory management unit that manages the page memory so that the page management is switched to a band-by-band memory management divided into bands and developed into a bitmap in band units.
【請求項5】 前記メモリ管理部は、バンド単位のメモ
リ管理によって割り当てるメモリ領域がなくなったとき
は、以前に作成したページ単位のメモリ領域をバンド単
位のメモリ管理に切り替え、ビットマップが存在しない
バンドのメモリ領域に未処理のバンドの画像データを割
り当ててビットマップに展開する請求項4の画像形成装
置。
5. When the memory area to be allocated by the band-based memory management runs out, the memory management unit switches the previously created page-based memory area to the band-based memory management, and selects a band in which no bitmap exists. 5. The image forming apparatus according to claim 4, wherein the image data of the unprocessed band is assigned to the memory area and is developed into a bitmap.
【請求項6】 前記メモリ管理部は、物理アドレスが連
続しているバンドのメモリ領域は1つのバンドのメモリ
領域とする請求項4又は5の画像形成装置。
6. The image forming apparatus according to claim 4, wherein the memory management unit sets a memory area of a band in which physical addresses are continuous to a memory area of one band.
JP2000027486A 2000-02-04 2000-02-04 Method for managing memory and imaging apparatus Pending JP2001213011A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000027486A JP2001213011A (en) 2000-02-04 2000-02-04 Method for managing memory and imaging apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000027486A JP2001213011A (en) 2000-02-04 2000-02-04 Method for managing memory and imaging apparatus

Publications (1)

Publication Number Publication Date
JP2001213011A true JP2001213011A (en) 2001-08-07

Family

ID=18553049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000027486A Pending JP2001213011A (en) 2000-02-04 2000-02-04 Method for managing memory and imaging apparatus

Country Status (1)

Country Link
JP (1) JP2001213011A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111769A1 (en) 2012-01-27 2013-08-01 京セラドキュメントソリューションズ株式会社 Memory management device and image processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111769A1 (en) 2012-01-27 2013-08-01 京セラドキュメントソリューションズ株式会社 Memory management device and image processing device
JP2013156781A (en) * 2012-01-27 2013-08-15 Kyocera Document Solutions Inc Memory management device and image processing device
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 (en) Network printer
JPH09251361A (en) Information processor, information processing method, printing system and memory
KR100490412B1 (en) Method of controlling printing job schedule and print system employing the same
US20030210427A1 (en) Efficient storage and rendering of patterns in a printer
KR100524076B1 (en) Apparatus for compressing and decompressing of data
JP3283939B2 (en) Image processing method and apparatus
JP2001213011A (en) Method for managing memory and imaging apparatus
JPH11157146A (en) Method for processing image of printer and printer
JPH09254455A (en) Printer device
JP3116354B2 (en) Printer data management method
JPH10260799A (en) Printer
JPH11203070A (en) Printer controller
JPH11119942A (en) Printer control system and recording medium recorded with printer control program
JP2687577B2 (en) Printing control method
JP3353312B2 (en) Memory area management method
JPH10307695A (en) Printer device and printer control method
JP2000315141A (en) Printer and method for managing memory of recording medium and printer
JP6078954B2 (en) Image processing device
JPH09282112A (en) Information processor
JPH09292875A (en) Image processor
JPH1058766A (en) Image data output control device
JPH03163621A (en) Page printer
JP2000052609A (en) Information-processing apparatus, printing apparatus, control method and recording medium
JP2000122818A (en) Network printer
JPH08282019A (en) Image forming method and device