JP3562181B2 - Printer memory management method and memory management device - Google Patents

Printer memory management method and memory management device Download PDF

Info

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
print
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
Application number
JP31107596A
Other languages
Japanese (ja)
Other versions
JPH10154048A (en
Inventor
裕希 外川
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP31107596A priority Critical patent/JP3562181B2/en
Publication of JPH10154048A publication Critical patent/JPH10154048A/en
Application granted granted Critical
Publication of JP3562181B2 publication Critical patent/JP3562181B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】
請求項に係る発明のように、使用領域設定ステップは、初期状態として、キャラクタモードに固有の使用領域とイメージデータの展開に用いるイメージ領域とを使用領域としてメモリにそれぞれ設定することもできる。
【0017】
つまり、キャラクタモード用のメモリ領域設定を初期設定値としておくことにより、印刷モードの判定をすることなく、速やかに印刷頻度の高いキャラクタモードの印刷を実行することができる。
【0018】
また、請求項に係る発明のように、前記領域割当ステップは、前記メモリ中の変動アドレス領域に前記使用領域を設定するのが好ましい。これにより、必要なメモリ量に基づいて使用領域を確保できる。
【0019】
具体的には、請求項に係る発明のように、前記メモリを予め複数のブロックに区画しておき、該各ブロックのアドレス及びブロック使用状態を管理するメモリ管理手段を設け、前記領域割当ステップは、前記メモリ管理手段によって管理される前記ブロック単位で、前記使用領域を設定することが好ましい。
【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 memory 500 such as a RAM. Specifically, a BIOS (Basic Input / Output System) use area 510 is used as a reception buffer for temporarily storing print data and is used on the printer system. The common use area 520 is a use area for storing data and variables used in both the character mode and the raster mode. The character mode unique use area 530 includes, for example, a line buffer used for expanding one line of image data, a download area for storing data such as ANK characters downloaded from a host computer, and a character generation area for generating a character image. This is a use area used as a work area or the like. The image area 540 is a use area for developing final image data, and defines a plurality of image buffers 541 to 547. Then, also in the raster mode for printing the raster image data, the image data is developed in the image buffers 541 to 547 in the image area 540.
[0005]
[Problems to be solved by the invention]
In the related art, a BIOS use area 510, a common use area 520, a character mode unique use area 530, and an image area 540 are set on the memory 500 to store various data necessary for printing. Are formed by fixedly assigning addresses of the memory 500 in advance. Also, the set number of image buffers formed in the image area 540 is a predetermined fixed value. Therefore, in the related art, in both the character mode and the raster mode, the image data is developed using the same set number of image buffers 541 to 547 having the same buffer capacity.
[0006]
If the use area of the memory 500 is fixed in advance as in the prior art, the start addresses of the areas 510 to 540 are fixed, so that the data input / output program and the like can be easily performed using these fixed addresses. Can be created. However, if the used area of the memory 500 is fixed, not only does the use efficiency of the memory 500 decrease, but it is not possible to improve the throughput of print output.
[0007]
That is, for example, the character mode unique use area 530 is an area used exclusively in the character mode, and is not used in the raster mode for printing raster image data. Therefore, in the raster mode, the character mode specific use area 530 wastes memory resources and does not contribute to printing at all.
[0008]
Further, since the print head reads out the image data stored in each of the image buffers 541 to 547 and executes printing, the throughput of the print output depends on the set number of the image buffers. On the other hand, since the buffer capacity of the image buffer required for printing differs depending on the print mode and the print resolution, the number of image buffer settings that can be set in the image area 540 also differs. However, in the related art, there is a problem that the print output throughput cannot be improved because the set number of available image buffers is constant regardless of the print mode or the like.
[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]
Claim 3 In the use area setting step, the use area unique to the character mode and the image area used for developing the image data can be respectively set as the use areas in the memory in the initial state.
[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 claims 5 The memory is partitioned into a plurality of blocks in advance, and a memory management unit for managing addresses and block use states of the respective blocks is provided, and the area allocation step is performed by the memory management unit. It is preferable to set the use area in units of the blocks to be used.
[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 printer controller 1 and a print engine 2. The printer controller 1 stores an interface (hereinafter referred to as “I / F”) 4 for receiving print data and the like from the host computer 3, a RAM 5 for storing print data and the like and providing a work area, and various control programs and the like. ROM 6, a control unit 7 for executing various data processing and the like in accordance with programs stored in the ROM 6, and an I / F 8 for performing communication between the printer controller 1 and the print engine 2. , 8, RAM 5, ROM 6, and control unit 7 are connected to each other via a bus 9.
[0022]
On the other hand, the print engine 2 includes a print head 10, a carriage mechanism 11, and a paper feed mechanism 12. The print head 10 has, for example, 64 or 128 nozzles arranged in a row in the sub-scanning direction (paper feed direction), and is configured as a serial print head. Then, ink droplets are ejected from each nozzle according to image data by an ink droplet ejection mechanism such as a piezoelectric vibrator or a heating element provided for each nozzle, and the ink droplets are ejected onto recording paper as a print storage medium. Printing is performed by landing and attaching. The carriage mechanism 11 includes a carriage on which the print head 10 is mounted, and a drive mechanism such as a carriage motor for driving the carriage, and drives the print head 10 in a main scanning direction orthogonal to the sub-scanning direction. . The paper feed mechanism 12 includes a paper feed roller and a drive mechanism such as a paper feed motor for driving the roller, and moves the recording paper at a predetermined pitch.
[0023]
FIG. 2 is a functional block diagram showing internal functions of the printer controller 1. First, the print data transmitted from the host computer 3 is stored in the reception buffer 20. The reception buffer 20 is formed in a predetermined area of the RAM 5 as a “memory” as described later. However, in FIG. 2, for convenience of explanation, the reception buffer 20 and the RAM 5 are illustrated separately. I have.
[0024]
The print data stored in the reception buffer 20 is analyzed by the analysis unit 21 as a print mode and print resolution as “print information”. The analysis unit 21 is mainly embodied by the control unit 7 and includes therein a print mode determination unit 22 for determining a print mode and a resolution determination unit 23 for determining a print resolution.
[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 analysis unit 21 can analyze the print mode and the print resolution based on the header information of the print data. Specifically, the print mode determination unit 22 determines whether the print mode is the raster mode or the character mode based on the data type information RD1 or CD1. This print mode determination result is output to the use area setting unit 32 described later. The resolution determination unit 22 determines a print resolution based on the resolution information RD3. Here, in the present embodiment, the print resolution in the character mode is fixed to, for example, 360 × 360 DPI. Therefore, when the character mode is determined, the print resolution is determined to be the fixed value. .
[0027]
The area allocation control unit 31 controls each use area set in the RAM 5 according to the analysis result of the analysis unit 21, and is embodied by the control unit 7. The area allocation control unit 31 includes a use area setting unit 32 and an image buffer setting unit 32. As will be described later, the use area setting unit 32 sets a use area such as an image area in the RAM 5 according to the print mode. Further, the image buffer setting unit 33 sets a plurality of image buffers in the image area according to the print resolution. Note that the image buffer can be expressed as a “print unit image data storage area”.
[0028]
The RAM 5 is roughly divided into a fixed address area 40 in which addresses are fixed and a variable address area 50 in which addresses can be changed. In the fixed address area 40, a BIOS use area 41 and a common use area 42 are fixed. Is set to As described in the related art, the BIOS use area 41 includes, for example, an area used on the system and the reception buffer 20, and the common use area 42 stores variables commonly used in both the character mode and the raster mode. This is an area to store. In the variable address area 50, a character mode unique use area 51 and an image area 52 are set according to the print mode.
[0029]
That is, as shown in FIG. 4, in the case of the character mode, a character mode unique use area 51 and an image area 52 are set. The character mode unique use area 51 includes, for example, a line buffer used for expanding one line of image data, a download area for storing data such as ANK characters downloaded from a host computer, and a character generation area for generating a character image. It is used as a work area or the like. The image area 52 is an area in which image data required for final printing is developed, and a plurality of image buffers 61 are set. Here, each image buffer 61 is set so as to obtain a memory height corresponding to the number of nozzles such as 128 bits and a memory width of 80 digits at a printing resolution of, for example, 360 × 360 DPI.
[0030]
On the other hand, in the case of the raster mode, an image area 53 is set in the variable address area 50. In other words, the image area 52 in the character mode is extended to the character mode specific use area 51. In the case of the raster mode, each image buffer 61 is set in the enlarged image area 53 with a buffer capacity corresponding to each print resolution. That is, as shown in the explanatory diagram of FIG. 7, the buffer capacity required for the image buffer 61 is different depending on the printing resolution of 180 × 180 DPI, 360 × 360 DPI, and 720 × 720 DPI, and therefore, it is possible to form the Also, the set number of the image buffers 61 is different. In the present embodiment, the image buffer 61 is set to the maximum extent in the image area 53 by the image buffer setting unit 33.
[0031]
The image processing section 70 performs necessary processing on the raster data RD5 and the character data CD3 in the print data to create image data, and stores the image data in the image areas 52 and 53 set in the RAM 5. . The image processing unit 70 is embodied by the control unit 7. For example, in the case of character data, the image processing unit 70 generates a character image based on a character code, performs necessary decoration processing, and writes the image in the image area 52. .
[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 RAM 5 without determining the print mode. That is, since the character mode is set as the default value of the printer, character printing with a high printing frequency can be started quickly.
[0034]
In S2, the print data is read from the reception buffer 20, and by analyzing the print data, it is determined whether or not the mode has shifted to the raster mode. In the case of the character mode, since the use area setting for the character mode has already been set in S1, the character printing is performed by expanding the character data into image data and reading out each image buffer 61 in order in S3.
[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 image buffer 61 is set to the maximum with a buffer capacity corresponding to the new print resolution. Then, in S8, the image data expanded and stored in the image buffer 61 is read out and the raster image is printed, and in S9, it is determined whether or not the mode has shifted to the character mode. If the mode has not been shifted to the character mode, that is, if printing in the raster mode is continued, “NO” is determined in S9, and the process returns to S5 to determine a change in print resolution. Therefore, even when a raster image having a different printing resolution is printed, a change in the printing resolution is determined in S5 and the used area is released in S6, so that the image buffer 61 is always buffered with a buffer capacity corresponding to the printing resolution. Can be set to the maximum.
[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 specific use area 51 and image area 52) is set in the RAM 5.
[0037]
According to the present embodiment configured as described above, the use areas 51, 52, and 53 for the RAM 5 can be set based on the print mode, and the image buffer 61 can be set based on the print resolution. As shown in (5), the RAM 5 can be used efficiently according to each print mode. That is, in the raster mode for printing raster image data, the character mode unique use area 51 can be released to set a large capacity image area 53, so that the use area of the RAM 5 is dynamically controlled according to the print mode. And the available memory resources can be increased without performing additional memory or the like.
[0038]
Further, since the image buffer 61 can be set to the maximum in the image area 53 with a buffer capacity corresponding to the print resolution, the number of image buffers 61 set can be dynamically controlled according to the print resolution. The print output throughput can be improved. That is, in the related art, even when the required buffer capacity differs due to the difference in print resolution, the number of image buffers to be set is fixed, so that it is impossible to improve the throughput of print output. The image buffer 61 can be set to the maximum with the required buffer capacity. Therefore, especially when the print resolution is low, the number of image buffers to be set can be increased to improve the throughput of print output.
[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 main module 70, a BIOS 71, and an OS (operating system) 72, which are hierarchized. The main module 70 is a main part of the print control program. The BIOS 71 is an interface between the main module 70, which is printer software, and printer hardware (such as the printer engine 2).
[0040]
The OS 72 corresponds to “memory management means”, and performs task management and memory management of the RAM 5. The task management is for managing each processing unit (task) executed at the time of printing. For example, a task of writing print data to the reception buffer 20, a task of expanding print data into intermediate code, a task of creating image data from intermediate code, a task of outputting image data to the print engine 2, and the like. Tasks are set for each process. Priorities are assigned to these tasks in advance. For example, a task of outputting image data to the print engine 2 is given priority over the use of the CPU. Upon completion of its own processing, each task relinquishes the right to use the CPU. As a result, another task obtains the right to use the CPU and executes its own process. When a CPU use request is issued from a task with a higher priority, that request is given priority. As a result, a multitask type printer controller 1 can be obtained.
[0041]
On the other hand, the OS 72 performs memory management of the RAM 5. The RAM 5 is divided into a large number of blocks 73 in predetermined byte units, for example. The OS 72 manages the addresses of all the blocks 72 and the block use state. The block use state is the address of a free block, the presence or absence of a series of free blocks, the type of data written in the block being used, and the like.
[0042]
The main module 70 returns the unnecessary block 72 to the OS 72 according to the print mode of the raster mode or the character mode, and requests the OS 72 to use a new empty block if necessary. . That is, the use areas 51, 52, and 53 described above are configured in units of blocks 72, and the OS 72 centrally manages addresses and the like of the blocks that configure the use areas 51, 52, and 53. It is. Therefore, the start addresses of the use areas 51, 52, 53 can be easily changed.
[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 control unit 7. It is. The storage medium MM is not limited to a tangible medium such as a CD-ROM, an FD, a ROM, and an IC card, but also includes a communication medium such as a download from a server via a network.
[0044]
In the above embodiment, the single RAM 5 is exemplified as the memory. However, the present invention is not limited to this, and can be applied to a case where an image area is set using a plurality of RAMs.
[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.
前記使用領域設定ステップは、初期状態として、前記キャラクタモードに固有の固有使用領域と前記イメージデータの展開に用いるイメージ領域とを前記使用領域として前記メモリにそれぞれ設定することを特徴とする請求項に記載のプリンタのメモリ管理方法。The use area setting step, according to claim 1, as an initial state, and sets respectively the image region in the memory as the use area to be used for development of the image data with a unique specific use area to the character mode 3. The memory management method for a printer according to claim 1. 前記領域割当ステップは、前記メモリ中の変動アドレス領域に前記使用領域を設定することを特徴とする請求項2〜請求項のいずれかに記載のプリンタのメモリ管理方法。It said area allocation step, the memory management method of the printer according to any one of claims 2 to 3, characterized in that setting the use area to change the address area in the memory. 前記メモリを予め複数のブロックに区画しておき、該各ブロックのアドレス及びブロック使用状態を管理するメモリ管理手段を設け、
前記領域割当ステップは、前記メモリ管理手段によって管理される前記ブロック単位で、前記使用領域を設定することを特徴とする請求項2〜のいずれかに記載のプリンタのメモリ管理方法。
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.
前記解析手段は、更に、前記印刷データ中の解像度情報に基づいて印刷の解像度を判定する解像度判定手段とを備えてなり、前記領域割当制御手段は、更に、前記イメージ領域内に前記解像度に応じたバッファ容量を有するイメージバッファを設定するイメージバッファ設定手段とを備えていることを特徴とする請求項に記載のプリンタのメモリ管理装置。The analysis unit further includes a resolution determination unit that determines a print resolution based on resolution information in the print data, and the area allocation control unit further includes, in the image area, 7. The memory management device for a printer according to claim 6 , further comprising image buffer setting means for setting an image buffer having a buffer capacity. 前記メモリを予め複数のブロックに区画して該各ブロックのアドレス及びブロック使用状態を管理するメモリ管理手段を設け、前記領域割当制御手段は、前記メモリ管理手段によって管理される前記ブロック単位で、前記使用領域を設定することを特徴とする請求項に記載のプリンタのメモリ管理装置。The memory is divided 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, and the area allocation control unit is configured to manage the block by the block unit managed by the memory management unit. 8. The memory management device for a printer according to claim 7 , wherein a use area is set.
JP31107596A 1996-11-21 1996-11-21 Printer memory management method and memory management device Expired - Fee Related JP3562181B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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