JPH10320152A - 印刷処理システム、印刷処理装置ならびに、印刷処理方法 - Google Patents

印刷処理システム、印刷処理装置ならびに、印刷処理方法

Info

Publication number
JPH10320152A
JPH10320152A JP9129884A JP12988497A JPH10320152A JP H10320152 A JPH10320152 A JP H10320152A JP 9129884 A JP9129884 A JP 9129884A JP 12988497 A JP12988497 A JP 12988497A JP H10320152 A JPH10320152 A JP H10320152A
Authority
JP
Japan
Prior art keywords
printer
data
band
image data
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9129884A
Other languages
English (en)
Inventor
Yoji Furuya
陽二 古谷
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP9129884A priority Critical patent/JPH10320152A/ja
Publication of JPH10320152A publication Critical patent/JPH10320152A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

(57)【要約】 【課題】 ホスト上のフレームバッファへの描画完了ま
での待ち時間を少なくし、処理速度の向上を図ることが
可能な印刷処理システム、印刷処理装置、ならびに印刷
処理方法。 【解決手段】 ホスト1上のフレームバッファ15を複
数のバンド領域に分け、フレームバッファ15への描画
作業と同時並行して、イメージデータ圧縮作業とデータ
転送作業を行うことによって、また、万一、バンド領域
の再描画が発生する場合でも、プリンタ2へ転送済みの
バンドデータをキャンセルし、送り直すことによって、
高速な出力処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タで加工されたイメージデータをプリンタに送出し印刷
を行う印刷処理システム、印刷処理装置、ならびに、印
刷処理方法に関する。
【0002】
【従来の技術】従来、イメージ出力に特化したページプ
リンタは「ホストベースプリンタ」と呼ばれている。
【0003】この種のプリンタでは、ホストプリンタ上
で、アプリケーションからドライバに対して、印刷の指
示が発生した場合は、アプリケーションからの具体的な
描画の指示、例えば文字の印字、図形の描画、イメージ
の貼り付け等を、ドライバ内でバンド単位等に細分化し
て中間言語の状態にして蓄積し、さらにページの上から
下へとソーティングして保存しておく。
【0004】そして、ドライバ内に、1ページ分の中間
言語データが溜まった時点で、プリンタに対して給紙開
始を指示して、同時に、中間言語の状態のデータを、ペ
ージの先頭からイメージに展開して、順次プリンタに転
送する。これを繰り返すことで、1ページの印刷が完了
する。
【0005】「ホストページプリンタ」の長所は、プリ
ンタ内には、比較的小さなイメージ蓄積用の受信バッフ
ァだけがあればよく、また、そのイメージを順次用紙に
転写してゆく回路があればよいだけなので、CPUは不
要で、非常に安価な製品が可能になる点である。
【0006】また一方、一般のPDLプリンタと言われ
る製品では、アプリケーションからの具体的な描画の指
示、例えば文字の印字、図形の描画、イメージの貼り付
け等を、プリンタのPDLコマンドに変換して、プリン
タへ転送している。プリンタは、数ページ分のデータを
蓄えられるだけの受信バッファを持ち、高性能のCPU
の能力で、受信したプリンタコマンドの解釈と、イメー
ジへの展開と、用紙への転写作業を行う。
【0007】長所としては、ホスト上で、1ページ分の
データが蓄積されるまで、プリンタへのデータ転送を待
つ必要がない点、ソーティングが不要な点、文書の内容
が、文字の印字や、罫線、単純な図形等であれば、単純
なプリンタコマンドに変換されるだけなので、プリンタ
への転送データ量が、小さくなることである。
【0008】またさらに、PDLプリンタから派生した
「イメージ専用プリンタ」では、1ページ分の圧縮され
たイメージデータを受信するだけの大きさの、受信バッ
ファを内蔵して、受信した1ページ分の圧縮イメージデ
ータを、ハードウェア回路でデータ伸長して、同時にビ
デオ信号に変換してエンジン部に出力する方法で印刷処
理を行う。
【0009】長所は、内蔵するCPUは、受信管理を行
うだけでよいので、安価な製品で良い。さらに、受信バ
ッファとしても、1ページ分あれば十分なので、メモリ
は比較的少なくてよい。すなわち、「ホストベースプリ
ンタ」までは行かないが、低コストのプリンタ製品が可
能である。
【0010】また、受信バッファは、1ページ分のイメ
ージデータが蓄えられる分はあるので、ホストから送ら
れてくるデータが、単純に1ページ分溜まってから、給
紙動作を開始する。これにより、「ホストベースプリン
タ」のように、いったん印刷処理が始まれば、印刷処理
最優先になるために、ホスト上のアプリケーションがロ
ックするといった点は防げる。
【0011】
【発明が解決しようとする課題】しかしながら、上記
「ホストベースプリンタ」では、いったんプリンタに対
して給紙を指示したならば、ホストコンピュータ上で
は、給紙のスピードに合わせてイメージの展開と、イメ
ージデータの転写を行わなければならない。
【0012】この作業が最優先となるので、印刷中は、
ホストコンピュータ上の他のアプリケーション動作が、
ロック状態になるという欠点がある。
【0013】それでも、イメージの展開と転送が間に合
わなければ、「オーバーランエラー」となる。
【0014】また、一般のPDLプリンタでは、プリン
タコマンドの解析処理等で、高価なCPUが必要なこ
と、また、メモリについても、受信バッファ用、解析
用、展開用として用いるので、大容量のメモリが必要に
なる。すなわち、プリンタとしては、高価にならざるを
えない。
【0015】また、文書の内容が、複雑な図形であった
り、写真などのイメージ画像であったりすると、プリン
タコマンドに変換する過程で、膨大なデータ量に膨らん
でしまうという欠点もある。
【0016】一方、PDLプリンタから派生した「イメ
ージ専用プリンタ」では、イメージの重なりを処理する
能力がないために、一般的に次のような動作を行う。す
なわち、ホスト上のドライバに、1ページ分のフレーム
バッファを設けて、その上に、文字、罫線、図形、イメ
ージの貼り付け等の描画処理を行い、1ページ分の描画
が完了した時点で、1ページ分のイメージをデータ圧縮
し、それから、プリンタにデータ転送する。
【0017】これは、「ホストベースプリンタ」のよう
な描画指示のソーティングが不要であるという長所の反
面、ホスト上で1ページ分の描画処理が完了しないと、
プリンタへのデータ転送も始まらず、その時間分、給紙
開始時間が遅くなるという欠点がある。
【0018】そこで、本発明の目的は、比較的低コスト
のPDLプリンタから派生した「イメージ専用プリン
タ」でありながら、ホスト上のフレームバッファへの描
画完了までの待ち時間をできるだけ少なくすることが可
能な印刷処理システム、印刷処理装置、ならびに印刷処
理方法を提供することにある。
【0019】また、本発明の他の目的は、ホスト上の文
書でページ単位に形式を判断することによって、「ホス
ト上のフレームバッファへの描画完了までの待ち時間を
できるだけ少なくする」という目的に対し、より効果的
な処理を選択することが可能な印刷処理システム、印刷
処理装置、ならびに印刷処理方法を提供することにあ
る。
【0020】さらに、本発明の他の目的は、「ホスト上
のフレームバッファへの描画完了までの待ち時間を、で
きるだけ少なくする」という目的に対し、文書の形式に
よって、効果的あるいは効果的でないの区別があった点
を文書の形式による差をなくし、すべての文書で有効と
することが可能な印刷処理システム、印刷処理装置、な
らびに印刷処理方法を提供することにある。
【0021】
【課題を解決するための手段】本発明は、ホストコンピ
ュータとプリンタとの間でデータのやりとりを行う印刷
処理システムであって、前記ホストコンピュータ側に設
けられ、イメージデータの描画が行われるフレームバッ
ファと、該フレームバッファ上を複数のバンド領域に分
割する手段と、1つの文書を印刷する際、該文書のデー
タを前記複数に分割されたバンド領域上に描画する手段
と、該描画の処理と同時並行して、該描画の終わったバ
ンド領域のイメージデータを圧縮する手段と、該圧縮し
たイメージデータを前記プリンタへのイメージ描画コマ
ンドに変換する手段と、該変換されたコマンド群を前記
プリンタに送出する手段と、さらに、前記プリンタへの
送出が完了したバンド領域について再度の描画処理が行
われた場合においては、該再度の描画処理が完了した時
点で既に送出済みのバンド領域のイメージデータを取り
消す手段と、該再度の描画処理が完了したバンド領域に
ついてイメージデータを圧縮する手段と、該圧縮したイ
メージデータを前記プリンタへのイメージ描画コマンド
に変換する手段と、該変換されたコマンド群を前記プリ
ンタに送出する手段と、前記プリンタ側に設けられ、該
プリンタへのコマンド群を受信する手段と、該受信した
コマンド群内のイメージ描画コマンドで指示された圧縮
イメージデータを伸長する手段と、該伸長したイメージ
データをバンドメモリへ展開する手段と、該バンドメモ
リ上のバンドの大きさ分のデータをエンジン部にビデオ
転送する手段と、該エンジン部でビデオ信号を用紙に転
写する手段と、さらに、1ページ分のコマンド群を受信
した時点で、前記イメージデータのバンドメモリへの展
開、および、前記バンドメモリのエンジン部へのビデオ
転送、および、前記エンジン部でのビデオ信号の用紙へ
の転写を繰り返すことによって、ページ単位の用紙の出
力を行う手段とを具えることによって、印刷処理システ
ムを構成する。
【0022】ここで、前記ホストコンピュータ側に設け
られ、印刷を行う文書が、前記バンド領域への再度の描
画処理が多発する文書のページか否かを判断する手段
と、該再度の描画処理が多発する文書のページと判断さ
れた場合は、前記フレームバッファへの1ページ分の描
画処理が全て完了した時点で、各バンド領域のイメージ
データを圧縮する手段と、該圧縮されたイメージデータ
を前記プリンタへのイメージ描画コマンドに変換する手
段と、該変換されたコマンド群を前記プリンタに送出す
る手段と、該プリンタへのデータ転送を完了させる手段
とをさらに具えて構成することができる。
【0023】また、本発明は、ホストコンピュータとプ
リンタとの間でデータのやりとりを行う印刷処理システ
ムであって、前記ホストコンピュータ側に設けられ、イ
メージデータの描画が行われるフレームバッファと、1
つの文書を印刷する際、該文書のデータを前記フレーム
バッファ上に描画する手段と、該描画の処理と同時並行
して、前記フレームバッファのある大きさの矩形領域に
おいて描画の処理が完了したか否かを判断する手段と、
該描画が完了したと判断された矩形領域のイメージデー
タを圧縮する手段と、該圧縮したイメージデータを前記
プリンタへのイメージ描画コマンドに変換する手段と、
該変換されたコマンド群を前記プリンタに送出する手段
と、さらに、前記プリンタへの送出が完了した矩形領域
について再度の描画処理が行われた場合においては、該
再度の描画処理が完了した時点で既に送出済みの矩形領
域のイメージデータを取り消す手段と、該再度の描画処
理が完了した矩形領域について重なりがないように調整
する手段と、該調整後の矩形領域について、イメージデ
ータを圧縮する手段と、該圧縮したイメージデータを前
記プリンタへのイメージ描画コマンドに変換する手段
と、該変換されたコマンド群を前記プリンタに送出する
手段と、前記プリンタ側に設けられ、該プリンタへのコ
マンド群を受信する手段と、該受信したコマンド群内の
イメージ描画コマンドで指示された複数の矩形領域の圧
縮イメージデータを伸長する手段と、該伸長したイメー
ジデータをラスタメモリへ展開する手段と、該ラスタメ
モリ上のデータをエンジン部にビデオ転送する手段と、
該エンジン部でビデオ信号を用紙に転写する手段と、さ
らに、1ページ分のコマンド群を受信した時点で、前記
イメージデータのラスタメモリへの展開、および、前記
ラスタメモリのエンジン部へのビデオ転送、および、前
記エンジン部でのビデオ信号の用紙への転写を繰り返す
ことによって、ページ単位の用紙の出力を行う手段とを
具えることによって、印刷処理システムを構成する。
【0024】また、本発明は、プリンタにデータを転送
するホスト側の装置であって、イメージデータの描画が
行われるフレームバッファと、該フレームバッファ上を
複数のバンド領域に分割する手段と、1つの文書を印刷
する際、該文書のデータを前記複数に分割されたバンド
領域上に描画する手段と、該描画の処理と同時並行し
て、該描画の終わったバンド領域のイメージデータを圧
縮する手段と、該圧縮したイメージデータを前記プリン
タへのイメージ描画コマンドに変換する手段と、該変換
されたコマンド群を前記プリンタに送出する手段と、さ
らに、前記プリンタへの送出が完了したバンド領域につ
いて再度の描画処理が行われた場合においては、該再度
の描画処理が完了した時点で既に送出済みのバンド領域
のイメージデータを取り消す手段と、該再度の描画処理
が完了したバンド領域についてイメージデータを圧縮す
る手段と、該圧縮したイメージデータを前記プリンタへ
のイメージ描画コマンドに変換する手段と、該変換され
たコマンド群を前記プリンタに送出する手段とを具える
ことによって、印刷処理装置を構成する。
【0025】ここで、印刷を行う文書が、前記バンド領
域への再度の描画処理が多発する文書のページか否かを
判断する手段と、該再度の描画処理が多発する文書のペ
ージと判断された場合は、前記フレームバッファへの1
ページ分の描画処理が全て完了した時点で、各バンド領
域のイメージデータを圧縮する手段と、該圧縮されたイ
メージデータを前記プリンタへのイメージ描画コマンド
に変換する手段と、該変換されたコマンド群を前記プリ
ンタに送出する手段と、該プリンタへのデータ転送を完
了させる手段とをさらに具えて構成することができる。
【0026】また、本発明は、上記ホスト側の装置を用
い、該ホスト側の装置から転送されたデータを印刷する
装置であって、前記ホスト側の装置から当該装置へ転送
されるコマンド群を受信する手段と、該受信したコマン
ド群内のイメージ描画コマンドで指示された圧縮イメー
ジデータを伸長する手段と、該伸長したイメージデータ
をバンドメモリへ展開する手段と、該バンドメモリ上の
バンドの大きさ分のデータをエンジン部にビデオ転送す
る手段と、該エンジン部でビデオ信号を用紙に転写する
手段と、さらに、1ページ分のコマンド群を受信した時
点で、前記イメージデータのバンドメモリへの展開、お
よび、前記バンドメモリのエンジン部へのビデオ転送、
および、前記エンジン部でのビデオ信号の用紙への転写
を繰り返すことによって、ページ単位の用紙の出力を行
う手段とを具えることによって、印刷処理装置を構成す
る。
【0027】また、本発明は、プリンタにデータを転送
するホスト側の装置であって、イメージデータの描画が
行われるフレームバッファと、1つの文書を印刷する
際、該文書のデータを前記フレームバッファ上に描画す
る手段と、該描画の処理と同時並行して、前記フレーム
バッファのある大きさの矩形領域において描画の処理が
完了したか否かを判断する手段と、該描画が完了したと
判断された矩形領域のイメージデータを圧縮する手段
と、該圧縮したイメージデータを前記プリンタへのイメ
ージ描画コマンドに変換する手段と、該変換されたコマ
ンド群を前記プリンタに送出する手段と、さらに、前記
プリンタへの送出が完了した矩形領域について再度の描
画処理が行われた場合においては、該再度の描画処理が
完了した時点で既に送出済みの矩形領域のイメージデー
タを取り消す手段と、該再度の描画処理が完了した矩形
領域について重なりがないように調整する手段と、該調
整後の矩形領域について、イメージデータを圧縮する手
段と、該圧縮したイメージデータを前記プリンタへのイ
メージ描画コマンドに変換する手段と、該変換されたコ
マンド群を前記プリンタに送出する手段とを具えること
によって、印刷処理装置を構成する。
【0028】また、本発明では、上記ホスト側の装置を
用い、該ホスト側の装置から転送されたデータを印刷す
る装置であって、前記ホスト側の装置から当該装置へ転
送されるコマンド群を受信する手段と、該受信したコマ
ンド群内のイメージ描画コマンドで指示された複数の矩
形領域の圧縮イメージデータを伸長する手段と、該伸長
したイメージデータをラスタメモリへ展開する手段と、
該ラスタメモリ上のデータをエンジン部にビデオ転送す
る手段と、該エンジン部でビデオ信号を用紙に転写する
手段と、さらに、1ページ分のコマンド群を受信した時
点で、前記イメージデータのラスタメモリへの展開、お
よび、前記ラスタメモリのエンジン部へのビデオ転送、
および、前記エンジン部でのビデオ信号の用紙への転写
を繰り返すことによって、ページ単位の用紙の出力を行
う手段とを具えることによって、印刷処理装置を構成す
る。
【0029】また、本発明は、ホストコンピュータとプ
リンタとの間でデータのやりとりを行う印刷処理方法で
あって、前記ホストコンピュータ側において、イメージ
データの描画が行われるフレームバッファ上を複数のバ
ンド領域に分割し、1つの文書を印刷する際、該文書の
データを前記複数に分割されたバンド領域上に描画を行
い、該描画の処理と同時並行して、該描画の終わったバ
ンド領域のイメージデータを圧縮し、該圧縮したイメー
ジデータを前記プリンタへのイメージ描画コマンドに変
換し、該変換されたコマンド群を前記プリンタに送出
し、さらに、前記プリンタへの送出が完了したバンド領
域について再度の描画処理が行われた場合においては、
該再度の描画処理が完了した時点で既に送出済みのバン
ド領域のイメージデータを取り消し、該再度の描画処理
が完了したバンド領域についてイメージデータを圧縮
し、該圧縮したイメージデータを前記プリンタへのイメ
ージ描画コマンドに変換し、該変換されたコマンド群を
前記プリンタに送出し、そして、前記プリンタ側におい
て、該プリンタへ転送されたコマンド群を受信し、該受
信したコマンド群内のイメージ描画コマンドで指示され
た圧縮イメージデータを伸長し、該伸長したイメージデ
ータをバンドメモリへ展開し、該バンドメモリ上のバン
ドの大きさ分のデータをエンジン部にビデオ転送し、該
エンジン部でビデオ信号を用紙に転写し、さらに、1ペ
ージ分のコマンド群を受信した時点で、前記イメージデ
ータのバンドメモリへの展開、および、前記バンドメモ
リのエンジン部へのビデオ転送、および、前記エンジン
部でのビデオ信号の用紙への転写を繰り返すことによっ
て、ページ単位の用紙の出力を行うことによって、印刷
処理方法を提供する。
【0030】ここで、前記ホストコンピュータ側におい
て、印刷を行う文書が、前記バンド領域への再度の描画
処理が多発する文書のページか否かを判断し、該再度の
描画処理が多発する文書のページと判断された場合は、
前記フレームバッファへの1ページ分の描画処理が全て
完了した時点で、各バンド領域のイメージデータを圧縮
し、該圧縮されたイメージデータを前記プリンタへのイ
メージ描画コマンドに変換し、該変換されたコマンド群
を前記プリンタに送出し、該プリンタへのデータ転送を
完了させることができる。
【0031】また、本発明は、ホストコンピュータとプ
リンタとの間でデータのやりとりを行う印刷処理方法で
あって、前記ホストコンピュータ側において、1つの文
書を印刷する際、該文書のデータを、イメージデータの
描画が行われるフレームバッファ上に描画し、該描画の
処理と同時並行して、前記フレームバッファのある大き
さの矩形領域において描画の処理が完了したか否かを判
断し、該描画が完了したと判断された矩形領域のイメー
ジデータを圧縮し、該圧縮したイメージデータを前記プ
リンタへのイメージ描画コマンドに変換し、該変換され
たコマンド群を前記プリンタに送出し、さらに、前記プ
リンタへの送出が完了した矩形領域について再度の描画
処理が行われた場合においては、該再度の描画処理が完
了した時点で既に送出済みの矩形領域のイメージデータ
を取り消し、該再度の描画処理が完了した矩形領域につ
いて重なりがないように調整し、該調整後の矩形領域に
ついて、イメージデータを圧縮し、該圧縮したイメージ
データを前記プリンタへのイメージ描画コマンドに変換
し、該変換されたコマンド群を前記プリンタに送出し、
前記プリンタ側において、該プリンタへ転送されたコマ
ンド群を受信し、該受信したコマンド群内のイメージ描
画コマンドで指示された複数の矩形領域の圧縮イメージ
データを伸長し、該伸長したイメージデータをラスタメ
モリへ展開し、該ラスタメモリ上のデータをエンジン部
にビデオ転送し、該エンジン部でビデオ信号を用紙に転
写し、さらに、1ページ分のコマンド群を受信した時点
で、前記イメージデータのラスタメモリへの展開、およ
び、前記ラスタメモリのエンジン部へのビデオ転送、お
よび、前記エンジン部でのビデオ信号の用紙への転写を
繰り返すことによって、ページ単位の用紙の出力を行う
ことによって、印刷処理方法を提供する。
【0032】
【発明の実施の形態】以下、図面を参照して、本発明を
詳細に説明する。
【0033】本発明の第1の実施の形態を、図1〜図1
7に基づいて説明する。なお、本例は、バンド単位の処
理を前提とした発明である。
【0034】まず、本例における発明の概要について説
明する。
【0035】本例に係る第1の発明としては、比較的低
コストである、PDLプリンタから派生した「イメージ
専用プリンタ」を前提としている。前述したように、こ
の種のプリンタでは、プリンタ内でイメージの重なりを
処理する能力がない。ホスト上のドライバで重なりのな
いよう調整する必要がある。
【0036】そして、一般的な文書としては、文字の多
い、ポートレート横書きの文書形式が多いと仮定し、ド
ライバ上では、ホスト上の1ページ分のフレームバッフ
ァを16程度の均等な短冊形のバンドに分割し、上から
順番に描画が進むとの前提で、描画が終わったバンドか
ら、次のバンドの描画作業と同時並行して、イメージデ
ータの圧縮作業と、データ転送作業を行う。
【0037】そして、万が一、すでにデータ転送が完了
したバンドへの、アプリケーションの描画指示が再びあ
ったならば、前に転送したバンドの圧縮されたイメージ
データは、プリンタ上からキャンセルして、ドライバ上
で再描画後のバンドを圧縮して、データ転送し直す。
【0038】これにより、ホストのドライバ上で、フレ
ームバッファへの描画作業と同時並行して、イメージデ
ータ圧縮作業とデータ転送作業を行う。
【0039】上述したように、一般的な文書としては、
文字の多い、ポートレート横書きの文書形式が多いと仮
定し、ドライバ上では、ホスト上の1ページ分のフレー
ムバッファを16程度の均等な短冊形のバンドに分けて
おいて、アプリケーションからドライバへの指示とし
て、上から順番に描画が進むとの前提で、描画の終わっ
たバンドから、次のバンドの描画作業と同時並行して、
イメージデータの圧縮作業と、データ転送作業を行うよ
うになっている。
【0040】しかしながら、現実の文書では、必ずし
も、文字の多い、ポートレート横書きの文書だけではな
い。例えば、ランドスケープの横書き文書を、用紙の縦
長給送のまま、第1の発明の方法で処理しようとする
と、各バンドへの再描画が多発して、バンドデータのキ
ャンセルと、バンドデータの再転送が繰り返されて、実
用的ではない。
【0041】そこで、上記第1の発明に付随する第2の
発明として、ホスト上で、アプリケーションからドライ
バへ印刷の指示があったときは、ドライバからアプリケ
ーションへ、ページ単位にどのような文書か問い合わせ
を行って、「文字の多い、ポートレート横書きの文書」
のページのときだけ、第1の発明による印刷処理を行
い、そうでない場合は、ドライバ上のフレームバッファ
に1ページ分の全描画が完了するまでは、イメージの圧
縮やデータ転送を開始しない、周知の手法をとるように
する。
【0042】以上の説明が、本例に係る第1,第2の発
明の概要である。
【0043】次に、本発明に係るバンド単位の処理を前
提とした具体例を詳細に説明する。
【0044】(a)本例では、ホスト上のドライバが、
フレームバッファ上への描画を行うが、フレームバッフ
ァを16の均等なバンドに分割しておいて、描画の完了
したバンドについては、次のバンドの描画作業と同時並
行して、描画完了のバンド内のイメージデータを圧縮
し、プリンタへデータ転送する作業を行う。
【0045】図1は、システム全体を説明するためのブ
ロック構成図である。
【0046】1は、バンド単位の圧縮されたイメージデ
ータを作成してプリンタへ送るホストコンピュータとし
てのパソコンである。2はプリンタ本体、3はプリンタ
内のコントローラ部、4はプリンタ内のエンジン部を示
している。
【0047】ホスト1内には、さらに、ホスト1全体を
制御する中央処理装置(以下、CPUという)5、アプ
リケーションソフトウェア等の表示を行うCRT6、ユ
ーザーからの指示を入力するためのキーボード7、大量
のプログラムやデータを内蔵した外部記憶装置8、ホス
ト1の全体制御のプログラムの一部や、表示用のフォン
トデータの入ったリード・オンリー・メモリ(以下、R
OMという)9、ランダム・アクセス・メモリ(以下、
RAMという)10等で構成されている。
【0048】さらに、RAM10の内部には、ホスト1
の全体制御を行うプログラムであるOS11、文書処理
を行うアプリケーションプログラム12、アプリケーシ
ョン12からの印刷指示により、印刷処理のためのプリ
ンタコマンドを作成するドライバ13、各種プログラム
のワーク領域14が存在する。
【0049】また、ワーク領域内には、ドライバ13
が、文字、図形、イメージ等の描画を行う1ページ分の
展開領域としてのフレームバッファ15や、このフレー
ムバッファ15を概念上、短冊形の均等な16のバンド
領域に分けた際に、描画の管理を行うためのバンド管理
表16が存在する。なお、フレームバッファ15、およ
び、バンド管理表16は、アプリケーション12からド
ライバ13に対して文書の印刷の指示が出された場合に
設けられ、ドライバ13によるプリンタコマンドの作成
処理が完了した時点で削除される。
【0050】ところで、ホスト1には、送信部17があ
り、この部分を通して、バンド毎のイメージデータが、
圧縮されてプリンタコマンドの形になって、プリンタ2
のコントローラ部3の受信部22に転送される。
【0051】プリンタ2内では、コントローラ部3は、
ホストコンピュータ1から送られてくるイメージデータ
を受信し、受信したデータからビデオ信号を生成し、エ
ンジン部4に送る役目を担っている。エンジン部4は、
コントローラ部3から受け取ったビデオ信号を用紙に転
写して印刷し、排紙する。
【0052】コントローラ部3は、コントローラ部3全
体を制御するCPU21、CPU21による処理動作を
記述したプログラムの入っているROM24,RAM2
5,ホスト1からイメージデータを受信し、受信したデ
ータをRAM25内にある受信バッファ26にセットす
る受信部22、受信バッファ26内でバンドごとに圧縮
されて蓄積されているイメージデータを、データ伸長し
てからビデオ信号に変換してエンジン部4に出力するイ
メージ伸長・ビデオ転送回路23等で構成されている。
27は、受信済みで受信バッファ26にページ内のバン
ド毎にセットされた状態のイメージデータを示してい
る。
【0053】受信バッファ26に受信、セットされるデ
ータは、ページの中が16のバンドに区別されて、バン
ドの区分の中に、イメージデータが1個ずつ並んでい
る。もちろん、ホスト1上のドライバ13が、このよう
な並びとして、プリンタ2へ出力している。
【0054】その他、RAM25内には、プログラムの
ワーク領域28、さらにその中には、受信バッファ26
に受信したページ毎、バンド毎のイメージデータ27を
管理するための管理表29が含まれている。
【0055】なお、それぞれのバンドの高さは、縦置き
の用紙1ページを、短冊形に均一に16等分したものと
して考えている。
【0056】イメージ伸長・ビデオ転送回路23は、ド
ライバ13から送られてくるあるバンドのデータとし
て、何も含まれていない空白のバンドのときは、その部
分のビデオ信号は何も転送しない機能と、さらに、ドラ
イバ13から送られてくるあるバンドのデータとしての
単一の圧縮されたブロックイメージを、この回路が直
接、データ伸長を行い、同時にビデオ信号に変換して、
エンジン部4へ転送する機能をもつ。すなわち、2つの
機能を合わせもっている。
【0057】ところで、コントローラ部3のCPU21
は、RAM25の内部の受信バッファ26や管理表29
等のメモリ管理を行うだけなので、処理能力のそれほど
高くない、安価な製品でよい。
【0058】次に、エンジン部4について説明する。エ
ンジン部4にも、CPU31やメモリ32があり、メモ
リ32には制御プログラムの入ったROM33や、プロ
グラムのワーク領域としてのRAM34が含まれる。ビ
デオ受信部35は、コントローラ部3からのビデオ信号
を受信し、現像定着部37で用紙に画像を転写する。給
紙部36は、未使用の白い用紙を用紙カセット等から取
り込む役目をし、現像定着部37は、上述のように用紙
に画像を転写して定着し、排紙部38は印刷済みの用紙
を排出する。
【0059】なお、太い矢印は、イメージデータやビデ
オ信号の流れ、あるいは、エンジン部4では、用紙の流
れを示している。また、細い矢印は、各部分間の制御の
やりとりを示している。コントローラ部3のCPU21
と、エンジン部4のCPU31も、互いに情報のやり取
りを行う。ビデオの転写や、用紙の搬送等の印刷処理の
制御に係わる情報である。
【0060】図2は、ホスト1上のドライバ13での作
業の原理を示す。
【0061】図1でも、一部説明したが、ホスト1上の
ドライバ13は、1ページ分の描画領域としてのフレー
ムバッファ15を設け、それを均等な短冊形の16個の
バンドに分けて、管理している。図2では、説明のため
に6個のバンドに分けられているが、実際は16個のバ
ンドに分かれて管理される。
【0062】アプリケーション12が印刷を指示した文
書の形式としては、ポートレイト横書きであって、ま
た、プリンタ2は、用紙の搬送方向として、用紙は縦置
きと仮定している。
【0063】図2(a)は、アプリケーション12から
の描画の指示が、ページの先頭から下へと、順調に移り
変わっていることを示しており、描画の完了した先頭の
バンドから、イメージデータの圧縮と、プリンタ2への
データ転送を行う。もちろん、この作業と同時並行で、
より下の位置のバンドへの描画処理は、続けられる。
【0064】図2(b)は、すべてのバンドの描画と、
圧縮、データ転送が完了したが、アプリケーション12
から、先頭のバンド位置に、再度、図形の描画の指示が
あったことを示している。このとき、新たな描画が完了
したら、再描画のあった先頭のバンドについては、プリ
ンタ2へ既に転送済みの先頭バンドのデータを取り消す
指示をし、そして、再描画のあったバンドのイメージデ
ータを圧縮し、プリンタ2へ再度データ転送する。
【0065】このバンドデータの取り消しと、再送の方
法によって、万が一、アプリケーション12の描画の指
示が、上から下へと順調には移り変わらず、順序が一部
逆転しているとしても、印字の不良が防げることにな
る。
【0066】なお、図2(a)で、バンドへの描画が完
了したかどうかの判断は、あるバンドへの描画の後で、
その下の位置のバンドの位置への描画が、開始されたか
どうかで判断する。すなわち、下の位置のバンドで描画
が始まったら、それより上の位置のバンドは、描画が完
了したものと判断する。
【0067】ただし、バンドとバンドの境界上で、境界
にまたがって例えば印字描画が行われる場合は、下のバ
ンドの描画が始まったには違いないが、上のバンドの描
画が完了したことにはならない。
【0068】なお、フレームバッファ15のバンド上に
展開されたイメージは、バンド内で実際にイメージのあ
る矩形部分だけを取り出して、圧縮されて、単一のイメ
ージブロックとして、ドライバ13からプリンタ2へ転
送される。すなわち、バンド内でも、空白の部分は切り
捨てられる。
【0069】プリンタ2内では、イメージ伸長・ビデオ
転送回路23に対して、イメージブロックのデータ伸長
とビデオ信号のエンジン部4への出力を指示する。すな
わち、一般のPDLプリンタで行われているフレームバ
ッファやバンドメモリ等へのイメージ展開作業を経由せ
ずに、直接、エンジン部4へのビデオ転送が行われる。
【0070】図2では、文書の形式として、ポートレー
トの横書きであって、図形の描画も、先頭のバンドに一
部あるだけという条件の基で、原理の説明を行った。し
かし実際には、上記の文書の形式だけとは限らない。
【0071】そこで、図3では、ドライバ13でのフレ
ームバッファ15への描画処理を始める前に、アプリケ
ーション12へ問い合わせることを説明している。
【0072】問い合わせの結果で、図2で説明した、1
ページ分の描画完了前に、バンド単位でプリンタ2への
データ転送を行ってしまう方法をとるか、あるいは、従
来どおり、フレームバッファ15への展開が、完全に1
ページ分完了するまで待つ方法をとるかを選択する。
【0073】図2の方法が有効な文書形式は、例えば、
「文字だけの、ポートレート横書き文書」や「文字+小
さな図形やイメージだけの、ポートレート横書き文書」
である。また、完全に1ページ分完了するまで待つ従来
の方法が有効な文書形式は、例えば、「ランドスケープ
文書」、「ポートレート縦書き文書」、「全面図形文
書」、「表文書」等である。
【0074】図4は、バンド管理表16の説明図であ
る。
【0075】バンド管理表16は、ホスト1のRAM1
0上にあり、フレームバッファ15上の16個のバンド
の中の、それぞれのイメージデータを、すでにプリンタ
2へ転送したかどうか管理している。バンド番号の欄
は、1ページ内の16個のバンドの番号を表わし、転送
完了の欄は、初期状態としてすべて0がセットされてい
て、データ転送が終わっていないバンドは0のままであ
り、データ転送が完了したバンドは、1がセットされ
る。
【0076】もちろん、ドライバ13による、文書の1
ページ毎のプリンタコマンド作成処理が開始されるたび
に、バンド管理表16は初期化される。
【0077】図5は、ホスト1からプリンタ2へ送られ
る、バンド毎のイメージデータのコマンド構造の説明図
である。
【0078】先頭には、ジョブ開始コマンド41、次に
ページ毎にページ開始コマンド42、ページ内のバンド
毎にバンド番号コマンド43と続く。バンド番号コマン
ド43は、それぞれのバンドについて、最低1度は発行
される。イメージのない空白のバンドについても、バン
ド番号コマンド43は発行される。
【0079】バンド番号コマンド43の後には、イメー
ジブロックの貼り付け位置を示す位置指定コマンド4
4、イメージブロックの縦のサイズ45、イメージブロ
ックの横のサイズ46、データの大きさ47と続き、最
後に圧縮されたイメージブロックデータ48がセットさ
れる。ところで、既に述べたが、1つのバンドには、単
一の矩形のイメージブロックが含まれるだけである。
【0080】なお、空白バンドを表わす場合には、バン
ド番号コマンド43のあとに続く位置指定コマンド44
以降のコマンドはない。これで、空白バンドを表わす。
【0081】また、データ転送後に再描画の行われたバ
ンドについては、ドライバ13上で、再度、バンド番号
コマンド43以降のコマンドが発行されて、プリンタ2
にデータ転送される。以前送ったバンドのデータについ
てのキャンセルのコマンドはないが、再度、同じ番号の
バンド番号コマンド43を送ること自体が、前送ったバ
ンドデータのキャンセルを意味する。
【0082】それらバンドデータの再送を含めたバンド
データ転送が全て完了した場合は、そのページの印刷の
コマンド作成が完了したことを意味するページ終了コマ
ンド49を転送する。
【0083】以上の処理をページ毎に繰り返すことによ
って、アプリケーション12から依頼のあった文書の全
ページの印刷が完了する。そして、最後にジョブ終了コ
マンド50をプリンタ2へ転送して、全ての処理が終了
する。
【0084】この時点で、ドライバ13は、フレームバ
ッファ15上のフレームバッファ15とバンド管理表1
6をワーク領域14から取り除く。
【0085】ところで、プリンタ2のコントローラ部3
は、受信したプリンタコマンド内の圧縮されたブロック
イメージデータを、イメージ伸長・ビデオ転送回路23
を用いてデータ伸長し、同時にビデオ信号に変換して、
エンジン部4に転送する。
【0086】図6は、コントローラ部3のRAM25の
中のワーク領域28内に存在する管理表29の説明図で
ある。
【0087】コントローラ部3は、この管理表29を用
いて、受信バッファ26に受信した、各ページ毎のバン
ドデータの管理を行っている。
【0088】管理表29には、まずページ番号の欄があ
り、次に、各ページ内のバンドの番号欄があり、さら
に、受信バッファ26内の各バンドデータの格納開始ア
ドレス欄があり、それぞれセットされる。なお、各欄の
初期値は、−1である。
【0089】図6の場面は、1ページ目のバンドのデー
タの受信が進み、バンド番号の1番から16番まで受信
が行われたことを示している。また、1ページ目のバン
ドの受信が全て完了したことを表わすため、存在しない
バンド番号17、及び、その行の開始アドレス欄に、−
2がセットされている。
【0090】なお、バンド番号1番、11番、12番、
15番、16番に−1がセットされているが、これは、
イメージデータを含まない空白のバンドであることを示
している。
【0091】また、再描画が行われて、バンドデータの
再転送が発生したバンドについては、受信バッファ26
に受信後、管理表29上は、開始アドレスの欄が書き換
わるだけである。
【0092】ところで、図6は、1ページ目のすべての
バンドデータの受信が完了し、2ページ目のバンドデー
タの受信に移り、現在、2ページ目の2番目のバンドデ
ータを受信続行中の場面を示している。
【0093】図7は、コントローラ部3のROM24に
内蔵されているプログラムを示す。
【0094】61は、受信管理プログラムであり、受信
バッファ26に貯蔵される各ページ内のバンド毎のイメ
ージデータを、管理表29を用いて管理する。受信部2
2への受信データの受信バッファ26上の書き込み位置
の指示も行う。
【0095】解析プログラム62は、受信バッファ26
上に貯えられたイメージデータ、すなわち、イメージブ
ロック貼り付けのコマンド群を解析して、イメージブロ
ックのデータ伸長作業と、エンジン部4へのビデオ信号
転送作業を、イメージ伸長・ビデオ転送回路23に指示
し、また、エンジン部4へは、印刷処理の実行を指示す
る。そして、排紙が完了したページについては、受信バ
ッファ26上からそのページのデータを削除する作業も
行う。削除するといっても、管理表26から、排紙済み
ページの登録を抹消するだけである。受信バッファ26
上で、データクリアを行うわけではない。
【0096】従って、解析プログラム62の中では、バ
ンド毎の解析と、バンド毎のビデオ出力、排紙作業が繰
り返し行われていることになる。
【0097】各プログラムの動作の詳細は、後述のフロ
ーチャートで詳しく説明する。
【0098】なお、受信管理プログラム61と解析プロ
グラム62は、プリンタ2の電源オンと同時に立ち上が
り、ホスト1からデータ送信を待ち構えることになる。
以後、プリンタの電源オフまで、2つのプログラムは、
マルチタスクで動作を続行する。
【0099】図8は、受信バッファ26内の受信したデ
ータの書き込み処理が進行する際の各ポインタの位置関
係を説明するための図である。受信バッファ26は、い
わゆる「リングバッファ」の構造になっている。
【0100】受信部22は、あらかじめ受信管理プログ
ラム61から、限界ポインタ71を指示されていて、受
信バッファ26内でこの位置まで、受信したデータの直
接書き込みが許されている。1バイトごとに加算される
書き込み位置自体は、受信部22が管理している。
【0101】図8で説明すると、プリンタ2の起動直後
は、限界ポインタ71は受信バッファ26の最大値の位
置、すなわち、受信バッファ26の領域の最後尾のアド
レスと一致しているが、この図では説明のために、限界
ポインタ71が、受信バッファ26の最大値の少し手前
に設定されている。そして、この状態では、受信部22
による受信データの書き込みが、限界ポインタ71の少
し手前まで進んで来たことを示している。
【0102】また、受信済みのデータについては、解析
プログラム62の制御によって、順次並行して、データ
解析作業、圧縮されたイメージデータの伸長作業、エン
ジン部4へのビデオ転送作業、エンジン部4による印刷
作業が実行される。そして、エンジン部4への排紙の指
示が完了したページまで、解析ポインタ72が設定され
る。その後、排紙が無事完了したページについては、排
紙ポインタ73が設定される。受信したデータのうち、
排紙ポインタ73のアドレス以前の部分については、も
う既に排紙済みで不要なので、「消去」された状態にな
っていて、新しい受信データが書き込み可能である。
「消去」といっても実際にクリアーされているわけでは
なく、新しい受信データは上書きされる形である。
【0103】なお、解析ポインタ72、排紙ポインタ7
3は、ページ単位に設定される。解析プログラム62
は、受信バッファ26上のページ境界位置等を、受信管
理プログラム61が作成、管理している管理表29上で
調べることによってわかる。
【0104】図8の(b)は、受信バッファ26の最大
値の位置まで受信データの書き込みが進んでしまい、受
信管理プログラム61が、限界ポインタ71を受信バッ
ファ26の先頭位置付近に移動させるよう受信部22に
指示し、実際に、受信部22による受信データの書き込
みが、先頭部分で少し進んだ状態を示している。これが
いわゆる「リングバッファ」の動作である。
【0105】限界ポインタ71の変更は、次の手順で行
なわれる。まず、受信部22による受信データの書き込
みが、限界ポインタ71まで進むと、受信部22は「限
界に達してこれ以上書き込めない」ことを受信管理プロ
グラム61に知らせる。すなわち、限界ポインタ71の
変更を催促する。催促された受信管理プログラム61
は、排紙ポインタ73を調べ、新しく空いた領域がない
かチェックする。そして、新しい限界ポインタ71位置
を排紙ポインタ73位置として、受信部22へ指示す
る。これで、受信部22は、古い限界ポインタ71位置
から、新しい限界ポインタ71位置まで、受信データの
書き込みが可能になる。
【0106】なお、受信部22は、「書き込み位置が限
界ポインタ71に達したとき」以外にも、受信データ中
に「ジョブ開始コマンド41を検知したとき」や、「ペ
ージの開始コマンド42を検知したとき」、「バンド番
号コマンド43を検知したとき」、「ジョブ終了コマン
ド50を検出したとき」等も受信管理プログラム61に
連絡を行う。これによって、受信管理プログラム61
は、受信の実作業、すなわち、信号線の制御や受信した
データのメモリへの書き込みを受信部22に任せなが
ら、受信したページの管理が可能になる。
【0107】ところで、受信部22は、ホスト1から受
信したデータを高速で受信バッファ26に直接書き出す
仕組み、いわゆるDMA(ダイナミック・メモリ・アク
セス)受信回路を持っているわけだが、FIFO(ファ
ーストイン・ファーストアウト)バッファが内蔵されて
おり、ホスト1から送られてくるイメージデータは、一
旦、このFIFOバッファに貯えられてから、受信管理
プログラム61から指示された受信バッファ26上の書
き込み位置へ、高速で書き込まれる。なお、このような
処理は、技術的には、周知なので、ここでの詳細な説明
は省略する。
【0108】(b)次に、本例の動作を、フローチャー
トを用いて説明する。
【0109】図9,図10は、ホスト1上のプリンタド
ライバ13の動作を説明するフローチャートである。プ
リンタドライバ13は、ユーザーが用いるアプリケーシ
ョンソフト12で作成した文書データから、図5で説明
したバンド毎のイメージのプリンタコマンドを作成し、
プリンタ2へ転送する。ユーザーがアプリケーションソ
フト12から文書の印刷を指示すると、ホスト1内でプ
リンタドライバ13が起動される。
【0110】ドライバ13は、起動時には、ホスト1の
RAM10上に1ページ分の大きさの、イメージ展開領
域としてのフレームバッファ15、及び、バンド管理表
16を確保し、同時にフレームバッファ15をクリアす
る。また、ドライバ13の文書印刷処理の終了時には、
フレームバッファ15、および、バンド管理表16とし
て使われていたメモリ領域は開放される。
【0111】処理としては、まず、ステップS1で、ジ
ョブ開始コマンド41をプリンタ2へ転送し、次にステ
ップS2で、変数mに印刷しようとしている文書のペー
ジ数に1を加算した値をセットし、ステップS3で変数
mpに1をセットする。そして、ステップS4で、変数
mpが変数mより小さいかチェックし、NOなら文書の
すべてのページ数の処理が終わったことになるので、ス
テップS5でジョブ終了コマンド50を転送して、ドラ
イバ13の処理を終了する。
【0112】ステップS4でYESなら、ステップS6
で、ページ開始コマンド42をプリンタ2へ転送し、ス
テップS7で、どのような文書形式のページか、アプリ
ケーション12に問い合わせ、ステップS8で、図3で
説明したように、図2の方法でバンドデータを先にデー
タ転送した方法が有効かどうか判断し、有効であると判
断したなら、ステップS9へ進む。
【0113】ステップS8では、印刷しようとしている
ページの文書形式が、「文字だけで、ポートレートの横
書き」文書か、あるいは、「文字+小さなイメージか図
形の、ポートレートの横書き」文書であれば、“有効”
と判断して、ステップS9へ進む。
【0114】ステップS9では、まずバンド管理表16
を、すべて0クリアし、ステップS10で、アプリケー
ション12からの描画指示を、1つだけ得て、ステップ
S11で、アプリケーション12から描画指示が、実際
に得られたかチェックする。
【0115】ここで、YESなら、ステップS12で、
この描画指示がこのページで最初の描画指示かチェック
し、YESならステップS13で、描画予定のバンドよ
り、前の位置のバンド、すなわち上の位置のバンドがあ
るか、チェックし、ステップS14で、“バンドあり”
と判定されれば、ステップS15で、描画予定のバンド
より前の位置、すなわち上の位置に対応するバンド番号
コマンドだけを、プリンタ2へ転送する。これは、空白
のバンドを送ったことになる。そして、バンド管理表1
6で、データ転送したバンドに対応した行の転送完了欄
に1をセットして、ステップS16に移る。ステップS
14でNOの場合も、ステップS16に移る。
【0116】ステップS16では、フレームバッファ1
5上に、実際に描画を実行して、バンド管理表16にお
いて、描画したバンドの行の転送完了欄に、0をセット
する。そして、ステップS10の直前に戻ってループを
形成し、次の描画処理を続行する。
【0117】ステップS12で、最初の描画指示ではな
いと判断されたならば、ステップS17で、描画予定の
バンド番号に対して、その前の位置、すなわちそれより
上の位置のバンド番号で、データ転送していないバンド
番号があるかチェックする。このチェックは、バンド管
理表16上、描画予定のバンドより上の位置のバンド
で、転送完了欄に、0がセットされていないか、サーチ
して行う。
【0118】そして、ステップS18で、“バンドあ
り”と判断されたならば、ステップS19で、転送する
バンド領域内から、イメージが実際に含まれる矩形領域
を、単一のブロックとして切り出し、データ圧縮する。
そして、ステップS20で、位置指定コマンド44をプ
リンタ2へ転送し、ステップS21で、イメージブロッ
クの、縦サイズ45、横サイズ46、圧縮後のデータの
大きさ47、圧縮したイメージブロックデータ48をセ
ットし、プリンタ2にコマンドを転送する。それと同時
に、バンド管理表16上で、転送の完了したバンドの行
の転送完了欄に1をセットする。
【0119】その後、ステップS22で、ステップS1
7のチェックで転送すべきと判断されて、転送がまだ済
んでいないバンドが残っていないかチェックし、まだ、
残りがあるならば、ステップS19の直前に戻ってルー
プを形成し、残りのバンドがなくなるまで、転送処理を
繰り返す。
【0120】ステップS18でNO、あるいは、ステッ
プS22でNOの場合は、ステップS16へ移り、フレ
ームバッファ15上に、実際に描画を実行して、バンド
管理表16において、描画したバンドの行の転送完了欄
に0をセットする。そして、ステップS10の直前に戻
ってループを形成し、次の描画処理を続行する。
【0121】ステップS11でNOの場合は、文書のこ
のページの描画はすべて完了したことになる。そこで、
図10のステップS34に移り、バンド管理表16を調
べて、コマンド転送を完了していないバンドがあるかチ
ェックし、あるのなら、ステップS35で、データ転送
するバンド領域内から、イメージが実際に含まれる矩形
領域を、単一のブロックとして切り出し、データ圧縮す
る。そして、ステップS36で、位置指定コマンド44
をプリンタ2へ転送し、ステップS37で、イメージブ
ロックの縦サイズ45、横サイズ46、圧縮後のデータ
の大きさ47、圧縮したイメージブロックデータ48を
セットし、プリンタ2にコマンドを転送する。それと同
時に、バンド管理表16上で、転送の完了したバンドの
行の転送完了欄に1をセットする。
【0122】その後、ステップS38で、ステップS3
4のチェックで転送すべきと判断されて、転送がまだ済
んでいないバンドが残っていないか、チェックし、ま
だ、残りがあるならば、ステップS35の直前に戻って
ループを形成し、残りのバンドがなくなるまで、転送処
理を繰り返す。
【0123】ステップS34でNOの場合、ステップS
38でNOの場合は、ステップS39で、ページ終了コ
マンド49をプリンタ2へ転送し、ステップS40で、
変数mpに1を加算した後、ステップS4の直前に戻っ
て、文書の次のページの処理に移る。
【0124】ステップS8でNOの場合、すなわち、描
画動作と並行して、描画の完了したバンドのイメージデ
ータをプリンタ2へ転送する方法に、適していないと判
断された文書形式のページの場合は、図10のステップ
S23に移る。これ以降は、フレームバッファ15へ全
ての描画が完了してから、プリンタコマンドの作成処理
を開始する。バンド管理表16を使用してのバンド管理
も行わない。
【0125】そこで、まずステップS23では、フレー
ムバッファ15上に、アプリケーション15からのその
ページへの描画の指示を全て実行し、ステップS24
で、変数nに17をセットする。17という値は、用紙
サイズを長手方向に均等に16のバンドに分割する意味
での、「16」の値に1を加算した値である。そして、
ステップS25で、変数npに1をセットし、ステップ
S26で変数npが変数nより小さいかチェックし、N
Oなら1ページの16個のバンド処理が終了したことを
意味するので、ステップS39でページ終了コマンド4
9をプリンタ2へ転送した後、ステップS40で変数m
pに1を加算して、ステップS4の直前に戻り、次のペ
ージのバンド出力処理に移る。
【0126】ステップS26でYESなら、ステップS
27で、np番目のバンド番号コマンド43をプリンタ
2へ転送し、ステップS28で、フレームバッファ15
から、np番目のバンドの大きさのイメージを切り出
し、ステップS29で、そのバンドが空白かチェック
し、YESなら、ステップS33で変数npに1を加算
してから、ステップS26の直前に戻り、ループを形成
して、次のバンドの処理に移る。
【0127】ステップS29でNOなら、ステップS3
0で、データ転送するバンド領域内から、イメージが実
際に含まれる矩形領域を、単一のブロックとして切り出
し、データ圧縮する。そして、ステップS31で、位置
指定コマンド44をプリンタ2へ転送し、ステップS3
2で、イメージブロックの縦サイズ45、横サイズ4
6、圧縮後のデータの大きさ47、圧縮したイメージブ
ロックデータ48をセットしし、プリンタ2にコマンド
転送する。
【0128】その後は、ステップS33で変数npに1
を加算してから、ステップS26の直前に戻り、ループ
を形成して、次のバンドの処理に移る。
【0129】図11は、受信管理プログラム61の動作
を説明するためのフローチャートである。このプログラ
ムは、プリンタ2の電源立ち上げと同時に、動作を開始
する。
【0130】まず、ステップS51で、受信バッファ2
6、ワーク領域28内にある管理表29等をクリアし、
ステップS52で、受信部22に受信データ書き込みの
限界値、すなわち、図8で説明した限界ポインタ71の
値を、受信バッファ26の最大値にセットする。これに
より、受信部22は、受信バッファ26の大きさまでフ
ルに書き込めることになる。その後、ステップS53
で、ユーザーがプリンタ2を電源オフしたかチェック
し、YESならこのプログラムの処理を終了する。
【0131】ステップS53でNOなら、ステップS5
4で受信部22から受信開始の知らせがあったかチェッ
クする。受信開始の知らせとは、受信部22がホスト1
から受け取った転送データの中から、ジョブ開始コマン
ド41を検知したかどうかの知らせである。ステップS
54でNOなら、ステップS53の直前に戻り、ループ
を形成して、ホスト1からのプリントコマンドの転送を
待つ。
【0132】ステップS54でYESなら、ステップS
55で受信部22へ受信データの受信バッファ26への
書き込み開始を指示する。
【0133】なお、受信部22は、ジョブ開始コマンド
41を検知したら、まず、ホスト1からの受信を一時停
止し、受信管理プログラム61に対してジョブ開始コマ
ンド41を検知したことを知らせ、それから受信管理プ
ログラム61から受信データの受信バッファ26への書
き込み開始が指示されるまで待つ。これがステップS5
5に相当する。また、受信部22は、ジョブ開始コマン
ド41を検知するまでの受信データは、全て受け捨てる
形になっている。すなわち、ホスト1からデータは受信
するが、受信バッファ26には書き込まない。
【0134】ステップS55の後は、ステップS56
で、受信部22から何らかの知らせがあったかチェック
し、NOなら知らせがあるまで待つ。YESなら、その
知らせが、ページ開始コマンド42の検知かチェック
し、YESなら、ステップS58で、管理表29にペー
ジのデータの受信開始をセットする。すなわち、管理表
29のページ番号欄に、ページ番号をセットする。その
後は、ステップS63で、受信部22に、受信データの
受信バッファ26への書込み続行を指示した後、ステッ
プS56の直前に戻り、受信部22からの知らせを待
つ。
【0135】ステップS57でNOの場合は、ステップ
S59で、受信部22からの知らせがバンド番号コマン
ド43の検知かチェックし、YESなら、ステップS6
0で、管理表29に、バンド番号とバンドデータの開始
位置をセットし、その後は、前述したステップS63以
降の処理を行う。
【0136】ステップS59でNOの場合は、ステップ
S61で、受信部22からの知らせがページ終了コマン
ド49の検知かチェックし、YESなら、ステップS6
2で、管理表29に、ページの全てのバンドデータの受
信完了をセットする。すなわち、管理表29のバンド番
号欄に17をセットし、開始アドレス欄に−2をセット
する。その後は、前述したステップS63以降の処理を
行う。
【0137】なお、ステップS58、ステップS60、
ステップS62で、管理表29への記録を行っている
が、その際には、解析プログラム62が管理表29を書
き換え中かどうかチェックし、書き換え中であれば、解
析プログラム62による書き換え処理が完了してから、
受信管理プログラム61が管理表29への記録を行う。
【0138】ステップS61でNOの場合は、ステップ
S64で、受信部22からの知らせがジョブ終了コマン
ド50の検知かチェックし、YESなら、ステップS7
2に飛んで、受信部22に、受信データの受信バッファ
26への書込みを終了するように指示して、ステップS
53の直前に戻ってループを形成し、次のジョブ開始の
知らせを待つ。
【0139】上述のように、受信部22は、ジョブ開始
コマンド41、ページ開始コマンド42、バンド番号コ
マンド43、ページ終了コマンド49、ジョブ終了コマ
ンド50等を検知すると、受信動作をいったん停止し
て、受信管理プログラム61による管理表29のセット
と、受信管理プログラム61による受信動作再開の指示
を待って、受信作業を再開する形になっている。すなわ
ち、受信部22と受信管理プログラム61は、相互に緊
密に関わり合いながら、データの受信処理が進行するこ
とになる。
【0140】ところで、ステップS64でNOの場合
は、ステップS65で、受信部22からの知らせが、受
信データの書き込みが指定された限界値に達したとの知
らせなのかチェックし、NOなら、ステップS56の直
前に戻ってループを形成し、受信部22による受信デー
タの書き込みを続ける。
【0141】ステップS65でYESなら、ステップS
66で新しい限界値を受信部22に指示可能かチェック
し、YESなら、ステップS67で新しい限界値を受信
部22に知らせて、その後はステップS56の直前に戻
り、ループを形成して、受信部22による受信データの
受信バッファ26への書き込みを続ける。
【0142】ステップS66でNOなら、ステップS6
8で、受信データが大きすぎるのかチェックする。“大
きすぎる”とは、受信バッファ26を全て使っても、あ
る1ページ分のデータが受信しきれないことを示してい
る。大きすぎると判断した場合は、ステップS69でプ
リンタ2のパネル上データにエラー表示を行い、ステッ
プS70で、受信バッファ26、ワーク領域28内にあ
る管理表29等をクリアし、ステップS71で、受信部
22に対し、受信データ書き込みの限界値を受信バッフ
ァ26の最大値とセットする。その後、ステップS72
で受信部22に書き込み終了を指示してから、ステップ
S53の直前に戻り、ループを形成して次の文書のジョ
ブ開始の知らせを待つ。これによって、大きすぎてエラ
ーとなってしまったページを含んだ文書ジョブは、巨大
なページ以降、すべて受け捨てられることになる。
【0143】ステップS68でNOならば、ステップS
73で1秒待ち、解析プログラム62によって解析が進
み、受信バッファ26に空きができるのを待つ。そし
て、ステップS66の直前に戻りループを形成して、ス
テップS66で、受信バッファ26の空きを確認する。
【0144】なお、ステップS69で、“プリンタ2の
パネル上にエラー表示”と記載したが、パネルは図1の
構成図では、説明していない。しかし、通常のプリンタ
等では、“印刷可”の状態なのか“エラー”の状態なの
か“用紙なし”の状態なのか区別するために、プリンタ
2の前面か上面に、液晶パネルか状態表示ランプが設置
されているのが普通である。なお、ここでの詳細な説明
は省略する。
【0145】図12は、受信部22の動作を説明するた
めのフローチャートである。図11では、受信管理プロ
グラム61の動作を説明する際に、ついでに受信部22
の動作も言葉で説明したが、分かりにくいのでフローチ
ャートにして図12とした。もちろん、受信部22はハ
ードウェアの回路であって、通常のプログラムとは異な
るが、動作の順序を、フローチャートで説明する。
【0146】受信部22は、プリンタ2の電源オンと同
時に動作を開始するが、まず、ステップS81で、受信
を一旦停止する。これは、プリンタ2側をビジー状態と
して、ホスト1からのデータ転送を拒否することであ
る。その後、ステップS82で、受信管理プログラム6
1から受信バッファ26上の書き込み位置の限界値の指
示があるまで待ち、指示があったなら、ステップS83
でホスト1からのデータの受信は可能だが、受信したデ
ータは受け捨てる状態とする。
【0147】そして、ステップS84で、ユーザがプリ
ンタ2の電源をオフしたかチェックし、YESなら受信
部22の動作を終了する。NOなら、ステップS85
で、受信したデータからジョブ開始コマンド41を検知
したかチェックし、NOならステップS84の直前に戻
り、ホスト1からのジョブ開始コマンド41を待ち受け
る形になる。
【0148】ステップS85でYESなら、ステップS
86で一旦受信を停止し、ステップS87でジョブ開始
コマンド41を検知したことを、受信管理プログラム6
1へ知らせる。受信を一旦停止するとは、プリンタ2が
ビジー状態で、ホスト1からのデータの受信を拒否して
いる状態である。
【0149】次に、ステップS88で、受信管理プログ
ラム61から受信バッファ26への書込み開始の指示が
あるまで待ち、指示があったなら、ステップS89で、
ホスト1からの受信を行い、受信したデータは受信バッ
ファ26上に書込む動作を開始し、ステップS90で、
受信、および、書込み動作を続行する。そして、ステッ
プS91で、ページ開始コマンド42を検知したかチェ
ックし、YESなら、ステップS92で受信管理プログ
ラム61に、ページ管理コマンド42を検知したことを
知らせる。
【0150】この時点で、受信管理プログラム61は、
受信文書のページ番号を管理表29に記録する。ステッ
プS92の後は、ステップS97で受信を一旦停止した
後、ステップS98で受信管理プログラム61から受信
続行の指示があるまで待ち、受信続行の指示があったな
らば、ステップS90の直前に戻りループを形成して、
受信、および、受信バッファ26への書込みを続行す
る。
【0151】ステップS91でNOなら、ステップS9
3で、バンド番号コマンド43を検知したかチェック
し、YESなら、ステップS94で、受信管理プログラ
ム61にバンド番号コマンド43を検知したことを知ら
せる。この時点で、受信管理プログラム61は、管理表
29に、バンド番号とバンドデータの開始アドレスを記
録する。その後は、前述のステップS97以降の処理に
移る。
【0152】ステップS93でNOなら、ステップS9
5で、ページ終了コマンド49を検知したかチェック
し、YESなら、ステップS96で、受信管理プログラ
ム61にページ終了コマンド49を検知したことを知ら
せる。この時点で、受信管理プログラム61は、管理表
29のバンド番号欄に17、開始アドレス欄に−2をセ
ットする。その後は、前述のステップS97以降の処理
に移る。
【0153】ステップS95でNOなら、ステップS9
9で、ジョブ終了コマンド50を検知したかチェック
し、YESならステップS100で、受信を一旦停止
し、ステップS101で、ジョブ終了コマンド50を検
知したことを受信管理プログラム61に知らせる。
【0154】次に、ステップS102で、受信管理プロ
グラム61から、受信は可だが、受信したデータは受け
捨てるとの指示があるまで待ち、指示があったならステ
ップS83の直前に戻り、次の文書のジョブ開始コマン
ド41を待つ。
【0155】ステップS99でNOなら、ステップS1
03で、受信バッファ26上への書き込み位置が限界に
達してしまったかチェックし、YESならステップS1
04で受信を一旦停止し、ステップS105で受信管理
プログラム61へ受信バッファ26への書き込みが限界
に達したことを知らせる。
【0156】次に、ステップS106で受信管理プログ
ラム61から受信バッファ26上の新しい書き込み位置
の限界値の指示があったかチェックし、NOなら、ステ
ップS107で、受信管理プログラム61から書き込み
終了の指示があったかチェックし、NOならステップS
106の直前に戻り、ループを形成する。すなわち、受
信管理プログラム61からの新しい限界値の指示か、書
込み終了の指示があるまで待つ。
【0157】なお、ステップS107で、受信管理プロ
グラム61から書込み終了の指示があるのは、1ページ
分のデータが大きすぎて、受信バッファ26全部の領域
を使っても、1ページ分のデータが収まりきらなくてエ
ラーとなったときである。
【0158】ところで、ステップS106でYESの場
合は、ステップS90の直前に戻り、受信と書込みを続
行する。また、ステップS107でYESの場合は、ス
テップS83の直前に戻り、以後のデータは、ジョブ開
始コマンド41が来るまでは、受信してもすべて受け捨
てることになる。すなわち、ある文書で、大きすぎてエ
ラーとなったページ以降の文書内のページは、全て受け
捨てられることになる。
【0159】ところで、ステップS103でNOの場合
も、ステップS90の直前に戻り、データの受信と受信
バッファへの書込みが続行される。
【0160】図13,図14は、解析プログラム62の
動作を説明するためのフローチャートである。解析プロ
グラム62も、プリンタ2の電源オンとともに立ち上が
り、以後、受信部22によって書込まれた、受信バッフ
ァ26の中のプリントコマンドの解析、および、排紙処
理を行う。
【0161】まず、ステップS111で、ユーザーがプ
リンタ2を電源オフしたかチェックし、YESなら、こ
のプログラムの処理を終了する。NOなら、ステップS
112で、受信バッファ26内に受信済みのページのデ
ータがあるかチェックし、ないならばステップS111
の直前に戻りループを形成して、ホスト1からのデータ
の受信を待つ。
【0162】なお、ステップS112では、管理表29
を調べることによって、受信済みのページが存在するか
どうかをチェックする。具体的には、管理表29上で、
バンド番号欄に17、開始アドレス欄に−2がセットさ
れている行があるかどうかで、受信済みページの有無を
サーチする。なお、管理表29は、図12のフローチャ
ートで説明したような動作で、受信管理プログラム61
が管理を行っている。
【0163】ステップS112でYESならば、以後、
そのページのプリントコマンドを次々と解析して処理し
てゆくわけだが、まず、ステップS113で変数nに
「17」をセットする。「17」は1ページのバンド分
割数「16」に1を加算した値である。次に、ステップ
S114で、変数npに1をセットし、ステップS11
5で、変数npが変数nより小さいかチェックし、NO
なら、バンドの処理がすべて完了したことを示し、ステ
ップS129へ飛び、排紙の完了を待つ。
【0164】ステップS115でYESなら、ステップ
S116で、バンドnp番目のデータは、イメージデー
タがなく、空白バンドなのかチェックし、YESならス
テップS117で、変数tに0をセットする。そして、
ステップS119へ飛ぶ。ステップS116でNOな
ら、ステップS118で変数tに1をセットし、ステッ
プS119へ飛ぶ。
【0165】ステップS119以降、ステップS135
までは、バンド単位のエンジン部4へのビデオ信号出力
処理を示している。
【0166】まず、ステップS119では、変数npが
1かチェックする。すなわち、あるページの最初のバン
ドかチェックするわけである。最初のバンドであれば、
ステップS120でエンジン部4に給紙開始を指示し
て、ステップS121で用紙があるかチェックし、用紙
なしならばステップS122で、ユーザーが用紙を追加
セットするまで待ち、それからステップS125へ飛
ぶ。ステップS121でNOならば、すなわち、用紙が
あるなら、そのままステップS125へ飛ぶ。
【0167】ステップS119で最初のバンドではない
と判断されたならば、ステップS123で、前のバンド
のビデオ転送処理が終了するまで待つ。ただし、待って
いる間に、紙ジャム、つまり紙詰まりが発生しているか
を、ステップS124で常に監視している。仮に、紙ジ
ャムが発生しているのならば、ステップS124からス
テップS134へ飛び、紙ジャムからの復帰処理を行
う。
【0168】ステップS123でYESなら、すなわ
ち、前のバンドのビデオ転送が終了したなら、ステップ
S125で、変数tが0かチェックし、YESなら、ス
テップS126で、イメージ伸長・ビデオ転送回路23
に空白バンドの出力処理を指示して、ステップS128
へ飛ぶ。
【0169】ステップS125でNOなら、ステップS
127で、イメージ伸長・ビデオ転送回路23に、np
番目のバンドデータに含まれる単一イメージブロック
を、圧縮イメージのデータ伸長をしながらビデオ信号を
出力することを指示して、ステップS128へ飛ぶ。
【0170】ステップS128では、変数npに1を加
算してから、ステップS115の直前に戻り、次のバン
ドデータのバンドメモリへの展開、および、ビデオ信号
出力処理へ移る。
【0171】ステップS115でNOの場合は、バンド
出力処理がすべて終了して、後は、ステップS129以
降で印刷された用紙の排紙の完了を待つだけとなるが、
まずステップS129では、排紙が完了したかチェック
し、NOならば、ステップS133で、紙ジャム、つま
り、紙詰まりが発生したかチェックし、NOならばステ
ップS129の直前に戻りループを形成して、排紙の完
了まで待つ。
【0172】ステップS129で、排紙が完了したと判
断したならば、ステップS130で、受信管理プログラ
ム61に、管理表29を書き換え中であることを知ら
せ、ステップS131で、管理表29上の、排紙済みペ
ージの記録をクリアし、ステップS132で、受信管理
プログラム61に、管理表29の書き換えが完了したこ
とを知らせる。そして、ステップS111の直前に戻っ
て、次の受信済みページの処理を続ける。
【0173】ステップS133でYESならば、ステッ
プS134で紙ジャム発生をパネル表示し、ステップS
135でユーザーが詰まった紙を取り除くまで待ち、取
り除いたことがわかれば、ステップS111の直前まで
戻り、もう一度、前回処理を行なった受信済みページデ
ータの、ビデオ出力、排紙処理を試みる。
【0174】なお、ステップS131では、管理表29
上のページの登録をクリアしているが、受信管理プログ
ラム61は、この領域がクリアされていることをチェッ
クして、受信部22に対して、新しい受信データ書込み
の限界値の指示を行う。
【0175】次に、図15,図16,図17で、イメー
ジ伸長・ビデオ転送回路23の動作を説明する。
【0176】イメージ伸長・ビデオ転送回路23は、ハ
ードウェア回路であって、プログラムではないが、その
動作を図16,図17のフローチャートを用いて説明す
る。なお、前述したように、解析プログラム62が、イ
メージ伸長・ビデオ転送回路23に指示をし、エンジン
部4に対して、ビデオ信号の出力を実行させる。イメー
ジ伸長・ビデオ転送回路23の処理の中には、空白バン
ドの処理、圧縮されたブロックイメージデータから直接
の、圧縮イメージデータの伸長と、伸長したデータから
ビデオ信号出力処理の2つが含まれる。
【0177】また、図示しないが、イメージ伸長・ビデ
オ転送回路23の中には、ブロックイメージデータか
ら、1ライン分、圧縮イメージデータを伸長した後で、
伸長したデータを取っておくための、ラインバッファが
内蔵されている。このラインバッファのデータを基に、
ビデオ信号を作成してエンジン部4に出力する。
【0178】まず、図15では、図16,図17のフロ
ーチャートで用いる各変数の説明をする。
【0179】変数hは、バンドの高さを示す。これは、
ビデオ信号を出力する際のライン数に相当する。変数I
は、バンドの巾を示す。この大きさは、バイトを単位と
している。すなわち、8の倍数のドット数が、ビデオ信
号の白黒のビットに変換されて出力される。
【0180】変数haは、イメージブロックに到達する
までの上マージンである。ビデオ信号は、何も送る必要
のない部分のライン数である。変数hbは、イメージブ
ロックの高さ、すなわち、ブロックのライン数である。
【0181】変数laは、イメージブロックの左マージ
ンである。この部分は、ビデオ信号は何も送る必要がな
い。変数lbは、イメージブロックの巾である。la,
lbの値についても、大きさは、バイトを単位としてい
る。すなわち、8の倍数のドット数が、ビデオ信号の白
黒のビットに変換されて出力される。
【0182】前述したホスト1上のドライバの動作とし
ては、バンドやブロックイメージデータの巾方向は“バ
イト単位の大きさ”に揃えることについては、何も記述
されていなかったが、ハードウェア回路を用いた高速な
イメージ出力を可能にするには、上記のような区切りの
良くなる工夫が必要になる。ドライバも、このような工
夫を前提として、プリントコマンドをプリンタ2へ転送
する。
【0183】次に、図16,図17で、イメージ伸長・
ビデオ転送回路23の動作を説明する。
【0184】この回路23は、プリンタ2の電源オンと
同時に動作を開始するが、まず、ステップS141で、
ユーザーがプリンタ2を電源オフしたかチェックし、Y
ESなら、この回路23は動作を終了する。NOなら、
ステップS142で、解析プログラム62からビデオ信
号出力の指示があったかチェックし、NOなら、ステッ
プS141の直前に戻り、ループを形成して、解析プロ
グラム62からの指示を待つ。
【0185】ステップS142でYESなら、ステップ
S143で、変数hにバンドの高さ、すなわち、バンド
の総ライン数をセットする。この値は、解析プログラム
62から、ビデオ信号の出力の指示があったときに、同
時に与えられる。そして、ステップS144で、解析プ
ログラム62からの指示が、空白バンドの出力指示かチ
ェックし、YESならステップS145で、変数tに0
をセットして、ステップS148へ飛ぶ。
【0186】ステップS144でNOならば、バンド内
に単一のイメージブロックがあって、その圧縮されたイ
メージブロックデータを、イメージ伸長・ビデオ転送回
路23に対して、データ伸長を行って、ビデオ信号を出
力することを指示していることを意味する。そこで、ス
テップS146で、変数lにバンド巾の値をセットす
る。この値も、解析プログラム62から、ビデオ信号の
出力の指示があったときに、同時に与えられる。
【0187】次に、ステップS147で、変数tに1を
セットし、変数haにはブロックの上マージン、変数h
bにはブロック高さ、すなわち、ブロックの総ライン
数、変数laにはブロックの左マージン、変数lbには
ブロックの巾をセットする。これらの値も、解析プログ
ラム62から、ビデオ信号の出力の指示があったとき
に、同時に与えられている。そして、ステップS148
へ移る。
【0188】ステップS148では、変数hpに0をセ
ットする。変数hpは、ビデオ信号を出力すべきバンド
上のラインの位置を示すカウンタである。
【0189】そして、ステップS149で、変数tが0
かチェックし、0なら、以後、空白のバンド処理を行う
が、まず、ステップS150でエンジン部4から、ビデ
オ信号の出力要求があったかチェックし、NOならルー
プを形成して、この要求があるまで待つ。ビデオ信号出
力要求があったなら、そのまま何もせずに、ステップS
151で、変数hpに1を加算し、ステップS152
で、変数hpが変数hよりも小さいかチェックし、YE
Sなら、すなわち、バンド内のラインでまだ処理が終わ
っていない部分が残っているなら、ステップS150の
直前に戻って、次の空白のラインの作業を続ける。
【0190】ステップS152でNOなら、すなわち、
バンド内の全ての空白ラインの処理が終わったならば、
ステップS153で、解析プログラム62に対して、指
示のあったバンドのビデオ信号の出力が完了したことを
知らせる。この中には、空白バンドの出力処理が完了し
たことも含まれる。そして、ステップS141の直前に
戻って、解析プログラム62からの次のビデオ出力指示
を待つ。
【0191】ステップS149でNOの場合、すなわ
ち、バンドの中の単一イメージブロックを出力する場合
は、図17のステップS154以降の処理に移る。
【0192】まず、ステップS154では、ブロックデ
ータ中の第1ラインの圧縮イメージデータの伸長を実行
し、伸長したデータをイメージ伸長・ビデオ転送回路2
3内に存在するラインバッファにセットする。これは、
圧縮データの伸長作業を前もってしておくことによっ
て、ビデオ信号出力時に伸長作業を行ったのでは、ビデ
オ出力のタイミングに間に合わなくなることを防ぐため
である。
【0193】その後、ステップS155でループを形成
して、エンジン部4からのビデオ信号要求があるまで待
ち、あったならばステップS156で、変数hpが変数
haより小さいかチェックし、YESなら何もせずステ
ップS163へ飛ぶ。これは、ブロックの上マージンの
部分では、ビデオ信号を送らず何もしないことを意味し
ている。
【0194】ステップS156でNOならば、ステップ
S157で、変数hpが、変数haと変数hbを加算し
た値より小さいかチェックし、ここでNOならば、ビデ
オ信号を送らず何もせずステップS163へ飛ぶ。これ
は、バンド内でブロックの下の部分が空いているのであ
れば、すなわち、下マージンがあるなら、その部分には
ビデオ信号を送らないことを示している。
【0195】ステップS157でYESならば、ステッ
プS158で、ラインの上で変数laの大きさ分、ビデ
オ信号を送らず、ステップS159で、変数lbの大き
さ分、イメージ伸長・ビデオ転送回路23の中にあるラ
インバッファ上のデータをビデオ信号に変換して、ビデ
オ信号をエンジン部4へ出力する。そして、ステップS
160で、変数hbpに、変数hpの値から変数haの
値を減算し、さらに、1を加算した値をセットする。
【0196】次に、ステップS161で、変数hbpが
変数hbより小さいかチェックし、NOなら、すなわ
ち、ブロック内の全てのラインのビデオ信号出力が終わ
ったなら、何もせずステップS163へ飛ぶ。
【0197】ステップS161でYESなら、すなわ
ち、ブロック内でまだビデオ信号出力していないライン
が残っているのなら、ステップS162で、ブロックデ
ータ中の変数hbp番目のラインの圧縮イメージデータ
の伸長処理を実行し、伸長したデータをイメージ伸長・
ビデオ転送回路23の中にあるラインバッファにセット
して、ステップS163へ飛ぶ。
【0198】この処理も、圧縮データの伸長作業を前も
ってしておくことによって、ビデオ信号出力時に伸長作
業を行ったのでは、ビデオ出力のタイミングに間に合わ
なくなることを防ぐためである。
【0199】ステップS163では、変数hpに1を加
算してから、ステップS164で、変数hpが変数hよ
り小さいかチェックし、YESならステップS155の
直前に戻って、バンド内の次のラインのビデオ信号出力
処理を続ける。
【0200】ステップS164でNOなら、図16のス
テップS153へ飛んで、ビデオ信号の出力が完了した
ことを解析プログラム62へ知らせてから、ステップS
141の直前に戻って、解析プログラム62からの次の
ビデオ信号出力指示を待つ。
【0201】なお、ステップS153で、イメージ伸長
・ビデオ転送回路23が、解析プログラム62に対して
ビデオ信号の出力完了を知らせてから、解析プログラム
62が、次のバンドのビデオ信号出力指示をイメージ伸
長・ビデオ転送回路23に指示するまでの間は、非常に
短時間でなければならない。
【0202】この間に時間的な空きが入ると、その間、
ビデオ信号が出力されないので、印刷された用紙を見る
と、そのラインの部分だけ、白い筋が入ったような現象
となる。すなわち、バンドとバンドの間に隙間ができ
る。
【0203】このようなことから、解析プログラム62
の排紙時のバンドとバンドの間の処理は、きわめて迅速
に行わなければならない。
【0204】(c)ここで、本例における特徴を以下の
(1)〜(9)にまとめて列挙しておく。
【0205】(1)本例では、プリンタ2上には、イメ
ージ展開用のフレームバッファやバンドメモリを設ける
必要がないので、メモリが少なくて済み、低コストであ
る。
【0206】(2)本例では、コントローラ部3のCP
U21は、ほとんど受信バッファ26のメモリ管理を行
うだけなので、安価な製品でよく、低コスト化できる。
【0207】(3)本例では、コントローラ部3では、
バンドメモリ上にイメージを展開して、そのビデオ信号
をエンジン部4に出力するのではなく、圧縮されたイメ
ージデータを、イメージ伸長・ビデオ転送回路23に対
して、圧縮イメージデータのデータ伸長とビデオ信号へ
の変換、エンジン部4への出力を指示するだけなので、
CPU21の負荷が小さくて済む。
【0208】(4)本例では、受信バッファ26へ1ペ
ージ分のデータを受信してから、印刷を開始する。「ホ
ストベースプリンタ」のように、プリンタ2へのデータ
転送を最優先にするために、ホスト1上で、他のアプリ
ケーションがロックするというような現象は起こらな
い。
【0209】(5)本例では、ホスト1上のドライバ
は、バンドの大きさそのもののイメージデータをプリン
タ2に送るのではなくて、バンドの領域の中の、実際に
イメージのある矩形部分だけをプリンタ2へ送るので、
転送データ量は小さくなる。
【0210】(6)本例では、空白のバンドがある場合
は、コントローラ部3では、バンドメモリ上に空白部を
展開して、そのビデオ信号をエンジン部4に送るのでは
なく、空白部に相当する部分は、イメージ伸長・ビデオ
転送回路23に対して、ビデオ信号を送らないよう指示
するだけなので、CPU21の負荷を小さくできる。
【0211】(7)本例では、ホスト1のドライバ13
上で、フレームバッファ15の1ページ分のイメージ描
画が完了する前に、データ転送するので、その分印刷処
理時間が短縮できる。
【0212】(8)本例では、ホスト1のドライバ13
上で、バンド単位に区切って、前もってデータ転送を行
うが、データ転送後に万が一、バンドへの再描画が行わ
れた場合も、前に送ったバンドデータをキャンセルして
から、再度バンドデータを転送し直すので、印字不良が
生じない。
【0213】(9)本例では、ホスト1のドライバ13
上で、バンド単位に処理を行って、1ページのイメージ
描画が完了する前に、データ転送を開始しているが、文
書の形式によっては、適、不適があるので、ドライバ1
3は、前もってアプリケーションに対して問い合わせを
行って、上記処理に適した文書の場合だけ、前もって転
送する処理を行う。これによって、無駄な処理をなくす
ことができる。
【0214】次に、本発明の第2の実施の形態を、図1
8〜図32に基づいて説明する。
【0215】なお、本例は、イメージブロック単位の処
理を前提とした発明である。
【0216】まず、本例における発明の概要について説
明する。
【0217】前述した第1の発明では、一般的な文書と
しては、文字の多い、ポートレート横書きの文書形式が
多いと仮定して処理を行っていたが、前述のように、現
実の文書では、必ずしも、文字の多い、ポートレート横
書きの文書だけではない。
【0218】本例に係る第3の発明では、ドライバ上の
フレームバッファに、アプリケーションからの指示にし
たがって描画を行うが、ある矩形領域の描画が完了した
と考えられる場合は、その時点でその矩形領域、すなわ
ちイメージブロックをデータ圧縮し、プリンタへデータ
転送する。もちろん、データ圧縮作業、データ転送作業
は、フレームバッファ上の他の領域への描画作業と、同
時並行して処理が進められる。
【0219】従って、本例の第3の発明では、第1の発
明でのバンド単位で行っていた処理を、比較的小さなイ
メージブロック単位に処理を行うようにした点が異な
る。
【0220】なお、ここでの「ある矩形領域」とは、例
えば、文書の中の、「1行」を単位としてもよい。その
際、「ある矩形領域の描画が完了したと考えられる場
合」とは、前の行への文字の追加描画が完了し、次の行
への文字描画が開始された時点である。
【0221】また、万が一、一旦データ転送してしまっ
たイメージブロックについて、重ね書き等で、再描画が
発生したときは、以前転送済みのイメージブロックをキ
ャンセルして、イメージブロック同士の重なりがないよ
うに調整した後、イメージブロックを再送するようにす
る。
【0222】また、「ホストベースプリンタ」のよう
に、アプリケーションからの描画指示を、ホスト上で蓄
積してソーティングする必要もない。
【0223】以上の説明が、本例に係る第3の発明の概
要である。
【0224】次に、本発明に係るイメージブロック単位
の処理を前提とした具体例を詳細に説明する。
【0225】(d)本例では、ホスト上のドライバが、
フレームバッファ上への描画を行うが、小さな矩形領域
としてのイメージブロックを単位に考え、描画の完了し
たイメージブロックについては、次のイメージブロック
の描画作業と同時並行して、描画完了したイメージブロ
ックデータを圧縮し、プリンタへデータ転送する作業を
行う。上記イメージブロックの単位としては、例えば、
ポートレート横書き文書でいえば、1行分の横に長い矩
形領域を、ひとつのイメージブロックとして考える。
【0226】図18は、システム全体を説明するための
ブロック構成図である。ほとんどは、第1の実施の形態
の図1で説明した構成要素と同じだが、異なる部分だけ
説明する。
【0227】第1の実施の形態では、ホスト1のワーク
領域14上に、バンドごとのデータの転送状況を管理す
るための、バンド管理表16があったが、第2の実施の
形態では、バンドの代わりにイメージブロックでの制御
を行うので、イメージブロック管理表81を設けてい
る。
【0228】また、プリンタ2の受信バッファ26上に
蓄積されるデータも、第1の実施の形態では、番号付け
されたバンドごとのイメージデータ27だったが、本例
では、番号付けされたイメージブロックデータ82であ
る。
【0229】さらに、ワーク領域28には、第1の実施
の形態では管理表29が設けられていただけだが、本例
では、受信バッファ26上の蓄積されたイメージブロッ
クデータを管理するページ管理表83以外に、1ページ
分の全ブロックをイメージ伸長・ビデオ転送回路23に
対して、ビデオ信号出力処理を依頼する際に必要となる
ライン領域管理表84を設けている。
【0230】第1の実施の形態では、イメージ伸長・ビ
デオ転送回路23の処理は、空白バンドの処理と、バン
ドに含まれる単一イメージブロックのビデオ信号出力処
理の2つだったが、本例では、ライン領域管理表84の
助けを借りて、1ページに含まれる全イメージブロック
のビデオ信号出力処理を行う。
【0231】その他の構成要素については、第1の実施
の形態、本例とも、ほとんど同じである。
【0232】ところで、コントローラ部3のCPU21
は、RAM25の内部の受信バッファ26やページ管理
表83、ライン領域管理表84等のメモリ管理を行うだ
けなので、処理能力のそれほど高くない、安価な製品で
もよい。この点も、第1の実施の形態と同様である。
【0233】図19は、ホスト1上のドライバ13での
作業の原理を示す説明図である。
【0234】図18でも、一部説明したが、ホスト1上
のドライバ13は、アプリケーションから印刷の指示を
受けた際に、1ページ分の描画領域としてのフレームバ
ッファ15を設ける。
【0235】アプリケーション12が印刷を指示した文
書の形式としては、ポートレイト横書きであって、ま
た、プリンタ2は、用紙の搬送方向として、用紙は縦置
き、と仮定して説明を行う。
【0236】図19(a)は、アプリケーション12か
らの描画の指示が、ページの先頭から下へと、順調に移
り変わっていることを示しており、描画の完了した先頭
のイメージブロックから、イメージデータの圧縮と、プ
リンタ2へのデータ転送を行う。もちろん、この作業と
同時並行で、より下の位置のイメージブロックへの描画
処理は続けられる。ここでは、文書の中の“1行”を、
イメージブロックのひとつの単位として扱っている。
【0237】図19(b)は、すべてのイメージブロッ
クの描画と、圧縮、データ転送が完了したが、アプリケ
ーション12から、先頭のイメージブロック位置に、再
度、図形の描画の指示があったことを示している。この
とき、新たな描画が完了したら、再描画のあった先頭の
イメージブロックについては、プリンタ2へ既に転送済
みの先頭イメージブロックのデータを取り消す指示を
し、そして、再描画のあった矩形領域についてイメージ
ブロックを整え、つまり、重なりのないように2つのイ
メージブロックに分割し、それぞれをデータ圧縮し、プ
リンタ2へ再度データ転送する。
【0238】なお、図19(b)では、再描画のあった
矩形領域について、イメージブロックを整える作業の後
は、図形描画のブロックと、1行目の文字列の左半分の
ブロックの2つのブロックに分けられたことを示してい
る。
【0239】仮に、再描画の図形描画領域が、1行目全
体を覆う場合は、図形描画領域だけが単一のイメージブ
ロックとして残り、文字列のブロックは残らない。
【0240】また、再描画の図形描画領域が、文字列の
2行にわたってかかる場合は、再転送のためのイメージ
ブロックを整える作業としては、2行の文字列ブロッ
ク、図形描画のブロックと、複数の部分を考慮して行わ
れる。
【0241】以上説明したような、転送済みイメージブ
ロックの取り消しと、再送の方法によって、万が一、ア
プリケーション12の描画の指示が、上から下へと順調
には移り変わらず、重なりのある再描画等で、順序が一
部逆転しているとしても、印字の不良は防げることにな
る。
【0242】なお、図19(a)で、あるイメージブロ
ックへの描画が完了したかどうかの判断は、あるイメー
ジブロックへの描画の後で、次の描画が、前の矩形描画
領域からかなり離れた位置で、開始されたかどうかで判
断する。すなわち、図19の例では、上の行の最後尾に
文字が描画された後、次の行の先頭に文字の描画が開始
されたら、前の行のイメージブロックは描画が完了した
ものと判断する。
【0243】前述した第1の実施の形態では、バンド処
理を前提とし、図2で、文書の形式として、ポートレー
トの横書きであって、図形の描画も、先頭のバンドに一
部あるだけ、という条件の上で、原理の説明を行った。
そして、ドライバ上で、描画作業を行いながら、同時に
データ転送を行う処理方法が有効なのは、「文字だけの
ポートレート横書き」の文書形式か、「文字が大部分の
ポートレート横書き+小さな図形かイメージ」の文書形
式だけと限定していた。
【0244】本例でも、図19において、ポートレート
の横書きを例に説明したが、個々のイメージブロックの
形状は、横長でも縦長でも制限はないので、どのような
文書形式でも区別なく扱うことができる。この場合、ド
ライバ上で、描画作業を行いながら、同時にデータ圧縮
データ転送を行う処理方法は、すべての文書形式で有効
である。
【0245】どのような文書形式でも、フレームバッフ
ァ15上に、完全に1ページ分完了するまで待つという
従来の方法をとる必要はない。
【0246】ちなみに、図19(b)では、縦罫線も縦
長のイメージブロックとして、データ転送している。
【0247】図20,図21は、イメージブロック管理
表81の説明図である。
【0248】イメージブロック管理表81は、ホスト1
のRAM10上にあり、フレームバッファ15上におけ
る多数のイメージブロックデータの描画状態、転送状態
を管理している。イメージブロック番号の欄は、描画完
了した順番でのイメージブロックの番号を表わし、左上
端X座標、左上端Y座標、右下端X座標、右下端Y座標
は、イメージブロックの矩形領域を記録している。
【0249】なお、矩形領域のX座標は、バイト単位で
管理している。これは、8ドットを1単位として扱うの
で区切りがよく、ハードウェアのイメージ伸長・ビデオ
転送回路23が、ビデオ信号の出力処理を行う際も処理
しやすいからである。
【0250】転送完了の欄は、初期状態としてすべて0
がセットされていて、データ転送が終わっていないバン
ドは0のままであり、データ転送が完了したバンドは、
1がセットされている。
【0251】もちろん、ドライバ13による文書の1ペ
ージごとのプリンタコマンド作成処理が開始されるたび
に、イメージブロック管理表81は初期化される。
【0252】図20は、イメージブロックの描画が1番
から12番まで進み、1番から11番まではプリンタ2
へのデータ転送が完了したが、12番は現在描画処理中
で、矩形領域も増加する可能性があることを示してい
る。
【0253】同様に図21は、イメージブロックの描画
が1番から13番まで進み、1番から12番まではプリ
ンタ2へのデータ転送が完了したが、その後、13番の
描画が現在進行中であって、しかも、13番で描画中の
矩形領域が、すでに転送済みの1番と2番の矩形領域に
かかっていることを示している。
【0254】すなわち、1番と2番の転送完了欄が、2
とセットされていることは、そのことを示している。こ
の後、13番の描画が完了した時点で、1番と2番の転
送済みのデータをキャンセルして、1番、2番、13番
の矩形領域を、重なりのないように整えて、再度データ
圧縮、データ転送を行わなければならないことを示して
いる。
【0255】図22は、ホスト1からプリンタ2へ送ら
れるバンド毎のイメージデータのコマンド構造の説明図
である。
【0256】第1の実施の形態の図5で説明したコマン
ド構造とほとんど同じだが、バンド番号43の代わり
に、イメージブロック番号91がセットされる。また、
位置指定コマンド44の原点は、第1の実施の形態で
は、バンドの左上端だったが、本例では、1ページ分の
フレームバッファ15の左上端である。
【0257】イメージブロックの再送がない限り、イメ
ージブロックの矩形領域は、重なりのないように、ドラ
イバ13によって作成される。フレームバッファ15へ
の再描画等が発生して、以前データ転送したイメージブ
ロックをキャンセルするときは、ドライバ13は、以前
転送したと同じイメージブロック番号をセットして、矩
形領域を重なりのないよう整えた後のイメージブロック
を、送り直せばよい。これで、以前転送済みのイメージ
ブロックをキャンセルして、新たにイメージブロックを
転送することになる。
【0258】ただし、以前転送したイメージブロック
を、キャンセルだけしたい場合は、以前転送したイメー
ジブロック番号41だけを送る。位置指定コマンド44
以降を省略する。これで、その番号のイメージブロック
は、キャンセルだけされたことになる。
【0259】なお、イメージブロックのデータの圧縮方
式としては、各ライン単位に圧縮する方法を取る。ライ
ンにまたがっての圧縮はしない。これは、イメージ伸長
・ビデオ転送回路23による、複数のイメージブロック
のデータ伸長作業を、簡略化するためである。
【0260】図23は、コントローラ部3のRAM25
の中の、ワーク領域28内に存在するページ管理表83
の説明図である。
【0261】コントローラ部3は、このページ管理表8
3を用いて、受信バッファ26に受信した、各ページご
とのイメージブロックデータ83の管理を行っている。
【0262】ページ管理表83には、まずページ番号の
欄があり、次に、各ページ内のイメージブロックの番号
欄があり、さらに、受信バッファ26内の各イメージブ
ロックデータ82の格納開始アドレス欄があり、それぞ
れセットされる。なお、各欄の初期値は、−1である。
【0263】図23は、1ページ目のイメージブロック
データの受信が進み、イメージブロック番号の1番から
16番まで受信が行われたことを示している。また、1
ページ目のイメージブロックの受信がすべて完了したこ
とを表わすため、存在しないイメージブロック番号1
7、及び、その行の開始アドレス欄に、−2がセットさ
れている。
【0264】なお、イメージブロック番号1番、11
番、12番に−1がセットされているが、これは、上記
各番号のイメージブロックを、覆いつくす再描画が発生
して、上記各番号のイメージブロックが完全にキャンセ
ルされたことを示している。
【0265】ところで、図23は、1ページ目の全ての
イメージブロックデータの受信が完了し、2ページ目の
イメージブロックデータ受信に移り、現在、2ページ目
の2番目のイメージブロックデータを受信続行中の場面
を示している。
【0266】図24は、コントローラ部3のワーク領域
28に含まれるライン領域管理表84の説明図である。
【0267】ライン領域管理表84は、1ページ分のイ
メージブロックデータが受信バッファ26に溜まって、
イメージ伸長・ビデオ転送回路23に、ビデオ信号出力
処理を依頼する際に、解析プログラム62によって作成
される表である。
【0268】図24(a)は、フレームバッファ15上
の3つのイメージブロックがあり、ブロックの重なりを
考慮して、1ページ全体をライン方向に区分していった
ときに、7つの領域に分けられることを示している。
【0269】そして、図24(b)は、ライン領域管理
表84の構造であって、一番左はライン領域番号であ
り、2番目の欄は各ライン領域の始まるY座標を示し、
最後の欄は、その領域に所属するイメージブロックの番
号を示している。ライン領域に何もイメージブロックが
ない場合は、イメージブロック番号は0であり、また、
あるライン領域には複数のイメージブロックが存在する
場合は、イメージブロック番号の欄には、複数の番号が
セットされる。
【0270】ところで、第1の実施の形態では、コント
ローラ部3のROM24の中のプログラムとしては、受
信管理プログラム61、解析プログラム62が存在する
ことを図7において説明した。本例でも、同様なので、
その説明は省略する。なお、動作の詳細は、後述のフロ
ーチャートで説明する。
【0271】一方、第1の実施の形態では、図8で、受
信バッファ26が“リングバッファ”になっており、そ
の際の限界ポインタ71、解析ポインタ72、排紙ポイ
ンタ73の動作を説明したが、本例でも、全く同様なの
で、その説明は省略する。
【0272】(e)次に、本発明の第2の実施の形態の
動作を、フローチャートを用いて説明する。
【0273】図25,図26,図27は、ホスト1上の
プリンタドライバ13の動作を説明するフローチャート
である。プリンタドライバ13は、ユーザーが用いるア
プリケーションソフト12で作成した文書データから、
図22で説明したイメージブロック毎のイメージのプリ
ンタコマンドを作成し、プリンタ2へ転送する。ユーザ
ーがアプリケーションソフト12から文書の印刷を指示
すると、ホスト1内でプリンタドライバ13が起動され
る。
【0274】ドライバ13は、起動時には、ホスト1の
RAM10上に1ページ分の大きさのイメージ展開領域
としてのフレームバッファ15、および、イメージブロ
ック管理表81を確保し、同時にフレームバッファ15
をクリアする。また、ドライバ13の文書印刷処理の終
了時には、フレームバッファ15、および、イメージブ
ロック管理表81として使われていたメモリ領域は、開
放される。
【0275】処理としては、まず、ステップS171
で、ジョブ開始コマンド41をプリンタ2へ転送し、次
にステップS172で、変数mに、印刷しようとしてい
る文書のページ数に1を加算した値をセットし、ステッ
プS173で、変数mpに1をセットする。そして、ス
テップS174で、変数mpが変数mより小さいかチェ
ックし、NOなら文書のすべてのページ数の処理が終わ
ったことになるので、ステップS175でジョブ終了コ
マンド50を転送して、ドライバの処理を終了する。
【0276】ステップS174でYESなら、ステップ
S176で、ページ開始コマンド42をプリンタ2へ転
送し、ステップS177で、イメージブロック管理表8
1をすべて0クリアし、ステップS178で、アプリケ
ーション12からの描画指示を一つだけ得て、ステップ
S179で、アプリケーション12から描画指示が実際
に得られたかチェックする。
【0277】ここで、YESなら、ステップS180
で、この描画指示がこのページで最初の描画指示かチェ
ックし、YESならステップS181で、フレームバッ
ファ15上に、実際に描画を実行して、イメージブロッ
ク管理表81に描画した矩形領域を登録し、転送完了欄
には0をセットする。そして、ステップS178の直前
に戻ってループを形成し、次の描画処理を続行する。
【0278】ステップS180で、最初の描画指示では
ないと判断されたならば、ステップS182で、描画中
である矩形領域に対して、新しい描画指示の描画予定位
置が近い位置にあるかチェックする。“近い”とは、例
えば、1行の文字列の描画処理で、1行の最後尾に、文
字を1文字追加描画するならば、“近い”が、次の行の
先頭の1文字を、新たに描画するのであれば、“遠い”
ことになる。
【0279】ステップS182で“近い”と判断された
なら、ステップS183で、フレームバッファ15上へ
の描画処理を実行し、イメージブロック管理表81上
で、描画中の矩形領域の矩形領域座標を新しい描画分追
加してセットし、転送完了欄には0をセットする。
【0280】そして、ステップS184で、新しい描画
が既に転送済みのイメージブロックに重なっていないか
チェックし、NOなら、ステップS178の直前に戻っ
てループを形成し、アプリケーション12からの次の描
画指示の処理を続行する。
【0281】ステップS184でYSEなら、ステップ
S185で、イメージブロック管理表81上で重なりの
発見されたイメージブロックの転送完了欄に2をセット
する。そして、ステップS178の直前に戻ってループ
を形成し、アプリケーション12からの次の描画指示の
処理を続行する。ステップS182でNOの場合、すな
わち、“遠い”と判断された場合は、図26のステップ
S186に飛んで、これまで描画中であった矩形領域の
イメージデータをデータ圧縮し、ステップS187で、
プリンタ2へイメージブロック番号コマンド91を転送
し、ステップS188で、位置指定コマンド44を転送
し、ステップS189で、イメージブロックの、縦サイ
ズ45、横サイズ46、圧縮後のデータの大きさ47、
圧縮したイメージブロックデータ48をセットし、プリ
ンタ2にコマンド転送する。そして、ステップS190
で、イメージブロック管理表81上で、転送の完了した
イメージブロックの行の転送完了欄に1をセットする。
【0282】その後、ステップS191で、イメージブ
ロック管理表81の転送完了欄が2の行はないかチェッ
クし、NOなら、ステップS192で、フレームバッフ
ァ15上に、実際に新たな描画を実行して、イメージブ
ロック管理表81に描画した矩形領域を登録し、転送完
了欄には0をセットする。そして、ステップS184に
飛んで、ステップS184以降の処理を続行する。
【0283】ステップS191でYESなら、ステップ
S193で、重なりのないように、イメージブロック間
の矩形領域を修正して整え、イメージブロック管理表8
1も修正する。そして、ステップS194で、整えた後
で転送すべきイメージブロックが発生しているかチェッ
クし、YESなら、ステップS195で、修正後の矩形
領域をデータ圧縮し、ステップS196で、修正したイ
メージブロック番号コマンド91をプリンタ2に転送
し、ステップS197で、位置指定コマンド44を転送
し、ステップS198で、イメージブロックの縦サイズ
45、横サイズ46、圧縮後のデータの大きさ47、圧
縮したイメージブロックデータ48をセットし、プリン
タ2にコマンド転送する。そして、ステップS199
で、イメージブロック管理表81上で、転送の完了した
イメージブロックの行の転送完了欄に、1をセットす
る。
【0284】その後、ステップS191の直前に戻って
ループを形成し、さらに、転送完了欄が2のイメージブ
ロックが残っていないかチェックして、残っていれば、
残りがなくなるまで、処理を続ける。
【0285】ステップS194でNOの場合は、イメー
ジブロックの単純なキャンセルを行うが、まずステップ
S200で、以前転送したイメージブロック番号コマン
ド91をプリンタ2へ転送し、ステップS201で、イ
メージブロック管理表81上で、転送完了欄に−1をセ
ットする。
【0286】その後、ステップS191の直前に戻って
ループを形成し、さらに、転送完了欄が2のイメージブ
ロックが残っていないかチェックして、残っていれば、
残りがなくなるまで処理を続ける。
【0287】ステップS179でNOの場合、すなわ
ち、1ページ分の描画がすべて完了した場合は、図27
のステップS202へ移り、まず、これまで描画中であ
った矩形領域のイメージデータをデータ圧縮し、ステッ
プS203で、プリンタ2へ、イメージブロック番号コ
マンド91を転送し、ステップS204で、位置指定コ
マンド44を転送し、ステップS205で、イメージブ
ロックの、縦サイズ45、横サイズ46、圧縮後のデー
タの大きさ47、圧縮したイメージブロックデータ48
をセットし、プリンタ2にコマンド転送する。そして、
ステップS206で、イメージブロック管理表81上
で、転送の完了した、イメージブロックの行の転送完了
欄に1をセットする。
【0288】その後、ステップS207で、イメージブ
ロック管理表81の転送完了欄が、2の行はないかチェ
ックし、NOなら、ステップS208で、ページ終了コ
マンド49をプリンタ2へ転送し、ステップS209
で、変数mpに1を加算した後、ステップS174の直
前に戻ってループを形成し、文書の次のページの処理に
移る。
【0289】ステップS207でYESなら、ステップ
S210で、重なりのないように、イメージブロック間
の矩形領域を修正して整え、イメージブロック管理表8
1も修正する。そして、ステップS211で、整えた後
で転送すべきイメージブロックが発生しているかチェッ
クし、YESなら、ステップS212で、修正後の矩形
領域をデータ圧縮し、ステップS213で、修正したイ
メージブロック番号コマンド91をプリンタ2に転送
し、ステップS214で、位置指定コマンド44を転送
し、ステップS215で、イメージブロックの、縦サイ
ズ45、横サイズ46、圧縮後のデータの大きさ47、
圧縮したイメージブロックデータ48をセットし、プリ
ンタ2にコマンド転送する。そして、ステップS215
においてイメージブロック管理表81上で転送の完了し
たイメージブロックの行の転送完了欄に1をセットす
る。
【0290】その後は、ステップS207の直前に戻っ
てループを形成し、さらに、転送完了欄が2のイメージ
ブロックが残っていないかチェックして、残っていれ
ば、残りがなくなるまで処理を続ける。
【0291】ステップS211でNOの場合は、イメー
ジブロックの単純なキャンセルを行うが、まずステップ
S217で、以前転送したイメージブロック番号コマン
ド91をプリンタ2へ転送し、ステップS218で、イ
メージブロック管理表81上の転送完了欄に−1をセッ
トする。
【0292】その後、ステップS207の直前に戻って
ループを形成し、さらに、転送完了欄が2のイメージブ
ロックが残っていないかチェックして、残っていれば、
残りがなくなるまで処理を続ける。
【0293】図28は、受信管理プログラム61の動作
を説明するためのフローチャートである。このプログラ
ムは、プリンタ2の電源立ち上げと同時に、動作を開始
する。
【0294】まず、ステップS221で、受信バッファ
26、ワーク領域28内にあるページ管理表83等をク
リアし、ステップS222で、受信部22に受信データ
書き込みの限界値、すなわち、図8で説明した限界ポイ
ンタ71の値を、受信バッファ26の最大値にセットす
る。これで受信部22は、受信バッファ26の大きさま
でフルに書き込めることになる。その後、ステップS2
23で、ユーザーがプリンタを電源オフしたかチェック
し、YESならこのプログラムの処理を終了する。
【0295】ステップS223で、NOなら、ステップ
S224で受信部22から受信開始の知らせがあったか
チェックする。受信開始の知らせとは、受信部22がホ
スト1から受け取った転送データの中から、ジョブ開始
コマンド41を検知したかどうかの知らせである。ステ
ップS224でNOなら、ステップS223の直前に戻
り、ループを形成して、ホスト1からのプリントコマン
ドの転送を待つ。
【0296】ステップS224でYESなら、ステップ
S225で受信部22へ受信データの受信バッファ26
への書き込み開始を指示する。
【0297】なお、受信部22は、ジョブ開始コマンド
41を検知したら、まずホスト1からの受信を一時停止
し、受信管理プログラム61に対してジョブ開始コマン
ド41を検知したことを知らせ、それから受信管理プロ
グラム61から受信データの受信バッファ26への書き
込み開始が指示されるまで待つ。これがステップS22
5に相当する。また、受信部22は、ジョブ開始コマン
ド41を検知するまでの受信データは、すべて受け捨て
る形になっている。すなわち、ホスト1からデータは受
信するが、受信バッファ26には書き込まない。
【0298】ステップS225の後は、ステップS22
6で、受信部22から何らかの知らせがあったかチェッ
クし、NOなら知らせがあるまで待つ。YESなら、そ
の知らせがページ開始コマンド42の検知かチェック
し、YESなら、ステップS228で、ページ管理表8
3にページのデータの受信開始をセットする。すなわ
ち、ページ管理表83のページ番号欄に、ページ番号を
セットすることである。その後は、ステップS233
で、受信部22に、受信データの受信バッファ26への
書込み続行を指示した後、ステップS226の直前に戻
り、受信部22からの知らせを待つ。
【0299】ステップS227でNOの場合は、ステッ
プS229で、受信部22からの知らせがイメージブロ
ック番号コマンド91の検知かチェックし、YESな
ら、ステップS230で、ページ管理表83に、イメー
ジブロック番号とイメージブロックデータの開始位置を
セットし、その後は、前述したステップS233以降の
処理を行う。
【0300】ステップS229でNOの場合は、ステッ
プS231で、受信部22からの知らせがページ終了コ
マンド49の検知かチェックし、YESなら、ステップ
S232で、ページ管理表83に、ページの全てのイメ
ージブロックデータの受信完了をセットする。すなわ
ち、ページ管理表83のイメージブロック番号欄に存在
しないイメージブロック番号をセットし、開始アドレス
欄に−2をセットする。その後は、前述したステップS
233以降の処理を行う。
【0301】なお、ステップS228、ステップS23
0、ステップS232で、ページ管理表83への記録を
行っているが、その際には、解析プログラム62がペー
ジ管理表83を書き換え中かどうかチェックし、書き換
え中であれば、解析プログラム62による書き換え処理
が完了してから、受信管理プログラム61がページ管理
表83への記録を行う。
【0302】ステップS231でNOの場合は、ステッ
プS234で、受信部22からの知らせがジョブ終了コ
マンド50の検知かチェックし、YESなら、ステップ
S242に飛んで、受信部22に、受信データの受信バ
ッファ26への書込みを終了するように指示して、ステ
ップS223の直前に戻ってループを形成し、次のジョ
ブ開始の知らせを待つ。
【0303】上述のように、受信部22は、ジョブ開始
コマンド41、ページ開始コマンド42、イメージブロ
ック番号コマンド91、ページ終了コマンド49、ジョ
ブ終了コマンド50等を検知すると、受信動作を一旦停
止して、受信管理プログラム61によるページ管理表8
3のセットと、受信管理プログラム61による受信動作
再開の指示を待って、受信作業を再開する形になる。す
なわち、受信部22と受信管理プログラム61は、相互
に緊密に関わり合いながらデータの受信処理が進行す
る。
【0304】ところで、ステップS234でNOの場合
は、ステップS235で、受信部22からの知らせが、
受信データの書き込みが指定された限界値に達したとの
知らせなのかチェックし、NOなら、ステップS226
の直前に戻ってループを形成し、受信部22による受信
データの書き込みを続ける。
【0305】ステップS235でYESなら、ステップ
S236で新しい限界値を受信部22に指示可能かチェ
ックし、YESなら、ステップS237で新しい限界値
を受信部22に知らせて、その後はステップS226の
直前に戻り、ループを形成して、受信部22による受信
データの受信バッファ26への書き込みを続ける。
【0306】ステップS236でNOなら、ステップS
238で、受信データが大きすぎるのかチェックする。
“大きすぎる”とは、受信バッファ26を全て使って
も、ある1ページ分のデータが受信しきれないことを示
している。大きすぎると判断できた場合は、ステップS
239でプリンタ2のパネル上にエラー表示を行い、ス
テップS240で、受信バッファ26、ワーク領域28
内にあるページ管理表83等をクリアし、ステップS2
41で、受信部22に対し、受信データ書き込みの限界
値を受信バッファ26の最大値とセットする。その後、
ステップS242で受信部22に書き込み終了を指示し
てから、ステップS223の直前に戻り、ループを形成
して次の文書ジョブ開始の知らせを待つ。これによっ
て、大きすぎてエラーとなってしまったページを含んだ
文書ジョブは、巨大なページ以降、全て受け捨てられ
る。
【0307】ステップS238でNOならば、ステップ
S243で1秒待ち、解析プログラム62によって解析
が進み、受信バッファ26に空きができるのを待つ。そ
して、ステップS236の直前に戻りループを形成し
て、ステップS236で、受信バッファ26の空きを確
認する。
【0308】なお、ステップS239で、“プリンタ2
のパネル上にエラー表示”と記載したが、パネルは図1
8では記載、説明していない。しかし、通常のプリンタ
等では、“印刷可”の状態なのか“エラー”の状態なの
か“用紙なし”の状態なのか区別するために、プリンタ
2の前面か上面に、液晶パネルか状態表示ランプが設置
されているのが普通である。なお、ここでの詳細な説明
は省略する。
【0309】図29は、受信部22の動作を説明するた
めのフローチャートである。図28では、受信管理プロ
グラム61の動作を説明する際に、ついでに受信部22
の動作も説明したが、分かりやすくするために図29の
フローチャートにまとめた。もちろん、受信部22はハ
ードウェアの回路であって、通常のプログラムとは異な
るが、動作の順序をフローチャートで説明する。
【0310】ところで、第1の実施の形態の図12で説
明した受信部の動作と、図29の動作は、ほとんど同じ
なので違いのある部分だけ説明する。
【0311】第1の実施の形態の図12では、ステップ
S93で、バンド番号コマンド43を検知したかチェッ
クし、YESなら、ステップS94で、バンド番号コマ
ンド43を検知したことを、受信管理プログラム61に
知らせる形であったが、本例の図29では、この部分を
ステップS263で、イメージブロック番号コマンド9
1を検知したかチェックし、YESなら、ステップS2
64で、イメージブロック番号コマンド91を検知した
ことを、受信管理プログラム61へ知らせる形にした。
なお、その他の部分の動作は、図12と図29は全く同
じであるので、その説明は省略する。
【0312】図30は、解析プログラム62の動作を説
明するためのフローチャートである。解析プログラム6
2も、プリンタ2の電源オンと共に立ち上がり、以後、
受信部22によって書込まれた、受信バッファ26の中
のプリントコマンドの解析、および、排紙処理を行う。
【0313】まず、ステップS281で、ユーザーがプ
リンタ2を電源オフしたかチェックし、YESなら、こ
のプログラムの処理を終了する。NOなら、ステップS
282で、受信バッファ26内に受信済みのページのデ
ータがあるかチェックし、ないならばステップS281
の直前に戻りループを形成して、ホスト1からのデータ
の受信を待つ。
【0314】なお、ステップS282では、ページ管理
表83を調べることによって、受信済みのページが存在
するかどうかをチェックする。具体的には、ページ管理
表83上で、開始アドレス欄に−2がセットされている
行があるかどうかによって、受信済みページの有無をサ
ーチする。なお、ページ管理表83は、図28のフロー
チャートで説明したような動作で、受信管理プログラム
61が管理を行っている。
【0315】ステップS282でYESならば、以後、
そのページのプリントコマンドを次々と解析して処理し
てゆくわけだが、まず、ステップS283で、ページ管
理表91のデータをもとに、ライン領域管理表84を作
成する。ライン領域管理表84は、図24で説明したよ
うに、複数のイメージブロックのビデオ信号転送をイメ
ージ伸張・ビデオ転送回路23に指示する際に、必要と
なるものである。
【0316】ステップS284以降で、具体的な印刷動
作に移るわけだが、ステップS284で、エンジン部4
に給紙開始を指示して、ステップS285で用紙がある
かチェックし、用紙なしならばステップS286で、ユ
ーザーが用紙を追加セットするまで待ち、それからステ
ップS287へ飛ぶ。ステップS285でNOならば、
すなわち、用紙があるなら、そのままステップS287
へ飛ぶ。
【0317】ステップS287では、イメージ伸長・ビ
デオ転送回路23に、ビデオ信号の出力を指示する。こ
の際、ページ管理表83、ライン領域管理表84のアド
レスも、イメージ伸長・ビデオ転送回路23に知らせ
る。
【0318】ステップS288以降で、印刷された用紙
の排紙の完了を待つだけとなるが、まずステップS28
8では、排紙が完了したかチェックし、NOならば、ス
テップS292で、紙ジャム、すなわち、紙詰まりが発
生したかチェックし、NOならばステップS288の直
前に戻りループを形成して、排紙の完了まで待つ。
【0319】ステップS288で、排紙が完了したと判
断したならば、ステップS289で、受信管理プログラ
ム61に、ページ管理表83を書き換え中であることを
知らせ、ステップS290で、ページ管理表83上の排
紙済みページの記録をクリアし、ステップS291で、
受信管理プログラム61にページ管理表83の書き換え
が完了したことを知らせる。そして、ステップS281
の直前に戻って、次の受信済みページの処理を続ける。
【0320】ステップS292でYESならば、ステッ
プS293で、イメージ伸長・ビデオ転送回路23にビ
デオ信号出力の中止を指示し、ステップS294で、紙
ジャム発生をパネル表示し、ステップS295で、ユー
ザーが詰まった紙を取り除くまで待ち、取り除いたこと
がわかれば、ステップS281の直前まで戻り、もう一
度、前回処理を行った受信済みページデータのビデオ出
力、排紙処理を試みる。
【0321】なお、ステップS290では、ページ管理
表83上のページの登録をクリアしているが、受信管理
プログラム61は、この領域がクリアされていることを
チェックして、受信部22に対して新しい受信データ書
込みの限界値の指示を行う。
【0322】次に、図31,図32で、イメージ伸長・
ビデオ転送回路23の動作を説明する。イメージ伸長・
ビデオ転送回路23は、ハードウェア回路であって、プ
ログラムではないが、その動作を図31,図32のフロ
ーチャートを用いて説明する。なお、前述したように、
解析プログラム62が、イメージ伸長・ビデオ転送回路
23に指示をして、エンジン部4に対して、ビデオ信号
の出力を実行させる。イメージ伸長・ビデオ転送回路2
3の処理の中には、空白ライン領域の処理、圧縮された
ブロックイメージデータから直接の圧縮イメージデータ
の伸長と、伸長したデータからのビデオ信号出力処理の
2つが含まれる。
【0323】また、図示しないが、イメージ伸長・ビデ
オ転送回路23の中には、ブロックイメージデータか
ら、1ライン分、圧縮イメージデータを伸長した後で、
伸長したデータを取っておくための、ラインバッファが
内蔵されている。ラインバッファは、ラインバッファ
A、ラインバッファBの2本存在する。このラインバッ
ファのデータをもとに、ビデオ信号を作成してエンジン
部4に出力する。
【0324】図31で、イメージ伸長・ビデオ転送回路
23の動作を説明する。
【0325】この回路は、プリンタ2の電源オンと同時
に動作を開始するが、まず、ステップS301で、ユー
ザーがプリンタ2を電源オフしたかチェックし、YES
なら、この回路は動作を終了する。NOなら、ステップ
S302で、解析プログラム62からビデオ信号出力の
指示があったかチェックし、NOなら、ステップS30
1の直前に戻り、ループを形成して、解析プログラム6
2からの指示を待つ。
【0326】ステップS302でYESなら、ステップ
S303で、変数hに1ページの総ライン数をセット
し、ステップS304で、変数hpに1をセットする。
変数hpは、ビデオ信号を出力すべきバンド上のライン
の位置を示すカウンタである。
【0327】そして、ステップS305で、変数hpが
奇数かどうかチェックし、奇数なら、ステップS306
で、ラインバッファAを0クリアし、ステップS307
でライン領域管理表84をチェックし、ステップS30
8で、hp番目のラインは空白領域かどうかチェック
し、YESならステップS310へ飛ぶ。NOならステ
ップS309で、ライン領域管理表84、ページ管理表
83をたどり、各イメージブロックから、hp番目のラ
インに相当する1ライン分のデータを取り出し、データ
伸長して、ラインバッファAにセットする。
【0328】その後、ステップS310で、解析プログ
ラム62から、ビデオ出力中止の指示があったかチェッ
クし、YESなら、ステップS301の直前に戻ってル
ープを形成し、解析プログラム62からの次のビデオ出
力指示を待つ。
【0329】ステップS310でNOなら、ステップS
311で、エンジン部4からビデオ信号の要求があるか
チェックし、NOなら、ステップS310の直前に戻っ
てループを形成し、エンジン部4からビデオ信号の要求
があるまで待つ。
【0330】ステップS311でNOなら、ステップS
312で、ラインバッファA上のデータを、ビデオ信号
に変換してのエンジン部4への出力を開始する。これ以
降、ビデオ信号の出力作業は、本フローチャートの動作
とは別個に作業が続けられる。
【0331】そして、ステップS313で、変数hpに
1を加算し、ステップS314で変数hpが変数hより
小さいかチェックし、YESなら、ステップS305の
直前に戻って、次のラインのビデオ出力処理に移る。ス
テップS314でNOなら、このページのビデオ出力は
すべて終わったことになり、ステップS301の直前に
戻って、解析プログラム62からの次のページのビデオ
出力指示を待つ。
【0332】ステップS305でNOなら、ステップS
315で、ラインバッファBを0クリアし、ステップS
316でライン領域管理表84をチェックし、ステップ
S317で、hp番目のラインは空白領域かどうかチェ
ックし、YESならステップS319へ飛ぶ。NOなら
ステップS318で、ライン領域管理表84、ページ管
理表83をたどり、各イメージブロックから、hp番目
のラインに相当する1ライン分のデータを取り出し、デ
ータ伸長して、ラインバッファBにセットする。
【0333】その後、ステップS319で、解析プログ
ラム62から、ビデオ出力中止の指示があったかチェッ
クし、YESなら、ステップS301の直前に戻ってル
ープを形成し、解析プログラム62からの次のビデオ出
力指示を待つ。
【0334】ステップS319でNOなら、ステップS
320で、エンジン部4からビデオ信号の要求があるか
チェックし、NOなら、ステップS319の直前に戻っ
てループを形成し、エンジン部4からビデオ信号の要求
があるまで待つ。
【0335】ステップS320でYESなら、ステップ
S321で、ラインバッファB上のデータを、ビデオ信
号に変換してのエンジン部4への出力を開始する。それ
以降、ビデオ信号の出力作業は、本フローチャートの動
作とは別個に、作業が続けられる。
【0336】ステップS321の後は、ステップS31
3以降の処理を続ける。
【0337】次に、ステップS309、あるいは、ステ
ップS318のルーチンの詳細を、図32のフローチャ
ートで説明する。
【0338】まず、ステップS331で、ライン領域管
理表84上で、hp番目のライン上で、データセットし
ていないイメージブロックが残っているかチェックし、
NOなら、すなわち、全てのイメージブロックのセット
が完了したなら、このルーチンからリターンする。
【0339】YESなら、すなわち、まだセットされて
いないイメージブロックが残っているなら、そのイメー
ジブロックについて、ステップS332で、ページ管理
表83上で、目的のイメージブロック位置をサーチし、
ステップS333で、目的のイメージブロックから、h
p番目のラインに相当する1ライン分の圧縮データを取
り出し、ステップS334で、取り出した圧縮データを
データ伸長し、ステップS335で、ラインバッファ上
の相当する位置に伸長したデータをセットする。
【0340】なお、ラインバッファとは、ラインバッフ
ァAかラインバッファBのどちらかを示している。
【0341】ステップS335のあとは、ステップS3
31の直前に戻ってループを形成し、残りのイメージブ
ロックの処理に移る。
【0342】(f)ここで、本例における特徴を以下の
(1)〜(9)にまとめて列挙しておく。
【0343】(1)本例では、プリンタ2上には、イメ
ージ展開用のフレームバッファやバンドメモリを設ける
必要がないので、メモリが少なくて済み、低コストであ
る。
【0344】(2)本例では、コントローラ部3のCP
U21は、ほとんど受信バッファ26のメモリ管理を行
うだけなので、安価な製品でよく、低コスト化できる。
【0345】(3)本例では、コントローラ部3では、
バンドメモリ上にイメージを展開して、そのビデオ信号
をエンジン部4に出力するのではなく、圧縮されたイメ
ージデータを、イメージ伸長・ビデオ転送回路23に対
して、圧縮イメージデータのデータ伸長とビデオ信号へ
の変換、エンジン部4への出力を指示するだけなので、
CPU21の負荷が小さくて済む。
【0346】(4)本例では、受信バッファ26へ1ペ
ージ分のデータを受信してから、印刷を開始する。「ホ
ストベースプリンタ」のように、プリンタ2へのデータ
転送を最優先にするために、ホスト1上で、他のアプリ
ケーションがロックするというような現象は起こらな
い。
【0347】(5)本例では、ホスト1上のドライバ
は、イメージブロックとして、実際にイメージのある矩
形部分だけをプリンタ2へ送るので、転送データ量は小
さくなる。
【0348】(6)本例では、空白の領域がある場合、
その部分の空白データはプリンタ2へ転送しない。コン
トローラ部3では、空白部に相当する部分は、イメージ
伸長・ビデオ転送回路23自体が白のビデオ信号を送る
だけなので、CPU21の負荷を小さくできる。
【0349】(7)本例では、ホスト1のドライバ13
上で、フレームバッファ15の1ページ分のイメージ描
画が完了する前に、データ転送するので、その分印刷処
理時間が短縮できる。
【0350】(8)本例では、ホスト1のドライバ13
上で、イメージブロック単位に区切って、前もってデー
タ転送を行うが、データ転送後に万が一、イメージブロ
ックへの再描画が行われた場合も、前に送ったイメージ
ブロックデータをキャンセルしてから、再度イメージブ
ロックデータを転送し直すので、印字不良が生じない。
【0351】(9)本例では、ホスト1のドライバ13
上で、イメージブロック単位に処理を行って、1ページ
のイメージ描画が完了する前に、データ転送を開始して
いるが、第1の実施の形態のように、文書の形式によ
る、適、不適の差はなく、どのような文書形式でも、本
例の処理方法が有効である。
【0352】なお、上述した第1,第2の実施の形態の
変形例として、以下に列挙するような構成としてもよ
い。
【0353】まず、第1の変形例について述べる。
【0354】第2の実施の形態では、イメージブロック
の展開作業に、ハードウェアの回路であるイメージ伸長
・ビデオ転送回路23を使用していたが、その代わり
に、ソフトウェアを用いて、展開作業をしてもよい。な
お、動作の詳細は、図31,図32のフローチャートで
説明した処理と同様に行うことができる。
【0355】次に、第2の変形例について述べる。
【0356】第2の実施の形態における図31では、ス
テップS312かステップS321でビデオ信号の出力
を開始してから、次のラインバッファのデータを作成す
るわけだが、この作業は、エンジン部4からの次のビデ
オ信号要求があるまでに、完了させなければならず、迅
速な作業が求められる。
【0357】この場合、hp番目のラインにかかるイメ
ージブロックの数が、あまりに多いと、ラインバッファ
へのデータセット作業が間に合わない可能性がある。そ
こで、イメージ伸長・ビデオ転送回路23は、1つのラ
インにかかるイメージブロックの数に制限を設ける必要
がある。例えば、最大50個のイメージブロックとして
もよい。
【0358】この制限の実作業は、具体的にはドライバ
13が行う。図25,図26,図27のフローチャート
上には示されていないが、例えば、1ラインにかかるブ
ロック数を常に監視し、最大ブロック数50を超える場
合は、以前送った複数のイメージブロックをキャンセル
し、その複数のイメージブロックをまとめて1つにし、
再転送することにすればよい。
【0359】これにより、イメージ伸長・ビデオ転送回
路23自体には、最大50個のイメージブロックの制限
のための処理は不要になる。以上の制限処理により、イ
メージブロックの数が増えても、印字不良は発生しな
い。
【0360】次に、第3の変形例について述べる。
【0361】第1の実施の形態、第2の実施の形態での
プリンタ2の受信バッファ26は、“リングバッファ”
の形式になっていると説明したが、バンドデータのキャ
ンセル、あるいは、イメージブロックデータのキャンセ
ルが発生しても、特に何もしなかった。
【0362】しかし、データのキャンセルが多い場合
は、受信バッファ26上に無駄な領域が点在することに
なって良くない。1ページ分のデータ量が大きく、受信
バッファ26の大きさに近い場合に特に問題となる。
【0363】この対策としては、第1の実施の形態で
は、図11で示した受信管理プログラム61のフローチ
ャート上で、ステップS66とステップS68の間に、
「受信バッファを整理する」処理を、挿入すればよい。
この「受信バッファを整理する」とは、データのキャン
セル等で無駄になった部分について、受信済みの有効な
データを、前から順番に詰める作業のことである。当然
ながら、同時に管理表29についても、キャンセルした
バンドの削除作業以外に、有効なデータの開始アドレス
についても変更が必要になる。
【0364】また第2の実施の形態での対策としては、
図28で示した受信管理プログラム61のフローチャー
ト上で、ステップS236とステップS238の間に、
「受信バッファを整理する」処理を挿入すればよい。そ
の動作については、上記例と同様だが、ページ管理表8
3に対して、キャンセルしたイメージブロックの削除作
業と、有効なデータの開始アドレスの変更作業が入るこ
とになる。
【0365】
【発明の効果】以上説明したように、本発明によれば、
ホスト上のフレームバッファを複数のバンド領域に分
け、バンド単位の処理を前提とし、フレームバッファへ
の描画作業と同時並行して、イメージデータ圧縮作業と
データ転送作業を行うようにしたので、ドライバの全作
業時間から圧縮時間、データ転送時間を差し引くことが
でき、これにより、従来のように1ページ分の全描画が
完了するまで処理を待つ必要がなくなり、時間短縮を図
ることができる。しかも、万が一、アプリケーションか
らの描画指示が上から下へと進まない場合でも、すなわ
ち、バンド領域の再描画が発生する場合でも、転送済み
のバンドデータをキャンセルし、送り直すことによって
その処理を救済することができる。また、ホストベース
プリンタのように、アプリケーションからの描画指示を
蓄積してソーティングする必要もなくなる。従って、ホ
スト上で1ページの描画が完了するまで処理を待つ必要
がないので、その時間分だけ、高速な出力処理を行うが
可能となる。
【0366】また、本発明によれば、ホスト上で印刷を
開始する前に、アプリケーションに対して文書内容の形
式について問い合わせを行うようにしたので、最適な処
理を選択することが可能となり、これにより、ホスト上
のフレームバッファへの描画完了までの待ち時間をさら
に少なくすることが可能となる。
【0367】さらに、本発明によれば、バント単位で行
っていた処理を、比較的小さなイメージブロック単位に
して処理を行うようにしたので、印刷しようとしている
文書の形式に無関係に、ホスト上で1ページの描画が完
了するまデータ転送を待つ必要がなくなり、その時間分
だけ、さらに高速な出力処理を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態であるシステム全体
の構成を示すブロック図である。
【図2】ホスト上のドライバでの作業原理を示す説明図
である。
【図3】描画前におけるアプリケーションへの問い合わ
せを示す説明図である。
【図4】バンド管理表の説明図である。
【図5】コマンドの構造の説明図である。
【図6】管理表の説明図である。
【図7】ROMに内蔵されたプログラムの内容を示す説
明図である。
【図8】受信バッファのポインタの位置関係を示す説明
図である。
【図9】プリンタドライバの動作を説明するフローチャ
ートである。
【図10】プリンタドライバの動作を説明するフローチ
ャートである。
【図11】受信管理プログラムの動作を説明するフロー
チャートである。
【図12】受信部の動作を説明するフローチャートであ
る。
【図13】解析プログラムの動作を説明するフローチャ
ートである。
【図14】解析プログラムの動作を説明するフローチャ
ートである。
【図15】バンドのビデオ出力をする際の各変数の説明
図である。
【図16】イメージ伸長・ビデオ転送回路の動作を説明
するフローチャートである。
【図17】イメージ伸長・ビデオ転送回路の動作を説明
するフローチャートである。
【図18】本発明の第2の実施の形態であるシステム全
体の構成を示すブロック図である。
【図19】ホスト上のドライバでの作業原理を示す説明
図である。
【図20】イメージブロック管理表の説明図である。
【図21】イメージブロック管理表の説明図である。
【図22】コマンドの構造の説明図である。
【図23】ページ管理表の説明図である。
【図24】ライン領域管理表の説明図である。
【図25】プリンタドライバの動作を説明するフローチ
ャートである。
【図26】プリンタドライバの動作を説明するフローチ
ャートである。
【図27】プリンタドライバの動作を説明するフローチ
ャートである。
【図28】受信管理プログラムの動作を説明するフロー
チャートである。
【図29】受信部の動作を説明するフローチャートであ
る。
【図30】解析プログラムの動作を説明するフローチャ
ートである。
【図31】イメージ伸長・ビデオ転送回路の動作を説明
するフローチャートである。
【図32】イメージ伸長・ビデオ転送回路の動作を説明
するフローチャートである。
【符号の説明】
1 ホストコンピュータ 2 プリンタ 3 コントローラ部 4 エンジン部 12 アプリケーション 13 ドライバ 15 フレームバッファ 22 受信部 23 イメージ伸長・ビデオ転送回路 24 ROM 26 受信バッファ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H04N 1/00 107 H04N 1/00 107A 1/41 1/41 Z

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータとプリンタとの間で
    データのやりとりを行う印刷処理システムであって、 前記ホストコンピュータ側に設けられ、 イメージデータの描画が行われるフレームバッファと、 該フレームバッファ上を複数のバンド領域に分割する手
    段と、 1つの文書を印刷する際、該文書のデータを前記複数に
    分割されたバンド領域上に描画する手段と、 該描画の処理と同時並行して、該描画の終わったバンド
    領域のイメージデータを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 さらに、前記プリンタへの送出が完了したバンド領域に
    ついて再度の描画処理が行われた場合においては、該再
    度の描画処理が完了した時点で既に送出済みのバンド領
    域のイメージデータを取り消す手段と、 該再度の描画処理が完了したバンド領域についてイメー
    ジデータを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 前記プリンタ側に設けられ、 該プリンタへのコマンド群を受信する手段と、 該受信したコマンド群内のイメージ描画コマンドで指示
    された圧縮イメージデータを伸長する手段と、 該伸長したイメージデータをバンドメモリへ展開する手
    段と、 該バンドメモリ上のバンドの大きさ分のデータをエンジ
    ン部にビデオ転送する手段と、 該エンジン部でビデオ信号を用紙に転写する手段と、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのバンドメモリへの展開、および、前
    記バンドメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行う手段と
    を具えたことを特徴とする印刷処理システム。
  2. 【請求項2】 前記ホストコンピュータ側に設けられ、 印刷を行う文書が、前記バンド領域への再度の描画処理
    が多発する文書のページか否かを判断する手段と、 該再度の描画処理が多発する文書のページと判断された
    場合は、前記フレームバッファへの1ページ分の描画処
    理が全て完了した時点で、各バンド領域のイメージデー
    タを圧縮する手段と、 該圧縮されたイメージデータを前記プリンタへのイメー
    ジ描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 該プリンタへのデータ転送を完了させる手段とをさらに
    具えたことを特徴とする請求項1記載の印刷処理システ
    ム。
  3. 【請求項3】 ホストコンピュータとプリンタとの間で
    データのやりとりを行う印刷処理システムであって、 前記ホストコンピュータ側に設けられ、 イメージデータの描画が行われるフレームバッファと、 1つの文書を印刷する際、該文書のデータを前記フレー
    ムバッファ上に描画する手段と、 該描画の処理と同時並行して、前記フレームバッファの
    ある大きさの矩形領域において描画の処理が完了したか
    否かを判断する手段と、 該描画が完了したと判断された矩形領域のイメージデー
    タを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 さらに、前記プリンタへの送出が完了した矩形領域につ
    いて再度の描画処理が行われた場合においては、該再度
    の描画処理が完了した時点で既に送出済みの矩形領域の
    イメージデータを取り消す手段と、 該再度の描画処理が完了した矩形領域について重なりが
    ないように調整する手段と、 該調整後の矩形領域について、イメージデータを圧縮す
    る手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 前記プリンタ側に設けられ、 該プリンタへのコマンド群を受信する手段と、 該受信したコマンド群内のイメージ描画コマンドで指示
    された複数の矩形領域の圧縮イメージデータを伸長する
    手段と、 該伸長したイメージデータをラスタメモリへ展開する手
    段と、 該ラスタメモリ上のデータをエンジン部にビデオ転送す
    る手段と、 該エンジン部でビデオ信号を用紙に転写する手段と、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのラスタメモリへの展開、および、前
    記ラスタメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行う手段と
    を具えたことを特徴とする印刷処理システム。
  4. 【請求項4】 プリンタにデータを転送するホスト側の
    装置であって、 イメージデータの描画が行われるフレームバッファと、 該フレームバッファ上を複数のバンド領域に分割する手
    段と、 1つの文書を印刷する際、該文書のデータを前記複数に
    分割されたバンド領域上に描画する手段と、 該描画の処理と同時並行して、該描画の終わったバンド
    領域のイメージデータを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 さらに、前記プリンタへの送出が完了したバンド領域に
    ついて再度の描画処理が行われた場合においては、該再
    度の描画処理が完了した時点で既に送出済みのバンド領
    域のイメージデータを取り消す手段と、 該再度の描画処理が完了したバンド領域についてイメー
    ジデータを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    とを具えたことを特徴とする印刷処理装置。
  5. 【請求項5】 印刷を行う文書が、前記バンド領域への
    再度の描画処理が多発する文書のページか否かを判断す
    る手段と、 該再度の描画処理が多発する文書のページと判断された
    場合は、前記フレームバッファへの1ページ分の描画処
    理が全て完了した時点で、各バンド領域のイメージデー
    タを圧縮する手段と、 該圧縮されたイメージデータを前記プリンタへのイメー
    ジ描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 該プリンタへのデータ転送を完了させる手段とをさらに
    具えたことを特徴とする請求項4記載の印刷処理装置。
  6. 【請求項6】 請求項4又は5記載のホスト側の装置を
    用い、該ホスト側の装置から転送されたデータを印刷す
    る装置であって、 前記ホスト側の装置から当該装置へ転送されるコマンド
    群を受信する手段と、 該受信したコマンド群内のイメージ描画コマンドで指示
    された圧縮イメージデータを伸長する手段と、 該伸長したイメージデータをバンドメモリへ展開する手
    段と、 該バンドメモリ上のバンドの大きさ分のデータをエンジ
    ン部にビデオ転送する手段と、 該エンジン部でビデオ信号を用紙に転写する手段と、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのバンドメモリへの展開、および、前
    記バンドメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行う手段と
    を具えたことを特徴とする印刷処理装置。
  7. 【請求項7】 プリンタにデータを転送するホスト側の
    装置であって、 イメージデータの描画が行われるフレームバッファと、 1つの文書を印刷する際、該文書のデータを前記フレー
    ムバッファ上に描画する手段と、 該描画の処理と同時並行して、前記フレームバッファの
    ある大きさの矩形領域において描画の処理が完了したか
    否かを判断する手段と、 該描画が完了したと判断された矩形領域のイメージデー
    タを圧縮する手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    と、 さらに、前記プリンタへの送出が完了した矩形領域につ
    いて再度の描画処理が行われた場合においては、該再度
    の描画処理が完了した時点で既に送出済みの矩形領域の
    イメージデータを取り消す手段と、 該再度の描画処理が完了した矩形領域について重なりが
    ないように調整する手段と、 該調整後の矩形領域について、イメージデータを圧縮す
    る手段と、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換する手段と、 該変換されたコマンド群を前記プリンタに送出する手段
    とを具えたことを特徴とする印刷処理装置。
  8. 【請求項8】 請求項7記載のホスト側の装置を用い、
    該ホスト側の装置から転送されたデータを印刷する装置
    であって、 前記ホスト側の装置から当該装置へ転送されるコマンド
    群を受信する手段と、 該受信したコマンド群内のイメージ描画コマンドで指示
    された複数の矩形領域の圧縮イメージデータを伸長する
    手段と、 該伸長したイメージデータをラスタメモリへ展開する手
    段と、 該ラスタメモリ上のデータをエンジン部にビデオ転送す
    る手段と、 該エンジン部でビデオ信号を用紙に転写する手段と、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのラスタメモリへの展開、および、前
    記ラスタメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行う手段と
    を具えたことを特徴とする印刷処理装置。
  9. 【請求項9】 ホストコンピュータとプリンタとの間で
    データのやりとりを行う印刷処理方法であって、 前記ホストコンピュータ側において、 イメージデータの描画が行われるフレームバッファ上を
    複数のバンド領域に分割し、 1つの文書を印刷する際、該文書のデータを前記複数に
    分割されたバンド領域上に描画を行い、 該描画の処理と同時並行して、該描画の終わったバンド
    領域のイメージデータを圧縮し、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換し、 該変換されたコマンド群を前記プリンタに送出し、 さらに、前記プリンタへの送出が完了したバンド領域に
    ついて再度の描画処理が行われた場合においては、該再
    度の描画処理が完了した時点で既に送出済みのバンド領
    域のイメージデータを取り消し、 該再度の描画処理が完了したバンド領域についてイメー
    ジデータを圧縮し、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換し、 該変換されたコマンド群を前記プリンタに送出し、 そして、前記プリンタ側において、 該プリンタへ転送されたコマンド群を受信し、 該受信したコマンド群内のイメージ描画コマンドで指示
    された圧縮イメージデータを伸長し、 該伸長したイメージデータをバンドメモリへ展開し、 該バンドメモリ上のバンドの大きさ分のデータをエンジ
    ン部にビデオ転送し、 該エンジン部でビデオ信号を用紙に転写し、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのバンドメモリへの展開、および、前
    記バンドメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行うことを
    特徴とする印刷処理方法。
  10. 【請求項10】 前記ホストコンピュータ側において、 印刷を行う文書が、前記バンド領域への再度の描画処理
    が多発する文書のページか否かを判断し、 該再度の描画処理が多発する文書のページと判断された
    場合は、前記フレームバッファへの1ページ分の描画処
    理が全て完了した時点で、各バンド領域のイメージデー
    タを圧縮し、 該圧縮されたイメージデータを前記プリンタへのイメー
    ジ描画コマンドに変換し、 該変換されたコマンド群を前記プリンタに送出し、 該プリンタへのデータ転送を完了させることを特徴とす
    る請求項9記載の印刷処理方法。
  11. 【請求項11】 ホストコンピュータとプリンタとの間
    でデータのやりとりを行う印刷処理方法であって、 前記ホストコンピュータ側において、 1つの文書を印刷する際、該文書のデータを、イメージ
    データの描画が行われるフレームバッファ上に描画し、 該描画の処理と同時並行して、前記フレームバッファの
    ある大きさの矩形領域において描画の処理が完了したか
    否かを判断し、 該描画が完了したと判断された矩形領域のイメージデー
    タを圧縮し、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換し、 該変換されたコマンド群を前記プリンタに送出し、 さらに、前記プリンタへの送出が完了した矩形領域につ
    いて再度の描画処理が行われた場合においては、該再度
    の描画処理が完了した時点で既に送出済みの矩形領域の
    イメージデータを取り消し、 該再度の描画処理が完了した矩形領域について重なりが
    ないように調整し、 該調整後の矩形領域について、イメージデータを圧縮
    し、 該圧縮したイメージデータを前記プリンタへのイメージ
    描画コマンドに変換し、 該変換されたコマンド群を前記プリンタに送出し、 前記プリンタ側において、 該プリンタへ転送されたコマンド群を受信し、 該受信したコマンド群内のイメージ描画コマンドで指示
    された複数の矩形領域の圧縮イメージデータを伸長し、 該伸長したイメージデータをラスタメモリへ展開し、 該ラスタメモリ上のデータをエンジン部にビデオ転送
    し、 該エンジン部でビデオ信号を用紙に転写し、 さらに、1ページ分のコマンド群を受信した時点で、前
    記イメージデータのラスタメモリへの展開、および、前
    記ラスタメモリのエンジン部へのビデオ転送、および、
    前記エンジン部でのビデオ信号の用紙への転写を繰り返
    すことによって、ページ単位の用紙の出力を行うことを
    特徴とする印刷処理方法。
