JPH06168084A - コストメトリクスを決定する装置及び方法 - Google Patents

コストメトリクスを決定する装置及び方法

Info

Publication number
JPH06168084A
JPH06168084A JP22202193A JP22202193A JPH06168084A JP H06168084 A JPH06168084 A JP H06168084A JP 22202193 A JP22202193 A JP 22202193A JP 22202193 A JP22202193 A JP 22202193A JP H06168084 A JPH06168084 A JP H06168084A
Authority
JP
Japan
Prior art keywords
draw
printer
cost
primitive
time
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.)
Granted
Application number
JP22202193A
Other languages
English (en)
Other versions
JP3947233B2 (ja
Inventor
V Dennis Stephen
ヴィ デニス スティーヴン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH06168084A publication Critical patent/JPH06168084A/ja
Application granted granted Critical
Publication of JP3947233B2 publication Critical patent/JP3947233B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • G06K15/1823Analysing the received data before processing for evaluating the resources needed, e.g. rasterizing time, ink, paper stock
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1859Generation of the printable image characterized by its workflow involving data processing distributed amongst different data processing apparatus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1865Generation 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3419Recording 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Debugging And Monitoring (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 ホストコンピュータ及びプリンタが情報及び
データ処理責務を分担するような資源向きホストコンピ
ュータ・プリンタシステムを提供する。 【構成】 ランタイムに、資源アセンブラはバンド内の
各ドロープリミティブの実行のコストを計算してプリン
タがそのドロープリミティブを実時間で描写できるか否
かを決定する。もしプリンタが実時間で描写できない程
バンドが複雑であれば、ホストコンピュータがそのバン
ドを描写し、そのバンドのビットマップをプリンタへ伝
送する。もしページ上の複雑なバンドが過多であれば、
ホストコンピュータはページ全体を描写し、そのページ
上の全バンドのビットマップを伝送することができる。

Description

【発明の詳細な説明】
【産業上の利用分野】本発明はコンピュータシステムを
用いて印刷する装置及び方法に関する。
【従来の技術】コンピュータシステムは大量のデータを
コンパイルし、処理するために高度に有用である。近代
的なコンピュータシステムは図形画像を表示及び印刷可
能ならしめるグラフィックス能力を含むことが多い。本
文のページ及び図形画像の両者または何れか一方を印刷
するには、データをホストコンピュータが使用している
フォーマットから選択された特定のプリンタが使用して
いるフォーマットへ変換する必要がある。典型的には、
コンピュータデータはビットマップデータファイルに変
換され、このビットマップにおいては各ビットは印刷さ
れるページ上の1つのドットを表す。通常ビットマップ
はホストコンピュータ内で発生され、圧縮されたデータ
フォーマットでプリンタへ転送される。圧縮されたビッ
トマップはプリンタ内で復元されて印刷エンジンと、印
刷プロセスを制御する電子回路とに転送される。印刷エ
ンジンは、用紙の運動、トーナ、及び用紙を移動させる
機械的な駆動システムを制御するプリンタの一部であ
る。印刷エンジンはビットマップデータを受信し、それ
を適切な電圧に変換して印刷画像を作成する。印刷ペー
ジは絵素と呼ばれる個々のドットからなる。典型的なレ
ーザプリンタでは、インチ当たり300、600または
それ以上の絵素が存在することができる。通常各絵素
は、プリンタメモリ内の単一のデータビットによって表
される。レーザ印刷エンジンがある線を走査するにつれ
てその線に対応するデータビットが読出され、そのメモ
リ位置内に記憶されているデータビットの論理レベルに
依存してレーザビームはオン/オフされる。解像力が3
00 絵素/インチである場合、あるページ全部のビッ
トマップデータファイルを記憶するにはプリンタは約1
メガバイトのメモリを必要とする。若干のレーザプリン
タは大きいメモリを含んでおり、ページモードで作動す
る。これはプリンタがページ全体のデータをビットマッ
プ形状で記憶できることを意味する。ページ全体をビッ
トマップ形状で記憶するのに必要なメモリは大容量にな
るから、必要なメモリの量を減少させるために若干のプ
リンタはバンディング(banding)モードを使用
している。バンディングモード能力を有するプリンタ
は、印刷ページをバンドと称する複数の水平セグメント
に細分する。プリンタは一時に1つのバンドに関するビ
ットマップデータだけを受け入れるので、メモリに対す
る要求は低減される。プリンタは第1のバンドに関する
データを処理した後に限って第2のバンドに関するデー
タを受け入れることができる、等々のようになってい
る。例えば、もし印刷ページを4つのバンドに細分すれ
ば、プリンタはそのページの全ビットマップデータの1
/4だけを記憶すればよいのでメモリに対する要求も1
/4に低減される。コンピュータ・プリンタシステムの
設計は、2つの基本的な目的の達成を含んでいる。第1
の目的は装置独立性である。特定のホストコンピュータ
のシステム制約からプリンタを独立させるために、製造
業者及びプログラマはプリンタ駆動装置が汎用になるよ
うに設計を重ねてきた。もし真の装置独立性が得られれ
ば、ホストコンピュータはプリンタインタフェースにど
の型のプリンタが接続されているのかを知る必要はな
い。典型的にはホストコンピュータは、直列I/0ポー
トまたは並列I/0ポートのようなハードウエアインタ
フェースを通してプリンタシステムにデータを伝送す
る。従来のコンピュータ・プリンタシステムでは、接続
された特定のプリンタに対するホストの知識を最小に
し、それに代えてかなり要約されたデータストリームに
頼ることによって装置独立性を達成することを企図して
いる。その結果、データストリームの転送及び処理が不
十分なペースまで低速になり、処理能力が損なわれがち
である。例えば、ホストコンピュータはある文書の数ペ
ージのために必要な第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が
処理されるものとユーザが予測していることである。し
かしながら、実際にはユーザは、文書が完全に印刷され
た時にページが適切な順序でプリンタトレイ内に現れる
であろうことを期待しているに過ぎない。ページがプリ
ンタによって実際に印刷される順序以外の任意の順序で
ホストコンピュータがページを処理すべきであるとする
実質的な理由は存在しない。前述したように、従来のシ
ステムは近代的なレーザプリンタの利用可能な潜在的計
算能力を使用することにも失敗している。古い設計の無
言プリンタはデータバッファ及び印刷エンジンの域を殆
ど出ていなかった。データ処理は全てホストコンピュー
タによって行われ、プリンタはドットマトリクスデータ
を印刷していた。近代的なレーザプリンタはマイクロプ
ロセッサ制御であり、ホストコンピュータに匹敵するよ
うな計算能力を有している。未だに従来のシステムは、
プリンタがデータ処理を遂行する何等の能力をも持たな
い無言プリンタとしてプリンタを取り扱う傾向にある。
これは、部分的には、前述したように装置独立性を達成
しようとする企図に起因する。他の従来のシステムは、
実質的に全てのデータ処理に関する責をプリンタに負わ
せている。結果的には、ホストコンピュータとプリンタ
の混合された計算能力は効率的に使用されてはおらず、
総合印刷プロセスは非効率的なペースまで低速化されて
いる。ホストコンピュータとプリンタとの間には殆ど通
信がなされないので、ホストコンピュータ及びプリンタ
はデータ処理のタスクを効率的に分担することができな
い。一般的に従来のホストコンピュータは実質的に全て
のデータ処理を遂行するか、または実質的に全くデータ
処理を行わない。装置独立性を達成し、全ての型のプリ
ンタとの汎用動作を達成する試みは、ホストコンピュー
タとプリンタとが互いに効率的に通信しないために、潜
在的な計算能力が活用されず、資源が浪費されることか
ら非効率的な印刷プロセスをもたらしただけである。従
って、ホストコンピュータとプリンタとの間に効率的な
通信を許容し、資源の利用を最大にするようなコンピュ
ータ・プリンタシステムに対する大きい要望が存在して
いることが理解されよう。
【発明の概要】本発明のシステムは、選択された命令集
合の実行時間を決定するためのタイマ及び評価器を含む
ホストコンピュータ・プリンタシステム内に実現され
る。実行時間から、任意の命令集合のための実行時間を
予測するプリンタモデルが構成される。累積されたデー
タがログファイル内に記憶され、ユーザが指定した命令
の集合を実行するコストを計算するために資源アセンブ
ラによって使用される。コスト計算に基づいて資源アセ
ンブラは、プリンタがユーザの指定した命令を実時間で
実行できるか否かを決定する。代替実施例では、データ
エントリの数を減少させるために、ログファイル内に含
まれるデータを分類する。分類されたデータはコストテ
ーブルの集合内に記憶される。マップテーブルの集合が
コストテーブルへのアクセスを簡易化する。本発明のシ
ステムはコストメトリクス(cost metric
s)データを予め決定することができ、資源アセンブラ
に連係された少数の2進データファイルを提供する。代
替としてコストデータはプリンタをコンピュータへ設置
する時点に決定し、資源アセンブラへ連係させることが
できる。
【発明の概要】本発明はホストコンピュータ・プリンタ
対話に対して革命的な方策を取っている。本発明は、印
刷プロセスの印刷速度を劇的に増大させ、応用(アプリ
ケーション)時間を減少させるために、ホストコンピュ
ータとプリンタとの共働努力を許容する。応用時間への
戻りは、ホストコンピュータが印刷ジョブの処理を要求
し、そして印刷を開始させた応用プログラムへ戻る時間
である。多くの従来のコンピュータ・プリンタシステム
は、印刷ページではなくコンピュータコードを実行する
ように設計されている。つまり、プリンタはコードを受
信し、変換し、そして実行し、ページはコード実行の副
産物として印刷されるのである。従来の多くのシステム
は単一のページを印刷するために大量のコードを実行し
ている。前述したように、従来のシステムはホストコン
ピュータとプリンタとの間に実効的な対話を有していな
い。従って近代的なプリンタの精緻な計算能力は利用さ
れていない。それに対して本発明はプリンタの計算能力
の利点を活用し、ホストコンピュータとプリンタとの間
の自由な通信を許容するように設計されている。本発明
は、文書をより効率的に印刷するために互いに共働する
ことができる同一“システム”の2つの部分としてホス
トコンピュータ及びプリンタを見ている。ある文書を印
刷するために2つの文字フォント集合を必要とする上例
では、本発明のホストコンピュータは、プリンタが第1
のフォント集合を保持でき、従ってプリンタメモリ内に
第1のフォント集合を維持していることを知っている。
更に従来のホストコンピュータは典型的に処理中の現ペ
ージだけを見ており、将来第1のフォント集合を必要と
するか否か、またプリンタメモリ内に保持すべきか否か
を決定するために先見することがない。その結果従来の
ホストコンピュータはもし数ページを印刷するために必
要ならば、第1のフォント集合を繰り返してダウンロー
ドしなければならない(及びプロセス中に第2のフォン
ト集合を削除するかも知れない)。若干の従来のシステ
ムは粗雑な先見能力を有してはいるが、それは極めて制
限されたものでありメモリを効率的に利用するものでは
ないことを理解されたい。従来のホストコンピュータ
は、どれ程多くのプリンタメモリが使用可能であるかを
常に確実に知っている訳ではなく、従ってプリンタメモ
リの使用に関して極めて保守的にならざるを得ない。そ
れに対して本発明のシステムは、印刷タスクにおける先
見によって第1のフォント集合(または任意の他の資
源)をプリンタメモリ内に保持すべきか否かを決定し、
また第1のフォント集合が最早必要ではなくプリンタメ
モリから解放乃至は削除できる時点を決定する。更に本
発明のシステムは、あるフォント集合の一部分だけを必
要とする場合に文字フォントの部分集合を構成し、利用
可能な資源の使用を最大にする。以上のように本発明は
印刷に際して資源向きの方策を取るのである。以下の説
明はレーザプリンタの動作の詳細に関するものである
が、本発明のシステム及び方法はレーザ、感熱、インパ
クト、昇華、インクジェット等々のような何等かのマー
キング技術にも適用可能である。資源とは、コンピュー
タ・プリンタシステム内にあってメモリを占有する何等
かのものであり、文書を印刷するために必要なものであ
る。文書は資源を使用して完全に記述される。資源なる
語の詳細に関しては後述する。本発明の原理によれば、
目的は文書を迅速に印刷すること、及びホストコンピュ
ータが最短時間で応用プログラムに戻ることを許容する
ことである。これは、システムの各部分及び使用可能な
資源がタスクを達成するための要求をシステムの他の部
分が容易に知ることができるように、ホストコンピュー
タとプリンタとの間に通信を開くことを許容することに
よって達成される。ホストコンピュータ及びプリンタの
計算能力及び使用可能なメモリを活用するので、全印刷
プロセスは、部分的に、従来のコンピュータ・プリンタ
システムよりも高速である。本発明は、一方向通信能力
だけを有し且つプリンタが使用中であることを指示する
ためにプリンタからホストコンピュータまでのステータ
スラインを使用するコンピュータ・プリンタシステムと
共に使用することができる。他のコンピュータまたはプ
リンタは双方向通信を有しているが、本発明が要求する
ようなデータ転送速度では完全な双方向通信を支持する
ことはできないか、またはそれらが方向を十分迅速に切
り換えることができないために完全な双方向通信が阻害
されるようなものであってよい。本発明は双方向通信を
確立することを企図するものであるが、完全な双方向通
信を効率的に支持することができない程長い待ち時間の
ためにコンピュータまたはプリンタの何れかが双方向通
信を支持できなければ一方向通信に頼ることになろう。
しかし、多くのコンピュータ・プリンタシステムはホス
トコンピュータとプリンタとの間に完全な双方向通信を
有している。もしコンピュータ・プリンタシステムが双
方向能力を有していれば、本発明は誤り回復能力が向上
し、特定の印刷タスクに依存してプリンタとホストコン
ピュータとの間で若干の機能を行き来させる能力を有す
ることになる。この“負荷平衡化”は、コンピュータ・
プリンタシステムの中で印刷タスクを最も効率的に遂行
できる部分によってタスクを処理させることを許容する
ので印刷速度をかなり早めることができる。前述したよ
うに、資源とは文書を印刷するために必要な実質的に何
等かのものである。これには、文字フォント集合、絵文
字(glyph)集合、点テーブル、ブラシ、ユーザが
定義した図形画像、及びページ自体を記述するデータが
含まれる。“フォント集合”はタイムズ・ローマン、ヘ
ルベティカ、クーリエ等々のような特定の文字書体を限
定するASCII文字の集合であり、通常はビットマッ
プとして記憶される。若干のプリンタはプリンタ内の読
出し専用メモリ(ROM)集積回路内に記憶されている
フォント集合を有しており、他のコンピュータ・プリン
タシステムはホストコンピュータ内にビットマップデー
タファイルとして記憶され必要に応じてプリンタのラン
ダムアクセスメモリ(RAM)へダウンロードされる
“ソフトフォント”を使用している。ソフトフォント
は、フォントが一般的にホストコンピュータ内のディス
クに頼り、従ってプリンタ内のメモリ空間を恒久的に占
めることがないからプリンタに大きい柔軟性を与える。
更に他のコンピュータ・プリンタシステムはトゥルータ
イプ(True Type)フォントのようなフォント
基準化技術を使用しており、これらのフォントはビット
マップデータファイルとして記憶されることはない。そ
の代わりとして、これらのフォントは各フォント型毎の
文字の線及び曲線を定義する方程式の集合によって記述
される。ホストコンピュータまたはプリンタはこれらの
方程式を使用して任意のポイントサイズの特定フォント
文字を構成する。フォント基準化技術の利点は、方程式
の単一の集合を使用して全てのポイントサイズのための
フォント型を記述できることであり、一方ビットマップ
として記憶されるフォントは単一のポイントサイズのた
めだけにしか使用できない。例えば、タイムズ・ローマ
ン4、タイムズ・ローマン4、タイムズ・ローマン8、
及びタイムズ・ローマン10は4つの分離したフォント
と見做され、各々は特定のフォントを記述するのに分離
したビットマップデータファイルを必要とする。これに
対してフォント基準化技術は全てのポイントサイズのタ
イムズ・ローマン文字を記述する方程式の単一の集合を
有している。ホストコンピュータまたはプリンタは方程
式を適用し、方程式を選択されたポイントサイズに対し
て基準化するのでビットマップデータファイルの複数の
集合を必要としない。本発明はROMに記憶されている
フォント、ソフトフォント、またはフォント基準化技術
の何れかと共に働く。“絵文字集合”は、ホストコンピ
ュータ内に記憶されている所定の文字からなることがソ
フトフォントに類似している。しかし、これらの所定の
文字は必ずしも完全な文字フォント集合である必要はな
く、またユーザが定義した文字、図形記号、または種々
の文字フォント集合からの異なる書体の組合せを含むこ
とができる点がフォント集合とは異なっている。例え
ば、絵文字集合は幾つかの異なるフォント集合からの数
字及び数学的記号、並びに若干のユーザが定義した図形
記号を含む方程式であることができる。特定の絵文字集
合は完全な文字集合を含む程度に十分に大きくてよく、
または単一の文字程度に小さくてもよい。絵文字集合の
別の例は、文書内に使用することができる所得申告また
はデータエントリ形状のような形状である。本発明はこ
の形状を作成することができ、またそれを絵文字集合と
して記憶する。もしこの形状を文書内に再度使用するの
であれば、その形状全部を絵文字集合として使用するこ
とができる。絵文字集合がある形状を実現するための唯
一の方法ではないことを理解されたい。例えば、形状を
実現する別の方法はその形状を表すために描写プリミテ
ィブリスト(render primitive li
st:RPL)を使用することである。RPLは形状の
片に関して絵文字集合を使用することができるが、RP
Lは全てを組合わせる。若干の従来のシステムは絵文字
集合を制限された手法で使用している。従来のホストコ
ンピュータは、プリンタへダウンロードするために文字
フォントの部分集合をアセンブルすることができる。も
し新しい文字が必要であれば従来のホストコンピュータ
は必要とされる新しい文字だけをインクリメント的にダ
ウンロードし、それを既にダウンロードされている絵文
字集合に追加することができる。しかし、従来のシステ
ムは絵文字集合資源を能動的に管理することはない。従
来のシステムは一般的に、絵文字集合が将来必要とされ
ることには構わずに、新しいページの開始時に絵文字集
合をクリアする。これは、新しいページが絵文字集合を
必要とする場合には、従来のホストコンピュータに新し
い絵文字集合を構成させることになる。新たに構成され
た絵文字集合は先行絵文字集合とは同一ではないかも知
れず、絵文字集合の周期的な再構成及びダウンロードは
印刷プロセスに余分な時間を消費させる。更に従来のシ
ステムは、どの文字が絵文字集合内に存在しているかを
指示するために大量のデータを絵文字集合に付随させる
ことを要求する。これとは対照的に、本発明は使用可能
な資源から絵文字集合を構成し、絵文字集合を単一の資
源として能動的に管理する。本明細書において使用して
いる“絵文字集合”という語は、フォントのような他の
資源の部分を構成している資源のことを言う。簡略化の
ために、絵文字集合を資源と呼ぶことがある。本発明は
絵文字集合が所定のサイズに達するまで絵文字集合をア
センブルするが、その絵文字集合を直ちにプリンタへ転
送することはない。アセンブルされた絵文字集合は必要
に応じてプリンタへ転送されるユニットとして取り扱わ
れ、最早必要としなくなった時にはユニットとしてプリ
ンタから削除される。従来のシステムで行われているよ
うに新しいページの開始時にプリンタメモリをクリアす
る方策は採らず、絵文字集合は、将来その絵文字集合が
必要であることに基づいて能動的に管理され、プリンタ
資源内の使用可能な空間内に記憶される。本発明の絵文
字集合は、どの文字が絵文字集合内にあるかを指示する
“内容のテーブル”として見出しをも含むが、一旦構成
された絵文字集合は変化することがないので、この見出
しのサイズは従来の見出しよりも遥かに小さい。“点テ
ーブル”は図形対象を定義するために使用される座標点
のテーブルである。例えば、矩形のような図形対象は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だけを使用している。資源アセンブラ208
は印刷ページを生成することだけに関与し、資源アセン
ブラが作成したコードは文書を効率的に印刷するように
設計されている。資源アセンブラ208は文書を調べて
PDLをRPLに変換し、文書を印刷するためにはどの
資源が必要かを決定する。資源アセンブラ208は選択
された資源を集め、それらを関連RPLと共にホスト資
源記憶装置210内に配置する。本発明は資源及びRP
Lを、特定のRPLを有する資源に関連付ける特定のフ
ォーマットでホスト資源記憶装置内に配置する必要をな
くしている。それどころか実際のデータ構造及びフォー
マットは、本発明の使用にとって重要なものではない。
本発明を適切に動作させるために当業者には公知の多く
の異なるフォーマットを受け入れることができる。資源
とRPLとの従属性及び位置を述べるリストが必要な全
てである。このリストは資源と関連RPLとを記憶した
位置を指示する一連のポインタの形状を取ることができ
る。後述するように、このリストは所定のRPL実行シ
ーケンスによって暗示することさえもできる。資源をホ
スト資源記憶装置210内に記憶させる時に、資源及び
RPLを含むデータファイルのサイズには何等の制約も
存在せず、または資源及びRPLが記憶されるシーケン
スにも何等の制約も存在しないからそれらは無制約であ
るものと考えられる。例えば、ある文書をユーザが作成
し、文書の始めの付近に図形チャートを含むように爾後
に編集することができる。この図形チャートを挿入する
ために応用プログラムが文書ファイル全部を再作成する
ことはない。そうではなく、応用プログラムは文書の終
わりに図形チャートを配置し、文書内の図形チャートを
挿入すべき点にポインタを挿入する。ポインタは図形チ
ャートの位置を指し示す。この普通の技術は逆方向ポイ
ンティングを使用する。即ち、文書内の挿入点は、図形
チャートが記憶されている文書ファイル内の後方の位置
を逆方向に指し示す。この技術を図3に図式的に示す。
図3に示す文書300はNページを有している。番号3
02で示す文書のページ2はフォント1 304を要求
し、一方文書300のページ3 306はビットマップ
308で表されている図形チャートを要求している。フ
ォント1 304及びビットマップ308は、それぞれ
フォント及びビットマップを要求している文書300内
のページ2 302及びページ3 306上の位置の後
に記憶されるものであることに注目されたい。データポ
インタ310及び312はそれぞれ、資源を要求してい
る位置304及び308を指し示している。文書は無制
約であるからコンピュータは文書全体へのアクセスを有
しており、上述した手法でポインタを使用することがで
きる。しかしながら、文書を印刷する時にプリンタはフ
ァイル全体への同時アクセスを有していないであろう。
従って、文書はプリンタ資源記憶装置220のサイズ制
約及び文書を記憶するシーケンスの両者によって制約を
受けているものと見做される。必要な資源は、それらを
実際に必要とする前にプリンタ内に存在していなければ
ならず、さもないとプリンタは遅延させられるか、また
は遂には特定のページを印刷することができなくなるか
も知れない。同じ文書300を制約された文書として示
してある図4に示してあるように、文書は制約された形
態にアセンブルしなければならない。要求されたフォン
ト316及びビットマップ318はページ2 320及
びページ3 322が実際に要求する前に文書内に現れ
ている。ポインタ324及び326は、文書300内の
資源が記憶されている位置を指し示す順方向ポインティ
ングである。このようにすると、文書の印刷が要求され
る前に資源は常に存在することになる。資源は必ずしも
文書の始めに位置する必要がないことに注意されたい。
特定の資源を要求している文書内の位置の前に資源が配
置されていることだけが必要なのである。例えば、図5
に制約された形態で示す文書300では、フォント1
316は資源を必要としている位置320の直前に配置
されている。ポインタ324は要求された資源の位置を
指し示している。同様にビットマップ318はそれを要
求している位置322の直前に位置しており、ポインタ
326は資源が要求されている位置を指示している。一
般的にホストコンピュータ202はプリンタ218より
も多くのメモリを有しているが、ホスト資源記憶装置2
10に割当てることができるホストコンピュータメモリ
212の量には制限が存在することに注意されたい。従
って、ホスト資源記憶装置210はコンピュータ上に記
憶されている全ての考え得る資源を含んではいない。そ
うではなく、ホスト資源記憶装置は特定の文書を印刷す
るために必要な資源及びその文書を記述するRPLだけ
を含むのである。文書の特定の部分が印刷されてしまう
と、文書のその特定の部分に必要であった資源はホスト
資源記憶装置210から削除される。若干の資源はある
文書に1回だけしか使用されず、文書のその部分の印刷
が完了すると直ちに削除されよう。屡々使用される絵文
字集合のような他の資源は、それが文書に必要でなくな
るまでホスト資源記憶装置210内に記憶される。ホス
トコンピュータ202は典型的にはプリンタ218より
も多くのメモリを有しているので、ホストコンピュータ
はホスト資源記憶装置210が使用するためにより多く
のホストコンピュータメモリ212を割当てることがで
きる。少ないメモリを有しているプリンタ218は、対
応する小さいプリンタ資源記憶装置220を有してい
る。プリンタ資源記憶装置220は、ホスト資源記憶装
置210が含んでいる資源の集合全体を保持するには不
十分な大きさである。従ってプリンタ218が資源を必
要とする場合には、ホスト資源記憶装置210からプリ
ンタ資源記憶装置220へダウンロードしなければなら
ない。プリンタ218はプリンタ資源記憶装置220内
において資源を効率的に使用し、不必要になった資源を
削除し、またはホスト資源記憶装置210から迅速に再
ロードできるようにしなければならない。以上のよう
に、ホスト資源記憶装置210は文書を印刷するために
必要な資源を1回だけロードされるのに対して、プリン
タ資源記憶装置220は文書印刷中に多数回資源をダウ
ンロードされ、解放する。資源の最も効率的な使用を決
定するために、本発明のコンピュータ・プリンタシステ
ム200は文書全体を調べて、如何にして資源を最も効
率的な手法で割当てるかを決定する。再度図2を参照し
てコンピュータ・プリンタシステム200の動作の詳細
を説明する。資源アセンブラ208はPDLをRPLの
集合に変換し、その印刷タスクにとってどの資源が必要
かを決定する。印刷タスクが開始されると、資源アセン
ブラ208は印刷される表面を記述するデータの第1の
バンド(もしプリンタ218がバンディングモードで動
作中であれば)、またはページ(もしプリンタ218が
ページモードで動作中であれば)を調べ始める。この応
用の目的のために、処理中の文書のユニットサイズ、即
ちバンドかページかをデータブロックと呼ぶ。資源アセ
ンブラ208は、資源記憶領域206から文書を印刷す
るために必要であろう資源を選択する。また資源アセン
ブラ208は、特定のデータブロックに対するこれらの
資源の従属性をも決定する。例えば資源アセンブラ20
8は、第1ページ上の数式に関しては特定のフォント型
が必要であり、残余のページに関しては別のフォント型
が必要であることを決定することができる。更に点テー
ブル及び絵筆のような若干の図形資源を必要とするグラ
フをそのページ上に印刷することもできる。資源アセン
ブラ208は、従属性と、これらの資源を要求している
データブロックとを明示的に述べるリストを作成する。
このリストは、リストの形状である必要がないことに注
目されたい。前述したように、このリストはメモリ位置
を指し示すポインタの形状であっても、または資源アセ
ンブラ208がRPLを作成するシーケンスによって暗
示的に定義されるものであってさえよい。例えば、もし
プログラマが第1のRPLを作成し、直ちに実行するプ
ログラムを書くものとすれば、ホスト資源記憶装置21
0内で作成され、記憶される表現されたリストは存在し
ない。しかしながら、RPL内でタスクが作成される順
序によって指定される暗示リストが存在する。本発明の
効率的な動作のために重要なものは、資源アセンブラ2
08が従属性を決定し、他の資源ブロックにこれらの従
属性を知らせることである。資源アセンブラ208が指
定する従属性には2つの異なる型がある。第1の型の従
属性は、上述したように要求された資源を特定のデータ
ブロックに関係付けるオペランド従属性である。第2の
型の従属性は、RPLを処理するシーケンスを指定する
実行従属性である。若干の従来システムは、それらが文
書を印刷する時に実行従属性を満足させることができな
い。例えば若干の従来システムは、本文を図形から分離
し、両者を独立的に処理する。従って印刷ページは、ユ
ーザが表示画面上で見ているものではないかも知れな
い。従って従来システムは、必ずしも“貴方が見ている
ものは貴方が入手しているものである”(WYSIWY
G)をもたらすとは限らない。これに対してコンピュー
タ・プリンタシステム200は、システムがデータブロ
ックを本文部分と図形部分とに分割するのではなくデー
タブロック全体を処理するから、上述したように、たと
えそれらがRPLのシーケンス内に暗示されているとし
ても常に実行従属性を満足する。もしプリンタ218と
ホストコンピュータ202との間に双方向通信が存在し
ていれば、若干の実行従属性をプリンタ218によって
指定することができる。詳細を後述するようにプリンタ
218は、印刷プロセスの効率を最大にするためにデー
タのページまたはバンドを処理すべき順序を指定するこ
とができる。もし実行従属性がプリンタ218によって
指定されれば、資源アセンブラ208がこれらの従属性
をコンパイルする。もしデータブロック内に維持しなけ
ればならない特定の描き順序が存在すれば、資源アセン
ブラ208はそれ自体の実行従属性を生成することもで
きる。例えばプリンタ218は、最初に文書のページ2
を処理し、ページ2を下から上へ処理することを資源ア
センブラ208に命令することができる。これはプリン
タ218によって指定される実行従属性である。しかし
もしページ2上に重なり合った図形対象が存在すれば、
印刷ページに意図したように重なった対象が現れるよう
にこれらの対象の描き順序を指定しなければならない。
以上のように、資源アセンブラ208はオペランド従属
性及び全ての実行従属性(資源アセンブラ208によっ
て指定されていようとも、またはプリンタ218によっ
て指定されていようとも)の両者を述べるリストを作成
する。前述したように、若干の従属性に関するリストは
バンドまたはページ内のドロープリミティブのシーケン
ス内に暗示することができる。例えばコンピュータ・プ
リンタシステム200は常に第1RPLを先ず実行する
ことによって明示的に述べてはならない実行従属性を作
成する。特に、精緻なプリンタ及び双方向通信を使用し
て最大の効率を得るために、コンピュータ・プリンタシ
ステム200の現在では好ましい実施例は暗示従属性を
使用しない。それはこれらがタスクのシーケンスの効率
を低下させるように、実行を不要に制限し得るからであ
る。暗示従属性を使用する上例は、本発明の広い原理を
使用すればコンピュータ・プリンタシステム200の全
ての発明的な面の使用を必要とせずに印刷プロセスの総
合効率を改善できることを示すために説明したに過ぎな
い。現在では好ましい実施例では資源アセンブラ208
は、資源ローダ214、資源スケジューラ216、及び
プリンタ218を含むシステムの他の成分へ従属性を明
示的に通信する。もしコンピュータ・プリンタシステム
200が双方向通信能力を有していればプリンタ218
はプリンタ資源記憶装置220の現ステータスに関する
情報を資源アセンブラ208へ送ることができる。この
ステータス情報は、どの資源がプリンタ資源記憶装置2
20内に既に存在しているか、及びプリンタ資源記憶装
置220内にどれ程多くの使用可能な空間が存在してい
るかを含む。更に、プリンタは文書を印刷するために最
も効率的なシーケンスに関して資源アセンブラ208に
命令する。これは、双方向化能力を有し、且つ複数の用
紙トレイから印刷することができる大きい精緻なレーザ
プリンタにおける重要なプロセスである。これらのプリ
ンタでは、10シート程度の用紙が同時に印刷エンジン
を通って移動することができる。紙シートの両側に印刷
される(双方向モード)ページは用紙の一方の側では上
から下へ、そして用紙の他方の側では下から上へ処理さ
れる。ページサイズが異なれば印刷エンジンの時間長は
異なる。ランドスケープ(landscape)モード
のようなモードは他のモードより長い印刷エンジン処理
時間を必要としよう。精緻なレーザプリンタの印刷エン
ジンの内部では複数のページを互いに実際に移動させる
ことができる。その結果、ページを処理するための最も
効率的なシーケンスはページの数字順(即ち、ページ
1、2、3、・・・)ではないかも知れない。本発明の
コンピュータ・プリンタシステム200は、プリンタ2
18が文書を印刷するための最も効率的なシーケンスを
決定すること、及びその情報を資源アセンブラ208へ
通信することを許容する。一方向通信だけを有するシス
テムでは、プリンタ218はステータス情報または印刷
シーケンス命令を通信することはできない。しかしそれ
でも資源アセンブラ208は明示従属性をプリンタ21
8へ通信するので、プリンタ218はプリンタ資源記憶
装置220から資源を削除できる時点を知る。もし一方
向通信だけしか使用できなくてもホストコンピュータ2
02が一方向モードでプリンタメモリ222を管理する
ので資源アセンブラ208はプリンタ資源記憶装置22
0のステータスを知ることができる。以上のように資源
アセンブラ208は、印刷タスクの開始時にどの資源が
既にプリンタ資源記憶装置220内に存在しているかを
知る。前述したように、資源実行装置224は典型的に
RPLを、印刷エンジン226によって印刷されるビッ
トマップデータに変換する。一旦印刷エンジン226が
始動するとそれはそのページの印刷を停止することがで
きず、停止させれば誤りが発生しよう。従って一旦印刷
エンジンに委託してしまうと、RPLを実時間でビット
マップデータに変換するか、または予めビットマップデ
ータに変換しておかなければならない。勿論、ドットマ
トリクスプリンタ及びインクジェットプリンタのような
若干のプリンタは誤りを発生することなくページの途中
で停止させることができる。プリンタ資源記憶装置22
0の現ステータス及びプリンタ218の総合処理能力を
知って資源アセンブラ208は各データブロックを調
べ、印刷エンジン226が走っている間にプリンタ21
8がそのデータブロックに関するRPLを実時間でビッ
トマップデータに変換できるか否かを決定する。もしプ
リンタ218がそのデータブロックに関するRPLを実
時間でビットマップデータに変換することができなけれ
ば、資源アセンブラ208はホストコンピュータ202
に命令してRPLをビットマップに処理させ、そのビッ
トマップをプリンタ218へ転送させる。代替として、
もしプリンタメモリ222がそのページ全体に関するビ
ットマップデータファイルを記憶するのに十分な容量を
有していれば、資源アセンブラ208はプリンタ218
に命令してRPLをビットマップデータファイルに変換
させ、印刷エンジン226に委託するまでそのビットマ
ップをプリンタメモリ222内に記憶させる。コンピュ
ータ・プリンタシステム200のどの部分がRPLをビ
ットマップに変換するかに関する決定は、変換タスクの
相対的な複雑さと、システムの各部内のプロセッサの相
対的な処理能力とに依存する。現在好ましい実施例で
は、資源アセンブラ208はコンピュータ・プリンタシ
ステム200のどの部分がデータを処理するのかを決定
する上で3つの要因を考慮する。これらの要因とは、 1.ホストコンピュータ202がRPLをビットマップ
データに処理するのに要する時間長、 2.プリンタ218がRPLをビットマップデータに処
理するのに要する時間長、及び 3.通信チャネルがRPLまたはビットマップデータを
転送するために要する時間長 である。換言すれば、資源アセンブラ208は特定のデ
ータブロックに関するRPLをビットマップデータファ
イルに処理するのに要する時間+通信チャネルがビット
マップデータファイルをプリンタ218へ転送するのに
要する時間長を計算し、それと通信チャネルがRPLを
プリンタ218へ転送するのに要する時間長+プリンタ
218がRPLをビットマップデータに処理するのに要
する時間長とを比較する。データブロックを処理させる
ためにホストコンピュータ202を選択するか、または
プリンタ218を選択するかは、詳細を後述するコスト
メトリクスによって決定される。コンピュータ・プリン
タシステム200は、データ処理をホストコンピュータ
202とプリンタ218との間で行き来するように移動
させることによって負荷の平衡化をも遂行する。資源ア
センブラ208は、システムのどの部分がデータブロッ
クを最も効率的に処理できるかに依存して、データブロ
ックの処理のためにホストコンピュータ202またはプ
リンタ218を選択する。例えば、もし特定のタスクが
ページ上に多数の線を描くことを要求し、ホストコンピ
ュータのプロセッサがプリンタのプロセッサの2倍の速
さであれば、多分ホストコンピュータ202がデータを
処理することを命令されよう。一方、もし変換が比較的
簡単であり、プリンタ218がビットマップを記憶する
メモリ容量を有していればプリンタのプロセッサがデー
タの処理を命令され、ホストコンピュータのプロセッサ
は次のデータブロックを自由に処理できる。この計算は
データブロック毎に変化できる動的なプロセスであるこ
とに注目されたい。総合的な目的は、最も効率的な手法
で文書を生成することである。本発明のコンピュータ・
プリンタシステム200は、ホストコンピュータ202
及びプリンタ218の両方の潜在的な計算能力を使用す
ることによってこれを許容する。負荷の平衡化はホスト
コンピュータ202及びプリンタ218の相対的な計算
能力、データ通信チャネルの速度、ホスト資源記憶装置
210及びプリンタ資源記憶装置220の相対的なサイ
ズ、印刷タスクの複雑さ、及びホストコンピュータ20
2及びプリンタ218が現在遂行中のタスクのような種
々のパラメタに基づいている。前述したように負荷平衡
化は動的プロセスであって、資源アセンブラ208は上
述したパラメタに基づいて文書の若干のページをホスト
コンピュータ202に割当て、他のページをプリンタ2
18に割当てて処理させるることができる。負荷平衡化
は、単一のページ内でデータ処理責務をホストコンピュ
ータ202とプリンタ218との間で移動させることさ
えも可能である。同一ページを処理するコンピュータ・
プリンタシステム200の異なる部分の例は、文書の特
定のページが2つの重なり合った円のような図形対象を
含む場合に生じ得る。プリンタが現在印刷していなけれ
ば、資源アセンブラ208は第1の円のPDL記述をプ
リンタ218へ送ることができる。従ってプリンタ21
8はPDLを第1の円に翻訳するために時間を使う。ホ
ストコンピュータ202はプリンタ218よりも大きい
計算能力を有しており、またプリンタは第1の円を翻訳
するために既に多忙であるので、ホストコンピュータ2
02は第2の円に関するPDLを翻訳することができ
る。以上のように、資源アセンブラ208はデータ処理
責務をホストコンピュータ202とプリンタ218との
間で負荷平衡させるために使用される。前述したように
文書の特定のデータブロックのために必要な資源は、そ
の特定のデータブロックのための特定の資源に関するコ
ンピュータ・プリンタシステム200内の従属性を作成
する。これらの従属性はデータブロック毎に変化するこ
とができる。資源アセンブラ208はこれらの従属性を
明示的に述べて、どの資源が特定のデータブロックのた
めに必要であるかをプリンタ218に知らせる。従って
プリンタは必要な資源を各データブロックに関係付ける
一種の資源の“メニュー”を有している。データブロッ
クと資源との間の明示従属性が得られているために、双
方向通信を使用してプリンタ218はそれ自体のメモリ
を管理することができる。プリンタ218は明示従属性
のメニューを使用し、プリンタ資源記憶装置220の効
率を最大にするような手法で、ホスト資源記憶装置21
0に資源を要求する。例えば、明示従属性は1つのデー
タブロックが特定のフォント集合と特定の絵文字集合と
を要求していること、及び次のデータブロックが同一の
フォント集合ではあるが異なる絵文字集合を要求してい
ることを述べることができる。プリンタ218は一時に
これら3つの資源(フォント集合及び2つの絵文字集
合)の全てをプリンタ資源記憶装置220内に保持する
ことができるかも知れない。従ってプリンタ218はこ
れら3つの資源の全てを要求する。資源管理のより困難
な面は、どの資源をプリンタ資源記憶装置220から削
除すべきかを決定することである。もし特定のデータブ
ロックを印刷するためにプリンタ資源記憶装置220か
ら他の資源を削除しなければならない程大きい資源を必
要とすれば、プリンタ218はどの資源(1または複
数)をプリンタ資源記憶装置220から削除するか、ま
た要求された資源を将来のデータブロックのためにホス
トコンピュータ202から何時戻すかを決定することが
できる。更に、もし誤り復元が要求されていれば、プリ
ンタ218は失われたページを復元するためにはどの資
源が必要であるかを知り、もし必要な資源が既にプリン
タ資源記憶装置220から削除されていればその必要な
資源をホストコンピュータ202に要求することができ
る。以上の説明は、ホストコンピュータ202とプリン
タ218との間に双方向通信が存在している場合に適用
できる。もし一方向通信だけしか使用できなければプリ
ンタメモリ222はホストコンピュータ202によって
管理される。この場合ホストコンピュータ202は、資
源がプリンタ資源記憶装置220内へロードされる、ま
たはプリンタ資源記憶装置220から削除されるシーケ
ンス、及び資源をロード及び削除する時点を決定する。
たとえ一方向通信でプリンタ218がそれ自体のメモリ
を管理できないとしても、パーザを排除し、資源アセン
ブラ208及びホスト及びプリンタ資源記憶装置210
及び220のようなコンピュータ・プリンタシステム2
00の部分が付加されているので、本発明は従来技術に
対して性能の改造を提供する。本発明のコンピュータ・
プリンタシステム200では、資源は文書全体の印刷途
中に複数回プリンタ資源記憶装置へロードし、該装置か
ら解放することができる。どの資源がプリンタ資源記憶
装置220内にあるべきかを決定するジョブは資源ロー
ダ214によって遂行され、詳細に関しては後述する。
資源アセンブラ208は資源ローダ214の数データブ
ロック前方の文書を調べて将来データブロックのための
資源を生成する。これは資源ローダ214が先見して資
源の最も効率的な割当てを決定することを許容する。若
干の資源は文書を通して多くのデータブロックが使用で
き、従って文書を通して従属性を有している。プリンタ
資源記憶装置220内の使用可能な空間に依存して、印
刷ブロセスを通してこれらの資源をプリンタ218内に
保持することがより効率的であるかも知れない。例えば
第2の資源は文書の中間で1回だけ必要であるかも知れ
ない。この場合、後刻プリンタ218が若干の他の資源
を必要としなくなる時点まで第2の資源はロードされ
ず、プリンタ資源記憶装置220内のより多くのメモリ
が使用可能である。第2の資源は一旦使用されるとプリ
ンタ資源記憶装置220から削除されて他の資源のため
の余地が作られる。どれ程遠くを先見するかの決定は動
的なプロセスである。例えば文書の開始時における目的
は、印刷エンジン226を始動させることである。従っ
て、できるだけ速やかにプリンタ218へ資源を転送す
るために資源アセンブラ208の先見動作は制限され
る。しかし、プリンタ218が第1のデータブロックを
処理している間は、資源アセンブラ208は将来データ
ブロックを先見し、ホスト資源記憶装置210のために
資源を選択し、そして将来ページのためにRPLを構成
することができる。理想的には、資源アセンブラ208
は何等かの印刷が開始される前に文書全体を調べるため
に先見することができる。しかしながら、印刷エンジン
226を始動させるという要望が、初期先見能力を制限
する。他の応用プログラムが走ることができるようにホ
ストコンピュータメモリ212の使用を最小にする要望
も、資玄アセンブラ208が先見する能力を制限する。
目的は印刷エンジン226をできる限り効率的に動き続
けさせることである。資源アセンブラ208が先見する
実際のページ数は、文書の合計長、印刷エンジン226
が処理中の文書の現ページ、及び文書の複雑さのような
要因に依存する。資源アセンブラ208の先見能力は、
プリンタ資源記憶装置220への資源の流れを制御する
資源ローダ214の能力を向上させる。資源アセンブラ
208の動作の例として、本文の特定のページが5つの
異なるフォント集合とページを印刷するための点テーブ
ル(ベジェ曲線を描くための)を必要とするもとのとす
る。資源アセンブラ208はページを調べて明示従属性
のリストを作成する。前述したように資源アセンブラ2
08は、これらの従属性をコンピュータ・プリンタシス
テム200の他の部分へ通信する。同時に資源アセンブ
ラ208は、必要な資源及びそのページを記述するRP
Lを含むであろうホスト資源記憶装置210をアセンブ
ルし始める。双方向モードでは、資源アセンブラ208
はデータブロックが処理されるシーケンスに関する情報
をプリンタ218から受信することに注意されたい。簡
易化のために、資源アセンブラ208がそのページのデ
ータブロックを上から下へ処理するものとする。もしプ
リンタ218がページモードで動作していれば単一のR
PLが存在し、もしプリンタ218がバンディングモー
ドで動作していれば各バンド毎に異なるRPLが存在す
るであろう。RPLは、そのページ上の特定点における
文字の特定シーケンスを印刷することをプリンタ218
に告げるフォーマットでデータブロック(ページまたは
バンド)を記述する。コンピュータ・プリンタシステム
200はこの情報を使用して文字シーケンスの記述を構
成し、この記述をホスト資源記憶装置210内に記憶す
る。“記述を構成する”の範囲は、ホストコンピュータ
202内の記憶位置からの文字シーケンスのビットマッ
プをロードすることから、フォント基準化技術を使用し
て方程式の集合から文字シーケンスのビットマップを構
成するまでにわたっている。もしフォント集合全体を転
送する方がより効率的である程多くのあるフォントから
の文字が必要であれば、資源アセンブラ208はあるフ
ォント全体を記憶することができる。一方、もし制限さ
れた数の文字だけが必要であれば、資源アセンブラ20
8は必要な文字だけを記憶するために絵文字集合を開く
ことができる。本例では、第1のフォント集合の全体を
転送することができる。第2のフォント集合から必要と
される文字は方程式のための数字と数学記号だけである
ことができる。資源アセンブラ208は方程式のための
文字を記憶するために絵文字集合を開く。ページの次の
部分が制限された数のイタリック文字(フォント番号
3)を必要とするならば、絵文字集合は開かれたままに
なる。絵文字集合のサイズは動的に可変であることに注
目されたい。例えば、印刷動作の始めにおける目的はで
きる限り迅速に印刷エンジン226を働かせることであ
る。この目的のために、資源アセンブラ208は文書の
第1のデータブロックのために小さい絵文字集合を使用
することができるので、絵文字集合はできるだけ速やか
にプリンタ資源記憶装置220へ転送することができ
る。これは、働き続けさせる何かを印刷エンジン226
に与えながら、資源アセンブラ208に爾後のデータブ
ロックのための資源をアセンブルさせる。爾後の絵文字
集合のサイズは一般に、プリンタ資源記憶装置220の
サイズ、及びホストコンピュータ202とプリンタ21
8との間のデータ転送速度のようなパラメタによって決
定される。資源アセンブラ208は、絵文字集合が所定
のサイズになるまで絵文字集合を開き続ける。前述した
ように、絵文字集合は異なるフォント集合からの文字を
含むことができる。反対に、同一のフォント集合からの
文字は、従属性故に異なる絵文字集合内に記憶すること
ができる。例えば上述した数式内に使用される文字の若
干は爾後のデータブロックにおいて印刷される第2の方
程式に使用することができる。第2の方程式は第2のフ
ォント集合からの付加的な文字と、第4及び第5のフォ
ント集合からの文字とをも使用するかも知れない。資源
アセンブラ208は、第2の方程式に必要な付加的な文
字だけを含む第2の絵文字集合を構成することができ
る。資源実行装置224がRPL及び資源をビットマッ
プデータファイル内へ処理する時に、資源実行装置22
4は両絵文字集合からの文字を使用して第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は、資源アセンブラ208
が決定したシステム従属性へのアクセスを常に有してい
るので、最も効率的な資源のローディング及び再ローデ
ィングのシーケンスを決定することができる。資源ロー
ダ214は、コンピュータ・プリンタシステム200の
通信能力に依存してホストコンピュータ202内に配置
しても、またはプリンタ218内に配置してもよい。も
しホストコンピュータ202からプリンタ218までの
一方向通信だけしか存在しなければ、資源ローダ214
は常にホストコンピュータ202に頼ることになる。従
ってプリンタメモリ222はホストコンピュータ202
によって管理される。しかしながら、もし双方向通信能
力が存在していれば、資源ローダ214をプリンタ21
8内に存在させることができ、プリンタはそれ自体のメ
モリを管理できるようになる。資源ローダ214はRP
L及び資源の両者のプリンタ218への転送を制御す
る。前述したようにホスト資源記憶装置210は、資源
アセンブラ208がアセンブルした資源を1回だけホス
ト資源記憶装置210内へロードするのに十分に大きい
サイズである。ホスト資源記憶装置210は資源のサイ
ズにも、またはプリンタ資源記憶装置220のサイズに
よって賦課される制約にも関係していない。一方、プリ
ンタ資源記憶装置220はサイズに制限があり、資源は
サイズ制限によって制約される。プリンタ資源記憶装置
220を効率的に管理するために、資源ローダ214は
既にプリンタ資源記憶装置220内にある各資源のサイ
ズ及び資源従属性(資源アセンブラ208によって先に
決定されている)を調べ、資源をプリンタ内へロードす
る及びプリンタから解放する順序を決定するので、プリ
ンタ資源記憶装置220が空間を使い果たすことはな
い。以上のように資源ローダ214は印刷タスクの途中
で特定の資源を多数回ロードし、解放することができ
る。資源ローダ214は、特定の資源が不要になった時
にそれを解放できることに注目されたい。特定の資源は
プリンタ218内でまだ必要であるかも知れないので、
プリンタ218はその資源を直ちに削除することはでき
ない。ホストコンピュータ202とプリンタ218とは
非同期的に動作するから、資源ローダ214による資源
の解放が直ちにプリンタ資源記憶装置220からの資源
の削除をもたらすことはない。従って資源を“解放”及
び“削除”するという語は、同期していない。資源をプ
リンタ資源記憶装置220から排除すべきであると資源
ローダ214が決定すると、資源が解放される。資源ロ
ーダ214の観点から、資源は最早プリンタ218内に
存在しない。次いで資源ローダ214は次の資源のロー
ドまたは解放を指定する。プリンタ218がその中で最
早資源を必要としなくなると資源は削除され、実際にプ
リンタ資源記憶装置220から資源を削除する。資源ロ
ーダ214は、各資源のサイズと、効率的な観点から、
プリンタ資源記憶装置220内に存在させる特定の資源
のためにそれが意味をなしているか否かだけに関心があ
る。資源ローダ214はプリンタ資源記憶装置220の
サイズ、その中の使用可能な空間、及びプリンタ資源記
憶装置220の現状(即ち、どの資源がプリンタ資源記
憶装置内に存在しているか)を追跡し、どの資源を保持
するか、または解放するかを決定する。資源ローダ21
4は現RPL及び将来RPLの両者に関する明示従属性
を調べる。資源ローダ214は資源をロード及び解放す
べき順序だけに関心があり、資源変化の実際のタイミン
グには無関係であることに注目されたい。プリンタ資源
記憶装置220に対する変化のタイミングは資源スケジ
ューラ216によって制御される。前述したように、明
示的に述べられた従属性によって資源ローダ214は、
資源をプリンタ資源記憶装置220内へローディングす
るシーケンスを決定するのが容易になる。より困難なタ
スクは、新しい資源のために余地を作るために資源をプ
リンタ資源記憶装置220から何時解放するかを決定す
ることである。再び使用されることがない資源は無関係
に削除できることは明白である。しかしながら、もしあ
る資源を近い将来再度使用するのであれば、資源ローダ
214はどの資源を解放して新しい資源のために余地を
作るかを決定しなければならない。従来の多くのキャッ
シング(caching)システムにおける一般的方策
は、最も古く使用された項目を削除(即ち、最も長い時
間前に使用された資源を削除)することである。この方
策は、将来必要とされることが少ない資源を予測するた
めには効率的ではない。コンピュータ・プリンタシステ
ム200は、明示従属性の故に、資源の洞察的キャッシ
ングを遂行して文書の将来のデータブロックのための資
源の最も効率的な記憶を予測することができる。資源
は、資源が使用される順序、資源を記憶するために必要
な空間の量、及びもし資源をプリンタ資源記憶装置22
0から解放しなければならなければ資源を再ロードする
ために必要な時間に基づいて管理される。資源ローダ2
14は明示従属性を使用して、現在プリンタ資源記憶装
置220内にある資源を資源ローダが調べてどの資源が
最も遅い時間に使用されるかを決定するような“時間
線”を確立する。しかし前述したように、資源ローダ2
14は削除される資源のサイズ及び資源を将来再ロード
するために必要な時間をも考慮する。洞察的キャッシン
グの例としてプリンタ資源記憶装置220が既に10資
源(この例のために一般的に1乃至10のラベルを付
す)を含み、特定のデータブロックのためにプリンタ2
18が番号11の資源を必要としているものとする。資
源ローダ214は時間線を調べ、例えば資源番号8が最
も遅い時間に使用されることを決定することができる。
しかしもし資源番号8のサイズが小さければ、プリンタ
資源記憶装置220から資源番号8を解放した後でも必
要な資源番号11をロードための十分な空間がないこと
が考えられる。従って、資源ローダ214は再度時間線
を調べ、資源番号8の次に最も遅い時間に使用される資
源を決定する。例えば資源番号2が解放できるものとす
る。しかしながら、番号2の資源をプリンタ資源記憶装
置220から解放した場合に必要以上の自由空間がプリ
ンタ資源記憶装置220内に生じ、また近い将来番号2
の資源を再ロードするには極めて長い時間を消費するよ
うであれば、資源ローダ214は再度時間線を調べて1
またはそれ以上の他の資源を代わりに解放する。この例
では、要求された資源番号11のための余地をプリンタ
資源記憶装置220内に作るために、資源ローダ214
は資源願望2及び8の代わりに資源番号7及び5を解放
することができる。以上は、資源ローダ214がプリン
タ資源記憶装置220を管理することを考慮する際の種
々のパラメタの例として説明したに過ぎない。資源ロー
ダ214は資源をプリンタ資源記憶装置220内へロー
ドし、該装置から解放する順序を決定するが、資源管理
の実際のタイミングは資源スケジューラ216によって
遂行される。資源スケジューラ216はプリンタ作動の
システムと見做すことができる。しかしながら前述した
ように、資源スケジューラ216を物理的にプリンタ2
18内に配置する必要はない。一方向通信だけを有する
コンピュータ・プリンタシステム200では、資源スケ
ジューラ216をホストコンピュータ202内に配置し
てホストコンピュータ202からプリンタメモリ222
を管理することができる。もしコンピュータ・プリンタ
システム200が双方向通信を有していれば、資源スケ
ジューラ216をプリンタ218内に配置してプリンタ
にそれ自体のプリンタメモリ222を管理させることが
できる。ホストコンピュータ202、プリンタ218、
及びプリンタ内の印刷エンジン216は全て非同期で動
作するから、これら3つの非同期部分間に競合が発生し
ないように資源スケジューラ216は全てのタイミング
を制御しなければならない。資源スケジューラ216は
全てのプリンタタイミングを初期化して制御し、印刷エ
ンジン226に動作を同期させ、特定の資源をプリンタ
資源記憶装置220内へ受け入れる時点を決定する。資
源スケジューラ216は、特定の資源をプリンタ資源記
憶装置220から削除する時点をも決定する。前述した
ように、資源のローディング及び解放のシーケンスを指
定することが資源スケジューラ216のタスクである。
資源スケジューラ216は先に資源ローダ214によっ
て解放された特定の資源が将来必要ではなくなる時点を
決定する。資源ローダ214と同様に、資源スケジュー
ラ216も資源アセンブラ208によって作成された明
示従属性へのアクセスを有している。資源ローダ214
とは異なり、資源スケジューラ216は現ページのため
に必要な資源がプリンタ資源記憶装置220内に存在し
ているか否かだけに関心がある。現ページのための全て
の従属性が満たされると(即ち、全ての必要資源がプリ
ンタ資源記憶装置220内に存在していると)、資源ス
ケジューラ216は印刷エンジン226にページを印刷
することを委託する実行信号を生成する。詳細を後述す
るように、印刷エンジンはページの途中では停止させる
ことができないから、一旦あるページまたはそのページ
を印刷するように印刷エンジンに委託した後は印刷エン
ジンにはビットマップデータを実時間で供給しなければ
ならない。さもないと適切な印刷がなされなくなる。双
方向プリンタはページの各側毎に実行信号を必要とする
(即ち、印刷ブロセスは用紙の側と側との間で停止させ
ることができる)ことに注意されたい。資源スケジュー
ラ216は、印刷エンジンへの実時間委託を行うことが
できる時点を決定し、印刷エンジンにページの印刷を委
託する実行信号を生成する。資源スケジューラ216
は、一方向及び双方向の両通信において同じような機能
を遂行する。一方向システムでは資源スケジューラ21
6は、ホストコンピュータ202へプリンタステータス
を指示するハードウエア内に話中(BUSY)フラグを
生成する。また資源スケジューラ216は、プリンタ資
源記憶装置220から資源が実際に削除される時点をも
決定する。双方向システムでは資源ローダ214がプリ
ンタ218からプリンタメモリ222を管理し、特定の
資源に対する特定の要求をホストコンピュータ202に
対して行う。更に資源スケジューラ216は印刷プロセ
スを監視して、ページが印刷エンジン226内の最終用
紙ジャム(jam)センサを通過した時点をホストコン
ピュータ202へ通知する。従ってホストコンピュータ
202は、誤り復元を提供するためにそのページに関連
する資源を最早保持している必要がなくなったことを知
る。資源スケジューラ216は印刷タスクのための用紙
経路をも計画することができる。これは、多数の用紙貯
蔵器、複数の用紙サイズ及び経路を有する大型プリンタ
には特に重要である。最適用紙経路を計画すると印刷タ
スクの総合効率が改善される。資源実行装置224は資
源スケジューラ216から実行信号を受け、RPLを印
刷エンジン226がページを実際に印刷するために使用
することができるビットマップに変換する。他の資源
は、ビットマップ形状でプリンタ資源記憶装置220内
に既に存在していよう。資源実行装置224は、現在プ
リンタ資源記憶装置220内で使用可能な資源を使用し
てビットマップを生成する。本発明のコンピュータ・プ
リンタシステム200は、バンディングモードまたはペ
ージモードで動作するプリンタと共に働く。もしバンデ
ィングモードが使用されていれば、資源実行装置224
は実時間動作に拘束される。即ち、一旦印刷エンジン2
26に対して実時間委託がなされると、資源実行装置2
24は全てのRPLを一時に1バンドずつ実時間でビッ
トマップに変換しなければならず、そうでないと誤りが
発生しよう。もしプリンタ218が(バンディングモー
ドに対抗して)ページモードで動作していれば、実時間
委託は存在しない。資源実行装置224は、ビットマッ
プを印刷エンジンへ転送する前にページ全体をビットマ
ップに変換することができる。本発明のコンピュータ・
プリンタシステム200は、ページモードでも、または
バンディングモードでも動作することができる。RPL
をビットマップデータファイルに実際に変換するのは当
業者には公知であり、その説明は省略する。印刷エンジ
ン226は資源実行装置224からビットマップデータ
を受け、このビットマップデータをページ上に印刷させ
る。印刷エンジン226の使用は当業者には公知であ
り、その説明は省略する。文書の1つのページに関する
ビットマップデータが印刷エンジン226によって処理
されるにつれて、用紙はプリンタ218を通って移動す
る。印刷エンジン226を通して、用紙のジャムまたは
低トーナ状態のような誤りを検出するための複数のセン
サが存在している。従来のシステムは、ページが最終用
紙ジャムセンサを通過するまでプリンタメモリ内にビッ
トマップデータを保持する。もし用紙のジャム誤りが発
生すれば、従来のシステムはジャムを生じたページを再
印刷するために既にビットマップ形状にあるデータを有
している。しかしもしコンピュータ・プリンタシステム
200が双方向通信能力を有していれば、ビットマップ
データはプリンタ218内に維持されておらず、ホスト
コンピュータ202内に誤り回復データを生成する。ビ
ットマップデータが既にプリンタメモリ内にあってペー
ジがジャムを発生すれば再印刷しようと待機している従
来システムの方が本発明よりも誤り回復が速いように見
える。しかし通常の印刷ブロセスではページジャム誤り
は滅多に発生するものではないから、将来のページのた
めにデータの処理を継続し、誤り回復のための最も効率
的な技術に関して心配しない方が総合印刷ブロセスとし
てはより効率的である。従って本発明のコンピュータ・
プリンタシステム200は文書全体を印刷するための最
も効率的な技術に関心を寄せているのである。従来のシ
ステムは、ページが最終用紙ジャムセンサを通過してし
まうまでプリンタメモリがビットマップデータを保持さ
せられているので、次のページのためのデータを直ちに
処理することはできない。紙シートを取り、用紙上に像
を発生させ、用紙を用紙トレイ内へ落とすのに、典型的
な印刷エンジンは約10秒を要する。本発明は、用紙が
ジャムしないことを見越して、文書内の将来のページの
ためのデータの処理を継続する。従来のシステムが印刷
された用紙が最終用紙ジャムセンサを通過するのを待機
している時間中に、本発明のコンピュータ・プリンタシ
ステム200は若干のページのために資源をアセンブル
し、PDLをRPLに翻訳し、そしてプリンタ資源記憶
装置220内の資源の流れを管理している。用紙ジャム
が発生しそうにもない場合には、ホストコンピュータ2
02はそのページを始めから再処理する。もし用紙ジャ
ムが発生すれば、ジャムを生じた1または複数のページ
を物理的に除去するために操作員が関与しなければなら
ないから、時間的な実コストは存在しない。操作員がジ
ャムを生じたページを除去している間に、資源ローダ2
14はどのページが誤り回復を必要としているかを決定
し、必要な資源及びRPLをプリンタ218内へ再ロー
ドし始める。どの資源が誤り復元プロセスのために必要
かを決定するために資源ローダ214が明示従属性を調
べているので、明示従属性は誤り復元プロセスを簡易化
する。例えばプリンタ218は、2ページから5ページ
までの用紙をジャムし、2及び3ページを双方向とし、
4及び5ページを一方向とすることができる。もしプリ
ンタ218が印刷順序を3ページ(下から上へ)、2ペ
ージ(上から下へ)、4ページ(上から下へ)、5ペー
ジ(上から下へ)のように予め指定されていれば、資源
ローダ214は明示従属性を使用して最も効率的な手法
でRPLを要求し、誤り回復を遂行する。これらの活動
は、操作員がジャムを生じた用紙を除去している間に行
われる。従って、コンピュータ・プリンタシステム20
0は従来のシステムと対比した時に誤り回復に関して時
間を失ってはいない。更に、印刷ブロセスの効率は、ペ
ージが通常はジャムしないものとすれば、極めて向上し
ている。以上のように、コンピュータ・プリンタシステ
ム200は従来のシステムよりも遥かに短い時間で文書
を処理できるのである。前述したように、本発明のコン
ピュータ・プリンタシステム200はホストコンピュー
タ202からプリンタ218までの一方向通信と共に動
作することも、またはホストコンピュータ202とプリ
ンタ218との間の完全双方向通信チャネルと共に機能
することもできる。もしホストコンピュータ202の、
またはプリンタ218のハードウエアが双方向通信を支
持することができなければ、一方向通信だけが可能であ
る。一方向通信の制限があるとしても、本発明のコンピ
ュータ・プリンタシステム200は従来のシステムに対
して改良されている。若干の場合には、双方向通信はコ
ンピュータシステム202及びプリンタ218の両者に
よって支持することができるが、完全双方向通信を効率
的に支持することが不可能になる程双方向通信チャネル
の待ち時間は長くなる。この場合、本発明のコンピュー
タ・プリンタシステム200はプリンタ218とホスト
コンピュータ202との間に制限された双方向通信を支
持することができる。完全双方向通信程の効率ではない
にしても、このモードは一方向通信よりは好ましい。制
限された双方向通信は単純な一方向通信よりも良い誤り
及びステータス報告をホストコンピュータ202に与え
る。データ処理はあたかも一方向通信のように進行する
が、もし誤りが発生すれば、コンピュータ・プリンタシ
ステム200は誤り及びステータス情報を使用して誤り
から回復することができる。PCLを使用する若干のレ
ーザプリンタシステムには、プリンタへプラグインされ
るソフトウエアカートリッジが設けられている。このカ
ートリッジは若干の付加的なフォントを含むことができ
る。コンピュータ・プリンタシステム200はこのよう
なカートリッジを使用してプリンタ218に、プリンタ
218内に位置させる本発明の必要成分を提供すること
ができる。本発明の一実施例では、コンピュータ・プリ
ンタシステム200はPCLを使用する第1のモードで
動作する能力を有しており、また本発明を使用する第2
のモードで動作することも可能である。この実施例で
は、コンピュータ・プリンタシステム200は2つのモ
ードの間で自動的に切り換えられて行き来する。これに
よってコンピュータ・プリンタシステム200は、DO
S応用のような他の応用と両立し続けることが可能にな
る。2つのモードの間で切り換えられて行き来すること
によってコンピュータ・プリンタシステム200は、従
来のシステムとの間に大きい互換性を与える。本システ
ムの別の重要な面は、コストメトリクスの決定である。
前述したように資源アセンブラ208(図2)は、資源
実行装置224があるデータブロックのためのRPLを
実時間で変換できるか否かを決定する。さらなる改良と
して、資源アセンブラ208はホストコンピュータ20
2またはプリンタ218があるデータブロックのための
RPLを最も効率的に変換できるか否かを決定する。通
常はプリンタ218が遂行する作業の中にホストコンピ
ュータ202が参入してくる場合には、ホストコンピュ
ータ202はプリンタ218がRPLを処理するのにど
れ程の時間を要するかを前以て知らなければならない。
プリンタ218へ送るものは何かを決定する際に、プリ
ンタが失敗しないように若干のプリンタ動作のために必
要な時間を考慮しなければならない。本発明は、コスト
メトリクスと呼ばれる統計的解析を使用することによっ
て、印刷するのにどれ程長い時間を要するかを知る問題
を解決している。コストメトリクスを使用するとホスト
コンピュータ202及びプリンタ218は、資源の処理
を両者間で分担してデータの処理能力を最大にすること
ができる。この場合、プリンタが全ての作業を行う代わ
りに、プリンタが用紙を送る前にホストコンピュータ2
02が処理能力を提供し、総合印刷時間をかなり改善す
ることができる。コストとはデータのページまたはバン
ドのための印刷時間のことである。コストメトリクス
は、実時間制約がより優勢であるようなバンディングプ
リンタにおいて特に有用である。ビットマップデータの
ページ全体を記憶するのに十分なメモリを有しているプ
リンタは実時間制約を有していない。しかしながら、ホ
ストコンピュータ202がページを記述するRPLの部
分をも処理できるので本発明はページモードにも有用で
ある。もしプリンタがコンピュータ回路網に接続されて
いれば、コストメトリクスはある印刷タスク全体の完了
時間を予測するのに有用である。以下に印刷技術に伴う
動作の詳細に関して説明するが、本発明のコストメトリ
クスのシステム及び方法は、実時間ブロセスのスケジュ
ーリングのようなコストモデル化が有用な他の領域にも
適用可能である。実時間で動作する若干のシステムは実
時間活動のコストを含むデータのスケジューリングを必
要とする。コストメトリクスは、全ての考え得る入力パ
ラメタのためのコストモデルを構成するためにコードの
モジュールをブロファイルするのにも有用である。コン
パイラも、それらの最適化戦略を駆動するためにコスト
メトリクスを使用することができる。印刷技術は実時間
制約を有しているが、コストメトリクスは実時間制約を
有していない領域にも適用できる。例えば実行時間が入
力データに依存するプログラムでは、従来のシステムは
入力データを供給してその特定の入力データに関するコ
ストを決定するだけであった。これに対して、コストメ
トリクスは考え得る全ての入力データのためのブログラ
ムをモデル化するのに使用することができる。印刷技術
におけるコストメトリクスへのキーは、ページ全体を記
述するデータをより小さい部分に分割し、これらの部分
をできるだけ速く、しかしプリンタ218が処理できる
データ転送速度の範囲内でプリンタ218へ送ることを
ホストコンピュータ202に許容するか、またはある部
分がプリンタ218へ送られる前に、ホストコンピュー
タ202を使用してそれをビットマップデータに処理す
ることである。換言すれば、ホストコンピュータ202
はページを記述するデータの部分を描写し、描写された
データをプリンタ218へ送ることができるのである。
たとえ部分が処理のためにプリンタへ送られても、デー
タは処理を簡易化する形状であるので、本発明は従来の
システムよりも高速である。コストメトリクスは任意の
RPLまたはバンドのための各ドロープリミティブのコ
ストを供給する。このコストは、RPLをプリンタへ直
接送るか否かを決定するために、実時間委託が行われる
前にRPLをプリンタ218へ送って事前描写させるた
めに、及びビットマップをプリンタ218へ送るために
資源アセンブラ208によって使用される。これら3つ
のオプションにより、プリンタ218がページを実際に
印刷していない時間中に(例えば用紙送り動作中に)デ
ータの処理が可能になる。その結果、総合印刷時間が大
幅に短縮される。ページをより小さい部分に分割するに
は、バンディングを伴うことができる。前述したよう
に、バンディングは印刷ページをバンドと呼ぶ複数の水
平セグメントに分割することを含む。バンディングを行
わないと、ページ全体をビットマップ形状で記憶するた
めの膨大な量のメモリを必要とする。バンディングを行
った場合、もしプリンタが十分なメモリを有していれば
プリンタは1バンドより多くを記憶することになるが、
プリンタは単一のバンドのためのビットマップを記憶す
るだけでよい。図6は、データのバンドをプリンタへ送
るための考え得る若干のオプションを示す。図6のA
は、RPLの形状の任意の数のドロープリミティブを使
用して記述されたデータのバンドを表す。データのB
は、そのバンドを記述するビットマップデータファイル
を表す。ビットマップはホストコンピュータ202また
はプリンタ218の何れかにおいて作成できることに注
意されたい。若干の場合には、Cによって表されている
ように、ホストコンピュータはビットマップデータファ
イルを圧縮することができる。図6に示されているよう
に、データ処理のオプション1は、ホストコンピュータ
202がRPL(A)をビットマップデータファイル
(B)に描写し、データファイルを圧縮する(C)こと
を許容する。資源アセンブラ208はRPLをビットマ
ップデータファイルに描写するためのホスト資源実行装
置(HRE)として働く。圧縮されたデータファイル
(C)はプリンタ218へ伝送され、プリンタ218内
において圧縮解除されてビットマップ(B)に戻され
る。代替としてのオプション2では、ホストコンピュー
タ202はRPL(A)を直接プリンタ218へ伝送す
る。プリンタ218はRPL(A)を描写してプリンタ
218内にビットマップデータファイル(B)を作成す
る。第3の代替として、ホストコンピュータ202はR
PL(A)をビットマップデータファイル(B)に描写
し、データを圧縮することなくこのビットマップデータ
ファイルをプリンタ218へ伝送する。プリンタ218
はこのビットマップデータファイル(B)を受信する
が、印刷の進行を除いて付加的な処理は必要としない。
オプション1乃至3はホストコンピュータ202による
描写を含む。あるバンドを描写するのに使用できる時間
は、プリンタ速度及びプリンタメモリ222に依存す
る。各バンドは制限された量の時間だけを有し、この時
間中にプリンタ218による描写が行われなければなら
ない。もしバンドをこの許容された時間長の間に描写す
ることができないと資源アセンブラ208が決定すれ
ば、ホストコンピュータ202がそのバンドをビットマ
ップデータファイルに描写する。代替として、ホストコ
ンピュータ202がRPLをプリンタ218へ送って、
何等かの実時間委託が行われる前にRPLを事前描写す
ることができる。プリンタ218がバンドを事前描写す
る能力は、プリンタ218の計算能力と、ビットマップ
データのバンドを記憶するために使用可能なプリンタメ
モリ222の容量とに依存する。プリンタ218が描写
するのに時間がかかり過ぎるバンドを複雑なバンドと呼
ぶ。複雑なバンドは許容された印刷時間を超えるが、こ
れは実時間制約を満たすのに十分に高速でそのバンドを
印刷することができないことを意味する。もしあるバン
ドが複雑であれば、ホストコンピュータは図6に示すオ
プション1または3を使用してそのバンドを描写する。
実際には、用紙がプリンタ218を通って移動している
間にバンドを描写するのに使用できる余分な時間が存在
するという事実によってプロセスは複雑化される。もし
用紙を移動指せる時間を考慮に入れれば、バンドを実時
間で実効的に描写することができる時間が存在し得る。
本発明は、プリンタがバンドを実時間で描写できるか否
かを決定する中にこの要因を含む。これは、ホストコン
ピュータ202が何等かのバンドを描写する実時間であ
るページ上の“多過ぎる”バンドを描写することができ
ない場合だけである。バンドがどれ程多ければ“多過ぎ
る”のかを決定するのに、多くの要因が入力される。例
えば、プリンタ218の計算能力、印刷エンジン226
(図2)の速度、及び使用可能なプリンタメモリ222
の量である。現在では好ましい実施例においては、ある
ページ上の各バンドは208本の走査線を有している。
従ってあるページ上のバンドの数は、ページの長さに依
存する。しかし、この実施例において選択されているバ
ンドサイズは制限要因ではなく、任意に選択しても、ま
たはバンド毎に変化させてさえよいことを理解された
い。しかしながら決定されるバンドサイズは、バンドが
単純か複雑かを決定するために前以て知らなければなら
ない。ホストコンピュータ202は、オプション1また
は3の実効に要する時間+データをプリンタ218へ転
送するための時間を決定し、この合計時間と、オプショ
ン2の実効に要する時間+データをプリンタ218へ転
送するための時間とを比較することによってバンドの複
雑さを解析する。ホストコンピュータ202は最小合計
時間を有するオプションを選択する。ホストコンピュー
タ202がページ全体を単純に描写する前にページ上に
発生することができる複雑なバンドの数には上限があ
る。明らかに、この限界はホストコンピュータ202及
びプリンタ218の相対計算能力と、使用可能なプリン
タメモリ222の量に依存して変化する。もしこの限界
に到達することがなければホストコンピュータは、プリ
ンタ218が実時間で描写できないバンドだけを描写す
る。バンドを単純または複雑の何れに分類するかを決定
するためにコストメトリクスが使用される。図7に示す
ようにコストメトリクスシステムは、種々のラスタ演算
コード(ROP)を使用して種々のドロープリミティブ
の実行時間を確立する。ドロープリミティブは試験命令
集合250として記憶されている。試験命令集合は考え
得る全てのドロープリミティブからなっていても、また
は考え得る全てのドロープリミティブの部分集合であっ
てもよい。ROPは、原始コードビットマップ内のビッ
トをブラシビットマップ内のビット及び宛先ビットマッ
プ内のビットと組合わせる方法を定義する関数の集合で
ある。本発明のこの実施例では8データビットによって
表される256の異なるROPが存在する。ROPは、
受信される引き数の数に依存して3つの型にグループ化
することができる。ROPの型を以下の表1に示す。 表1.ROPの型 ROPの型 使用される引き数 2 宛先、パターン 3 宛先、パターン、原始ビットマップ 4 宛先、パターン、原始ビットマップ、マスク プリンタ218がコンピュータ202上に設置された時
点にコンピュータ・プリンタシステム200は、種々の
ドロープリミティブの一連の実行時間を計算する。代替
として、コストメトリクスを予め決定し、特定のプリン
タのためのコスト情報を実行時2進(ランタイムバイナ
リ)ファイルとして資源アセンブラ208へ供給しても
よい。本発明のシステムは、プリンタの性能をベンチマ
ークするために使用することもできる。種々のドロープ
リミティブの実行時間を測定するためにタイマ252が
使用される。試験命令集合250のための実行時間を測
定することによって、評価器モジュール254は特定の
プリンタ218を表すプリンタモデル256を確立す
る。プリンタモデル256は、特定のホストコンピュー
タ202及びプリンタ218組合せのためのコストメト
リクスデータを含むログファイル260を構成するため
に使用される。コストメトリクスデータを簡略化するた
めに、データはコストテーブル262に集群され、記憶
される。コストテーブル262はドロープリミティブの
若干の分類のためのコストメトリクスデータを含む。こ
れは、考え得る全てのドロープリミティブのための完全
コストメトリクスデータを含むデータファイルよりも遥
かに少ないメモリで済む。マップテーブル264はコス
トテーブル262内のコストデータへアクセスする簡単
な手段となっている。コストテーブル262及びマップ
テーブル264は、資源アセンブラ208へ接続されて
いる。資源アセンブラ208はコストデータを使用し
て、文書が印刷される時点における各RPLのコストを
決定する。以上のように、予め決定されるコストメトリ
クスデータは、データ処理責務をホストコンピュータ2
02とプリンタ218との間に動的に分担させるのに使
用することができる。タイマ252は試験命令集合の実
行のコストを決定するために使用される。本実施例で
は、タイマ252は典型的なコンピュータ上で容易に使
用可能な能力を維持する内部時間を使用している。図8
に示すように典型的なコンピュータは約1,193,1
80Hzの周波数の発振器400を使用する。この周波
数の周期は838.0965ナノ秒である。この応用の
目的のためにクロックの律動を838.0965ナノ秒
と定義する。16ビットのカウンタを含むブログラム可
能な内部カウンタ(PIC)402は2クロック律動毎
にデクレメントする。PIC402はコンピュータ作動
システムによって65535から0まで連続的にカウン
ドダウンするようにプログラムされており、0になると
CPU 406への割込み線404をトグルさせる。C
PU406は割込み線404の立ち上がり縁のみに応答
する。しかしPIC 402は2クロック律動毎にデク
レメントするから、PIC402による割込みは約55
ミリ秒毎に発生する。この割込みに応答してCPU 4
06はクロック記憶領域408の値をインクリメントさ
せる。PIC402及びクロック記憶領域408内の組
合わされたカウンタを使用することによって、838.
0965ナノ秒の分解能を有する48ビットのカウンタ
を得ることができる。本発明は、所定の時間410の
間、同一のドロープリミティブを繰り返し実行し、ドロ
ープリミティブを実行した回数を計数する。除算器41
2は、コンピュータの内部時間維持回路が測定した経過
時間を、実行されたドロープリミティブの数で除すこと
によってドロープリミティブ当たりのコストを決定す
る。ホストコンピュータ202(図2)上で時間を測定
する最も容易な方法はDOS内の日付/時間機能を呼び
出すことである。これは一般に使用されている方策であ
る。別の方法は0時以降に発生した55ミリ秒のクロッ
ク律動の数を見出すためにBIOS関数を呼び出すこと
である。この方法に伴う問題は、もしプログラムが一晩
中走っていれば0時事象が失われ、日付/時間が1日遅
れることである。本発明のシステムは55ミリ秒よりも
細かい分解能を要求するから、ドロープリミティブを描
写するのに使用される時間長を復号するためにホストコ
ンピュータ202上のハードウエアタイマ252(図
7)を使用しているのである。詳述すれば、ブログラム
可能な内部カウンタ(PIC)402(図8)は、上述
したBIOS関数を使用して時間を測定している駆動装
置を照合する。これにより、システムは遥かに細かい分
解能を有するタイマを得ている。ハードウエアタイマは
16ビットのタイマであり、(55ミリ秒)/6553
6は838ナノ秒であるから、55ミリ秒の代わりに約
838ナノ秒の理論的分解能を達成することができる。
しかしプリンタとの通信リンクはあるでたらめさ(ra
ndomness)を有しており、実際には10ミリ秒
の分解能を達成できただけである。上述した数字は全て
丸めた数である。タイマ252は、上記丸めた数よりも
遥かに精密である。本発明はBIOSカウンタとPIC
との組合せを使用してドロープリミティブの実行時間を
測定するために使用されるタイマ252を得ている。P
IC402は、一定のレートでクロックされる3つのカ
ウントダウンタイマ(図示してない)を有している。P
ICチップカウンタは65536の値を使用し、カウン
トダウンする。PIC上のこれらのカウンタが0に達す
ると、それらはプロセスを開始する。タイマ0は、割込
み(Vector 8H.20−23H)が発生するこ
とを意味する。最初の値がカウンタ内にロードされ、プ
ロセスが続行される。BIOSは位置40H:6CHに
おいてULONGカウントをインクリメントする。この
カウンタは最後の0時事象(真夜中の12時)以降に発
生した(または発生すべきであった)律動の数を表して
いる。このBIOSカウンタは、実時間時計の(ブート
アップ(bootup)における)タイマ律動によっ
て、また0時に実時間時計が変化するとMS−DOS
“TIME”コマンドによって更新される。BIOSカ
ウンタは“ロールオーバー”し、再び0から始動する。
24時間中には1,573,040のタイマ律動が存在
する。BIOSカウンタは0乃至1,573,039の
値を含むことができる。このカウンタを得るためのBI
OS呼び出しが存在するが、もし“0時(ミッドナイ
ト)事象”が発生するとこの状態を呼び出し者へ戻して
それを無視するのでこの応用では使用することはできな
い。“0時事象”の取り扱いは本発明が回避を選択した
困難なプロセスである。通常、オーバーフロー状態はM
S−DOSによって処理される。もしBIOS呼び出し
が使用され、オーバーフロー状態が発生すれば、日付を
1日だけ進めるようにセットすることを除いて、この事
象をMS−DOS内へ集める方法はない。これに関する
論理は複雑過ぎる。その代わりとして、タイマ252は
単にBIOS領域を調べて4バイト律動カウンタを読出
すが、律動カウンタは0時になると0にリセットされる
ことに注意されたい。少なくとも24時間毎にこのBI
OS呼び出しを行わせることを要求する何かを処理する
ためにMS−DOSに依頼することが重要である。この
例はファイルへの書き込みである(何故ならばMS−D
OSはファイルの変更時間を更新する必要があるからで
ある)。コストを測定するためにホストコンピュータ2
02をタイマ252と同期させるのは、タイマ0(図示
してない)の使用を含む。PIC402のタイマ0はシ
ステムクロックを駆動する。タイマ0はモード3(即ち
方形波レート発生器)で動作するようにプログラムされ
ている。これは出力が、カウントの半分が完了するまで
(偶数の間)は高を維持し(第1の相)、カウントの他
の半分の間は低になる(第2の相)ことを意味する。も
しカウントが奇数であり、出力が高であれば、第1のク
ロックパルス(そのカウントがロードされた後の)はカ
ウントを1だけデクレメントさせる。爾後のクロックパ
ルスはクロックを2だけデクレメントさせる。タイムア
ウトすると出力は低になり、全カウントが再ロードされ
る。第1のクロックパルス(再ロードに続く)はカウン
タを3だけデクレメントさせる。爾後のクロックパルス
はタイムアウトするまでにカウントを2だけデクレメン
トさせる。次いで全プロセスが繰り返される。このよう
にして、もしカウントが奇数であれば出力は(N+1)
/2カウントの間は高であり、(N−1)/2カウント
の間は低である。PIC−LATCHITを使用してカ
ウンタをラッチし、次いで値を読むことによってカウン
トを読むことができるが、単に値を読むだけではタイマ
0がサイクルの第1の相にあるのか、または第2の相に
あるのかは分からない。これを見分ける唯一の方法は、
カウンタがロールオーバーするのを待ってクロック律動
が発生したか否かを見ることである。方形波レート発生
器(タイマ0)は割込みベクトル8H(ベクトルアドレ
ス20−23H)へ接続される。通常これはBIOSを
指し、BIOSもまた1CH(ベクトルアドレス70−
73H)における別のタイマ律動割込みベクトルを呼び
出す。通常は1CHはDUMMY−RETURNを指
す。もしベクトル8Hが単純に置き換えられればシステ
ムクロックは適切に機能しない。ベクトル8Hは18.
2ミリ秒毎に呼び出されなければならない。合計3つの
USHORTのためにBIOS領域内には2つの16ビ
ット値が存在し、またPICチップ内には1つの16ビ
ット値が存在する。各USHORTフェッチ(取り出
し)はアトミックであるが、割込みは任意のこれらのフ
ェッチ間で発生することができるので、これらの点だけ
を使用してきれい48ビットアトミックアクセスを構成
する方法はない。例えば、もし割込みが第1のフェッチ
と第2のフェッチとの間で発生すれば、より正しいOO
OAFFFFまたはOOOBOOOOの代わりにOOO
BFFFFを読むことができる。前の2つは何れも許容
されるものではあるが、最初の方は離れて(way o
ff)おり、勿論不適切なタイミングをもたらすことに
なろう。タイマ割込みは18.2ミリ秒毎に1回だけ発
生するから、BIOS領域を2回容易に読みとって繰り
返される値をもどすことができる(また割込みを不能に
するか、または386または486レジスタを使用して
32ビットアクセスを行うこともできるが、割込みを不
能にしてもPICカウンタは停止しない)。この問題を
解決するために、先ずBIOS領域のための安全な32
ビット数のアクセスを構成する。BIOS領域は18.
2ミリ秒毎にだけ更新されるから、BIOS領域を2回
読み取ることは簡単であり、それが変化しないようにす
ることができる。BIOSから読み取った値はulBI
OS1及びulBIOS2である。PICカウンタから
ラッチされた値はusPic1及びusPic2等であ
る。PIC402をアクセスする手順は、先ずPIC−
CONTROL−PORTへ意図を書き込み次いで適切
なTIMERxポート(PIC上にある)へ1または2
バイトを読み取るかまたは書き込むことである。この応
用では、開始と停止との間の差を正確に測定することが
重要である。試験の前または後に数ミリ秒を浪費するか
否かは極めて重要ではない。これを達成するために、応
用に戻る前にタイマが“ロールオーバー”するまで待機
する。次いで、タイマ停止呼び出しが行われる時に、間
の差をより正確に測定する。PICは2ずつデクレメン
トされるから最下位ビットは常に0であり、従って無意
味である。PIC402が0に到達した時にOUTOが
トグルされ、PICは再ロードされる。割込みは他のO
UTO遷移毎にしか発生しない。従って、PICの15
の最高ビットだけが重要である。使用不能な別のビット
(OUTO)が存在し、検出作業を通して導出しなけれ
ばならない。この隠れたビットを観測する唯一の方法
は、15ビットのPICカウンタがロールオーバーする
のを待ってからBIOSメモリ内の32ビットのカウン
タが変化したか否かを調べることである。即ち、もし隠
れたビットが‘1’であれば桁上げが伝播し、そうでな
い場合には桁上げは伝播しない。15ビットのPICカ
ウンタはハードウエアカウンタであるので特別な注意を
払わなければならない。このカウンタは停止させること
ができず、プログラムとは非同期で走る。このカウンタ
がもたらす如何なる割込みもCPUによって直ちに処理
されることがない。そこには遅延が存在し、この遅延は
予測できないものである。タイマ252は、コード実行
時間を測定するためのコストメトリクスの他の面を用い
ることなく使用することもできる。これは実行時間を測
定するためにコードをプロファイルするような応用に特
に有用である。評価器モジュール254はタイマ情報を
使用してコストメトリクスを求める。評価器モジュール
254の目的は、単一のドロープリミティブのコストを
決定することである。前述したように、典型的なタイマ
の分解能は本発明の目的には不十分である。プリンタへ
の通信チャネル上のタイミング分解能は約10マイクロ
秒の繰り返し可能な分解能を有しているが、要求される
分解能は1ナノ秒以下である。必要な分解能を達成する
ためにプリンタ218は複数のドロープリミティブを実
行することを依頼される。プリミティブの数は10,0
00を超えることができる。評価器モジュール254
は、プリンタ218が数ドロープリミティブを遂行する
ことを要求することから開始する。同一のパラメタ、R
OP、形状及びブラシを有する同一のドロープリミティ
ブが使用されることに注目されたい。実行されるプリミ
ティブの数は、所定の時間410が経過してしまうまで
増加される。評価器モジュール254は、特定のRO
P、形状及び特定のブラシを使用してその特定のドロー
プリミティブを実行するのに要する時間長を計算するた
めに、所定の時間中に実行されるドロープリミティブの
数を評価する。換言すれば評価器モジュール254は、
その型の単一のドロープリミティブを実行するのにどの
程度の時間がかかるのかを決定するためには、所定の時
間中にどれ程多くのドロープリミティブを実行するのか
を決定する。特定のドロープリミティブに対するこの手
順をサンプルと呼ぶ。評価器モジュール254は、種々
の型のドロープリミティブについてサンプルを決定す
る。現在では好ましい実施例においては、評価器モジュ
ール254のために選択された所定の時間は約300ミ
リ秒である。タイマ精度が10マイクロ秒であると、最
大誤差は約0.0033%になる。サンプルを決定する
ために要する時間は比較的一定である。もしドロープリ
ミティブが単純であれば、評価器モジュール254は所
定の時間の間に更に数ドロープリミティブを送らなけれ
ばならない。もしドロープリミティブが比較的複雑であ
れば評価器モジュール254は所定の時間の間に送るド
ロープリミティブは少なくてよい。即ち、唯一の変数は
所定の時間の間に送るドロープリミティブの数である。
容易に理解できるように所定の時間410を変えること
によって実質的にどのような分解能も達成することがで
きる。例えば試験期間を約3,000ミリ秒(3秒)に
すれば、0.00033%の分解能が得られる。現在で
は好ましい実施例においては約300ミリ秒の所定の時
間を選択して、試験命令集合250を実行するのに必要
な時間を最小にしている。プリンタモデル256は、試
験命令集合250からどのドロープリミティブをプリン
タ218へ送るかに関して評価器モジュール254に命
令する。プリンタモデル256はサンプルデータを使用
して、ホストコンピュータ202上に設置された特定の
プリンタ218をモデル化する。特定のプリンタ218
のモデルは種々の機能を遂行するためのコストを決定す
ることによって作成される。種々の機能のコストを決定
するためには1、5、10またはそれ以上のサンプルを
必要としよう。プリンタモデル256は、若干のコスト
曲線の勾配またはインタセプト(intercept)
を見出すために最小線形自乗回帰(LLSR)統計量を
使用することができる。この技術は当業者には公知であ
り、詳細な説明は省略する。概述すればLLSRは一連
の点に適合する“最良”の線を選択する統計的方法であ
る。この線はこれらの点のモデルである。もしモデルが
“良”であれば、これらの点はこの線に極めて近接して
いる。本発明は種々の方法でLLSRを使用している。
例えば評価器モジュール254は、ドロープリミティブ
当たりのコストを見出すためにLLSRを使用してい
る。プリンタモデル256は全ての、しかし1つの可変
定数を維持することによって、データをドロープリミテ
ィブのモデルに適合させるためにLLSRを使用する。
これによりプリンタモデル256は、その変数の効果を
他から分離することができる。プリンタモデル256へ
のLLSRの適用に関しては後述する。一般にプリンタ
218が遂行する何等かのものに関連してコストが存在
する。例えばプリミティブを特定のバンドのためのビッ
トマップデータで描写するコストが存在する。更に、ペ
ージ上に特定のドットをマークするコスト、及びページ
上のある行を充填するためのコストも存在する。プリミ
ティブを描写するためのコストをPと呼び、一方ドット
及び行のためのコストをそれぞれD及びRと呼ぶことに
する。プリンタモデル256は異なる次元の種々の線引
き(ドロー)を実行するためにコスト情報を決定する。
0次元プリミティブは、特徴付けるコストを1つだけゆ
うしている。他のプリミティブは1またはそれ以上の次
元と、特徴付けるのに必要な1またはそれ以上のコスト
とを有している。以下の表2はドロープリミティブ及び
それらの関連コストを示すものである。 0次元プリミティブは、ROP、ブラシ、描き位置、ま
たはペンスタイルには無関係に、同一の実行時間を有し
ている。0次元プリミティブの例は、SetRowAb
solute(SetRowAbs)、またはSetC
olumnAbsolute(SetColAbs)の
ようなカーソル運動コマンドである。SetRopAn
dBrushも0次元プリミティブであるが、考え得る
4つのブラシ及び考え得る256のROPが存在するか
ら、1,024回(4×256=1,024)列挙する
必要があるので、これは特殊な場合である。1次元プリ
ミティブは、幅または長さのような単一の変数に依存す
る。前述したように、プリンタモデル256はLLSR
を使用して最良適合線を決定し、そのプリミティブに関
連するパラメタを特徴付ける。1次元プリミティブは一
般サンプルを取って最良適合を決定する。1次元プリミ
ティブの例は、線を引くためのプリミティブであるLi
neAbsolute(LineAbsS)である。2
次元プリミティブは、幅及び高さのような2つの変数に
依存する。2次元プリミティブは一般に10サンプルを
取ってこれらのプリミティブを適切に特徴付ける。2次
元ドロープリミティブの例は、矩形を描くRectan
gle(Rect)である。唯一の3次元プリミティブ
(GlyphBDN)が存在する。このプリミティブは
一般に15サンブルを取ってそれを十分に特徴付ける。
GlyphBDNプリミティブは高さ、幅、及び副絵文
字の数の3つの変数に依存する。副絵文字はGlyph
BDN描きプリミティブ内に含まれる絵文字である。G
lyphBDNは単一のプリミティブと見做されるが、
各々が自身の幅及び高さを有する多くの副絵文字を有す
ることができる。GlyphBDNプリミティブを描く
コストは、それが1つの絵文字を描くのに使用されるの
か、または多くの絵文字を描くのに使用されるのかに依
存して変化する。現在では好ましい実施例は、特定のプ
リンタの動作に関して幾つかの仮定を行っている。これ
らの仮定は種々のプリミティブのために必要なモデルの
数を減少させる。詳述すれば、本発明は任意のプリンタ
に関して、特定のプリミティブを描写するためのコスト
(P)、ドットコスト(D)、及び行コスト(R)が一
定であると仮定している。これによって、プリミティブ
の種々の次元を以下の表3に示す方程式によって特徴付
けることができる。 表3.種々の次元のプリミティブのための実行モデルの表 次元 実行モデル 0 t=P 1 t=P+wR 2 t=P+wR+whD 3 t=P+nN+Σ i=1(WR+wD) ここに、tは必要な合計時間、Pはプリミティブを実行
するのに要する時間、hは対象の高さ、Rは行コスト、
wは対象の幅、Dはドットに触れるのに要する時間、n
はプリミティブの副プリミティブの数、そしてNは副プ
リミティブの処理コストである。プリミティブのコスト
を決定するために、システムは描写するプリミティブの
次元に対応するモデルの1つを選択する。例えば、2次
元プリミティブのコストを決定するために、システムは
2つの相の計算を使用する。相1では、パラメタDを分
離することが望まれる。これを行うために、LLSRを
使用し、wを一定に保ことができる。hだけを変えるこ
とによってパラメタDを分離することができる。表3の
2次元のための方程式を使用する。ドロープリミティブ
のための合計コストは方程式 t=P+wR+whD によって与えられている。 K=P+wR, K=wD とすれば、 t=K+Kh となる。種々のhの5つのサンプルを取り、LLSRを
使用することによって、システムは2つの定数を求める
ことができる。wの値は既知であるから、Dを決定する
ことができる。相2では、パラメタRを分離することが
望まれる。これを行うためにはhを一定に保ち、wを変
える必要がある。方程式は t=P+wR+whD と与えられている。ここでwを変化させる。wだけと共
に変化するサンプルの集合を作成するためにwhD項を
全サンプルから減算する必要がある。即ち、 tllsr=tsample−whD ここにtllsrはLLSR解析によって使用される時
間であり、tsampleは評価器モジュール254に
よって決定されたサンプル時間である。これによりLL
SR解析内のデータを適合させるのが容易な単一の式が
得られる。Dが相1から既知であり、w及びhもサンプ
ル毎に既知であるから、このようにすることが可能なの
である。 K=P, K=R とすれば、 t=K+Kw となる。種々のwの5つのサンプルを取り、LLSRを
使用することによって2つの定数が求まる。2つの定数
はP及びRである。以上のように、2つの相によってパ
ラメタP、D、及びRを決定することが可能である。こ
れらから、任意の幅及び高さに対するプリミティブのた
めのコストが決定できる。描写プリミティブの次元の数
はサンプルにおける試験の数、及びサンプル当たりの必
要合計試験時間に影響する。全ての描写プリミティブの
ための実行コストを計算するために、システムは相1及
び2の間に高さ及び幅に関して1、5、10または15
の試験点を使用する。選択された値は、評価される試験
点の数に依存して、実行時間に300乃至1500ミリ
秒の増加をもたらす。表4は次元と試験時間との間の関
係を示す。試験時間を最小にするために、各試験点毎に
複数の小さいドロープリミティブが評価器モジュール2
54によってプリンタ218へ送られ、約300ミリ秒
の印刷時間に到達するまで徐々にサイズが増加する。3
00ミリ秒の印刷時間に到達すると試験点が記録され、
試験は次の試験点へ進む。このプロセスは全ての試験点
が試験されてしまうまで繰り返される。 プリンタモデル256が上述のようにしてコストデータ
を作成すると、このコストデータはログファイル260
内に記憶される。データ検索プロセスを簡易化するため
に、ログファイル260内のコストデータは分類されて
コストテーブル262内に記憶される。この分類プロセ
スによって、コストデータを記憶する為に必要なデータ
構造が簡略される。本実施例は、分類プロセスを簡易化
する幾つかの仮定を行う。多くの場合、プリンタ内の同
一コードを使用して異なるプリミティブを描くことが知
られている。例えばBitmapHRドロープリミティ
ブを描くのに、GlyphB1ドロープリミティブを描
くコードと同一のコードが使用される。コードのこの冗
長度のために、システムは1つのプリミティブのための
コストデータだけを記憶すればよい。GlyphB1の
ような資源アセンブラ208が使用しない若干のドロー
プリミティブは測定する必要はない。ドットコストの解
析も、特定のROP及びブラシに対するドットコストが
どのドロープリミティブに関しても同一であることを示
している。即ち、ドロープリミティブRect.ROP
O黒ブラシのためのドット当たりのコストはGlyp
h.ROPO黒ブラシのためのドット当たりのコストと
同一である。従って、各ドロープリミティブ毎には異な
るドットコストは存在しないが、各ROP及びブラシ組
合せ毎に存在する。4つのブラシと256のROPでは
1,024の考え得るドットコストが存在する。分類を
簡略化するために、本システムはプリミティブを分類す
るための集群計画を使用する。集群(クランピング)
は、類似コストを有するドロープリミティブをグループ
化または集群させることによって、データエントリの数
を減少させるプロセスである。本発明のこの実施例は、
全てのドロープリミティブのためのプリミティブパラメ
タP、D、及びRのコストを計算し、それらをより広い
カテゴリ内にグループ化する。SelectL、Sel
ectB、及びSelectSのような類似ドロープリ
ミティブの群が3つの異なるコストを有している場合に
必要なことは、3つの中の最も高いコストを含ませるこ
とである。これらのコマンドが使用されることは比較的
少ないから、偏差は左程重大ではない。あるプリミティ
ブに異なる形状が存在する場合には、最も高い形状を分
類してそのコストを他の形状に使用するだけでよい。全
ての場合、プリンタが描写することができないバンドを
発見するだけのために、プリンタがバンドを実時間で描
写すると仮定することによってプリンタ誤りが発生しな
いようにするためにコストテーブル262により高いコ
ストを含ませるのである。この分類計画は、ログファイ
ルのために必要なメモリを減少させる手段として説明し
たに過ぎないことを理解されたい。考え得る全てのプリ
ミティブのための実際のコストを含ませることは可能で
あるが、実際的ではない。ログファイル260は各ドロ
ープリミティブ毎の全てのパラメタのためのコストメト
リクスデータを含む。集群プロセスの例として、ドロー
プリミティブの群がパラメタDのためのコストとして
1、2、2、2、5、5、6、9、10、10を有して
いるものとする。10データエントリを有する代わり
に、システムは2、6、及び10の3つの集群を作成で
きる。最初の4つのドロープリミティブはコスト2を有
する第1の集群に割当てられ、次の3つのドロープリミ
ティブはコスト6を有する第2の集群に割当てられ、そ
して最後の3つのドロープリミティブはコスト10を有
する第3の集群に割当てられる。若干のドロープリミテ
ィブの実際のコストは、それらが割当てられた集群コス
トよりも小さいから、これは若干の不正確さをもたらす
ことに注目されたい。しかしながら、集群の数は可変せ
あり、誤差の量が最小になるように選択される。また、
ドロープリミティブが実際のコストより小さく評価され
ることはないことにも注目されたい。実際のコストを過
少評価すると、実際のコストを過少評価したことによっ
てもし資源アセンブラ208がRPLを実時間で描写す
ることができると決定するようなことがあればプリンタ
誤りがもたらされる。実際の経験から、ドットコストの
ために1,024コストデータエントリがある場合に
は、僅か40の集群されたドットコストデータエントリ
によってこれらを表すことができることが分かった。集
群のプロセスは最低コストから最高コストまで配列され
た行内にあるパラメタのための全てのコストを配列する
ことによって遂行される。各コストデータエントリを、
その隣から差し引き、差をアレイ内に記憶する。各アレ
イエントリ毎のオフセット値が実際のコストを追跡す
る。次いで差アレイを最大コストから最小コストまで分
類する。分類されたアレイ内の最初のエントリは1つの
集群のための集群データコストである。もし2つの集群
が使用されていれば、分類されたアレイ内の第2のエン
トリは集群コストである。もし3つの集群が使用されて
いれば、分類されたアレイ内の第3のエントリは集群コ
ストである等々である。集群プロセスの例として、パラ
メタDのコストが1、2、2、2、5、5、6、9、1
0、10であるものとする。各コストをその隣から差し
引けば次のアレイが求まる。1(2−1)、0(2−
2)、0(2−2)、3(5−2)、0(5−2)、1
(5−5)、1(6−5)、3(9−6)、1(10−
9)、及び0(10−10)。次いでこのアレイを最大
から最小への順次順序で配列する。もし2つの数が同一
であれば、最高コストに関連する差数を最初にリストす
る。上例では順次に配列された差アレイは、3、3、
1、1、1、0、0、0、0である。差アレイ内の最初
の数字3は9と6のコスト差に対応するものであり、2
番目の数字3は5と2のコスト差に対応するものであ
る。従って、もし2つのコスト差集群が存在していれ
ば、これらの集群は順次差アレイ内の最初の数字に対応
するコスト差によって分割される。この例では2つの集
群は第1の数字3に対応するコスト数6とコスト数9と
の間で分割される。従って一方の集群は9−10からの
コストを含み、第2の集群は1−6間のコストを含む。
同様にもし3つのコスト集群を使用するのであれば、第
2及び第3の集群は第2の数字3に対応してコスト数2
と5との間で分割される。従ってコスト集群は9−1
0、5−6、及び1−2となる。この原理はどのような
数の集群にも拡張できる。代替として、ヒストグラム解
析のような統計的プロセスを使用して最も適切な集群コ
ストを決定することもできる。集群されたデータエント
リはコストテーブル262内に記憶される。コストテー
ブルへのアクセスを簡易化するために対応するマップテ
ーブル264が使用される。例えば、40のドットコス
トデータエントリは0から39までの相対位置を有する
コストテーブル内に記憶される。実際には、コストテー
ブルはホストコンピュータ202内のどのような便宜な
位置に配置しても差し支えないことを理解されたい。ド
ットコストマップテーブルは1,024 のエントリ
(4×256)を含み、これらは各々0から39までの
数を含んでいる。マップテーブル264内のエントリ
は、コストテーブル262の一部であるドットコストテ
ーブル内のエントリに対応している。資源アセンブラ2
08はマップテーブル264及びコストテーブル262
を使用して各ドロープリミティブのコストを決定する。
一手順では、資源アセンブラ208はドロープリミティ
ブ演算がドットコストを含む度毎にドットコストテーブ
ルにアクセスすることができる。合計コストを累積する
ことができる。合計時間はコストテーブル内のコストデ
ータエントリにその特定の型のドットの数を乗じたもの
である。しかしながら、この手法で合計コストを計算す
るにはバンド内のドロープリミティブ毎に多くの演算が
必要である。当業者には公知のように、多くの演算は時
間を消費する。従って、現在では好ましい実施例は、各
バンド毎に40のドットカウンタ(各40集群ドットコ
スト毎に1つのカウンタ)を使用している。演算にドッ
トが含まれると、資源アセンブラ208は40のドット
カウンタの対応する1つに追加する。バンドの終わり
に、資源アセンブラ208は40のドットカウンタの各
々内のドット合計を、その対応するドットのためのコス
トテーブル262内のコストデータエントリに乗ずる。
次いで40の乗算された値を合計してそのバンドのため
の合計ドットコストを求める。この手順で遂行される乗
算は上記第1の手順よりも遥かに少ない。任意のバンド
においては、40のドットカウンタの若干は値0を有し
ているかも知れず、これは乗算演算を実行する前に検査
することができる。これは、合計ドットコストを計算す
る際に付加的な時間を節約する。同様にして、ドロープ
リミティブのための他のコストが計算されてバンドのた
めの合計コストが求められる。資源アセンブラ208は
バンドのための合計コストを決定し、この合計コストと
プリンタ218においてそのバンドを描写するのに使用
可能な時間とを比較する。もしプリンタがそのバンドを
描写するのに十分な時間を有していれば、そのバンドの
ためのRPLデータはホストコンピュータ202によっ
て描写されることはない。もしあるバンドが実時間描写
するには複雑過ぎると、そのバンドはプリンタ218に
よって事前描写される考え得る候補としてマークされ
る。ページ全体のためのコストが上述したコストメトリ
クス手順を使用して資源アセンブラ208によって計算
される時、これらの複雑なバンドの数が所定の数を超え
ているか否かを見るために、バンドが調べられる。前述
したように、“多過ぎる”とみなされる複雑なバンドの
数は、プリンタの計算能力、印刷エンジンの速度、プリ
ンタのオーバヘッドコスト、及びバンドデータを記憶す
るために使用可能なプリンタメモリ222(図2)の量
のような多くの要因に依存する。もし任意のページ上の
複雑なバンドが比較的少なければ、これらの複雑なバン
ドは事前描写のためにプリンタ218へ送られる。この
ようにして、プリンタが印刷エンジン226へ実時間委
託を行う前に全ての複雑なバンドは事前描写される。資
源アセンブラ208は複雑なバンドの若干を描写してこ
れらのバンドのためのビットマップデータをプリンタ2
18へ送ることもできる。もし多過ぎる複雑なバンドが
存在すれば、資源アセンブラ208がページ全体を描写
することになろう。コスト計算プロセスの例として、R
OPO及び黒ブラシを使用してページの特定位置に矩形
を描くことを望んでいるものとする。この矩形は、幅w
が10、高さhが10である。このような矩形を作成す
るためには以下のドロープリミティブの集合を使用でき
る。即ち、SetRowAbs(...)、SetCo
lAbs(...)、SetEXtAbs(...)、
SetRopAndBrush(...)、及びRec
t(w,h)である。簡易化のために、殆どのドロープ
リミティブのための引き数の値は含まれていない。この
RPLのための合計コストを得るために、以下の諸段階
が使用される。 1.集群テーブルへ進入して指定されたパラメタのため
の値P、R、及びDを入手することによって最初の3つ
の描写プリミティブのためのコストメトリクスを見出
す。これらのプリミティブのための値は以下の通り。S
etRowAbsS(...)=123.647マイク
ロ秒、SetColAbsS(...)=23.665
マイクロ秒、SetExtAbsS(...)=23.
664マイクロ秒。 2.SetRopAndBrush(...)組合せ
(ROP番号41)によって指定されたROPのための
コストメトリクスを見出す。Pの値は224.633
マイクロ秒、Rの値は11.292 マイクロ秒、Dの
値は0.04マイクロ。秒。ROP及びブラシ組合せの
合計コストは341.6 マイクロ秒(341.6 マ
イクロ秒後、矩形のためのビットはフレームバッファ内
にあって印刷の準備が整う)。BIDテーブル内で探索
されたROP及びブラシ組合せを駆動装置が追跡してい
ることに注目。もしこの組合せのための値を再度探索し
なければ、先に使用されたか否か。 3.ROP及びブラシ組合せのコストをRPLリスト内
の全ての描写プリミティブに加算。341.6+12
3.647+23.665+23.664= 51
2.576マイクロ秒。これはRPLの合計コストであ
る。 データを印刷するために資源を使用するので、コストメ
トリクスは印刷技術に特に有用である。ホストコンピュ
ータ202は資源、及び資源の従属性を作成する。資源
をドロープリミティブに翻訳することによって、各ドロ
ープリミティブの実行のコストをホストコンピュータ2
02が計算することができる。以上に説明したシステム
は、資源アセンブラ208がランタイムでコストデータ
へ容易にアクセスすることを許容する。プリンタ218
による事前描写に使用可能な時間はコストメトリックデ
ータ内へ算入される。資源アセンブラ208はコストメ
トリックデータを使用して、ホストコンピュータ・プリ
ンタシステム200のどの部分がデータを処理すべきか
を決定する。コストメトリクスを使用すると、従来は可
能ではなかった手法でデータ処理責務をホストコンピュ
ータ202及びプリンタ218が分担できるようにな
る。以上にプリンタの動作を解析する本発明のシステム
及び方法の応用を詳細に説明した。この同じ技術は印刷
に関係しているコンピュータの動作の解析にも使用する
ことができる。前述したように、本発明のシステム及び
方法は印刷以外の応用にも有用である。本発明の種々の
実施例及び利点を説明したが、この説明は例示に過ぎ
ず、本発明はその原理から逸脱することなく多くの変更
を施し得ることを理解されたい。従って、本発明は特許
請求の範囲によってのみ制限されるのである。
【図面の簡単な説明】
【図1】典型的な従来技術のコンピュータ・レーザプリ
ンタシステムを示す図。
【図2】本発明のコンピュータ・プリンタシステムの機
能ブロック線図。
【図3】無制約文書を表すことができる手法を示す図。
【図4】図3の無制約文書を制約された形態で表すこと
ができる手法を示す図。
【図5】図4の制約された文書の代替構成を示す図。
【図6】本発明の種々の負荷平衡化オプションの若干を
示す図。
【図7】本発明のコストメトリクスシステムの機能ブロ
ック線図。
【図8】本発明が使用しているタイマの機能ブロック線
図。
【符号の説明】
200 コンピュータ・プリンタシステム 202 ホストコンピュータ 204 応用プログラム 206 資源記憶領域 208 資源アセンブラ 210 ホスト資源記憶装置 212 ホストコンピュータメモリ 214 資源ローダ 216 資源スケジューラ 218 プリンタ 220 プリンタ資源記憶装置 222 プリンタメモリ 224 資源実行装置 226 印刷エンジン 250 試験命令集合 252 タイマ 254 評価器モジュール 256 プリンタモデル 260 ログファイル 262 コストテーブル 264 マップテーブル 300 文書 302、320 ページ2 304、316 フォント1 306、322 ページ3 308、318 ビットマップ 310、312、324、326 ポインタ 400 発振器 402 プログラム可能な内部カウンタ(PIC) 404 割込み線 406 CPU 408 クロック記憶領域 410 所定の時間 412 除算器

Claims (56)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータに接続されたプリン
    タによるデータ処理の効率を解析する装置であって、 プリンタに実行させる少なくとも1つのドロープリミテ
    ィブを含む試験命令集合と、 所定の経過時間を測定するタイマと、 上記経過時間中の上記ドロープリミティブの実行回数を
    測定して上記ドロープリミティブの実行時間を決定する
    評価器モジュールと、 上記実行時間を受信してプリンタのモデルを作成し、上
    記ドロープリミティブを描写するコスト情報を決定する
    プリンタモデルと、 上記ドロープリミティブに関する上記コスト情報を受信
    して記憶し、上記コスト情報を使用して上記ドロープリ
    ミティブの実行コストを決定するログファイルとを具備
    することを特徴とする装置。
  2. 【請求項2】 プリンタが実行した少なくとも1つのド
    ロープリミティブに関する予め計算されたコスト情報
    と、所定の経過時間を測定するタイマと、上記経過時間
    中の上記ドロープリミティブの実行回数を測定してその
    ドロープリミティブの実行時間を決定する評価器モジュ
    ールと、この実行時間を受信してプリンタのモデルを作
    成しドロープリミティブを描写するコスト情報を決定す
    るプリンタモデルとを有するホストコンピュータに結合
    されたプリンタによるデータ処理の効率を解析する装置
    であって、 ドロープリミティブに関するコスト情報をテーブル内に
    含むログファイルと、 ドロープリミティブの集合から選択されたドロープリミ
    ティブを受信し上記ログファイルを使用してプリンタ内
    の上記各応用ドロープリミティブを描写する描写コスト
    を決定して上記ユーザドロープリミティブの特定の1つ
    に関するコストを決定する資源アセンブラとを具備し、
    もしプリンタが上記応用ドロープリミティブを実時間で
    描写することができなければ上記資源アセンブラに上記
    応用ドロープリミティブを描写させ、それによって上記
    応用ドロープリミティブの描写に関するデータ処理責務
    をホストコンピュータ及びプリンタに分担させたことを
    特徴とする装置。
  3. 【請求項3】 上記ドロープリミティブを受信し、上記
    ログファイルからの上記コスト情報を使用することによ
    って上記ドロープリミティブをプリンタ内に描写するた
    めの描写コストを計算する資源アセンブラをも含み、も
    しプリンタが上記ドロープリミティブを実時間で描写す
    ることができなければ上記資源アセンブラに描写させ、
    それによってドロープリミティブの描写に関するデータ
    処理責務をホストコンピュータ及びプリンタに分担させ
    た請求項1に記載の装置。
  4. 【請求項4】 上記ドロープリミティブに関する分類さ
    れたコストデータを記憶するコストテーブルの集合をも
    含み、上記ドロープリミティブは上記コスト情報に従っ
    て分類されていて上記ログファイルの記憶要求を減少さ
    せ且つ上記資源アセンブラによる上記描写コストの決定
    プロセスを簡易化させている請求項3に記載の装置。
  5. 【請求項5】 上記ドロープリミティブに関するマップ
    テーブルの集合をも含み、上記マップテーブルは上記ド
    ロープリミティブに関する上記分類されたコストデータ
    が記憶されている上記コストテーブル内の記憶位置を指
    し示すポインタを供給する請求項4に記載の装置。
  6. 【請求項6】 上記プリンタモデルは上記ドロープリミ
    ティブに関する複数のデータ値を選択し、上記評価器モ
    ジュールは上記複数の各データ値毎に上記ドロープリミ
    ティブに関する上記実行時間を測定し、上記プリンタモ
    デルは上記複数の各データ値毎に上記ドロープリミティ
    ブに関する上記実行時間を使用して上記データ値の何れ
    かの値に対する上記ドロープリミティブに関する汎用実
    行コストモデルを決定する請求項1に記載の装置。
  7. 【請求項7】 上記複数のデータ値は上記ドロープリミ
    ティブに関する第1の次元に関する複数の第1の値と、
    上記ドロープリミティブに関する第2の次元に関する複
    数の第2の値とからなり、上記評価器モジュールは上記
    第1及び第2の値毎に上記ドロープリミティブに関する
    上記実行時間を測定し、上記プリンタモデルは上記第1
    及び第2の値毎の上記ドロープリミティブに関する上記
    実行時間を使用して上記第1及び第2の次元の何れかの
    値に対する上記ドロープリミティブに関する汎用実行コ
    ストモデルを決定する請求項6に記載の装置。
  8. 【請求項8】 上記試験命令集合はプリンタに実行させ
    る所定の試験ドロープリミティブの集合を含み、上記試
    験ドロープリミティブはユーザドロープリミティブの集
    合から選択され、上記評価器モジュールは上記経過時間
    中に上記各試験ドロープリミティブが実行される回数を
    測定して上記各試験ドロープリミティブ毎の実行時間を
    決定し、上記プリンタモデルは上記実行時間を受信して
    プリンタのモデルを作成しユーザドロープリミティブの
    集合の何れか1つを描写するコスト情報を決定する請求
    項1に記載の装置。
  9. 【請求項9】 上記ログファイルはユーザドロープリミ
    ティブの集合に関する上記コスト情報を受信し、記憶す
    る請求項8に記載の装置。
  10. 【請求項10】 ユーザドロープリミティブの集合から
    選択された複数の応用ドロープリミティブを受信し、上
    記ログファイルからの上記コスト情報を使用することに
    よって上記各応用ドロープリミティブをプリンタ内に描
    写するための描写コストを計算する資源アセンブラをも
    含み、もしプリンタが上記応用ドロープリミティブを実
    時間で描写することができなければ上記資源アセンブラ
    に上記応用ドロープリミティブを描写させ、それによっ
    て上記応用ドロープリミティブの描写に関するデータ処
    理責務をホストコンピュータ及びプリンタに分担させた
    請求項9に記載の装置。
  11. 【請求項11】 ユーザドロープリミティブの集合の群
    に関する分類されたコストデータを記憶するコストテー
    ブルの集合をも含み、上記ドロープリミティブの群は上
    記コスト情報に従って分類されていて上記ログファイル
    の記憶要求を減少させ且つ上記資源アセンブラによる上
    記描写コストの決定プロセスを簡易化させている請求項
    10に記載の装置。
  12. 【請求項12】 上記ユーザドロープリミティブに関す
    るマップテーブルの集合をも含み、上記マップテーブル
    は上記ユーザドロープリミティブの特定の1つが記憶さ
    れている上記コストテーブル内の記憶位置を指し示すポ
    インタを供給する請求項11に記載の装置。
  13. 【請求項13】 上記プリンタモデルは上記各試験ドロ
    ープリミティブ毎に複数のデータ値を選択し、上記評価
    器モジュールは上記複数の各データ値毎に上記各試験ド
    ロープリミティブ毎の上記実行時間を測定し、上記プリ
    ンタモデルは上記複数の各データ値毎に上記各試験ドロ
    ープリミティブ毎の上記実行時間を使用して上記データ
    値の何れかの値に対する上記各試験ドロープリミティブ
    毎の汎用実行コストモデルを決定する請求項8に記載の
    装置。
  14. 【請求項14】 上記複数のデータ値は上記各試験ドロ
    ープリミティブ毎の第1の次元に関する複数の第1の値
    と、上記各試験ドロープリミティブ毎の第2の次元に関
    する複数の第2の値とからなり、上記評価器モジュール
    は上記第1の各値毎に上記各試験ドロープリミティブ毎
    の、及び第2の各値毎に上記各試験ドロープリミティブ
    毎の上記実行時間を測定し、上記プリンタモデルは上記
    複数の各第1及び第2の値毎に上記各試験ドロープリミ
    ティブ毎の上記実行時間を使用して上記第1及び第2の
    次元の何れかの値に対する上記ユーザドロープリミティ
    ブの各集合毎の汎用実行コストモデルを決定する請求項
    13に記載の装置。
  15. 【請求項15】 上記ドロープリミティブに関する分類
    されたコストデータを記憶するコストテーブルの集合を
    も含み、上記ドロープリミティブは上記コスト情報に従
    って分類されていて上記ログファイルの記憶要求を減少
    させ且つ上記実行コストの決定プロセスを簡易化させて
    いる請求項1に記載の装置。
  16. 【請求項16】 上記ロープリミティブに関するマップ
    テーブルの集合をも含み、上記マップテーブルは上記ド
    ロープリミティブに関する上記分類されたコストデータ
    が記憶されている上記コストテーブル内の記憶位置を指
    し示すポインタを供給する請求項15に記載の装置。
  17. 【請求項17】 上記プリンタモデルは上記ドロープリ
    ミティブに関する複数のデータ値を選択し、上記評価器
    モジュールは上記複数の各データ値毎に上記ドロープリ
    ミティブに関する上記実行時間を測定し、上記プリンタ
    モデルは上記複数の各データ値毎に上記ドロープリミテ
    ィブに関する上記実行時間を使用して上記データ値の何
    れかの値に対する上記ドロープリミティブに関する汎用
    実行コストモデルを決定する請求項1に記載の装置。
  18. 【請求項18】 上記複数のデータ値は上記ドロープリ
    ミティブに関する第1の次元に関する複数の第1の値
    と、上記ドロープリミティブに関する第2の次元に関す
    る複数の第2の値とからなり、上記評価器モジュールは
    上記第1及び第2の各値毎に上記ドロープリミティブに
    関する上記実行時間を測定し、上記プリンタモデルは上
    記第1及び第2の各値毎の上記ドロープリミティブに関
    する上記実行時間を使用して上記第1及び第2の次元の
    何れかの値に対する上記ドロープリミティブに関する汎
    用実行コストモデルを決定する請求項17に記載の装
    置。
  19. 【請求項19】 ホストコンピュータを使用してデータ
    処理の効率を解析する装置であって、 ホストコンピュータに実行させる所定の試験命令の集合
    を含む試験命令集合と、 所定の経過時間を測定するタイマと、 上記経過時間中の上記各試験命令の実行回数を測定して
    上記各試験命令毎の実行時間を決定する評価器モジュー
    ルと、 上記各試験命令毎にデータ入力の集合に関する複数の値
    を選択するモデリングモジュールとを具備し、上記評価
    器モジュールは上記データ入力の集合の上記複数の各値
    毎に上記各試験命令毎の上記実行時間を測定し、上記モ
    デリングモジュールは上記データ入力の集合の上記複数
    の各値毎の上記各試験命令毎の上記実行時間を使用して
    上記データ入力の何れかの値に対する上記各試験命令毎
    の汎用実行コストモデルを決定することを特徴とする装
    置。
  20. 【請求項20】 上記試験命令の各集合毎の上記汎用実
    行コストモデルを受信して記憶するログファイルをも含
    み、上記データ入力の集合の何れかの値を使用する上記
    試験命令の何れかの実行コストの決定に上記ログファイ
    ルを使用する請求項19に記載の装置。
  21. 【請求項21】 上記試験命令集合はコードモジュール
    であり、上記モデリングモジュールは上記コードモジュ
    ールに関するデータ入力の集合に関する複数の値を選択
    し、上記評価器モジュールは上記データ入力の集合の複
    数の各値毎に上記コードモジュールに関する上記実行時
    間を測定して上記データ入力の集合の何れかの値に対す
    る上記コードモジュールに関する汎用実行コストモデル
    を決定する請求項19に記載の装置。
  22. 【請求項22】 プリンタが実行したドロープリミティ
    ブの集合を使用することによってプリンタに関する予め
    計算されたコスト情報と、所定の経過時間を測定するタ
    イマと、上記経過時間中の上記各ドロープリミティブの
    実行回数を測定して各ドロープリミティブ毎の実行時間
    を決定する評価器モジュールと、これらの実行時間を受
    信してプリンタのモデルを作成しドロープリミティブの
    集合の何れか1つを描写するコスト情報を決定するプリ
    ンタモデルとを有するホストコンピュータに結合された
    プリンタによるデータ処理の効率を解析する装置であっ
    て、 ドロープリミティブの集合に関するコスト情報をテーブ
    ル内に含むログファイルと、 ドロープリミティブの集合から選択された複数の応用ド
    ロープリミティブを受信し上記ログファイルを使用して
    プリンタ内の上記各応用ドロープリミティブを描写する
    描写コストを決定して上記ユーザドロープリミティブの
    特定の1つに関するコストを決定する資源アセンブラと
    を具備し、もしプリンタが上記応用ドロープリミティブ
    を実時間で描写することができなければ上記資源アセン
    ブラに上記応用ドロープリミティブを描写させ、それに
    よって上記応用ドロープリミティブの描写に関するデー
    タ処理責務をホストコンピュータ及びプリンタに分担さ
    せたことを特徴とする装置。
  23. 【請求項23】 上記ドロープリミティブの集合の群に
    関する分類されたコストデータを記憶するコストテーブ
    ルの集合をも含み、上記ドロープリミティブの群はコス
    ト情報に従って分類されていて上記ログファイルの記憶
    要求を減少させ且つ上記資源アセンブラによる上記描写
    コストの決定プロセスを簡易化させている請求項22に
    記載の装置。
  24. 【請求項24】 コンピュータ上のコンピュータソフト
    ウエア命令の集合の実行時間を測定するタイマであっ
    て、 タイミングパルスを発生する発振器と、 現カウンタ値を保持するためのレジスタを含み、上記タ
    イミングパルスを受信してコンピュータへの割込みライ
    ンを周期的にトグルさせるプログラム可能なインタバル
    タイマと、 上記タイマが生成した割込み数を記憶するクロック記憶
    領域と、 上記クロック記憶領域へアクセスして上記タイマが生成
    した割込み数を決定する第1のアクセス手段と、 上記レジスタへアクセスして上記現カウンタ値を決定す
    る第2のアクセス手段と、 上記タイマが上記割込みラインを周期的にトグルさせた
    時に上記割込みが発生しているか否かを決定する検査手
    段と、 コンピュータ命令の同一集合を分解時間が終了するまで
    繰り返して実行することによって、実行時間測定の所望
    の分解能を指示する所定の分解時間と、 上記分解時間中に実行されたコンピュータ命令の集合の
    数を上記第1及び第2のアクセス手段が測定した経過時
    間によって除す除算器とを具備することを特徴とするタ
    イマ。
  25. 【請求項25】 上記分解時間を変更して上記実行時間
    測定の所望の分解能を変更する手段をも含む請求項24
    に記載の装置。
  26. 【請求項26】 ホストコンピュータ及びプリンタによ
    るデータ処理の効率を解析する方法であって、 (a)少なくとも1つのドロープリミティブを含む試験
    命令集合をプリンタ上で実行させる段階と、 (b)少なくとも所定の時間にわたって上記各ドロープ
    リミティブを繰り返して実行させる段階と、 (c)少なくとも上記所定の時間と同一の長さを有し、
    上記所定の時間の終わりに実行することができる1つの
    ドロープリミティブの完全実行に要する時間を含む経過
    時間をタイマを使用して測定する段階と、 (d)上記経過時間を上記経過時間中の上記各ドロープ
    リミティブの実行回数によって除すことによって上記各
    ドロープリミティブ毎の実行時間を決定する段階と、 (e)上記ドロープリミティブの何れか1つを描写する
    コスト情報を含むプリンタのモデルを上記実行時間を使
    用して作成する段階と、 (f)上記ドロープリミティブ毎の上記コスト情報をロ
    グファイル内に記憶させる段階と、 (g)複数の応用ドロープリミティブを受信する段階
    と、 (h)上記ログファイルからの上記コスト情報を使用す
    ることによってプリンタ内の上記各応用ドロープリミテ
    ィブを描写する描写コストを計算する段階とを具備する
    ことを特徴とする方法。
  27. 【請求項27】 (i)もしプリンタが上記応用ドロー
    プリミティブを実時間で描写することができなければ、
    上記応用ドロープリミティブをホストコンピュータ内に
    描写させる段階をも含む請求項26に記載の方法。
  28. 【請求項28】 (1)上記コスト情報を上記ドロープ
    リミティブの群に関する上記コスト情報に従って分類す
    る段階と、 (2)上記分類されたコスト情報をコストテーブル内に
    記憶させて分類されたコストデータを記憶させ、上記描
    写コストの決定プロセスを簡易化する段階とをも含む請
    求項27に記載の方法。
  29. 【請求項29】 上記ドロープリミティブに関するマッ
    プテーブルの集合を作成し、上記ドロープリミティブの
    特定の1つに関する上記分類されたコストデータが記憶
    されている上記コストテーブル内の記憶位置を指し示す
    ポインタを供給させる段階をも含む請求項28に記載の
    方法。
  30. 【請求項30】 上記プリンタモデルを作成する段階
    が、 (1)上記ドロープリミティブに関する複数のデータ値
    を選択する段階と、 (2)上記複数の各データ値毎に上記ドロープリミティ
    ブに関する上記実行時間を評価器モジュールを使用して
    測定する段階と、 (3)上記複数の各データ値毎の上記ドロープリミティ
    ブに関する上記実行時間を使用して上記データ値の何れ
    かの値に対する上記ドロープリミティブに関する汎用実
    行コストモデルを決定する段階とを含む請求項26に記
    載の方法。
  31. 【請求項31】 上記複数のデータ値は上記ドロープリ
    ミティブに関する第1の次元に関する複数の値と上記ド
    ロープリミティブに関する第2の次元に関する複数の値
    とからなり、それによって上記汎用実行コストモデルが
    上記第1及び第2の次元の何れかの値に関する上記ドロ
    ープリミティブに関するコスト情報を供給するようにし
    た請求項30に記載の方法。
  32. 【請求項32】 上記プリンタモデルがユーザドロープ
    リミティブの集合の何れか1つを描写するためのコスト
    情報を含み、印刷されたページ上の複数の対象をユーザ
    ドロープリミティブの集合を使用して引き出すプリンタ
    と共に使用する請求項26に記載の方法。
  33. 【請求項33】 ホストコンピュータ及びプリンタによ
    るデータ処理の効率を解析する方法であって、 (a)少なくとも1つのドロープリミティブを含む試験
    命令集合をプリンタ上で実行させる段階と、 (b)少なくとも所定の時間にわたって上記各ドロープ
    リミティブを繰り返して実行させる段階と、 (c)少なくとも上記所定の時間と同一の長さを有し、
    上記所定の時間の終わりに実行することができる1つの
    ドロープリミティブの完全実行に要する時間を含む経過
    時間をタイマを使用して測定する段階と、 (d)上記経過時間を上記経過時間中の上記各ドロープ
    リミティブの実行回数によって除すことによって上記各
    ドロープリミティブ毎の実行時間を決定する段階と、 (e)上記ドロープリミティブの何れか1つを描写する
    コスト情報を含むプリンタのモデルを上記実行時間を使
    用して作成する段階と、 (f)上記ドロープリミティブ毎の上記コスト情報をロ
    グファイル内に記憶させる段階とを具備することを特徴
    とする方法。
  34. 【請求項34】 もしプリンタが上記応用ドロープリミ
    ティブを実時間で描写することができなければ、上記応
    用ドロープリミティブをホストコンピュータ内に描写さ
    せる段階をも含む請求項32または33の何れかに記載
    の方法。
  35. 【請求項35】 (1)上記コスト情報をユーザドロー
    プリミティブの集合からのドロープリミティブの群に関
    する上記コスト情報に従って分類する段階と、 (2)上記分類されたコスト情報をコストテーブル内に
    記憶させて分類されたコストデータを記憶させ、上記描
    写コストの決定プロセスを簡易化する段階とをも含む請
    求項33に記載の方法。
  36. 【請求項36】 ユーザドロープリミティブの集合から
    のドロープリミティブに関するマップテーブルの集合を
    作成し、上記ドロープリミティブの特定の1つに関する
    上記分類されたコストデータが記憶されている上記コス
    トテーブル内の記憶位置を指し示すポインタを供給させ
    る段階をも含む請求項35に記載の方法。
  37. 【請求項37】 上記プリンタモデルを作成する段階
    が、 (1)上記試験ドロープリミティブに関する復数のデー
    タ値を選択する段階と、 (2)上記複数の各データ値毎に上記試験ドロープリミ
    ティブに関する上記実行時間を評価器モジュールを使用
    して測定する段階と、 (3)上記複数の各データ値毎の上記試験ドロープリミ
    ティブに関する上記実行時間を使用して上記データ値の
    何れかの値に対する上記試験ドロープリミティブに関す
    る汎用実行コストモデルを決定する段階とを含む請求項
    32または33の何れかに記載の方法。
  38. 【請求項38】 上記複数のデータ値は上記試験ドロー
    プリミティブに関する第1の次元に関する複数の値と上
    記試験ドロープリミティブに関する第2の次元に関する
    複数の値とからなり、それによって上記汎用実行コスト
    モデルが上記第1及び第2の次元の何れかの値に関する
    上記試験ドロープリミティブに関するコスト情報を供給
    するようにした請求項37に記載の方法。
  39. 【請求項39】 ホストコンピュータと、印刷されたペ
    ージ上の複数の対象を引き出すためにユーザドロープリ
    ミティブの集合を使用するプリンタとによるデータ処理
    の効率を解析する方法であって、 (a)ユーザドロープリミティブの集合から選択された
    試験ドロープリミティブを含む試験命令集合をプリンタ
    上で実行させる段階と、 (b)少なくとも所定の時間にわたって上記各試験ドロ
    ープリミティブを繰り返して実行させる段階と、 (c)少なくとも上記所定の時間と同一の長さを有し、
    上記所定の時間の終わりに実行することができる上記試
    験ドロープリミティブの1つを完全に実行するのに要す
    る時間を含む経過時間をタイマを使用して測定する段階
    と、 (d)上記経過時間を上記経過時間中の上記各試験ドロ
    ープリミティブの実行回数によって除すことによって上
    記各試験ドロープリミティブ毎の実行時間を決定する段
    階と、 (e)ユーザドロープリミティブの何れか1つを描写す
    るコスト情報を含むプリンタのモデルを上記実行時間を
    使用して作成する段階と、 (f)上記コスト情報をログファイル内に記憶させる段
    階とを具備することを特徴とする方法。
  40. 【請求項40】 (1)上記コスト情報をユーザドロー
    プリミティブの集合からのドロープリミティブの群に関
    する上記コスト情報に従って分類する段階と、 (2)上記分類されたコスト情報をコストテーブル内に
    記憶させて分類されたコストデータを記憶し、上記描写
    コストの決定プロセスを簡易化する段階とをも含む請求
    項39に記載の方法。
  41. 【請求項41】 ユーザドロープリミティブの集合から
    のドロープリミティブに関するマップテーブルの集合を
    作成し、上記ドロープリミティブの特定の1つに関する
    上記分類されたコストデータが記憶されている上記コス
    トテーブル内の記憶位置を指し示すポインタを供給させ
    る段階をも含む請求項40に記載の方法。
  42. 【請求項42】 上記プリンタモデルを作成する段階
    が、 (1)上記試験ドロープリミティブに関する複数のデー
    タ値を選択する段階と、 (2)上記複数の各データ値毎に上記試験ドロープリミ
    ティブに関する上記実行時間を評価器モジュールを使用
    して測定する段階と、 (3)上記複数の各データ値毎の上記試験ドロープリミ
    ティブに関する上記実行時間を使用して上記データ値の
    何れかの値に対する上記試験ドロープリミティブに関す
    る汎用実行コストモデルを決定する段階とを含む請求項
    39に記載の方法。
  43. 【請求項43】 上記複数のデータ値は上記試験ドロー
    プリミティブに関する第1の次元に関する複数の値と上
    記試験ドロープリミティブに関する第2の次元に関する
    複数の値とからなり、それによって上記汎用実行コスト
    モデルが上記第1及び第2の次元の何れかの値に関する
    上記試験ドロープリミティブに関するコスト情報を供給
    するようにした請求項42に記載の方法。
  44. 【請求項44】 ホストコンピュータを使用してデータ
    処理の効率を解析する方法であって、 (a)少なくとも所定の時間にわたって所定の各試験命
    令集合を繰り返して実行させる段階と、 (b)少なくとも上記所定の時間と同一の長さを有し、
    上記所定の時間の終わりに実行することができる上記所
    定の試験命令集合の1つを完全に実行するのに要する時
    間を含む経過時間をタイマを使用して測定する段階と、 (c)上記経過時間を上記経過時間中の上記各試験命令
    集合の実行回数によって除すことによって上記各所定の
    試験命令集合毎の実行時間を決定する段階とを具備する
    ことを特徴とする方法。
  45. 【請求項45】 (d)上記所定の各試験命令集合に関
    する複数のデータ値を選択し、且つ上記複数のデータ値
    に関する上記実行時間を使用することによって、上記デ
    ータ値の何れかの値に対する上記所定の試験命令集合の
    何れか1つを描写するコスト情報を含むデータ処理のモ
    デルを作成する段階をも含む請求項44に記載の方法。
  46. 【請求項46】 (e)上記コスト情報をログファイル
    内に記憶させ、上記ログファイルを使用して上記所定の
    試験命令集合の何れかの実行コストを決定する段階をも
    含む請求項45に記載の方法。
  47. 【請求項47】 上記試験命令集合はコードモジュール
    であり、上記段階(a)−(c)が反復的に、上記コー
    ドモジュールを実行し、上記所定の時間の終わりに実行
    することができるコードモジュールの1つを完全に実行
    するのに要する時間を含む経過時間を測定し、上記コー
    ドモジュールに関する実行時間を決定する請求項44に
    記載の方法。
  48. 【請求項48】 上記コードモデルに関する複数のデー
    タ値を選択し、且つ上記上記実行時間を使用することに
    よって、上記複数のデータ値の何れかに対する上記コー
    ドモジュールの何れかを描写するコスト情報を含む上記
    コードモジュールのモデルを作成する段階をも含む請求
    項47に記載の方法。
  49. 【請求項49】 プリンタが実行した少なくともI組の
    ドロープリミティブを使用することによってプリンタに
    関する予め計算されたコスト情報と、所定の経過時間を
    測定するタイマと、上記経過時間中の各ドロープリミテ
    ィブの実行回数を測定して各ドロープリミティブ毎の実
    行時間を決定する評価器モジュールと、これらの実行時
    間を受信してプリンタのモデルを作成しドロープリミテ
    ィブの集合の何れか1つを描写するコスト情報を決定す
    るプリンタモデルとを有し、このコスト情報をログファ
    イル内に記憶させるホストコンピュータと、プリンタと
    によるデータ処理の効率を解析する装置であって、 (a)ドロープリミティブの集合から選択された複数の
    応用ドロープリミティブを受信する段階と、 (b)ドロープリミティブの集合に関するコスト情報を
    含むログファイルを使用してプリンタ内の上記各応用ド
    ロープリミティブを描写する描写コストを決定する段階
    とを具備することを特徴とする方法。
  50. 【請求項50】 もしプリンタが上記応用ドロープリミ
    ティブを実時間で描写することができなければ上記応用
    ドロープリミティブをホストコンピュータ内に描写させ
    る段階をも含み、それによって上記応用ドロープリミテ
    ィブの描写に関するデータ処理責務をホストコンピュー
    タ及びプリンタに分担させる請求項49に記載の方法。
  51. 【請求項51】 上記描写コストを決定する段階がログ
    ファイルの代わりにコストテーブルの集合を使用し、上
    記コストテーブルはドロープリミティブの集合の群に関
    するコスト情報に従って分類されたコスト情報を含みド
    ロープリミティブの集合の何れかに関するコストの決定
    プロセスを簡易化している請求項49に記載の方法。
  52. 【請求項52】 上記描写コストを決定する段階がマッ
    プテーブルの集合を使用し、上記マップテーブルはドロ
    ープリミティブの集合の特定の1つに関する上記分類さ
    れたコストデータが記憶されている上記コストテーブル
    内の記憶位置を指し示すポインタを含む請求項51に記
    載の方法。
  53. 【請求項53】 コンピュータ上の複数のコンピュータ
    命令の実行時間を測定するためにコンピュータ上の内部
    タイマを使用する方法であって、 (a)コンピュータ内の発振器を使用してタイミングパ
    ルスを発生させる段階と、 (b)現カウンタ値を保持するカウンタ値レジスタを含
    み上記タイミングパルスを受信するプログラム可能な内
    部タイマが上記カウンタ値レジスタに対して0の値を有
    している時にコンピュータへの割込みラインを周期的に
    トグルさせる段階と、 (c)選択された時間中に発生した割込みの数を記憶す
    る段階と、 (d)クロック記憶領域へアクセスして上記選択された
    時間中に上記タイマが発生した上記割込みの数を決定す
    る段階と、 (e)上記カウンタ値レジスタへアクセスして上記現カ
    ウンタ値を決定する段階と、 (f)上記タイマが上記割込みラインを周期的にトグル
    させた時に割込みが発生しているか否かを決定する段階
    と、 (g)同一の複数のコンピュータ命令を分解時間が終了
    するまで繰り返して実行することによって、測定された
    実行時間の所望の精度を指示する所定の分解時間を決定
    する段階と、 (h)上記分解時間中にコンピュータによって実行され
    た複数のコンピュータ命令の数を計数する段階と、 (i)上記数を上記クロック記憶領域及び上記現カウン
    タ値によって測定された経過時間によって除す段階とを
    具備することを特徴とする方法。
  54. 【請求項54】 上記分解時間を変更して異なる精度の
    実行時間を達成する段階をも含む請求項53に記載の方
    法。
  55. 【請求項55】 コンピュータ命令集合を実行するのに
    要する時間料を決定する方法であって、 (a)中央プロセッサユニットへの割込みを周期的にト
    グルするように設計されているプログラム可能なインタ
    バルカウンタ内の現カウンタ値を読取る段階と、 (b)上記カウンタが上記割込みラインをトグルした時
    にクロック記憶領域(このクロック記憶領域は上記各割
    込みの度にインクリメントされる)を読取って割込みが
    発生しているか否かを決定する段階と、 (c)上記割込みが発生した時点から開始して複数のコ
    ンピュータ命令集合を実行し、上記カウンタ及び上記ク
    ロック記憶領域内の値によって測定される少なくとも所
    定の時間にわたって上記複数のコンピュータ命令集合の
    実行を続行する段階と、 (d)上記経過時間中に実行された上記複数のコンピュ
    ータ命令集合の数(この数は上記所定の時間の終了する
    時点に現在実行中であることができる上記複数の集合の
    中の特別な集合を含む)を計数する段階と、 (e)上記所定の時間が終了した時、または上記複数の
    集合の中の特別な集合の実行が完了した時に上記現カウ
    ンタ値及び上記クロック記憶領域を読取り、実行された
    上記複数のコンピュータ命令集合の数を実行するために
    要した経過時間を決定する段階と、 (f)上記経過時間を上記数で除すことによって上記コ
    ンピュータ命令集合の1つに関する実行時間を決定する
    段階とを具備することを特徴とする方法。
  56. 【請求項56】 上記所定の時間を変更して異なる精度
    の実行時間を達成する段階をも含む請求項55に記載の
    方法。
JP22202193A 1992-07-10 1993-07-12 プリンタシステムおよびその制御方法 Expired - Lifetime JP3947233B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/912,098 US5337258A (en) 1992-07-10 1992-07-10 Cost metrics
US07/912098 1992-11-16

Publications (2)

Publication Number Publication Date
JPH06168084A true JPH06168084A (ja) 1994-06-14
JP3947233B2 JP3947233B2 (ja) 2007-07-18

Family

ID=25431380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22202193A Expired - Lifetime JP3947233B2 (ja) 1992-07-10 1993-07-12 プリンタシステムおよびその制御方法

Country Status (7)

Country Link
US (1) US5337258A (ja)
EP (1) EP0578264B1 (ja)
JP (1) JP3947233B2 (ja)
KR (1) KR940006059A (ja)
AT (1) ATE202226T1 (ja)
CA (1) CA2099580C (ja)
DE (1) DE69330324T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862100B2 (en) 1994-06-09 2005-03-01 Canon Kabushiki Kaisha Determining a type of print data to be sent to a printer based on the number of unprocessed files residing in a print queue
JP2013117952A (ja) * 2011-12-01 2013-06-13 Xerox Corp マルチデバイスの省電力

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564021A (en) * 1994-05-31 1996-10-08 Us West Technologies, Inc. Method for assigning inter-nodal traffic loads to channels in sonet rings
EP0568357B1 (en) * 1992-04-29 2002-03-06 Canon Kabushiki Kaisha Graphics system and method
JP2839119B2 (ja) * 1992-05-18 1998-12-16 キヤノン株式会社 文字処理装置及び方法
US6750980B1 (en) * 1992-06-19 2004-06-15 Akihiro Shimura Information processing apparatus and output apparatus
JP3453407B2 (ja) * 1992-08-31 2003-10-06 キヤノン株式会社 画像処理装置、画像出力装置、画像出力システム、およびその方法
US5548689A (en) * 1992-10-13 1996-08-20 Hewlett-Packard Company Method to convert bitmaps to monochrome data
JP3486427B2 (ja) * 1993-01-18 2004-01-13 キヤノン株式会社 制御装置および制御方法
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
WO1994028488A1 (en) * 1993-05-21 1994-12-08 Fargo Electronics, Inc. Patterned intensities printer
US5495561A (en) * 1993-06-21 1996-02-27 Taligent, Inc. Operating system with object-oriented printing interface
US5566278A (en) * 1993-08-24 1996-10-15 Taligent, Inc. Object oriented printing system
US5619623A (en) * 1993-09-21 1997-04-08 Brother Kogyo Kabushiki Kaisha Method and device for transmitting and processing print data used for printer
US5960166A (en) * 1993-10-01 1999-09-28 Lexmark International, Inc. Image printing solution for a printing device
EP0663659A3 (en) * 1993-12-30 1995-11-22 Ibm Display of characters in a data processing system.
US5533175A (en) * 1994-03-04 1996-07-02 Destiny Technology Corporation Low cost page printer system and method
JPH0830408A (ja) * 1994-05-13 1996-02-02 Canon Inc 印刷装置及びシステム及びその制御方法
US5524186A (en) * 1994-05-31 1996-06-04 Hewlett-Packard Company Method and apparatus for preventing print overruns by pre-rasterizing and storing complex page strips in supplemental printer memory
US6009242A (en) * 1994-06-30 1999-12-28 Canon Kabushiki Kaisha Print controller, printer, data transfer method, and printing condition setting method
JP3145251B2 (ja) * 1994-07-05 2001-03-12 シャープ株式会社 画像形成装置
US5640495A (en) * 1994-12-20 1997-06-17 Lexmark International, Inc. Computer-printer interface control for bidirectional/undirectional data communications
US5579449A (en) * 1994-12-21 1996-11-26 Pitney Bowes Inc. Method for downloading and printing bitmapped graphics
US5787278A (en) * 1994-12-28 1998-07-28 Pitney Bowes Inc. Method and system for generating and mailing a system performance report, utilizing a report template with predetermined control commands for controlling the printer
US5619240A (en) * 1995-01-31 1997-04-08 Tektronix, Inc. Printer media path sensing apparatus
JPH08212020A (ja) * 1995-02-08 1996-08-20 Canon Inc 出力装置及び情報処理装置及び出力システム
US5732198A (en) * 1995-02-09 1998-03-24 Oki America, Inc. Host based printing system for printing a document having at least one page
US5771339A (en) * 1995-06-07 1998-06-23 Xerox Corporation Method for automatically deriving print engine capabilities for incremental scheduling from compositional print engine models
US5668942A (en) * 1995-06-07 1997-09-16 Xerox Corporation Generic system for describing and using resources for print engine scheduling
US6327599B1 (en) * 1995-06-07 2001-12-04 R. R. Donnelley & Sons Company Apparatus for controlling an electronic press to print fixed and variable information
US6952801B2 (en) * 1995-06-07 2005-10-04 R.R. Donnelley Book assembly process and apparatus for variable imaging system
JPH0911553A (ja) * 1995-06-26 1997-01-14 Brother Ind Ltd ホストベースプリンタの印字制御方法及びホストベースプリンタ
US5838966A (en) * 1995-07-12 1998-11-17 Computerized Litigation Control Systems, Inc. Computer-aided litigation control system
US5706410A (en) * 1995-09-25 1998-01-06 Hewlett-Packard Company Printing system having control language command and raster pixel image data processing capability
US5768487A (en) * 1995-10-31 1998-06-16 Seiko Epson Corporation System and method using a split printer driver to control a computer printer device
US5727137A (en) * 1995-11-01 1998-03-10 Seiko Epson Corporation Printer driver architecture for reducing band memory
EP0772118B1 (en) * 1995-11-01 2003-02-05 Seiko Epson Corporation System and method for using varied binarization processing to implement a printer driver architecture
JP3495865B2 (ja) * 1996-01-09 2004-02-09 キヤノン株式会社 印刷装置及び当該印刷装置を接続する情報処理装置並びにそれらの制御方法
JP3611060B2 (ja) * 1996-02-02 2005-01-19 シャープ株式会社 画像形成システム
JP3618884B2 (ja) * 1996-03-18 2005-02-09 キヤノン株式会社 情報処理装置、情報処理方法、印刷システム、及び、メモリ
US5940581A (en) * 1996-03-21 1999-08-17 Apple Computer, Inc. Dynamic font management for large character sets
US5854886A (en) * 1996-03-29 1998-12-29 Hewlett-Packard Company Method and system for printing rasterized documents
US6538764B2 (en) * 1996-04-12 2003-03-25 Canon Kabushiki Kaisha Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program
US6473728B1 (en) * 1996-05-23 2002-10-29 Sun Microsystems, Inc. On-demand, multi-language business card printer
JP3478670B2 (ja) * 1996-06-18 2003-12-15 キヤノン株式会社 印刷制御装置と印刷装置及びそれらの方法と印刷システム
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
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
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system 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
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
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
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
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
JPH10124268A (ja) * 1996-08-30 1998-05-15 Canon Inc 印字制御装置
US5995724A (en) * 1996-11-01 1999-11-30 Mikkelsen; Carl Image process system and process using personalization techniques
US6269190B1 (en) 1996-09-24 2001-07-31 Electronics For Imaging, Inc. Computer system for processing images using a virtual frame buffer
JP3486517B2 (ja) * 1997-01-31 2004-01-13 キヤノン株式会社 印刷システム及び印刷制御方法
JP3667043B2 (ja) * 1997-07-30 2005-07-06 キヤノン株式会社 情報処理システム、情報処理装置、及び印刷制御方法
US6035306A (en) * 1997-11-24 2000-03-07 Terascape Software Inc. Method for improving performance of large databases
JPH11175287A (ja) * 1997-12-16 1999-07-02 Canon Inc データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US8465425B2 (en) 1998-04-30 2013-06-18 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6175752B1 (en) 1998-04-30 2001-01-16 Therasense, Inc. Analyte monitoring device and methods of use
US8974386B2 (en) 1998-04-30 2015-03-10 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6949816B2 (en) 2003-04-21 2005-09-27 Motorola, Inc. Semiconductor component having first surface area for electrically coupling to a semiconductor chip and second surface area for electrically coupling to a substrate, and method of manufacturing same
US8480580B2 (en) 1998-04-30 2013-07-09 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US9066695B2 (en) 1998-04-30 2015-06-30 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US8688188B2 (en) 1998-04-30 2014-04-01 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US8346337B2 (en) 1998-04-30 2013-01-01 Abbott Diabetes Care Inc. Analyte monitoring device and methods of use
US6952275B2 (en) * 1998-07-06 2005-10-04 Creo Il. Ltd. System and method for efficient printing of variable information documents
US6891632B2 (en) * 1998-07-17 2005-05-10 Peerless Systems, Inc. Method and apparatus for selecting print strategy for optimal performance
US6256624B1 (en) * 1998-08-17 2001-07-03 Qwest Communications International, Inc. Computing system for operating report production facilities
US7225137B1 (en) 1998-09-08 2007-05-29 Isogon Corporation Hardware/software management, purchasing and optimization system
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6532032B2 (en) 1999-05-07 2003-03-11 Fargo Electronics, Inc. Printer using thermal printhead
US6384854B1 (en) 1999-05-07 2002-05-07 Fargo Electronics, Inc. Printer using thermal print head
JP3601677B2 (ja) * 1999-06-09 2004-12-15 日本電気株式会社 タスク処理システム
US6621596B1 (en) * 1999-06-21 2003-09-16 Xerox Corporation Limiting decomposition time on a per page basis for output devices
US7278094B1 (en) 2000-05-03 2007-10-02 R. R. Donnelley & Sons Co. Variable text processing for an electronic press
US6490696B1 (en) 1999-12-15 2002-12-03 Electronics For Imaging, Inc. System and method for printer output regression testing using display lists
US7102765B1 (en) * 2000-02-01 2006-09-05 Zoran Corporation Apparatus and method for automated testing of print drivers in a computer system
US7155672B1 (en) * 2000-05-23 2006-12-26 Spyglass, Inc. Method and system for dynamic font subsetting
US11467856B2 (en) * 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US20020051200A1 (en) * 2000-11-01 2002-05-02 Chang William Ho Controller for device-to-device pervasive digital output
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US7953818B2 (en) 2000-11-20 2011-05-31 Flexiworld Technologies, Inc. Output device and system for rendering digital content
US6560471B1 (en) 2001-01-02 2003-05-06 Therasense, Inc. Analyte monitoring device and methods of use
US20020097417A1 (en) 2001-01-19 2002-07-25 Chang William Ho System for universal data output
DE60135200D1 (de) 2001-01-31 2008-09-18 Hewlett Packard Co Verfahren und Gerät um Dokumente zu erstellen
US6816276B2 (en) * 2001-03-08 2004-11-09 Electronics For Imaging, Inc. Efficiently scheduled multiple raster image processors
AU2002309528A1 (en) 2001-04-02 2002-10-15 Therasense, Inc. Blood glucose tracking apparatus and methods
GB2380911B (en) * 2001-10-13 2004-09-08 Hewlett Packard Co Performance of a multi-stage service within an information technology network
KR20030040814A (ko) * 2001-11-16 2003-05-23 삼성전자주식회사 고속 프린팅 장치 및 방법
US20040075859A1 (en) * 2002-10-17 2004-04-22 Jacobsen Dana A. Printer instruction processing
JP2004178078A (ja) * 2002-11-25 2004-06-24 Seiko Epson Corp 処理速度を計測する印刷システムおよび印刷処理状況把握方法
US7908401B2 (en) * 2002-12-12 2011-03-15 Flexiworld Technology, Inc. Method and device for wireless communication between computing devices
US8771183B2 (en) 2004-02-17 2014-07-08 Abbott Diabetes Care Inc. Method and system for providing data communication in continuous glucose monitoring and management system
AU2003303597A1 (en) 2002-12-31 2004-07-29 Therasense, Inc. Continuous glucose monitoring system and methods of use
US7587287B2 (en) 2003-04-04 2009-09-08 Abbott Diabetes Care Inc. Method and system for transferring analyte test data
WO2004093149A2 (en) 2003-04-11 2004-10-28 Flexiworld Technologies, Inc. Autorun for integrated circuit memory component
US8066639B2 (en) 2003-06-10 2011-11-29 Abbott Diabetes Care Inc. Glucose measuring device for use in personal area network
JP4141937B2 (ja) * 2003-11-10 2008-08-27 株式会社日立製作所 データ保管方法、データ保管プログラム、およびコンピュータ読取り可能な記録媒体
US8164785B2 (en) * 2004-06-15 2012-04-24 Sharp Laboratories Of America, Inc. Method and apparatus for selecting printing devices according to resource availability
US7821657B2 (en) * 2004-09-14 2010-10-26 Sharp Laboratories Of America, Inc. Continuous raster image processing control across print jobs
US7263583B2 (en) * 2004-10-05 2007-08-28 International Business Machines Corporation On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system
US8112240B2 (en) 2005-04-29 2012-02-07 Abbott Diabetes Care Inc. Method and apparatus for providing leak detection in data monitoring and management systems
US7766829B2 (en) 2005-11-04 2010-08-03 Abbott Diabetes Care Inc. Method and system for providing basal profile modification in analyte monitoring and management systems
US20070201078A1 (en) * 2006-02-28 2007-08-30 Xerox Corporation Distributed printing system with improved load balancing
US8149438B2 (en) * 2006-02-28 2012-04-03 Xerox Corporation Distributed printing system with improved load balancing
US8226891B2 (en) 2006-03-31 2012-07-24 Abbott Diabetes Care Inc. Analyte monitoring devices and methods therefor
US7620438B2 (en) 2006-03-31 2009-11-17 Abbott Diabetes Care Inc. Method and system for powering an electronic device
JP4717717B2 (ja) 2006-05-25 2011-07-06 キヤノン株式会社 記録制御装置および記録制御装置の制御方法
WO2007143225A2 (en) 2006-06-07 2007-12-13 Abbott Diabetes Care, Inc. Analyte monitoring system and method
US8743389B2 (en) * 2006-11-20 2014-06-03 Hewlett-Packard Development Company, L.P. Methods and systems rendering a print job
US7944572B2 (en) * 2007-01-26 2011-05-17 Xerox Corporation Protocol allowing a document management system to communicate inter-attribute constraints to its clients
US8732188B2 (en) 2007-02-18 2014-05-20 Abbott Diabetes Care Inc. Method and system for providing contextual based medication dosage determination
US8930203B2 (en) 2007-02-18 2015-01-06 Abbott Diabetes Care Inc. Multi-function analyte test device and methods therefor
US8123686B2 (en) 2007-03-01 2012-02-28 Abbott Diabetes Care Inc. Method and apparatus for providing rolling data in communication systems
US7928850B2 (en) 2007-05-08 2011-04-19 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8461985B2 (en) 2007-05-08 2013-06-11 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8456301B2 (en) 2007-05-08 2013-06-04 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8665091B2 (en) 2007-05-08 2014-03-04 Abbott Diabetes Care Inc. Method and device for determining elapsed sensor life
US9003394B2 (en) * 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
US7941425B2 (en) * 2007-07-25 2011-05-10 Teradata Us, Inc. Techniques for scoring and comparing query execution plans
US20090070243A1 (en) * 2007-09-12 2009-03-12 Xerox Corporation Local cost computation accounting for a print job
US20090070264A1 (en) * 2007-09-12 2009-03-12 Xerox Corporation Data processing card based copy bill payment capability
CN101394488B (zh) * 2008-08-28 2010-06-23 新奥特(北京)视频技术有限公司 一种基于模板的字幕渲染效率的统计方法
US8103456B2 (en) 2009-01-29 2012-01-24 Abbott Diabetes Care Inc. Method and device for early signal attenuation detection using blood glucose measurements
JP5210913B2 (ja) * 2009-02-05 2013-06-12 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
WO2010127050A1 (en) 2009-04-28 2010-11-04 Abbott Diabetes Care Inc. Error detection in critical repeating data in a wireless sensor system
WO2010138856A1 (en) 2009-05-29 2010-12-02 Abbott Diabetes Care Inc. Medical device antenna systems having external antenna configurations
JP4775480B2 (ja) 2009-08-07 2011-09-21 ブラザー工業株式会社 Pdlデータ処理装置とpdlデータ処理プログラム
WO2011026147A1 (en) 2009-08-31 2011-03-03 Abbott Diabetes Care Inc. Analyte signal processing device and methods
EP2473099A4 (en) 2009-08-31 2015-01-14 Abbott Diabetes Care Inc ANALYTICAL MONITORING SYSTEM AND METHOD FOR POWERFUL AND NOISE MANAGEMENT
JP4775484B2 (ja) * 2009-09-07 2011-09-21 ブラザー工業株式会社 Pdlデータ処理装置とpdlデータ処理プログラム
US9320461B2 (en) 2009-09-29 2016-04-26 Abbott Diabetes Care Inc. Method and apparatus for providing notification function in analyte monitoring systems
US10191609B1 (en) 2010-03-26 2019-01-29 Open Invention Network Llc Method and apparatus of providing a customized user interface
US9386256B1 (en) 2010-03-26 2016-07-05 Open Invention Network Llc Systems and methods for identifying a set of characters in a media file
US8559036B1 (en) 2010-03-26 2013-10-15 Open Invention Networks, Llc Systems and methods for managing the execution of print jobs
US8892594B1 (en) 2010-06-28 2014-11-18 Open Invention Network, Llc System and method for search with the aid of images associated with product categories
US8488165B2 (en) * 2010-09-07 2013-07-16 Xerox Corporation System and method for correlating attempted rendering job with actual rendering job
JP5424134B2 (ja) * 2011-10-14 2014-02-26 コニカミノルタ株式会社 情報処理装置、プリンタドライバ及び印刷設定方法並びにデータ構造体
CA2840640C (en) 2011-11-07 2020-03-24 Abbott Diabetes Care Inc. Analyte monitoring device and methods
US9968306B2 (en) 2012-09-17 2018-05-15 Abbott Diabetes Care Inc. Methods and apparatuses for providing adverse condition notification with enhanced wireless communication range in analyte monitoring systems
US9495126B2 (en) 2014-02-28 2016-11-15 Hypnalgesics, LLC Self sedation and suggestion system
JP6500530B2 (ja) * 2015-03-18 2019-04-17 株式会社リコー 情報処理装置、プログラム、出力システム及び出力方法
WO2018162797A1 (en) * 2017-03-07 2018-09-13 Magic Add Oy Method for dynamically allocating and transmitting unique codes to a printing machine
US11403119B2 (en) 2020-06-21 2022-08-02 Apple Inc. Declaratively defined user interface timeline views

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3426331A (en) * 1966-12-12 1969-02-04 Honeywell Inc Apparatus for monitoring the processing time of program instructions
US4355389A (en) * 1977-03-15 1982-10-19 Tokyo Shibaura Electric Co., Ltd. Microprogrammed information processing system having self-checking function
US4845615A (en) * 1984-04-30 1989-07-04 Hewlett-Packard Company Software performance analyzer
US5103394A (en) * 1984-04-30 1992-04-07 Hewlett-Packard Company Software performance analyzer
JPS62204955A (ja) * 1986-03-05 1987-09-09 Minolta Camera Co Ltd 文字画像発生回路
NL8600888A (nl) * 1986-04-09 1987-11-02 Oce Nederland Bv Inrichting en werkwijze voor het afdrukken van informatie.
JPS63274550A (ja) * 1987-05-02 1988-11-11 Hitachi Ltd 画像出力方式
US4905171A (en) * 1987-11-09 1990-02-27 International Business Machines Corporation Workstation controller performance monitor
US4933941A (en) * 1988-06-07 1990-06-12 Honeywell Bull Inc. Apparatus and method for testing the operation of a central processing unit of a data processing system
US5161116A (en) * 1989-02-27 1992-11-03 Dynix System for evaluating the performance of a large scale programmable machine capable of having a plurality of terminals attached thereto
US5218676A (en) * 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
JP2997005B2 (ja) * 1990-04-12 2000-01-11 キヤノン株式会社 出力装置
JP3105903B2 (ja) * 1990-07-13 2000-11-06 キヤノン株式会社 印刷制御装置及び印刷装置
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe
JP2562514B2 (ja) * 1990-09-03 1996-12-11 キヤノン株式会社 印刷制御装置及びイメージデータ描画方法
US5175679A (en) * 1990-09-28 1992-12-29 Xerox Corporation Control for electronic image processing systems
JPH04146179A (ja) * 1990-10-09 1992-05-20 Canon Inc 印刷装置
CA2041140A1 (en) * 1990-10-12 1992-04-13 Richard L. Kochis Pcl vertical graphics scaling using macros
US5245638A (en) * 1990-10-29 1993-09-14 Iowa State University Research Foundation, Inc. Method and system for benchmarking computers
US5255368A (en) * 1991-08-19 1993-10-19 Hewlett-Packard Company Method for selecting data communications paths for routing messages between processors in a parallel processing computer system organized as a hypercube

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862100B2 (en) 1994-06-09 2005-03-01 Canon Kabushiki Kaisha Determining a type of print data to be sent to a printer based on the number of unprocessed files residing in a print queue
US7502130B2 (en) 1994-06-09 2009-03-10 Canon Kabushiki Kaisha Control method of a host computer
JP2013117952A (ja) * 2011-12-01 2013-06-13 Xerox Corp マルチデバイスの省電力

Also Published As

Publication number Publication date
DE69330324T2 (de) 2001-09-20
EP0578264A2 (en) 1994-01-12
US5337258A (en) 1994-08-09
CA2099580A1 (en) 1994-01-11
DE69330324D1 (de) 2001-07-19
ATE202226T1 (de) 2001-06-15
EP0578264B1 (en) 2001-06-13
KR940006059A (ko) 1994-03-23
EP0578264A3 (en) 1995-10-25
JP3947233B2 (ja) 2007-07-18
CA2099580C (en) 2001-10-09

Similar Documents

Publication Publication Date Title
JPH06168084A (ja) コストメトリクスを決定する装置及び方法
JPH06202823A (ja) タイマを動的にタイムアウトさせる装置及び方法
JPH0798636A (ja) 分解能を自動的に低下させる装置及び方法
JP4417153B2 (ja) 並行印刷システム
JP3811192B2 (ja) 資源指向型プリンタ装置及びその操作方法
US6693719B1 (en) Path to trapezoid decomposition of polygons for printing files in a page description language
CN103034618B (zh) 图像处理设备
JPH06202972A (ja) モード切換え装置及び方法
AU2013361244A1 (en) Paraller priority queue utilizing parallel heap on many-core processors for accelerating priority-queue-based applications
US20080276252A1 (en) Kernel event visualization
US20090094310A1 (en) Parallel computing system and parallel computing method
Chiu et al. An experimental study of SYCL task graph parallelism for large-scale machine learning workloads
US6288724B1 (en) Clipping and trapezoid decomposition of polygons for printing files in a page description language
JP6766598B2 (ja) 画像処理装置、画像処理方法および制御プログラム
CN101211254B (zh) 用于生成可变数据图像的可变数据图像生成设备、可变数据图像形成系统及方法
KR20130066402A (ko) 트레이스 데이터 저장 장치 및 방법
Joyce et al. Exploring storage bottlenecks in Linux-based embedded systems
US20190392101A1 (en) Information processing device, information processing method, and recording medium
Edelkamp et al. External memory breadth-first search with delayed duplicate detection on the GPU
Soyata Understanding GPU Hardware Architecture
US20250045550A1 (en) Image processing apparatus, image processing method, and storage medium
Gezelter Re-Architecting Mass Storage Input/Output for Performance and Efficiency
Robroek Resourceful Learning: Training More Models with Fewer Re
Vanecek Design, Implementation and Test of Efficient GPU to GPU Communication Methods
Thibault et al. Developing a Software Tool for Precise Kernel Measurements

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070413

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 7

EXPY Cancellation because of completion of term