JP3478670B2 - 印刷制御装置と印刷装置及びそれらの方法と印刷システム - Google Patents

印刷制御装置と印刷装置及びそれらの方法と印刷システム

Info

Publication number
JP3478670B2
JP3478670B2 JP15698396A JP15698396A JP3478670B2 JP 3478670 B2 JP3478670 B2 JP 3478670B2 JP 15698396 A JP15698396 A JP 15698396A JP 15698396 A JP15698396 A JP 15698396A JP 3478670 B2 JP3478670 B2 JP 3478670B2
Authority
JP
Japan
Prior art keywords
page
image data
data
block
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP15698396A
Other languages
English (en)
Other versions
JPH10830A (ja
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.)
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 JP15698396A priority Critical patent/JP3478670B2/ja
Priority to US08/870,699 priority patent/US6304335B1/en
Priority to DE69736375T priority patent/DE69736375D1/de
Priority to EP97109853A priority patent/EP0814598B1/en
Publication of JPH10830A publication Critical patent/JPH10830A/ja
Application granted granted Critical
Publication of JP3478670B2 publication Critical patent/JP3478670B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32625Fault detection
    • H04N1/32635Fault detection of reproducing apparatus or receiver, e.g. out of paper
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32651Indicating or reporting
    • H04N1/32662Indicating or reporting remotely, e.g. to the transmitter from the receiver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/329Storage of less than a complete document page or image frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イメージデータを
出力する印刷制御装置と印刷装置及びそれらの方法と印
刷システムに関する。
【0002】
【従来の技術】従来、イメージ出力に特化したページプ
リンタは、「ホストベースプリンタ」と呼ばれている。
この種のプリンタでは、ホストコンピュータ上で展開し
た1ページ分のイメージデータを、ページ先頭から次々
に圧縮してプリンタのコントローラ部に送り、コントロ
ーラ部は送られてくる圧縮データを次々に伸長し、伸長
したデータをビデオ信号に変換して、エンジン部の排紙
のタイミングに同期させて、エンジン部に出力する。こ
れによって1ページ分の用紙の印刷を行なう。
【0003】通常、コントローラ部の持っている受信バ
ッファは、1ページ分の何分の一かの大きさしかなく、
このため、ホストコンピュータから送るデータと、エン
ジンの用紙排出のタイミングは、厳密に同期させる必要
がある。つまり、処理が始まると、特に能力の低いホス
トコンピュータでは、印刷データの送信に専念して、他
のアプリケーションの動作がロックするという欠点があ
る。
【0004】一方、圧縮されたイメージデータのビデオ
信号への変換と、エンジン部へのビデオ信号出力は、ハ
ードウェア回路が行なう仕組みとなっており、極端に言
えば、コントローラ部には、CPUも不要であり、非常
に安価なページプリンタが可能という長所もある。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来のホストベースプリンタでは、エンジンの用紙出力と
同期させるために、ホスト上でアプリケーション動作が
ロックする、という欠点に加えて、例えば、1ページ内
に大きな写真等がある場合のようにハーフトーン部分を
多量に含んだデータなどは、イメージのデータ圧縮を行
ってもデータ量が巨大なままなので、ホストコンピュー
タからのデータの転送が、エンジンからの用紙出力に間
に合わずに、用紙の途中から印刷が途切れる「プリント
オーバーラン」の現象が発生するという欠点もある。
【0006】 本発明は上記問題点に鑑みてなされたも
ので、構成を簡単にしてコストを抑えつつ、大きなイメ
ージデータを出力する際にもプリントオーバーラン発生
を防止することができる印刷制御装置、印刷装置及び印
刷制御方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明はつぎのような構成から成る。すなわち、圧
縮されたイメージデータを受信しブロックごとに復号
して印刷出力する印刷装置と接続された印刷制御装置で
あって、1ページのイメージデータを圧縮して前記印刷
装置に順次送信する送信手段と、前記送出手段により送
出されている1ページのイメージデータが所定サイズを
越えたか判定する判定手段と、前記判定手段により所定
サイズを越えたと判定された場合、該所定サイズのイメ
ージデータを1つのブロックとし、残りのイメージデー
タを第2の所定サイズごとのブロックに区切って前記送
信手段により送信させる制御手段とを備える。
【0008】 さらに好ましくは、前記送信手段は、前
記イメージデータを1ラインごとに順次圧縮して送信す
る、または前記イメージデータを1ページ分圧縮し、圧
縮されたイメージデータをラインごとに順次送信する。
【0009】 または、本発明はつぎのような構成から
成る。すなわち、ページ単位のイメージデータをブロッ
クごとに受信して印刷出力する印刷装置であって、受信
したブロックごとのイメージデータを記憶領域に格納す
る格納手段と、前記格納手段により格納しようとする1
ページのイメージデータが、前記記憶領域の容量を越え
るかを判定する判定手段と、前記判定手段により1ペー
ジのイメージデータが前記記憶領域の容量を越えると判
定された場合、当該ページに含まれる、既に格納されて
いるブロックの印刷処理を開始する制御手段と、イメー
ジデータに基づいて印刷出力する印刷手段と、残りのイ
メージデータを格納するために、前記記憶領域を整理し
て空き領域を確保する手段とを備える。
【0010】 または、本発明はつぎのような構成から
成る。すなわち、1ページのイメージデータを印刷装置
に転送する印刷制御装置であって、圧縮された1ページ
分のイメージデータのサイズが所定サイズより大きいか
どうかを判定する判定手段と、前記判定手段により大き
いと判定される場合、1ページ分のイメージデータを、
前記所定サイズに基づくブロックと第2の所定サイズに
基づくブロックとに区切る手段と、前記区切られたブロ
ックごとのイメージデータを前記印刷装置に転送する転
送手段とを有する。
【0011】 さらに好ましくは、前記印刷装置は、圧
縮された1ページのイメージデータを受信する前に、前
記所定サイズのブロックのイメージデータの処理を開始
する。
【0012】 さらに好ましくは、前記所定のサイズ
は、前記印刷装置の受信バッファの容量に基づく。
【0013】 さらに好ましくは、前記転送手段は、ブ
ロック開始コマンドを前記印刷装置に転送した後、イメ
ージデータを前記印刷装置に転送する。
【0014】
【発明の実施の形態】
[第1の実施形態]次に、図を用いて、第1の実施形態
の印刷システムを説明する。 <印刷システムの構成>図1は、システム全体を説明す
るためのブロック構成図である。1は、圧縮されたイメ
ージデータを送るホストコンピュータとしてのパソコン
である。パーソナルコンピュータ1は、イメージデータ
をプリンタに送り付ける制御等、装置全体を制御するC
PU103と、プログラムやデータ等を格納する主メモ
リと、プログラムファイルやデータファイル等を格納し
ておく2次記憶104と、プリンタ100と接続するた
めのインターフェース101と、オペレータに対する表
示/操作を行なわせるためのキーボード105とディス
プレイ106とを含む。また、イメージを展開するため
のフレームメモリは主メモリ102に含まれる。
【0015】プリンタ100においては、2は、プリン
タ100内のコントローラ部、3はプリンタ内のエンジ
ン部を示している。コントローラ部2は、ホストコンピ
ュータ1から送られてくるイメージデータを受信し、受
信したデータからビデオ信号を生成し、エンジン部3に
送る役目を負っている。エンジン部3は、コントローラ
部2から受け取ったビデオ信号を用紙に転写して印刷
し、排紙する役目を持つ。
【0016】コントローラ部2は、コントローラ部2全
体を制御する中央処理装置(以下CPUと呼ぶ)4、C
PU4による処理動作を記述したプログラムの入ってい
るリード・オンリ・メモリ(以下ROMと呼ぶ)7、ラ
ンダム・アクセスメモリ(以下RAMと呼ぶ)8、ホス
ト1からイメージデータを受信し、受信したデータをR
AM8内にある受信バッファ9にセットする受信部5、
受信バッファ9内のイメージデータを伸長してビデオ信
号に変換して、エンジン部3に出力するイメージ伸長・
ビデオ転送回路6等で構成されている。
【0017】その他、RAM8内には、プログラムのワ
ーク領域11、さらにその中には、受信バッファ9部に
受信したページやバンドごとのイメージデータを管理す
るための管理表12が含まれている。
【0018】コントローラ部2のCPU4は、RAM8
の内部の受信バッファ9や管理表12など、メモリ管理
を行なうだけなので、処理能力のそれほど高くない、安
価な製品で良い。
【0019】次に、エンジン部3の説明を行なう。エン
ジン部3にも、CPU15やメモリ16があり、メモリ
16には制御プログラムの入ったROM17や、プログ
ラムのワーク領域としてのRAM18が含まれる。ビデ
オ受信部19は、コントローラ部2からのビデオ信号を
受信し、現像定着部21で用紙に画像を転写する。給紙
部20は、未使用の白い用紙を用紙カセットなどから取
り込む役目をし、現像定着部21は、上述のように用紙
に画像を転写して定着し、排紙部22は印刷済みの用紙
を排出する。
【0020】なお、太い矢印は、イメージデータやビデ
オ信号の流れ、あるいは、エンジン部3では、用紙の流
れを示している。また、コントローラ部2のCPU4
と、エンジン部3のCPU15は、互いに情報のやり取
りを行なう。印刷処理の制御にかかわるやり取りであ
る。
【0021】図27に、プリンタ100の一例であるレ
ーザビームプリンタの断面図を示す。図において、74
0はLBP本体であり、供給される文字パターン等を基
に、記録媒体である記録紙上に像を形成する。700は
操作のためのスイツチ及びLED表示器などが配されて
いる操作パネル、701は後述する手順に従ってLBP
740全体の制御を行うコントローラ部2である。
【0022】レーザドライバ702は半導体レーザ70
3を駆動するための回路であり、入力されたビデオ信号
に応じて半導体レーザ703から発射されるレーザ光7
04をオン・オフ切替えする。レーザ光704は回転多
面鏡705で左右方向に振られて静電ドラム706上を
走査する。これにより、静電ドラム706上には文字パ
ターンの静電潜像が形成される。この潜像は静電ドラム
706周囲の現像ユニツト707により現像された後、
記録紙に転写される。この記録紙にはカツトシートを用
い、カツトシート記録紙はLBP740に装着した用紙
カセツト708に収納され、給紙ローラ709及び搬送
ローラ710と711とにより装置内に取込まれて、静
電ドラム706に供給される。 <巨大イメージデータの印刷処理の概要>図2は、巨大
なイメージデータを持ったページの印刷を行なうときの
原理の説明図である。
【0023】図2において、(a)は、受信バッファが
標準で2MBしかないのに、1ページのイメージデータ
が、ドライバでデータ圧縮しても2MBに入りきらない
ことを示している。つまり、確実に「プリントオーバー
ラン」を発生させずに印刷するには、1ページ分のデー
タが2MBの受信バッファにすべて受信されてから、エ
ンジンへのビデオ信号の転送を開始する必要があるが、
この場合は、イメージデータが大きすぎて入りきらない
ことを示している。この場合例えば、ユーザに対して、
ホストコンピュータの画面上に「データが大きすぎて印
刷できません」と表示して、印刷そのものを行なわない
ことも考えられる。
【0024】しかし、巨大なイメージであっても、なる
べく印刷するよう努力するのが、本発明に係る印刷しス
テムの方法である。右の図に示したのがそれで、まずド
ライバは、ホストコンピュータ1上のフレームメモリに
展開した生の1ページイメージデータを、ページ先頭か
ら圧縮作業を行いながら連続的にプリンタ100にデー
タ転送する。その際、転送データ量をカウントしなが
ら、データ転送を行なう。場合によっては、途中でバン
ドに分けながら転送を行なう。
【0025】まず、初めの約1MBまでは、その大きさ
のバンドとして単純にプリンタに送るが、約1MBをす
ぎた段階でバンドを区切って、約100KBの大きさの
バンドに小分けして、プリンタに圧縮データを送る。そ
の後、この約100KBごとのバンド転送処理をページ
終了まで続ける。
【0026】プリンタのコントローラ2側は、先頭の約
1MBのバンドから、連続的に送られてくる約100K
Bのバンドまで、途切れることなくビデオ信号に変換し
てエンジン側に出力する。なお、この際、イメージ伸長
・ビデオ転送回路6を用いて、ビデオ転送を行なうこと
になるが、方式としては、コントローラのCPU4は、
受信バッファ9内のバンドデータの開始位置、及び、そ
の大きさを、イメージ伸長・ビデオ転送回路6に指示す
ることで、ビデオ転送をまかせる形になる。そして、エ
ンジン3側の用紙搬送と同期させるために、回路から次
のバンドの要求があればCPU4はただちに、次のバン
ドの開始位置、及び、大きさを指示しなければならな
い。このように、バンド位置を次々に指示する必要があ
るために、イメージデータの後半は、約100KBのバ
ンドに小分けされている。
【0027】なお、この次々とバンド位置を指示する処
理が間に合わなくなったときは、「プリントオーバーラ
ン」発生を意味していて、ホストコンピュータ1の画面
上にもデータが大きすぎます。正常に印刷できません」
と表示される。
【0028】また、先頭のバンドは、約1MBとした理
由は、600dpiの解像度と仮定しても、多くの文書
の場合、圧縮した後では、1ページがせいぜい500K
Bか600KBにしかならないのが通例で、その時は1
ページが1バンドとして簡単に処理できるからである。
つまり、CPUが、そのページについてバンドの開始位
置と大きさを、イメージ伸長・ビデオ転送回路に知らせ
るのは、ただの一度で済むわけである。 <イメージデータの構造>次に、ホストコンピュータ1
からプリンタ100に転送されるイメージデータの流れ
を説明する。以下の説明では、上記の「バンド」を「ブ
ロック」といって説明する場合もあるが、内容として
は、同一のものを示している。
【0029】図3は、ページあたりのデータ量が、受信
バッファの大きさより十分小さい場合の、データの流れ
を説明する図である。ホストコンピュータ1から、圧縮
されたイメージデータが複数ページ分送られる。ホスト
1から送られた複数ページ部のデータは、受信部5によ
り受信バッファ9にセットされる。
【0030】そして、受信した先頭のページから、イメ
ージ伸長・ビデオ転送回路6で、エンジン部3ヘビデオ
信号が出力され、複数ページの印刷が完了する。なお、
印刷済みのページデータは、受信バッファから削除さ
れ、次のページデータの受信のセット位置に使われる。
【0031】なお、ビデオ転送作業は、1ページ分のデ
ータが蓄積された時点で、ただちに開始される。受信作
業とビデオ転送作業は、同時平行で処理が行われる。
【0032】図4は、ページあたりのデータ量が、受信
バッファの大きさより大きい場合の、データの流れを説
明する図である。ホスト1から圧縮されたイメージデー
タが、各ブロックに分けられて送られる。ホスト1か
ら、送られた4ブロック分のデータは、受信部5によ
り、受信バッファ9にセットされる。
【0033】そして、受信バッファがいっぱいになった
時点で、受信した先頭の第1ブロックから、イメージ伸
長・ビデオ転送回路6で、エンジン部3へビデオ信号が
出力され、ビデオ転送の完了したブロックは、受信バッ
ファ上から削除される。削除された受信バッファの上の
位置には、次に続く第5ブロック、第6ブロック、第7
ブロック等がセットされる。
【0034】第1のブロックのビデオ転送とデータ削除
の後には、第2ブロック、第3ブロック、第4ブロッ
ク、のビデオ転送とデータ削除が続く。
【0035】上記ビデオ転送とデータ削除作業、及び、
次のブロックのデータ受信作業は、同時並行して行わ
れ、この連続作業がページの最後のブロックまで順調に
続けば、巨大なイメージのページも出力できることにな
る。途中でブロックデータの受信が間に合わなくなれ
ば、プリントオーバーランの発生を意味している。
【0036】図5は、通常の大きさのページの場合の、
ホスト1からプリンタへ送られるイメージデータのコマ
ンド構造の説明図である。先頭には、ページ開始コマン
ド31、次にブロック開始コマンド32、そして、1ペ
ージ目のイメージの圧縮データ33、さらに、ページ開
始コマンド31、ブロック開始コマンド32、2ページ
目のイメージの圧縮データ33、と各ページが続き、最
後にジョブ終了コマンド34で終わる。つまり、1ペー
ジ1ブロックで構成されている。
【0037】図6は、巨大イメージページの場合、ホス
ト1からプリンタへ送られるイメージデータのコマンド
構造の説明図である。先頭には、ページ開始コマンド3
1、次にブロック開始コマンド32、そして、第1ブロ
ックのイメージの圧縮データ33、さらに、ブロック開
始コマンド32、第2ブロックのイメージの圧縮データ
33、と各ブロックが続き、最後にジョブ終了コマンド
34で終わる。つまり、1ページが複数ブロックで構成
されている。
【0038】図6では、ひとつのジョブが1ページで構
成されている場合を示したが、ひとつのジョブが複数ペ
ージで構成されている場合は、図5で示したように、複
数のページ開始コマンド31で区切られることになる。
【0039】図7は、各コマンドの具体的なコードの説
明図である。
【0040】ページの開始コマンド31は、先頭に00
hがあり、その後に01hが4バイト続く。
【0041】ブロック開始コマンド32は、先頭に00
hがあり、その後に02hが4バイト続く。1ページ1
ブロックのページの場合も、ブロック開始コマンド32
は必ず使用される。
【0042】イメージの圧縮データ33は、パックビッ
ツ方式など、連続した4バイトの同一バイトコードは有
り得ない圧縮方式を用いる。パックビッツ圧縮方式につ
いては、公知の技術なので、ここでは改めて説明するこ
とは省く。
【0043】最後に、ジョブ終了コマンド34は、先頭
が00hで、その後に08hが4バイト続く。
【0044】また、ホスト1が、途中まで転送したイメ
ージデータを、何らかの理由で印刷出力したくないとき
は、ホスト1は、コマンドの最後を表わす、ジョブ終了
コマンド34の代わりに、ジョブクリアコマンド35を
つける。ジョブクリアコマンド35は、先頭が00h
で、その後09hが4バイト続く。 <コントロールプログラム>図8は、コントローラ部2
のROM7に内蔵されている、プログラムを説明するた
めの図である。
【0045】41は、受信バッファ管理プログラムで、
受信バッファ9に貯蔵される各ページやブロックのイメ
ージデータを、管理表12を用いて管理する。受信部5
への、受信データの樹脂ナバッファ9上の書き込み位置
の指示も行なう。
【0046】通常ページ排紙処理プログラム42は、受
信バッファ9に貯蔵されている各ページやブロックのイ
メージデータを、イメージ伸長・ビデオ転送回路6を用
いて、エンジン部3へビデオ出力する動作を行なう。
【0047】ここで通常ページとは、圧縮後1ページの
データ量が、受信バッファ9の大きさより小さくて、受
信バッファ内に1ページ分のデータが全てセットされて
いる状態を言う。1ページが複数のブロックに分れてい
ても、受信バッファ9に1ページ分のデータがすべてセ
ットされているならば、これも通常ページという。
【0048】巨大ページ排紙処理プログラム43は、受
信バッファ9に貯蔵されている1ページの中の各ブロッ
クのイメージデータを、イメージ伸長・ビデオ転送回路
6を用いて、エンジン部3へビデオ出力する動作を行な
う。
【0049】ここで、巨大ページとは、圧縮後の1ペー
ジのデータ量が、受信バッファ9の大きさより大きく
て、受信バッファ内に1ページ分のデータがおさまり切
らない状態を言う。
【0050】なお、このふたつのプログラムは、プリン
タの電源オンと同時に立ち上がり、ホスト1からデータ
送信を待ち構えることになる。以後、プリンタの電源オ
フまで、ふたつのプログラムは、マルチタスクで動作を
続ける。
【0051】ただし、通常ページ排紙処理プログラム4
2は、受信バッファ9の中の受信データを自分自身でチ
ェックして、エンジン部3へのページビデオ信号出力を
判断するが、巨大ページ排紙処理プログラム43は、受
信バッファ管理プログラム41の指示に従って、巨大イ
メージページの、ブロックのビデオ信号のエンジン部3
への出力を行なう。 <管理表の構造>図9は、通常ページの場合を例にとっ
て、管理表12の構造を説明するための図である。この
表では、番号51が、1から100までふられていて、
最大100ブロック分の受信したイメージデータが管理
できることになっている。
【0052】ブロック開始位置52は、各ブロックのデ
ータの受信バッファ9上の開始アドレスを示している。
ジョブが終了した場合は、ジョブの終了位置がセットさ
れる。厳密に言えば、“ジョブの最後のデータの位置+
1”である。これは、ジョブの最後のブロックの大きさ
を計算するために必要なものである。
【0053】ページ番号53は、その行のブロックデー
タが、あるジョブの何ページ目に所属するのか、を区別
するためのものである。その行がジョブの終了位置を示
しているのであれば、ページ番号53の欄には−1がセ
ットされる。また、データがない場合は、0がセットさ
れている。また、あるブロックがビデオ転送済みで受信
バッファ9からデータ削除される場合は、ページ番号5
3に0がセットされる。削除時には、この欄に0がセッ
トされるだけで、受信バッファ9上で、削除部分が0ク
リアされるわけではない。
【0054】受信状態54の欄は、そのページデータ
が、受信を完了したものか、受信中なのかを区別するも
ので、受信完了なら1、受信中なら0である。
【0055】図9の例では、先頭に1ページ1ブロック
のわりと小さなジョブが有り、2番目のジョブは、1ペ
ージ目は1ページ1ブロックの小さなデータだったが、
2ページ目は3ブロックに分割されていて、受信バッフ
ァ9の大きさより少し小さいだけのページデータだった
ことがわかる。そして、3番目のジョブは、現在1ペー
ジ目の第2ブロックが受信中であることを示している。
大きなページデータになる可能性がある。
【0056】図10は、巨大ページの場合を例にとっ
て、管理表12の構造を説明するための図である。図9
との違いは、ページ番号53の欄に、ブロックの区切り
を表わす、−2が入ったことである。−2のセットされ
た行では、ブロックの開始位置52の欄には、ブロック
の終了位置がセットされる。厳密には、“ブロックの最
後のデータ位置+1”である。これは、図10の例で
は、1ページの第6ブロックの受信バッファ9上のデー
タ位置と、1ページの第7のブロックの受信バッファ9
上のデータ位置が連続していないので、第6のブロック
のデータの大きさを調べるには、そのブロックの終了位
置を記録しておかなければならないためである。
【0057】ちなみに、第7のブロックの受信バッファ
9上の位置は、1ページの第1のブロックがビデオ転送
されて削除された、受信バッファ9の先頭位置である。
その位置に、第7ブロック、第8ブロックと受信、セッ
トされていく。
【0058】なお、図10の場面は、1ページの第2ブ
ロックがビデオ転送中かビデオ転送を待っており、同時
に第8ブロックがデータ受信中であることを示してい
る。 <受信部5の動作の概要>図11は、受信部5の動作の
説明図である。受信部5の中には、受信を高速化するた
めに、4バイトのFIFO(ファーストイン・ファース
トアウト)バッファが内蔵されており、ホスト1から送
られてくるイメージデータは、いったんこのFIFOバ
ッファに蓄えられてから、受信バッファ管理プログラム
41から指示された受信バッファ9上の書き込み位置へ
書き込まれる。
【0059】次に順を追って受信動作を説明する。受信
部5はハードウェア回路で構成された電子回路で有り、
プログラムをCPU4が処理して具体的な受信動作をさ
せているわけではない。よって、高速に受信動作が行え
る構造になっている。
【0060】まず、1)で、ホスト1から1バイトデー
タ01hが送られてくる。すると、受信部5は、FIF
Oバッファの3の位置にその1バイトをセットする。
【0061】次に2)で、ホスト1から2バイト目のデ
ータ02hが送られてくる。FIFOバッファ上の3の
位置にあった01hを、2の位置に移動して、送られて
きた02hのデータを3の位置にセットする。そして、
2の位置の01hと3の位置の02hを比較して、一致
しないので、2の位置の01hを受信バッファ9に書き
込み、2の位置の01hのデータを削除する。
【0062】3)では、3の位置にあった02hを2の
位置に移動して、新しくホスト1から送られてきた1バ
イトデータ03hを3の位置にセットする。そして、2
の位置の02hと3の位置の03hを比較して、一致し
ないので、2の位置の02hを受信バッファに書き込
み、2の位置の02hデータを削除する。
【0063】4)では、3の位置にあった03hを2の
位置に移動して、新しくホスト1から送られてきた1バ
イトデータ03hを3の位置にセットする。そして、2
の位置の03hと3の位置の03hを比較したが、一致
したので何もしない。
【0064】5)では、2の位置、3の位置にあった0
3hを、それぞれ1の位置、2の位置に移動して、ホス
ト1から新たに送られてきた1バイトデータの03hを
3の位置にセットする。そして、2の位置の03hと3
の位置の03hを比較したが、一致したので何もしな
い。
【0065】6)では、1の位置、2の位置、3の位置
にあった03hを、それぞれ0の位置、1の位置、2の
位置に移動して、ホスト1から新たに送られてきた1バ
イトデータの04hを、3の位置にセットする。そし
て、2の位置の03hと3の位置の04hを比較して、
一致しないので、0の位置、1の位置、2の位置の03
hを受信バッファに書き込み、0の位置、1の位置、2
の位置の03hデータを削除する。
【0066】7)では、3の位置にあった04hを2の
位置に移動して、新しくホスト1から送られてきた1バ
イトデータ04hを3の位置にセットする。そして、2
の位置の04hと3の位置の04hを比較したが、一致
したので何もしない。
【0067】8)では、2の位置、3の位置にあった0
4hを、それぞれ1の位置、2の位置に移動して、ホス
ト1から新たに送られてきた1バイトデータの04hを
3の位置にセットする。そして、2の位置の04hと3
の位置の04hを比較したが、一致したので何もしな
い。
【0068】9)では、1の位置、2の位置、3の位置
にあった04hを、それぞれ0の位置、1の位置、2の
位置に移動して、ホスト1から新たに送られてきた1バ
イトデータの04hを3の位置にセットする。そして、
2の位置の04hと3の位置の04hを比較して、それ
が一致し、しかも、0の位置、1の位置、2の位置、3
の位置の4バイトとも04hと同一の値になったので、
CPU4へ「4バイトの連続データを受信したこと。デ
ータは04hであること」を知らせる。そして、4バイ
トのFIFOバッファをすべてクリアし、10)の状態
となる。
【0069】まとめると、受信部5は、「受信した1バ
イトごとのデータに違いが有れば、先頭から受信バッフ
ァ9に書き込み、一致すればFIFOバッファに貯え、
一致したデータの貯えが4バイトに達すれば、CPU4
に通知してクリアする」という原則で動作している。
【0070】図7で説明したように、ホスト1から送ら
れてくるイメージデータは、パックビッツ方式など連続
した4バイトデータはありえない圧縮方式を用いてお
り、4バイト連続データは、ページの開始や、ジョブの
終了、ジョブのクリア、等に限定できるので、図11で
説明した受信部の動作によって、完全な受信作業が高速
に行えることになる。
【0071】次に、本発明の第1の実施形態の動作をフ
ローチャートを用いて説明する。 <プリンタドライバの動作>図12,図13は、ホスト
1上のプリンタドライバの動作を説明するフローチャー
トである。プリンタドライバは、ユーザーが用いるアプ
リケーションソフトで作成した文書データから、図5、
図6、図7で説明したプリンタへ転送するイメージのプ
リンタコマンドを作成する役目を持つ。ユーザーがアプ
リケーションソフトから文書の印刷を指示すると、ホス
ト1内でプリンタドライバが起動される。
【0072】まず、ステップS1で、文書ページ数を変
数mにセットし、ステップS2で変数nに1をセットす
る。そして、ステップS3で変数nが変数mより大きい
かチェックし、つまり、すべての文書の処理が終わった
かチェックし、終わったと判断されたなら、ステップS
4でジョブ終了コマンド34をプリンタへ転送して、こ
のプログラムを終了する。
【0073】ステップS3で、文書の処理が残っている
と判断されたなら、ステップS5でホスト1内のフレー
ムメモリ上に、nページ目の印刷イメージを展開し、ス
テップS6でページ開始コマンド31をプリンタへ転送
し、ステップS7でブロック開始コマンド32もプリン
タへ転送し、ステップS8で、変数bに0をセットし、
変数cに巨大イメージデータと判定する基準となる大き
さ、この場合には1MBをセットし、ステップS9でラ
インカウンタを0クリアする。
【0074】そして、ステップS10で、ラインカウン
タ位置の1ラインをデータ圧縮し、ステップS11で圧
縮データをプリンタへ転送する。その後、ステップS1
2では、プリンタから「プリンタオーバーラン」の連絡
があったかチェックし、YESなら、ステップS13で
ホスト1の画面上に、「プリントオーバーラン発生」の
メッセージを表示し、ステップS14でジョブクリアコ
マンド35をプリンタへ転送して、このプログラムを終
了する。
【0075】ステップS12でNOならば、ステップS
15でラインカウンタを1加算し、ステップS16で、
変数bに転送済みの圧縮データの大きさを加算し、ステ
ップS17でラインカウンタの値を調べて、1ページ分
のライン処理が終了したかチェックし、YESなら、ス
テップS21で変数nに1を加算して、ステップS3の
直前に戻り、ループを形成して次のページの処理を行な
う。
【0076】ステップS17でNOなら、ステップS1
8で、変数bが変数cより大きいかチェックし、NOな
らステップS10の直前に戻り、ループを形成して、次
のラインの圧縮、転送作業を続ける。ステップS18で
YESなら、すなわち巨大イメージデータであるなら、
ステップS19でブロック開始コマンド32をプリンタ
へ転送し、ステップS20で変数bに0をセットし、ま
た、変数cとして、巨大イメージデータを最初の1MB
転送した後の各バンドの大きさである100KBの値を
セットし、その後、ステップS10の直前に戻り、ルー
プを形成して、次のラインの圧縮、転送作業を続ける。
【0077】ここで、変数b、及び、変数cは、巨大な
イメージページの場合は、先頭のブロックは約1MBで
区切り、次に続くブロック群は、それぞれ約100KB
で区切る役目を負っている。また、受信バッファ9の大
きさは、2MBと仮定している。ステップS8及びステ
ップS20で設定する変数cの値は、この受信バッファ
9の大きさに応じて決める。例えば、ステップS8で設
定する変数cの値は、受信バッファ9の大きさの2分の
1とし、ステップS20で設定する値は、受信バッファ
9の大きさの10分の1とすればよい。
【0078】なお、ここで示した各種のプリンタコマン
ドの具体的なコードについては、図7で説明した通りで
ある。
【0079】以上の手順により、ホストコンピュータ1
のプリンタドライバは、イメージデータをプリンタ10
0に送出する。 <受信部5の動作>図14,図15は、受信部5の動作
を説明するフローチャートである。受信動作そのもの
は、図11で説明した通りである。この手順はフローチ
ャートとして説明しているが、受信部5においては図1
4,図15と等価に構成された論理回路により実現され
るもので、高速に寄りを行なえる。
【0080】電源が立上がると同時に処理を開始する。
まず、ステップS31で受信バッファ9への書き込み位
置を示すポインタに0をセットし、ステップS32で限
界値として受信バッファ9の大きさをセットする。本実
施形態では2MBである。そして、ステップS33で
は、ユーザーがプリンタを電源オフしたかチェックし、
YESなら受信部5の処理も終了する。
【0081】ステップS33でNOならば、ステップS
34で、ホスト1から1バイトデータの送信があったか
チェックし、NOならステップS33の直前に戻ってル
ープを形成し、ホスト1からのデータ送信を待つ形とな
る。ステップS34でYESなら、ステップS35で受
信部5に含まれるFIFOバッファに受信した1バイト
を追加登録し、ステップS36で、FIFOバッファ内
で最後に登録した1バイトとその直前の1バイトとを比
較する。異なっているならステップS42以降の処理に
移る。一致したなら、ステップ37でFIFO内に一致
したデータが4バイト登録されているかチェックし、N
Oならば、ステップS33の直前に戻りループを形成
し、ホスト1からの次のデータを待つ形になる。ステッ
プS37でYESなら、ステップS38で、CPU4へ
連続した4バイトのデータを受信したことを知らせる。
これは、ジョブの開始かあるいはデータ受信の途中であ
れば、前のページあるいは前のブロックのイメージデー
タの受信処理の完了を、CPU4に知らせたことにな
る。その際、データの値もCPU4に知らせる。これに
よって、受信バッファ管理プログラム41は、次のペー
ジ、あるいは、次のブロックのイメージデータ受信があ
るのかないのか、ジョブが終了したのか、ジョブのクリ
アなのかがわかり、受信バッファ9のメモリ管理が行え
ることになる。
【0082】そして、ステップS39で、連続した4バ
イトデータの値が09h、つまり、ジョブクリアかチェ
ックし、NOなら、ステップS40で、受信バッファ9
への次の書き込み位置、つまり、書き込み位置を示すポ
インタの値をCPU4へ知らせる。これは、次のペー
ジ、あるいは、ブロックのデータ受信が予測されてい
て、そのページ、あるいは、ブロックの書き込みの開始
位置を、受信バッファ管理プログラム41に知らせるも
のである。また、連続した4バイトがジョブ終了34を
意味する場合は、ステップS40では、CPUにジョブ
終了位置を示すことになる。そのあと、ステップS41
でFIFOバッファのクリアを行ってから、ステップS
33の直前に戻りループを形成して、そのページ、ある
いは、ブロックのデータの受信を待つ。
【0083】ステップS39でYESの場合は、ジョブ
クリアを示しているので、ステップS40の処理は行わ
ずに、ステップS41でFIFOバッファのクリアを行
って、ステップS33の直前に戻りループを形成して、
次のジョブのデータの受信を待つ。
【0084】一方、ステップS36でYESの場合は、
ステップS42に移り、CPU4から受信処理の停止指
示があったかチェックし、YESなら、ステップS43
でCPU4へ次のデータの受信バッファ9への書き込み
予定位置を知らせ、ステップS44でCPU4からの新
しい書き込み位置、及び、限界値の指示を待つ。CPU
4からの停止指示は、CPU4が受信バッファ9上で
「受信バッファ9の整理」等を行っていることを示して
いる。この処理については後述する。
【0085】CPU4から新しい書き込み位置の指示が
届いたのなら、ステップS45以降の処理に移る。ステ
ップS42でNOの場合もステップS45の処理に移
る。ステップS45では、書き込み位置が受信バッファ
9の領域の限界を超えたかチェックし、NOならステッ
プS48以降の処理に移るが、YESなら、ステップS
46でまずCPU4に、「限界により、受信バッファ9
に書き込めない」ことを知らせ、ステップS47で、C
PU4からの新しい書き込み位置、及び、限界値の指示
を待ち、指示があったら、ステップS48以降の処理に
移る。
【0086】ステップS47で受信部5が待っているあ
いだは、CPU4は、通常ページ排紙処理プログラム4
2で、受信バッファ9に堪ったページデータを印刷処理
して、受信バッファ9上からデータをクリアし、受信バ
ッファ管理プログラム41で受信バッファ9のなかを整
理して、次のデータが書き込み可能に成るように、空き
を作る作業を行なっている。その作業が完了したとき
に、CPU4は、受信部5に新しい書き込み位置、及
び、限界値を指示する。
【0087】ステップS48では、FIFOバッファの
先頭1バイトを、受信バッファ9上の指示された書き込
み位置に書き出し、ステップS49で、書き出した1バ
イトについてはFIFOバッファからクリアし、ステッ
プS50で、書き込みいちポインタに1を加算する。そ
して、ステップS51で、FIFOバッファにまだ書込
みが必要なデータが残っているかチェックし、残ってい
るなら、ステップS45の直前に戻りループを形成し
て、次の1バイトの受信バッファ9への書き出し作業を
続ける。ステップS51でNOなら、ステップS33の
直前に戻り、ループを形成して、ホスト1からの次のデ
ータの受信を待つ。
【0088】以上の手順で、図11に示したように、4
バイト連続する同一のバイトコードを認識して、データ
とコマンドとを識別する制御を実現する。 <受信バッファ管理プログラムの手順>図16,図17
は、受信バッファ管理プログラム41の動作を説明する
ためのフローチャートである。このプログラムは、プリ
ンタの電源立ち上げと同時に、動作を開始する。
【0089】まず、ステップS61で管理表12をクリ
アし、ステップS62でページカウンタをクリアし、ス
テップS63でユーザがプリンタを電源オフしたかチェ
ックし、YESならこのプログラムの処理を終了する。
ステップS61で、管理表12をクリアするとは、ペー
ジ番号53の項目を、すべて0にセットすることであ
る。
【0090】ステップS63でNOなら、ステップS6
4で、受信部5から連続4バイトデータの受信の連絡が
あったかチェックする。この時、どのようなコードの4
バイトデータなのかも受け取る。ステップS64でNO
なら、データの受信であり、ステップS84の処理に移
る。YESならコマンドの受信であり、その種別を判定
してコマンドごとに対応する処理を行う。まず、ステッ
プS65で、連続4バイトデータがページ開始コマンド
31かチェックする。
【0091】(ページ開始コマンドの処理)ページ開始
コマンドなら、ステップS66で、ページカウンタに1
を加算してから、ステップS63の直前に戻り、ループ
を形成して、次の受信部5からの知らせを待つ形にな
る。
【0092】ステップS65でNOなら、ステップS6
7で、連続4バイトデータがブロック開始コマンド32
かチェックする。
【0093】(ブロック開始コマンドの処理)ブロック
開始コマンドなら、ステップS68で前のブロックがあ
るかチェックする。前のブロックがないのであれば、ス
テップS69で、受信バッファ9上のデータの書き込み
開始アドレス52、ページ番号53、受信状態54を管
理表12へセットする。ページ番号53は、ページカウ
ンタの値をセットし、受信状態54には受信中を表わす
0をセットする。そして、ステップS63の直前に戻り
ループを形成して、受信部5からの連絡を待つ。
【0094】ステップS68でYESならば、すなわち
前のブロックがあるのであれば、ステップS70で、管
理表12上の前ブロックの受信状態54の項目が、“受
信中を表わす0”だったものを、“受信を完了したこと
を表わす1”にセットする。そして、ステップS71
で、管理表12へ、次の番号の行に、ブロック開始位置
51の項目に受信バッファ9上のデータの書き込み開始
アドレス52、ページ番号53の項目にページカウンタ
の値、受信状態54の項目に0をセットする。そして、
ステップS63の直前に戻りループを形成して、受信部
からの連絡を待つ。
【0095】ステップS67でNOならば、ステップS
72で、連続した4バイトデータがジョブ終了34を表
わすコマンドか判断する。
【0096】(ジョブ終了コマンドの処理)ジョブ終了
を表わすコマンドなら、ステップS73で、ブロック受
信中だった番号の行の、受信状態54の項目を、“受信
を完了したことを表わす1”にセットし、さらに、その
次の番号の行に、ジョブ終了位置をセットし、ページ番
号欄に−1をセットして、ステップS74でページカウ
ンタをクリアする。そして、ステップS63の直前に戻
りループを形成して、受信部5からの連絡を待つ。
【0097】ステップS72でNOならば、ステップS
75で、連続した4バイトデータがジョブクリアコマン
ド35を表わすものか判断する。 (ジョブクリアコマンドの処理)ジョブクリアコマンド
なら、ステップS76で、受信部5に受信中断の指示を
出し、ステップS77で受信部5から次の書き込み位置
の連絡があるまで待ち、連絡があれば、ステップS78
で、通常ページ排紙処理プログラム42に排紙停止を指
示し、ステップS79で、通常ページ排紙処理プログラ
ム42から排紙中断した旨の連絡があるまで待つ。具体
的には、通常ページ排紙処理プログラム42のセットす
る、排紙中を示す変数がオフになっているかを見ること
になる。排紙中でないことがわかったら、ステップS8
0でページカウンタをクリアし、ステップS81で、受
信中のジョブの残っているブロック全てを管理表12か
らクリアする。ここでクリアするとは、管理表12のペ
ージ番号53の項目の値を0にするだけである。
【0098】そして、ステップS82で通常ページ排紙
処理プログラム42に対して排紙停止の指示を解除し、
ステップS83で、クリアしたブロックの先頭位置を、
新しい、書き込み位置として、受信部5に知らせる。そ
して、ステップS63の直前に戻りループを形成して、
受信部5からの次の連絡を待つ。
【0099】ステップ75でNO、すなわちいずれのコ
マンドでもない場合には、ステップS63の直前に戻り
ループを形成して、受信部5からの連絡を待つ。
【0100】(イメージデータの処理)ステップS64
でNO場合、すなわちコマンドでない場合には、ステッ
プS84へ移り、受信部5から、受信データの受信バッ
ファ9ヘの書込みが限界に達した、との連絡があったか
チェックする。NOなら、ステップS63の直前に戻り
ループを形成して、受信部5からの次の連絡を待つ。Y
ESなら、ステップS85で受信バッファ9の整理を行
ない、ステップS86で受信バッファ9の整理を行って
も新しい書き込み位置が受信バッファ9の大きさを越え
たままかチェックする。NOなら、ステップS87で新
しい書き込み位置を受信部5へ指示して、ステップS6
3の直前に戻り、ループを形成して受信部5からの次の
連絡を待つ。
【0101】ステップS86でYESなら、ステップS
88で、巨大イメージページ処理を行なってから、ステ
ップS63の直前に戻りループを形成して、受信部5か
らの次の連絡を待つ。巨大イメージページ処理について
は、後述の図22〜図25で詳しく説明する。
【0102】以上の手順により、受信したイメージデー
タが受信バッファ9の容量を越えた場合には、巨大イメ
ージページに対応した後述する処理を行なわせ、越えな
い場合には、各コマンドに応じて、受信バッファ9の内
容を正しく管理することができる。
【0103】(受信バッファの整理)図18は、図16
のステップS85にある、受信バッファ整理ルーチンの
詳細な動作を説明するためのフローチャートである。
【0104】まず、ステップS91では、通常ページ排
紙処理プログラム42に対して排紙処理の中止を指示
し、ステップS92で、通常ページ排紙処理プログラム
42からの、排紙中止完了の連絡を待つ。連絡があった
ならば、ステップS93で、管理表12の内部で、番号
の若い行に排紙処理が済んだ後の空きがあれば、つま
り、ページ番号53の項目が0の行があれば、排紙され
ずに登録されている行番号のデータを、行を前づめにし
て整理する。そして、ステップS94では、受信バッフ
ァ9の中でも実際の各ページのイメージデータも前づめ
にして整理する。整理すると各ページのデータの開始位
置も変わるので、ステップS95で、管理表12の開始
位置42の項目を新しい開始位置に修正する。そして、
ステップS96では、通常ページ排紙処理プログラム4
2への排紙処理停止の指示の解除を行ない、このルーチ
ンからリターンする。
【0105】このようにして、受信バッファ9を整理
し、それに対応して管理表12を更新する。 <通常ページ排紙処理プログラムの手順>図19は、通
常ページ排紙処理プログラム42の動作を説明するため
の、フローチャートである。
【0106】排紙プログラム42は、プリンタの電源オ
ンと同時に起動される。まず、ステップS101で、プ
リンタが電源オフされたかチェックし、YESならこの
プログラムの処理を終了する。NOなら、ステップS1
02で受信バッファ管理プログラム41から排紙停止の
指示が解除されるまで待つ。排紙停止の指示が解除され
ている状態だと判断されたならば、ステップS103
で、受信バッファ9上に受信を完了したページのイメー
ジデータがあるかチェックし、NOなら、ステップS1
01の直前まで戻り、ループを形成して、受信バッファ
9ヘのページデータの受信を待つ形になる。ステップS
103でYESなら、すなわち受信バッファに受信を完
了したページがあるなら、ステップS104に移り、排
紙中を示す変数をオンにする。この変数は、受信バッフ
ァ管理プログラム41が、そのステップS79で、現在
排紙中かどうかチェックするための変数である。
【0107】そして、ステップS105で変数nに1を
セットし、ステップS106で変数mに排出予定のペー
ジを構成するブロック数をセットする。
【0108】その後ステップS107で、管理表12に
ある排出予定のページのnブロック目の開始位置52と
大きさとを、イメージの伸長・ビデオ転送回路6に指示
する。変数nの値も連絡する。イメージの伸長・ビデオ
転送回路6は、ブロック単位のイメージの圧縮データを
伸長し、ビデオ信号に直してエンジン部3へ出力する。
イメージの伸長・ビデオ転送回路6の動作の詳細は、後
述の図20で説明する。
【0109】ステップS108では、イメージの伸長・
ビデオ転送回路6からのビデオ出力が完了するまで待
つ。完了したなら、ステップS109で変数nに1を追
加し、ステップS110で受信バッファ上の転送済みの
ブロックデータをクリアする。これは、管理表12のペ
ージ番号53の項目を0にするだけである。
【0110】次に、ステップS111では、イメージの
伸長・ビデオ転送回路6から次のブロック要求があるか
チェックし、ないならループを形成して、ブロック要求
があるまで待つ。ブロック要求があったなら、ステップ
S112で変数nが変数mより大きいかチェックし、n
>mでないなら、すなわち印刷中のページのブロックの
出力が済んでいないなら、ステップS113で次のブロ
ックがあることをイメージ伸長・ビデオ転送回路6に知
らせ、ステップS107の直前まで戻り、次のブロック
のビデオ転送作業を続ける。
【0111】一方、ステップS112でYESなら、す
なわち1ページ分の排出が済んだなら、ステップS11
4へ移り、次のブロックがないことをイメージ伸長・ビ
デオ転送回路6に知らせる。ステップS115では、管
理表12上の次の行がジョブの区切り、あるいはブロッ
クの区切りの行ならば、ジョブ区切り、あるいはブロッ
クの区切りの行もクリアする。これは、管理表12のペ
ージ番号53の項目を0にするだけである。
【0112】最後に、ステップS116で、排紙中を示
す変数をオフにして、ステップS101の直前に戻り、
ループを形成して、次の通常ページの排紙処理等を引き
続き行なう。
【0113】以上のような排紙処理を、受信バッファ管
理プログラムと並列に実行することで、受信バッファ9
に納まりきれるイメージデータを印刷出力することがで
きる。 <イメージ伸張・ビデオ転送回路6の動作>図20は、
イメージ伸長・ビデオ転送回路6の動作を説明するため
のフローチャートである。イメージ伸長・ビデオ転送回
路6は、ハードウェアとしての電子回路であって、CP
U4上で動作するプログラムではないが、プログラムの
場合と同様に、フローチャートを用いてその動作を説明
する。
【0114】この回路による処理は、通常ページ排紙処
理プログラム42、あるいは、巨大ページ排紙処理プロ
グラム43の指示により動作を開始する。この図では、
この2つのプログラムをまとめて、「排紙処理プログラ
ム」と呼ぶ。
【0115】まず、ステップS121で、変数としての
読み出しポインタに、排紙処理プログラム42,43か
ら指示されたブロックデータの開始位置をセットする。
次に、ステップS122で変数nに0をセットし、変数
mにデータの大きさをセットする。そして、ステップS
123で、処理しようとするブロックは1ブロック目か
判断し、YESならステップS124で、エンジン部3
に対して、給紙の開始を指示する。ステップS123で
NOなら、ステップS124の処理は行なわない。そし
て、ステップS125で、読み出しポインタ位置の1ラ
イン分の圧縮イメージデータを読み出してデータの伸長
処理を行ない、ステップS126で、伸長したデータか
らビデオ信号を生成してエンジン部3へ転送し、ステッ
プS127で、読みだしポインタに読み出したデータの
大きさを加算し、変数nにも読みだしたデータの大きさ
を加算する。
【0116】そして、ステップS129で、変数nが変
数mより小さいかチェックし、小さいならステップS1
25の直前に戻りループを形成し、次のラインのビデオ
転送処理を続ける。ステップS129で、変数nが変数
mより小さくないと判断したなら、ステップS130で
排紙処理プログラム42,43に、次のブロックを要求
する。ブロック要求は、呼び出した排紙処理プログラム
に対して行なう。
【0117】ステップS131で、次のブロックがある
と判断されたなら、この処理を終了するが、次のブロッ
クがないと判断されたなら、ステップS132で、エン
ジン部3に、以後ビデオ信号なしでの用紙の排紙を指示
してから、この処理全体を終了する。 <巨大イメージページ処理の手順>図21〜図25は、
図16の受信バッファ管理プログラムの動作を説明した
フローチャートのステップS88で示した、「巨大イメ
ージページ処理ルーチン」の詳細を説明するフローチャ
ートである。
【0118】まず、ステップS141で、受信完了して
排紙待ちのページデータがあるかどうかチェックし、Y
ESならこのルーチンからリターンする。つまり、排紙
できるデータがあるのなら、排紙してしまうわけであ
る。
【0119】(受信バッファ上の空き領域の作成)次
に、ステップS141でNOならば、つまり、受信バッ
ファ9上に、受信途中の巨大イメージページだけがある
状態なら、ステップS142で変数jbに受信済みブロ
ック数をセットし、ステップS143で、ビデオ転送済
みブロック数を表わす変数sbをクリアし、ステップS
144で、巨大ページ排紙処理プログラム43に、受信
済みであるjb分のブロックのビデオ信号出力を指示す
る。
【0120】そして、ステップS145で、変数sbが
0より大きいかチェックし、NOならループを形成して
変数sbが0より大きくなるまで待つ。つまり、1ブロ
ックでもビデオ転送が完了するまで待つのである。な
お,変数sbは、後述の巨大ページ排紙処理プログラム
43により操作される。
【0121】ステップS145でYESとなったら、ス
テップS146で、変数sbの値を保持するため、その
値を変数ssbにセットし、ステップS147で変数s
bに0をセットする。そして、ステップS148では、
管理表12から、既に印刷され出力済みとなった変数s
sb分のブロックをクリアし、ステップS149では、
管理表12上で、受信途中のブロックを表わす行を1行
下げる。そして、移動する前の行には、ブロックの区切
りを入れて、前のブロックの終了位置をセットする。
【0122】次に、ステップS150では、受信途中の
ブロックデータを、受信バッファ9の先頭に移動し、ス
テップS151で、管理表12のブロック開始位置を0
に修正し、ステップS152では、受信部5における新
しい書き込み位置は、先頭に移動した受信途中のブロッ
クの、後端の次の1バイト位置とする。
【0123】そして、ステップS153では、限界値
は、受信完了済みのブロックで、ビデオ転送されていな
いブロックの開始位置とする。すべてのブロックがビデ
オ転送済みなら、限界値を受信バッファ9の大きさと
し、ステップS154で、上記新しい書き込み位置と限
界値とを受信部5に連絡する。
【0124】ここまでのステップで、受信済みで排紙待
ちのブロック(バンド)を受信バッファ9から排紙させ
て、いっぱいになった受信バッファ9に空き領域を作
る。
【0125】(コマンドの判別)そして、ステップS1
61に移り、受信部5から連続4バイトデータの受信の
連絡があったかチェックし、NOならステップS181
以降の処理に移るが、YESなら、この後コマンドの種
類に応じた処理を行う。すなわち、ステップS162で
4バイト連続データがページ開始コマンド31かチェッ
クし、YESなら、ステップS163からの処理に移行
する。ステップS162でNOなら、ステップS164
で、連続4バイトデータがブロック開始コマンド32か
チェックし、YESならステップS165に進む。ステ
ップS164でNOなら、ステップS169に進み、連
続4バイトデータが、ジョブ終了コマンド34であった
かチェックする。ジョブ終了コマンドであればステップ
S170に進み、そうでなければステップS172に進
んでジョブクリアコマンドであるか判定する。ジョブク
リアコマンドであればステップS173に進み、そうで
なければ、すなわちいずれのコマンドでもなければステ
ップS181に進む。
【0126】(ページ開始コマンド)ステップS162
でページ開始コマンドと判定されたなら、ステップS1
63でページカウンタに1を加算してから、ステップS
211以降の処理に移る。このステップはジョブ終了コ
マンドと共通なので、後述する。
【0127】(ジョブ終了コマンド)ステップS169
でYESなら、すなわちジョブ終了コマンドであれば、
ステップS170でブロックの受信が完了とセットし、
ステップS171でページカウンタをクリアしてから、
ステップS211以降の処理に移る。
【0128】ステップS211では、変数jbに受信済
みブロック数をセットし、ステップS212で、変数j
bが0より大きいかチェックし、YESなら、ステップ
S213で巨大ページ排紙処理プログラム43から、次
のブロック要求があるまで待ち、ブロック要求があった
なら、ステップS214で、巨大ページ排紙処理プログ
ラム43へ、変数jb分のブロックのビデオ信号出力を
指示してステップS215へ移る。
【0129】ステップS212でNOの場合も、ステッ
プS215へ移る。ステップS215では、ビデオ送信
済みのブロック数を示す変数sbが0より大きいかチェ
ックし、YESならステップS216で変数ssbに変
数sbの値をセットし、ステップS217では、変数s
bに0をセットし、ステップS218では、管理表12
からssb分のブロックをクリアし、ステップS219
へ移る。
【0130】ステップS215でNOの場合もステップ
S219へ移る。ステップS219では、管理表12上
に、巨大ページのブロックが残っているかチェックし、
YESならステップS215の直前に戻り、ループを形
成して、ブロックの転送を待つ形になる。ステップS2
19でNOなら、つまり、巨大イメージページの全ての
ブロックのビデオ転送が完了したのなら、ステップS2
20で、4バイト連続データがジョブ終了34を表して
いた場合は、管理表12上のジョブ区切りもクリアして
から、この巨大イメージページ処理ルーチンからリター
ンする。
【0131】以上のようにして、ページ開始コマンド及
びジョブ終了コマンドに対しては、受信バッファ9上の
巨大イメージページを出力してしまう。
【0132】(ブロック開始コマンド)ステップS16
4でブロック開始コマンドと判定されたなら、ステップ
S165で、受信中であったブロックがあったかチェッ
クし、NOなら、ステップS166で管理表12に、開
始位置、ページ番号、受信状態の変数をセットしてか
ら、ステップS181以降の処理に移る。ステップS1
65でYESなら、ステップS167で、受信中であっ
たブロックの受信完了をセットし、ステップS168で
管理表12に、開始位置、ページ番号、受信状態の変数
をセットしてから、ステップS181以降の処理に移
る。
【0133】ステップS181では、変数jbに受信済
みブロック数をセットする。ただし、ここでは、ステッ
プS142,S143で、すでにビデオ転送を指示した
ブロックはこの数に含めない。そして、ステップS18
2で変数jbが0より大きいかチェックし、YESなら
ステップS183でループを形成して、巨大ページ排紙
処理プログラム43から次のブロックの要求があるまで
待つ。要求があったなら、ステップS184で、巨大ペ
ージ排紙処理プログラム43へ、変数jb分のブロック
のビデオ信号出力を指示し、ステップS185へ移る。
また、ステップS182でNOの場合もステップS18
5に移る。
【0134】ステップS185では、ビデオ転送済みブ
ロック数を示す変数sbが0より大きいかチェックし、
YESならステップS186で変数ssbに変数sbを
セットし、ステップS187で変数sbに0をセット
し、ステップS188で管理表12から、変数ssb分
のブロックをクリアし、ステップS189へ移る。ま
た、ステップS185でNOの場合もステップS189
へ移る。
【0135】ステップS189では、受信部5から限界
の連絡があったかチェックし、YESなら、ステップS
190で、限界値は広げられるのかチェックし、YES
ならステップS191で受信部5に広げた限界値を連絡
してステップS195へ移る。
【0136】ステップS190でNOなら、ステップS
192でビデオ送信待ちのブロックがつかえているかチ
ェックし、YESなら、ステップS193で、今までと
同じ限界値を連絡し、ステップS195へ移る。ステッ
プS192でNOならステップS194で、受信途中の
ブロックだけが受信バッファの最後尾にあるだけかチェ
ックする。すなわち、受信中のブロックを受信バッファ
の先頭に移動可能かチェックする。NOなら、ステップ
S193で受信部5に今までと同じ限界値を受信部5に
連絡して、ステップS195に移る。ステップS194
でYESなら、ステップS148の直前に戻り、受信途
中のブロックの受信バッファ9の先頭への移動処理等を
行なう。
【0137】ステップS189でNOの場合も、ステッ
プS195へ移る。ステップS195では、巨大ページ
排紙処理プログラム43から次のブロック要求があった
かチェックし、YESならステップS196で、変数j
bに受信済みブロック数をセットし、ステップS197
で変数jbが0より大きいかチェックし、YESなら、
ステップS198で巨大ページ排紙処理プログラム43
へjb分のブロックのビデオ信号出力を指示し、ステッ
プS161の直前に戻り、次の受信部5からの連絡を待
つ形になる。
【0138】ステップS197でNOなら、ステップS
199で、ページは終了したかチェックし、YESな
ら、ステップS200で巨大ページ排紙処理プログラム
43に、ページ終了の連絡をしてから、ステップS16
1の直前に戻り、次の受信部5からの連絡を待つ形にな
る。
【0139】ステップS199でNOなら、ステップS
201で、ホスト1へ「プリントオーバーラン」の連絡
をし、ステップS202で巨大ページ排紙処理プログラ
ム43へも「プリントオーバーラン」の連絡を行なって
から、ステップS161に戻り、次の受信部5からの連
絡を待つ形になる。
【0140】以上の手順により、ブロック開始コマンド
では、新たなブロックの状態を管理表12に登録した
後、受信済みのブロックがあればその印刷指示を巨大ペ
ージ排紙処理プログラムへと出し、受信部5から受信バ
ッファ9の限界の報せがあれば、使用可能な受信バッフ
ァを可能なだけ広げる。また、オーバーランを監視し、
巨大ページ排紙処理プログラムからのブロック要求を受
けた際に受信済みのブロックがなければオーバーラン発
生とみなして、その状態をホストコンピュータや他のプ
ログラムに通知する。
【0141】(ジョブクリアコマンド)ステップS17
2でYESなら、すなわちジョブクリアコマンドであれ
ば、ステップS173で受信部5に受信の中断を指示
し、ステップS174でループを形成して受信部5から
書き込み位置の連絡があるまで待つ。そして、連絡があ
ったなら、ステップS175で巨大ページ排紙処理プロ
グラム43に、ビデオ転送作業の中止を指示し、ステッ
プS176でページカウンタをクリアし、ステップS1
77で受信中の巨大ページの残っているブロックすべて
を管理表12からクリアし、ステップS178で、受信
バッファの先頭位置、つまり0を、新しい書き込み位置
として受信部5に指示する。
【0142】以上の手順により、ジョブクリアコマンド
では、管理表12に登録されているジョブを全てクリア
する。このあと、前述のステップS181以降の処理に
移る。
【0143】以上説明したように、巨大イメージページ
処理ルーチンでは、受信バッファ9からはみ出すような
サイズのイメージデータを印刷出力する際に、後述の巨
大イメージ排紙処理プログラムにより印刷出力させなが
ら受信バッファ9中に新たな領域を確保して次々とイメ
ージデータのブロックを受信して格納していくことがで
きる。 <巨大ページ排紙処理プログラムの手順>図22は、巨
大ページ排紙処理プログラム43の動作を説明するため
のフローチャートである。このプログラムは、電源オン
と同時に起動するが、図21〜図25で説明した、巨大
イメージページ処理ルーチンから指示を受けるだけであ
る。
【0144】まず、ステップS231で電源オフになっ
たかチェックし、YESならこのプログラムを終了す
る。NOなら、ステップS232で、巨大イメージペー
ジ処理ルーチンから、ブロックのビデオ出力の指示があ
ったかチェックし、NOなら、ステップS248で、プ
リントオーバーランの連絡があったかチェックする。こ
こでYESなら、ステップS247で、イメージ伸長・
ビデオ転送回路6に、「次のブロックはない。排紙せ
よ」との指示を行なってから、ステップS231の直前
に戻り、巨大イメージページ処理ルーチンからの次の指
示を待つ形になる。ステップS248でNOの場合は、
何もせずステップS231の直前に戻りループを形成し
て、次の指示を待つ。
【0145】ステップS232でYESなら、ステップ
S233で、変数sbに0をセットする。変数sbは、
すでにビデオ転送済みのブロック数を積算するための変
数で、巨大イメージページ処理ルーチン内でチェック
し、管理表12からのデータのクリアを行なう際に用い
る。
【0146】次に、ステップS234で変数jjbに、
巨大イメージページ処理ルーチンからの指示にある、変
数jbの値をセットし、ステップS235で、変数nに
先頭ブロックの行番号をセットする。そして、ステップ
S236で、ビデオ転送しようとしているブロックが、
ページの先頭ブロックかチェックし、YESならステッ
プS237で、エンジン部3に、用紙搬送開始を指示
し、ステップS238へ移る。
【0147】ステップS236でNOの場合もステップ
S238へ移るが、ステップS238では、イメージ伸
長・ビデオ転送回路6に管理表12上のn行のブロック
の転送を指示し、ステップS239では、変数sbに1
を加算し、ステップS240では、変数nにも1を加算
し、ステップS241では、変数jjbから1を減算す
る。
【0148】そして、ステップS242でループを形成
して、イメージ伸長・ビデオ転送回路6から、次のブロ
ック要求があるまで待ち、ブロック要求があったなら、
ステップS243で、変数jjbが0より大きいかチェ
ックし、YESならステップS238の直前まで戻り、
次のブロックの転送作業を続ける。
【0149】ステップS243でNOならば、ステップ
S244で巨大イメージページ処理ルーチンに次のブロ
ックを要求し、ステップS245でループを形成して、
巨大イメージページ処理ルーチンからの返事を待ち、返
事があったなら、ステップS246でその返事が、次の
ブロックがあるとの返事なら、ステップS233の直前
に戻り、次の一連のブロックの転送処理に移る。ステッ
プS246でNOなら、ステップS247で、イメージ
伸長・ビデオ転送回路6に、「次のブロックはない。排
紙せよ」との指示を行なってから、ステップS231の
直前に戻り、巨大イメージページ処理ルーチンからの次
の指示を待つ形になる。
【0150】(本実施形態のシステムに特有の効果) (1)本実施形態において用いているイメージ専用のプ
リンタは、巨大なイメージデータのページの出力を可能
としながら、イメージ展開用の1ページ分の大きさのフ
レームメモリ等は不要であり、低コストである。
【0151】(2)同様に、プリンタの内蔵するCPU
はメモリ管理を行なうだけなので、高性能な製品は不要
であり、低コストである。
【0152】(3)ホストからプリンタヘのデータ転送
については、ホストベースプリンタのように、完全に同
期をとって転送するわけではない。つまり、一般のペー
ジプリンタ等と同様に、ホスト及びプリンタのそのつど
の状態に応じて転送作業を行なう。これにより、データ
転送中にホスト上の他のアプリケーションがロックする
という、ホストベースプリンタにみられる現象も発生し
ない。 [第2の実施形態]第1の実施形態のプリンタドライバ
の動作としては、巨大イメージページの場合も、先頭の
約1MBのブロックも、その次に多数続く約100KB
の小さなブロックも、データ圧縮作業が済みしだい、単
純に次々とプリンタへ転送する形になっている。
【0153】プリントオーバーランの発生する確率をさ
らに下げるのであれば、先頭の約1MBのブロックをプ
リンタに転送した後は、その次に続く多数の約100K
Bの小さなブロックは、1ページ分のデータ圧縮処理が
すべて完了するまで、ホストコンピュータ上に貯えてお
いて、完了した時点で、一気にプリンタ側へ転送するよ
うにしたほうが良い。
【0154】すなわち、図12のステップS10におい
て行なっている圧縮処理を、例えばnページ目のイメー
ジデータをフレームメモリに展開するステップS5の直
後に、展開した1ページ分まとめて行うようにする。
【0155】これによって、小さなブロックの作成処理
が間に合わないことによるプリントオーバーランの発生
は防げる。 [第3の実施形態]第1の実施形態においては、エラー
処理についての詳細は、記述していなかった。
【0156】プリントオーバーランが発生した場合、第
1の実施形態では、プリントオーバーランの発生したペ
ージは、途中までしか印刷できていないとしても、とに
かくプリンタから排紙しておいて、その後で、ホストコ
ンピュータの画面上に、「プリントオーバーランが発生
しました」と表示して、ユーザに注意を促すだけだっ
た。ユーザに対して、対策を含めたメッセージを表示す
るなら、「イメージデータが大きすぎます。印刷できま
せん。メモリを増設してから、再度、印刷を行なってく
ださい」と表示する方が良い。
【0157】また、第1の実施形態では、エンジン部で
「紙ジャム」が発生したときの処理については、何も記
述されていなかった。紙ジャムが発生した場合も、極力
プリンタ側で復帰処理を行なうとすれば、次のようにな
る。
【0158】受信バッファに1ページ分のデータが蓄積
できる場合は、そのページのエンジンによる排紙処理が
完了するまでは、受信バッファからそのページのデータ
を削除しないこととする。そして、万が一、排紙処理中
に紙ジャムが発生した場合は、ユーザによるエンジン内
の残留した紙の取り除き作業が完了した時点で、受信バ
ッファ中に残った1ページ分のデータを用いて、再度、
印刷・排紙処理を行なうことになる。
【0159】一方、巨大イメージページで、受信バッフ
ァに1ページ分のデータが蓄積出来ない場合は、ジャム
対策用としてもプリンタにデータをとっておくこともで
きない。この場合、プリンタ側だけでは対処出来ないの
で、ホストコンピュータに巨大イメージページのジャム
発生を知らせておいて、ユーザによるエンジン内の残留
した紙の取り除き作業が完了した時点で、ホストコンピ
ュータから再度印刷データを送り直すことになる。これ
によって、巨大イメージページでもジャム復帰ができ
る。
【0160】その他の日常的なエラー処理、例えば、
「用紙なし」「トナー残量警告」等も考えられるが、そ
れらは、エラーが発生する都度プリンタ側からホストコ
ンピュータ側にメッセージ表示を指示すれば良い。
【0161】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0162】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置(上記第1〜
第3の実施形態では、ホストコンピュータ1及びプリン
タ100のいずれかまたは両方)に供給し、そのシステ
ムあるいは装置のコンピュータ(またはCPUやMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。
【0163】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0164】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0165】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0166】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0167】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図28のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。
【0168】すなわち、少なくとも、圧縮されたイメー
ジデータを受信したブロックごとに複号して印刷出力す
る印刷装置に接続されたホスト装置におけるプログラム
において、1ページのイメージデータを圧縮して前記印
刷装置に順次送信する送信工程のコードと、前記送出工
程により送出されている1ページのイメージデータが所
定サイズを越えたか判定する判定工程のコードと、前記
判定工程により所定サイズを越えたと判定された場合、
該所定サイズのイメージデータを1つのブロックとし、
残りのイメージデータを第2の所定サイズごとのブロッ
クに区切って前記送信工程により送信させる制御工程の
コードの各モジュールのプログラムコードを記憶媒体に
格納すれば良い。
【0169】あるいは、図29に示したように、イメー
ジデータをブロックごとに受信して、少なくとも1つの
ブロックを含むページ単位に印刷出力するプログラムに
おいて、受信したブロックごとのイメージデータを記憶
領域に格納しようとした際、格納しようとするページの
イメージデータが、前記記憶領域の容量を越えることを
判定する判定工程のコードと、前記判定工程により1ペ
ージのイメージデータが前記記憶領域の容量を越えると
判定された場合、当該ページに含まれる、既に格納され
ているブロックの印刷処理を開始し、当該ブロックの占
めていた容量を、残りのイメージデータを格納するため
に前記格納工程に用いらせる制御工程のコードの各モジ
ュールのプログラムコードを記憶媒体に格納すればよ
い。
【0170】
【発明の効果】以上説明したように、本発明によれば、
構成を簡単にしてコストを抑えつつ、大きなイメージデ
ータを出力する際にもプリントオーバーラン発生を防止
することができるという効果を奏する。
【0171】
【図面の簡単な説明】
【図1】第1の実施形態のシステム全体を説明するため
のブロック構成図である。
【図2】巨大イメージデータのページの印刷の原理の説
明図である。
【図3】ページあたりのデータ量が小さい場合のデータ
の流れの説明図である。
【図4】ページあたりのデータ量が大きい場合の、デー
タの流れの説明図である。
【図5】通常ページのイメージデータコマンド説明図で
ある。
【図6】巨大イメージページのイメージデータコマンド
説明図である。
【図7】各コマンドのコード説明図である。
【図8】ROMに内蔵されたプログラム説明図である。
【図9】通常ページの場合の管理表の構造説明図であ
る。
【図10】巨大イメージページの場合の管理表の構造説
明図である。
【図11】受信部の動作説明図である。
【図12】プリンタドライバによる処理手順のフローチ
ャートである。
【図13】プリンタドライバによる処理手順のフローチ
ャートである。
【図14】受信部の動作を説明するフローチャートであ
る。
【図15】受信部の動作を説明するフローチャートであ
る。
【図16】受信バッファ管理プログラムによる処理手順
のフローチャートである。
【図17】受信バッファ管理プログラムによる処理手順
のフローチャートである。
【図18】受信バッファ整理ルーチンによる処理手順の
フローチャートである。
【図19】通常ページ排紙処理プログラムによる処理手
順のフローチャートである。
【図20】イメージ伸長・ビデオ転送回路の動作を説明
するフローチャートである。
【図21】巨大イメージページ処理ルーチンによる処理
手順のフローチャートである。
【図22】巨大イメージページ処理ルーチンによる処理
手順のフローチャートである。
【図23】巨大イメージページ処理ルーチンによる処理
手順のフローチャートである。
【図24】巨大イメージページ処理ルーチンによる処理
手順のフローチャートである。
【図25】巨大イメージページ処理ルーチンによる処理
手順のフローチャートである。
【図26】巨大ページ排紙処理プログラムによる処理手
順のフローチャートである。
【図27】レーザビームプリンタの断面図である。
【図28】記憶媒体上に格納されたプログラムのメモリ
マップである。
【図29】記憶媒体上に格納されたプログラムのメモリ
マップである。
【符号の説明】 1 ホスト 2 コントローラ部 3 エンジン部 4 CPU 5 受信部 6 イメージ伸長・ビデオ転送回路 7 ROM 8 RAM 9 受信バッファ 11 ワーク領域 12 管理表 15 CPU 16 メモリ 17 ROM 18 RAM 19 ビデオ受信部 20 給紙部 21 現像定着部 22 排紙部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 土肥 純 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平9−11554(JP,A) 特開 平8−137636(JP,A) 特開 平7−156468(JP,A) 特開 平9−226209(JP,A) 特開 平5−37687(JP,A) 米国特許5087979(US,A) (58)調査した分野(Int.Cl.7,DB名) B41J 5/00 - 5/52 B41J 29/38 B41J 29/46 G06F 3/12 H04N 1/41 - 1/419

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 圧縮されたイメージデータを受信し
    ロックごとに復号して印刷出力する印刷装置と接続され
    た印刷制御装置であって、 1ページのイメージデータを圧縮して前記印刷装置に順
    次送信する送信手段と、 前記送出手段により送出されている1ページのイメージ
    データが所定サイズを越えたか判定する判定手段と、 前記判定手段により所定サイズを越えたと判定された場
    合、該所定サイズのイメージデータを1つのブロックと
    し、残りのイメージデータを第2の所定サイズごとのブ
    ロックに区切って前記送信手段により送信させる制御手
    段とを備えることを特徴とする印刷制御装置。
  2. 【請求項2】 前記送信手段は、前記イメージデータを
    1ラインごとに順次圧縮して送信する、または前記イメ
    ージデータを1ページ分圧縮し、圧縮されたイメージデ
    ータをラインごとに順次送信することを特徴とする請求
    項1に記載の印刷制御装置。
  3. 【請求項3】 前記印刷装置の状態を受信する受信手段
    を更に備え、前記印刷装置からオーバーランの発生を知
    らされると、その旨表示するとともに、前記印刷装置に
    対して当該オーバーラン状態となったイメージデータの
    出力を中断させることを特徴とする請求項1あるいは2
    に記載の印刷制御装置。
  4. 【請求項4】 ページ単位のイメージデータをブロック
    ごとに受信して印刷出力する印刷装置であって、受信したブロックごとのイメージデータを記憶領域に格
    納する格納手段と、 前記格納手段により格納しようとする1ページのイメー
    ジデータが、前記記憶領域の容 量を越えるかを判定する
    判定手段と、前記判定手段により1ページのイメージデータが前記記
    憶領域の容量を越えると判定さ れた場合、当該ページに
    含まれる、既に格納されているブロックの印刷処理を開
    始する制御手段と、イメージデータに基づいて印刷出力する印刷手段と、 残りのイメージデータを格納するために、 前記記憶領域
    を整理して空き領域を確保する手段を備えることを特
    徴とする印刷装置。
  5. 【請求項5】 圧縮されたイメージデータを受信し
    ロックごとに復号して印刷出力する印刷装置を制御する
    印刷制御方法であって、 1ページのイメージデータを圧縮して前記印刷装置に順
    次送信する送信工程と、 前記送出工程により送出されている1ページのイメージ
    データが所定サイズを越えたか判定する判定工程と、 前記判定工程により所定サイズを越えたと判定された場
    合、該所定サイズのイメージデータを1つのブロックと
    し、残りのイメージデータを第2の所定サイズごとのブ
    ロックに区切って前記送信工程により送信させる制御工
    程とを備えることを特徴とする印刷制御方法。
  6. 【請求項6】 1ページのイメージデータを印刷装置に
    転送する印刷制御装置であって、 圧縮された1ページ分のイメージデータのサイズが所定
    サイズより大きいかどうかを判 定する判定手段と、前記判定手段により大きいと判定される場合、1ページ
    分のイメージデータを、前記所 定サイズに基づくブロッ
    クと第2の所定サイズに基づくブロックとに区切る手段
    と、前記区切られたブロックごとのイメージデータを前記印
    刷装置に転送する転送手段とを 有することを特徴とする
    印刷制御装置。
  7. 【請求項7】 前記印刷装置は、圧縮された1ページの
    イメージデータを受信する前に、前記所定サイズのブロ
    ックのイメージデータの処理を開始することを特徴とす
    る請求項6に記載の印刷制御装置。
  8. 【請求項8】 前記所定のサイズは、前記印刷装置の受
    信バッファの容量に基づくことを特徴とする請求項6或
    いは7に記載の印刷制御装置。
  9. 【請求項9】 前記転送手段は、ブロック開始コマンド
    を前記印刷装置に転送した後、イ メージデータを前記印
    刷装置に転送することを特徴とする請求項6乃至8のい
    ずれかに記載の印刷制御装置。
  10. 【請求項10】 1ページのイメージデータを印刷装置
    に転送するための印刷制御方法であって、圧縮された1ページ分のイメージデータのサイズが所定
    サイズより大きいかどうかを判 定する判定工程と、前記判定工程により大きいと判定される場合、1ページ
    分のイメージデータを、前記所 定サイズに基づくブロッ
    クと第2の所定サイズに基づくブロックとに区切る工程
    と、前記区切られたブロックごとのイメージデータを前記印
    刷装置に転送する転送工程とを 有することを特徴とする
    印刷制御方法。
JP15698396A 1996-06-18 1996-06-18 印刷制御装置と印刷装置及びそれらの方法と印刷システム Expired - Fee Related JP3478670B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP15698396A JP3478670B2 (ja) 1996-06-18 1996-06-18 印刷制御装置と印刷装置及びそれらの方法と印刷システム
US08/870,699 US6304335B1 (en) 1996-06-18 1997-06-09 Printing system for dividing a page into blocks
DE69736375T DE69736375D1 (de) 1996-06-18 1997-06-17 Drucksystem
EP97109853A EP0814598B1 (en) 1996-06-18 1997-06-17 Printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15698396A JP3478670B2 (ja) 1996-06-18 1996-06-18 印刷制御装置と印刷装置及びそれらの方法と印刷システム

Publications (2)

Publication Number Publication Date
JPH10830A JPH10830A (ja) 1998-01-06
JP3478670B2 true JP3478670B2 (ja) 2003-12-15

Family

ID=15639614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15698396A Expired - Fee Related JP3478670B2 (ja) 1996-06-18 1996-06-18 印刷制御装置と印刷装置及びそれらの方法と印刷システム

Country Status (4)

Country Link
US (1) US6304335B1 (ja)
EP (1) EP0814598B1 (ja)
JP (1) JP3478670B2 (ja)
DE (1) DE69736375D1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3440406A1 (de) * 1984-11-06 1986-05-07 Standard Elektrik Lorenz Ag, 7000 Stuttgart Elektrooptische schreibeinrichtung
JP3832089B2 (ja) * 1997-05-26 2006-10-11 セイコーエプソン株式会社 デジタルカメラおよび印刷システム
JPH11252366A (ja) * 1998-03-04 1999-09-17 Seiko Epson Corp プリンタ制御装置、プリンタ及びプリントシステム
US6594650B2 (en) * 1998-09-04 2003-07-15 Canon Kabushiki Kaisha File management system and its method and storage medium
US6862603B1 (en) * 1998-09-04 2005-03-01 Canon Kabushiki Kaisha File management system, file management method, and storage medium
JP2000079725A (ja) * 1998-09-04 2000-03-21 Asahi Optical Co Ltd プリントデータ出力回路
JP3284464B2 (ja) * 1998-09-29 2002-05-20 セイコーエプソン株式会社 ページプリンタ及びページプリントシステム
AUPP702498A0 (en) * 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART77)
JP3733259B2 (ja) * 1999-03-05 2006-01-11 キヤノン株式会社 情報処理装置および情報処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6477443B2 (en) * 2000-03-29 2002-11-05 Xerox Corporation Method and apparatus for charging for printing mixed sheet sizes on an electrophotographic printing machine
US7145668B2 (en) * 2000-12-22 2006-12-05 Canon Kabushiki Kaisha Print system, printing method, information processing apparatus, printing apparatus, printer driver, and memory medium
CN1280704C (zh) * 2001-08-30 2006-10-18 松下电器产业株式会社 打印装置、打印方法及打印系统
JP3747870B2 (ja) * 2002-03-27 2006-02-22 ブラザー工業株式会社 画像形成装置、及び、プログラム、並びに、画像形成装置の制御方法
US20030202209A1 (en) * 2002-04-30 2003-10-30 Mellor Douglas J. System and method for optimizing memory resources in printing devices
JP3870171B2 (ja) * 2003-03-11 2007-01-17 キヤノン株式会社 符号化方法及び符号化装置、コンピュータプログラム並びにコンピュータ可読記憶媒体
US20050162694A1 (en) * 2003-04-15 2005-07-28 Fujitsu Limited Printer control device
JP4252958B2 (ja) * 2003-04-15 2009-04-08 富士通株式会社 印刷制御装置
DE60317645D1 (de) * 2003-06-16 2008-01-03 Seiko Epson Corp Tintenstrahldruckdatenübertragungsvorrichtung und Tintenstrahldrucker
US7167933B2 (en) * 2003-07-02 2007-01-23 Seiko Epson Corporation Data transferring apparatus for transferring liquid ejection data and a liquid ejecting apparatus
JP4449530B2 (ja) * 2004-03-29 2010-04-14 セイコーエプソン株式会社 ドライバプログラム及びデータ転送方法
JP4363256B2 (ja) * 2004-05-26 2009-11-11 セイコーエプソン株式会社 ドライバプログラム及びデータ転送方法
JP4603933B2 (ja) * 2005-05-23 2010-12-22 キヤノン株式会社 記録装置
JP4781023B2 (ja) * 2005-07-08 2011-09-28 株式会社沖データ 印刷装置及び印刷システム
KR100636245B1 (ko) 2005-08-31 2006-10-19 삼성전자주식회사 엔진 프로세서와 기본 프로세서를 갖는 칩이 마련된화상형성장치
US7978357B2 (en) * 2006-01-30 2011-07-12 Marvell International Technology Ltd. Printing system and method that uses a universal serial bus (USB) high-speed interrupt out pipe to transfer print data from the host computer to the printer
JP4736927B2 (ja) * 2006-04-21 2011-07-27 ブラザー工業株式会社 情報処理装置、画像形成システム、およびデバイスドライバのプログラム
JP4717717B2 (ja) * 2006-05-25 2011-07-06 キヤノン株式会社 記録制御装置および記録制御装置の制御方法
JP2009202488A (ja) * 2008-02-28 2009-09-10 Oki Data Corp 画像形成装置
US8164801B2 (en) * 2008-10-16 2012-04-24 International Buisness Machines Corporation Providing updated versions of printed documents from two-dimensional barcodes associated with the updated versions
JP4935854B2 (ja) * 2009-05-27 2012-05-23 ブラザー工業株式会社 画像形成装置
US10304421B2 (en) * 2017-04-07 2019-05-28 Intel Corporation Apparatus and method for remote display and content protection in a virtualized graphics processing environment
JP7263830B2 (ja) * 2019-02-22 2023-04-25 ブラザー工業株式会社 プリンタ及びモジュール
US11057529B1 (en) * 2020-03-31 2021-07-06 Kyocera Document Solutions Inc. Image forming system, image forming apparatus, and image forming method capable of pull printing without key input with no server

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01234248A (ja) 1988-03-15 1989-09-19 Canon Inc 2色プリンタ
US5087979A (en) * 1990-12-24 1992-02-11 Eastman Kodak Company Digital copier or printer with collating buffer memory of limited page capacity and with alternative printing modes when required memory exceeds capacity
JPH05191599A (ja) * 1991-07-31 1993-07-30 Canon Inc ファクシミリ装置およびファクシミリ送信方法
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5490237A (en) * 1993-04-26 1996-02-06 Hewlett-Packard Company Page printer having improved system for receiving and printing raster pixel image data from a host computer
US5444827A (en) * 1994-05-23 1995-08-22 Hewlett-Packard Company Method and apparatus for preventing print overruns by rasterizing complex page strips using an increased clock frequency

Also Published As

Publication number Publication date
EP0814598A2 (en) 1997-12-29
EP0814598A3 (en) 1999-11-17
EP0814598B1 (en) 2006-07-26
JPH10830A (ja) 1998-01-06
US6304335B1 (en) 2001-10-16
DE69736375D1 (de) 2006-09-07

Similar Documents

Publication Publication Date Title
JP3478670B2 (ja) 印刷制御装置と印刷装置及びそれらの方法と印刷システム
EP1010133B1 (en) Image storage and retrieval for a printer
US7262877B2 (en) Image input-output apparatus and method therefor
JP3792823B2 (ja) 印刷装置及び印刷制御装置
JP3608314B2 (ja) プリンタ装置、プリントデータ送信装置および記憶媒体
US7061654B2 (en) Image processor, image processing method and storage medium
JPH10222319A (ja) 印刷装置及び印刷制御方法
US5557390A (en) Digital copier system
US6016155A (en) Character processing apparatus, character processing method, and memory
US6870633B1 (en) Printing device
US20010028465A1 (en) Image forming apparatus and its control method
US6166824A (en) Print data processing and compression apparatus
JP3919242B2 (ja) 印刷システム及びその制御方法
US8468322B2 (en) Information processing apparatus using a plurality of file systems
JP3814373B2 (ja) 情報処理装置及び印刷制御装置及び方法とプログラム記憶媒体
JPH10320152A (ja) 印刷処理システム、印刷処理装置ならびに、印刷処理方法
US20020057463A1 (en) Image filing apparatus
EP0473016B1 (en) Image forming apparatus
JPH08324040A (ja) 印刷システム及び印刷処理方法
JP2006011807A (ja) 情報処理装置
JP2755315B2 (ja) 印刷制御装置
JP2002152048A (ja) データ圧縮装置及びその方法、データ伸長装置及びその方法、プリンタ装置、プリンタシステム、並びにコンピュータが読出し可能なプログラムを格納した記憶媒体
JPH08267877A (ja) プリンタ装置及びその制御方法
JPH09240075A (ja) 印刷装置とその方法及び印刷システム
JPH04314559A (ja) プリンタ装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030905

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

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees