JP3574289B2 - Printer and method of adjusting reception buffer size in printer - Google Patents

Printer and method of adjusting reception buffer size in printer Download PDF

Info

Publication number
JP3574289B2
JP3574289B2 JP05872897A JP5872897A JP3574289B2 JP 3574289 B2 JP3574289 B2 JP 3574289B2 JP 05872897 A JP05872897 A JP 05872897A JP 5872897 A JP5872897 A JP 5872897A JP 3574289 B2 JP3574289 B2 JP 3574289B2
Authority
JP
Japan
Prior art keywords
size
buffer
image
upper limit
memory
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 - Lifetime
Application number
JP05872897A
Other languages
Japanese (ja)
Other versions
JPH10254659A (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 JP05872897A priority Critical patent/JP3574289B2/en
Publication of JPH10254659A publication Critical patent/JPH10254659A/en
Application granted granted Critical
Publication of JP3574289B2 publication Critical patent/JP3574289B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムのプリンタに関わり、特にホストコンピュータからの受信データを一時的に蓄積する受信バッファの制御に関する。
【0002】
【従来の技術】
特開平7−144442号公報の印刷装置は、コントロールパネル又はホストコンピュータからのユーザ指令により、受信バッファのサイズつまり容量を変更することができる。
【0003】
【発明が解決しようとする課題】
しかし、従来技術では、受信バッファのサイズはユーザが変更しない限り一定である。ユーザは、受信バッファのサイズを頻繁に変更するような面倒は好まない。しかし、ホストコンピュータからの印刷データの量はジョブ毎に異なる。
【0004】
印刷ジョブの処理中、メモリは受信バッファ、イメージバッファ、ワークエリアなど種々の用途に使用される。ジョブ処理状況に適合して、それら複数の用途にバランス良く且つ高効率にメモリが使用されたとき、スループット及びホスト解放時間を含めた総合的な印刷性能が最も高くなる。一般に、データ量の小さい印刷ジョブに対しては受信バッファサイズは小さくてよく、データ量の大きい印刷ジョブには大きいサイズの受信バッファを確保することが好ましい。しかし、従来技術では、個々のジョブ毎にユーザが受信バッファサイズを設定することは非現実的であり、また、ジョブの処理中に処理状況に応じて受信バッファサイズを調整することは不可能である。
【0005】
そこで本発明の目的は、印刷ジョブの処理中に受信バッファのサイズを動的に自動調節することのできるプリンタを提供することにある。
【0006】
【課題を解決するための手段】
本発明の第1の側面に従うプリンタは、受信バッファをメモリ上に確保する受信バッファ確保手段と、受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するイメージ生成手段と、生成されたイメージデータを格納するためのイメージバッファをメモリ上に確保するイメージバッファ確保手段とを備え、イメージバッファ確保手段は、生成されたイメージデータの量に応じて、イメージバッファのサイズを調節し、受信バッファ確保手段は、イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、受信バッファのサイズの上限値を調節し、その際に、前記イメージバッファのサイズがより大きい時、前記イメージバッファのサイズがより小さいときに比較して、前記受信バッファの上限値をより小さくし、前記小さくした上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節する。また、本発明の第2の側面に従うプリンタは、受信バッファをメモリ上に確保する受信バッファ確保手段と、受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するイメージ生成手段と、生成されたイメージデータを格納するためのイメージバッファをメモリ上に確保するイメージバッファ確保手段とを備え、イメージバッファ確保手段は、生成されたイメージデータの量に応じて、イメージバッファのサイズを調節し、受信バッファ確保手段は、イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、受信バッファのサイズを動的に調節し、その際に、前記受信バッファのサイズの上限値として選択可能な少なくとも2つの値を用いて、前記イメージバッファのサイズに依存して定まる前記メモリの空き容量の大きさに応じて、前記受信バッファのサイズの上限値を、前記少なくとも2つの値のいずれにするかを選択し、前記選択した上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節する。
【0007】
本発明の第1又は第2の側面に従うプリンタによれば、プリンタ内で生成されたイメージデータの量に応じて、イメージバッファのサイズが優先的に調節され、そして、このイメージバッファのサイズに依存して、受信バッファのサイズの上限値が従属的に調節される。従って、プリンタ内では、イメージデータの生成処理及び印刷処理の進行状況に応じて、メモリ内の空き容量が変化するが、この空き容量の変化に応じて受信バッファのサイズの上限値が可変する。例えば、空き容量が大きければ、受信バッファのサイズの上限値も大きくなり、空き容量が小さければ、受信バッファのサイズの上限値も小さくなる。このように、メモリの空き容量に応じて受信バッファサイズの上限値が動的に変化し、その上限値以下の範囲で、受信バッファのサイズが調節されるので、メモリの利用効率は常に良好である。
【0008】
好適な実施形態では、メモリの空き容量が充分大きいか否かに応じて、受信バッファの上限値を大小2段階に切換える。この2段階の制御は、比較的に単純ではあるが、相当に良好な結果が期待できる。
【0009】
【発明の実施の形態】
図1は、本発明のプリンタの機能構成を表すブロック図である。
【0010】
ホストコンピュータ1に接続されたプリンタ5は、ホストコンピュータ1から送出される印刷データを、ホストインターフェース3を通して受信する。印刷データは、プリンタ5が理解する言語で表現されたコマンドのストリームである。受信された印刷データは、ヒープメモリ13内の受信バッファ7に一旦蓄えられる。メモリ13は、受信バッファ7の他、ワークエリア9やイメージバッファ11などに利用される。メモリ13内に受信バッファ7、ワークエリア9、イメージバッファ11を確保し、それらのサイズを制御するために、メモリ管理部15と呼ばれるプロセスが働く。
【0011】
また、コマンド解釈部17と呼ばれるプロセスが、受信バッファ7からコマンドを受信順に読み出し、これを解釈して、最終的に、印刷すべきイメージの各ピクセルにドットを打つか否かを指示したバイナリ値の集合(以下、イメージデータという)を生成する。生成されたイメージデータは、メモリ13内のイメージバッファ11に蓄積される。すると、印刷制御部19と呼ばれる典型的にはハードウェアである要素が、イメージバッファ11からDMAの方法でイメージデータを読み出して印刷エンジン21に送る。印刷エンジン21は、紙のようなハードコピー媒体上に発色剤を用いて実際にイメージを形成する。通常、印刷エンジン21は固有の速度で媒体を取り込んで印刷を行ない、この印刷エンジンの速度に同期して、印刷制御19がイメージデータをイメージバッファ11から読み込む。
【0012】
周知のように、受信バッファ7は、ホストコンピュータ1から受信した印刷データを、コマンド解釈部17が読出すまで一時的に保持するメモリエリアである。ワークエリア9は、ホストコンピュータ1からのダウンロードフォント等、コマンド解釈部17が印刷データからイメージデータを生成するのに必要な情報を格納するメモリエリアである。イメージバッファ11は、コマンド解釈部17が生成したイメージデータを、印刷制御部19が読出すまで一時的に保持するメモリエリアである。ワークエリア9とイメージバッファ11は、受信バッファ7よりも優先的に確保されるべきである。ワークエリア9は、これが確保されないと、コマンド解釈部17が作動できないからである。
【0013】
また、イメージバッファ11は、前述したように、これが確保されて印刷エンジン21の速度に同期してイメージデータを印刷エンジン21に提供できるようになっていないと、印刷エンジン21が印刷を正常に実行できないからである。
【0014】
そのため、図2に示すように、ヒープメモリ13内にワークエリア9及びイメージバッファ11をそれぞれの必要サイズで優先的に確保した上で、残った領域内に受信バッファ7を確保するように、メモリ管理部15が動作する。特に、イメージバッファ11の必要サイズは時々刻々と変化する。つまり、コマンド解釈部17がイメージデータを新たに生成すれば、その生成したデータ量だけイメージバッファ11は増大させる必要があり、また、印刷制御部19がイメージデータを新たに読み込めば、その読み込んだデータ量だけイメージバッファ11を縮小することができる。メモリ管理部15は、このようにイメージデータの生成及び読み込みの進行に応じてイメージバッファ11のサイズを調節し、さらに、イメージバッファ11のサイズ変化に依存させて、可能な限り受信バッファ9が大きく確保できるように受信バッファ9のサイズの上限値を変更する。
【0015】
受信バッファ9のサイズが上記上限値を越えなければ、ホストコンピュータ1からの印刷データは継続して受信することができ、それに合せて受信バッファ9のサイズは増大していく。受信バッファ9のサイズが上限値を越えると、メモリ管理部15はホストインタフェース3に命じて受信を一時的に中断させる。中断している間に、受信バッファ9からコマンド解釈部17へ印刷データが読み出されて行き、新たな受信は行われないので、受信バッファ9のサイズは減少していく。受信バッファ9のサイズが上限値を下回ると、受信を再開することができる。
【0016】
図3は、メモリ管理部15が行う受信バッファ7のサイズ制御の手順を示すフローチャートである。この手順では、受信バッファ9のサイズの上限値は2段階、つまり、図4に模式的に示すように小さい上限値n1と大きい上限値n2とに切換え制御する。なお、nはヒープメモリ13の全容量である。
【0017】
メモリ管理部15は、先ず、ヒープメモリ13の全容量nから受信バッファサイズの大きい上限値n2を差し引いた値(n−n2)に比べて、イメージバッファ11とワークエリア9の合計サイズbが、十分に小さいかどうか(b<<(n−n2))を判定する(ステップS1)。要するに、受信バッファ7のサイズを大きい上限値n2まで確保するのに十分なだけの空き容量が、メモリ13内に存在するか否かを判断する。
【0018】
尚、ワークエリア9は、ホストコンピュータ1からのダウンロードフォントなどを保存するエリアであって、そのサイズは一旦決まれば、以後は大きくは変化しないので、受信バッファ7のサイズの動的な調整に、イメージバッファ11程には大きくは影響しない。そこで、以下では、説明を簡単にするために、ワークエリア9のサイズは一定とし、全ヒープメモリ13からワークエリア9を除いた部分のサイズをnとし、イメージバッファ11のサイズをbとして説明を行う。
【0019】
さて、ステップS1でb<<(n−n2)であれば(YES)、メモリ13に充分に空き容量があることを意味する。この場合は、ホストコンピュータ1から緩い制限n2で印刷データを受信し、受信したデータを全て受信バッファ7が受入れられるよう、受信したデータ量の増加に合せて受信バッファサイズaを増加させる(S2)。このように、可能な限り受信バッファサイズaを増やしてホストコンピュータ1からのデータを受入れることは、ホストコンピュータ1の解放時間を短くすることに寄与する。
【0020】
印刷データの受信を続けながら、受信バッファサイズaが大きい上限値n2に達したか否かチェックし(S3)、aがn2に達したら(S3でYES)、ホストインタフェース3に命じてホストコンピュータ1からのデータ受信を一時的に停止する(S4)。
【0021】
上記動作と並行して、コマンド解釈部17は受信バッファ7から印刷データを読み出し、これを解釈してイメージデータを作成していく。従って、データ受信を停止している間は、コマンド解釈部17の処理の進行に伴って、受信バッファ7内の印刷データ量は減少していく。そこで、この減少に合せて受信バッファサイズaも減少させていく(S5)。逆に、コマンド解釈部17が生成したイメージデータの量は増えて行くから、このイメージデータを全てイメージバッファ11に格納できるよう、このデータ増加に合せてイメージバッファ11のサイズbを増加させてゆく(S5)。
【0022】
イメージバッファサイズbが増加して行ってb<<(n−n2)でなくなると(S1でNO)、つまりメモリ13の空き容量が充分でなくなると、制御はステップS6へ移り、受信バッファサイズaの上限値を小さい上限値n1へ切換える。即ち、まず、受信バッファサイズaが小さい上限値n1を下回ったかどうかを判定し(S6)、aがn1を下回っていなければ(S6でNO)、データ受信停止をさらに継続し(S7)、その間、既に説明したステップ5と同様、受信バッファ7内のデータ減少に伴って受信バッファ7を縮小し、かつ、生成されたイメージデータの増加に伴ってイメージバッファ11を拡大していく(S9)。その結果受信バッファ7が縮小していってn1を下回ると(S6でYES)、再びホストコンピュータ1からの受信を開始し、それによる受信データ量の増加に伴って受信バッファサイズaをまた増加させる(S10)。そして、受信バッファサイズaがn1を上回まわると(S11でYES)、再び受信を停止し(S12)、ステップS9へ進む。
【0023】
このように、イメージデータが増えて空き容量が充分でない間は、受信バッファサイズaが小さい上限値n1を越えない範囲で、受信と受信停止とを繰り返すが、この間に印刷エンジン21による印刷が開始されると(S8でYES)、制御はステップS1へ戻る。印刷が開始されると、イメージバッファ11内のイメージデータが印刷制御部19に転送されてゆくので、イメージバッファ11内のデータ量が減り、これに伴ってイメージバッファサイズbも減少していく。その結果として、イメージバッファサイズbが(n−n2)より充分小さくなると(S1でYES)、制御はステップS2へ再び入って、受信バッファ7のサイズaは大きい上限値n2に基づいて制御される。
【0024】
以上のように、イメージバッファ11のサイズに依存して、空き容量が充分に大きければ、受信バッファ7を比較的に大きく確保するように、また、空き容量が充分に大きくなければ、受信バッファ7を比較的に小さく確保するように、受信バッファサイズが動的に調節される。
【0025】
以上の動作説明では、ワークエリア9のサイズを一定としたが、勿論、イメージバッファサイズとワークエリアサイズの和をbとすれば、ワークエリアサイズの変動にも対応できる。
【0026】
図4は、上述した制御によって各バッファのサイズが自動的に調節される過程の具体的な一例を示した模式図である。横軸は経過時間を示し、縦軸はメモリ量を示す。縦軸の、全幅nはメモリ13の全容量、n1は受信バッファサイズの小さい上限値、n2は受信バッファサイズの大きい上限値、aは受信バッファ7のサイズ、bはイメージバッファ11のサイズ(又は、イメージバッファ11とワークエリア9の合計サイズ)を示す。
【0027】
先ず、印刷データの受信開始前T0には、メモリ13には殆どデータが格納されていないので、受信バッファサイズaは最小値a0、イメージバッファサイズbも最小値b0になっている。この初期状態から、印刷データの受信が開始されると、空き容量が充分にあるため、制限なしに受信が行われ、受信バッファサイズaは一気に増大し、時点T1で大きい上限値n2に等しいサイズa1に達する。
【0028】
すると、受信が停止するため、イメージ生成処理の進行に伴って、受信バッファサイズaは減少し、逆に、イメージバッファサイズbが増加していく。そして、時点T2のように、イメージバッファサイズbが(n−n1)に匹敵する程度に大きくなると、受信バッファサイズaが小さい上限値n1を下回るまで、受信が停止されることになる。従って、時点T3に示すように、受信バッファサイズaは益々減少し、逆に、イメージバッファサイズbは益々増加してゆく。そして時点T4で、受信バッファサイズaが小さい上限値n1を下回ると、再び受信が開始され、受信バッファサイズaは増加していく。
【0029】
ここで、例えば時点Tpで印刷が開始されると、イメージバッファ11に格納されたイメージデータが急速に減少し、これによってイメージバッファサイズbも減少する。その結果、時点T5に示すように、イメージバッファサイズbが(n−n2)より充分に小さくなれば、受信を再開して受信バッファサイズaを増大させていく。そして、時点T6のように、イメージバッファサイズbが充分に小さい限り、受信バッファサイズaは大きい上限値n2まで一気に増加される。
【0030】
尚、図4に示した過程は一例であって、実際には必ずしも図4と全く同じようにバッファサイズが変化するわけではない。しかし、イメージバッファのサイズに応じて、空き容量が許す範囲でなるべく大きい受信バッファが確保できるように制御が行われることを、当業者は理解できる筈である。
【0031】
また、上述の説明では、受信バッファサイズの上限値を大小2段階に切換えたが、より多くの段階で調節するようにしてもよい。つまり、イメージバッファサイズbのサイズを多レベルに区分して判別し、その判断結果に応じて受信バッファサイズの上限値を多段階に切換えるようにしてもよい。
【図面の簡単な説明】
【図1】本発明のプリンタの一実施形態の機能構成を表すブロック図。
【図2】ヒープメモリ上に各バッファが占める領域を示す概念図。
【図3】本実施形態のバッファサイズ制御の手順を示すフローチャート。
【図4】本実施形態のバッファサイズが調節される過程を説明する模式図。
【符号の説明】
1 ホストコンピュータ
3 ホストインターフェース
5 プリンタ
7 受信バッファ
9 ワークエリア
11 イメージバッファ
13 ヒープメモリ
15 メモリ管理部
17 コマンド解釈部
19 印刷制御部
21 印刷エンジン
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a printer of a computer system, and more particularly to control of a reception buffer for temporarily storing data received from a host computer.
[0002]
[Prior art]
The printing apparatus disclosed in Japanese Patent Application Laid-Open No. Hei 7-144442 can change the size, that is, the capacity, of the reception buffer according to a user command from a control panel or a host computer.
[0003]
[Problems to be solved by the invention]
However, in the related art, the size of the reception buffer is constant unless changed by the user. Users do not like the hassle of frequently changing the size of the receive buffer. However, the amount of print data from the host computer differs for each job.
[0004]
During processing of a print job, the memory is used for various purposes such as a reception buffer, an image buffer, and a work area. When the memory is used in a well-balanced and highly efficient manner for the plurality of uses in conformity with the job processing situation, the overall printing performance including the throughput and the host release time is the highest. Generally, the reception buffer size may be small for a print job with a small data amount, and it is preferable to secure a large reception buffer for a print job with a large data amount. However, in the related art, it is impractical for the user to set the reception buffer size for each job, and it is impossible to adjust the reception buffer size according to the processing status during the processing of the job. is there.
[0005]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a printer that can automatically and dynamically adjust the size of a reception buffer during processing of a print job.
[0006]
[Means for Solving the Problems]
A printer according to a first aspect of the present invention includes a receiving buffer securing unit that secures a receiving buffer on a memory, an image generating unit that reads received data from a receiving buffer, and generates image data from the read data. Image buffer securing means for securing an image buffer for storing image data in a memory, wherein the image buffer securing means adjusts the size of the image buffer according to the amount of generated image data, and The securing unit adjusts the upper limit of the size of the receiving buffer depending on the size of the image buffer according to the progress of the image data generation process and the printing process. When larger, compared when the size of the image buffer is smaller Te, and smaller the upper limit value of the receiving buffer in the range of less than the upper limit value said smaller, depending on the progress of the generation process and the print process, dynamically adjust the size of the receive buffer. A printer according to a second aspect of the present invention includes a receiving buffer securing unit that secures a receiving buffer in a memory, an image generating unit that reads received data from a receiving buffer, and generates image data from the read data, Image buffer securing means for securing an image buffer on the memory for storing the generated image data, wherein the image buffer securing means adjusts the size of the image buffer according to the amount of generated image data, The receiving buffer securing unit dynamically adjusts the size of the receiving buffer depending on the size of the image buffer according to the progress of the image data generation processing and the printing processing . Using at least two values that can be selected as the upper limit of the size, the image bar The upper limit of the size of the receiving buffer is selected from among the at least two values, depending on the size of the free space of the memory determined depending on the size of the In the range, the size of the reception buffer is dynamically adjusted according to the progress of the generation processing and the printing processing .
[0007]
According to the printer according to the first or second aspect of the present invention, the size of the image buffer is preferentially adjusted according to the amount of image data generated in the printer, and the size of the image buffer depends on the size of the image buffer. Then, the upper limit of the size of the reception buffer is adjusted subordinately. Therefore, in the printer, the free space in the memory changes according to the progress of the image data generation process and the printing process, and the upper limit of the size of the reception buffer varies according to the change in the free space. For example, if the free space is large, the upper limit of the size of the receiving buffer is also large, and if the free space is small, the upper limit of the size of the receiving buffer is small. As described above, the upper limit value of the reception buffer size dynamically changes according to the free space of the memory, and the size of the reception buffer is adjusted within a range equal to or less than the upper limit value, so that the memory use efficiency is always good. is there.
[0008]
In a preferred embodiment, the upper limit value of the reception buffer is switched between large and small depending on whether or not the free space in the memory is sufficiently large. Although this two-stage control is relatively simple, it can be expected that a considerably good result is obtained.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram illustrating a functional configuration of the printer of the present invention.
[0010]
The printer 5 connected to the host computer 1 receives the print data sent from the host computer 1 through the host interface 3. The print data is a stream of commands expressed in a language understood by the printer 5. The received print data is temporarily stored in the reception buffer 7 in the heap memory 13. The memory 13 is used for the work area 9 and the image buffer 11 in addition to the reception buffer 7. In order to secure the reception buffer 7, the work area 9, and the image buffer 11 in the memory 13 and control their sizes, a process called a memory management unit 15 operates.
[0011]
A process called a command interpreting unit 17 reads commands from the receiving buffer 7 in the order of reception, interprets the commands, and finally determines whether or not to dot each pixel of the image to be printed. (Hereinafter referred to as image data). The generated image data is stored in the image buffer 11 in the memory 13. Then, a typical hardware element called a print control unit 19 reads out image data from the image buffer 11 by a DMA method and sends it to the print engine 21. The print engine 21 actually forms an image on a hard copy medium such as paper using a color former. Normally, the print engine 21 fetches a medium at a specific speed to perform printing, and the print control 19 reads image data from the image buffer 11 in synchronization with the speed of the print engine.
[0012]
As is well known, the reception buffer 7 is a memory area for temporarily storing print data received from the host computer 1 until the command interpretation unit 17 reads out the print data. The work area 9 is a memory area for storing information necessary for the command interpreting unit 17 to generate image data from print data, such as a font downloaded from the host computer 1. The image buffer 11 is a memory area for temporarily storing the image data generated by the command interpretation unit 17 until the print control unit 19 reads out the image data. The work area 9 and the image buffer 11 should be reserved with priority over the reception buffer 7. If the work area 9 is not secured, the command interpreter 17 cannot operate.
[0013]
Further, as described above, unless the image buffer 11 is secured to provide image data to the print engine 21 in synchronization with the speed of the print engine 21, the print engine 21 normally executes printing. Because you can't.
[0014]
Therefore, as shown in FIG. 2, the work area 9 and the image buffer 11 are allocated in the heap memory 13 in a required size, and the reception buffer 7 is allocated in the remaining area. The management unit 15 operates. In particular, the required size of the image buffer 11 changes every moment. That is, if the command interpreter 17 newly generates image data, the image buffer 11 needs to be increased by the generated data amount. If the print controller 19 newly reads image data, the read image data is read. The image buffer 11 can be reduced by the data amount. The memory management unit 15 adjusts the size of the image buffer 11 according to the progress of the generation and reading of the image data as described above, and furthermore, makes the reception buffer 9 as large as possible depending on the change in the size of the image buffer 11. The upper limit value of the size of the reception buffer 9 is changed so as to secure the size.
[0015]
If the size of the receiving buffer 9 does not exceed the upper limit, print data from the host computer 1 can be continuously received, and the size of the receiving buffer 9 increases accordingly. When the size of the reception buffer 9 exceeds the upper limit, the memory management unit 15 instructs the host interface 3 to temporarily suspend reception. During the suspension, the print data is read from the reception buffer 9 to the command interpreting unit 17 and no new reception is performed, so that the size of the reception buffer 9 decreases. When the size of the reception buffer 9 falls below the upper limit, reception can be resumed.
[0016]
FIG. 3 is a flowchart showing a procedure for controlling the size of the reception buffer 7 performed by the memory management unit 15. In this procedure, the upper limit of the size of the receiving buffer 9 is controlled in two stages, that is, switching between a small upper limit n1 and a large upper limit n2 as schematically shown in FIG. Here, n is the total capacity of the heap memory 13.
[0017]
The memory management unit 15 first compares the total size b of the image buffer 11 and the work area 9 with a value (n−n2) obtained by subtracting the large upper limit value n2 of the reception buffer size from the total capacity n of the heap memory 13. It is determined whether it is sufficiently small (b << (n-n2)) (step S1). In short, it is determined whether there is enough free space in the memory 13 to secure the size of the reception buffer 7 up to the large upper limit n2.
[0018]
The work area 9 is an area for storing fonts downloaded from the host computer 1 and the like. Once the size is determined, it does not change significantly thereafter, so that the size of the reception buffer 7 can be dynamically adjusted. It does not affect as much as the image buffer 11. Therefore, in the following, for the sake of simplicity, the description will be made assuming that the size of the work area 9 is constant, the size of a portion excluding the work area 9 from the total heap memory 13 is n, and the size of the image buffer 11 is b. Do.
[0019]
If b << (nn-2) in step S1 (YES), it means that the memory 13 has a sufficient free space. In this case, the print data is received from the host computer 1 with a strict limit n2, and the reception buffer size a is increased in accordance with the increase in the amount of received data so that the reception buffer 7 can receive all the received data (S2). . As described above, increasing the reception buffer size a as much as possible and receiving data from the host computer 1 contributes to shortening the release time of the host computer 1.
[0020]
While continuing to receive the print data, it is checked whether or not the reception buffer size a has reached the large upper limit n2 (S3). If a has reached n2 (YES in S3), the host interface 3 is instructed. The reception of data from is temporarily stopped (S4).
[0021]
In parallel with the above operation, the command interpreter 17 reads out the print data from the reception buffer 7, interprets the print data, and creates image data. Therefore, while the data reception is stopped, the amount of print data in the reception buffer 7 decreases as the processing of the command interpreter 17 progresses. Therefore, the receiving buffer size a is also reduced in accordance with this reduction (S5). Conversely, since the amount of image data generated by the command interpreter 17 increases, the size b of the image buffer 11 is increased in accordance with the increase of the data so that all the image data can be stored in the image buffer 11. (S5).
[0022]
If the image buffer size b increases and does not satisfy b << (n−n2) (NO in S1), that is, if the free space of the memory 13 becomes insufficient, the control proceeds to step S6, where the reception buffer size a Is switched to the smaller upper limit n1. That is, first, it is determined whether or not the reception buffer size a is smaller than the small upper limit value n1 (S6). If a is not smaller than n1 (NO in S6), the data reception stop is further continued (S7). As in step 5 already described, the size of the reception buffer 7 is reduced as the data in the reception buffer 7 decreases, and the size of the image buffer 11 is expanded as the generated image data increases (S9). As a result, when the reception buffer 7 has shrunk and falls below n1 (YES in S6), reception from the host computer 1 is started again, and the reception buffer size a is increased again with the increase in the amount of reception data. (S10). When the reception buffer size a exceeds n1 (YES in S11), the reception is stopped again (S12), and the process proceeds to step S9.
[0023]
As described above, while the image data is increased and the free space is not sufficient, the reception and the reception stop are repeated within a range in which the reception buffer size a does not exceed the small upper limit value n1, during which the printing by the print engine 21 starts. When this is done (YES in S8), the control returns to step S1. When printing is started, the image data in the image buffer 11 is transferred to the print control unit 19, so that the data amount in the image buffer 11 decreases, and the image buffer size b also decreases accordingly. As a result, when the image buffer size b is sufficiently smaller than (n-n2) (YES in S1), the control returns to step S2, and the size a of the reception buffer 7 is controlled based on the large upper limit n2. .
[0024]
As described above, depending on the size of the image buffer 11, if the free space is sufficiently large, the receiving buffer 7 should be secured relatively large, and if the free space is not sufficiently large, the receiving buffer 7 should be secured. The reception buffer size is dynamically adjusted so as to ensure that is relatively small.
[0025]
In the above description of the operation, the size of the work area 9 is fixed. However, if the sum of the image buffer size and the work area size is set to b, it is possible to cope with a change in the work area size.
[0026]
FIG. 4 is a schematic diagram showing a specific example of a process in which the size of each buffer is automatically adjusted by the above-described control. The horizontal axis shows the elapsed time, and the vertical axis shows the amount of memory. On the vertical axis, the total width n is the total capacity of the memory 13, n1 is a small upper limit of the receive buffer size, n2 is a large upper limit of the receive buffer size, a is the size of the receive buffer 7, b is the size of the image buffer 11 (or , The total size of the image buffer 11 and the work area 9).
[0027]
First, since little data is stored in the memory 13 at T0 before the start of print data reception, the reception buffer size a is the minimum value a0 and the image buffer size b is also the minimum value b0. When the reception of the print data is started from this initial state, since the free space is sufficient, the reception is performed without limitation, the reception buffer size a increases at a stretch, and the size equal to the large upper limit value n2 at the time T1. reaches a1.
[0028]
Then, the reception stops, so that the reception buffer size a decreases and the image buffer size b increases with the progress of the image generation processing. Then, when the image buffer size b becomes large enough to be equal to (n-n1) as at time T2, the reception is stopped until the reception buffer size a falls below the small upper limit n1. Therefore, as shown at the time T3, the reception buffer size a decreases more and the image buffer size b increases more and more. Then, at time T4, when the reception buffer size a falls below the small upper limit value n1, the reception is started again, and the reception buffer size a increases.
[0029]
Here, for example, when printing is started at the time point Tp, the image data stored in the image buffer 11 rapidly decreases, and the image buffer size b also decreases. As a result, as shown at time T5, when the image buffer size b becomes sufficiently smaller than (n−n2), the reception is restarted and the reception buffer size a is increased. Then, as in time T6, as long as the image buffer size b is sufficiently small, the reception buffer size a is increased to the large upper limit value n2 at a stretch.
[0030]
It should be noted that the process shown in FIG. 4 is an example, and the buffer size does not always change exactly as in FIG. However, those skilled in the art should understand that the control is performed according to the size of the image buffer so that a reception buffer as large as possible can be secured within a range allowed by the free space.
[0031]
In the above description, the upper limit value of the reception buffer size is switched between two levels, but may be adjusted in more steps. That is, the size of the image buffer size b may be divided into multiple levels and determined, and the upper limit value of the reception buffer size may be switched in multiple stages according to the determination result.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a functional configuration of a printer according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram showing an area occupied by each buffer on a heap memory.
FIG. 3 is a flowchart illustrating a procedure of buffer size control according to the embodiment;
FIG. 4 is a schematic diagram illustrating a process of adjusting a buffer size according to the embodiment.
[Explanation of symbols]
REFERENCE SIGNS LIST 1 host computer 3 host interface 5 printer 7 reception buffer 9 work area 11 image buffer 13 heap memory 15 memory management unit 17 command interpretation unit 19 print control unit 21 print engine

Claims (5)

メモリと、
受信データを格納するための受信バッファを前記メモリ上に確保する受信バッファ確保手段と、
受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するイメージ生成手段と、
前記イメージ生成手段により生成されたイメージデータを格納するためのイメージバッファを前記メモリ上に確保するイメージバッファ確保手段とを備え、
前記イメージバッファ確保手段は、生成されたイメージデータの量に応じて、イメージバッファのサイズを調節し、
前記受信バッファ確保手段は、イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、受信バッファのサイズの上限値を調節し、その際に、前記イメージバッファのサイズがより大きい時、前記イメージバッファのサイズがより小さいときに比較して、前記受信バッファの上限値をより小さくし、前記小さくした上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節することを特徴とするプリンタ。
Memory and
Receiving buffer securing means for securing a receiving buffer for storing received data on the memory;
Image generation means for reading received data from a reception buffer and generating image data from the read data;
Image buffer securing means for securing an image buffer for storing the image data generated by the image generating means on the memory,
The image buffer securing means adjusts the size of the image buffer according to the amount of the generated image data,
The reception buffer securing unit adjusts an upper limit value of the size of the reception buffer depending on the size of the image buffer according to the progress of the image data generation processing and the printing processing. When the size of the image buffer is larger, the upper limit value of the reception buffer is made smaller than when the size of the image buffer is smaller, and the generation process and the printing process are performed within a range equal to or less than the reduced upper limit. A printer which dynamically adjusts the size of the reception buffer according to a situation .
メモリと、
受信データを格納するための受信バッファを前記メモリ上に確保する受信バッファ確保手段と、
受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するイメージ生成手段と、
前記イメージ生成手段により生成されたイメージデータを格納するためのイメージバッファを前記メモリ上に確保するイメージバッファ確保手段とを備え、
前記イメージバッファ確保手段は、生成されたイメージデータの量に応じて、イメージバッファのサイズを調節し、
前記受信バッファ確保手段は、イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、受信バッファのサイズを動的に調節し、その際に、前記受信バッファのサイズの上限値として選択可能な少なくとも2つの値を用いて、前記イメージバッファのサイズに依存して定まる前記メモリの空き容量の大きさに応じて、前記受信バッファのサイズの上限値を、前記少なくとも2つの値のいずれにするかを選択し、前記選択した上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節することを特徴とするプリンタ。
Memory and
Receiving buffer securing means for securing a receiving buffer for storing received data on the memory;
Image generation means for reading received data from a reception buffer and generating image data from the read data;
Image buffer securing means for securing an image buffer for storing the image data generated by the image generating means on the memory,
The image buffer securing means adjusts the size of the image buffer according to the amount of the generated image data,
The receiving buffer securing means dynamically adjusts the size of the receiving buffer depending on the size of the image buffer according to the progress of image data generation processing and printing processing. Using at least two values that can be selected as the upper limit value of the size, the upper limit value of the size of the reception buffer is set according to the size of the free space of the memory determined depending on the size of the image buffer. Selecting at least one of at least two values, and dynamically adjusting the size of the reception buffer within a range equal to or less than the selected upper limit according to the progress of the generation processing and the printing processing. And the printer.
請求項1又は2記載のプリンタにおいて、
前記イメージ生成手段に必要なデータを格納するためのワークエリアを前記メモリ上に確保するワークエリア確保手段をさらに備え、
前記受信バッファ確保手段は、前記イメージバッファとワークエリアのサイズに応じて、前記受信バッファのサイズを動的に調節する事を特徴とするプリンタ。
The printer according to claim 1 or 2,
Work area securing means for securing a work area for storing data required for the image generating means on the memory,
A printer according to claim 1, wherein said receiving buffer securing means dynamically adjusts the size of said receiving buffer according to the size of said image buffer and work area.
プリンタにおける受信バッファサイズ調節方法において、
受信データを格納するための受信バッファを、プリンタ内のメモリ上に確保するステップと、
受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するステップと、
前記生成するステップにより生成されたイメージデータを格納するためのイメージバッファを、前記メモリ上に確保するステップと、
前記生成するステップにより生成されたイメージデータの量に応じて、イメージバッファのサイズを調節する第1の調節ステップと、
イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、前記受信バッファのサイズの上限値を調節する第2の調節ステップと
を備え、前記第2の調節ステップが、前記イメージバッファのサイズがより大きい時、前記イメージバッファのサイズがより小さいときに比較して、前記受信バッファの上限値をより小さくし、前記小さくした上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節することを特徴とする、プリンタにおける受信バッファサイズ調節方法
In the receiving buffer size adjusting method in the printer,
Securing a reception buffer for storing received data on a memory in the printer;
Reading received data from a receiving buffer and generating image data from the read data;
Securing an image buffer for storing the image data generated by the generating step on the memory;
A first adjusting step of adjusting the size of the image buffer according to the amount of image data generated by the generating step;
A second adjusting step of adjusting an upper limit value of the size of the reception buffer depending on the size of the image buffer in accordance with the progress of the image data generation process and the printing process , wherein the second adjustment is performed. When the size of the image buffer is larger, the step of reducing the upper limit of the reception buffer is smaller than when the size of the image buffer is smaller, and the generation is performed within a range equal to or smaller than the reduced upper limit. A method of adjusting the size of the reception buffer in a printer , wherein the size of the reception buffer is dynamically adjusted according to the progress of processing and printing processing .
プリンタにおける受信バッファサイズ調節方法において、
受信データを格納するための受信バッファを、プリンタ内のメモリ上に確保するステップと、
受信バッファから受信データを読み込み、読み込んだデータからイメージデータを生成するステップと、
前記生成するステップにより生成されたイメージデータを格納するためのイメージバッファを、前記メモリ上に確保するステップと、
前記生成するステップにより生成されたイメージデータの量に応じて、イメージバッファのサイズを調節する第1の調節ステップと、
イメージデータの生成処理及び印刷処理の進行状況に応じて、前記イメージバッファのサイズに依存して、受信バッファのサイズを調節する第2の調節ステップと
を備え、前記第2の調節ステップが、前記受信バッファのサイズの上限値として選択可能な少なくとも2つの値を用いて、前記イメージバッファのサイズに依存して定まる前記メモリの空き容量の大きさに応じて、前記空き容量が減少するほど前記上限値が小さい値となるように、前記受信バッファのサイズの上限値を、前記少なくとも2つの値のいずれにするかを選択し、前記選択した上限値以下の範囲で、前記生成処理及び印刷処理の進行状況に応じて、前記受信バッファのサイズを動的に調節することを特徴とする、プリンタにおける受信バッファサイズ調節方法
In the receiving buffer size adjusting method in the printer,
Securing a reception buffer for storing received data on a memory in the printer;
Reading received data from a receiving buffer and generating image data from the read data;
Securing an image buffer for storing the image data generated by the generating step on the memory;
A first adjusting step of adjusting the size of the image buffer according to the amount of image data generated by the generating step;
A second adjusting step of adjusting the size of the receiving buffer depending on the size of the image buffer according to the progress of the image data generating process and the printing process , wherein the second adjusting step is Using at least two values that can be selected as the upper limit value of the size of the receiving buffer, the upper limit decreases as the free space decreases according to the size of the free space of the memory determined depending on the size of the image buffer. The upper limit value of the size of the reception buffer is selected to be one of the at least two values so that the value becomes a smaller value, and the generation process and the printing process are performed in a range equal to or less than the selected upper limit value . A method for adjusting the size of a receiving buffer in a printer , wherein the size of the receiving buffer is dynamically adjusted according to the progress .
JP05872897A 1997-03-13 1997-03-13 Printer and method of adjusting reception buffer size in printer Expired - Lifetime JP3574289B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05872897A JP3574289B2 (en) 1997-03-13 1997-03-13 Printer and method of adjusting reception buffer size in printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05872897A JP3574289B2 (en) 1997-03-13 1997-03-13 Printer and method of adjusting reception buffer size in printer

Publications (2)

Publication Number Publication Date
JPH10254659A JPH10254659A (en) 1998-09-25
JP3574289B2 true JP3574289B2 (en) 2004-10-06

Family

ID=13092573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05872897A Expired - Lifetime JP3574289B2 (en) 1997-03-13 1997-03-13 Printer and method of adjusting reception buffer size in printer

Country Status (1)

Country Link
JP (1) JP3574289B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001334729A (en) * 2000-05-26 2001-12-04 Seiko Epson Corp Printer, host computer, and printer control method
JP4639959B2 (en) 2005-05-30 2011-02-23 ブラザー工業株式会社 Image forming apparatus

Also Published As

Publication number Publication date
JPH10254659A (en) 1998-09-25

Similar Documents

Publication Publication Date Title
US20070139684A1 (en) Device for dynamically varying the priority of various processing in a printer
US5835122A (en) Printing apparatus and method capable of selectively printing with a plurality of resolutions
JP2003303068A (en) Image output system, image output method, program and storage medium
JP3574289B2 (en) Printer and method of adjusting reception buffer size in printer
JP7351641B2 (en) Print data generation device
JP3134539B2 (en) Printer control device
JPH10129050A (en) Printing processor
JP2002079724A (en) Printer and program product for controlling the same
JP2003256162A (en) Spool file processing device, program and recording medium
JP3275992B2 (en) Color printer and color print system
JP2000207147A (en) Print data transfer system
JPH10114119A (en) Printing control device, printing control, and storage medium storing program to be read by computer
JP4132634B2 (en) Document printing processing system and recording medium recording the program
JP3170494B2 (en) Image forming apparatus and image forming method
JP4057202B2 (en) Output device having print data enlargement / reduction function and output method
JP4603717B2 (en) Information processing apparatus, distributed printing system, distributed printing control method, computer program, and computer-readable storage medium
JPH07104954A (en) Printer and control method therefor
JPH06202935A (en) Image forming method/device
JPH05191634A (en) Image forming device
JP2001229002A (en) Printer system
JPH07195753A (en) Printer
JPH0789153A (en) Printer system
JP2004126311A (en) Character processor, character processing method, and image forming apparatus
JPH07334322A (en) Printer and interruption level switching processing method for same
JPH0920046A (en) Printing apparatus

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040701

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: 20080709

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term