JP9129884A 1997-05-20 1997-05-20 印刷処理システム、印刷処理装置ならびに、印刷処理方法 Pending JPH10320152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9129884A JPH10320152A (ja) 1997-05-20 1997-05-20 印刷処理システム、印刷処理装置ならびに、印刷処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9129884A JPH10320152A (ja) 1997-05-20 1997-05-20 印刷処理システム、印刷処理装置ならびに、印刷処理方法

Publications (1)

Publication Number Publication Date
JPH10320152A true JPH10320152A (ja) 1998-12-04

Family

ID=15020728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9129884A Pending JPH10320152A (ja) 1997-05-20 1997-05-20 印刷処理システム、印刷処理装置ならびに、印刷処理方法

Country Status (1)

Country Link
JP (1) JPH10320152A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165916A (ja) * 2004-12-06 2006-06-22 Ricoh Co Ltd ドキュメント処理装置
JP2006326857A (ja) * 2005-05-23 2006-12-07 Canon Inc 記録装置及び該装置の制御方法
JP2012133485A (ja) * 2010-12-20 2012-07-12 Seiko Epson Corp 印刷制御装置、印刷制御方法及びそのプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165916A (ja) * 2004-12-06 2006-06-22 Ricoh Co Ltd ドキュメント処理装置
JP4488206B2 (ja) * 2004-12-06 2010-06-23 株式会社リコー ドキュメント処理装置
JP2006326857A (ja) * 2005-05-23 2006-12-07 Canon Inc 記録装置及び該装置の制御方法
JP4603933B2 (ja) * 2005-05-23 2010-12-22 キヤノン株式会社 記録装置
JP2012133485A (ja) * 2010-12-20 2012-07-12 Seiko Epson Corp 印刷制御装置、印刷制御方法及びそのプログラム

Similar Documents

Publication Publication Date Title
JP3478670B2 (ja) 印刷制御装置と印刷装置及びそれらの方法と印刷システム
US7262877B2 (en) Image input-output apparatus and method therefor
JP3792823B2 (ja) 印刷装置及び印刷制御装置
JPH06149494A (ja) 印刷情報処理方法および装置
JPH11305975A (ja) 画像処理装置、画像処理方法及び記憶媒体
JP3466808B2 (ja) 画像処理装置及び方法
US6154779A (en) Method and apparatus for storing received data in association with correlated index information
US5522028A (en) Output apparatus
US20010013926A1 (en) Image forming apparatus
US6128096A (en) Printing system
US5422985A (en) Output method
JPH10222319A (ja) 印刷装置及び印刷制御方法
US6016155A (en) Character processing apparatus, character processing method, and memory
JPH10320152A (ja) 印刷処理システム、印刷処理装置ならびに、印刷処理方法
JP2006263969A (ja) 画像処理装置及び印刷ジョブ生成装置ならびに画像処理システム
US6166824A (en) Print data processing and compression apparatus
JP3814373B2 (ja) 情報処理装置及び印刷制御装置及び方法とプログラム記憶媒体
JP3509840B2 (ja) ページプリンタ
US20020057463A1 (en) Image filing apparatus
JPH05224846A (ja) 印刷記録装置
JPH05270055A (ja) 画像記録方法及び装置及び情報処理方法
JPH09240075A (ja) 印刷装置とその方法及び印刷システム
JP2755315B2 (ja) 印刷制御装置
JP2715475B2 (ja) 図形出力装置
JPH08241178A (ja) 印刷システム