(57)【特許請求の範囲】
【請求項１】
外部機器から受信した印字データの印字イメージデータを受けて印字媒体に印字するプリンタにおいて、
印字データから、文字や記号のデータおよびその印字位置情報を含む第１パケットデータを作成し、その第１パケットデータをバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納する第１パケットデータ作成手段と、その第１パケットデータをバンド毎の印字イメージデータに展開して、イメージデータバッファに格納する第１展開制御手段と、
そのバンド毎の印字イメージデータに関する第２パケットデータを作成して、第２パケットデータバッファに格納する第２パケットデータ作成手段と、
前記第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に前記第１パケットデータバッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを、前記第１展開制御手段による印字イメージデータへの展開、前記第２パケットデータ作成手段による第２パケットデータの作成、前記１ページ分の残りの第１パケットデータの作成を行い、その第２パケットデータと第１パケットデータとから新たな第１パケットデータに編集するパケットデータ編集手段と、
前記第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、前記パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータへの展開を上書き処理にて行う上書き処理手段と
を備えたことを特徴とするプリンタ。
【請求項２】
外部機器から受信した画像データを含む印字データの印字イメージデータを受けて印字媒体に印字するプリンタにおいて、
前記画像データを格納する画像データバッファと、
前記印字データから、文字や記号のデータおよびその印字位置情報と、前記画像データの印字位置を指定する印字位置情報とを含む第１パケットデータを作成し、その第１パケットデータをバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納する第１パケットデータ作成手段と、
前記画像データおよび第１パケットデータを受けて、バンド毎の印字イメージデータに展開して、印字イメージデータバッファに格納する第１展開制御手段と、
その印字イメージデータを圧縮して、圧縮されたバンド毎の圧縮印字イメージデータをイメージデータバッファに格納する圧縮制御手段と、
そのバンド毎の圧縮印字イメージデータに関する第２パケットデータを作成して、第２パケットデータバッファに格納する第２パケットデータ作成手段と、
その第２パケットデータに基づいて、前記圧縮印字イメージデータを印字可能な印字イメージデータに展開する第２展開制御手段と、
前記第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に前記第１パケットデータバッファあるいは画像バッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを、前記第１展開制御手段による印字イメージデータへの展開、前記圧縮制御手段による圧縮、前記第２パケットデータ作成手段による第２パケットデータの作成、前記１ページ分の残りの第１パケットデータの作成を行い、その第２パケットデータと第１パケットデータとを新たな第１パケットデータに編集するパケットデータ編集手段と、
前記第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、前記パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータバッファへの展開を上書き処理にて行う上書き処理手段と
を備えたことを特徴とするプリンタ。
【請求項３】
第１および第２パケットデータバッファと、画像データバッファイと、メージデータバッファとを、各々データ量に応じて容量可変に構成されたことを特徴とする請求項２に記載のプリンタ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、プリンタに関し、特に１頁分よりも少ない容量のイメージバッファを設ける一方、プリントオーバーランのエラー発生を防止するようにしたものに関する。
【０００２】
【従来の技術】
従来、高速印字が可能なレーザプリンタなどのページプリンタにおいては、ホストコンピュータやパーソナルコンピュータなどの外部機器から、文書データや画像データなどの印字データを受信し、その印字データに関して、文字や記号については、そのコードデータ及び印字位置情報と、画像データについてはその印字位置情報とを含むパケットデータを格納しておき、このパケットデータに基づいて印字可能なビットイメージデータに展開する一方、その展開されたビットイメージデータを印字イメージバッファに格納し、その印字イメージバッファから１ラスター分に対応する１ドットライン毎のビットイメージデータを順次読み出して、印字機構により文字や画像を印字媒体に印字するようになっている。
【０００３】
また、上記パケットデータからビットイメージデータへ展開する際には、既に印字イメージバッファに格納されているビットイメージデータを読出し、新たにパケットデータから展開されたビットイメージデータとのＯＲを成すビットイメージデータを作成し、印字イメージバッファに格納し直す処理（一般にＯＲ書きという）を行っていた。
【０００４】
ところで、制御装置内のＲＡＭ１６０に設けた印字イメージバッファ１６２として、図１５に示すように、１頁分より少ない、例えば、３バンド分の少ないバッファ容量で構成し、受信バッファ１６１から読み出した画像データを画像データバッファ１６４に格納する一方、読み出した文字や記号のコードデータとその印字位置情報と、画像データの印字位置情報とを含むパケットデータをパケットデータバッファ１６３に格納する。そして、パケットデータに基づいて、文字や記号及び画像の印字イメージデータを、印字イメージバッファ１６２の第１バンドバッファ、第２バンドバッファ、第３バンドバッファに展開した後、第１バンドバッファの印字イメージデータを印字機構に出力完了し、第２バンドバッファの印字イメージデータを出力中に、その第１バンドバッファに印字イメージデータを展開する。
【０００５】
即ち、印字イメージバッファの各バンドバッファをサイクリックに繰り返して使用し、受信した印字データに関する全ての印字イメージデータを印字機構に出力するようになっている。この方式では、一旦印字を開始すると、印字を中断することができないので、あるバンドの印字終了時には、次のバンドのデータ展開が終了している必要がある。もし、データ展開が間に合わなければプリントオーバーランエラーとなり、不完全な画像が出力されてしまう。このような構成においては、各文字や記号、或いは画像を別々のデータとしてパケットデータバッファ１６３に登録するので、多数の文字と画像とが重複するような印字処理を行なう場合には、プリントオーバーランのエラーが発生し易い。
【０００６】
そこで、最近では、制御装置内のＲＡＭ２６０に設けた印字イメージバッファ２６２として、例えば、１６０Ｋバイトを１つのバンドバッファ容量として、図１６に示すように、１頁分のビットイメージデータを格納し得る約３０バンド分のバッファ容量（例えば、５〜６メガバイト）を固定的に専用に設ける技術が採用されている。この場合、同様にして作成したパケットデータをパケットデータバッファ２６３に格納する。
【０００７】
そして、パケットデータバッファ２６３や画像データバッファ２６４の拡張に伴って、フリーメモリ領域が殆ど無くなったときに、そのパケットデータに基づいて、文字や記号及び画像の印字イメージデータを、印字イメージバッファ２６２の第１バンドバッファ、第２バンドバッファ、・・・と順次展開（疑似印字展開）した後、パケットデータを消去し、受信バッファ２６１の未処理の印字データについて、同様にして印字イメージデータに展開して、第３０バンドバッファまで格納する。その後、印字イメージバッファ２６２の印字イメージデータを、第１バンドバッファから順次シリアルに読み出して、印字機構により印字媒体に印字するようになっている。
【０００８】
【発明が解決しようとする課題】
しかしながら、印字イメージバッファとして、１頁分のビットイメージデータを格納し得る多数のバンドバッファからなる大容量を固定的に専用に設ける場合には、印字処理に際して、１頁分のビットイメージデータが予め展開されているので、印字処理の途中にプリントオーバーランのエラーが発生することはないが、印字イメージバッファの容量が大型化していることから、ＲＡＭにおけるメモリの使用効率が低下するという問題がある。
【０００９】
一方、印字イメージバッファの容量を、１頁分より少ないバッファ容量で構成する場合には、印字イメージバッファのバッファ容量が少量であることから、ＲＡＭにおけるメモリの使用効率が改良されるが、印字処理の速度よりも印字イメージデータへの展開速度が遅いときには、印字処理の途中にプリントオーバーランのエラーが発生し易いという問題がある。
【００１０】
さらに、パケットデータからビットイメージデータへ展開する際に、ＯＲ書きを行っているために、処理時間が長くなるという問題もある。
【００１１】
本発明は、少ないバッファ容量の印字イメージバッファのメモリ使用効率を向上できる上、プリントオーバーランのエラー発生を防止し、さらに上書き処理を用いることにより処理時間の短いプリンタを提供することを目的とする。
【００１２】
【課題を解決するための手段】
この目的を達成するために請求項１のプリンタは、印字データから文字や記号のデータおよびその印字位置情報を含む第１パケットデータを作成し、その第一パケットデータをバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納する第１パケットデータ作成手段と、その第１パケットデータをバンド毎の印字イメージデータに展開して、イメージデータバッファに格納する第１展開制御手段と、そのバンド毎の印字イメージデータに関する第２パケットデータを作成して、第２パケットデータバッファに格納する第２パケットデータ作成手段と、第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に第１パケットデータバッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを、第１展開制御手段による印字イメージデータへの展開、第２パケットデータ作成手段による第２パケットデータの作成、前記１ページ分の残りの第１パケットデータの作成を行い、その第２パケットデータと第１パケットデータとから新たな第１パケットデータに編集するパケットデータ編集手段と、第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータへの展開を上書き処理にて行う上書き処理手段とを備えたものである。
【００１３】
また、請求項２のプリンタは、画像データを格納する画像データバッファと、印字データから、文字や記号のデータおよびその印字位置情報と、画像データの印字位置を指定する印字位置情報とを含む第１パケットデータを作成し、その第１パケットデータをバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納する第１パケットデータ作成手段と、画像データおよび第１パケットデータを受けて、バンド毎の印字イメージデータに展開して、印字イメージデータバッファに格納する第１展開制御手段と、その印字イメージデータを圧縮して、圧縮されたバンド毎の圧縮印字イメージデータをイメージデータバッファに格納する圧縮制御手段と、そのバンド毎の圧縮印字イメージデータに関する第２パケットデータを作成して、第２パケットデータバッファに格納する第２パケットデータ作成手段と、その第２パケットデータに基づいて、圧縮印字イメージデータを印字可能な印字イメージデータに展開する第２展開制御手段と、第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に第１パケットデータバッファあるいは画像バッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを、第１展開制御手段による印字イメージデータへの展開、圧縮制御手段による圧縮、第２パケットデータ作成手段による第２パケットデータの作成、前記１ページ分の残りの第１パケットデータの作成を行い、その第２パケットデータと第１パケットデータとを新たな第１パケットデータに編集するパケットデータ編集手段と、第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータバッファへの展開を上書き処理にて行う上書き処理手段とを備えたものである。
【００１４】
ここで、請求項３のプリンタは、請求項２の発明において、第１および第２パケットデータバッファと、画像データバッファと、イメージデータバッファとを、各々データ量に応じて容量可変に構成されたものである。
【００１５】
【作用】
上記構成を有する請求項１のプリンタにおいては、第１パケットデータ作成手段により、印字データから、文字や記号のデータおよびその印字位置情報を含む第１パケットデータが作成され、その第１パケットデータがバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納される。その第１パケットデータは、第１展開制御手段によりバンド毎の印字イメージデータに展開され、イメージデータバッファに格納される。そのバンド毎の印字イメージデータに関する第２パケットデータが、第２パケットデータ作成手段により作成され、第２パケットデータバッファに格納される。また、第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に第１パケットデータバッファの容量が所定容量以上になると、パケットデータ編集手段により、その時点で作成済みの第１パケットデータの第１展開制御手段による印字イメージデータへの展開、第２パケットデータ作成手段による第２パケットデータの作成が行われるとともに、前記１ページ分の残りの第１パケットデータが作成され、その第２パケットデータと第１パケットデータとから新たな第１パケットデータに編集される。さらに、第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、上書き処理手段により、パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータへの展開が上書き処理される。
【００１６】
また、請求項２のプリンタにおいては、画像データバッファには、画像データが格納され、第１パケットデータ作成手段により、印字データから、文字や記号のデータおよびその印字位置情報と、画像データの印字位置を指定する印字位置情報とを含む第１パケットデータが作成されて、その第１パケットデータがバンド毎に１ページ分になるまで順次第１パケットデータバッファに格納される。その第１パケットデータおよび画像データを受けて、第１展開制御手段により、バンド毎の印字イメージデータが展開され、印字イメージデータバッファに格納される。その印字イメージデータが圧縮制御手段により圧縮され、圧縮されたバンド毎の圧縮印字イメージデータがイメージデータバッファに格納される。そのバンド毎の圧縮印字イメージデータに関する第２パケットデータが第２パケットデータ作成手段により作成され、第２パケットデータバッファに格納される。その第２パケットデータに基づいて、第２展開制御手段により、圧縮印字イメージデータが印字可能な印字イメージデータに展開される。また、第１パケットデータ作成手段による１ページ分の第１パケットデータの作成途中に第１パケットデータバッファあるいは画像バッファの容量が所定容量以上になると、パケットデータ編集手段により、その時点で作成済みの第１パケットデータの第１展開制御手段による印字イメージデータへの展開、圧縮制御手段による圧縮、第２パケットデータ作成手段による第２パケットデータの作成が行われるとともに、前記１ページ分の残りの第１パケットデータが作成され、その第２パケットデータと第１パケットデータとが新たな第１パケットデータに編集される。さらに、第１展開制御手段による新たな第１パケットデータの印字イメージデータへの展開の際、上書き処理手段により、パケットデータ編集手段により編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータバッファへの展開が上書き処理にて行われる。
【００１７】
さらに、請求項３のプリンタにおいては、第１および第２パケットデータバッファと、画像データバッファと、イメージデータバッファとが、各々データ量に応じて容量可変に制御される。
【００１８】
【実施例】
以下、本発明を具体化した一実施例を図面を参照して説明する。
【００１９】
本実施例は、外部機器から印字データを受信して受信バッファに格納し、その印字データをプリントするレーザプリンタに本発明を適用した場合のものである。
【００２０】
先ず、レーザプリンタ１に設けられた印字機構ＰＭについて、図１に基づいて簡単に説明する。
【００２１】
レーザプリンタ１には、レーザスキャナ装置１０と、プロセスカートリッジ２０と、転写帯電器や除電針などを備えた転写・分離装置２５と、加熱ローラ３１と加圧ローラ３２などを備えた定着装置３０と、給紙ローラ３６、レジストローラ３７、搬送ローラ３８及び排紙ローラ３９などを備えた搬送装置３５などで構成されている。
【００２２】
レーザスキャナ装置１０には、半導体レーザ１１と、６面体ミラー１２と、結像レンズ１３と、反射ミラー１４及び合成樹脂製のレンズ部材１５などが設けられている。
【００２３】
プロセスカートリッジ２０の内部には、感光ドラム２１、１次帯電器２２、現像シリンダ２３及び露光ランプ２４などが組込まれている。
【００２４】
そして、半導体レーザ１１から出射されて６面体ミラー１２に入射したレーザ光ＬＢは、一定の高速度で回転する６面体ミラー１２のミラー面毎に所定角度偏向されることにより、所定角度範囲に亙って主走査され、結像レンズ１３を経て反射ミラー１４で下方に反射され、レンズ部材１５を経て回転する感光ドラム２１上に照射されて、静電潜像が形成される。
【００２５】
そして、感光ドラム２１上に形成された静電潜像は、現像シリンダ２３から供給されるトナーにより現像され、この可視像は、給紙カセット５から搬送装置３５で搬送される記録用紙Ｐに転写されて印字され、この印字された記録用紙Ｐは、その後定着装置３０を経て、これら両ローラ３８・３９により排紙トレー６上に搬送される。
【００２６】
次に、レーザプリンタ１の制御系について、図２のブロック図に基づいて説明するが、この制御系は基本的には一般的なレーザプリンタの制御系と同様なので、簡単に説明するものとする。
【００２７】
このレーザプリンタ１のビデオコントローラ５０は、ＣＰＵ５１と、種々の制御プログラムが格納されたＲＯＭ５２と、パーソナルコンピュータやホストコンピュータなどの外部のデータ送信機器８０から送信された画像データを含む印字データを受けて格納する受信バッファ６１などの各種メモリが設けられたＲＡＭ６０と、印字データを受信バッファ６１に受信データとして書き込み／読み出すタイミングの為のタイミング信号を発生するタイミング制御回路（ＴＣ）５３と、データ送信機器８０から送信される印字データを受信するシリアルインターフェース（Ｓ・Ｉ／Ｆ）５４と、４Ｋバイトの２つのスキャンバッファを有しビットイメージデータに変換された印字情報を順次ＤＣコントローラ５８へ出力するビデオインターフェース（Ｖ・Ｉ／Ｆ）５５と、操作パネル５７からの信号を受けるパネルインターフェース（Ｐ・Ｉ／Ｆ）５６とを備えており、これらはバス５９を介してＣＰＵ５１に夫々接続されている。
【００２８】
ここで、印字機構ＰＭには、前述したように、レーザスキャナ装置１０、プロセスカートリッジ２０、転写・分離装置２５、定着装置３０、搬送装置３５が設けられる上、感光ドラム２１や搬送装置３５を駆動する為のメインモータ、加熱ローラ３１の為の定着用ヒータ、その他の電装品回路などが設けられており、前記ＤＣコントローラ回路５８は、これらメインモータ、定着用ヒータ及び各種電装品回路に加えて、半導体レーザ１１、６面体ミラー１２を駆動するスキャナモータを駆動制御するように構成されている。
【００２９】
前記ＲＯＭ５２には、通常のレーザプリンタに設けられているのと同様の種々の制御プログラムに加えて、文字や記号などの多数のキャラクタに関する印字用ドットパターンデータを格納したフォントメモリ、ＲＡＭ６０に設けられた各バッファ６１〜６６のバッファ容量及び先頭アドレスを管理するバッファ管理プログラム、後述する本願特有の印字データ展開制御の制御プログラムが予め格納されている。
【００３０】
前記ＲＡＭ６０には、図３に示すように、印字データの受信開始時には、所定容量の受信バッファ６１と、約１６０Ｋバイトを１つのバンドバッファ容量として、３つのバンドバッファ６２ａ〜６２ｃを有する印字イメージバッファ６２が設けられている。ここで、これら受信バッファ６１や印字イメージバッファ６２以外のメモリ領域は、フリーエリアに設定されている。
【００３１】
次に、レーザプリンタ１のビデオコントローラ５０で行われる印字データ展開制御のルーチンについて、図４〜図９のフローチャートに基づいて説明する。但し、図中符号Ｓｉ（ｉ＝１０、１１、１２・・・・）は各ステップである。ここで、データ送信機器８０から受信した印字データは、図示外の受信制御により、受信バッファ６１に順次格納されるものとする。
【００３２】
レーザプリンタ１に対して電源が投入されると、先ず印字機構ＰＭを初期化するなどの各種の初期化処理が実行された後、データ送信機器８０から受信した印字データが受信バッファ６１に格納されると、この制御が開始される。
【００３３】
この制御が開始されると、先ず印字データ処理制御が実行される（Ｓ１０）。この印字データ処理制御においては、受信バッファ６１から読み込んだコードデータが、文字や記号のコードデータのときには、そのコードデータと印字位置を指示する印字位置情報とを対応付けたパケットデータがＲＡＭ６０に設けた第１パケットデータバッファ６３に格納される。また画像のコードデータのときには、その印字位置を指定する印字位置情報がパケットデータとして第１パケットデータバッファ６３に格納されるとともに、その画像データがＲＡＭ６０に設けた画像データバッファ６４に格納される。その結果、印字データ処理制御の実行に伴って、第１パケットデータバッファ６３や画像データバッファ６４のバッファ容量が増大する。
【００３４】
次に、このように、第１パケットデータバッファ６３や画像データバッファ６４のバッファ容量が増大して所定の容量に達した結果、この制御の開始時に設けられていたフリーエリアの大きさが約半分に達するまでは、Ｓ１０〜Ｓ１１が繰り返される。そして、フリーエリアの大きさが約半分（図１０参照）になったときには（Ｓ１１：Ｙｅｓ  ）、ＲＡＭ６０に、データ量を「０」とするイメージデータバッファ６６が設定される（Ｓ１２）。次に、そのイメージデータバッファ６６において、前回までのデータ量に１バンド分の所定容量Ｂ（例えば、約１６０Ｋバイト）を加算したバッファ容量が確保可能なときには（Ｓ１３：Ｙｅｓ  ）、印字イメージデータに展開する第１格納処理制御（図５参照）が実行される（Ｓ１６）。
【００３５】
この所定容量Ｂは、後述するＳ３３の圧縮処理において、全く圧縮が施されていないときの容量に相当している。即ち、圧縮処理後の容量が、圧縮処理前の容量よりも増加する可能性がある場合には、容量Ｂは、それに応じて増加させる必要がある。
【００３６】
この第１格納処理制御が開始されると、先ず第１展開処理制御（図６参照）が実行される（Ｓ３０）。
【００３７】
この制御が開始されると、第１パケットデータバッファ６３から１バンド分の第１パケットデータが読み込まれ（Ｓ４０）、この第１パケットデータが終了でなければ（Ｓ４１：Ｎｏ）、そのデータに応じて印字イメージデータが作成され、印字イメージバッファ６２の第１バンドバッファ６２ａに展開される（Ｓ４３）。
【００３８】
一方、この第１パケットデータに画像データが含まれているときに（Ｓ４３：Ｙｅｓ  ）、例えば、３００ＤＰＩ  （ドット・パー・インチ）から６００ＤＰＩ  への変換時において、繰り返して設けるドットパターンデータが２つのバンドに跨がるときなどで、その画像データを消去できないときには（Ｓ４４：Ｎｏ）、その画像データが印字イメージデータとして第１バンドバッファ６２ａに展開され（Ｓ４５）、Ｓ４０に戻る。しかし、その画像データが消去可能なときには（Ｓ４４：Ｙｅｓ  ）、その画像データの画像データバッファ６４における先頭アドレスが、第１バンドバッファ６２ｃに設けた画像データテーブルに登録される（Ｓ４６）。
【００３９】
そして、その画像データが印字イメージデータとして第１バンドバッファ６２ａに展開され（Ｓ４７）、更にその画像データの画像データバッファ６４における末尾アドレスが画像データテーブルに登録され（Ｓ４８）、Ｓ４０に戻る。そして、１バンド分のデータ展開が終了したときには（Ｓ４１：Ｙｅｓ  ）、この制御を終了して、第１格納処理制御のＳ３１にリターンする。例えば、図１１に示すように、１バンド分の第１パケットデータが第１パケットデータバッファ６３から読み込まれ、文字や記号と画像の印字イメージデータが、第１バンドバッファ６２ａに順次展開される。また、図１２に示すように、第３バンドバッファ６２ｃに設けた画像データテーブルには、各画像データの先頭アドレスと末尾アドレスとを対にしたデータ群が、消去可能な画像データの数分格納される。
【００４０】
次に、この第１格納処理制御において、ＲＡＭ６０上に第２パケットデータバッファ６５が設けられ、この第２パケットデータバッファ６５には、Ｓ３０において展開した１バンド分の、印字位置情報を含むパケットデータが格納される（Ｓ３１）。次に、ＲＡＭ６０上にイメージデータバッファ６６が設けられ、このイメージデータバッファ６６を指示する第１書き込みポインタＰ１には、次にデータを書き込む書き込み先頭アドレスがセットされ（Ｓ３２）、第１バンドバッファ６２ａに展開されている印字イメージデータが所定の圧縮方式で圧縮され、圧縮した圧縮印字イメージデータがイメージデータバッファ６６に格納する圧縮処理制御が実行され（Ｓ３３）、この制御を終了して、印字データ展開制御のＳ１７にリターンする。
【００４１】
次に、この印字データ展開制御において、第１パケットデータバッファ６３に格納されている全ての第１パケットデータについて、展開処理が終了していないときには（Ｓ１７：Ｎｏ）、Ｓ１３〜Ｓ１７が繰り返して実行される。
【００４２】
ところで、Ｓ１３〜Ｓ１７が繰り返して実行された結果、第２パケットデータバッファ６５やイメージデータバッファ６６のデータ量が増大して、フリーエリアが減少し、イメージデータバッファ６６を拡張して、前回までのデータ量に１バンド分の所定容量Ｂ（例えば、約１６０Ｋバイト）を加算したバッファ容量を新たに確保することが不可能（図１１参照）になったときには（Ｓ１３：Ｎｏ）、画像データバッファ６４の画像データを消去する画像データ消去処理制御（図７参照）が実行される（Ｓ１４）。
【００４３】
この制御が開始されると、先ず第２書き込みポインタＰ２には、画像データバッファ６４の先頭アドレスがセットされ（Ｓ５０）、画像データテーブルにおいて、画像データの先頭アドレスと末尾アドレスとを対にしたデータ群が、アドレス順に並び変えられる（Ｓ５１）。次に、第１パケットデータバッファ６３の第１パケットデータと、画像データバッファ６４の画像データと、画像データテーブルのデータとに基づいて、画像データテーブルに登録されておらず、消去不可能な画像データの、画像データバッファ６４における先頭アドレスが先頭アドレスＥとして記憶され、またその消去不可能な画像データの末尾アドレスが末尾アドレスＦとして記憶される（Ｓ５２）。
【００４４】
次に、これら先頭アドレスＥから末尾アドレスＦまでの画像データが、第２書き込みポインタＰ２で指示するアドレスから順次移動し格納され（Ｓ５３）、この移動した画像データに対応して、第１パケットデータバッファ６３に格納されている、未処理バンドに関する印字位置情報のアドレスが変更される（Ｓ５４）。次に、第２書き込みポインタのポインタ値Ｐ２が、移動した画像データのデータ量に対応して、α（α＝Ｆ−Ｅ）だけインクリメントされ（Ｓ５５）、終了でないとき、つまり消去不可能な画像データが更に存在するときには（Ｓ５６：Ｎｏ）、Ｓ５２〜Ｓ５６が繰り返して実行される。そして、消去不可能な全ての画像データの移動が終了したときには（Ｓ５６：Ｙｅｓ）、この制御を終了して、印字データ展開制御のＳ１５にリターンする。
【００４５】
そして、この印字データ展開制御において、前記Ｓ１３と同様に検索された結果、１バンド分の所定容量Ｂを加算したバッファ容量を新たに確保できるときには（Ｓ１５：Ｙｅｓ  ）、Ｓ１６以降が、前述したように実行される。しかし、このバッファ容量を新たに確保できないときには（Ｓ１５：Ｎｏ）、第２格納処理制御（図８参照）が実行される（Ｓ２０）。
【００４６】
この制御が開始されると、前述したように第１展開処理制御が実行される（Ｓ６０）。
【００４７】
そして、第２パケットデータバッファ６５には、Ｓ６０において展開した１バンド分の、印字位置情報を含むパケットデータが格納される（Ｓ６１）。次に、第１バンドバッファ６２ａに展開されている印字イメージデータが前述と同様に圧縮され、圧縮後の印字イメージデータの容量Ｂが求められる（Ｓ６２）。次に、前述したように画像データ消去処理制御が再度実行される（Ｓ６３）。そして、前記Ｓ１５と同様に検索された結果、１バンド分の所定容量Ｂを加算したバッファ容量を新たに確保できるときには（Ｓ６４：Ｙｅｓ  ）、Ｓ６２で圧縮した圧縮印字イメージデータがイメージデータバッファ６６に書き込まれ（Ｓ６５）、この制御を終了して、印字データ展開制御にリターンする。ところで、１バンド分の所定容量Ｂを加算したバッファ容量を新たに確保できないときには（Ｓ６４：Ｎｏ）、メモリフル状態の発生に伴うエラー処理が実行され（Ｓ６６）、この制御を終了する。
【００４８】
そして、印字データ展開制御において、第１パケットデータバッファ６３に格納されている全ての第１パケットデータについて、展開処理が終了していないときには（Ｓ２１：Ｎｏ）、Ｓ２０〜Ｓ２１が繰り返して実行される。しかし、全ての第１パケットデータについて、展開処理が終了したときには（Ｓ１７：Ｙｅｓ  叉はＳ２１：Ｙｅｓ  ）、第１パケットデータバッファの第１パケットデータの全てが消去される（Ｓ１８）。
【００４９】
また、その頁の印字データの展開処理が完了していないとき、つまり印字処理が終了していないときとは（Ｓ１９：Ｎｏ）、受信した印字データからの１ページ分の第１パケットデータへの展開が終了していない状態であり、Ｓ１１にてフリーエリアが半分になった（第１パケットデータバッファ６３あるいは画像データバッファ６４の容量が所定容量になった）時点での１ページ分に満たない第１パケットデータについて、Ｓ３０あるいはＳ６０による印字イメージデータへの展開、Ｓ３１あるいはＳ６１による第２パケットデータの作成、Ｓ３３あるいはＳ６２による印字イメージデータの圧縮が行われた状態である。従って、Ｓ１０に戻り、以降同様の処理が繰り返し実行される。
【００５０】
この繰り返し実行される処理では、Ｓ１０にて、１ページ分の残りの印字データについて、第１パケットデータが作成されるが、この第１パケットデータは第２パケットデータバッファ６５内の第２パケットデータに後続して格納される。そして、この第２パケットデータと後続の第１パケットデータとが、新たな第１パケットデータとして扱われる。
【００５１】
そして、この新たな第１パケットデータを対象として、Ｓ４２において、図９に示す印字イメージデータ展開処理が行われる。この印字イメージデータ展開制御がスタートすると、各パケットデータが順次印字イメージデータに展開され（Ｓ７０）、Ｓ４０にて読み込まれた第１パケットデータが、第２パケットデータに設定された後に新たな第１パケットデータに編集されたデータであるか否かが判断される（Ｓ７１）。Ｙｅｓであれば、Ｓ７０にて展開された印字イメージデータが印字イメージバッファ６２の第１バンドバッファ６２ａに上書き処理にて展開される（Ｓ７３）。つまり、新たな第１パケットデータの内、１度第２パケットデータ化されたものは、１バンド分のデータであり、しかも後続の第１パケットデータに先行して処理されるので、第１バンドバッファ６２ａ内の内容を消去してもかまわない。従って、単純に書き込むだけの簡単な上書き処理を用いることができる。また、Ｓ７１がＮｏであれば、Ｓ７０にて展開された印字イメージデータと、既に第１バンドバッファ６２ａに展開されている印字イメージデータとをＯＲ書き処理して、再度第１バンドバッファ６２ａに展開され（Ｓ７３）、Ｓ４３にリターンする。
【００５２】
一方、受信した印字データの全てについてデータ展開されたときには（Ｓ１９：Ｙｅｓ  ）、第２展開処理制御を行ないながら、印字イメージデータを印字機構ＰＭに出力して、印字する処理が実行され（Ｓ２２）この制御を終了して、メインルーチンにリターンする。
【００５３】
ここで、Ｓ２２の第２展開処理制御においては、図１４に示すように、イメージデータバッファ６６に格納された、１バンド毎の圧縮印字イメージデータが印字可能な印字イメージデータにデコード（復調）され、第２パケットデータバッファ６５の第２パケットデータに基づいて、第１バンドバッファ６２ａ、第２バンドバッファ６２ｂ、第３バンドバッファ６２ｃに夫々展開され、第１バンドバッファ６２ａの印字イメージデータから順次印字機構ＰＭに出力される。そして、印字イメージデータの全てが出力された第１バンドバッファ６２ａには、第４バンドの印字イメージデータが展開される。このように、３つのバンドバッファをサイクリックに使用しながら、印字処理が実行される。前記Ｓ１２〜Ｓ１８の処理により、第１パケットデータの登録データ数が少なくなっているので、印字処理よりも速いタイミングで、各バンドバッファ６２ａ〜６２ｃに印字イメージデータが展開されることから、印字途中にプリントオーバーランのエラーが発生することがない。
【００５４】
次に、３つのバンドバッファ６２ａ〜６２ｃを有する印字イメージバッファ６２を設ける一方、プリントオーバーランのエラーが発生しないように制御する、印字データ展開制御の作用であって、印字データ展開方法を含む作用について説明する。
【００５５】
画像データバッファ６４には、受信バッファ６１から受ける画像データが格納され、第１パケットデータバッファ６３には、受信バッファ６１から受ける文字や記号のコードデータ及びその印字位置情報と、画像データの印字位置を指定する印字位置情報とを含むパケットデータが格納される。
【００５６】
そして、印字可能な圧縮印字イメージデータをイメージデータバッファ６６に格納し、またその圧縮印字イメージデータの各バンド毎の印字位置情報を第２パケットデータバッファ６５に格納するので、これらイメージデータバッファ６６や第２パケットデータバッファ６５を小型化でき、しかも印字イメージバッファ６２は、３つのバンドバッファ６２ａ〜６２ｃを設けただけの小容量であって、繰り返して使用する場合でも、圧縮印字イメージデータを高速にデコードして展開できることから、メモリの使用効率の向上を図れる上、印字途中にプリントオーバーランのエラーが発生することがない。
【００５７】
更に、前記第１及び第２パケットデータバッファ６３・６５と、画像データバッファ６４と、イメージデータバッファ６６とは、各々、データ量に応じて容量可変に構成され、イメージデータバッファ６６のバッファ容量を拡張不可能なときには、展開済みの画像データを、画像データバッファ６４から消去するので、この消去を介して画像データバッファ６４の縮小により生じたフリーエリアを、イメージデータバッファ６６などの拡張用に適用することができ、メモリの使用効率を向上できる。
【００５８】
ところで、前記実施例を部分的に変更し、次のように構成することも可能である。例えば、第２パケットデータバッファ６５は、各バンドに対して、１つの画像データを登録したものであるから、第１パケットデータバッファ６３のデータ量よりも大きくなることはない。従って、第１パケットデータバッファ６３の処理済みバンドの部分を順次書き換えることにより、第２パケットデータを作成するようにしてもよい。
【００５９】
尚、印字イメージバッファ６２は、４つ以上のバンドバッファを設けるようにする等、本発明の技術的思想の範囲内において、前記実施例の制御に関し、既存の技術や等業者に自明の技術に基づいて種々の変更を加えることも有り得る。
【００６０】
【発明の効果】
以上説明したことから明かなように、請求項１のプリンタによれば、１ページ分の第１パケットデータを印字イメージデータへ展開した後に印字を行うので、プリントオーバーランのエラーが発生することがない。また、１ページ分の第１パケットデータの作成途中に第１パケットデータバッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを印字イメージデータへ展開して第２パケットデータを作成した後に、残りの第１パケットデータの作成を行うので、小容量の第１パケットデータバッファでも１ページ分のデータ処理が可能となる。
【００６１】
さらに、新たな第１パケットデータの印字イメージデータへの展開の際、編集された第１パケットデータおよび第２パケットデータの内、第２パケットデータの印字イメージデータへの展開を上書き処理にて行うので、ＯＲ書き処理に比べ処理速度を向上できる。
【００６２】
請求項２のプリンタによれば、１ページ分の第１パケットデータを印字イメージデータへ展開し、さらに圧縮した印字イメージデータをイメージデータバッファに記憶した後に印字を行うので、圧縮印字イメージデータから印字イメージデータへのデコードは印字速度より高速に行い得ることから、プリントオーバーランのエラーが発生しないとともに、大きなメモリ容量を必要とする印字イメージデータを小容量のイメージデータバッファに記憶できる。
【００６３】
また、１ページ分の第１パケットデータの作成途中に第１パケットデータバッファあるいは画像バッファの容量が所定容量以上になると、その時点で作成済みの第１パケットデータを印字イメージデータへ展開して第２パケットデータを作成した後に、残りの第１パケットデータの作成を行うので、小容量の第１パケットデータバッファあるいは画像バッファでも１ページ分のデータ処理が可能となる。
【００６４】
もちろん、請求項１のプリンタと同様に、第２パケットデータの印字イメージデータへの展開を高速に処理できる。
【００６５】
請求項３のプリンタによれば、大きなメモリ容量を必要とする画像データを格納する受信バッファを、第１および第２パケットデータバッファ、画像データバッファ、イメージデータバッファとともに、記憶手段に各々データ量に応じて容量可変に構成されるので、各バッファのエリアを適宜縮小・拡張でき、メモリの使用効率を格段に向上できる。
【図面の簡単な説明】
【図１】レーザプリンタの概略断面図である。
【図２】レーザプリンタの制御系のブロック図である。
【図３】印字データを受信開始したときのＲＡＭのメモリ構成を説明する図である。
【図４】印字データ展開制御のルーチンの概略フローチャートである。
【図５】第１格納処理制御のルーチンの概略フローチャートである。
【図６】第１展開処理制御のルーチンの概略フローチャートである。
【図７】画像データ消去処理制御のルーチンの概略フローチャートである。
【図８】第２格納処理制御のルーチンの概略フローチャートである。
【図９】印字イメージデータ展開処理制御のルーチンの概略フローチャートである。
【図１０】第１パケットデータバッファと画像データバッファとを設けた図３相当図である。
【図１１】第１及び第２パケットデータバッファと、画像データバッファ及びイメージデータバッファとを設けた図３相当図である。
【図１２】第３バンドバッファに設けた画像データテーブルの内容を説明する図表である。
【図１３】画像データバッファの画像データを消去したときの図１１相当図である。
【図１４】印字イメージデータを印字イメージバッファの各バンドバッファに展開するときの図１１相当図である。
【図１５】従来技術に係り、１頁分よりも少ない印字イメージバッファを備えたＲＡＭのメモリ構成を説明する図である。
【図１６】従来技術に係り、１頁分の印字イメージバッファを備えた図１５相当図である。
【符号の説明】
１    レーザプリンタ
５０    ビデオコントローラ
５１    ＣＰＵ
５２    ＲＯＭ
６０    ＲＡＭ
６１    受信バッファ
６２    印字イメージバッファ
６３    第１パケットデータバッファ
６４    画像データバッファ
６５    第２パケットデータバッファ
６６    イメージデータバッファ
８０    データ送信機器
ＰＭ    印字機構
【図１】
0003555241.tif 000002
【図２】
0003555241.tif 000003
【図３】
0003555241.tif 000004
【図４】
0003555241.tif 000005
【図５】
0003555241.tif 000006
【図６】
0003555241.tif 000007
【図７】
0003555241.tif 000008
【図８】
0003555241.tif 000009
【図９】
0003555241.tif 000010
【図１０】
0003555241.tif 000011
【図１１】
0003555241.tif 000012
【図１２】
0003555241.tif 000013
【図１３】
0003555241.tif 000014
【図１４】
0003555241.tif 000015
【図１５】
0003555241.tif 000016
【図１６】
0003555241.tif 000017