JP3562181B2 - Printer memory management method and memory management device - Google Patents
Printer memory management method and memory management device Download PDFInfo
- Publication number
- JP3562181B2 JP3562181B2 JP31107596A JP31107596A JP3562181B2 JP 3562181 B2 JP3562181 B2 JP 3562181B2 JP 31107596 A JP31107596 A JP 31107596A JP 31107596 A JP31107596 A JP 31107596A JP 3562181 B2 JP3562181 B2 JP 3562181B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- image
- memory
- mode
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、例えばインクジェットプリンタ等のプリンタにおけるメモリの管理方法及び管理装置に関する。
【0002】
【従来の技術】
インクジェットプリンタ等のシリアルプリンタでは、ホストコンピュータから受信した印刷データを解釈することにより、最終的な印字に必要なイメージデータをイメージメモリに展開している。例えば、印刷モードには、文字を印刷するキャラクタモードと、イメージを印刷するラスタモードとがあり、各印刷モードに応じて、イメージメモリにイメージデータが展開される。即ち、イメージメモリに画成された複数のイメージバッファ内に印刷出力されるべきイメージデータがそれぞれ格納され、これら各イメージバッファ内のイメージデータを順次プリントヘッドに送信することにより、シリアル印字が実行される。
【0003】
ここで、例えば、ホストコンピュータからの印刷データを受信する受信バッファメモリ、最終的なイメージデータを展開するための展開バッファメモリ、各種変数を記憶する変数メモリ等のように、記憶すべきデータ種別毎にそれぞれ別体のメモリを用いたのでは、構造が複雑化して製造コストが上昇する。
【0004】
そこで、通常は、図9に示す如く、RAM等のメモリ500に各種のデータを記憶するための領域をそれぞれ設定している。具体的には、BIOS(Basic Input/Output System)使用領域510は、印刷データを一時的に記憶するための受信バッファとして用いられると共に、プリンタシステム上使用される使用領域である。共通使用領域520は、キャラクタモード及びラスタモードの両方で使用するデータ、変数を記憶するための使用領域である。キャラクタモード固有使用領域530は、例えば、一行分のイメージデータを展開するのに用いるラインバッファ、ホストコンピュータからダウンロードされるANK文字等のデータを記憶するダウンロード領域、キャラクタイメージを発生させる文字発生用のワークエリア等として用いられる使用領域である。イメージ領域540は、最終的なイメージデータを展開するための使用領域であり、複数のイメージバッファ541〜547が画成されている。そして、ラスタイメージデータを印刷するラスタモードの場合にも、このイメージ領域540内のイメージバッファ541〜547にイメージデータが展開される。
【0005】
【発明が解決しようとする課題】
従来技術では、メモリ500上に、BIOS使用領域510、共通使用領域520、キャラクタモード固有使用領域530及びイメージ領域540をそれぞれ設定し、印刷に必要な各種データ等の記憶を行っているが、これらの各使用領域510〜540は、メモリ500のアドレスが予め固定的に割り当てられることにより形成されている。また、イメージ領域540内に形成されるイメージバッファの設定数も、予め定められた固定値である。従って、従来技術では、キャラクタモード及びラスタモードのいずれの場合も、同一のバッファ容量を有する同一設定数のイメージバッファ541〜547を用いて、イメージデータの展開を行っている。
【0006】
従来技術のように、メモリ500の使用領域等を予め固定的に定めておけば、各領域510〜540の開始アドレスは固定されるため、これら各固定アドレスを用いてデータ入出力プログラム等を容易に作成することができる。しかし、メモリ500の使用領域等を固定化すると、メモリ500の使用効率が低下するばかりか、印刷出力のスループットの向上を図ることができなくなる。
【0007】
即ち、例えば、キャラクタモード固有使用領域530は、専らキャラクタモードでのみ使用される領域であり、ラスタイメージデータを印刷するラスタモード時には使用されない。従って、ラスタモード時において、キャラクタモード固有使用領域530は、メモリ資源を無駄に消費していることになり、何ら印刷に寄与していない。
【0008】
また、プリントヘッドは各イメージバッファ541〜547が記憶したイメージデータを読み出して印刷を実行するため、印刷出力のスループットはイメージバッファの設定数に依存する。一方、印刷に必要なイメージバッファのバッファ容量は、印刷モードや印刷解像度によって異なるため、イメージ領域540に設定可能なイメージバッファ設定数も異なる。しかし、従来技術では、印刷モード等に拘わらず利用可能なイメージバッファの設定数は一定であるため、印刷出力のスループット向上を図ることができないという問題がある。
【0009】
本発明は、上述した課題に鑑みなされたもので、その目的は、プリンタのメモリを効率的に使用することができ、印刷出力のスループットを向上できるようにしたプリンタのメモリ管理方法及びメモリ管理装置を提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成すべく、本発明では、印刷モードに応じてメモリの使用領域を動的に制御している。即ち、本発明に係るプリンタのメモリ管理方法は、印刷データに基づいて印刷情報を解析する解析ステップと、印刷情報に基づいて前記メモリの使用領域を割り当てる領域割当ステップと、を少なくともこの順序で実行することを特徴としている。
【0011】
印刷情報とは、例えば、キャラクタ印刷やラスタイメージ印刷のような印刷のモードと印刷解像度等を含む概念である。解析された印刷情報に基づいてメモリの使用領域を割り当てることにより、印刷に不要な使用領域をメモリ上に確保することがなく、当該印刷に最適なメモリ空間を提供することができる。
【0012】
また、本発明では、解析ステップは、印刷モード及び解像度を印刷情報として解析し、領域割当ステップは、前記印刷モードに基づいてメモリの使用領域を設定すると共に、当該使用領域内に前記解像度に基づいてイメージバッファを設定することを特徴としている。
【0013】
これにより、印刷モードに基づいてメモリの使用領域を動的に割り当てることができると共に、解像度に基づいてイメージバッファを設定するため、イメージバッファを使用領域の容量内で最大限に形成することができる。つまり、例えば、360×360DPI、720×720DPIのように、印刷の解像度によって必要となるイメージバッファのバッファ容量は異なるが、この印刷に必要なバッファ容量でイメージバッファを設定できるため、印刷解像度に応じてイメージバッファの設定数を動的に制御することができる。
【0014】
また、好ましい実施例では、解析ステップは、印刷データ中の印刷モード情報に基づいてキャラクタデータを印刷するキャラクタモードであるかラスタイメージデータを印刷するラスタモードであるかを判定する印刷モード判定ステップと、前記印刷データ中の解像度情報に基づいて印刷の解像度を判定する解像度判定ステップとを備えてなり、領域割当ステップは、前記キャラクタモードであると判定された場合には該キャラクタモードに固有の使用領域とイメージデータの展開に用いるイメージ領域とを使用領域としてメモリにそれぞれ設定する一方、前記ラスタモードであると判定された場合にはイメージデータの展開に用いるイメージ領域を前記使用領域として前記メモリに設定する使用領域設定ステップと、前記イメージ領域内に前記解像度に応じたバッファ容量を有するイメージバッファを設定するイメージバッファ設定ステップとを備えていることを特徴としている。
【0015】
キャラクタデータを印刷するキャラクタモードとラスタイメージデータを印刷するラスタモードとでは、メモリ上に作成すべき領域が異なる。そこで、キャラクタモード時には、イメージ領域と、例えば、フォント展開用のワークエリアやラインバッファ等のキャラクタモードに固有の使用領域とを設定し、ラスタモード時にはイメージ領域を設定する。これにより、印刷モードに応じて、メモリを効率的に使用することができる。
【0016】
請求項3に係る発明のように、使用領域設定ステップは、初期状態として、キャラクタモードに固有の使用領域とイメージデータの展開に用いるイメージ領域とを使用領域としてメモリにそれぞれ設定することもできる。
【0017】
つまり、キャラクタモード用のメモリ領域設定を初期設定値としておくことにより、印刷モードの判定をすることなく、速やかに印刷頻度の高いキャラクタモードの印刷を実行することができる。
【0018】
また、請求項4に係る発明のように、前記領域割当ステップは、前記メモリ中の変動アドレス領域に前記使用領域を設定するのが好ましい。これにより、必要なメモリ量に基づいて使用領域を確保できる。
【0019】
具体的には、請求項5に係る発明のように、前記メモリを予め複数のブロックに区画しておき、該各ブロックのアドレス及びブロック使用状態を管理するメモリ管理手段を設け、前記領域割当ステップは、前記メモリ管理手段によって管理される前記ブロック単位で、前記使用領域を設定することが好ましい。
【0020】
例えば、所定のバイト単位でメモリを多数のブロックに区切っておき、各ブロックのアドレスと各ブロックの使用状態とを、メモリ管理手段に管理させる。ここで、「ブロック使用状態」とは、ブロックが使用されているか否か、一連のブロックが何のため(例えば、イメージ展開用)に使用されているか等を含む意味である。従って、領域割当ステップは、使用領域の設定に際して、メモリ管理手段に対し、空いている一連のブロックの有無を問い合わせ、メモリ管理手段からの応答(一連の空きブロックのアドレス、該各ブロックの使用許可等)を得て、必要な使用領域を設定する。
【0021】
【発明の実施の形態】
以下、図面に基づき本発明の実施の形態について詳細に説明する。まず、図1は、本発明が適用されるシリアルプリンタのブロック図である。シリアルプリンタは、プリンタコントローラ1とプリントエンジン2とから大略構成される。プリンタコントローラ1は、ホストコンピュータ3からの印刷データ等を受信するインターフェース(以下「I/F」という)4と、印刷データ等を記憶すると共に作業領域を提供するRAM5と、各種制御プログラム等を記憶したROM6と、ROM6に記憶されたプログラムに従って各種のデータ処理等を実行する制御部7と、プリンタコントローラ1とプリントエンジン2との間の通信を行うI/F8とを備え、これら各I/F4,8、RAM5、ROM6及び制御部7はバス9を介して相互に接続されている。
【0022】
一方、プリントエンジン2は、プリントヘッド10と、キャリッジ機構11と、紙送り機構12とを備えて構成されている。プリントヘッド10には、例えば64個あるいは128個の複数のノズルが副走査方向(紙送り方向)に列設されており、シリアルプリントヘッドとして構成されている。そして、各ノズル毎に設けられた圧電振動子あるいは発熱素子等のインク滴吐出機構によって、各ノズルからはイメージデータに応じてインク滴が吐出され、このインク滴が印刷記憶媒体としての記録紙に着弾して付着することにより、印刷が行われる。キャリッジ機構11は、プリントヘッド10を搭載したキャリッジと、該キャリッジを駆動するキャリッジモータ等の駆動機構とを備えてなり、プリントヘッド10を副走査方向と直交する主走査方向に駆動させるものである。紙送り機構12は、紙送りローラと、該ローラを駆動する紙送りモータ等の駆動機構を備えてなり、記録紙を所定ピッチで移動させるものである。
【0023】
図2は、プリンタコントローラ1の内部機能を示す機能ブロック図である。まず、ホストコンピュータ3から送信された印刷データは、受信バッファ20に記憶される。この受信バッファ20は、後述するように、「メモリ」としてのRAM5の所定の領域に形成されるものであるが、図2では説明の便宜上、受信バッファ20とRAM5とを分離して図示している。
【0024】
この受信バッファ20に記憶された印刷データは、解析部21によって「印刷情報」としての印刷モード及び印刷解像度が解析される。解析部21は、主として制御部7により具現化されるもので、その内部には、印刷モードを判定する印刷モード判定手段22と、印刷解像度を判定する解像度判定手段23とが設けられている。
【0025】
ここで、印刷モードには、ラスタイメージデータを印刷するラスタモードと、キャラクタデータを印刷するキャラクタモードとがあり、図3に示すように、各印刷モードによって印刷データの構造等が異なる。ラスタモードの場合は、ヘッダ情報として、「印刷モード情報」としてのデータ種別情報RD1、圧縮モード情報RD2、解像度情報RD3及びラスタ高さ情報RD4の各情報が加わり、この後にラスタデータRD5が続く構造となる。ここで、データ種別情報RD1は、例えば、「ESC・」のように、印刷データの種類毎に異なる制御コードによって示される。圧縮モード情報RD2は、圧縮方法を示す2ビットデータによって示される。解像度情報RD3は、例えば、180×180DPI、360×360DPI、720×720DPIのように、縦の印刷解像度と横の印刷解像度とからなる。ラスタ高さ情報RD4は、ラスタの高さ、即ち、何ドットライン分のラスタデータであるかを示す。一方、キャラクタモードの場合は、キャラクタデータCD3に対して、データ種別情報CD1及び属性情報CD2がヘッダ情報として付加された構造となっている。属性情報CD2は、例えば、縦倍角、イタリック等の文字の属性を示す情報である。
【0026】
従って、解析部21は、印刷データのヘッダ情報に基づいて印刷モード及び印刷解像度を解析することができる。具体的には、印刷モード判定部22は、データ種別情報RD1またはCD1に基づいて、印刷モードがラスタモードであるかキャラクタモードであるかを判定する。この印刷モード判定結果は、後述の使用領域設定部32に出力される。解像度判定部22は、解像度情報RD3に基づいて印刷解像度を判定する。ここで、本実施の形態では、キャラクタモード時の印刷解像度を例えば360×360DPIに固定しているため、キャラクタモードであると判定された場合は、印刷解像度は前記固定値であると判定される。
【0027】
領域割当制御部31は、解析部21の解析結果に応じてRAM5に設定する各使用領域を制御するもので、制御部7によって具体化される。領域割当制御部31は、使用領域設定部32とイメージバッファ設定部32とを備えている。後述のように、使用領域設定部32は、印刷モードに応じて、RAM5にイメージ領域等の使用領域を設定するものである。また、イメージバッファ設定部33は、印刷解像度に応じて、イメージ領域内に複数のイメージバッファを設定するものである。なお、イメージバッファを「印刷単位イメージデータ格納領域」として表現することもできる。
【0028】
RAM5は、アドレスが固定された固定アドレス領域40とアドレス変更が可能な変動アドレス領域50とに大別されており、固定アドレス領域40には、BIOS使用領域41と共通使用領域42とが固定的に設定されている。従来技術で述べたと同様に、BIOS使用領域41は、例えば、システム上使用する領域及び受信バッファ20とからなり、共通使用領域42は、キャラクタモード及びラスタモードの両方で共通に使用する変数等を記憶する領域である。変動アドレス領域50には、印刷モードに応じて、キャラクタモード固有使用領域51とイメージ領域52とが設定される。
【0029】
即ち、図4に示すように、キャラクタモードの場合は、キャラクタモード固有使用領域51とイメージ領域52とが設定される。キャラクタモード固有使用領域51は、例えば、一行分のイメージデータを展開するのに用いるラインバッファ、ホストコンピュータからダウンロードされるANK文字等のデータを記憶するダウンロード領域、キャラクタイメージを発生させる文字発生用のワークエリア等として用いられるものである。イメージ領域52は、最終的な印刷に必要なイメージデータを展開する領域であり、複数のイメージバッファ61が設定されている。ここで、各イメージバッファ61は、例えば、360×360DPIの印刷解像度で、128ビット等のノズル数に応じたメモリ高さと80桁のメモリ幅とをそれぞれ得られるように設定されている。
【0030】
一方、ラスタモードの場合、変動アドレス領域50には、イメージ領域53が設定される。換言すれば、キャラクタモード時のイメージ領域52がキャラクタモード固有使用領域51まで拡張されることになる。ラスタモードの場合、拡大されたイメージ領域53には、各印刷解像度に応じたバッファ容量をもって各イメージバッファ61が設定される。つまり、図7の説明図に示すように、180×180DPI、360×360DPI、720×720DPIの各印刷解像度に応じてイメージバッファ61に要求されるバッファ容量は異なるため、イメージ領域53内に形成可能なイメージバッファ61の設定数も異なる。本実施の形態では、イメージバッファ設定部33によって、イメージ領域53内にイメージバッファ61が最大限設定される。
【0031】
画像処理部70は、印刷データ中のラスタデータRD5、キャラクタデータCD3に必要な処理を行ってイメージデータを作成し、このイメージデータをRAM5に設定されたイメージ領域52,53に格納するものである。この画像処理部70は、制御部7によって具体化されるもので、例えば、キャラクタデータの場合には、キャラクタコードに基づいてキャラクタイメージを生成し、必要な装飾処理を行ってイメージ領域52に書き込む。
【0032】
次に、本実施の形態の作用を説明する。図5は本実施の形態による使用領域の設定処理及びイメージバッファ設定処理を示す流れ図である。
【0033】
まず、電源投入によって本設定処理は開始され、ステップ(以下「S」と略記する)1では、印刷モードの判定を行うことなく、RAM5に対してキャラクタモード用の使用領域を設定する。即ち、プリンタのデフォルト値としてキャラクタモードが設定されているため、印刷頻度の高いキャラクタ印刷を速やかに開始することができる。
【0034】
S2では、受信バッファ20から印刷データを読み出し、この印刷データを解析することにより、ラスタモードに移行したか否かを判定する。キャラクタモードの場合は、既にS1によってキャラクタモード用の使用領域設定がなされているため、S3では、キャラクタデータをイメージデータに展開し、各イメージバッファ61を順番に読み出すことにより、キャラクタ印刷を行う。
【0035】
一方、ラスタモードに移行した場合には、S2では「NO」と判定されてS4に移り、S1でキャラクタモード用に設定された使用領域が解放される。上述した通り、ラスタモードには3種類の印刷解像度が用意されているため、ラスタモードへの移行によって印刷解像度が変更された可能性がある。そこで、S5では、解像度情報RD3に基づいて印刷解像度に変更が生じたか否かを判定する。印刷解像度に変更がない場合、即ち、キャラクタモード時の印刷解像度と一致する場合は、S5では「NO」と判定されて後述のS8に移り、ラスタイメージの印刷を実行する。一方、印刷解像度に変更が生じた場合、S6では、使用領域を解放し、S7では、新たな印刷解像度に応じたバッファ容量でイメージバッファ61を最大限設定する。そして、S8では、イメージバッファ61に展開して記憶されたイメージデータを読み出してラスタイメージの印刷を実行し、S9では、キャラクタモードに移行したか否かを判定する。キャラクタモードに移行していない場合、即ち、ラスタモードの印刷が続行される場合は、S9では「NO」と判定されて前記S5に戻り、印刷解像度の変更が判定される。従って、印刷解像度の異なるラスタイメージを印刷する場合でも、S5で印刷解像度の変更が判定されると共に、S6で使用領域が解放されるため、常に、印刷解像度に応じたバッファ容量でイメージバッファ61を最大限設定することができる。
【0036】
さて、キャラクタモードに移行した場合は、前記S9で「YES」と判定されてS10に移り、S10では、使用領域を解放してS1に戻る。これにより、S1では、RAM5に対してキャラクタモード用の使用領域(キャラクタモード固有使用領域51及びイメージ領域52)を設定する。
【0037】
このように構成される本実施の形態によれば、印刷モードに基づいてRAM5に対する使用領域51,52,53を設定し、印刷解像度に基づいてイメージバッファ61を設定することができるため、図6に示すように、各印刷モードに応じてRAM5を効率的に利用することができる。即ち、ラスタイメージデータを印刷するラスタモード時には、キャラクタモード固有使用領域51を解放して大容量のイメージ領域53を設定することができため、印刷モードに応じてRAM5の使用領域を動的に制御することができ、メモリ増設等を行うことなく、利用可能なメモリ資源を増大させることができる。
【0038】
また、イメージ領域53内に、印刷解像度に応じたバッファ容量でイメージバッファ61を最大限設定することができるため、印刷解像度に応じてイメージバッファ61の設定数を動的に制御することができ、印刷出力のスループットを向上することができる。即ち、従来技術では、印刷解像度の相違によって要求バッファ容量が異なる場合でも、設定されるイメージバッファ数は固定されていたため、印刷出力のスループット向上を図ることができないが、本実施の形態では、印刷に要求されるバッファ容量をもってイメージバッファ61を最大限設定することができる。従って、特に、印刷解像度が低い場合には、設定されるイメージバッファ数を増大させて印刷出力のスループットを向上することができる。
【0039】
次に、図8に基づいて、メモリ管理の好ましい具体的態様を説明する。図8は、プリンタシステムの概念図である。プリンタシステムの制御構造は、メインモジュール70、BIOS71、OS(オペレーティングシステム)72とから階層化されて構成されている。メインモジュール70は、印刷制御プログラムの本体部分である。BIOS71は、プリンタソフトウエアであるメインモジュール70とプリンタハードウエア(プリンタエンジン2等)との間のインターフェースである。
【0040】
OS72は、「メモリ管理手段」に相当するものであり、タスク管理及びRAM5のメモリ管理を行うものである。タスク管理とは、印刷に際して実行される各処理単位(タスク)を管理するものである。例えば、印刷データを受信バッファ20に書き込むタスク、印刷データを中間コードに展開するタスク、中間コードからイメージデータを作成するタスク、イメージデータをプリントエンジン2に対して出力するタスク等のように、印刷の各プロセス単位でタスクが設定されている。これら各タスクには、優先順位が予め割り当てられる。例えば、プリントエンジン2にイメージデータを出力するタスクに、CPUの使用権を優先的に与える等の如くである。各タスクは、自己の処理が終了すると、CPUの使用権を放棄する。これにより、他のタスクがCPUの使用権を得て自己の処理を実行する。優先順位の高いタスクからCPU使用要求が生じた場合には、それが優先される。これにより、マルチタスク型のプリンタコントローラ1を得ることができる。
【0041】
一方、OS72は、RAM5のメモリ管理を行う。RAM5は、例えば、予め所定のバイト単位で多数のブロック73に区切られている。OS72は、全ブロック72のアドレス及びブロック使用状態を管理している。ブロック使用状態とは、空きブロックのアドレス、一連の空きブロックの有無、使用中のブロックに書き込まれているデータの種別等である。
【0042】
メインモジュール70は、ラスタモードであるかキャラクタモードであるかの印刷モードに応じて、不要なブロック72をOS72に返還し、必要な場合にはOS72に対して新たな空きブロックの使用を要求する。即ち、上述した各使用領域51,52,53は、ブロック72を単位として構成されており、これら各使用領域51,52,53を構成するブロックのアドレス等はOS72が集中的に管理しているのである。従って、各使用領域51,52,53の開始アドレスを容易に変動させることができる。
【0043】
なお、当業者であれば、前記実施の形態に限らず、本発明の要旨の範囲内で、種々の追加、変更等を行うことができる。例えば、上述した使用領域設定処理及びイメージバッファ設定処理の全てあるいは一部を、図1中に示す記憶媒体MMに記憶させておき、この記憶媒体MMの内容を制御部7によって実行させることも可能である。記憶媒体MMとしては、例えば、CD−ROM、FD、ROM、ICカード等の有形的媒体に限らず、サーバからネットワークを介してダウンロードする等の通信媒体をも含む。
【0044】
また、前記実施の形態では、メモリとして単一のRAM5を例示したが、本発明はこれに限らず、複数のRAMを用いてイメージ領域を設定する場合にも適用することができる。
【0045】
さらに、前記実施の形態では、インクジェットプリンタに適用する場合を例に挙げて説明したが、サーマルプリンタ等の他のシリアルプリンタ、ラインプリンタにも適用することができる。
【0046】
【発明の効果】
以上説明した通り、本発明に係るプリンタのメモリ管理方法及びメモリ管理装置によれば、印刷情報に基づいてメモリの使用領域を動的に設定することができるため、メモリを効率的に使用することができる。また、印刷解像度に応じたバッファ容量をもってイメージバッファを動的に設定することができるため、印刷出力のスループットを向上することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態が適用されるシリアルプリンタのブロック図である。
【図2】プリンタコントローラ内の機能を示す機能ブロック図である。
【図3】印刷データの構造を示す説明図である。
【図4】メモリに設定される使用領域等を示す説明図である。
【図5】使用領域設定処理及びイメージバッファ設定処理を示す流れ図である。
【図6】キャラクタモードとラスタモードとによってメモリに設定される使用領域が異なる状態を比較して示す説明図である。
【図7】印刷解像度によってイメージバッファのバッファ容量及び設定数が異なる状態を比較して示す説明図である。
【図8】プリンタコントローラの制御システムの概念図である。
【図9】従来技術によるメモリの使用領域割当を示す説明図である。
【符号の説明】
1 プリンタコントローラ
2 プリントエンジン
3 ホストコンピュータ
5 RAM
7 制御部
20 受信バッファ
21 解析部
22 印刷モード判定部
23 解像度判定部
31 領域割当制御部
32 使用領域設定部
33 イメージバッファ設定部
40 固定アドレス領域
41 BIOS使用領域
42 共通使用領域
50 変動アドレス領域
51 キャラクタモード固有使用領域
52 イメージ領域(キャラクタモード)
53 イメージ領域(ラスタモード)
61 イメージバッファ
70 メインモジュール
71 BIOS
72 OS
73 ブロック[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for managing a memory in a printer such as an inkjet printer.
[0002]
[Prior art]
2. Description of the Related Art In a serial printer such as an ink jet printer, image data necessary for final printing is developed in an image memory by interpreting print data received from a host computer. For example, the print mode includes a character mode for printing characters and a raster mode for printing an image, and image data is developed in an image memory according to each print mode. That is, image data to be printed and output are stored in a plurality of image buffers defined in the image memory, and serial printing is executed by sequentially transmitting the image data in each of the image buffers to the print head. You.
[0003]
Here, for example, a reception buffer memory for receiving print data from a host computer, a development buffer memory for developing final image data, a variable memory for storing various variables, and the like, for each data type to be stored. However, if separate memories are used, the structure becomes complicated and the manufacturing cost increases.
[0004]
Therefore, usually, as shown in FIG. 9, areas for storing various data are set in a
[0005]
[Problems to be solved by the invention]
In the related art, a BIOS use
[0006]
If the use area of the
[0007]
That is, for example, the character mode
[0008]
Further, since the print head reads out the image data stored in each of the
[0009]
The present invention has been made in view of the above-described problems, and has as its object to provide a memory management method and a memory management device for a printer capable of efficiently using the memory of the printer and improving the throughput of print output. Is to provide.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, according to the present invention, the use area of the memory is dynamically controlled according to the print mode. That is, the memory management method for a printer according to the present invention executes, at least in this order, an analysis step of analyzing print information based on print data and an area allocation step of allocating a use area of the memory based on print information. It is characterized by doing.
[0011]
The print information is a concept including, for example, a printing mode such as character printing or raster image printing, a printing resolution, and the like. By allocating the use area of the memory based on the analyzed print information, it is possible to provide an optimum memory space for the print without securing a use area unnecessary for the print on the memory.
[0012]
Also, Book According to the invention, the analyzing step analyzes the print mode and the resolution as print information, and the area allocating step sets a use area of the memory based on the print mode and sets an image buffer in the use area based on the resolution. Is set.
[0013]
Thereby, the used area of the memory can be dynamically allocated based on the print mode, and the image buffer is set based on the resolution, so that the image buffer can be formed to the maximum within the capacity of the used area. . That is, for example, 360 × 360 DPI and 720 × 720 DPI, the required buffer capacity of the image buffer differs depending on the printing resolution. However, since the image buffer can be set with the required buffer capacity for printing, Thus, the set number of image buffers can be dynamically controlled.
[0014]
Also, Preferred embodiment Then, the analyzing step includes a print mode determining step of determining whether the mode is a character mode for printing character data or a raster mode for printing raster image data based on print mode information in the print data; and And a resolution determining step of determining a printing resolution based on the resolution information of the character mode. The area allocating step includes, when it is determined that the character mode is set, a use area unique to the character mode and image data. An image area to be used for development is set as a use area in the memory. On the other hand, when it is determined that the raster mode is set, a use area setting for setting an image area to be used for image data development as the use area in the memory. A step according to the resolution in the image area. It is characterized by comprising a image buffer setting step of setting an image buffer having a fan capacity.
[0015]
The area to be created on the memory differs between the character mode for printing character data and the raster mode for printing raster image data. Therefore, in the character mode, an image area and a use area specific to the character mode, such as a work area for font development and a line buffer, are set. In the raster mode, an image area is set. Thereby, the memory can be used efficiently according to the print mode.
[0016]
[0017]
That is, by setting the memory area setting for the character mode as the initial setting value, printing in the character mode with a high print frequency can be executed quickly without determining the print mode.
[0018]
Claims 4 Preferably, in the area allocation step, the use area is set in a variable address area in the memory. As a result, a used area can be secured based on the required memory amount.
[0019]
Specifically, the
[0020]
For example, the memory is divided into a large number of blocks in a predetermined byte unit, and the address of each block and the use state of each block are managed by the memory management unit. Here, the “block use state” means whether or not a block is used, what a series of blocks are used for (for example, for image development), and the like. Therefore, in the area allocation step, when setting the used area, the memory management means is inquired about the presence or absence of a series of vacant blocks, and a response from the memory management means (address of a series of free blocks, permission of use of each block) Etc.) and set the necessary use area.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. First, FIG. 1 is a block diagram of a serial printer to which the present invention is applied. The serial printer generally includes a
[0022]
On the other hand, the
[0023]
FIG. 2 is a functional block diagram showing internal functions of the
[0024]
The print data stored in the
[0025]
Here, the print mode includes a raster mode for printing raster image data and a character mode for printing character data. As shown in FIG. 3, the structure of the print data differs depending on each print mode. In the case of the raster mode, the header information includes data type information RD1, compression mode information RD2, resolution information RD3, and raster height information RD4 as "print mode information", and is followed by raster data RD5. It becomes. Here, the data type information RD1 is indicated by a different control code for each type of print data, for example, “ESC ·”. The compression mode information RD2 is indicated by 2-bit data indicating a compression method. The resolution information RD3 includes a vertical print resolution and a horizontal print resolution, for example, 180 × 180 DPI, 360 × 360 DPI, and 720 × 720 DPI. The raster height information RD4 indicates the height of the raster, that is, how many dot lines of raster data. On the other hand, in the character mode, the data type information CD1 and the attribute information CD2 are added to the character data CD3 as header information. The attribute information CD2 is information indicating an attribute of a character, such as double-width characters and italics.
[0026]
Therefore, the
[0027]
The area
[0028]
The
[0029]
That is, as shown in FIG. 4, in the case of the character mode, a character mode
[0030]
On the other hand, in the case of the raster mode, an
[0031]
The
[0032]
Next, the operation of the present embodiment will be described. FIG. 5 is a flowchart showing the setting process of the used area and the image buffer setting process according to the present embodiment.
[0033]
First, this setting process is started when the power is turned on. In step (hereinafter abbreviated as “S”) 1, a character mode use area is set in the
[0034]
In S2, the print data is read from the
[0035]
On the other hand, if the mode has shifted to the raster mode, "NO" is determined in S2, and the process proceeds to S4, where the use area set for the character mode in S1 is released. As described above, since three types of print resolutions are prepared in the raster mode, there is a possibility that the print resolution has been changed by shifting to the raster mode. Therefore, in S5, it is determined whether or not the print resolution has been changed based on the resolution information RD3. If there is no change in the print resolution, that is, if the print resolution matches the print resolution in the character mode, “NO” is determined in S5, and the flow shifts to S8 described below to print the raster image. On the other hand, when a change occurs in the print resolution, the used area is released in S6, and in S7, the
[0036]
When the mode is shifted to the character mode, "YES" is determined in S9, and the process proceeds to S10. In S10, the used area is released and the process returns to S1. Thus, in S1, a character-mode use area (character-mode
[0037]
According to the present embodiment configured as described above, the
[0038]
Further, since the
[0039]
Next, a preferred specific mode of memory management will be described with reference to FIG. FIG. 8 is a conceptual diagram of the printer system. The control structure of the printer system includes a
[0040]
The
[0041]
On the other hand, the
[0042]
The
[0043]
It should be noted that those skilled in the art can make various additions, changes, and the like within the scope of the present invention without being limited to the above-described embodiment. For example, all or a part of the above-described use area setting processing and image buffer setting processing may be stored in the storage medium MM illustrated in FIG. 1, and the content of the storage medium MM may be executed by the
[0044]
In the above embodiment, the
[0045]
Further, in the above-described embodiment, the case where the present invention is applied to an ink jet printer has been described as an example. However, the present invention can be applied to other serial printers and line printers such as a thermal printer.
[0046]
【The invention's effect】
As described above, according to the memory management method and the memory management device for a printer according to the present invention, the use area of the memory can be dynamically set based on the print information, so that the memory can be used efficiently. Can be. Further, since the image buffer can be dynamically set with a buffer capacity corresponding to the print resolution, the throughput of print output can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram of a serial printer to which an embodiment of the present invention is applied.
FIG. 2 is a functional block diagram illustrating functions in a printer controller.
FIG. 3 is an explanatory diagram showing a structure of print data.
FIG. 4 is an explanatory diagram showing a use area and the like set in a memory;
FIG. 5 is a flowchart showing a use area setting process and an image buffer setting process.
FIG. 6 is an explanatory diagram showing a comparison between states in which a use area set in a memory differs between a character mode and a raster mode.
FIG. 7 is an explanatory diagram illustrating a state in which the buffer capacity and the set number of the image buffer are different depending on the print resolution.
FIG. 8 is a conceptual diagram of a control system of a printer controller.
FIG. 9 is an explanatory diagram showing a use area allocation of a memory according to a conventional technique.
[Explanation of symbols]
1 Printer controller
2 Print engine
3 host computer
5 RAM
7 control section
20 Receive buffer
21 Analysis unit
22 Print mode determination unit
23 Resolution judgment unit
31 area allocation control unit
32 Usage area setting section
33 Image buffer setting section
40 Fixed address area
41 BIOS usage area
42 Common use area
50 Variable address area
51 Character mode unique use area
52 Image area (character mode)
53 Image area (raster mode)
61 Image Buffer
70 Main Module
71 BIOS
72 OS
73 blocks
Claims (8)
前記印刷データに基づいて印刷情報を解析する解析ステップと、
前記印刷情報に基づいて前記メモリの使用領域を割り当てる領域割当ステップとを備え、
前記解析ステップは、前記印刷データ中の印刷モード情報に基づいてキャラクタデータを印刷するキャラクタモードであるかラスタイメージデータを印刷するラスタモードであるかを判定する印刷モード判定ステップを備え、
前記領域割当ステップは、前記キャラクタモードであると判定された場合には該キャラクタモードに固有の固有使用領域とイメージデータの展開に用いるイメージ領域とを前記使用領域として前記メモリにそれぞれ設定する一方、前記ラスタモードであると判定された場合には前記固有使用領域を設定することなくイメージデータの展開に用いるイメージ領域を前記使用領域として前記メモリに設定する使用領域設定ステップを備えたことを特徴とするプリンタのメモリ管理方法。Managing the use area of a memory having a reception buffer area for receiving input print data and a use area where print data received in the reception buffer area is expanded into image data printable by a print head. A memory management method for a printer,
An analyzing step of analyzing print information based on the print data,
And a region allocation step of allocating the used area of the memory based on the print information,
The analyzing step includes a print mode determining step of determining whether the character mode to print character data or the raster mode to print raster image data based on print mode information in the print data,
In the area assigning step, when it is determined that the character mode is set, while setting a unique use area unique to the character mode and an image area used for developing image data as the use area in the memory, When it is determined that the raster mode is set, a use area setting step of setting an image area used for developing image data as the use area in the memory without setting the unique use area is provided . Printer memory management method.
前記領域割当ステップは、更に、前記イメージ領域内に前記解像度に応じたバッファ容量を有するイメージバッファを設定するイメージバッファ設定ステップを備えていることを特徴とする請求項1に記載のプリンタのメモリ管理方法。The analyzing step further includes a resolution determining step of determining a printing resolution based on resolution information in the print data,
Said area allocation step further, the memory management of the printer according to claim 1, characterized in that it comprises an image buffer setting step of setting an image buffer having the resolution buffer capacity according to the image area Method.
前記領域割当ステップは、前記メモリ管理手段によって管理される前記ブロック単位で、前記使用領域を設定することを特徴とする請求項2〜3のいずれかに記載のプリンタのメモリ管理方法。The memory is partitioned into a plurality of blocks in advance, and a memory management unit that manages an address of each block and a block use state is provided.
It said area allocation step, said by the block unit to be managed by the memory management unit, a memory management method of the printer according to any one of claims 2-3, characterized in that setting the use area.
前記印刷データに基づいて印刷情報を解析する解析手段と、
前記印刷情報に基づいて前記メモリの使用領域を割り当てる領域割当制御手段とを備え、
前記解析手段は、前記印刷データ中の印刷モード情報に基づいてキャラクタデータを印刷するキャラクタモードであるかラスタイメージデータを印刷するラスタモードであるかを判定する印刷モード判定手段を備えてなり、
前記領域割当制御手段は、前記キャラクタモードであると判定された場合には該キャラクタモードに固有の固有使用領域とイメージデータの展開に用いるイメージ領域とを前記使用領域として前記メモリにそれぞれ設定する一方、前記ラスタモードであると判定された場合には前記固有使用領域を設定することなくイメージデータの展開に用いるイメージ領域を前記使用領域として前記メモリに設定する使用領域設定手段を備えたことを特徴とするプリンタのメモリ管理装置。Managing the use area of a memory having a reception buffer area for receiving input print data and a use area where print data received in the reception buffer area is expanded into image data printable by a print head. A memory management device for the printer,
Analysis means for analyzing print information based on the print data,
Bei example a region allocation control means for allocating the used area of the memory based on the print information,
The analysis unit includes a print mode determination unit that determines whether a character mode for printing character data or a raster mode for printing raster image data based on print mode information in the print data,
The area allocation control means sets, in the memory, a unique use area unique to the character mode and an image area used for developing image data as the use area when the character mode is determined. A use area setting unit configured to set an image area used for developing image data in the memory as the use area without setting the unique use area when it is determined that the raster mode is set. The printer's memory management device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31107596A JP3562181B2 (en) | 1996-11-21 | 1996-11-21 | Printer memory management method and memory management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31107596A JP3562181B2 (en) | 1996-11-21 | 1996-11-21 | Printer memory management method and memory management device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10154048A JPH10154048A (en) | 1998-06-09 |
JP3562181B2 true JP3562181B2 (en) | 2004-09-08 |
Family
ID=18012823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31107596A Expired - Fee Related JP3562181B2 (en) | 1996-11-21 | 1996-11-21 | Printer memory management method and memory management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3562181B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002321427A (en) * | 2001-04-23 | 2002-11-05 | Canon Inc | Printer |
CN100360318C (en) * | 2005-01-31 | 2008-01-09 | 北京北大方正电子有限公司 | Printing internal memory managing method for improving intenral memory availability |
-
1996
- 1996-11-21 JP JP31107596A patent/JP3562181B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10154048A (en) | 1998-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020003634A1 (en) | Printing apparatus, method of controlling same, information processor connected thereto, system and storage medium | |
US6857718B2 (en) | Printing apparatus, information processing apparatus, control method for them, and program | |
US6388757B1 (en) | Printing apparatus, printing system, and a method for acquiring character resources of the printing system | |
US7080892B2 (en) | Printing apparatus, information processing apparatus, control method for them, and program | |
US5927874A (en) | Printing apparatus and printing method | |
JP3847970B2 (en) | Print data processing apparatus, print data processing method, and recording medium | |
US20030193691A1 (en) | Recording apparatus and method for controlling recording apparatus | |
JP3562181B2 (en) | Printer memory management method and memory management device | |
CN101350070B (en) | Method for printing lattice data and apparatus thereof | |
US20030193531A1 (en) | Printing apparatus, information processing apparatus, control method for them, and program | |
JP2003305899A (en) | Recorder, printer driver, and method for managing buffer | |
JP3275992B2 (en) | Color printer and color print system | |
JPH10193699A (en) | Printer | |
JP2002219830A (en) | Multifunction printer and its controlling method | |
JPH09190301A (en) | Print controller and its method | |
JP3969010B2 (en) | Print control apparatus, print data processing method, print data processing program, and recording medium | |
JP4174264B2 (en) | Recording apparatus and control method thereof | |
KR100771714B1 (en) | Recording apparatus and data processing method for recording apparatus | |
JP3363538B2 (en) | Color recording method and apparatus | |
JP3693032B2 (en) | Printing system, printer host and printer driver | |
JPH082024A (en) | Printer | |
JPH06202935A (en) | Image forming method/device | |
JPH0584986A (en) | Image forming device | |
JP4313981B2 (en) | Recording apparatus and recording control method for the recording apparatus | |
JPS61106264A (en) | Figure output controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040524 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090611 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100611 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110611 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110611 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120611 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |