JPH06202972A - モード切換え装置及び方法 - Google Patents
モード切換え装置及び方法Info
- Publication number
- JPH06202972A JPH06202972A JP22202593A JP22202593A JPH06202972A JP H06202972 A JPH06202972 A JP H06202972A JP 22202593 A JP22202593 A JP 22202593A JP 22202593 A JP22202593 A JP 22202593A JP H06202972 A JPH06202972 A JP H06202972A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- resource
- mode
- memory
- computer
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1822—Analysing the received data before processing
- G06K15/1823—Analysing the received data before processing for evaluating the resources needed, e.g. rasterizing time, ink, paper stock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1859—Generation of the printable image characterized by its workflow involving data processing distributed amongst different data processing apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
- G06K15/1865—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/40—Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
- G06K15/4005—Sharing resources or data with other data processing systems; Preparing such data
- G06K15/402—Sharing data concerning the arrangement's configuration or current state
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0065—Page or partial page composition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 ホストコンピュータとプリンタとの間に効率
的な通信を許容し、資源の利用を最大にするコンピュー
タ・プリンタシステムの提供。 【構成】 プリンタ218は電力投入時に内部データレ
ジスタ及びプリンタメモリ222を初期化し、付加する
ファームウェアに動作コマンドを与える。ファームウェ
アにあって、プリンタ状態、内部レジスタ及びメモリの
完全なイメージをいずれかの動作モードによりアクセス
できるロケーションに記憶し、その完全なイメージを約
8Kバイトにデータ圧縮する。その後、動作制御を元の
ファームウェアに戻し、プリンタは第1動作モードで動
作する。内部データレジスタおよびプリンタメモリをオ
ーバライトして、ホストコンピュータ202がプリンタ
を第2動作モードに切り換える。プリンタは圧縮された
イメージを拡張してその初期状態にリストアし、第1動
作モードに切り換えられる。
的な通信を許容し、資源の利用を最大にするコンピュー
タ・プリンタシステムの提供。 【構成】 プリンタ218は電力投入時に内部データレ
ジスタ及びプリンタメモリ222を初期化し、付加する
ファームウェアに動作コマンドを与える。ファームウェ
アにあって、プリンタ状態、内部レジスタ及びメモリの
完全なイメージをいずれかの動作モードによりアクセス
できるロケーションに記憶し、その完全なイメージを約
8Kバイトにデータ圧縮する。その後、動作制御を元の
ファームウェアに戻し、プリンタは第1動作モードで動
作する。内部データレジスタおよびプリンタメモリをオ
ーバライトして、ホストコンピュータ202がプリンタ
を第2動作モードに切り換える。プリンタは圧縮された
イメージを拡張してその初期状態にリストアし、第1動
作モードに切り換えられる。
Description
【産業上の利用分野】本発明はコンピュータシステムを
用いて印刷する装置及び方法に関する。
用いて印刷する装置及び方法に関する。
【従来の技術】コンピュータシステムは大量のデータを
コンパイルし、処理するために高度に有用である。近代
的なコンピュータシステムは図形画像を表示及び印刷可
能ならしめるグラフィックス能力を含むことが多い。本
文のページ及び図形画像の両者または何れか一方を印刷
するには、データをホストコンピュータが使用している
フォーマットから選択された特定のプリンタが使用して
いるフォーマットへ変換する必要がある。典型的には、
コンピュータデータはビットマップデータファイルに変
換され、このビットマップにおいては各ビットは印刷さ
れるページ上の1つのドットを表す。通常ビットマップ
はホストコンピュータ内で発生され、圧縮されたデータ
フォーマットでプリンタへ転送される。圧縮されたビッ
トマップはプリンタ内で復元されて印刷エンジンと、印
刷プロセスを制御する電子回路とに転送される。印刷エ
ンジンは、用紙の運動、トーナ、及び用紙を移動させる
機械的な駆動システムを制御するプリンタの一部であ
る。印刷エンジンはビットマップデータを受信し、それ
を適切な電圧に変換して印刷画像を作成する。印刷ペー
ジは絵素と呼ばれる個々のドットからなる。典型的なレ
ーザプリンタでは、インチ当たり300、600または
それ以上の絵素が存在することができる。通常各絵素
は、プリンタメモリ内の単一のデータビットによって表
される。レーザ印刷エンジンがある線を走査するにつれ
てその線に対応するデータビットが読出され、そのメモ
リ位置内に記憶されているデータビットの論理レベルに
依存してレーザビームはオン/オフされる。解像力が3
00 絵素/インチである場合、あるページ全部のビッ
トマップデータファイルを記憶するにはプリンタは約1
メガバイトのメモリを必要とする。若干のレーザプリン
タは大きいメモリを含んでおり、ページモードで作動す
る。これはプリンタがページ全体のデータをビットマッ
プ形状で記憶できることを意味する。ページ全体をビッ
トマップ形状で記憶するのに必要なメモリは大容量にな
るから、必要なメモリの量を減少させるために若干のプ
リンタはバンディング(banding)モードを使用
している。バンディングモード能力を有するプリンタ
は、印刷ページをバンドと称する複数の水平セグメント
に細分する。プリンタは一時に1つのバンドに関するビ
ットマップデータだけを受け入れるので、メモリに対す
る要求は低減される。プリンタは第1のバンドに関する
データを処理した後に限って第2のバンドに関するデー
タを受け入れることができる、等々のようになってい
る。例えば、もし印刷ページを4つのバンドに細分すれ
ば、プリンタはそのページの全ビットマップデータの1
/4 だけを記憶すればよいのでメモリに対する要求も
1/4 に低減される。コンピュータ・プリンタシステ
ムの設計は、2つの基本的な目的の達成を含んでいる。
第1の目的は装置独立性である。特定のホストコンピュ
ータのシステム制約からプリンタを独立させるために、
製造業者及びプログラマはプリンタ駆動装置が汎用にな
るように設計を重ねてきた。もし真の装置独立性が得ら
れれば、ホストコンピュータはプリンタインタフェース
にどの型のプリンタが接続されているのかを知る必要は
ない。典型的にはホストコンピュータは、直列I/O
ポートまたは並列I/O ポートのようなハードウエア
インタフェースを通してプリンタシステムにデータを伝
送する。従来のコンピュータ・プリンタシステムでは、
接続された特定のプリンタに対するホストの知識を最小
にし、それに代えてかなり要約されたデータストリーム
に頼ることによって装置独立性を達成することを企図し
ている。その結果、データストリームの転送及び処理が
不十分なペースまで低速になり、処理能力が損なわれが
ちである。例えば、ホストコンピュータはある文書の数
ページのために必要な第1の文字フォントをダウンロー
ドすることができる。特定の印刷タスクにおいて数文字
だけしか必要としない場合であっても、典型的には従来
のコンピュータシステムは全フォントをダウンロードし
ている。第2のフォント集合(または第2のフォント集
合の一部)を必要とする場合には、ホストコンピュータ
は第2の文字フォント全体をダウンロードする。第1の
フォント集合を必要とする爾後のページを印刷する時に
使用される第1のフォント集合を維持する余裕がプリン
タメモリ内に存在している場合でも、その第1のフォン
ト集合が占めているメモリ空間内に第2のフォント集合
が書込まれる。プリンタ資源の現状をホストコンピュー
タに助言するためのプリンタからホストコンピュータへ
の通信は存在していない。第2の目的は、印刷プロセス
の性能の最適化である。レーザプリンタは、単一のコン
ピュータに接続され一時に1または2ページの用紙を処
理するような簡易なスタンドアローンプリンタから、多
重紙トレイとコンピュータ回路網に結合されている複雑
な紙経路とを有し、複数のユーザのために多くのページ
を同時に処理するような精緻なプリンタまで多岐にわた
っている。コンピュータシステムはどの型のプリンタと
も効率的に動作できるものでなければならない。不幸に
も、これらの第1及び第2の目的は相反的である。汎用
両立性を得るための妥協の結果、コンピュータ・プリン
タシステムのデータ処理は極めて低速であることが多
い。更にホストコンピュータはそれに接続されているプ
リンタに関する若干の知識を有している。皮肉にも、こ
れら2つの目的を追求したために現在のコンピュータ・
プリンタシステムは両目的を達成し損なっているのであ
る。ホストコンピュータは、それに接続されているプリ
ンタの型を知っており、しかも“汎用”プリンタ駆動装
置方式は低速で、非効率的なシステムをもたらし、コン
ピュータ及びプリンタは有用なタスクを遂行することな
くページ誤り回復のような発生しないかも知れない競合
を解決するために貴重な計算時間を消費することが屡々
である。例えば従来のコンピュータ・プリンタシステム
は、ある印刷ページがレーザプリンタ上の最後のジャム
(jam)センサを通過するまでそのページ全体のビッ
トマップデータファイルを保持する。ページジャムが生
じた場合でもデータは使用可能でありページは迅速に再
印刷することができる。しかしながら印刷プロセス中に
用紙ジャムが発生することは比較的少ない。一旦印刷エ
ンジンがあるページの印刷を開始すると、そのページが
最後のジャムセンサを通過するためには約10秒を要す
る。プリンタメモリからのビットマップデータファイル
がクリアされ、次のページを処理するまで、各ページが
最後のジャムセンサを通過するための余分な10秒を待
機することによって、総合印刷プロセスはかなり低速に
なる。従来のシステムはページ記述中の任意時点に用紙
サイズの選択を行うために、ページ全体が記述されてし
まうまで印刷エンジンへの紙送りをも遅延させる。例え
ばホストコンピュータはページ全体の記述を転送するこ
とができ、最終記述ラインは欧字サイズの用紙を選択す
ることができる。もしユーザがページ記述の始めに用紙
サイズを選択することを要求すれば紙送りを遅延させる
必要はない。もしあれば、僅かな印刷タスクはこの要求
によって阻害される。一般的にユーザは印刷プロセスが
開始される前に用紙サイズ及び印刷モード(即ち、一方
向または双方向)を知っている。従って、従来のシステ
ムは不要なオプションを提供することによって貴重な時
間を消費していたことになる。現在使用されているプリ
ンタ言語は、ドットマトリクスプリンタで使用されるプ
リンタ言語から開発されたものである。ドットマトリク
スプリンタは未だに使用されてはいるが、レーザプリン
タが広範に使用され始め、成長しつつある。しかも、低
速のドットマトリクスプリンタ向きのプリンタ言語に僅
かな変更を施すことによって、プリンタ言語を増加しつ
つあるレーザプリンタの使用に対処するように企図され
てきた。この進展的な方策は、レーザプリンタにおいて
利用できる潜在的な計算能力の長所を採り入れてはいな
い。プリンタハードウエアが単純な“無言(dum
b)”プリンタからマイクロプロセッサによって制御さ
れる精緻なレーザプリンタまで進展したにも拘わらず、
従来のコンピュータ・プリンタシステムのシステムアー
キテクチャは殆ど変化していない。図1に示す典型的な
従来のコンピュータ・レーザプリンタシステムは、プリ
ンタ内にパーザとして知られる装置を有している。パー
ザはホストコンピュータからデータのバイトを受け、こ
れらのデータのバイトを字句単位(トークン)に編成す
る。これらの字句単位は有意味の語い文脈内に組合わさ
れたデータのストリームである。例えばあるデータスト
リームは、圧縮されたデータフォーマットで伝送される
2進ビットマップであることができる。通常2進データ
は、如何にデータを処理するかをパーザに指令する見出
し及び後書きを伴う。見出し/後書きはASCII バ
イトで伝送され、これらの各バイトはパーザによって処
理されなければならない。パーザは全てのASCII
バイトを、一時に1バイトずつ受け入れ、処理しなけれ
ばならない。その結果、パーザはコンピュータ・プリン
タシステムにおける効率的なデータ流れに対する隘路に
なっている。パーザはプリンタが受信したデータの全て
のバイトを処理し、プリンタ内のメモリ内に表示リスト
を作成する。表示リストは、その対象がページ上の何処
に位置しているかによって分類される。表示リスト内の
ビットマップは一般に非圧縮フォーマットで記憶され
る。本文のような他の対象はかなり短命である。従って
そのページの周囲を巡って走る単一の、単純な矩形は一
般的に1メガバイトの記憶容量を必要とする。イメージ
ャは表示リストを印刷エンジンに適するビットマップデ
ータファイルに変換する。このビットマップデータファ
イルはフレームバッファ内に記憶され、印刷エンジンへ
伝送される。従来のコンピュータ・プリンタシステムが
非効率的である別の領域は、ページを非効率的な順序で
処理することである。もしプリンタが双方向モード(ペ
ージの両側に印刷)で動作していれば、プリンタ内のペ
ージが辿る紙経路は、ページの側1の前にページの側2
を印刷することを要求する。しかしながら、従来のコン
ピュータ・プリンタシステムはページの側1を側2の前
に処理することを要求している。これは、ページの側1
を完全に処理し、ビットマップデータファイルとしてプ
リンタメモリ内に記憶させることを意味する。次いで、
ページの側2が完全に処理されて印刷エンジンへ送られ
る。これらの従来のシステムのフィロソフィは、最初に
側1が処理されるものとユーザが予測していることであ
る。しかしながら、実際にはユーザは、文書が完全に印
刷された時にページが適切な順序でプリンタトレイ内に
現れるであろうことを期待しているに過ぎない。ページ
がプリンタによって実際に印刷される順序以外の任意の
順序でホストコンピュータがページを処理すべきである
とする実質的な理由は存在しない。前述したように、従
来のシステムは近代的なレーザプリンタの利用可能な潜
在的計算能力を使用することにも失敗している。古い設
計の無言プリンタはデータバッファ及び印刷エンジンの
域を殆ど出ていなかった。データ処理は全てホストコン
ピュータによって行われ、プリンタはドットマトリクス
データを印刷していた。近代的なレーザプリンタはマイ
クロプロセッサ制御であり、ホストコンピュータに匹敵
するような計算能力を有している。未だに従来のシステ
ムは、プリンタがデータ処理を遂行する何等の能力をも
持たない無言プリンタとしてプリンタを取り扱う傾向に
ある。これは、部分的には、前述したように装置独立性
を達成しようとする企図に起因する。他の従来のシステ
ムは、実質的に全てのデータ処理に関する責をプリンタ
に負わせている。結果的には、ホストコンピュータとプ
リンタの混合された計算能力は効率的に使用されてはお
らず、総合印刷プロセスは非効率的なペースまで低速化
されている。若干のコンピュータ制御装置は、装置のパ
ーソナリティを変化させるために新しいソフトウエアま
たはファームウエアを挿入することができる。プリンタ
のような装置へプラグインするファームウエアカートリ
ッジの例は、プリンタに新しい機能と挙動を与えるとい
うものである。これは従来の、またはベース動作モード
と新しい動作モードとの間における切換えを含む。この
モード切換えは種々の方法で遂行することができる。1
つの方法は単に新しいソフトウエア内にベース及び新の
両機能を含ませることである。ベース機能と新機能とが
共に新しいソフトウエア内に統合されているのであるか
ら、これにより装置は両モードの間の切換えが容易にな
る。この方策は幾つかの欠点を有している。第1に、こ
の方策は両機能をソフトウエアパッケージ内に含ませる
必要がある。これはソフトウエアの価格と複雑さを増す
ことになる。またベース機能を新ソフトウエアに正確に
重ねることは困難である。これが両立性の問題をもたら
す。モード間を切換える別の方策は、新しいソフトウエ
アが自分自身を使用不能にし、装置をリセットしてベー
ス機能を使用可能ならしめることである。装置が初期化
手順を完了すると、新機能は使用不能にされているので
ベース機能が装置の制御を維持する。モード切換えのこ
の方策は装置を完全にリセットさせる必要があるのが欠
点である。装置のリセット及び初期化は低速プロセスで
ある。従って、動作モード間の迅速且つ容易な切換えを
可能にする装置及び方法に対する強い要望が存在してい
ることが理解されよう。装置独立性を達成し、全ての型
のプリンタとの汎用動作を達成する試みは、ホストコン
ピュータとプリンタとが互いに効率的に通信しないため
に、潜在的な計算能力が活用されず、資源が浪費される
ことから非効率的な印刷プロセスをもたらしただけであ
る。従って、ホストコンピュータとプリンタとの間に効
率的な通信を許容し、資源の利用を最大にするようなコ
ンピュータ・プリンタシステムに対する大きい要望が存
在していることが理解されよう。
コンパイルし、処理するために高度に有用である。近代
的なコンピュータシステムは図形画像を表示及び印刷可
能ならしめるグラフィックス能力を含むことが多い。本
文のページ及び図形画像の両者または何れか一方を印刷
するには、データをホストコンピュータが使用している
フォーマットから選択された特定のプリンタが使用して
いるフォーマットへ変換する必要がある。典型的には、
コンピュータデータはビットマップデータファイルに変
換され、このビットマップにおいては各ビットは印刷さ
れるページ上の1つのドットを表す。通常ビットマップ
はホストコンピュータ内で発生され、圧縮されたデータ
フォーマットでプリンタへ転送される。圧縮されたビッ
トマップはプリンタ内で復元されて印刷エンジンと、印
刷プロセスを制御する電子回路とに転送される。印刷エ
ンジンは、用紙の運動、トーナ、及び用紙を移動させる
機械的な駆動システムを制御するプリンタの一部であ
る。印刷エンジンはビットマップデータを受信し、それ
を適切な電圧に変換して印刷画像を作成する。印刷ペー
ジは絵素と呼ばれる個々のドットからなる。典型的なレ
ーザプリンタでは、インチ当たり300、600または
それ以上の絵素が存在することができる。通常各絵素
は、プリンタメモリ内の単一のデータビットによって表
される。レーザ印刷エンジンがある線を走査するにつれ
てその線に対応するデータビットが読出され、そのメモ
リ位置内に記憶されているデータビットの論理レベルに
依存してレーザビームはオン/オフされる。解像力が3
00 絵素/インチである場合、あるページ全部のビッ
トマップデータファイルを記憶するにはプリンタは約1
メガバイトのメモリを必要とする。若干のレーザプリン
タは大きいメモリを含んでおり、ページモードで作動す
る。これはプリンタがページ全体のデータをビットマッ
プ形状で記憶できることを意味する。ページ全体をビッ
トマップ形状で記憶するのに必要なメモリは大容量にな
るから、必要なメモリの量を減少させるために若干のプ
リンタはバンディング(banding)モードを使用
している。バンディングモード能力を有するプリンタ
は、印刷ページをバンドと称する複数の水平セグメント
に細分する。プリンタは一時に1つのバンドに関するビ
ットマップデータだけを受け入れるので、メモリに対す
る要求は低減される。プリンタは第1のバンドに関する
データを処理した後に限って第2のバンドに関するデー
タを受け入れることができる、等々のようになってい
る。例えば、もし印刷ページを4つのバンドに細分すれ
ば、プリンタはそのページの全ビットマップデータの1
/4 だけを記憶すればよいのでメモリに対する要求も
1/4 に低減される。コンピュータ・プリンタシステ
ムの設計は、2つの基本的な目的の達成を含んでいる。
第1の目的は装置独立性である。特定のホストコンピュ
ータのシステム制約からプリンタを独立させるために、
製造業者及びプログラマはプリンタ駆動装置が汎用にな
るように設計を重ねてきた。もし真の装置独立性が得ら
れれば、ホストコンピュータはプリンタインタフェース
にどの型のプリンタが接続されているのかを知る必要は
ない。典型的にはホストコンピュータは、直列I/O
ポートまたは並列I/O ポートのようなハードウエア
インタフェースを通してプリンタシステムにデータを伝
送する。従来のコンピュータ・プリンタシステムでは、
接続された特定のプリンタに対するホストの知識を最小
にし、それに代えてかなり要約されたデータストリーム
に頼ることによって装置独立性を達成することを企図し
ている。その結果、データストリームの転送及び処理が
不十分なペースまで低速になり、処理能力が損なわれが
ちである。例えば、ホストコンピュータはある文書の数
ページのために必要な第1の文字フォントをダウンロー
ドすることができる。特定の印刷タスクにおいて数文字
だけしか必要としない場合であっても、典型的には従来
のコンピュータシステムは全フォントをダウンロードし
ている。第2のフォント集合(または第2のフォント集
合の一部)を必要とする場合には、ホストコンピュータ
は第2の文字フォント全体をダウンロードする。第1の
フォント集合を必要とする爾後のページを印刷する時に
使用される第1のフォント集合を維持する余裕がプリン
タメモリ内に存在している場合でも、その第1のフォン
ト集合が占めているメモリ空間内に第2のフォント集合
が書込まれる。プリンタ資源の現状をホストコンピュー
タに助言するためのプリンタからホストコンピュータへ
の通信は存在していない。第2の目的は、印刷プロセス
の性能の最適化である。レーザプリンタは、単一のコン
ピュータに接続され一時に1または2ページの用紙を処
理するような簡易なスタンドアローンプリンタから、多
重紙トレイとコンピュータ回路網に結合されている複雑
な紙経路とを有し、複数のユーザのために多くのページ
を同時に処理するような精緻なプリンタまで多岐にわた
っている。コンピュータシステムはどの型のプリンタと
も効率的に動作できるものでなければならない。不幸に
も、これらの第1及び第2の目的は相反的である。汎用
両立性を得るための妥協の結果、コンピュータ・プリン
タシステムのデータ処理は極めて低速であることが多
い。更にホストコンピュータはそれに接続されているプ
リンタに関する若干の知識を有している。皮肉にも、こ
れら2つの目的を追求したために現在のコンピュータ・
プリンタシステムは両目的を達成し損なっているのであ
る。ホストコンピュータは、それに接続されているプリ
ンタの型を知っており、しかも“汎用”プリンタ駆動装
置方式は低速で、非効率的なシステムをもたらし、コン
ピュータ及びプリンタは有用なタスクを遂行することな
くページ誤り回復のような発生しないかも知れない競合
を解決するために貴重な計算時間を消費することが屡々
である。例えば従来のコンピュータ・プリンタシステム
は、ある印刷ページがレーザプリンタ上の最後のジャム
(jam)センサを通過するまでそのページ全体のビッ
トマップデータファイルを保持する。ページジャムが生
じた場合でもデータは使用可能でありページは迅速に再
印刷することができる。しかしながら印刷プロセス中に
用紙ジャムが発生することは比較的少ない。一旦印刷エ
ンジンがあるページの印刷を開始すると、そのページが
最後のジャムセンサを通過するためには約10秒を要す
る。プリンタメモリからのビットマップデータファイル
がクリアされ、次のページを処理するまで、各ページが
最後のジャムセンサを通過するための余分な10秒を待
機することによって、総合印刷プロセスはかなり低速に
なる。従来のシステムはページ記述中の任意時点に用紙
サイズの選択を行うために、ページ全体が記述されてし
まうまで印刷エンジンへの紙送りをも遅延させる。例え
ばホストコンピュータはページ全体の記述を転送するこ
とができ、最終記述ラインは欧字サイズの用紙を選択す
ることができる。もしユーザがページ記述の始めに用紙
サイズを選択することを要求すれば紙送りを遅延させる
必要はない。もしあれば、僅かな印刷タスクはこの要求
によって阻害される。一般的にユーザは印刷プロセスが
開始される前に用紙サイズ及び印刷モード(即ち、一方
向または双方向)を知っている。従って、従来のシステ
ムは不要なオプションを提供することによって貴重な時
間を消費していたことになる。現在使用されているプリ
ンタ言語は、ドットマトリクスプリンタで使用されるプ
リンタ言語から開発されたものである。ドットマトリク
スプリンタは未だに使用されてはいるが、レーザプリン
タが広範に使用され始め、成長しつつある。しかも、低
速のドットマトリクスプリンタ向きのプリンタ言語に僅
かな変更を施すことによって、プリンタ言語を増加しつ
つあるレーザプリンタの使用に対処するように企図され
てきた。この進展的な方策は、レーザプリンタにおいて
利用できる潜在的な計算能力の長所を採り入れてはいな
い。プリンタハードウエアが単純な“無言(dum
b)”プリンタからマイクロプロセッサによって制御さ
れる精緻なレーザプリンタまで進展したにも拘わらず、
従来のコンピュータ・プリンタシステムのシステムアー
キテクチャは殆ど変化していない。図1に示す典型的な
従来のコンピュータ・レーザプリンタシステムは、プリ
ンタ内にパーザとして知られる装置を有している。パー
ザはホストコンピュータからデータのバイトを受け、こ
れらのデータのバイトを字句単位(トークン)に編成す
る。これらの字句単位は有意味の語い文脈内に組合わさ
れたデータのストリームである。例えばあるデータスト
リームは、圧縮されたデータフォーマットで伝送される
2進ビットマップであることができる。通常2進データ
は、如何にデータを処理するかをパーザに指令する見出
し及び後書きを伴う。見出し/後書きはASCII バ
イトで伝送され、これらの各バイトはパーザによって処
理されなければならない。パーザは全てのASCII
バイトを、一時に1バイトずつ受け入れ、処理しなけれ
ばならない。その結果、パーザはコンピュータ・プリン
タシステムにおける効率的なデータ流れに対する隘路に
なっている。パーザはプリンタが受信したデータの全て
のバイトを処理し、プリンタ内のメモリ内に表示リスト
を作成する。表示リストは、その対象がページ上の何処
に位置しているかによって分類される。表示リスト内の
ビットマップは一般に非圧縮フォーマットで記憶され
る。本文のような他の対象はかなり短命である。従って
そのページの周囲を巡って走る単一の、単純な矩形は一
般的に1メガバイトの記憶容量を必要とする。イメージ
ャは表示リストを印刷エンジンに適するビットマップデ
ータファイルに変換する。このビットマップデータファ
イルはフレームバッファ内に記憶され、印刷エンジンへ
伝送される。従来のコンピュータ・プリンタシステムが
非効率的である別の領域は、ページを非効率的な順序で
処理することである。もしプリンタが双方向モード(ペ
ージの両側に印刷)で動作していれば、プリンタ内のペ
ージが辿る紙経路は、ページの側1の前にページの側2
を印刷することを要求する。しかしながら、従来のコン
ピュータ・プリンタシステムはページの側1を側2の前
に処理することを要求している。これは、ページの側1
を完全に処理し、ビットマップデータファイルとしてプ
リンタメモリ内に記憶させることを意味する。次いで、
ページの側2が完全に処理されて印刷エンジンへ送られ
る。これらの従来のシステムのフィロソフィは、最初に
側1が処理されるものとユーザが予測していることであ
る。しかしながら、実際にはユーザは、文書が完全に印
刷された時にページが適切な順序でプリンタトレイ内に
現れるであろうことを期待しているに過ぎない。ページ
がプリンタによって実際に印刷される順序以外の任意の
順序でホストコンピュータがページを処理すべきである
とする実質的な理由は存在しない。前述したように、従
来のシステムは近代的なレーザプリンタの利用可能な潜
在的計算能力を使用することにも失敗している。古い設
計の無言プリンタはデータバッファ及び印刷エンジンの
域を殆ど出ていなかった。データ処理は全てホストコン
ピュータによって行われ、プリンタはドットマトリクス
データを印刷していた。近代的なレーザプリンタはマイ
クロプロセッサ制御であり、ホストコンピュータに匹敵
するような計算能力を有している。未だに従来のシステ
ムは、プリンタがデータ処理を遂行する何等の能力をも
持たない無言プリンタとしてプリンタを取り扱う傾向に
ある。これは、部分的には、前述したように装置独立性
を達成しようとする企図に起因する。他の従来のシステ
ムは、実質的に全てのデータ処理に関する責をプリンタ
に負わせている。結果的には、ホストコンピュータとプ
リンタの混合された計算能力は効率的に使用されてはお
らず、総合印刷プロセスは非効率的なペースまで低速化
されている。若干のコンピュータ制御装置は、装置のパ
ーソナリティを変化させるために新しいソフトウエアま
たはファームウエアを挿入することができる。プリンタ
のような装置へプラグインするファームウエアカートリ
ッジの例は、プリンタに新しい機能と挙動を与えるとい
うものである。これは従来の、またはベース動作モード
と新しい動作モードとの間における切換えを含む。この
モード切換えは種々の方法で遂行することができる。1
つの方法は単に新しいソフトウエア内にベース及び新の
両機能を含ませることである。ベース機能と新機能とが
共に新しいソフトウエア内に統合されているのであるか
ら、これにより装置は両モードの間の切換えが容易にな
る。この方策は幾つかの欠点を有している。第1に、こ
の方策は両機能をソフトウエアパッケージ内に含ませる
必要がある。これはソフトウエアの価格と複雑さを増す
ことになる。またベース機能を新ソフトウエアに正確に
重ねることは困難である。これが両立性の問題をもたら
す。モード間を切換える別の方策は、新しいソフトウエ
アが自分自身を使用不能にし、装置をリセットしてベー
ス機能を使用可能ならしめることである。装置が初期化
手順を完了すると、新機能は使用不能にされているので
ベース機能が装置の制御を維持する。モード切換えのこ
の方策は装置を完全にリセットさせる必要があるのが欠
点である。装置のリセット及び初期化は低速プロセスで
ある。従って、動作モード間の迅速且つ容易な切換えを
可能にする装置及び方法に対する強い要望が存在してい
ることが理解されよう。装置独立性を達成し、全ての型
のプリンタとの汎用動作を達成する試みは、ホストコン
ピュータとプリンタとが互いに効率的に通信しないため
に、潜在的な計算能力が活用されず、資源が浪費される
ことから非効率的な印刷プロセスをもたらしただけであ
る。従って、ホストコンピュータとプリンタとの間に効
率的な通信を許容し、資源の利用を最大にするようなコ
ンピュータ・プリンタシステムに対する大きい要望が存
在していることが理解されよう。
【発明の概要】本発明のシステムは、装置を第1の動作
モードから第2の動作モードへ切換えることを可能にし
たシステム内に実現されている。装置を先ず初期化した
後に、本発明のシステムは第1の動作モードに対応する
内部データレジスタとメモリの内容を圧縮する。圧縮さ
れた初期値は、どちらの動作モードにもアクセスできな
いステートバッファ内に記憶される。何れかの動作モー
ドで動作を開始することができる。第1の動作モードか
ら第2の動作モードへ切換えるには、第2の動作モード
によって初期状態及び装置のメモリを無効にする。第2
の動作モードから第1の動作モードへ切換えて戻るには
ステートバッファを拡張し、復元させる。一実施例で
は,検査合計をステートバッファに使用してステートバ
ッファの変更を検出する。もしステートバッファが変化
すれば、システムは装置を初期化させる。別の実施例で
は、内部データレジスタの内容は圧縮されない。
モードから第2の動作モードへ切換えることを可能にし
たシステム内に実現されている。装置を先ず初期化した
後に、本発明のシステムは第1の動作モードに対応する
内部データレジスタとメモリの内容を圧縮する。圧縮さ
れた初期値は、どちらの動作モードにもアクセスできな
いステートバッファ内に記憶される。何れかの動作モー
ドで動作を開始することができる。第1の動作モードか
ら第2の動作モードへ切換えるには、第2の動作モード
によって初期状態及び装置のメモリを無効にする。第2
の動作モードから第1の動作モードへ切換えて戻るには
ステートバッファを拡張し、復元させる。一実施例で
は,検査合計をステートバッファに使用してステートバ
ッファの変更を検出する。もしステートバッファが変化
すれば、システムは装置を初期化させる。別の実施例で
は、内部データレジスタの内容は圧縮されない。
【発明の概要】本発明はホストコンピュータ・プリンタ
対話に対して革命的な方策を取っている。本発明は、印
刷プロセスの印刷速度を劇的に増大させ、応用(アプリ
ケーション)時間を減少させるために、ホストコンピュ
ータとプリンタとの共働努力を許容する。応用時間への
戻りは、ホストコンピュータが印刷ジョブの処理を要求
し、そして印刷を開始させた応用プログラムへ戻る時間
である。多くの従来のコンピュータ・プリンタシステム
は、印刷ページではなくコンピュータコードを実行する
ように設計されている。つまり、プリンタはコードを受
信し、変換し、そして実行し、ページはコード実行の副
産物として印刷されるのである。従来の多くのシステム
は単一のページを印刷するために大量のコードを実行し
ている。前述したように、従来のシステムはホストコン
ピュータとプリンタとの間に実効的な対話を有していな
い。従って近代的なプリンタの精緻な計算能力は利用さ
れていない。それに対して本発明はプリンタの計算能力
の利点を活用し、ホストコンピュータとプリンタとの間
の自由な通信を許容するように設計されている。本発明
は、文書をより効率的に印刷するために互いに共働する
ことができる同一“システム”の2つの部分としてホス
トコンピュータ及びプリンタを見ている。ある文書を印
刷するために2つの文字フォント集合を必要とする上例
では、本発明のホストコンピュータは、プリンタが第1
のフォント集合を保持でき、従ってプリンタメモリ内に
第1のフォント集合を維持していることを知っている。
更に従来のホストコンピュータは典型的に処理中の現ペ
ージだけを見ており、将来第1のフォント集合を必要と
するか否か、またプリンタメモリ内に保持すべきか否か
を決定するために先見することがない。その結果従来の
ホストコンピュータはもし数ページを印刷するために必
要ならば、第1のフォント集合を繰り返してダウンロー
ドしなければならない(及びプロセス中に第2のフォン
ト集合を削除するかも知れない)。若干の従来のシステ
ムは粗雑な先見能力を有してはいるが、それは極めて制
限されたものでありメモリを効率的に利用するものでは
ないことを理解されたい。それに対して本発明のシステ
ムは、印刷タスクにおける先見によって第1のフォント
集合(または任意の他の資源)をプリンタメモリ内に保
持すべきか否かを決定し、また第1のフォント集合が最
早必要ではなくプリンタメモリから解放乃至は削除でき
る時点を決定する。更に本発明のシステムは、あるフォ
ント集合の一部分だけを必要とする場合に文字フォント
の部分集合を構成し、利用可能な資源の使用を最大にす
る。以上のように本発明は印刷に際して資源向きの方策
を取るのである。以下の説明はレーザプリンタの動作の
詳細に関するものであるが、本発明のシステム及び方法
はレーザ、感熱、インパクト、昇華、インクジェット等
々のような何等かのマーキング技術にも適用可能であ
る。資源とは、コンピュータ・プリンタシステム内にあ
ってメモリを占有する何等かのものであり、文書を印刷
するために必要なものである。文書は資源を使用して完
全に記述される。資源なる語の詳細に関しては後述す
る。本発明の原理によれば、目的は文書を迅速に印刷す
ること、及びホストコンピュータが最短時間で応用プロ
グラムに戻ることを許容することである。これは、シス
テムの各部分及び使用可能な資源がタスクを達成するた
めの要求をシステムの他の部分が容易に知ることができ
るように、ホストコンピュータとプリンタとの間に通信
を開くことを許容することによって達成される。ホスト
コンピュータ及びプリンタの計算能力及び使用可能なメ
モリを活用するので、全印刷プロセスは、部分的に、従
来のコンピュータ・プリンタシステムよりも高速であ
る。本発明は、一方向通信能力だけを有し且つプリンタ
が使用中であることを指示するためにプリンタからホス
トコンピュータまでのステータスラインを使用するコン
ピュータ・プリンタシステムと共に使用することができ
る。他のコンピュータまたはプリンタは双方向通信を有
しているが、本発明が要求するようなデータ転送速度で
は完全な双方向通信を支持することはできない。本発明
は双方向通信を確立することを企図するものであるが、
完全な双方向通信を効率的に支持することができない程
長い待ち時間のためにコンピュータまたはプリンタの何
れかが双方向通信を支持できなければ一方向通信に頼る
ことになろう。しかし、多くのコンピュータ・プリンタ
システムはホストコンピュータとプリンタとの間に完全
な双方向通信を有している。もしコンピュータ・プリン
タシステムが双方向能力を有していれば、本発明は誤り
回復能力が向上し、特定の印刷タスクに依存してプリン
タとホストコンピュータとの間で若干の機能を行き来さ
せる能力を有することになる。この“負荷平衡化”は、
コンピュータ・プリンタシステムの中で印刷タスクを最
も効率的に遂行できる部分によってタスクを処理させる
ことを許容するので印刷速度をかなり早めることができ
る。前述したように、資源とは文書を印刷するために必
要な実質的に何等かのものである。これには、文字フォ
ント集合、絵文字(glyph)集合、点テーブル、ブ
ラシ、ユーザが定義した図形画像、及びページ自体を記
述するデータが含まれる。“フォント集合”はタイムズ
・ローマン、ヘルベティカ、クーリエ等々のような特定
の文字書体を限定するASCII 文字の集合であり、
通常はビットマップとして記憶される。若干のプリンタ
はプリンタ内の読出し専用メモリ(ROM)集積回路内
に記憶されているフォント集合を有しており、他のコン
ピュータ・プリンタシステムはホストコンピュータ内に
ビットマップデータファイルとして記憶され必要に応じ
てプリンタのランダムアクセスメモリ(RAM)へダウ
ンロードされる“ソフトフォント”を使用している。ソ
フトフォントは、フォントが一般的にホストコンピュー
タ内のディスクに頼り、従ってプリンタ内のメモリ空間
を恒久的に占めることがないからプリンタに大きい柔軟
性を与える。更に他のコンピュータ・プリンタシステム
はトゥルータイプ(True Type)フォントのよ
うなフォント基準化技術を使用しており、これらのフォ
ントはビットマップデータファイルとして記憶されるこ
とはない。その代わりとして、これらのフォントは各フ
ォント型毎の文字の線及び曲線を定義する方程式の集合
によって記述される。ホストコンピュータまたはプリン
タはこれらの方程式を使用して任意のポイントサイズの
特定フォント文字を構成する。フォント基準化技術の利
点は、方程式の単一の集合を使用して全てのポイントサ
イズのためのフォント型を記述できることであり、一方
ビットマップとして記憶されるフォントは単一のポイン
トサイズのためだけにしか使用できない。例えば、タイ
ムズ・ローマン4、タイムズ・ローマン4、タイムズ・
ローマン8、及びタイムズ・ローマン10は4つの分離
したフォントと見做され、各々は特定のフォントを記述
するのに分離したビットマップデータファイルを必要と
する。これに対してフォント基準化技術は全てのポイン
トサイズのタイムズ・ローマン文字を記述する方程式の
単一の集合を有している。ホストコンピュータまたはプ
リンタは方程式を適用し、方程式を選択されたポイント
サイズに対して基準化するのでビットマップデータファ
イルの複数の集合を必要としない。本発明はROM に
記憶されているフォント、ソフトフォント、またはフォ
ント基準化技術の何れかと共に働く。“絵文字集合”
は、ホストコンピュータ内に記憶されている所定の文字
からなることがソフトフォントに類似している。しか
し、これらの所定の文字は必ずしも完全な文字フォント
集合である必要はなく、またユーザが定義した文字、図
形記号、または種々の文字フォント集合からの異なる書
体の組合せを含むことができる点がフォント集合とは異
なっている。例えば、絵文字集合は幾つかの異なるフォ
ント集合からの数字及び数学的記号、並びに若干のユー
ザが定義した図形記号を含む方程式であることができ
る。特定の絵文字集合は完全な文字集合を含む程度に十
分に大きくてよく、または単一の文字程度に小さくても
よい。絵文字集合の別の例は、文書内に使用することが
できる所得申告またはデータエントリ形状のような形状
である。本発明はこの形状を作成することができ、また
それを絵文字集合として記憶する。もしこの形状を文書
内に再度使用するのであれば、その形状全部を絵文字集
合として使用することができる。若干の従来のシステム
は絵文字集合を制限された手法で使用している。従来の
ホストコンピュータは、プリンタへダウンロードするた
めに文字フォントの部分集合をアセンブルすることがで
きる。もし新しい文字が必要であれば従来のホストコン
ピュータは必要とされる新しい文字だけをインクリメン
ト的にダウンロードし、それを既にダウンロードされて
いる絵文字集合に追加することができる。しかし、従来
のシステムは絵文字集合資源を能動的に管理することは
ない。従来のシステムは一般的に、絵文字集合が将来必
要とされることには構わずに、新しいページの開始時に
絵文字集合をクリアする。これは、新しいページが絵文
字集合を必要とする場合には、従来のホストコンピュー
タに新しい絵文字集合を構成させることになる。新たに
構成された絵文字集合は先行絵文字集合とは同一ではな
いかも知れず、絵文字集合の周期的な再構成及びダウン
ロードは印刷プロセスに余分な時間を消費させる。更に
従来のシステムは、どの文字が絵文字集合内に存在して
いるかを指示するために大量のデータを絵文字集合に付
随させることを要求する。これとは対照的に、本発明は
使用可能な資源から絵文字集合を構成し、絵文字集合を
単一の資源として能動的に管理する。本明細書において
使用している“絵文字集合”という語は、フォントのよ
うな他の資源の部分を構成している資源のことを言う。
簡略化のために、絵文字集合を資源と呼ぶことがある。
本発明は絵文字集合が所定のサイズに達するまで絵文字
集合をアセンブルするが、その絵文字集合を直ちにプリ
ンタへ転送することはない。アセンブルされた絵文字集
合は必要に応じてプリンタへ転送されるユニットとして
取り扱われ、最早必要としなくなった時にはユニットと
してプリンタから削除される。従来のシステムで行われ
ているように新しいページの開始時にプリンタメモリを
クリアする方策は採らず、絵文字集合は、将来その絵文
字集合が必要であることに基づいて能動的に管理され、
プリンタ資源内の使用可能な空間内に記憶される。本発
明の絵文字集合は、どの文字が絵文字集合内にあるかを
指示する“内容のテーブル”として見出しをも含むが、
一旦構成された絵文字集合は変化することがないので、
この見出しのサイズは従来の見出しよりも遥かに小さ
い。“点テーブル”は図形対象を定義するために使用さ
れる座標点のテーブルである。例えば、矩形のような図
形対象は4つの角の座標によって定義することができ
る。同様に、三次ベジェ(Bezier)曲線は4つの
制御点によって定義される。点テーブルはこれらの制御
点の座標を記憶する。ベジェ曲線を描写する場合にレー
ザプリンタでより滑らかな曲線を印刷するために、プリ
ンタの実際の解像力を超える高解像力を使用して曲線描
写プロセスを遂行することが多い。曲線を描写するため
に計算された線は、対象がプリンタで実際に印刷される
時に分割されるので、より滑らかに見える像が作成され
る。もし高解像力計算が遂行されれば、点テーブルはベ
ジェ曲線を描写するために使用される全ての線セグメン
トの座標を含む。点テーブルは、マウスまたは他の位置
決め装置を使用して描き、ディジタル化テーブル等を使
用して座標を入力することによってユーザが応用プログ
ラム内に作成することもできる。“ブラシ”は、矩形ま
たは円のような図形対象の内部を埋めるのに典型的に使
用される図形パターンである。ブラシは図形対象の内部
全体を埋めるために繰り返される最小の繰り返しパター
ンである。例えば円のような対象を作成する場合、ドロ
ープリミティブ(draw primitive)はプ
リンタに命令して円を作成させ、特定の図形パターンを
有する内部を埋める。例えばクロスハッチパターンは一
連の小さい“x”形状で構成し、対象全体内を埋めるた
めにそれを繰り返せばよい。本発明のシステムはプリン
タ内に広く使用されているブラシを記憶しており、ホス
トコンピュータを使用して付加的な種々のブラシを作成
する。印刷ページを記述するデータは資源とも見做され
る。ホストコンピュータは、ワードプロセッサ、スプレ
ッドシート(spread sheet)、データベー
ス等々のような応用プログラムによって作成することが
できるページの記述を含む。本発明はこのページ記述を
ドロープリミティブに変換し、これらのドロープリミテ
ィブを文書を印刷するために必要な他の資源と相互に関
連付ける。変換プロセスの詳細に関しては後述する。
対話に対して革命的な方策を取っている。本発明は、印
刷プロセスの印刷速度を劇的に増大させ、応用(アプリ
ケーション)時間を減少させるために、ホストコンピュ
ータとプリンタとの共働努力を許容する。応用時間への
戻りは、ホストコンピュータが印刷ジョブの処理を要求
し、そして印刷を開始させた応用プログラムへ戻る時間
である。多くの従来のコンピュータ・プリンタシステム
は、印刷ページではなくコンピュータコードを実行する
ように設計されている。つまり、プリンタはコードを受
信し、変換し、そして実行し、ページはコード実行の副
産物として印刷されるのである。従来の多くのシステム
は単一のページを印刷するために大量のコードを実行し
ている。前述したように、従来のシステムはホストコン
ピュータとプリンタとの間に実効的な対話を有していな
い。従って近代的なプリンタの精緻な計算能力は利用さ
れていない。それに対して本発明はプリンタの計算能力
の利点を活用し、ホストコンピュータとプリンタとの間
の自由な通信を許容するように設計されている。本発明
は、文書をより効率的に印刷するために互いに共働する
ことができる同一“システム”の2つの部分としてホス
トコンピュータ及びプリンタを見ている。ある文書を印
刷するために2つの文字フォント集合を必要とする上例
では、本発明のホストコンピュータは、プリンタが第1
のフォント集合を保持でき、従ってプリンタメモリ内に
第1のフォント集合を維持していることを知っている。
更に従来のホストコンピュータは典型的に処理中の現ペ
ージだけを見ており、将来第1のフォント集合を必要と
するか否か、またプリンタメモリ内に保持すべきか否か
を決定するために先見することがない。その結果従来の
ホストコンピュータはもし数ページを印刷するために必
要ならば、第1のフォント集合を繰り返してダウンロー
ドしなければならない(及びプロセス中に第2のフォン
ト集合を削除するかも知れない)。若干の従来のシステ
ムは粗雑な先見能力を有してはいるが、それは極めて制
限されたものでありメモリを効率的に利用するものでは
ないことを理解されたい。それに対して本発明のシステ
ムは、印刷タスクにおける先見によって第1のフォント
集合(または任意の他の資源)をプリンタメモリ内に保
持すべきか否かを決定し、また第1のフォント集合が最
早必要ではなくプリンタメモリから解放乃至は削除でき
る時点を決定する。更に本発明のシステムは、あるフォ
ント集合の一部分だけを必要とする場合に文字フォント
の部分集合を構成し、利用可能な資源の使用を最大にす
る。以上のように本発明は印刷に際して資源向きの方策
を取るのである。以下の説明はレーザプリンタの動作の
詳細に関するものであるが、本発明のシステム及び方法
はレーザ、感熱、インパクト、昇華、インクジェット等
々のような何等かのマーキング技術にも適用可能であ
る。資源とは、コンピュータ・プリンタシステム内にあ
ってメモリを占有する何等かのものであり、文書を印刷
するために必要なものである。文書は資源を使用して完
全に記述される。資源なる語の詳細に関しては後述す
る。本発明の原理によれば、目的は文書を迅速に印刷す
ること、及びホストコンピュータが最短時間で応用プロ
グラムに戻ることを許容することである。これは、シス
テムの各部分及び使用可能な資源がタスクを達成するた
めの要求をシステムの他の部分が容易に知ることができ
るように、ホストコンピュータとプリンタとの間に通信
を開くことを許容することによって達成される。ホスト
コンピュータ及びプリンタの計算能力及び使用可能なメ
モリを活用するので、全印刷プロセスは、部分的に、従
来のコンピュータ・プリンタシステムよりも高速であ
る。本発明は、一方向通信能力だけを有し且つプリンタ
が使用中であることを指示するためにプリンタからホス
トコンピュータまでのステータスラインを使用するコン
ピュータ・プリンタシステムと共に使用することができ
る。他のコンピュータまたはプリンタは双方向通信を有
しているが、本発明が要求するようなデータ転送速度で
は完全な双方向通信を支持することはできない。本発明
は双方向通信を確立することを企図するものであるが、
完全な双方向通信を効率的に支持することができない程
長い待ち時間のためにコンピュータまたはプリンタの何
れかが双方向通信を支持できなければ一方向通信に頼る
ことになろう。しかし、多くのコンピュータ・プリンタ
システムはホストコンピュータとプリンタとの間に完全
な双方向通信を有している。もしコンピュータ・プリン
タシステムが双方向能力を有していれば、本発明は誤り
回復能力が向上し、特定の印刷タスクに依存してプリン
タとホストコンピュータとの間で若干の機能を行き来さ
せる能力を有することになる。この“負荷平衡化”は、
コンピュータ・プリンタシステムの中で印刷タスクを最
も効率的に遂行できる部分によってタスクを処理させる
ことを許容するので印刷速度をかなり早めることができ
る。前述したように、資源とは文書を印刷するために必
要な実質的に何等かのものである。これには、文字フォ
ント集合、絵文字(glyph)集合、点テーブル、ブ
ラシ、ユーザが定義した図形画像、及びページ自体を記
述するデータが含まれる。“フォント集合”はタイムズ
・ローマン、ヘルベティカ、クーリエ等々のような特定
の文字書体を限定するASCII 文字の集合であり、
通常はビットマップとして記憶される。若干のプリンタ
はプリンタ内の読出し専用メモリ(ROM)集積回路内
に記憶されているフォント集合を有しており、他のコン
ピュータ・プリンタシステムはホストコンピュータ内に
ビットマップデータファイルとして記憶され必要に応じ
てプリンタのランダムアクセスメモリ(RAM)へダウ
ンロードされる“ソフトフォント”を使用している。ソ
フトフォントは、フォントが一般的にホストコンピュー
タ内のディスクに頼り、従ってプリンタ内のメモリ空間
を恒久的に占めることがないからプリンタに大きい柔軟
性を与える。更に他のコンピュータ・プリンタシステム
はトゥルータイプ(True Type)フォントのよ
うなフォント基準化技術を使用しており、これらのフォ
ントはビットマップデータファイルとして記憶されるこ
とはない。その代わりとして、これらのフォントは各フ
ォント型毎の文字の線及び曲線を定義する方程式の集合
によって記述される。ホストコンピュータまたはプリン
タはこれらの方程式を使用して任意のポイントサイズの
特定フォント文字を構成する。フォント基準化技術の利
点は、方程式の単一の集合を使用して全てのポイントサ
イズのためのフォント型を記述できることであり、一方
ビットマップとして記憶されるフォントは単一のポイン
トサイズのためだけにしか使用できない。例えば、タイ
ムズ・ローマン4、タイムズ・ローマン4、タイムズ・
ローマン8、及びタイムズ・ローマン10は4つの分離
したフォントと見做され、各々は特定のフォントを記述
するのに分離したビットマップデータファイルを必要と
する。これに対してフォント基準化技術は全てのポイン
トサイズのタイムズ・ローマン文字を記述する方程式の
単一の集合を有している。ホストコンピュータまたはプ
リンタは方程式を適用し、方程式を選択されたポイント
サイズに対して基準化するのでビットマップデータファ
イルの複数の集合を必要としない。本発明はROM に
記憶されているフォント、ソフトフォント、またはフォ
ント基準化技術の何れかと共に働く。“絵文字集合”
は、ホストコンピュータ内に記憶されている所定の文字
からなることがソフトフォントに類似している。しか
し、これらの所定の文字は必ずしも完全な文字フォント
集合である必要はなく、またユーザが定義した文字、図
形記号、または種々の文字フォント集合からの異なる書
体の組合せを含むことができる点がフォント集合とは異
なっている。例えば、絵文字集合は幾つかの異なるフォ
ント集合からの数字及び数学的記号、並びに若干のユー
ザが定義した図形記号を含む方程式であることができ
る。特定の絵文字集合は完全な文字集合を含む程度に十
分に大きくてよく、または単一の文字程度に小さくても
よい。絵文字集合の別の例は、文書内に使用することが
できる所得申告またはデータエントリ形状のような形状
である。本発明はこの形状を作成することができ、また
それを絵文字集合として記憶する。もしこの形状を文書
内に再度使用するのであれば、その形状全部を絵文字集
合として使用することができる。若干の従来のシステム
は絵文字集合を制限された手法で使用している。従来の
ホストコンピュータは、プリンタへダウンロードするた
めに文字フォントの部分集合をアセンブルすることがで
きる。もし新しい文字が必要であれば従来のホストコン
ピュータは必要とされる新しい文字だけをインクリメン
ト的にダウンロードし、それを既にダウンロードされて
いる絵文字集合に追加することができる。しかし、従来
のシステムは絵文字集合資源を能動的に管理することは
ない。従来のシステムは一般的に、絵文字集合が将来必
要とされることには構わずに、新しいページの開始時に
絵文字集合をクリアする。これは、新しいページが絵文
字集合を必要とする場合には、従来のホストコンピュー
タに新しい絵文字集合を構成させることになる。新たに
構成された絵文字集合は先行絵文字集合とは同一ではな
いかも知れず、絵文字集合の周期的な再構成及びダウン
ロードは印刷プロセスに余分な時間を消費させる。更に
従来のシステムは、どの文字が絵文字集合内に存在して
いるかを指示するために大量のデータを絵文字集合に付
随させることを要求する。これとは対照的に、本発明は
使用可能な資源から絵文字集合を構成し、絵文字集合を
単一の資源として能動的に管理する。本明細書において
使用している“絵文字集合”という語は、フォントのよ
うな他の資源の部分を構成している資源のことを言う。
簡略化のために、絵文字集合を資源と呼ぶことがある。
本発明は絵文字集合が所定のサイズに達するまで絵文字
集合をアセンブルするが、その絵文字集合を直ちにプリ
ンタへ転送することはない。アセンブルされた絵文字集
合は必要に応じてプリンタへ転送されるユニットとして
取り扱われ、最早必要としなくなった時にはユニットと
してプリンタから削除される。従来のシステムで行われ
ているように新しいページの開始時にプリンタメモリを
クリアする方策は採らず、絵文字集合は、将来その絵文
字集合が必要であることに基づいて能動的に管理され、
プリンタ資源内の使用可能な空間内に記憶される。本発
明の絵文字集合は、どの文字が絵文字集合内にあるかを
指示する“内容のテーブル”として見出しをも含むが、
一旦構成された絵文字集合は変化することがないので、
この見出しのサイズは従来の見出しよりも遥かに小さ
い。“点テーブル”は図形対象を定義するために使用さ
れる座標点のテーブルである。例えば、矩形のような図
形対象は4つの角の座標によって定義することができ
る。同様に、三次ベジェ(Bezier)曲線は4つの
制御点によって定義される。点テーブルはこれらの制御
点の座標を記憶する。ベジェ曲線を描写する場合にレー
ザプリンタでより滑らかな曲線を印刷するために、プリ
ンタの実際の解像力を超える高解像力を使用して曲線描
写プロセスを遂行することが多い。曲線を描写するため
に計算された線は、対象がプリンタで実際に印刷される
時に分割されるので、より滑らかに見える像が作成され
る。もし高解像力計算が遂行されれば、点テーブルはベ
ジェ曲線を描写するために使用される全ての線セグメン
トの座標を含む。点テーブルは、マウスまたは他の位置
決め装置を使用して描き、ディジタル化テーブル等を使
用して座標を入力することによってユーザが応用プログ
ラム内に作成することもできる。“ブラシ”は、矩形ま
たは円のような図形対象の内部を埋めるのに典型的に使
用される図形パターンである。ブラシは図形対象の内部
全体を埋めるために繰り返される最小の繰り返しパター
ンである。例えば円のような対象を作成する場合、ドロ
ープリミティブ(draw primitive)はプ
リンタに命令して円を作成させ、特定の図形パターンを
有する内部を埋める。例えばクロスハッチパターンは一
連の小さい“x”形状で構成し、対象全体内を埋めるた
めにそれを繰り返せばよい。本発明のシステムはプリン
タ内に広く使用されているブラシを記憶しており、ホス
トコンピュータを使用して付加的な種々のブラシを作成
する。印刷ページを記述するデータは資源とも見做され
る。ホストコンピュータは、ワードプロセッサ、スプレ
ッドシート(spread sheet)、データベー
ス等々のような応用プログラムによって作成することが
できるページの記述を含む。本発明はこのページ記述を
ドロープリミティブに変換し、これらのドロープリミテ
ィブを文書を印刷するために必要な他の資源と相互に関
連付ける。変換プロセスの詳細に関しては後述する。
【実施例】例示の目的から図2に機能ブロック線図で示
すように、本発明はコンピュータ・プリンタシステム2
00内に実現されている。従来技術のように、ホストコ
ンピュータ202は印刷すべき文書を含む応用プログラ
ム204を実行する。前述したように、資源は、ハード
ディスクメモリを含むことができるホストコンピュータ
メモリ212のようなホストコンピュータ202の種々
の領域内に記憶されている。種々の記憶領域は、総称的
に資源記憶領域206と呼ばれる。ホストコンピュータ
202は、文書を印刷するために使用可能な実質的に全
ての資源を含んでいる。ROM内に記憶されている若干
のフォント及び共通的に使用される資源は印刷タスクを
通してプリンタ内に記憶させることができる。資源アセ
ンブラ208は文書を調べて、その文書を印刷するため
に必要なのはどの資源かを決定する。文書を調べるにつ
れて資源アセンブラ208はその文書を印刷するために
必要な資源を選択し、その文書を印刷ページを記述する
ドロープリミティブの集合に変換する。選択された資源
及びドロープリミティブはホスト資源記憶装置210内
に記憶される。ホスト資源記憶装置210はホストコン
ピュータメモリ212の一部であっても、または任意の
他の適当な記憶位置であってもよい。資源アセンブラ2
08は、文書と、特定の文書を印刷するために必要な資
源の部分集合との間の従属性を定義する。資源アセンブ
ラ208はこの従属性情報を、ホストコンピュータ20
2に接続されているプリンタ218へ通信する。また資
源アセンブラ208は、その文書を印刷するために最も
効率的なシーケンスに関する情報と、プリンタ218内
に現在どの資源が存在しているかに関するステータス情
報とをプリンタ218から受信する。プリンタ218
は、ホスト資源記憶装置210からダウンロードされた
限定された数の資源を記憶する容量を有しているプリン
タ資源記憶装置220を含んでいる。プリンタ資源記憶
装置220はプリンタメモリ222の一部であっても、
または任意の他の適当な記憶位置であってもよい。図2
にホストコンピュータ202の一部として示してある資
源ローダ214は、資源アセンブラ208が作成した従
属性を使用してドロープリミティブを含む資源がプリン
タ資源記憶装置220へ転送される順序を決定する。ま
た資源ローダ214は新しい資源のための余地を作るた
めに資源をプリンタ資源記憶装置220から解放でき
る、または解放しなければならない順序をも決定する。
資源ローダ214によって転送されたドロープリミティ
ブは、指定された資源を使用すること、図形記号を作成
すること、図形対象を描くこと、英数字を印刷すること
等々をプリンタ218に命令する。プリンタ218内に
配置されているように示されている資源スケジューラ2
16は、代替としてホストコンピュータ202内に配置
してもよい。資源スケジューラ216は、プリンタ動作
のタイミング及び資源転送の実際のタイミングを制御す
る。また資源スケジューラ216は、プリンタ資源記憶
装置220からの資源の削除のタイミング、及びホスト
資源記憶装置210から特定の資源を転送することを要
求するタイミングをも制御する。文書の特定ページに必
要な全ての資源はプリンタ資源記憶装置220内に存在
すると、資源スケジューラ216は要求された資源の部
分集合がそのページを印刷するために使用可能であるこ
とを指示する実行信号を生成する。資源スケジューラ2
16から実行信号を受信すると資源実行装置224はド
ロープリミティブの命令に従って、プリンタ資源記憶装
置220からの資源を使用して現在処理中の文書ページ
のビットマップデータファイルを作成する。資源実行装
置224はこのビットマップデータファイルを印刷エン
ジン226へ転送し、印刷エンジン226は文書ページ
を印刷させる。上述した多くの資源ブロックの物理位置
は、本発明の動作にとって微妙(または臨界的)なもの
ではない。もしコンピュータ・プリンタシステム200
においてプリンタ218が多量の計算能力を有するレー
ザプリンタであれば、上述した全ての資源ブロックをプ
リンタ内に配置することが可能であり、それでも上述し
た本発明の諸面を利用することができる。例えば、資源
スケジューラ216は、上述したようにホストコンピュ
ータ202内にでも、またはプリンタ218内にでも配
置することができる。同様に、プリンタ資源記憶装置2
20を代替としてホストコンピュータ202内に配置し
て差し支えない。もしホストコンピュータ202がウイ
ンドウズ(Windows;商品名)のような環境内で
動作中であれば、プリンタ資源記憶装置220を背景内
で動作するデスプーラ(despooler)機能の一
部とし、応用プログラムを前景内で動作させることがで
きる。それでも、プリンタ資源記憶装置220は未だに
サイズが制限されており、またプリンタ資源記憶装置2
20がプリンタ218内に配置されているのと同一の手
法で動作するから本発明の原理が適用される。背景動作
は応用プログラムのパースペクティブから透明である。
従って、プリンタ資源記憶装置220の実際の位置は微
妙ではないのである。実際には、一般にホストコンピュ
ータ202はプリンタ218よりも大きい計算能力を有
している。従って上述した資源ブロックは、ホストコン
ピュータ202及びプリンタ218の各々の相対的な計
算能力と、ホストコンピュータとプリンタとの間の双方
向通信チャネルの利用率とに依存して、ホストコンピュ
ータ202またはプリンタ218に割当てられる。ホス
トコンピュータ202は、資源をホストコンピュータ2
02内の種々の位置またはプリンタ218内(ROMに
記憶されている文字フォントの場合)に記憶させる。例
えば、絵文字集合は資源アセンブラ208によってアセ
ンブルされ、ビットマップデータファイルとしてホスト
資源記憶装置210内に記憶される。コンピュータ・プ
リンタシステム200は、ホスト資源記憶装置210内
の種々の図形対象を表す点テーブルをも記憶する。点テ
ーブルは資源アセンブラ208によってホスト資源記憶
装置210内へロードされ、また資源アセンブラ208
は点テーブルを本発明が使用するデータフォーマットへ
変換する。他の場合には図形対象を記述するデータは応
用プログラムによって点テーブル以外のフォーマットで
記憶させることができる。資源アセンブラ208は適切
なデータフォーマットで点テーブルを作成し、作成した
点テーブルをホスト資源記憶装置210内に記憶させ
る。これに対してソフトフォント集合は、典型的にはデ
ータファイルとしてハードディスク(図示してない)上
に記憶される。もし特定のソフトフォント文字または絵
筆が必要であると資源アセンブラ208が決定すれば、
その資源はホスト資源記憶装置210内へロードされ
る。従来の、及び本発明のコンピュータ・プリンタシス
テム200では、応用プログラム204はホストコンピ
ュータメモリ212、またはハードディスク(図示して
ない)のような何等かの他の適当な記憶位置に存在する
ことができる文書記述を発生する。応用プログラムは、
1つの応用プログラムから別の応用プログラムへ変化す
ることができるページ記述言語(PDL)を使用して文
書を記憶する。従来のシステムでは、ホストコンピュー
タ内のアセンブラが、PDLを、描写プリミティブ(R
P)と総称することができるドロープリミティブの集合
に変換する。RPは英数字、図形対象、または両者の組
合せを含むことができる。若干の従来のシステムでは、
ホストコンピュータはRPをプリミティブリストの描写
と称されるプロセスで文書ページのビットマップデータ
ファイルに翻訳する。従来のホストコンピュータがプリ
ンタへ転送するのがビットマップデータである。従来の
他のホストコンピュータはRPをポストスクリプト(商
品名)またはPCL(商品名)のような中間レベル言語
に変換する。従来の若干のシステムは、資源アセンブラ
と類似の手法で機能するシステムの一部を実際に有して
いる。この従来のアセンブラはホストコンピュータ内に
あって、PDL をRPL に変換する。前述したパー
ザは従来のシステムの第2の資源アセンブラとして動作
し、RPLを受信して中間データ構造を構成する。この
中間データ構造は中間レベル言語を対応するビットマッ
プに翻訳することが要求されよう。パーザはコードを処
理するように設計されており、印刷ページを生成するよ
うには特別に設計されていない。対照的に本発明のコン
ピュータ・プリンタシステム200は、典型的にはホス
トコンピュータ202内に配置されている単一の資源ア
センブラ208だけを使用している。資源アセンブラ2
08は印刷ページを生成することだけに関与し、資源ア
センブラが作成したコードは文書を効率的に印刷するよ
うに設計されている。資源アセンブラ208は文書を調
べて PDLを RPL に変換し、文書を印刷するた
めにはどの資源が必要かを決定する。資源アセンブラ2
08は選択された資源を集め、それらを関連 RPL
と共にホスト資源記憶装置210内に配置する。本発明
は資源及び RPL を、特定の RPL を有する資
源に関連付ける特定のフォーマットでホスト資源記憶装
置内に配置する必要をなくしている。それどころか実際
のデータ構造及びフォーマットは、本発明の使用にとっ
て重要なものではない。本発明を適切に動作させるため
に当業者には公知の多くの異なるフォーマットを受け入
れることができる。資源と RPL との従属性及び位
置を述べるリストが必要な全てである。このリストは資
源と関連 RPL とを記憶した位置を指示する一連の
ポインタの形状を取ることができる。後述するように、
このリストは所定の RPL 実行シーケンスによって
暗示することさえもできる。資源をホスト資源記憶装置
210内に記憶させる時に、資源及び RPL を含む
データファイルのサイズには何等の制約も存在せず、ま
たは資源及び RPL が記憶されるシーケンスにも何
等の制約も存在しないからそれらは無制約であるものと
考えられる。例えば、ある文書をユーザが作成し、文書
の始めの付近に図形チャートを含むように爾後に編集す
ることができる。この図形チャートを挿入するために応
用プログラムが文書ファイル全部を再作成することはな
い。そうではなく、応用プログラムは文書の終わりに図
形チャートを配置し、文書内の図形チャートを挿入すべ
き点にポインタを挿入する。ポインタは図形チャートの
位置を指し示す。この普通の技術は逆方向ポインティン
グを使用する。即ち、文書内の挿入点は、図形チャート
が記憶されている文書ファイル内の後方の位置を逆方向
に指し示す。この技術を図3に図式的に示す。図3に示
す文書300はNページを有している。番号302で示
す文書のページ2はフォント1 304を要求し、一方
文書300のページ3 306はビットマップ308で
表されている図形チャートを要求している。フォント1
304及びビットマップ308は、それぞれフォント
及びビットマップを要求している文書300内のページ
2302及びページ3 306上の位置の後に記憶され
るものであることに注目されたい。データポインタ31
0及び312はそれぞれ、資源を要求している位置30
4及び308を指し示している。文書は無制約であるか
らコンピュータは文書全体へのアクセスを有しており、
上述した手法でポインタを使用することができる。しか
しながら、文書を印刷する時にプリンタはファイル全体
への同時アクセスを有していないであろう。従って、文
書はプリンタ資源記憶装置220のサイズ制約及び文書
を記憶するシーケンスの両者によって制約を受けている
ものと見做される。必要な資源は、それらを実際に必要
とする前にプリンタ内に存在していなければならず、さ
もないとプリンタは遅延させられるか、または遂には特
定のページを印刷することができなくなるかも知れな
い。同じ文書300を制約された文書として示してある
図4に示してあるように、文書は制約された形態にアセ
ンブルしなければならない。要求されたフォント316
及びビットマップ318はページ2 320及びページ
3 322が実際に要求する前に文書内に現れている。
ポインタ324及び326は、文書300内の資源が記
憶されている位置を指し示す順方向ポインティングであ
る。このようにすると、文書の印刷が要求される前に資
源は常に存在することになる。資源は必ずしも文書の始
めに位置する必要がないことに注意されたい。特定の資
源を要求している文書内の位置の前に資源が配置されて
いることだけが必要なのである。例えば、図5に制約さ
れた形態で示す文書300では、フォント1 316は
資源を必要としている位置320の直前に配置されてい
る。ポインタ324は要求された資源の位置を指し示し
ている。同様にビットマップ318はそれを要求してい
る位置322の直前に位置しており、ポインタ326は
資源が要求されている位置を指示している。一般的にホ
ストコンピュータ202はプリンタ218よりも多くの
メモリを有しているが、ホスト資源記憶装置210に割
当てることができるホストコンピュータメモリ212の
量には制限が存在することに注意されたい。従って、ホ
スト資源記憶装置210はコンピュータ上に記憶されて
いる全ての考え得る資源を含んではいない。そうではな
く、ホスト資源記憶装置は特定の文書を印刷するために
必要な資源及びその文書を記述する RPL だけを含
むのである。文書の特定の部分が印刷されてしまうと、
文書のその特定の部分に必要であった資源はホスト資源
記憶装置210から削除される。若干の資源はある文書
に1回だけしか使用されず、文書のその部分の印刷が完
了すると直ちに削除されよう。屡々使用される絵文字集
合のような他の資源は、それが文書に必要でなくなるま
でホスト資源記憶装置210内に記憶される。ホストコ
ンピュータ202は典型的にはプリンタ218よりも多
くのメモリを有しているので、ホストコンピュータはホ
スト資源記憶装置210が使用するためにより多くのホ
ストコンピュータメモリ212を割当てることができ
る。少ないメモリを有しているプリンタ218は、対応
する小さいプリンタ資源記憶装置220を有している。
プリンタ資源記憶装置220は、ホスト資源記憶装置2
10が含んでいる資源の集合全体を保持するには不十分
な大きさである。従ってプリンタ218が資源を必要と
する場合には、ホスト資源記憶装置210からプリンタ
資源記憶装置220へダウンロードしなければならな
い。プリンタ218はプリンタ資源記憶装置220内に
おいて資源を効率的に使用し、不必要になった資源を削
除し、またはホスト資源記憶装置210から迅速に再ロ
ードできるようにしなければならない。以上のように、
ホスト資源記憶装置210は文書を印刷するために必要
な資源を1回だけロードされるのに対して、プリンタ資
源記憶装置220は文書印刷中に多数回資源をダウンロ
ードされ、解放する。資源の最も効率的な使用を決定す
るために、本発明のコンピュータ・プリンタシステム2
00は文書全体を調べて、如何にして資源を最も効率的
な手法で割当てるかを決定する。再度図2を参照してコ
ンピュータ・プリンタシステム200の動作の詳細を説
明する。資源アセンブラ208は PDL を RPL
の集合に変換し、その印刷タスクにとってどの資源が
必要かを決定する。印刷タスクが開始されると、資源ア
センブラ208は印刷される表面を記述するデータの第
1のバンド(もしプリンタ218がバンディングモード
で動作中であれば)、またはページ(もしプリンタ21
8がページモードで動作中であれば)を調べ始める。こ
の応用の目的のために、処理中の文書のユニットサイ
ズ、即ちバンドかページかをデータブロックと呼ぶ。資
源アセンブラ208は、資源記憶領域206から文書を
印刷するために必要であろう資源を選択する。また資源
アセンブラ208は、特定のデータブロックに対するこ
れらの資源の従属性をも決定する。例えば資源アセンブ
ラ208は、第1ページ上の数式に関しては特定のフォ
ント型が必要であり、残余のページに関しては別のフォ
ント型が必要であることを決定することができる。更に
点テーブル及び絵筆のような若干の図形資源を必要とす
るグラフをそのページ上に印刷することもできる。資源
アセンブラ208は、従属性と、これらの資源を要求し
ているデータブロックとを明示的に述べるリストを作成
する。このリストは、リストの形状である必要がないこ
とに注目されたい。前述したように、このリストはメモ
リ位置を指し示すポインタの形状であっても、または資
源アセンブラ208が RPL を作成するシーケンス
によって暗示的に定義されるものであってさえよい。例
えば、もしプログラマが第1の RPL を作成し、直
ちに実行するプログラムを書くものとすれば、ホスト資
源記憶装置210内で作成され、記憶される表現された
リストは存在しない。しかしながら、RPL内でタスク
が作成される順序によって指定される暗示リストが存在
する。本発明の効率的な動作のために重要なものは、資
源アセンブラ208が従属性を決定し、他の資源ブロッ
クにこれらの従属性を知らせることである。資源アセン
ブラ208が指定する従属性には2つの異なる型があ
る。第1の型の従属性は、上述したように要求された資
源を特定のデータブロックに関係付けるオペランド従属
性である。第2の型の従属性は、RPL を処理するシ
ーケンスを指定する実行従属性である。若干の従来シス
テムは、それらが文書を印刷する時に実行従属性を満足
させることができない。例えば若干の従来システムは、
本文を図形から分離し、両者を独立的に処理する。従っ
て印刷ページは、ユーザが表示画面上で見ているもので
はないかも知れない。従って従来システムは、必ずしも
“貴方が見ているものは貴方が入手しているものであ
る”(WYSIWYG)をもたらすとは限らない。これ
に対してコンピュータ・プリンタシステム200は、シ
ステムがデータブロックを本文部分と図形部分とに分割
するのではなくデータブロック全体を処理するから、上
述したように、たとえそれらが RPL のシーケンス
内に暗示されているとしても常に実行従属性を満足す
る。もしプリンタ218とホストコンピュータ202と
の間に双方向通信が存在していれば、若干の実行従属性
をプリンタ218によって指定することができる。詳細
を後述するようにプリンタ218は、印刷プロセスの効
率を最大にするためにデータのページまたはバンドを処
理すべき順序を指定することができる。もし実行従属性
がプリンタ218によって指定されれば、資源アセンブ
ラ208がこれらの従属性をコンパイルする。もしデー
タブロック内に維持しなければならない特定の描き順序
が存在すれば、資源アセンブラ208はそれ自体の実行
従属性を生成することもできる。例えばプリンタ218
は、最初に文書のページ2を処理し、ページ2を下から
上へ処理することを資源アセンブラ208に命令するこ
とができる。これはプリンタ218によって指定される
実行従属性である。しかしもしページ2上に重なり合っ
た図形対象が存在すれば、印刷ページに意図したように
重なった対象が現れるようにこれらの対象の描き順序を
指定しなければならない。以上のように、資源アセンブ
ラ208はオペランド従属性及び全ての実行従属性(資
源アセンブラ208によって指定されていようとも、ま
たはプリンタ218によって指定されていようとも)の
両者を述べるリストを作成する。前述したように、若干
の従属性に関するリストはバンドまたはページ内のドロ
ープリミティブのシーケンス内に暗示することができ
る。例えばコンピュータ・プリンタシステム200は常
に第1 RPL を先ず実行することによって明示的に
述べてはならない実行従属性を作成する。特に、精緻な
プリンタ及び双方向通信を使用して最大の効率を得るた
めに、コンピュータ・プリンタシステム200の現在で
は好ましい実施例は暗示従属性を使用しない。それはこ
れらがタスクのシーケンスの効率を低下させるように、
実行を不要に制限し得るからである。暗示従属性を使用
する上例は、本発明の広い原理を使用すればコンピュー
タ・プリンタシステム200の全ての発明的な面の使用
を必要とせずに印刷プロセスの総合効率を改善できるこ
とを示すために説明したに過ぎない。現在では好ましい
実施例では資源アセンブラ208は、資源ローダ21
4、資源スケジューラ216、及びプリンタ218を含
むシステムの他の成分へ従属性を明示的に通信する。も
しコンピュータ・プリンタシステム200が双方向通信
能力を有していればプリンタ218はプリンタ資源記憶
装置220の現ステータスに関する情報を資源アセンブ
ラ208へ送ることができる。このステータス情報は、
どの資源がプリンタ資源記憶装置220内に既に存在し
ているか、及びプリンタ資源記憶装置220内にどれ程
多くの使用可能な空間が存在しているかを含む。更に、
プリンタは文書を印刷するために最も効率的なシーケン
スに関して資源アセンブラ208に命令する。これは、
双方向化能力を有し、且つ複数の用紙トレイから印刷す
ることができる大きい精緻なレーザプリンタにおける重
要なプロセスである。これらのプリンタでは、10シー
ト程度の用紙が同時に印刷エンジンを通って移動するこ
とができる。紙シートの両側に印刷される(双方向モー
ド)ページは用紙の一方の側では上から下へ、そして用
紙の他方の側では下から上へ処理される。ページサイズ
が異なれば印刷エンジンの時間長は異なる。ランドスケ
ープ(landscape)モードのようなモードは他
のモードより長い印刷エンジン処理時間を必要としよ
う。精緻なレーザプリンタの印刷エンジンの内部では複
数のページを互いに実際に移動させることができる。そ
の結果、ページを処理するための最も効率的なシーケン
スはページの数字順(即ち、ページ1、2、3、・・
・)ではないかも知れない。本発明のコンピュータ・プ
リンタシステム200は、プリンタ218が文書を印刷
するための最も効率的なシーケンスを決定すること、及
びその情報を資源アセンブラ208へ通信することを許
容する。一方向通信だけを有するシステムでは、プリン
タ218はステータス情報または印刷シーケンス命令を
通信することはできない。しかしそれでも資源アセンブ
ラ208は明示従属性をプリンタ218へ通信するの
で、プリンタ218はプリンタ資源記憶装置220から
資源を削除できる時点を知る。もし一方向通信だけしか
使用できなくてもホストコンピュータ202が一方向モ
ードでプリンタメモリ222を管理するので資源アセン
ブラ208はプリンタ資源記憶装置220のステータス
を知ることができる。以上のように資源アセンブラ20
8は、印刷タスクの開始時にどの資源が既にプリンタ資
源記憶装置220内に存在しているかを知る。前述した
ように、資源実行装置224は典型的に RPL を、
印刷エンジン226によって印刷されるビットマップデ
ータに変換する。一旦印刷エンジン226が始動すると
それはそのページの印刷を停止することができず、停止
させれば誤りが発生しよう。従って一旦印刷エンジンに
委託してしまうと、RPL を実時間でビットマップデ
ータに変換するか、または予めビットマップデータに変
換しておかなければならない。勿論、ドットマトリクス
プリンタ及びインクジェットプリンタのような若干のプ
リンタは誤りを発生することなくページの途中で停止さ
せることができる。プリンタ資源記憶装置220の現ス
テータス及びプリンタ218の総合処理能力を知って資
源アセンブラ208は各データブロックを調べ、印刷エ
ンジン226が走っている間にプリンタ218がそのデ
ータブロックに関する RPL を実時間でビットマッ
プデータに変換できるか否かを決定する。もしプリンタ
218がそのデータブロックに関する RPL を実時
間でビットマップデータに変換することができなけれ
ば、資源アセンブラ208はホストコンピュータ202
に命令して RPL をビットマップに処理させ、その
ビットマップをプリンタ218へ転送させる。代替とし
て、もしプリンタメモリ222がそのページ全体に関す
るビットマップデータファイルを記憶するのに十分な容
量を有していれば、資源アセンブラ208はプリンタ2
18に命令して RPL をビットマップデータファイ
ルに変換させ、印刷エンジン226に委託するまでその
ビットマップをプリンタメモリ222内に記憶させる。
コンピュータ・プリンタシステム200のどの部分がR
PLをビットマップに変換するかに関する決定は、変換
タスクの相対的な複雑さと、システムの各部内のプロセ
ッサの相対的な処理能力とに依存する。現在好ましい実
施例では、資源アセンブラ208はコンピュータ・プリ
ンタシステム200のどの部分がデータを処理するのか
を決定する上で3つの要因を考慮する。これらの要因と
は、 1.ホストコンピュータ202が RPL をビットマ
ップデータに処理するのに要する時間長、 2.プリンタ218が RPL をビットマップデータ
に処理するのに要する時間長、及び 3.通信チャネルが RPL またはビットマップデー
タを転送するために要する時間長 である。換言すれば、資源アセンブラ208は特定のデ
ータブロックに関する RPLをビットマップデータフ
ァイルに処理するのに要する時間+通信チャネルがビッ
トマップデータファイルをプリンタ218へ転送するの
に要する時間長を計算し、それと通信チャネルがRPL
をプリンタ218へ転送するのに要する時間長+プリ
ンタ218が RPL をビットマップデータに処理す
るのに要する時間長とを比較する。コンピュータ・プリ
ンタシステム200は、データ処理をホストコンピュー
タ202とプリンタ218との間で行き来するように移
動させることによって負荷の平衡化をも遂行する。資源
アセンブラ208は、システムのどの部分がデータブロ
ックを最も効率的に処理できるかに依存して、データブ
ロックの処理のためにホストコンピュータ202または
プリンタ218を選択する。例えば、もし特定のタスク
がページ上に多数の線を描くことを要求し、ホストコン
ピュータのプロセッサがプリンタのプロセッサの2倍の
速さであれば、多分ホストコンピュータ202がデータ
を処理することを命令されよう。一方、もし変換が比較
的簡単であり、プリンタ218がビットマップを記憶す
るメモリ容量を有していればプリンタのプロセッサがデ
ータの処理を命令され、ホストコンピュータのプロセッ
サは次のデータブロックを自由に処理できる。この計算
はデータブロック毎に変化できる動的なプロセスである
ことに注目されたい。総合的な目的は、最も効率的な手
法で文書を生成することである。本発明のコンピュータ
・プリンタシステム200は、ホストコンピュータ20
2及びプリンタ218の両方の潜在的な計算能力を使用
することによってこれを許容する。負荷の平衡化はホス
トコンピュータ202及びプリンタ218の相対的な計
算能力、データ通信チャネルの速度、ホスト資源記憶装
置210及びプリンタ資源記憶装置220の相対的なサ
イズ、印刷タスクの複雑さ、及びホストコンピュータ2
02及びプリンタ218が現在遂行中のタスクのような
種々のパラメタに基づいている。前述したように負荷平
衡化は動的プロセスであって、資源アセンブラ208は
上述したパラメタに基づいて文書の若干のページをホス
トコンピュータ202に割当て、他のページをプリンタ
218に割当てて処理させるることができる。負荷平衡
化は、単一のページ内でデータ処理責務をホストコンピ
ュータ202とプリンタ218との間で移動させること
さえも可能である。同一ページを処理するコンピュータ
・プリンタシステム200の異なる部分の例は、文書の
特定のページが2つの重なり合った円のような図形対象
を含む場合に生じ得る。プリンタが現在印刷していなけ
れば、資源アセンブラ208は第1の円の PDL 記
述をプリンタ218へ送ることができる。従ってプリン
タ218は PDL を第1の円に翻訳するために時間
を使う。ホストコンピュータ202はプリンタ218よ
りも大きい計算能力を有しており、またプリンタは第1
の円を翻訳するために既に多忙であるので、ホストコン
ピュータ202は第2の円に関する PDL を翻訳す
ることができる。以上のように、資源アセンブラ208
はデータ処理責務をホストコンピュータ202とプリン
タ218との間で負荷平衡させるために使用される。前
述したように文書の特定のデータブロックのために必要
な資源は、その特定のデータブロックのための特定の資
源に関するコンピュータ・プリンタシステム200内の
従属性を作成する。これらの従属性はデータブロック毎
に変化することができる。資源アセンブラ208はこれ
らの従属性を明示的に述べて、どの資源が特定のデータ
ブロックのために必要であるかをプリンタ218に知ら
せる。従ってプリンタは必要な資源を各データブロック
に関係付ける一種の資源の“メニュー”を有している。
データブロックと資源との間の明示従属性が得られてい
るために、双方向通信を使用してプリンタ218はそれ
自体のメモリを管理することができる。プリンタ218
は明示従属性のメニューを使用し、プリンタ資源記憶装
置220の効率を最大にするような手法で、ホスト資源
記憶装置210に資源を要求する。例えば、明示従属性
は1つのデータブロックが特定のフォント集合と特定の
絵文字集合とを要求していること、及び次のデータブロ
ックが同一のフォント集合ではあるが異なる絵文字集合
を要求していることを述べることができる。プリンタ2
18は一時にこれら3つの資源(フォント集合及び2つ
の絵文字集合)の全てをプリンタ資源記憶装置220内
に保持することができるかも知れない。従ってプリンタ
218はこれら3つの資源の全てを要求する。資源管理
のより困難な面は、どの資源をプリンタ資源記憶装置2
20から削除すべきかを決定することである。もし特定
のデータブロックを印刷するためにプリンタ資源記憶装
置220から他の資源を削除しなければならない程大き
い資源を必要とすれば、プリンタ218はどの資源(1
または複数)をプリンタ資源記憶装置220から削除す
るか、また要求された資源を将来のデータブロックのた
めにホストコンピュータ202から何時戻すかを決定す
ることができる。更に、もし誤り復元が要求されていれ
ば、プリンタ218は失われたページを復元するために
はどの資源が必要であるかを知り、もし必要な資源が既
にプリンタ資源記憶装置220から削除されていればそ
の必要な資源をホストコンピュータ202に要求するこ
とができる。以上の説明は、ホストコンピュータ202
とプリンタ218との間に双方向通信が存在している場
合に適用できる。もし一方向通信だけしか使用できなけ
ればプリンタメモリ222はホストコンピュータ202
によって管理される。この場合ホストコンピュータ20
2は、資源がプリンタ資源記憶装置220内へロードさ
れる、またはプリンタ資源記憶装置220から削除され
るシーケンス、及び資源をロード及び削除する時点を決
定する。たとえ一方向通信でプリンタ218がそれ自体
のメモリを管理できないとしても、パーザを排除し、資
源アセンブラ208及びホスト及びプリンタ資源記憶装
置210及び220のようなコンピュータ・プリンタシ
ステム200の部分が付加されているので、本発明は従
来技術に対して性能の改造を提供する。本発明のコンピ
ュータ・プリンタシステム200では、資源は文書全体
の印刷途中に複数回プリンタ資源記憶装置へロードし、
該装置から解放することができる。どの資源がプリンタ
資源記憶装置220内にあるべきかを決定するジョブは
資源ローダ214によって遂行され、詳細に関しては後
述する。資源アセンブラ208は資源ローダ214の数
データブロック前方の文書を調べて将来データブロック
のための資源を生成する。これは資源ローダ214が先
見して資源の最も効率的な割当てを決定することを許容
する。若干の資源は文書を通して多くのデータブロック
が使用でき、従って文書を通して従属性を有している。
プリンタ資源記憶装置220内の使用可能な空間に依存
して、印刷プロセスを通してこれらの資源をプリンタ2
18内に保持することがより効率的であるかも知れな
い。例えば第2の資源は文書の中間で1回だけ必要であ
るかも知れない。この場合、後刻プリンタ218が若干
の他の資源を必要としなくなる時点まで第2の資源はロ
ードされず、プリンタ資源記憶装置220内のより多く
のメモリが使用可能である。第2の資源は一旦使用され
るとプリンタ資源記憶装置220から削除されて他の資
源のための余地が作られる。どれ程遠くを先見するかの
決定は動的なプロセスである。例えば文書の開始時にお
ける目的は、印刷エンジン226を始動させることであ
る。従って、できるだけ速やかにプリンタ218へ資源
を転送するために資源アセンブラ208の先見動作は制
限される。しかし、プリンタ218が第1のデータブロ
ックを処理している間は、資源アセンブラ208は将来
データブロックを先見し、ホスト資源記憶装置210の
ために資源を選択し、そして将来ページのために RP
L を構成することができる。理想的には、資源アセン
ブラ208は何等かの印刷が開始される前に文書全体を
調べるために先見することができる。しかしながら、印
刷エンジン226を始動させるという要望が、初期先見
能力を制限する。他の応用プログラムが走ることができ
るようにホストコンピュータメモリ212の使用を最小
にする要望も、資源アセンブラ208が先見する能力を
制限する。目的は印刷エンジン226をできる限り効率
的に動き続けさせることである。資源アセンブラ208
が先見する実際のページ数は、文書の合計長、印刷エン
ジン226が処理中の文書の現ページ、及び文書の複雑
さのような要因に依存する。資源アセンブラ208の先
見能力は、プリンタ資源記憶装置220への資源の流れ
を制御する資源ローダ214の能力を向上させる。資源
アセンブラ208の動作の例として、本文の特定のペー
ジが5つの異なるフォント集合とページを印刷するため
の点テーブル(ベジェ曲線を描くための)を必要とする
もとのとする。資源アセンブラ208はページを調べて
明示従属性のリストを作成する。前述したように資源ア
センブラ208は、これらの従属性をコンピュータ・プ
リンタシステム200の他の部分へ通信する。同時に資
源アセンブラ208は、必要な資源及びそのページを記
述する RPL を含むであろうホスト資源記憶装置2
10をアセンブルし始める。双方向モードでは、資源ア
センブラ208はデータブロックが処理されるシーケン
スに関する情報をプリンタ218から受信することに注
意されたい。簡易化のために、資源アセンブラ208が
そのページのデータブロックを上から下へ処理するもの
とする。もしプリンタ218がページモードで動作して
いれば単一の RPL が存在し、もしプリンタ218
がバンディングモードで動作していれば各バンド毎に異
なる RPL が存在するであろう。RPLは、そのペ
ージ上の特定点における文字の特定シーケンスを印刷す
ることをプリンタ218に告げるフォーマットでデータ
ブロック(ページまたはバンド)を記述する。コンピュ
ータ・プリンタシステム200はこの情報を使用して文
字シーケンスの記述を構成し、この記述をホスト資源記
憶装置210内に記憶する。“記述を構成する”の範囲
は、ホストコンピュータ202内の記憶位置からの文字
シーケンスのビットマップをロードすることから、フォ
ント基準化技術を使用して方程式の集合から文字シーケ
ンスのビットマップを構成するまでにわたっている。も
しフォント集合全体を転送する方がより効率的である程
多くのあるフォントからの文字が必要であれば、資源ア
センブラ208はあるフォント全体を記憶することがで
きる。一方、もし制限された数の文字だけが必要であれ
ば、資源アセンブラ208は必要な文字だけを記憶する
ために絵文字集合を開くことができる。本例では、第1
のフォント集合の全体を転送することができる。第2の
フォント集合から必要とされる文字は方程式のための数
字と数学記号だけであることができる。資源アセンブラ
208は方程式のための文字を記憶するために絵文字集
合を開く。ページの次の部分が制限された数のイタリッ
ク文字(フォント番号3)を必要とするならば、絵文字
集合は開かれたままになる。絵文字集合のサイズは動的
に可変であることに注目されたい。例えば、印刷動作の
始めにおける目的はできる限り迅速に印刷エンジン22
6を働かせることである。この目的のために、資源アセ
ンブラ208は文書の第1のデータブロックのために小
さい絵文字集合を使用することができるので、絵文字集
合はできるだけ速やかにプリンタ資源記憶装置220へ
転送することができる。これは、働き続けさせる何かを
印刷エンジン226に与えながら、資源アセンブラ20
8に爾後のデータブロックのための資源をアセンブルさ
せる。爾後の絵文字集合のサイズは一般に、プリンタ資
源記憶装置220のサイズ、及びホストコンピュータ2
02とプリンタ218との間のデータ転送速度のような
パラメタによって決定される。資源アセンブラ208
は、絵文字集合が所定のサイズになるまで絵文字集合を
開き続ける。前述したように、絵文字集合は異なるフォ
ント集合からの文字を含むことができる。反対に、同一
のフォント集合からの文字は、従属性故に異なる絵文字
集合内に記憶することができる。例えば上述した数式内
に使用される文字の若干は爾後のデータブロックにおい
て印刷される第2の方程式に使用することができる。第
2の方程式は第2のフォント集合からの付加的な文字
と、第4及び第5のフォント集合からの文字とをも使用
するかも知れない。資源アセンブラ208は、第2の方
程式に必要な付加的な文字だけを含む第2の絵文字集合
を構成することができる。資源実行装置224が RP
L 及び資源をビットマップデータファイル内へ処理す
る時に、資源実行装置224は両絵文字集合からの文字
を使用して第2の方程式のためのビットマップを構成す
る。絵文字集合を配置するためのRPLは、印刷ページ
上の特定の位置にどの絵文字集合及びどの文字を配置し
つつあるかを識別するフォーマットである。第2の方程
式のための RPL の例は以下のようなシーケンスを
有することができる。 絵文字集合1、文字1、絵文字集合1、文字2、絵文字
集合1、文字3、絵文字集合1、文字12、絵文字集合
2、文字1、絵文字集合2、文字2、絵文字集合1、文
字17、絵文字集合2、文字3、絵文字集合2、文字
4、絵文字集合2、文字4、絵文字集合2、文字5、絵
文字集合2、文字6、及び絵文字集合2、文字7、単一
の RPL 内に両絵文字集合を使用すると、プリンタ
資源記憶装置220内に同時に両絵文字集合が得られる
ことに注目されたい。もし第1の絵文字集合がプリンタ
資源記憶装置220から削除されていれば、資源ローダ
214は第1の絵文字集合をホスト資源記憶装置210
から再ロードしなければならないことを決定する。資源
スケジューラ216は、プリンタ資源記憶装置220が
オーバフローしないように、またプリンタ資源記憶装置
ないの資源がタイムリーな手法で使用可能となるよう
に、要求のタイミングを制御する。従来のシステムはフ
ォント全体をダウンロードし、プリンタメモリを管理す
ることを企図していない。これはメモリのオーバフロー
をもたらし得るが、このようになると印刷タスクを完了
させることはできない。上述したようにインクリメント
的なダウンロードを遂行できるシステムでさえ、ダウン
ロードされたフォントを周期的にクリアすることを除い
て、プリンタメモリを管理することを企図していない。
対照的に、本発明のコンピュータ・プリンタシステム2
00は、上述したように必要な文字だけをプリンタ資源
記憶装置220へ転送し、絵文字集合資源を能動的に管
理するので、文字を絵文字集合内へアセンブルすること
によって時間及びプリンタメモリを節約する。従って、
印刷プロセスの総合効率が向上する。資源アセンブラ2
08の動作を要約すれば、資源アセンブラ208は資源
従属性を決定し、その情報をコンピュータ・プリンタシ
ステム200の他の部分へ通信し、そして文書記述を最
も効率的な手法で処理する。資源アセンブラ208はデ
ータブロックを記述する RPL をも作成し、RPL
及び資源をホスト資源記憶装置210内に記憶する。資
源ローダ214は、資源がプリンタ資源記憶装置220
内へロードされ、それから解放されるシーケンスを決定
する責を負う。資源ローダ214は、資源アセンブラ2
08が決定したシステム従属性へのアクセスを常に有し
ているので、最も効率的な資源のローディング及び再ロ
ーディングのシーケンスを決定することができる。資源
ローダ214は、コンピュータ・プリンタシステム20
0の通信能力に依存してホストコンピュータ202内に
配置しても、またはプリンタ218内に配置してもよ
い。もしホストコンピュータ202からプリンタ218
までの一方向通信だけしか存在しなければ、資源ローダ
214は常にホストコンピュータ202に頼ることにな
る。従ってプリンタメモリ222はホストコンピュータ
202によって管理される。しかしながら、もし双方向
通信能力が存在していれば、資源ローダ214をプリン
タ218内に存在させることができ、プリンタはそれ自
体のメモリを管理できるようになる。資源ローダ214
は RPL及び資源の両者のプリンタ218への転送を
制御する。前述したようにホスト資源記憶装置210
は、資源アセンブラ208がアセンブルした資源を1回
だけホスト資源記憶装置210内へロードするのに十分
に大きいサイズである。ホスト資源記憶装置210は資
源のサイズにも、またはプリンタ資源記憶装置220の
サイズによって賦課される制約にも関係していない。一
方、プリンタ資源記憶装置220はサイズに制限があ
り、資源はサイズ制限によって制約される。プリンタ資
源記憶装置220を効率的に管理するために、資源ロー
ダ214は既にプリンタ資源記憶装置220内にある各
資源のサイズ及び資源従属性(資源アセンブラ208に
よって先に決定されている)を調べ、資源をプリンタ内
へロードする及びプリンタから解放する順序を決定する
ので、プリンタ資源記憶装置220が空間を使い果たす
ことはない。以上のように資源ローダ214は印刷タス
クの途中で特定の資源を多数回ロードし、解放すること
ができる。資源ローダ214は、特定の資源が不要にな
った時にそれを解放できることに注目されたい。特定の
資源はプリンタ218内でまだ必要であるかも知れない
ので、プリンタ218はその資源を直ちに削除すること
はできない。ホストコンピュータ202とプリンタ21
8とは非同期的に動作するから、資源ローダ214によ
る資源の解放が直ちにプリンタ資源記憶装置220から
の資源の削除をもたらすことはない。従って資源を“解
放”及び“削除”するという語は、同期していない。資
源をプリンタ資源記憶装置220から排除すべきである
と資源ローダ214が決定すると、資源が解放される。
資源ローダ214の観点から、資源は最早プリンタ21
8内に存在しない。次いで資源ローダ214は次の資源
のロードまたは解放を指定する。プリンタ218がその
中で最早資源を必要としなくなると資源は削除され、実
際にプリンタ資源記憶装置220から資源を削除する。
資源ローダ214は、各資源のサイズと、効率的な観点
から、プリンタ資源記憶装置220内に存在させる特定
の資源のためにそれが意味をなしているか否かだけに関
心がある。資源ローダ214はプリンタ資源記憶装置2
20のサイズ、その中の使用可能な空間、及びプリンタ
資源記憶装置220の現状(即ち、どの資源がプリンタ
資源記憶装置内に存在しているか)を追跡し、どの資源
を保持するか、または解放するかを決定する。資源ロー
ダ214は現 RPL 及び 将来RPLの両者に関す
る明示従属性を調べる。資源ローダ214は資源をロー
ド及び解放すべき順序だけに関心があり、資源変化の実
際のタイミングには無関係であることに注目されたい。
プリンタ資源記憶装置220に対する変化のタイミング
は資源スケジューラ216によって制御される。前述し
たように、明示的に述べられた従属性によって資源ロー
ダ214は、資源をプリンタ資源記憶装置220内へロ
ーディングするシーケンスを決定するのが容易になる。
より困難なタスクは、新しい資源のために余地を作るた
めに資源をプリンタ資源記憶装置220から何時解放す
るかを決定することである。再び使用されることがない
資源は無関係に削除できることは明白である。しかしな
がら、もしある資源を近い将来再度使用するのであれ
ば、資源ローダ214はどの資源を解放して新しい資源
のために余地を作るかを決定しなければならない。従来
の多くのキャッシング(caching)システムにお
ける一般的方策は、最も古く使用された項目を削除(即
ち、最も長い時間前に使用された資源を削除)すること
である。この方策は、将来必要とされることが少ない資
源を予測するためには効率的ではない。コンピュータ・
プリンタシステム200は、明示従属性の故に、資源の
洞察的キャッシングを遂行して文書の将来のデータブロ
ックのための資源の最も効率的な記憶を予測することが
できる。資源は、資源が使用される順序、資源を記憶す
るために必要な空間の量、及びもし資源をプリンタ資源
記憶装置220から解放しなければならなければ資源を
再ロードするために必要な時間に基づいて管理される。
資源ローダ214は明示従属性を使用して、現在プリン
タ資源記憶装置220内にある資源を資源ローダが調べ
てどの資源が最も遅い時間に使用されるかを決定するよ
うな“時間線”を確立する。しかし前述したように、資
源ローダ214は削除される資源のサイズ及び資源を将
来再ロードするために必要な時間をも考慮する。洞察的
キャッシングの例としてプリンタ資源記憶装置220が
既に10資源(この例のために一般的に1乃至10のラ
ベルを付す)を含み、特定のデータブロックのためにプ
リンタ218が番号11の資源を必要としているものと
する。資源ローダ214は時間線を調べ、例えば資源番
号8が最も遅い時間に使用されることを決定することが
できる。しかしもし資源番号8のサイズが小さければ、
プリンタ資源記憶装置220から資源番号8を解放した
後でも必要な資源番号11をロードための十分な空間が
ないことが考えられる。従って、資源ローダ214は再
度時間線を調べ、資源番号8の次に最も遅い時間に使用
される資源を決定する。例えば資源番号2が解放できる
ものとする。しかしながら、番号2の資源をプリンタ資
源記憶装置220から解放した場合に必要以上の自由空
間がプリンタ資源記憶装置220内に生じ、また近い将
来番号2の資源を再ロードするには極めて長い時間を消
費するようであれば、資源ローダ214は再度時間線を
調べて1またはそれ以上の他の資源を代わりに解放す
る。この例では、要求された資源番号11のための余地
をプリンタ資源記憶装置220内に作るために、資源ロ
ーダ214は資源願望2及び8の代わりに資源番号7及
び5を解放することができる。以上は、資源ローダ21
4がプリンタ資源記憶装置220を管理することを考慮
する際の種々のパラメタの例として説明したに過ぎな
い。資源ローダ214は資源をプリンタ資源記憶装置2
20内へロードし、該装置から解放する順序を決定する
が、資源管理の実際のタイミングは資源スケジューラ2
16によって遂行される。資源スケジューラ216はプ
リンタ作動のシステムと見做すことができる。しかしな
がら前述したように、資源スケジューラ216を物理的
にプリンタ218内に配置する必要はない。一方向通信
だけを有するコンピュータ・プリンタシステム200で
は、資源スケジューラ216をホストコンピュータ20
2内に配置してホストコンピュータ202からプリンタ
メモリ222を管理することができる。もしコンピュー
タ・プリンタシステム200が双方向通信を有していれ
ば、資源スケジューラ216をプリンタ218内に配置
してプリンタにそれ自体のプリンタメモリ222を管理
させることができる。ホストコンピュータ202、プリ
ンタ218、及びプリンタ内の印刷エンジン216は全
て非同期で動作するから、これら3つの非同期部分間に
競合が発生しないように資源スケジューラ216は全て
のタイミングを制御しなければならない。資源スケジュ
ーラ216は全てのプリンタタイミングを初期化して制
御し、印刷エンジン226に動作を同期させ、特定の資
源をプリンタ資源記憶装置220内へ受け入れる時点を
決定する。資源スケジューラ216は、特定の資源をプ
リンタ資源記憶装置220から削除する時点をも決定す
る。前述したように、資源のローディング及び解放のシ
ーケンスを指定することが資源スケジューラ216のタ
スクである。資源スケジューラ216は先に資源ローダ
214によって解放された特定の資源が将来必要ではな
くなる時点を決定する。資源ローダ214と同様に、資
源スケジューラ216も資源アセンブラ208によって
作成された明示従属性へのアクセスを有している。資源
ローダ214とは異なり、資源スケジューラ216は現
ページのために必要な資源がプリンタ資源記憶装置22
0内に存在しているか否かだけに関心がある。現ページ
のための全ての従属性が満たされると(即ち、全ての必
要資源がプリンタ資源記憶装置220内に存在している
と)、資源スケジューラ216は印刷エンジン226に
ページを印刷することを委託する実行信号を生成する。
詳細を後述するように、印刷エンジンはページの途中で
は停止させることができないから、一旦あるページまた
はそのページを印刷するように印刷エンジンに委託した
後は印刷エンジンにはビットマップデータを実時間で供
給しなければならない。さもないと適切な印刷がなされ
なくなる。双方向プリンタはページの各側毎に実行信号
を必要とする(即ち、印刷プロセスは用紙の側と側との
間で停止させることができる)ことに注意されたい。資
源スケジューラ216は、印刷エンジンへの実時間委託
を行うことができる時点を決定し、印刷エンジンにペー
ジの印刷を委託する実行信号を生成する。資源スケジュ
ーラ216は、一方向及び双方向の両通信において同じ
ような機能を遂行する。一方向システムでは資源スケジ
ューラ216は、ホストコンピュータ202へプリンタ
ステータスを指示するハードウエア内に話中(BUS
Y)フラグを生成する。また資源スケジューラ216
は、プリンタ資源記憶装置220から資源が実際に削除
される時点をも決定する。双方向システムでは資源ロー
ダ214がプリンタ218からプリンタメモリ222を
管理し、特定の資源に対する特定の要求をホストコンピ
ュータ202に対して行う。更に資源スケジューラ21
6は印刷プロセスを監視して、ページが印刷エンジン2
26内の最終用紙ジャム(jam)センサを通過した時
点をホストコンピュータ202へ通知する。従ってホス
トコンピュータ202は、誤り復元を提供するためにそ
のページに関連する資源を最早保持している必要がなく
なったことを知る。資源スケジューラ216は印刷タス
クのための用紙経路をも計画することができる。これ
は、多数の用紙貯蔵器、複数の用紙サイズ及び経路を有
する大型プリンタには特に重要である。最適用紙経路を
計画すると印刷タスクの総合効率が改善される。資源実
行装置224は資源スケジューラ216から実行信号を
受け、RPLを印刷エンジン226がページを実際に印
刷するために使用することができるビットマップに変換
する。他の資源は、ビットマップ形状でプリンタ資源記
憶装置220内に既に存在していよう。資源実行装置2
24は、現在プリンタ資源記憶装置220内で使用可能
な資源を使用してビットマップを生成する。本発明のコ
ンピュータ・プリンタシステム200は、バンディング
モードまたはページモードで動作するプリンタと共に働
く。もしバンディングモードが使用されていれば、資源
実行装置224は実時間動作に拘束される。即ち、一旦
印刷エンジン226に対して実時間委託がなされると、
資源実行装置224は全ての RPL を一時に1バン
ドずつ実時間でビットマップに変換しなければならず、
そうでないと誤りが発生しよう。もしプリンタ218が
(バンディングモードに対抗して)ページモードで動作
していれば、実時間委託は存在しない。資源実行装置2
24は、ビットマップを印刷エンジンヘ転送する前にペ
ージ全体をビットマップに変換することができる。本発
明のコンピュータ・プリンタシステム200は、ページ
モードでも、またはバンディングモードでも動作するこ
とができる。RPLをビットマップデータファイルに実
際に変換するのは当業者には公知であり、その説明は省
略する。印刷エンジン226は資源実行装置224から
ビットマップデータを受け、このビットマップデータを
ページ上に印刷させる。印刷エンジン226の使用は当
業者には公知であり、その説明は省略する。文書の1つ
のページに関するビットマップデータが印刷エンジン2
26によって処理されるにつれて、用紙はプリンタ21
8を通って移動する。印刷エンジン226を通して、用
紙のジャムまたは低トーナ状態のような誤りを検出する
ための複数のセンサが存在している。従来のシステム
は、ページが最終用紙ジャムセンサを通過するまでプリ
ンタメモリ内にビットマップデータを保持する。もし用
紙のジャム誤りが発生すれば、従来のシステムはジャム
を生じたページを再印刷するために既にビットマップ形
状にあるデータを有している。しかしもしコンピュータ
・プリンタシステム200が双方向通信能力を有してい
れば、ビットマップデータはプリンタ218内に維持さ
れておらず、ホストコンピュータ202内に誤り回復デ
ータを生成する。ビットマップデータが既にプリンタメ
モリ内にあってページがジャムを発生すれば再印刷しよ
うと待機している従来システムの方が本発明よりも誤り
回復が速いように見える。しかし通常の印刷プロセスで
はページジャム誤りは滅多に発生するものではないか
ら、将来のページのためにデータの処理を継続し、誤り
回復のための最も効率的な技術に関して心配しない方が
総合印刷プロセスとしてはより効率的である。従って本
発明のコンピュータ・プリンタシステム200は文書全
体を印刷するための最も効率的な技術に関心を寄せてい
るのである。従来のシステムは、ページが最終用紙ジャ
ムセンサを通過してしまうまでプリンタメモリがビット
マップデータを保持させられているので、次のページの
ためのデータを直ちに処理することはできない。紙シー
トを取り、用紙上に像を発生させ、用紙を用紙トレイ内
へ落とすのに、典型的な印刷エンジンは約10秒を要す
る。本発明は、用紙がジャムしないことを見越して、文
書内の将来のページのためのデータの処理を継続する。
従来のシステムが印刷された用紙が最終用紙ジャムセン
サを通過するのを待機している時間中に、本発明のコン
ピュータ・プリンタシステム200は若干のページのた
めに資源をアセンブルし、PDL をRPL に翻訳
し、そしてプリンタ資源記憶装置220内の資源の流れ
を管理している。用紙ジャムが発生しそうにもない場合
には、ホストコンピュータ202はそのページを始めか
ら再処理する。もし用紙ジャムが発生すれば、ジャムを
生じた1または複数のページを物理的に除去するために
操作員が関与しなければならないから、時間的な実コス
トは存在しない。操作員がジャムを生じたページを除去
している間に、資源ローダ214はどのページが誤り回
復を必要としているかを決定し、必要な資源及び RP
L をプリンタ218内へ再ロードし始める。どの資源
が誤り復元プロセスのために必要かを決定するために資
源ローダ214が明示従属性を調べているので、明示従
属性は誤り復元プロセスを簡易化する。例えばプリンタ
218は、2ページから5ページまでの用紙をジャム
し、2及び3ページを双方向とし、4及び5ページを一
方向とすることができる。もしプリンタ218が印刷順
序を3ページ(下から上へ)、2ページ(上から下
へ)、4ページ(上から下へ)、5ページ(上から下
へ)のように予め指定されていれば、資源ローダ214
は明示従属性を使用して最も効率的な手法で RPL
を要求し、誤り回復を遂行する。これらの活動は、操作
員がジャムを生じた用紙を除去している間に行われる。
従って、コンピュータ・プリンタシステム200は従来
のシステムと対比した時に誤り回復に関して時間を失っ
てはいない。更に、印刷プロセスの効率は、ページが通
常はジャムしないものとすれば、極めて向上している。
以上のように、コンピュータ・プリンタシステム200
は従来のシステムよりも遥かに短い時間で文書を処理で
きるのである。前述したように、本発明のコンピュータ
・プリンタシステム200はホストコンピュータ202
からプリンタ218までの一方向通信と共に動作するこ
とも、またはホストコンピュータ202とプリンタ21
8との間の完全双方向通信チャネルと共に機能すること
もできる。もしホストコンピュータ202の、またはプ
リンタ218のハードウエアが双方向通信を支持するこ
とができなければ、一方向通信だけが可能である。一方
向通信の制限があるとしても、本発明のコンピュータ・
プリンタシステム200は従来のシステムに対して改良
されている。若干の場合には、双方向通信はコンピュー
タシステム202及びプリンタ218の両者によって支
持することができるが、完全双方向通信を効率的に支持
することが不可能になる程双方向通信チャネルの待ち時
間は長くなる。この場合、本発明のコンピュータ・プリ
ンタシステム200はプリンタ218とホストコンピュ
ータ202との間に制限された双方向通信を支持するこ
とができる。完全双方向通信程の効率ではないにして
も、このモードは一方向通信よりは好ましい。制限され
た双方向通信は単純な一方向通信よりも良い誤り及びス
テータス報告をホストコンピュータ202に与える。デ
ータ処理はあたかも一方向通信のように進行するが、も
し誤りが発生すれば、コンピュータ・プリンタシステム
200は誤り及びステータス情報を使用して誤りから回
復することができる。PCL を使用する若干のレーザ
プリンタシステムには、プリンタへプラグインされるソ
フトウエアカートリッジが設けられている。このカート
リッジは若干の付加的なフォントを含むことができる。
コンピュータ・プリンタシステム200はこのようなカ
ートリッジを使用してプリンタ218に、プリンタ21
8内に位置させる本発明の必要成分を提供することがで
きる。本発明の一実施例では、コンピュータ・プリンタ
システム200は PCL を使用する第1のモードで
動作する能力を有しており、また本発明を使用する第2
のモードで動作することも可能である。この実施例で
は、コンピュータ・プリンタシステム200は2つのモ
ードの間で自動的に切り換えられて行き来する。これに
よってコンピュータ・プリンタシステム200は、DO
S応用のような他の応用と両立し続けることが可能にな
る。2つのモードの間で切り換えられて行き来すること
によってコンピュータ・プリンタシステム200は、従
来のシステムとの間に大きい互換性を与える。前述した
ように、従来のモード切換え方式は低速且つ複雑であ
る。対照的にコンピュータ・プリンタシステム200は
本発明の資源ベース印刷モードと PLC モードとの
間の迅速且つ簡単な切換えを可能にする。この方式は、
プリンタ218内のソフトウエアまたはファームウエア
がプリンタ218の完全初期化を遂行する必要を無くし
ているので、高速なモード切換えが可能なのである。更
に、新ファームウエアにベース機能をふくませる必要が
ないために新ソフトウエアまたはファームウエアの複雑
さを低減している。従来技術のように、システムのリセ
ットの後にベース機能が動作し始めると、それは初期化
呼び出しを行う。初期化呼び出しは、ハードウエア、試
験及び初期化メモリの初期化、付加的なハードウエア周
辺装置の検査、及び付加的なファームウエアの検査に大
量の時間がかかる。もし付加的なファームウエアが検出
されれば、それに制御が与えられるので新機能が始動で
きる。初期化呼び出しの後、本発明はプリンタ218の
完全状態の“スナップショット”を行う。これにはプロ
セッサの内部状態(レジスタ、モード)、並びにプリン
タメモリ222の全ての内容が含まれる。この情報は高
度に圧縮され、記憶される。図6に示すように典型的な
プリンタメモリ222は1.5 メガバイトである。し
かしながら初期化の直後のプリンタメモリ222は高度
に圧縮可能であり、典型的には僅か8Kバイトに圧縮す
ることができる。このスナップショットはプリンタメモ
リ222の一部として記憶され、古いファームウエアか
ら“隠される”。本発明はスナップショットをこの目的
に専用のメモリ内に配置し,ベース機能が利用できない
ようにして実現することもできる。プリンタ218の状
態を圧縮し記憶させた後,制御はベース機能に戻されて
動作可能になる。新機能にたいする要求によって資源ベ
ースプリンタモードが呼び出されると、プリンタ218
は新ファームウエアを実行し始める。結局はベース機能
が要求されてベースファームウエアに制御が与えられ
る。このようになると早い時期に保管された状態情報は
プリンタ218の完全状態を回復するために使用され、
次いで制御はあたかも新ファームウエアが始めの初期化
呼び出しから戻ったかのようにベースファームウエアに
戻される。このためプリンタ218の状態は初期化呼び
出し後のプリンタ218の状態と区別できない。本発明
によれば完全初期化によるオーバヘッドの増加を伴うこ
とも、またはベース機能に新ファームウエアを含ませた
ことによる複雑さの増加及び価格の高騰を伴うことな
く、プリンタ218は資源ベースモードと PCL モ
ードとの間で切換わることができる。本発明の方法を図
7の状態図で示す。状態ブロック400において、プリ
ンタ218はその内部データレジスタを初期化し、プリ
ンタメモリ222を試験初期化することによって動作を
開始する。状態ブロック402においてコンピュータ・
プリンタシステム200は、プリンタメモリ222及び
プリンタ内のプロセッサの全ての内部データレジスタ
(図示してない)を圧縮することによってプリンタ21
8の状態をセーブする。これは、命令ポインタ,スタッ
クポインタ等のような内部データレジスタを含む。状態
バッファ404において、圧縮されたデータは前述した
ように状態バッファ内にセーブされる。この状態バッフ
ァは、それがプリンタメモリ222の一部であろうと、
分離したメモリ装置であろうと、両動作モードはアクセ
スすることができない。即ち、プリンタ218の圧縮さ
れたスナップショット初期状態は両動作モードによる改
造から保護されているのである。前述したように、状態
406において制御はベース機能に戻される。従って、
プリンタ218は PCL モードで動作を開始する。
代替として、プリンタ218の制御を新機能に与えても
よく、このようにすればプリンタ218は資源ベース印
刷動作モードで動作し始める。ベース機能状態ブロック
406から新機能状態ブロック408へ切換えるため
に、本発明は内部データレジスタ及びプリンタメモリ2
22内に現存データを上書きする。資源ベース印刷動作
モードの動作は説明済である。新機能状態ブロック40
8からベース機能状態ブロック410へ切かえるために
は、モードスイッチ状態ブロック410がプリンタ21
18の初期状態の圧縮されたスナップショットを伸長さ
全ての内部データレジスタ及びプリンタメモリ222全
体を最初の初期化呼び出し後と同じ状態に復元させる。
そのためプリンタ218はあたかも今初期化が終了した
かの如くに動作する。モードスイッチ状態ブロック41
0は状態バッファ404を検査して内容が変更されたか
否かを決定する。この検査のためのブロセスは以下に説
明する。もし状態バッファ404の内容が変化していれ
ば、本発明は制御を状態ブロック400に戻し,プリン
タ218に完全初期化を行うことを強制する。前述した
ように、システムの状態のセービングは全てのメモリ
(典型的には1−4メガバイト)及びハードウエアの状
態をメモリの小ブロックに圧縮することを含む。好まし
い実施例においては、プリンタメモリ222及びハード
ウエアの状態を圧縮して8Kバイトのメモリのブロック
に適合させることができる。普通ならばこのような圧縮
比は達成不能であるが、装置はリセット及びメモリ初期
化の後に正確に調べられるからメモリの内容は殆ど空で
あり従って極めて圧縮性に富むのである。若干の場合に
は、メモリの臨界領域が8Kバイト以下であるので状態
情報を圧縮する必要すらない。好ましい実施例では、プ
リンタメモリ222及び状態情報は、データ圧縮の分野
では公知の形状であるランレングスエンコーディング
(RLE)を使用して圧縮される。RLEエンコーディ
ングでは値0を有する連続バイトの数が記憶される。例
えば、プリンタメモリが全部0の10,000バイトの
ブロックを有しているものとする。RLE 圧縮は数1
0,000を記憶する。当業者ならば理解されるよう
に、多くの公知のデータ圧縮技術を本発明の原理に従っ
て使用することができる。図7に示すように圧縮された
サンプルは、このメモリの偶発的な変更を検出するため
に状態バッファ404に接続された検査合計である。こ
れはデータの臨界的性質から必要である。この圧縮され
たスナップショットの何れかの部分が変更されると、状
態が復元された時にプリンタ218は動作しなくなる。
もしスナップショットが変更されていることを検査合計
が指示すれば、モードを切換えるために伝統的なプリン
タ218の完全リセットが使用される。代替として、誤
り検査のための他の公知の技術を使用してもよい。前述
したように、プリンタ218は PCL モードで動作
し始める。資源ベース印刷動作モードへの切換えは、単
にプリンタメモリ222、及びプリンタ218のプロセ
ッサ内の内部データレジスタ内に存在するデータを上書
きするだけでよい。資源ベース印刷動作モードから P
CL 動作モードへの切換えは、上述したように単にプ
リンタ218の初期状態を回復しさえすればよい。プリ
ンタ218は新しいファームウエアの中で古い機能と新
しい機能を統合するための新しいファームウエアを必要
とすることなく、またモードを切換える度にプリンタ2
18の完全初期化を行う必要なく、容易に、且つ迅速に
動作モードの間で切換わることができる。以上に資源ベ
ース印刷モードと PCL 印刷モードとの間のモード
切換え動作の詳細を説明したが,本発明の原理はたのプ
リンタ及び他のプリンタ動作モードにも適用することが
可能である。ベース機能に加えて新しい機能を提供する
ためにプリンタにプラグインする多くのファームウエア
アド・オンカートリッジが存在している。本発明の原理
によれば、モード切換えは任意の印刷システムに容易に
付随させることができる。同様に、本発明の原理は1よ
り多い動作モードを有する装置にも適用可能である。当
業者ならば理解できるであろうが、本発明が使用してい
る印刷への革命的なアプローチは、印刷プロセスの総合
速度を極めて増加させる。印刷プロセスにどのようにし
てアプローチするかと言う従来の概念を破棄し、ホスト
コンピュータとプリンタの両方の利用できる全ての計算
能力の利点を採り入れることによって本発明は、ハード
ウエアの価格の増加を僅かに抑えながら印刷速度を劇的
に増加させた。本発明の原理は既存レーザプリンタに容
易に適用できる。本発明の種々の実施例及び利点を説明
したが、この説明は例示に過ぎず、本発明はその原理か
ら逸脱することなく多くの変更を施し得ることを理解さ
れたい。従って、本発明は特許請求の範囲によってのみ
制限されるのである。
すように、本発明はコンピュータ・プリンタシステム2
00内に実現されている。従来技術のように、ホストコ
ンピュータ202は印刷すべき文書を含む応用プログラ
ム204を実行する。前述したように、資源は、ハード
ディスクメモリを含むことができるホストコンピュータ
メモリ212のようなホストコンピュータ202の種々
の領域内に記憶されている。種々の記憶領域は、総称的
に資源記憶領域206と呼ばれる。ホストコンピュータ
202は、文書を印刷するために使用可能な実質的に全
ての資源を含んでいる。ROM内に記憶されている若干
のフォント及び共通的に使用される資源は印刷タスクを
通してプリンタ内に記憶させることができる。資源アセ
ンブラ208は文書を調べて、その文書を印刷するため
に必要なのはどの資源かを決定する。文書を調べるにつ
れて資源アセンブラ208はその文書を印刷するために
必要な資源を選択し、その文書を印刷ページを記述する
ドロープリミティブの集合に変換する。選択された資源
及びドロープリミティブはホスト資源記憶装置210内
に記憶される。ホスト資源記憶装置210はホストコン
ピュータメモリ212の一部であっても、または任意の
他の適当な記憶位置であってもよい。資源アセンブラ2
08は、文書と、特定の文書を印刷するために必要な資
源の部分集合との間の従属性を定義する。資源アセンブ
ラ208はこの従属性情報を、ホストコンピュータ20
2に接続されているプリンタ218へ通信する。また資
源アセンブラ208は、その文書を印刷するために最も
効率的なシーケンスに関する情報と、プリンタ218内
に現在どの資源が存在しているかに関するステータス情
報とをプリンタ218から受信する。プリンタ218
は、ホスト資源記憶装置210からダウンロードされた
限定された数の資源を記憶する容量を有しているプリン
タ資源記憶装置220を含んでいる。プリンタ資源記憶
装置220はプリンタメモリ222の一部であっても、
または任意の他の適当な記憶位置であってもよい。図2
にホストコンピュータ202の一部として示してある資
源ローダ214は、資源アセンブラ208が作成した従
属性を使用してドロープリミティブを含む資源がプリン
タ資源記憶装置220へ転送される順序を決定する。ま
た資源ローダ214は新しい資源のための余地を作るた
めに資源をプリンタ資源記憶装置220から解放でき
る、または解放しなければならない順序をも決定する。
資源ローダ214によって転送されたドロープリミティ
ブは、指定された資源を使用すること、図形記号を作成
すること、図形対象を描くこと、英数字を印刷すること
等々をプリンタ218に命令する。プリンタ218内に
配置されているように示されている資源スケジューラ2
16は、代替としてホストコンピュータ202内に配置
してもよい。資源スケジューラ216は、プリンタ動作
のタイミング及び資源転送の実際のタイミングを制御す
る。また資源スケジューラ216は、プリンタ資源記憶
装置220からの資源の削除のタイミング、及びホスト
資源記憶装置210から特定の資源を転送することを要
求するタイミングをも制御する。文書の特定ページに必
要な全ての資源はプリンタ資源記憶装置220内に存在
すると、資源スケジューラ216は要求された資源の部
分集合がそのページを印刷するために使用可能であるこ
とを指示する実行信号を生成する。資源スケジューラ2
16から実行信号を受信すると資源実行装置224はド
ロープリミティブの命令に従って、プリンタ資源記憶装
置220からの資源を使用して現在処理中の文書ページ
のビットマップデータファイルを作成する。資源実行装
置224はこのビットマップデータファイルを印刷エン
ジン226へ転送し、印刷エンジン226は文書ページ
を印刷させる。上述した多くの資源ブロックの物理位置
は、本発明の動作にとって微妙(または臨界的)なもの
ではない。もしコンピュータ・プリンタシステム200
においてプリンタ218が多量の計算能力を有するレー
ザプリンタであれば、上述した全ての資源ブロックをプ
リンタ内に配置することが可能であり、それでも上述し
た本発明の諸面を利用することができる。例えば、資源
スケジューラ216は、上述したようにホストコンピュ
ータ202内にでも、またはプリンタ218内にでも配
置することができる。同様に、プリンタ資源記憶装置2
20を代替としてホストコンピュータ202内に配置し
て差し支えない。もしホストコンピュータ202がウイ
ンドウズ(Windows;商品名)のような環境内で
動作中であれば、プリンタ資源記憶装置220を背景内
で動作するデスプーラ(despooler)機能の一
部とし、応用プログラムを前景内で動作させることがで
きる。それでも、プリンタ資源記憶装置220は未だに
サイズが制限されており、またプリンタ資源記憶装置2
20がプリンタ218内に配置されているのと同一の手
法で動作するから本発明の原理が適用される。背景動作
は応用プログラムのパースペクティブから透明である。
従って、プリンタ資源記憶装置220の実際の位置は微
妙ではないのである。実際には、一般にホストコンピュ
ータ202はプリンタ218よりも大きい計算能力を有
している。従って上述した資源ブロックは、ホストコン
ピュータ202及びプリンタ218の各々の相対的な計
算能力と、ホストコンピュータとプリンタとの間の双方
向通信チャネルの利用率とに依存して、ホストコンピュ
ータ202またはプリンタ218に割当てられる。ホス
トコンピュータ202は、資源をホストコンピュータ2
02内の種々の位置またはプリンタ218内(ROMに
記憶されている文字フォントの場合)に記憶させる。例
えば、絵文字集合は資源アセンブラ208によってアセ
ンブルされ、ビットマップデータファイルとしてホスト
資源記憶装置210内に記憶される。コンピュータ・プ
リンタシステム200は、ホスト資源記憶装置210内
の種々の図形対象を表す点テーブルをも記憶する。点テ
ーブルは資源アセンブラ208によってホスト資源記憶
装置210内へロードされ、また資源アセンブラ208
は点テーブルを本発明が使用するデータフォーマットへ
変換する。他の場合には図形対象を記述するデータは応
用プログラムによって点テーブル以外のフォーマットで
記憶させることができる。資源アセンブラ208は適切
なデータフォーマットで点テーブルを作成し、作成した
点テーブルをホスト資源記憶装置210内に記憶させ
る。これに対してソフトフォント集合は、典型的にはデ
ータファイルとしてハードディスク(図示してない)上
に記憶される。もし特定のソフトフォント文字または絵
筆が必要であると資源アセンブラ208が決定すれば、
その資源はホスト資源記憶装置210内へロードされ
る。従来の、及び本発明のコンピュータ・プリンタシス
テム200では、応用プログラム204はホストコンピ
ュータメモリ212、またはハードディスク(図示して
ない)のような何等かの他の適当な記憶位置に存在する
ことができる文書記述を発生する。応用プログラムは、
1つの応用プログラムから別の応用プログラムへ変化す
ることができるページ記述言語(PDL)を使用して文
書を記憶する。従来のシステムでは、ホストコンピュー
タ内のアセンブラが、PDLを、描写プリミティブ(R
P)と総称することができるドロープリミティブの集合
に変換する。RPは英数字、図形対象、または両者の組
合せを含むことができる。若干の従来のシステムでは、
ホストコンピュータはRPをプリミティブリストの描写
と称されるプロセスで文書ページのビットマップデータ
ファイルに翻訳する。従来のホストコンピュータがプリ
ンタへ転送するのがビットマップデータである。従来の
他のホストコンピュータはRPをポストスクリプト(商
品名)またはPCL(商品名)のような中間レベル言語
に変換する。従来の若干のシステムは、資源アセンブラ
と類似の手法で機能するシステムの一部を実際に有して
いる。この従来のアセンブラはホストコンピュータ内に
あって、PDL をRPL に変換する。前述したパー
ザは従来のシステムの第2の資源アセンブラとして動作
し、RPLを受信して中間データ構造を構成する。この
中間データ構造は中間レベル言語を対応するビットマッ
プに翻訳することが要求されよう。パーザはコードを処
理するように設計されており、印刷ページを生成するよ
うには特別に設計されていない。対照的に本発明のコン
ピュータ・プリンタシステム200は、典型的にはホス
トコンピュータ202内に配置されている単一の資源ア
センブラ208だけを使用している。資源アセンブラ2
08は印刷ページを生成することだけに関与し、資源ア
センブラが作成したコードは文書を効率的に印刷するよ
うに設計されている。資源アセンブラ208は文書を調
べて PDLを RPL に変換し、文書を印刷するた
めにはどの資源が必要かを決定する。資源アセンブラ2
08は選択された資源を集め、それらを関連 RPL
と共にホスト資源記憶装置210内に配置する。本発明
は資源及び RPL を、特定の RPL を有する資
源に関連付ける特定のフォーマットでホスト資源記憶装
置内に配置する必要をなくしている。それどころか実際
のデータ構造及びフォーマットは、本発明の使用にとっ
て重要なものではない。本発明を適切に動作させるため
に当業者には公知の多くの異なるフォーマットを受け入
れることができる。資源と RPL との従属性及び位
置を述べるリストが必要な全てである。このリストは資
源と関連 RPL とを記憶した位置を指示する一連の
ポインタの形状を取ることができる。後述するように、
このリストは所定の RPL 実行シーケンスによって
暗示することさえもできる。資源をホスト資源記憶装置
210内に記憶させる時に、資源及び RPL を含む
データファイルのサイズには何等の制約も存在せず、ま
たは資源及び RPL が記憶されるシーケンスにも何
等の制約も存在しないからそれらは無制約であるものと
考えられる。例えば、ある文書をユーザが作成し、文書
の始めの付近に図形チャートを含むように爾後に編集す
ることができる。この図形チャートを挿入するために応
用プログラムが文書ファイル全部を再作成することはな
い。そうではなく、応用プログラムは文書の終わりに図
形チャートを配置し、文書内の図形チャートを挿入すべ
き点にポインタを挿入する。ポインタは図形チャートの
位置を指し示す。この普通の技術は逆方向ポインティン
グを使用する。即ち、文書内の挿入点は、図形チャート
が記憶されている文書ファイル内の後方の位置を逆方向
に指し示す。この技術を図3に図式的に示す。図3に示
す文書300はNページを有している。番号302で示
す文書のページ2はフォント1 304を要求し、一方
文書300のページ3 306はビットマップ308で
表されている図形チャートを要求している。フォント1
304及びビットマップ308は、それぞれフォント
及びビットマップを要求している文書300内のページ
2302及びページ3 306上の位置の後に記憶され
るものであることに注目されたい。データポインタ31
0及び312はそれぞれ、資源を要求している位置30
4及び308を指し示している。文書は無制約であるか
らコンピュータは文書全体へのアクセスを有しており、
上述した手法でポインタを使用することができる。しか
しながら、文書を印刷する時にプリンタはファイル全体
への同時アクセスを有していないであろう。従って、文
書はプリンタ資源記憶装置220のサイズ制約及び文書
を記憶するシーケンスの両者によって制約を受けている
ものと見做される。必要な資源は、それらを実際に必要
とする前にプリンタ内に存在していなければならず、さ
もないとプリンタは遅延させられるか、または遂には特
定のページを印刷することができなくなるかも知れな
い。同じ文書300を制約された文書として示してある
図4に示してあるように、文書は制約された形態にアセ
ンブルしなければならない。要求されたフォント316
及びビットマップ318はページ2 320及びページ
3 322が実際に要求する前に文書内に現れている。
ポインタ324及び326は、文書300内の資源が記
憶されている位置を指し示す順方向ポインティングであ
る。このようにすると、文書の印刷が要求される前に資
源は常に存在することになる。資源は必ずしも文書の始
めに位置する必要がないことに注意されたい。特定の資
源を要求している文書内の位置の前に資源が配置されて
いることだけが必要なのである。例えば、図5に制約さ
れた形態で示す文書300では、フォント1 316は
資源を必要としている位置320の直前に配置されてい
る。ポインタ324は要求された資源の位置を指し示し
ている。同様にビットマップ318はそれを要求してい
る位置322の直前に位置しており、ポインタ326は
資源が要求されている位置を指示している。一般的にホ
ストコンピュータ202はプリンタ218よりも多くの
メモリを有しているが、ホスト資源記憶装置210に割
当てることができるホストコンピュータメモリ212の
量には制限が存在することに注意されたい。従って、ホ
スト資源記憶装置210はコンピュータ上に記憶されて
いる全ての考え得る資源を含んではいない。そうではな
く、ホスト資源記憶装置は特定の文書を印刷するために
必要な資源及びその文書を記述する RPL だけを含
むのである。文書の特定の部分が印刷されてしまうと、
文書のその特定の部分に必要であった資源はホスト資源
記憶装置210から削除される。若干の資源はある文書
に1回だけしか使用されず、文書のその部分の印刷が完
了すると直ちに削除されよう。屡々使用される絵文字集
合のような他の資源は、それが文書に必要でなくなるま
でホスト資源記憶装置210内に記憶される。ホストコ
ンピュータ202は典型的にはプリンタ218よりも多
くのメモリを有しているので、ホストコンピュータはホ
スト資源記憶装置210が使用するためにより多くのホ
ストコンピュータメモリ212を割当てることができ
る。少ないメモリを有しているプリンタ218は、対応
する小さいプリンタ資源記憶装置220を有している。
プリンタ資源記憶装置220は、ホスト資源記憶装置2
10が含んでいる資源の集合全体を保持するには不十分
な大きさである。従ってプリンタ218が資源を必要と
する場合には、ホスト資源記憶装置210からプリンタ
資源記憶装置220へダウンロードしなければならな
い。プリンタ218はプリンタ資源記憶装置220内に
おいて資源を効率的に使用し、不必要になった資源を削
除し、またはホスト資源記憶装置210から迅速に再ロ
ードできるようにしなければならない。以上のように、
ホスト資源記憶装置210は文書を印刷するために必要
な資源を1回だけロードされるのに対して、プリンタ資
源記憶装置220は文書印刷中に多数回資源をダウンロ
ードされ、解放する。資源の最も効率的な使用を決定す
るために、本発明のコンピュータ・プリンタシステム2
00は文書全体を調べて、如何にして資源を最も効率的
な手法で割当てるかを決定する。再度図2を参照してコ
ンピュータ・プリンタシステム200の動作の詳細を説
明する。資源アセンブラ208は PDL を RPL
の集合に変換し、その印刷タスクにとってどの資源が
必要かを決定する。印刷タスクが開始されると、資源ア
センブラ208は印刷される表面を記述するデータの第
1のバンド(もしプリンタ218がバンディングモード
で動作中であれば)、またはページ(もしプリンタ21
8がページモードで動作中であれば)を調べ始める。こ
の応用の目的のために、処理中の文書のユニットサイ
ズ、即ちバンドかページかをデータブロックと呼ぶ。資
源アセンブラ208は、資源記憶領域206から文書を
印刷するために必要であろう資源を選択する。また資源
アセンブラ208は、特定のデータブロックに対するこ
れらの資源の従属性をも決定する。例えば資源アセンブ
ラ208は、第1ページ上の数式に関しては特定のフォ
ント型が必要であり、残余のページに関しては別のフォ
ント型が必要であることを決定することができる。更に
点テーブル及び絵筆のような若干の図形資源を必要とす
るグラフをそのページ上に印刷することもできる。資源
アセンブラ208は、従属性と、これらの資源を要求し
ているデータブロックとを明示的に述べるリストを作成
する。このリストは、リストの形状である必要がないこ
とに注目されたい。前述したように、このリストはメモ
リ位置を指し示すポインタの形状であっても、または資
源アセンブラ208が RPL を作成するシーケンス
によって暗示的に定義されるものであってさえよい。例
えば、もしプログラマが第1の RPL を作成し、直
ちに実行するプログラムを書くものとすれば、ホスト資
源記憶装置210内で作成され、記憶される表現された
リストは存在しない。しかしながら、RPL内でタスク
が作成される順序によって指定される暗示リストが存在
する。本発明の効率的な動作のために重要なものは、資
源アセンブラ208が従属性を決定し、他の資源ブロッ
クにこれらの従属性を知らせることである。資源アセン
ブラ208が指定する従属性には2つの異なる型があ
る。第1の型の従属性は、上述したように要求された資
源を特定のデータブロックに関係付けるオペランド従属
性である。第2の型の従属性は、RPL を処理するシ
ーケンスを指定する実行従属性である。若干の従来シス
テムは、それらが文書を印刷する時に実行従属性を満足
させることができない。例えば若干の従来システムは、
本文を図形から分離し、両者を独立的に処理する。従っ
て印刷ページは、ユーザが表示画面上で見ているもので
はないかも知れない。従って従来システムは、必ずしも
“貴方が見ているものは貴方が入手しているものであ
る”(WYSIWYG)をもたらすとは限らない。これ
に対してコンピュータ・プリンタシステム200は、シ
ステムがデータブロックを本文部分と図形部分とに分割
するのではなくデータブロック全体を処理するから、上
述したように、たとえそれらが RPL のシーケンス
内に暗示されているとしても常に実行従属性を満足す
る。もしプリンタ218とホストコンピュータ202と
の間に双方向通信が存在していれば、若干の実行従属性
をプリンタ218によって指定することができる。詳細
を後述するようにプリンタ218は、印刷プロセスの効
率を最大にするためにデータのページまたはバンドを処
理すべき順序を指定することができる。もし実行従属性
がプリンタ218によって指定されれば、資源アセンブ
ラ208がこれらの従属性をコンパイルする。もしデー
タブロック内に維持しなければならない特定の描き順序
が存在すれば、資源アセンブラ208はそれ自体の実行
従属性を生成することもできる。例えばプリンタ218
は、最初に文書のページ2を処理し、ページ2を下から
上へ処理することを資源アセンブラ208に命令するこ
とができる。これはプリンタ218によって指定される
実行従属性である。しかしもしページ2上に重なり合っ
た図形対象が存在すれば、印刷ページに意図したように
重なった対象が現れるようにこれらの対象の描き順序を
指定しなければならない。以上のように、資源アセンブ
ラ208はオペランド従属性及び全ての実行従属性(資
源アセンブラ208によって指定されていようとも、ま
たはプリンタ218によって指定されていようとも)の
両者を述べるリストを作成する。前述したように、若干
の従属性に関するリストはバンドまたはページ内のドロ
ープリミティブのシーケンス内に暗示することができ
る。例えばコンピュータ・プリンタシステム200は常
に第1 RPL を先ず実行することによって明示的に
述べてはならない実行従属性を作成する。特に、精緻な
プリンタ及び双方向通信を使用して最大の効率を得るた
めに、コンピュータ・プリンタシステム200の現在で
は好ましい実施例は暗示従属性を使用しない。それはこ
れらがタスクのシーケンスの効率を低下させるように、
実行を不要に制限し得るからである。暗示従属性を使用
する上例は、本発明の広い原理を使用すればコンピュー
タ・プリンタシステム200の全ての発明的な面の使用
を必要とせずに印刷プロセスの総合効率を改善できるこ
とを示すために説明したに過ぎない。現在では好ましい
実施例では資源アセンブラ208は、資源ローダ21
4、資源スケジューラ216、及びプリンタ218を含
むシステムの他の成分へ従属性を明示的に通信する。も
しコンピュータ・プリンタシステム200が双方向通信
能力を有していればプリンタ218はプリンタ資源記憶
装置220の現ステータスに関する情報を資源アセンブ
ラ208へ送ることができる。このステータス情報は、
どの資源がプリンタ資源記憶装置220内に既に存在し
ているか、及びプリンタ資源記憶装置220内にどれ程
多くの使用可能な空間が存在しているかを含む。更に、
プリンタは文書を印刷するために最も効率的なシーケン
スに関して資源アセンブラ208に命令する。これは、
双方向化能力を有し、且つ複数の用紙トレイから印刷す
ることができる大きい精緻なレーザプリンタにおける重
要なプロセスである。これらのプリンタでは、10シー
ト程度の用紙が同時に印刷エンジンを通って移動するこ
とができる。紙シートの両側に印刷される(双方向モー
ド)ページは用紙の一方の側では上から下へ、そして用
紙の他方の側では下から上へ処理される。ページサイズ
が異なれば印刷エンジンの時間長は異なる。ランドスケ
ープ(landscape)モードのようなモードは他
のモードより長い印刷エンジン処理時間を必要としよ
う。精緻なレーザプリンタの印刷エンジンの内部では複
数のページを互いに実際に移動させることができる。そ
の結果、ページを処理するための最も効率的なシーケン
スはページの数字順(即ち、ページ1、2、3、・・
・)ではないかも知れない。本発明のコンピュータ・プ
リンタシステム200は、プリンタ218が文書を印刷
するための最も効率的なシーケンスを決定すること、及
びその情報を資源アセンブラ208へ通信することを許
容する。一方向通信だけを有するシステムでは、プリン
タ218はステータス情報または印刷シーケンス命令を
通信することはできない。しかしそれでも資源アセンブ
ラ208は明示従属性をプリンタ218へ通信するの
で、プリンタ218はプリンタ資源記憶装置220から
資源を削除できる時点を知る。もし一方向通信だけしか
使用できなくてもホストコンピュータ202が一方向モ
ードでプリンタメモリ222を管理するので資源アセン
ブラ208はプリンタ資源記憶装置220のステータス
を知ることができる。以上のように資源アセンブラ20
8は、印刷タスクの開始時にどの資源が既にプリンタ資
源記憶装置220内に存在しているかを知る。前述した
ように、資源実行装置224は典型的に RPL を、
印刷エンジン226によって印刷されるビットマップデ
ータに変換する。一旦印刷エンジン226が始動すると
それはそのページの印刷を停止することができず、停止
させれば誤りが発生しよう。従って一旦印刷エンジンに
委託してしまうと、RPL を実時間でビットマップデ
ータに変換するか、または予めビットマップデータに変
換しておかなければならない。勿論、ドットマトリクス
プリンタ及びインクジェットプリンタのような若干のプ
リンタは誤りを発生することなくページの途中で停止さ
せることができる。プリンタ資源記憶装置220の現ス
テータス及びプリンタ218の総合処理能力を知って資
源アセンブラ208は各データブロックを調べ、印刷エ
ンジン226が走っている間にプリンタ218がそのデ
ータブロックに関する RPL を実時間でビットマッ
プデータに変換できるか否かを決定する。もしプリンタ
218がそのデータブロックに関する RPL を実時
間でビットマップデータに変換することができなけれ
ば、資源アセンブラ208はホストコンピュータ202
に命令して RPL をビットマップに処理させ、その
ビットマップをプリンタ218へ転送させる。代替とし
て、もしプリンタメモリ222がそのページ全体に関す
るビットマップデータファイルを記憶するのに十分な容
量を有していれば、資源アセンブラ208はプリンタ2
18に命令して RPL をビットマップデータファイ
ルに変換させ、印刷エンジン226に委託するまでその
ビットマップをプリンタメモリ222内に記憶させる。
コンピュータ・プリンタシステム200のどの部分がR
PLをビットマップに変換するかに関する決定は、変換
タスクの相対的な複雑さと、システムの各部内のプロセ
ッサの相対的な処理能力とに依存する。現在好ましい実
施例では、資源アセンブラ208はコンピュータ・プリ
ンタシステム200のどの部分がデータを処理するのか
を決定する上で3つの要因を考慮する。これらの要因と
は、 1.ホストコンピュータ202が RPL をビットマ
ップデータに処理するのに要する時間長、 2.プリンタ218が RPL をビットマップデータ
に処理するのに要する時間長、及び 3.通信チャネルが RPL またはビットマップデー
タを転送するために要する時間長 である。換言すれば、資源アセンブラ208は特定のデ
ータブロックに関する RPLをビットマップデータフ
ァイルに処理するのに要する時間+通信チャネルがビッ
トマップデータファイルをプリンタ218へ転送するの
に要する時間長を計算し、それと通信チャネルがRPL
をプリンタ218へ転送するのに要する時間長+プリ
ンタ218が RPL をビットマップデータに処理す
るのに要する時間長とを比較する。コンピュータ・プリ
ンタシステム200は、データ処理をホストコンピュー
タ202とプリンタ218との間で行き来するように移
動させることによって負荷の平衡化をも遂行する。資源
アセンブラ208は、システムのどの部分がデータブロ
ックを最も効率的に処理できるかに依存して、データブ
ロックの処理のためにホストコンピュータ202または
プリンタ218を選択する。例えば、もし特定のタスク
がページ上に多数の線を描くことを要求し、ホストコン
ピュータのプロセッサがプリンタのプロセッサの2倍の
速さであれば、多分ホストコンピュータ202がデータ
を処理することを命令されよう。一方、もし変換が比較
的簡単であり、プリンタ218がビットマップを記憶す
るメモリ容量を有していればプリンタのプロセッサがデ
ータの処理を命令され、ホストコンピュータのプロセッ
サは次のデータブロックを自由に処理できる。この計算
はデータブロック毎に変化できる動的なプロセスである
ことに注目されたい。総合的な目的は、最も効率的な手
法で文書を生成することである。本発明のコンピュータ
・プリンタシステム200は、ホストコンピュータ20
2及びプリンタ218の両方の潜在的な計算能力を使用
することによってこれを許容する。負荷の平衡化はホス
トコンピュータ202及びプリンタ218の相対的な計
算能力、データ通信チャネルの速度、ホスト資源記憶装
置210及びプリンタ資源記憶装置220の相対的なサ
イズ、印刷タスクの複雑さ、及びホストコンピュータ2
02及びプリンタ218が現在遂行中のタスクのような
種々のパラメタに基づいている。前述したように負荷平
衡化は動的プロセスであって、資源アセンブラ208は
上述したパラメタに基づいて文書の若干のページをホス
トコンピュータ202に割当て、他のページをプリンタ
218に割当てて処理させるることができる。負荷平衡
化は、単一のページ内でデータ処理責務をホストコンピ
ュータ202とプリンタ218との間で移動させること
さえも可能である。同一ページを処理するコンピュータ
・プリンタシステム200の異なる部分の例は、文書の
特定のページが2つの重なり合った円のような図形対象
を含む場合に生じ得る。プリンタが現在印刷していなけ
れば、資源アセンブラ208は第1の円の PDL 記
述をプリンタ218へ送ることができる。従ってプリン
タ218は PDL を第1の円に翻訳するために時間
を使う。ホストコンピュータ202はプリンタ218よ
りも大きい計算能力を有しており、またプリンタは第1
の円を翻訳するために既に多忙であるので、ホストコン
ピュータ202は第2の円に関する PDL を翻訳す
ることができる。以上のように、資源アセンブラ208
はデータ処理責務をホストコンピュータ202とプリン
タ218との間で負荷平衡させるために使用される。前
述したように文書の特定のデータブロックのために必要
な資源は、その特定のデータブロックのための特定の資
源に関するコンピュータ・プリンタシステム200内の
従属性を作成する。これらの従属性はデータブロック毎
に変化することができる。資源アセンブラ208はこれ
らの従属性を明示的に述べて、どの資源が特定のデータ
ブロックのために必要であるかをプリンタ218に知ら
せる。従ってプリンタは必要な資源を各データブロック
に関係付ける一種の資源の“メニュー”を有している。
データブロックと資源との間の明示従属性が得られてい
るために、双方向通信を使用してプリンタ218はそれ
自体のメモリを管理することができる。プリンタ218
は明示従属性のメニューを使用し、プリンタ資源記憶装
置220の効率を最大にするような手法で、ホスト資源
記憶装置210に資源を要求する。例えば、明示従属性
は1つのデータブロックが特定のフォント集合と特定の
絵文字集合とを要求していること、及び次のデータブロ
ックが同一のフォント集合ではあるが異なる絵文字集合
を要求していることを述べることができる。プリンタ2
18は一時にこれら3つの資源(フォント集合及び2つ
の絵文字集合)の全てをプリンタ資源記憶装置220内
に保持することができるかも知れない。従ってプリンタ
218はこれら3つの資源の全てを要求する。資源管理
のより困難な面は、どの資源をプリンタ資源記憶装置2
20から削除すべきかを決定することである。もし特定
のデータブロックを印刷するためにプリンタ資源記憶装
置220から他の資源を削除しなければならない程大き
い資源を必要とすれば、プリンタ218はどの資源(1
または複数)をプリンタ資源記憶装置220から削除す
るか、また要求された資源を将来のデータブロックのた
めにホストコンピュータ202から何時戻すかを決定す
ることができる。更に、もし誤り復元が要求されていれ
ば、プリンタ218は失われたページを復元するために
はどの資源が必要であるかを知り、もし必要な資源が既
にプリンタ資源記憶装置220から削除されていればそ
の必要な資源をホストコンピュータ202に要求するこ
とができる。以上の説明は、ホストコンピュータ202
とプリンタ218との間に双方向通信が存在している場
合に適用できる。もし一方向通信だけしか使用できなけ
ればプリンタメモリ222はホストコンピュータ202
によって管理される。この場合ホストコンピュータ20
2は、資源がプリンタ資源記憶装置220内へロードさ
れる、またはプリンタ資源記憶装置220から削除され
るシーケンス、及び資源をロード及び削除する時点を決
定する。たとえ一方向通信でプリンタ218がそれ自体
のメモリを管理できないとしても、パーザを排除し、資
源アセンブラ208及びホスト及びプリンタ資源記憶装
置210及び220のようなコンピュータ・プリンタシ
ステム200の部分が付加されているので、本発明は従
来技術に対して性能の改造を提供する。本発明のコンピ
ュータ・プリンタシステム200では、資源は文書全体
の印刷途中に複数回プリンタ資源記憶装置へロードし、
該装置から解放することができる。どの資源がプリンタ
資源記憶装置220内にあるべきかを決定するジョブは
資源ローダ214によって遂行され、詳細に関しては後
述する。資源アセンブラ208は資源ローダ214の数
データブロック前方の文書を調べて将来データブロック
のための資源を生成する。これは資源ローダ214が先
見して資源の最も効率的な割当てを決定することを許容
する。若干の資源は文書を通して多くのデータブロック
が使用でき、従って文書を通して従属性を有している。
プリンタ資源記憶装置220内の使用可能な空間に依存
して、印刷プロセスを通してこれらの資源をプリンタ2
18内に保持することがより効率的であるかも知れな
い。例えば第2の資源は文書の中間で1回だけ必要であ
るかも知れない。この場合、後刻プリンタ218が若干
の他の資源を必要としなくなる時点まで第2の資源はロ
ードされず、プリンタ資源記憶装置220内のより多く
のメモリが使用可能である。第2の資源は一旦使用され
るとプリンタ資源記憶装置220から削除されて他の資
源のための余地が作られる。どれ程遠くを先見するかの
決定は動的なプロセスである。例えば文書の開始時にお
ける目的は、印刷エンジン226を始動させることであ
る。従って、できるだけ速やかにプリンタ218へ資源
を転送するために資源アセンブラ208の先見動作は制
限される。しかし、プリンタ218が第1のデータブロ
ックを処理している間は、資源アセンブラ208は将来
データブロックを先見し、ホスト資源記憶装置210の
ために資源を選択し、そして将来ページのために RP
L を構成することができる。理想的には、資源アセン
ブラ208は何等かの印刷が開始される前に文書全体を
調べるために先見することができる。しかしながら、印
刷エンジン226を始動させるという要望が、初期先見
能力を制限する。他の応用プログラムが走ることができ
るようにホストコンピュータメモリ212の使用を最小
にする要望も、資源アセンブラ208が先見する能力を
制限する。目的は印刷エンジン226をできる限り効率
的に動き続けさせることである。資源アセンブラ208
が先見する実際のページ数は、文書の合計長、印刷エン
ジン226が処理中の文書の現ページ、及び文書の複雑
さのような要因に依存する。資源アセンブラ208の先
見能力は、プリンタ資源記憶装置220への資源の流れ
を制御する資源ローダ214の能力を向上させる。資源
アセンブラ208の動作の例として、本文の特定のペー
ジが5つの異なるフォント集合とページを印刷するため
の点テーブル(ベジェ曲線を描くための)を必要とする
もとのとする。資源アセンブラ208はページを調べて
明示従属性のリストを作成する。前述したように資源ア
センブラ208は、これらの従属性をコンピュータ・プ
リンタシステム200の他の部分へ通信する。同時に資
源アセンブラ208は、必要な資源及びそのページを記
述する RPL を含むであろうホスト資源記憶装置2
10をアセンブルし始める。双方向モードでは、資源ア
センブラ208はデータブロックが処理されるシーケン
スに関する情報をプリンタ218から受信することに注
意されたい。簡易化のために、資源アセンブラ208が
そのページのデータブロックを上から下へ処理するもの
とする。もしプリンタ218がページモードで動作して
いれば単一の RPL が存在し、もしプリンタ218
がバンディングモードで動作していれば各バンド毎に異
なる RPL が存在するであろう。RPLは、そのペ
ージ上の特定点における文字の特定シーケンスを印刷す
ることをプリンタ218に告げるフォーマットでデータ
ブロック(ページまたはバンド)を記述する。コンピュ
ータ・プリンタシステム200はこの情報を使用して文
字シーケンスの記述を構成し、この記述をホスト資源記
憶装置210内に記憶する。“記述を構成する”の範囲
は、ホストコンピュータ202内の記憶位置からの文字
シーケンスのビットマップをロードすることから、フォ
ント基準化技術を使用して方程式の集合から文字シーケ
ンスのビットマップを構成するまでにわたっている。も
しフォント集合全体を転送する方がより効率的である程
多くのあるフォントからの文字が必要であれば、資源ア
センブラ208はあるフォント全体を記憶することがで
きる。一方、もし制限された数の文字だけが必要であれ
ば、資源アセンブラ208は必要な文字だけを記憶する
ために絵文字集合を開くことができる。本例では、第1
のフォント集合の全体を転送することができる。第2の
フォント集合から必要とされる文字は方程式のための数
字と数学記号だけであることができる。資源アセンブラ
208は方程式のための文字を記憶するために絵文字集
合を開く。ページの次の部分が制限された数のイタリッ
ク文字(フォント番号3)を必要とするならば、絵文字
集合は開かれたままになる。絵文字集合のサイズは動的
に可変であることに注目されたい。例えば、印刷動作の
始めにおける目的はできる限り迅速に印刷エンジン22
6を働かせることである。この目的のために、資源アセ
ンブラ208は文書の第1のデータブロックのために小
さい絵文字集合を使用することができるので、絵文字集
合はできるだけ速やかにプリンタ資源記憶装置220へ
転送することができる。これは、働き続けさせる何かを
印刷エンジン226に与えながら、資源アセンブラ20
8に爾後のデータブロックのための資源をアセンブルさ
せる。爾後の絵文字集合のサイズは一般に、プリンタ資
源記憶装置220のサイズ、及びホストコンピュータ2
02とプリンタ218との間のデータ転送速度のような
パラメタによって決定される。資源アセンブラ208
は、絵文字集合が所定のサイズになるまで絵文字集合を
開き続ける。前述したように、絵文字集合は異なるフォ
ント集合からの文字を含むことができる。反対に、同一
のフォント集合からの文字は、従属性故に異なる絵文字
集合内に記憶することができる。例えば上述した数式内
に使用される文字の若干は爾後のデータブロックにおい
て印刷される第2の方程式に使用することができる。第
2の方程式は第2のフォント集合からの付加的な文字
と、第4及び第5のフォント集合からの文字とをも使用
するかも知れない。資源アセンブラ208は、第2の方
程式に必要な付加的な文字だけを含む第2の絵文字集合
を構成することができる。資源実行装置224が RP
L 及び資源をビットマップデータファイル内へ処理す
る時に、資源実行装置224は両絵文字集合からの文字
を使用して第2の方程式のためのビットマップを構成す
る。絵文字集合を配置するためのRPLは、印刷ページ
上の特定の位置にどの絵文字集合及びどの文字を配置し
つつあるかを識別するフォーマットである。第2の方程
式のための RPL の例は以下のようなシーケンスを
有することができる。 絵文字集合1、文字1、絵文字集合1、文字2、絵文字
集合1、文字3、絵文字集合1、文字12、絵文字集合
2、文字1、絵文字集合2、文字2、絵文字集合1、文
字17、絵文字集合2、文字3、絵文字集合2、文字
4、絵文字集合2、文字4、絵文字集合2、文字5、絵
文字集合2、文字6、及び絵文字集合2、文字7、単一
の RPL 内に両絵文字集合を使用すると、プリンタ
資源記憶装置220内に同時に両絵文字集合が得られる
ことに注目されたい。もし第1の絵文字集合がプリンタ
資源記憶装置220から削除されていれば、資源ローダ
214は第1の絵文字集合をホスト資源記憶装置210
から再ロードしなければならないことを決定する。資源
スケジューラ216は、プリンタ資源記憶装置220が
オーバフローしないように、またプリンタ資源記憶装置
ないの資源がタイムリーな手法で使用可能となるよう
に、要求のタイミングを制御する。従来のシステムはフ
ォント全体をダウンロードし、プリンタメモリを管理す
ることを企図していない。これはメモリのオーバフロー
をもたらし得るが、このようになると印刷タスクを完了
させることはできない。上述したようにインクリメント
的なダウンロードを遂行できるシステムでさえ、ダウン
ロードされたフォントを周期的にクリアすることを除い
て、プリンタメモリを管理することを企図していない。
対照的に、本発明のコンピュータ・プリンタシステム2
00は、上述したように必要な文字だけをプリンタ資源
記憶装置220へ転送し、絵文字集合資源を能動的に管
理するので、文字を絵文字集合内へアセンブルすること
によって時間及びプリンタメモリを節約する。従って、
印刷プロセスの総合効率が向上する。資源アセンブラ2
08の動作を要約すれば、資源アセンブラ208は資源
従属性を決定し、その情報をコンピュータ・プリンタシ
ステム200の他の部分へ通信し、そして文書記述を最
も効率的な手法で処理する。資源アセンブラ208はデ
ータブロックを記述する RPL をも作成し、RPL
及び資源をホスト資源記憶装置210内に記憶する。資
源ローダ214は、資源がプリンタ資源記憶装置220
内へロードされ、それから解放されるシーケンスを決定
する責を負う。資源ローダ214は、資源アセンブラ2
08が決定したシステム従属性へのアクセスを常に有し
ているので、最も効率的な資源のローディング及び再ロ
ーディングのシーケンスを決定することができる。資源
ローダ214は、コンピュータ・プリンタシステム20
0の通信能力に依存してホストコンピュータ202内に
配置しても、またはプリンタ218内に配置してもよ
い。もしホストコンピュータ202からプリンタ218
までの一方向通信だけしか存在しなければ、資源ローダ
214は常にホストコンピュータ202に頼ることにな
る。従ってプリンタメモリ222はホストコンピュータ
202によって管理される。しかしながら、もし双方向
通信能力が存在していれば、資源ローダ214をプリン
タ218内に存在させることができ、プリンタはそれ自
体のメモリを管理できるようになる。資源ローダ214
は RPL及び資源の両者のプリンタ218への転送を
制御する。前述したようにホスト資源記憶装置210
は、資源アセンブラ208がアセンブルした資源を1回
だけホスト資源記憶装置210内へロードするのに十分
に大きいサイズである。ホスト資源記憶装置210は資
源のサイズにも、またはプリンタ資源記憶装置220の
サイズによって賦課される制約にも関係していない。一
方、プリンタ資源記憶装置220はサイズに制限があ
り、資源はサイズ制限によって制約される。プリンタ資
源記憶装置220を効率的に管理するために、資源ロー
ダ214は既にプリンタ資源記憶装置220内にある各
資源のサイズ及び資源従属性(資源アセンブラ208に
よって先に決定されている)を調べ、資源をプリンタ内
へロードする及びプリンタから解放する順序を決定する
ので、プリンタ資源記憶装置220が空間を使い果たす
ことはない。以上のように資源ローダ214は印刷タス
クの途中で特定の資源を多数回ロードし、解放すること
ができる。資源ローダ214は、特定の資源が不要にな
った時にそれを解放できることに注目されたい。特定の
資源はプリンタ218内でまだ必要であるかも知れない
ので、プリンタ218はその資源を直ちに削除すること
はできない。ホストコンピュータ202とプリンタ21
8とは非同期的に動作するから、資源ローダ214によ
る資源の解放が直ちにプリンタ資源記憶装置220から
の資源の削除をもたらすことはない。従って資源を“解
放”及び“削除”するという語は、同期していない。資
源をプリンタ資源記憶装置220から排除すべきである
と資源ローダ214が決定すると、資源が解放される。
資源ローダ214の観点から、資源は最早プリンタ21
8内に存在しない。次いで資源ローダ214は次の資源
のロードまたは解放を指定する。プリンタ218がその
中で最早資源を必要としなくなると資源は削除され、実
際にプリンタ資源記憶装置220から資源を削除する。
資源ローダ214は、各資源のサイズと、効率的な観点
から、プリンタ資源記憶装置220内に存在させる特定
の資源のためにそれが意味をなしているか否かだけに関
心がある。資源ローダ214はプリンタ資源記憶装置2
20のサイズ、その中の使用可能な空間、及びプリンタ
資源記憶装置220の現状(即ち、どの資源がプリンタ
資源記憶装置内に存在しているか)を追跡し、どの資源
を保持するか、または解放するかを決定する。資源ロー
ダ214は現 RPL 及び 将来RPLの両者に関す
る明示従属性を調べる。資源ローダ214は資源をロー
ド及び解放すべき順序だけに関心があり、資源変化の実
際のタイミングには無関係であることに注目されたい。
プリンタ資源記憶装置220に対する変化のタイミング
は資源スケジューラ216によって制御される。前述し
たように、明示的に述べられた従属性によって資源ロー
ダ214は、資源をプリンタ資源記憶装置220内へロ
ーディングするシーケンスを決定するのが容易になる。
より困難なタスクは、新しい資源のために余地を作るた
めに資源をプリンタ資源記憶装置220から何時解放す
るかを決定することである。再び使用されることがない
資源は無関係に削除できることは明白である。しかしな
がら、もしある資源を近い将来再度使用するのであれ
ば、資源ローダ214はどの資源を解放して新しい資源
のために余地を作るかを決定しなければならない。従来
の多くのキャッシング(caching)システムにお
ける一般的方策は、最も古く使用された項目を削除(即
ち、最も長い時間前に使用された資源を削除)すること
である。この方策は、将来必要とされることが少ない資
源を予測するためには効率的ではない。コンピュータ・
プリンタシステム200は、明示従属性の故に、資源の
洞察的キャッシングを遂行して文書の将来のデータブロ
ックのための資源の最も効率的な記憶を予測することが
できる。資源は、資源が使用される順序、資源を記憶す
るために必要な空間の量、及びもし資源をプリンタ資源
記憶装置220から解放しなければならなければ資源を
再ロードするために必要な時間に基づいて管理される。
資源ローダ214は明示従属性を使用して、現在プリン
タ資源記憶装置220内にある資源を資源ローダが調べ
てどの資源が最も遅い時間に使用されるかを決定するよ
うな“時間線”を確立する。しかし前述したように、資
源ローダ214は削除される資源のサイズ及び資源を将
来再ロードするために必要な時間をも考慮する。洞察的
キャッシングの例としてプリンタ資源記憶装置220が
既に10資源(この例のために一般的に1乃至10のラ
ベルを付す)を含み、特定のデータブロックのためにプ
リンタ218が番号11の資源を必要としているものと
する。資源ローダ214は時間線を調べ、例えば資源番
号8が最も遅い時間に使用されることを決定することが
できる。しかしもし資源番号8のサイズが小さければ、
プリンタ資源記憶装置220から資源番号8を解放した
後でも必要な資源番号11をロードための十分な空間が
ないことが考えられる。従って、資源ローダ214は再
度時間線を調べ、資源番号8の次に最も遅い時間に使用
される資源を決定する。例えば資源番号2が解放できる
ものとする。しかしながら、番号2の資源をプリンタ資
源記憶装置220から解放した場合に必要以上の自由空
間がプリンタ資源記憶装置220内に生じ、また近い将
来番号2の資源を再ロードするには極めて長い時間を消
費するようであれば、資源ローダ214は再度時間線を
調べて1またはそれ以上の他の資源を代わりに解放す
る。この例では、要求された資源番号11のための余地
をプリンタ資源記憶装置220内に作るために、資源ロ
ーダ214は資源願望2及び8の代わりに資源番号7及
び5を解放することができる。以上は、資源ローダ21
4がプリンタ資源記憶装置220を管理することを考慮
する際の種々のパラメタの例として説明したに過ぎな
い。資源ローダ214は資源をプリンタ資源記憶装置2
20内へロードし、該装置から解放する順序を決定する
が、資源管理の実際のタイミングは資源スケジューラ2
16によって遂行される。資源スケジューラ216はプ
リンタ作動のシステムと見做すことができる。しかしな
がら前述したように、資源スケジューラ216を物理的
にプリンタ218内に配置する必要はない。一方向通信
だけを有するコンピュータ・プリンタシステム200で
は、資源スケジューラ216をホストコンピュータ20
2内に配置してホストコンピュータ202からプリンタ
メモリ222を管理することができる。もしコンピュー
タ・プリンタシステム200が双方向通信を有していれ
ば、資源スケジューラ216をプリンタ218内に配置
してプリンタにそれ自体のプリンタメモリ222を管理
させることができる。ホストコンピュータ202、プリ
ンタ218、及びプリンタ内の印刷エンジン216は全
て非同期で動作するから、これら3つの非同期部分間に
競合が発生しないように資源スケジューラ216は全て
のタイミングを制御しなければならない。資源スケジュ
ーラ216は全てのプリンタタイミングを初期化して制
御し、印刷エンジン226に動作を同期させ、特定の資
源をプリンタ資源記憶装置220内へ受け入れる時点を
決定する。資源スケジューラ216は、特定の資源をプ
リンタ資源記憶装置220から削除する時点をも決定す
る。前述したように、資源のローディング及び解放のシ
ーケンスを指定することが資源スケジューラ216のタ
スクである。資源スケジューラ216は先に資源ローダ
214によって解放された特定の資源が将来必要ではな
くなる時点を決定する。資源ローダ214と同様に、資
源スケジューラ216も資源アセンブラ208によって
作成された明示従属性へのアクセスを有している。資源
ローダ214とは異なり、資源スケジューラ216は現
ページのために必要な資源がプリンタ資源記憶装置22
0内に存在しているか否かだけに関心がある。現ページ
のための全ての従属性が満たされると(即ち、全ての必
要資源がプリンタ資源記憶装置220内に存在している
と)、資源スケジューラ216は印刷エンジン226に
ページを印刷することを委託する実行信号を生成する。
詳細を後述するように、印刷エンジンはページの途中で
は停止させることができないから、一旦あるページまた
はそのページを印刷するように印刷エンジンに委託した
後は印刷エンジンにはビットマップデータを実時間で供
給しなければならない。さもないと適切な印刷がなされ
なくなる。双方向プリンタはページの各側毎に実行信号
を必要とする(即ち、印刷プロセスは用紙の側と側との
間で停止させることができる)ことに注意されたい。資
源スケジューラ216は、印刷エンジンへの実時間委託
を行うことができる時点を決定し、印刷エンジンにペー
ジの印刷を委託する実行信号を生成する。資源スケジュ
ーラ216は、一方向及び双方向の両通信において同じ
ような機能を遂行する。一方向システムでは資源スケジ
ューラ216は、ホストコンピュータ202へプリンタ
ステータスを指示するハードウエア内に話中(BUS
Y)フラグを生成する。また資源スケジューラ216
は、プリンタ資源記憶装置220から資源が実際に削除
される時点をも決定する。双方向システムでは資源ロー
ダ214がプリンタ218からプリンタメモリ222を
管理し、特定の資源に対する特定の要求をホストコンピ
ュータ202に対して行う。更に資源スケジューラ21
6は印刷プロセスを監視して、ページが印刷エンジン2
26内の最終用紙ジャム(jam)センサを通過した時
点をホストコンピュータ202へ通知する。従ってホス
トコンピュータ202は、誤り復元を提供するためにそ
のページに関連する資源を最早保持している必要がなく
なったことを知る。資源スケジューラ216は印刷タス
クのための用紙経路をも計画することができる。これ
は、多数の用紙貯蔵器、複数の用紙サイズ及び経路を有
する大型プリンタには特に重要である。最適用紙経路を
計画すると印刷タスクの総合効率が改善される。資源実
行装置224は資源スケジューラ216から実行信号を
受け、RPLを印刷エンジン226がページを実際に印
刷するために使用することができるビットマップに変換
する。他の資源は、ビットマップ形状でプリンタ資源記
憶装置220内に既に存在していよう。資源実行装置2
24は、現在プリンタ資源記憶装置220内で使用可能
な資源を使用してビットマップを生成する。本発明のコ
ンピュータ・プリンタシステム200は、バンディング
モードまたはページモードで動作するプリンタと共に働
く。もしバンディングモードが使用されていれば、資源
実行装置224は実時間動作に拘束される。即ち、一旦
印刷エンジン226に対して実時間委託がなされると、
資源実行装置224は全ての RPL を一時に1バン
ドずつ実時間でビットマップに変換しなければならず、
そうでないと誤りが発生しよう。もしプリンタ218が
(バンディングモードに対抗して)ページモードで動作
していれば、実時間委託は存在しない。資源実行装置2
24は、ビットマップを印刷エンジンヘ転送する前にペ
ージ全体をビットマップに変換することができる。本発
明のコンピュータ・プリンタシステム200は、ページ
モードでも、またはバンディングモードでも動作するこ
とができる。RPLをビットマップデータファイルに実
際に変換するのは当業者には公知であり、その説明は省
略する。印刷エンジン226は資源実行装置224から
ビットマップデータを受け、このビットマップデータを
ページ上に印刷させる。印刷エンジン226の使用は当
業者には公知であり、その説明は省略する。文書の1つ
のページに関するビットマップデータが印刷エンジン2
26によって処理されるにつれて、用紙はプリンタ21
8を通って移動する。印刷エンジン226を通して、用
紙のジャムまたは低トーナ状態のような誤りを検出する
ための複数のセンサが存在している。従来のシステム
は、ページが最終用紙ジャムセンサを通過するまでプリ
ンタメモリ内にビットマップデータを保持する。もし用
紙のジャム誤りが発生すれば、従来のシステムはジャム
を生じたページを再印刷するために既にビットマップ形
状にあるデータを有している。しかしもしコンピュータ
・プリンタシステム200が双方向通信能力を有してい
れば、ビットマップデータはプリンタ218内に維持さ
れておらず、ホストコンピュータ202内に誤り回復デ
ータを生成する。ビットマップデータが既にプリンタメ
モリ内にあってページがジャムを発生すれば再印刷しよ
うと待機している従来システムの方が本発明よりも誤り
回復が速いように見える。しかし通常の印刷プロセスで
はページジャム誤りは滅多に発生するものではないか
ら、将来のページのためにデータの処理を継続し、誤り
回復のための最も効率的な技術に関して心配しない方が
総合印刷プロセスとしてはより効率的である。従って本
発明のコンピュータ・プリンタシステム200は文書全
体を印刷するための最も効率的な技術に関心を寄せてい
るのである。従来のシステムは、ページが最終用紙ジャ
ムセンサを通過してしまうまでプリンタメモリがビット
マップデータを保持させられているので、次のページの
ためのデータを直ちに処理することはできない。紙シー
トを取り、用紙上に像を発生させ、用紙を用紙トレイ内
へ落とすのに、典型的な印刷エンジンは約10秒を要す
る。本発明は、用紙がジャムしないことを見越して、文
書内の将来のページのためのデータの処理を継続する。
従来のシステムが印刷された用紙が最終用紙ジャムセン
サを通過するのを待機している時間中に、本発明のコン
ピュータ・プリンタシステム200は若干のページのた
めに資源をアセンブルし、PDL をRPL に翻訳
し、そしてプリンタ資源記憶装置220内の資源の流れ
を管理している。用紙ジャムが発生しそうにもない場合
には、ホストコンピュータ202はそのページを始めか
ら再処理する。もし用紙ジャムが発生すれば、ジャムを
生じた1または複数のページを物理的に除去するために
操作員が関与しなければならないから、時間的な実コス
トは存在しない。操作員がジャムを生じたページを除去
している間に、資源ローダ214はどのページが誤り回
復を必要としているかを決定し、必要な資源及び RP
L をプリンタ218内へ再ロードし始める。どの資源
が誤り復元プロセスのために必要かを決定するために資
源ローダ214が明示従属性を調べているので、明示従
属性は誤り復元プロセスを簡易化する。例えばプリンタ
218は、2ページから5ページまでの用紙をジャム
し、2及び3ページを双方向とし、4及び5ページを一
方向とすることができる。もしプリンタ218が印刷順
序を3ページ(下から上へ)、2ページ(上から下
へ)、4ページ(上から下へ)、5ページ(上から下
へ)のように予め指定されていれば、資源ローダ214
は明示従属性を使用して最も効率的な手法で RPL
を要求し、誤り回復を遂行する。これらの活動は、操作
員がジャムを生じた用紙を除去している間に行われる。
従って、コンピュータ・プリンタシステム200は従来
のシステムと対比した時に誤り回復に関して時間を失っ
てはいない。更に、印刷プロセスの効率は、ページが通
常はジャムしないものとすれば、極めて向上している。
以上のように、コンピュータ・プリンタシステム200
は従来のシステムよりも遥かに短い時間で文書を処理で
きるのである。前述したように、本発明のコンピュータ
・プリンタシステム200はホストコンピュータ202
からプリンタ218までの一方向通信と共に動作するこ
とも、またはホストコンピュータ202とプリンタ21
8との間の完全双方向通信チャネルと共に機能すること
もできる。もしホストコンピュータ202の、またはプ
リンタ218のハードウエアが双方向通信を支持するこ
とができなければ、一方向通信だけが可能である。一方
向通信の制限があるとしても、本発明のコンピュータ・
プリンタシステム200は従来のシステムに対して改良
されている。若干の場合には、双方向通信はコンピュー
タシステム202及びプリンタ218の両者によって支
持することができるが、完全双方向通信を効率的に支持
することが不可能になる程双方向通信チャネルの待ち時
間は長くなる。この場合、本発明のコンピュータ・プリ
ンタシステム200はプリンタ218とホストコンピュ
ータ202との間に制限された双方向通信を支持するこ
とができる。完全双方向通信程の効率ではないにして
も、このモードは一方向通信よりは好ましい。制限され
た双方向通信は単純な一方向通信よりも良い誤り及びス
テータス報告をホストコンピュータ202に与える。デ
ータ処理はあたかも一方向通信のように進行するが、も
し誤りが発生すれば、コンピュータ・プリンタシステム
200は誤り及びステータス情報を使用して誤りから回
復することができる。PCL を使用する若干のレーザ
プリンタシステムには、プリンタへプラグインされるソ
フトウエアカートリッジが設けられている。このカート
リッジは若干の付加的なフォントを含むことができる。
コンピュータ・プリンタシステム200はこのようなカ
ートリッジを使用してプリンタ218に、プリンタ21
8内に位置させる本発明の必要成分を提供することがで
きる。本発明の一実施例では、コンピュータ・プリンタ
システム200は PCL を使用する第1のモードで
動作する能力を有しており、また本発明を使用する第2
のモードで動作することも可能である。この実施例で
は、コンピュータ・プリンタシステム200は2つのモ
ードの間で自動的に切り換えられて行き来する。これに
よってコンピュータ・プリンタシステム200は、DO
S応用のような他の応用と両立し続けることが可能にな
る。2つのモードの間で切り換えられて行き来すること
によってコンピュータ・プリンタシステム200は、従
来のシステムとの間に大きい互換性を与える。前述した
ように、従来のモード切換え方式は低速且つ複雑であ
る。対照的にコンピュータ・プリンタシステム200は
本発明の資源ベース印刷モードと PLC モードとの
間の迅速且つ簡単な切換えを可能にする。この方式は、
プリンタ218内のソフトウエアまたはファームウエア
がプリンタ218の完全初期化を遂行する必要を無くし
ているので、高速なモード切換えが可能なのである。更
に、新ファームウエアにベース機能をふくませる必要が
ないために新ソフトウエアまたはファームウエアの複雑
さを低減している。従来技術のように、システムのリセ
ットの後にベース機能が動作し始めると、それは初期化
呼び出しを行う。初期化呼び出しは、ハードウエア、試
験及び初期化メモリの初期化、付加的なハードウエア周
辺装置の検査、及び付加的なファームウエアの検査に大
量の時間がかかる。もし付加的なファームウエアが検出
されれば、それに制御が与えられるので新機能が始動で
きる。初期化呼び出しの後、本発明はプリンタ218の
完全状態の“スナップショット”を行う。これにはプロ
セッサの内部状態(レジスタ、モード)、並びにプリン
タメモリ222の全ての内容が含まれる。この情報は高
度に圧縮され、記憶される。図6に示すように典型的な
プリンタメモリ222は1.5 メガバイトである。し
かしながら初期化の直後のプリンタメモリ222は高度
に圧縮可能であり、典型的には僅か8Kバイトに圧縮す
ることができる。このスナップショットはプリンタメモ
リ222の一部として記憶され、古いファームウエアか
ら“隠される”。本発明はスナップショットをこの目的
に専用のメモリ内に配置し,ベース機能が利用できない
ようにして実現することもできる。プリンタ218の状
態を圧縮し記憶させた後,制御はベース機能に戻されて
動作可能になる。新機能にたいする要求によって資源ベ
ースプリンタモードが呼び出されると、プリンタ218
は新ファームウエアを実行し始める。結局はベース機能
が要求されてベースファームウエアに制御が与えられ
る。このようになると早い時期に保管された状態情報は
プリンタ218の完全状態を回復するために使用され、
次いで制御はあたかも新ファームウエアが始めの初期化
呼び出しから戻ったかのようにベースファームウエアに
戻される。このためプリンタ218の状態は初期化呼び
出し後のプリンタ218の状態と区別できない。本発明
によれば完全初期化によるオーバヘッドの増加を伴うこ
とも、またはベース機能に新ファームウエアを含ませた
ことによる複雑さの増加及び価格の高騰を伴うことな
く、プリンタ218は資源ベースモードと PCL モ
ードとの間で切換わることができる。本発明の方法を図
7の状態図で示す。状態ブロック400において、プリ
ンタ218はその内部データレジスタを初期化し、プリ
ンタメモリ222を試験初期化することによって動作を
開始する。状態ブロック402においてコンピュータ・
プリンタシステム200は、プリンタメモリ222及び
プリンタ内のプロセッサの全ての内部データレジスタ
(図示してない)を圧縮することによってプリンタ21
8の状態をセーブする。これは、命令ポインタ,スタッ
クポインタ等のような内部データレジスタを含む。状態
バッファ404において、圧縮されたデータは前述した
ように状態バッファ内にセーブされる。この状態バッフ
ァは、それがプリンタメモリ222の一部であろうと、
分離したメモリ装置であろうと、両動作モードはアクセ
スすることができない。即ち、プリンタ218の圧縮さ
れたスナップショット初期状態は両動作モードによる改
造から保護されているのである。前述したように、状態
406において制御はベース機能に戻される。従って、
プリンタ218は PCL モードで動作を開始する。
代替として、プリンタ218の制御を新機能に与えても
よく、このようにすればプリンタ218は資源ベース印
刷動作モードで動作し始める。ベース機能状態ブロック
406から新機能状態ブロック408へ切換えるため
に、本発明は内部データレジスタ及びプリンタメモリ2
22内に現存データを上書きする。資源ベース印刷動作
モードの動作は説明済である。新機能状態ブロック40
8からベース機能状態ブロック410へ切かえるために
は、モードスイッチ状態ブロック410がプリンタ21
18の初期状態の圧縮されたスナップショットを伸長さ
全ての内部データレジスタ及びプリンタメモリ222全
体を最初の初期化呼び出し後と同じ状態に復元させる。
そのためプリンタ218はあたかも今初期化が終了した
かの如くに動作する。モードスイッチ状態ブロック41
0は状態バッファ404を検査して内容が変更されたか
否かを決定する。この検査のためのブロセスは以下に説
明する。もし状態バッファ404の内容が変化していれ
ば、本発明は制御を状態ブロック400に戻し,プリン
タ218に完全初期化を行うことを強制する。前述した
ように、システムの状態のセービングは全てのメモリ
(典型的には1−4メガバイト)及びハードウエアの状
態をメモリの小ブロックに圧縮することを含む。好まし
い実施例においては、プリンタメモリ222及びハード
ウエアの状態を圧縮して8Kバイトのメモリのブロック
に適合させることができる。普通ならばこのような圧縮
比は達成不能であるが、装置はリセット及びメモリ初期
化の後に正確に調べられるからメモリの内容は殆ど空で
あり従って極めて圧縮性に富むのである。若干の場合に
は、メモリの臨界領域が8Kバイト以下であるので状態
情報を圧縮する必要すらない。好ましい実施例では、プ
リンタメモリ222及び状態情報は、データ圧縮の分野
では公知の形状であるランレングスエンコーディング
(RLE)を使用して圧縮される。RLEエンコーディ
ングでは値0を有する連続バイトの数が記憶される。例
えば、プリンタメモリが全部0の10,000バイトの
ブロックを有しているものとする。RLE 圧縮は数1
0,000を記憶する。当業者ならば理解されるよう
に、多くの公知のデータ圧縮技術を本発明の原理に従っ
て使用することができる。図7に示すように圧縮された
サンプルは、このメモリの偶発的な変更を検出するため
に状態バッファ404に接続された検査合計である。こ
れはデータの臨界的性質から必要である。この圧縮され
たスナップショットの何れかの部分が変更されると、状
態が復元された時にプリンタ218は動作しなくなる。
もしスナップショットが変更されていることを検査合計
が指示すれば、モードを切換えるために伝統的なプリン
タ218の完全リセットが使用される。代替として、誤
り検査のための他の公知の技術を使用してもよい。前述
したように、プリンタ218は PCL モードで動作
し始める。資源ベース印刷動作モードへの切換えは、単
にプリンタメモリ222、及びプリンタ218のプロセ
ッサ内の内部データレジスタ内に存在するデータを上書
きするだけでよい。資源ベース印刷動作モードから P
CL 動作モードへの切換えは、上述したように単にプ
リンタ218の初期状態を回復しさえすればよい。プリ
ンタ218は新しいファームウエアの中で古い機能と新
しい機能を統合するための新しいファームウエアを必要
とすることなく、またモードを切換える度にプリンタ2
18の完全初期化を行う必要なく、容易に、且つ迅速に
動作モードの間で切換わることができる。以上に資源ベ
ース印刷モードと PCL 印刷モードとの間のモード
切換え動作の詳細を説明したが,本発明の原理はたのプ
リンタ及び他のプリンタ動作モードにも適用することが
可能である。ベース機能に加えて新しい機能を提供する
ためにプリンタにプラグインする多くのファームウエア
アド・オンカートリッジが存在している。本発明の原理
によれば、モード切換えは任意の印刷システムに容易に
付随させることができる。同様に、本発明の原理は1よ
り多い動作モードを有する装置にも適用可能である。当
業者ならば理解できるであろうが、本発明が使用してい
る印刷への革命的なアプローチは、印刷プロセスの総合
速度を極めて増加させる。印刷プロセスにどのようにし
てアプローチするかと言う従来の概念を破棄し、ホスト
コンピュータとプリンタの両方の利用できる全ての計算
能力の利点を採り入れることによって本発明は、ハード
ウエアの価格の増加を僅かに抑えながら印刷速度を劇的
に増加させた。本発明の原理は既存レーザプリンタに容
易に適用できる。本発明の種々の実施例及び利点を説明
したが、この説明は例示に過ぎず、本発明はその原理か
ら逸脱することなく多くの変更を施し得ることを理解さ
れたい。従って、本発明は特許請求の範囲によってのみ
制限されるのである。
【図1】典型的な従来技術のコンピュータ・レーザプリ
ンタシステムを示す図。
ンタシステムを示す図。
【図2】本発明のコンピュータ・プリンタシステムの機
能ブロック線図。
能ブロック線図。
【図3】無制約文書を表すことができる手法を示す図。
【図4】図3の無制約文書を制約された形態で表すこと
ができる手法を示す図。
ができる手法を示す図。
【図5】図4の制約された文書の代替構成を示す図。
【図6】本発明によるプリンタメモリの圧縮を示す図。
【図7】本発明の動作のモードを示す状態図。
200 コンピュータ・プリンタシステム 202 ホストコンピュータ 204 応用プログラム 206 資源記憶領域 208 資源アセンブラ 210 ホスト資源記憶装置 212 ホストコンピュータメモリ 214 資源ローダ 216 資源スケジューラ 218 プリンタ 220 プリンタ資源記憶装置 222 プリンタメモリ 224 資源実行装置 226 印刷エンジン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム ビー マコーミック アメリカ合衆国 ワシントン州 98007 ベルヴィュー ノースイースト トゥエン ティース ストリート 144−14150 (72)発明者 スティーヴン ヴィ デニス アメリカ合衆国 ワシントン州 98011− 5453 ボセル ノースイースト ワンハン ドレッドアンドシックスティフィフスプレ イス 11705
Claims (23)
- 【請求項1】 装置メモリを有する装置を第1の動作モ
ードと第2の動作モードとの間で切換える切換え装置で
あって、上記装置は電力投入時または装置リセット時に
装置を初期状態に初期化して装置が第1のモードで動作
することを許容し、装置メモリは上記初期状態において
は初期値を有し、切換え装置が、 初期値を受信し、それらの初期値を記憶する状態バッフ
ァと、 第1または第2の何れかのモードを選択的に可能化する
可能化手段と、 を具備し、上記可能化手段は、もし装置が第1のモード
から第2のモードへ切換われば装置メモリを第2のモー
ドで動作するように設定し、もし装置が第2のモードか
ら第1のモードに切換わり、且つ第2のモードから第1
のモードに切変わる時に上記記憶された初期値を使用し
て初期状態を復元することを特徴とする装置。 - 【請求項2】 上記状態バッファは装置メモリの一部で
あり、上記装置メモリの一部は第1または第2の何れか
のモードで動作中使用されないように保護されている請
求項1に記載の装置。 - 【請求項3】 初期化後に装置メモリの内容を圧縮して
圧縮された初期メモリ値の集合を作成する圧縮手段をも
含み、初期値が上記圧縮された初期メモリ値を含む請求
項1に記載の装置。 - 【請求項4】 上記状態バッファは装置メモリの一部で
あり、上記装置メモリの一部は第1または第2の何れか
のモードで動作中使用されないように保護されている請
求項3に記載の装置。 - 【請求項5】 初期値を記憶した後に上記状態バッファ
の内容が変化したか否かを決定する検査手段をも含み、
上記可能化手段は上記検査手段を使用して上記状態バッ
ファの内容の変化を検出し、もし上記可能化手段が上記
状態バッファの内容の変化を検出すれば上記可能化手段
は装置に装置リセットを遂行させる請求項1に記載の装
置。 - 【請求項6】 初期値を記憶した後に上記状態バッファ
の内容が変化したか否かを決定する検査手段をも含む請
求項1に記載の装置。 - 【請求項7】 上記検査手段が検査合計からなる請求項
6に記載の装置。 - 【請求項8】 装置が第1または第2のモードで二者択
一的に動作可能なプリンタであり、上記状態バッファは
装置メモリの一部であり、上記装置メモリの一部は第1
または第2の何れかのモードで動作中使用されないよう
に保護されている請求項1に記載の装置。 - 【請求項9】 初期化後に装置メモリの内容を圧縮して
圧縮された初期メモリ値の集合を作成する圧縮手段をも
含み、初期値が上記圧縮された初期メモリ値を含む請求
項8に記載の装置。 - 【請求項10】 初期値を記憶した後に上記状態バッフ
ァの内容が変化したか否かを決定する検査手段をも含む
請求項8に記載の装置。 - 【請求項11】 上記可能化手段は上記検査手段を使用
して上記状態バッファの内容の変化を検出し、もし上記
可能化手段が上記状態バッファの内容の変化を検出すれ
ば上記可能化手段は上記初期化手段がプリンタを初期化
するように制御を戻す請求項10に記載の装置。 - 【請求項12】 上記可能化手段は、プリンタを上記初
期状態で動作可能ならしめることによって始めに第1の
モードを選択する請求項8に記載の装置。 - 【請求項13】 上記可能化手段は、プリンタを上記初
期状態で動作可能ならしめることによって始めに第1の
モードを選択する請求項8に記載の装置。 - 【請求項14】 コンピュータと、コンピュータに結合
されている装置とを含むコンピュータ装置において装置
を第1の動作モードと第2の動作モードとの間で切換え
る方法であって、上記装置は内部データレジスタと装置
メモリとを有し、装置は電力投入時または装置リセット
時に装置を初期状態に初期化して装置を第1のモードで
動作可能ならしめ、装置データレジスタ及びメモリは上
記初期状態にある場合には初期値を有しており、上記方
法が、 (a)状態バッファ内に初期値を記憶する段階と、 (b)装置を第1または第2の何れかのモードで選択的
に可能化する段階と、を具備し、第1のモードは装置の
始まりの動作によって選択され、第2のモードは装置デ
ータレジスタ及びメモリを第2のモードで動作させるよ
うに設定することによって選択されることを特徴とする
方法。 - 【請求項15】 (c)初期値を記憶した後に上記状態
バッファが変更されたか否かを決定する段階と、 (d)もし上記決定段階(c)が上記状態バッファは変
更されていないと決定すれば、記憶した上記初期値を使
用して第1のモードから第2のモードへ切換えて初期状
態を復元する段階と、 (e)もし上記決定段階(c)が上記状態バッファは変
更されていると決定すれば、装置を再初期化する段階
と、をも含む請求項14に記載の方法。 - 【請求項16】 初期値を記憶する段階(a)の前に装
置メモリの内容を圧縮する段階をも含む請求項14に記
載の方法。 - 【請求項17】 初期値を記憶する段階(a)が装置メ
モリの一部を使用し、上記装置メモリの一部は第1また
は第2の何れかのモードで動作中使用されないように保
護されている請求項14に記載の装置。 - 【請求項18】 装置はコンピュータに結合されている
プリンタであり、上記方法が、初期値を記憶する段階
(a)の前にプリンタメモリの内容を圧縮する段階をも
含む請求項14に記載の方法。 - 【請求項19】 上記圧縮された初期値を記憶する段階
(a)がプリンタメモリの一部を使用し、上記プリンタ
メモリの一部は第1または第2の何れかのモードで動作
中使用されないように保護されている請求項18に記載
の装置。 - 【請求項20】 段階(b)が、プリンタを上記初期状
態で動作可能ならしめることによって始めに第1のモー
ドを選択する請求項18に記載の装置。 - 【請求項21】 (c)上記圧縮された初期値の集合を
記憶した後に上記状態バッファが変更されたか否かを決
定する段階と、 (d)もし上記決定段階(c)が上記状態バッファは変
更されていないと決定すれば、上記記憶した圧縮された
初期値の集合を使用して第2のモードから第1のモード
に切替えて上記初期状態を復元する段階と、 (e)もし上記決定段階(c)が上記状態バッファは変
更されていると決定すれば、プリンタを再初期化する段
階と、をも含む請求項18に記載の方法。 - 【請求項22】 圧縮された初期値を記憶する段階
(a)がプリンタメモリの一部を使用し、プリンタメモ
リの一部は第1または第2の何れかのモードで動作中使
用されないように保護されている請求項21に記載の装
置。 - 【請求項23】 段階(b)が、プリンタを上記初期状
態で動作可能ならしめることによって始めに第1のモー
ドを選択する請求項21に記載の装置。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/911,767 US5469533A (en) | 1992-07-10 | 1992-07-10 | Resource-oriented printer system and method of operation |
US07/912,098 US5337258A (en) | 1992-07-10 | 1992-07-10 | Cost metrics |
US07/911767 | 1992-11-16 | ||
US07/912098 | 1992-11-16 | ||
US07/976,204 US5467435A (en) | 1992-07-10 | 1992-11-16 | System and method for mode switching |
US07/976204 | 1992-11-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06202972A true JPH06202972A (ja) | 1994-07-22 |
Family
ID=27420623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22202593A Withdrawn JPH06202972A (ja) | 1992-07-10 | 1993-07-12 | モード切換え装置及び方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5467435A (ja) |
EP (1) | EP0578257B1 (ja) |
JP (1) | JPH06202972A (ja) |
KR (1) | KR940006047A (ja) |
AT (1) | ATE185432T1 (ja) |
CA (1) | CA2100175C (ja) |
DE (1) | DE69326640T2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617517A (en) * | 1994-09-20 | 1997-04-01 | Seiko Epson Corporation | Two-dimensional method and system for compressing bi-level images |
JP3562860B2 (ja) * | 1995-03-20 | 2004-09-08 | 株式会社沖データ | プリンタシステムおよびその印刷方法 |
US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
US6038590A (en) | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
US5848246A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
US5987245A (en) | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
US5999972A (en) | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US6166822A (en) * | 1998-01-20 | 2000-12-26 | Lexmark International, Inc. | Method of printing with a host based printer using an internal font |
US6954278B1 (en) | 1998-02-13 | 2005-10-11 | Lexmark International, Inc. | Dynamic printer operating system |
JP3289775B2 (ja) * | 1998-02-27 | 2002-06-10 | 日本電気株式会社 | Lsi、該lsiを備えた電子機器の制御回路および該制御回路の制御方法 |
US7054015B1 (en) * | 1999-07-02 | 2006-05-30 | Electronics For Imaging, Inc. | Printer description file format generator |
US6489972B1 (en) * | 1999-09-14 | 2002-12-03 | Hewlett-Packard Company | Dynamic internal page registration and retrieval system |
CA2589552A1 (en) * | 2004-07-21 | 2006-01-26 | Australian Postal Corporation | Improvements in or relating to tickets |
JP3879757B2 (ja) * | 2004-10-07 | 2007-02-14 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置、新機能追加通知方法、およびコンピュータプログラム |
US20070216696A1 (en) * | 2006-03-16 | 2007-09-20 | Toshiba (Australia) Pty. Limited | System and method for document rendering employing bit-band instructions |
EP2472397A1 (en) * | 2010-12-28 | 2012-07-04 | POLYTEDA Software Corporation Limited | Load distribution scheduling method in data processing system |
JP2020201719A (ja) * | 2019-06-10 | 2020-12-17 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4353653A (en) * | 1979-10-19 | 1982-10-12 | International Business Machines Corporation | Font selection and compression for printer subsystem |
JPS62204955A (ja) * | 1986-03-05 | 1987-09-09 | Minolta Camera Co Ltd | 文字画像発生回路 |
US5220674A (en) * | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
JPH01183729A (ja) * | 1988-01-18 | 1989-07-21 | Citizen Watch Co Ltd | メモリの自動初期化機能を備えたプリンタ |
US5108208A (en) * | 1988-12-05 | 1992-04-28 | Gardner Michael E | Allocation of memory in a font cartridge |
JP2997005B2 (ja) * | 1990-04-12 | 2000-01-11 | キヤノン株式会社 | 出力装置 |
JPH0412874A (ja) * | 1990-05-01 | 1992-01-17 | Minolta Camera Co Ltd | プリンタ制御装置 |
JP3105903B2 (ja) * | 1990-07-13 | 2000-11-06 | キヤノン株式会社 | 印刷制御装置及び印刷装置 |
EP0470782B1 (en) * | 1990-08-08 | 1996-02-14 | The Peerless Group | Image rendering process and apparatus |
JP2562514B2 (ja) * | 1990-09-03 | 1996-12-11 | キヤノン株式会社 | 印刷制御装置及びイメージデータ描画方法 |
US5175679A (en) * | 1990-09-28 | 1992-12-29 | Xerox Corporation | Control for electronic image processing systems |
US5113355A (en) * | 1990-10-10 | 1992-05-12 | Fuji Xerox Co., Ltd. | Printer control system |
CA2041140A1 (en) * | 1990-10-12 | 1992-04-13 | Richard L. Kochis | Pcl vertical graphics scaling using macros |
-
1992
- 1992-11-16 US US07/976,204 patent/US5467435A/en not_active Expired - Lifetime
-
1993
- 1993-07-09 EP EP93111034A patent/EP0578257B1/en not_active Expired - Lifetime
- 1993-07-09 CA CA002100175A patent/CA2100175C/en not_active Expired - Lifetime
- 1993-07-09 DE DE69326640T patent/DE69326640T2/de not_active Expired - Lifetime
- 1993-07-09 AT AT93111034T patent/ATE185432T1/de not_active IP Right Cessation
- 1993-07-10 KR KR1019930013046A patent/KR940006047A/ko not_active Application Discontinuation
- 1993-07-12 JP JP22202593A patent/JPH06202972A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0578257B1 (en) | 1999-10-06 |
KR940006047A (ko) | 1994-03-23 |
DE69326640D1 (de) | 1999-11-11 |
ATE185432T1 (de) | 1999-10-15 |
US5467435A (en) | 1995-11-14 |
CA2100175A1 (en) | 1994-01-11 |
DE69326640T2 (de) | 2000-04-27 |
EP0578257A1 (en) | 1994-01-12 |
CA2100175C (en) | 2000-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06202972A (ja) | モード切換え装置及び方法 | |
JPH06266514A (ja) | 資源向きプリンタ装置及び作動方法 | |
US5469532A (en) | System and method for font wrapping printer data | |
JP3947233B2 (ja) | プリンタシステムおよびその制御方法 | |
EP0578262B1 (en) | System and method for dynamic printer timeout | |
US5471563A (en) | System and method for automatic resolution reduction | |
US5533175A (en) | Low cost page printer system and method | |
US5796930A (en) | System architecture for processing and transporting page-map or bit-map data to a raster print engine | |
US5237655A (en) | Raster image processor for all points addressable printer | |
EP1168152B1 (en) | Printer control system with copier type document handling | |
JPH1040031A (ja) | プリントシステム、プリンタドライバ及びプリンタ | |
US6160632A (en) | Simplified method to print inherited pages in a page printer | |
JPH02159615A (ja) | プリンタ装置のコントローラ | |
JPH10198530A (ja) | プリンタシステム | |
JP3018692B2 (ja) | 印字装置 | |
JP3019335B2 (ja) | プログラムのロード方式 | |
KR0155258B1 (ko) | 페이지 프린터의 버퍼 메모리 릴리즈 방법 | |
JP2005159764A (ja) | 記録方法及び装置及びプログラム及び記憶媒体 | |
WO1997018513A1 (en) | Method for merging variable image data into a template image | |
JPH11291564A (ja) | 情報処理装置および方法、印刷システム、記憶媒体 | |
JPH06259430A (ja) | 文字処理装置 | |
JPH08305508A (ja) | 情報処理装置並びに印刷装置並びに印刷システムおよび印刷制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001003 |