JP2000079729A - イメ―ジ処理方法 - Google Patents

イメ―ジ処理方法

Info

Publication number
JP2000079729A
JP2000079729A JP11240298A JP24029899A JP2000079729A JP 2000079729 A JP2000079729 A JP 2000079729A JP 11240298 A JP11240298 A JP 11240298A JP 24029899 A JP24029899 A JP 24029899A JP 2000079729 A JP2000079729 A JP 2000079729A
Authority
JP
Japan
Prior art keywords
page
memory
band
data
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11240298A
Other languages
English (en)
Other versions
JP2000079729A5 (ja
Inventor
Russell Campbell
ラッセル・キャンベル
Timothy P Blair
ティモシー・ピー・ブレイアー
L Lanning David
デビット・エル・ランニング
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000079729A publication Critical patent/JP2000079729A/ja
Publication of JP2000079729A5 publication Critical patent/JP2000079729A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • 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/186Generation of the printable image characterized by its workflow taking account of feedback from an output condition, e.g. available inks, time constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • 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; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • 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/1863Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 改良されたメモリ管理技術によりプリンタの
ページスループットの一貫性を高めること。 【解決手段】 イメージングを待っているページパイプ
のページにおいて実行されるメモリ管理タスクによって
生成されるフィードバックに応じて行われる構成中のペ
ージにおけるデータのメモリ管理タスクを提供する。該
フィードバックはパイプ内で生じるメモリ管理タスクに
応じて抑制される。メモリ管理タスクは構成中のページ
におけるデータの圧縮、再配置および/または圧縮なら
びに再配置を有する。メモリ管理タスクを実行するペー
ジデータは、ラスタパッチ、フォント、パターン、ビデ
オバンド、モンスターバンドおよびベクトルバンドを有
する。原子作用および/または危険域ロック機構を供給
することによって、パイプ内のデータにおいて実行され
るメモリ管理タスクとビデオイメージングタスクとの衝
突が回避される

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イメージ形成装置
のイメージ処理方法に係り、特に、ページプリンタメモ
リ管理によるイメージ処理方法に関する。
【0002】
【従来の技術】印刷速度の高速化はどのプリンタにおい
ても重要な目的である。リソースの競合、リソースの制
限、リソースの断片化(細分化)、ならびにジョブおよ
びページ内容についての十分な先行知識(advance knowl
edge)なくして、レーザページプリンタにおいてこの目
的を達成することは困難である。
【0003】「印刷装置」としてレーザエンジンを使用
するプリンタは、紙面がイメージングドラムに供給され
る速度によって測定可能な印刷動作に十分に追随できる
ほど高速で、データを供給しなければならない。このよ
うなプリンタにおいては、大量のラスタ化されたイメー
ジデータをプリンタに高速で送信しながら、ホストコン
ピュータまたはプリンタ本体内のフォーマッタ(formatt
er)においてフォーマットが実行される。従来のレーザ
プリンタエンジンは一定速度で動作するために、前のイ
メージデータのセグメントが転写(imprinted)されたと
き、ラスタ化されたイメージデータを利用できない場
合、「プリントオーバーラン(print overrun)」または
「パント(punt)」が生じてページを印刷できない。パ
ントを回避するためにイメージデータをラスタ化するイ
メージプロセッサは、イメージングドラム上にデータを
イメージする出力ビデオタスク(Output Video Task)と
「競合(race)」する。これは一般に「レーザと競合す
る」という。
【0004】プリントオーバーランを回避するために、
従来技術ではこれまでいくつかの方法が用いられてき
た。第1の方法は、ページ全体の全ラスタビットマップ
(raster bit map)をプリンタに蓄積することができるた
め、印刷装置が常に印刷を待っているラスタ化されたデ
ータを保持していた。しかし、この解決方法はページ毎
に大容量のランダムアクセスメモリ(以下、RAMと略
す)を必要とする。レーザプリンタにおいてプリントデ
ータを確実に利用できる第2の方法は、ページを記述す
るコマンドからディスプレイリストを構成することであ
る。フォーマット中にホストから受信したページ記述
は、ディスプレイコマンドと称される印刷対象を記述し
た一連の単純なコマンドに変換される。ディスプレイコ
マンドは構文解析(parse)され、ページ上でその上下の
位置に応じてソートされる。次に、ページはバンドまた
はページストリップと呼ばれるセクションに論理的に分
割される。各バンド毎のディスプレイコマンドの総計を
そのバンドのディスプレイリストと称す。次に、バンド
はラスタビットマップに個別にレンダリング(すなわ
ち、各バンド毎のディスプレイリストの記述されたオブ
ジェクトがレンダリング)され、印刷されるためにプリ
ントエンジンに送信される。この手順によってプリント
イメージに使用するRAMの容量をより小さくすること
ができる。
【0005】ディスプレイコマンドが十分に高速でレン
ダリングされると、第1のバンドが格納された同一のメ
モリは、次のバンドをページのさらに下に進めるために
再使用される。たとえば、ある従来技術のプリンタはバ
ンドを格納するために3個のラスタバッファを使用す
る。ページ処理中、該ページでは第4バンドに第1バッ
ファが再使用され、第5バンドに第2バッファが再使用
される等のことある。しかしながら、分単位でのページ
の標準的性能(一般に最大性能)において、バンドの印
刷終了から次のバンドが同一プリントバッファによって
ラスタ化を要求されるまでの時間はとても短い。
【0006】ある状況下では、「混成(complex)」バン
ドは、多数のディスプレイコマンドを有するため、ラス
タ化に通常より長い時間を必要とする。さらに、「混
成」であってもなくても、バンドをラスタ化するために
は現在使用可能である以上のメモリ領域を必要とする場
合もあり、プリンタのいくつかの要素、たとえば、メモ
リの容量、メモリの断片化、印刷対象となるジョブおよ
び他のプリンタシステムの動作に依存する。混成バンド
の場合、次のバンドを時間内に送信できない程ラスタ化
時間が増大する可能性があり、これによってプリントオ
ーバーランが生じる。したがって、一般に混成バンドに
はラスタ化が予め実行され、ビデオイメージングとレー
ザとが競合してプリントオーバーランを引き起こさない
ようにしている。
【0007】レーザと競合するとき、プリンタメモリ要
件とリアルタイム処理要件との間の調整(trade off)を
どのように最適な要件について決定するかが要求され
る。適正に動作するプリンタの場合、直接メモリアクセ
ス(Direct Memory Access;以下、DMAと略す)ビデ
オ出力タスクを用いてどの競合にも優るようにイメージ
プロセッサタスク(image processor task)が管理してい
るので、プリントオーバーランが回避される。プリント
オーバーランを回避するために各ビデオバンドを一面的
に予めラスタ化することは、たとえ圧縮してもビデオD
MAバッファにおける貴重なプリンタメモリを大量に使
用するので望ましくない。これに関して、予めラスタ化
されたビデオバッファの数を最小化することができる1
つの方法が開発されており、Cuzzo氏他に付与された米
国特許第5,129,049号公報に開示されている。
本発明はこの開示をすべて参照する。また、これはCamp
bell氏他に付与された米国特許第5,479,587号
公報における圧縮およびイメージプロセッサの経験的コ
スト測定に発展しており、同様に本発明はこの開示をす
べて参照する。
【0008】Campbell氏他の公報において、プリントコ
マンド(print commands)を処理するメモリ不足状態、す
なわち、メモリフォルト(memory fault)において、ペー
ジの各バンドを再評価し、メモリ割当て要件の低減およ
びより多くのメモリの解放を試みるいくつかのステップ
を経ることができる。たとえば、いくつかの圧縮技術の
1つを用いて、各バンドをラスタ化および圧縮すること
ができる。バンドがラスタ化および圧縮された後、バン
ド毎のメモリ割当て要件が決定される。該バンド毎のメ
モリ割当て要件がその同一バンドのディスプレイリスト
におけるメモリ割当て要件の比較しきい値(comparison
threshold)を下回ると、ディスプレイリストではなくラ
スタ化および圧縮されたバンドが使用され、メモリに格
納される。ラスタ化および圧縮されたバンドは、フラグ
メント(セグメント)に細分化(dissect)されてメモリ
に格納され、次にメモリの「ホール(holes)」にリンク
(link)および分配される。「ホール」は、一般に、使用
不可能な(使用されている)より大きな領域に囲まれ
た、メモリのより小さな分離した空き領域である。一
方、ラスタ化および圧縮されたバンドのメモリ割当て要
件が、しきい値当たりそのディスプレイリストのメモリ
割当て要件程度であると、異なる圧縮技術を用いて再び
バンドを処理することができる。バンドをラスタ化する
ステップ、ラスタ化されたバンドを圧縮するステップ、
ラスタ化および圧縮されたバンドのサイズをディスプレ
イリストと比較するステップならびにラスタ化および圧
縮されたバンドのメモリ割当て要件がディスプレイリス
トのメモリ割り当て要件を下回るかを決定するステップ
は、バンドの割当て要件がそのディスプレイリストの割
り当て要件を下回るまで異なる圧縮技術および/または
しきい値を用いて何度も繰り返される。
【0009】しきい値に該当する場合、バンドがすべて
ラスタ化、圧縮、評価、および分配され、メモリ不足状
態が以前に検出された時点、すなわち、ページの再評価
プロセスが開始された時点で、プリントコマンドの処理
が再開される。ただし、メモリ不足状態が検出されなか
ったが以前にメモリ割当てを試みたバンドは、ここでそ
のメモリ割当てを満たす機会を得る。
【0010】ここで、Campbell氏他の発明と区別して、
Zimmerman氏他の米国特許第5,483,622号公報
は、自動フォント圧縮を備えるページプリンタを開示し
ている。同様に本発明はこの開示をすべて参照する。Zi
mmerman氏他は、プリントコマンドを処理するためのメ
モリがメモリ不足状態のときのメモリ不足エラー(lowme
mory error)を低減するための代替的なステップとし
て、(i)ラスタグラフィックスイメージの圧縮および
(ii)ラスタグラフィックスイメージが存在しない場
合またはラスタグラフィックスイメージの圧縮によって
もメモリ不足エラーが解消されない場合における文字フ
ォントの圧縮を行なっている。さらに、サイズがしきい
値を上回る大型フォントは、メモリ不足/メモリ切れ信
号の存在の有無にかかわらず自動的に圧縮される。
【0011】引用されたこれらのメモリ処理技術によ
り、多くの場合メモリ割当て要求を満たすことができる
が、メモリの断片化を低減することはできない。たとえ
ば、現在のページの構成中に断片化を低減することはで
きない。これはページの各バンドが他のすべてのバンド
と独立して処理されるからである。特に、第1バンドが
ラスタ化、分配および格納され、そしてその第1バンド
の分配セグメントを囲むメモリの一部(some memory)が
次いで割当てを解除されると、実際に第1バンドが終了
し、メモリの断片化が引き起こされる。これは、その周
辺の領域が割当て解除された後もそこに残るためであ
る。たとえば、第1バンドのセグメントが第2バンドの
ディスプレイリストによって作成されたホールに格納さ
れ、第2バンドのラスタ化および圧縮されたバンドをレ
ンダリングするために、第2バンドのディスプレイリス
トが第1バンド周辺から除去された場合に生じる。メモ
リが断片化されすぎて、すなわち、メモリアドレス空間
に過剰な数の「ホール」が存在してメモリの隣接した割
当てを要する他のメモリ割当て要求を満たすことができ
ないためにページ処理全体が損なわれ、その結果メモリ
切れエラーが生じてしまう。米国特許出願第08/91
8,835号は、バンドをメモリのホールに細分化する
方法および断片化を低減する方法を開示している。な
お、本発明はこの開示をすべて参照する。
【0012】ここで、使用されるメモリ管理構成に関し
て、これらのイメージ処理システムは「ページパイプ(p
age pipe)」を開示していない。ページパイプは、プリ
ントエンジンによる処理(すなわち、ビデオイメージン
グ)を待っているメモリに構成されたページすべての合
計である。一般に、これらの従来のシステムは、動作に
必要な十分な容量のメモリをかろうじて備えているにす
ぎず、実際にページパイプを維持することができない。
特に、該従来のプリンタは、レーザと競合する程の速さ
で現在のページを構成するために十分なメモリを使用す
るとともに、一般に、すでに構成されているページを同
時にビデオイメージングするために十分なメモリを使用
する。しかし、該従来のプリンタはすでに構成されたペ
ージおよびビデオイメージングを単に待っているページ
を保持および管理するために十分なメモリおよびメモリ
管理リソースがない。すなわち、ページパイプはこれら
のシステムによって開示されていない。したがって、構
成中の現在のページにおいてメモリリソースの競合(メ
モリ割当てフォルト等)が発生する度に、従来のシステ
ムではビデオイメージ中の単一かつすでに構成されてい
るページがそのイメージングの完了およびそのメモリリ
ソースの解放を待っているだけである。
【0013】
【発明が解決しようとする課題】しかし、最近の大型か
つ高速のプリントシステムは、ページパイプを用いてプ
リンタをフルスピードで動作させ続ける。このようなペ
ージパイプは、すでに構成されいるおよびビデオイメー
ジングを待っている少なくとも1つページを保持するの
で、サイズがばらつく可能性がある。これらのページパ
イプシステムにおいて、メモリ断片化およびメモリリソ
ース競合の確率は非ページパイプシステムに比べて高
い。この結果、プリントコマンドの処理、すなわち現在
のページの構成を満たすことができない場合、パイプに
ページが複数存在すると、場合によってはプリントプロ
セスに好ましくない「休止(pause)」を生じることが知
られている。休止が生じるとき、プリンタ(ページ構成
タスク)は一般にパント(プリントオーバーラン)の回
避に必要であるバンドのメモリへの割当てを待っている
ことを認識する。メモリの断片化、リソースの競合およ
びメモリ不足等によって該割当ては発生しない。しか
し、多くの場合、ページパイプ内の少なくとも1つのペ
ージが印刷(ビデオイメージングまたはパイプから「フ
ラッシュ(flush)」)された後、十分なメモリが使用可
能となり、このためにバンド割当てが満たされて「休
止」を終わらせる。注目すべきは、所定の「休止」中、
潜在的な処理バンド幅(potential processing bandwidt
h)を損失する点である。これは一般に十分なリソースが
使用可能になるまで次のページ構成タスク(page compos
ition tasks)が中断されることによる。
【0014】マルチページプリントジョブ中に発生する
この「休止」(または次のページ構成タスクの保持)
は、望ましくないだけでなく、ページプリンタの仕様書
に記載された分単位当たりの所定のページ数出力を期待
するユーザを失望させる。
【0015】本発明は上記事情に鑑みてなされたもので
あり、改良されたメモリ管理技術によりプリンタのペー
ジスループットの一貫性を高めることを目的とする。
【0016】
【課題を解決するための手段】本発明に係るイメージ処
理技術は、イメージングを待っているページパイプのペ
ージにおいて実行されるメモリ管理タスク(memory mana
gement tasks)によって生成されるフィードバックに応
じて行われる構成中のページにおけるデータのメモリ管
理タスクを提供する。該フィードバックはパイプ内で生
じるメモリ管理タスクに応じて抑制(throttle)される。
メモリ管理タスクは構成中のページにおいて実行され、
すでに構成されているページのイメージングの終了を待
つ必要がないという長所があり、マルチページプリント
ジョブのページスループットが向上する。
【0017】メモリ管理タスクは構成中のページにおけ
るデータの圧縮、再配置および/または圧縮ならびに再
配置を有する。メモリ管理タスクを実行するページデー
タは、ラスタパッチ(raster patches)、フォント、パタ
ーン、ビデオバンド(video bands)、モンスターバンド
(monster band)およびベクトルバンド(vector bands)を
有する。原子作用(atomic operation)および/または危
険域ロック機構(critical section locking mechanism)
を供給することによって、パイプ内のデータにおいて実
行されるメモリ管理タスクとビデオイメージングタスク
との衝突(collision)が回避される。
【0018】
【発明の実施の形態】図1は、本発明の一実施形態に係
るメモリ管理を改良することによってマルチページプリ
ントジョブ中のプリンタの休止を低減する装置およびそ
の方法を示すページプリンタ10のブロック図である。
イメージ処理装置に該当するページプリンタ10は、バ
ス20を介して当該プリンタの他の要素に接続するマイ
クロプロセッサ15によって制御される。プリントエン
ジンコントローラ25および関連するプリントエンジン
30はバス20を介して、ページプリンタにおけるプリ
ント出力機能を提供する。プリントエンジン30は、好
適には、電子写真式ドラムを用いたイメージングシステ
ムを利用するレーザプリンタである。しかし、本発明は
ページスループットの一貫性を向上させるため、ディジ
タルコピー機、ファクシミリ装置等の他のタイプのプリ
ンタおよび/またはイメージング装置にも適用可能であ
る。
【0019】I/Oポート35はページプリンタ10と
ホストコンピュータ37との間で通信し、ページプリン
タ10内で処理するページ記述をホストから受信する。
DRAMなどによって実現されるメモリ40はページプ
リンタ10のメインメモリである。メモリ40は汎用メ
モリおよび/またはマイクロプロセッサ15に関連する
キャッシュメモリを表わす。本実施形態に係るメモリ4
0の第1部分は、3個の予め割り当てられた(確保され
た)バッファ45,50,55を有し、バンド処理にお
いて用いられる。これらのバッファは、好適には、ビデ
オイメージングバッファ(以下、ビデオバッファと称
す)または別の予め割り当てられたいくつかのバッファ
でもよい。プリントプロセス中、予め割り当てられた各
ビデオバッファは、選択されたバンドのラスタ化された
イメージデータを受信して、これを保持し、プリントエ
ンジンコントローラ25およびプリントエンジン30に
送信する。これらのビデオバッファ45,50,55の
1つが使用可能になった(すなわち、バンドのラスタ化
されたデータがドラムに転送/イメージングされた)後
にのみ、ラスタ化されたデータの次のバンドを格納する
ことができる。パイプライン化されたマルチページのプ
リントジョブ中、これらのビデオバッファは常に使用さ
れ、プリントエンジンへの出力前にラスタ化されたイメ
ージデータを一時的に保持するためにのみ用いられる。
プリントデータのパイプラインがビデオバッファ外部に
「フラッシュ(flush)」され、他のプリント処理が必要
であればこれらのバッファを解放するが、現在のマルチ
ページプリントジョブ中でも、またはプリントジョブ中
でもプリントプロセス中に不可避の「休止」が発生する
ため、一般的に望ましくない。なお、「フラッシュ」と
は、構成中の現在のページによってある特定の割当て要
求を満たすために、十分なメモリ40の解放を待つこ
と、現在ビデオイメージング中の構成ページがイメージ
ングを終了するまで待つこと、および/または構成され
る少なくとも1つのページを待つこと、並びにその割り
当てられたメモリリソースが解放されるためにビデオイ
メージングをページパイプにおいて待つことを意味す
る。
【0020】好適には、メモリ40の第2部分は、予め
割り当てられた(確保された)別のバッファ60を有す
る。該バッファ60は、圧縮等の臨界動作(critical op
erations)バッファであり、プリントエンジンによって
印刷休止を低減するために臨界動作データを臨界動作バ
ッファ60に格納する。臨界動作データを臨界動作バッ
ファ60に格納しなければプリントコマンドの処理中に
メモリ40の断片化およびメモリが有する一般的な競合
が生じる可能性がある。
【0021】また、好適には、隣接したメモリの割当て
を必要とするデータを格納するために臨界動作(critica
l operations)バッファ60を使用する。たとえば、臨
界動作バッファ60に格納されたデータは、予めラスタ
化されたデータ、圧縮されたデータ、予めラスタ化さ
れ、かつ圧縮されたデータ、レンダリングされた文字ビ
ットマップ、縮小拡大された(scaled)ラスタオブジェク
ト、回転されたラスタオブジェクト、ベクトル経路デー
タ(vector pass data)またはデフラグ若しくはメモリ4
0の管理を行なうために用いられるデータを選択的に有
することができる。さらに、メモリ40で保持および処
理されるバンドデータは、臨界動作バッファ60にごく
一時的に保持される。すなわち、これは予めラスタ化お
よび圧縮等の臨界動作終了後もさらに使用するためにバ
ッファが一時的に解放される。しかし、少なくとも印刷
中のページを閉じた後である。
【0022】ページ処理中に臨界動作バッファ60は所
定の臨界動作によって隣接したメモリ領域を確保する
が、メモリ40においてメモリの解放を待つ必要がな
く、またビデオバッファ45,50,55をフラッシュ
アウトする必要がない。すなわち、これらのフラッシュ
を待つ必要がないという長所がある。臨界動作バッファ
については、米国特許出願第08/958,437号に
開示されており、本発明はこの開示をすべて参照する。
【0023】リードオンリーメモリ(以下、ROMと称
す)65は、マイクロプロセッサ15およびページプリ
ンタ10を制御するファームウェアを保持する。該ファ
ームウェアのルーチン(コード手順)は、ROM65に
保持されるが、その機能はASIC67において同様に
実施できる。ROM65に保持されるルーチンは、ペー
ジコンバータ、ラスタライザ、圧縮コード、ページプリ
ントスケジューラおよびプリントエンジンマネージャを
有する。ページコンバータファームウェアは、ホストか
ら受信したページ記述をディスプレイコマンドリストに
変換する。なお、各ディスプレイコマンドは、ページに
印刷される対象となるオブジェクトを規定する。ラスタ
ライザファームウェアは、各ディスプレイコマンドを適
当なビットマップ(ラスタ化されたバンド)に変換し
て、該ビットマップをメモリ40に分配する。圧縮ファ
ームウェアは、ラスタ化されたバンドまたは他のデータ
を必要に応じて圧縮する。なお、これらのルーチンはそ
れぞれ当該技術において従来のものである。
【0024】さらに、ROM65は、本発明に係るメモ
リ管理タスクを実行する手段に該当するマイクロメモリ
マネージャ70を有する。該マイクロメモリマネージャ
70は、かかるメモリ管理問題を調整および制御して、
メモリの管理および節約を改良するメモリ管理タスクル
ーチンを有する。これについてはさらに詳細を後述す
る。
【0025】ページがレーザと競合している場合、すな
わち、すべてのバンドがイメージングのためにラスタ化
されている場合、ラスタ化されたバンドは予め割り当て
られたビデオバッファ45,50,55の1つに連続的
に格納され、続いてプリントエンジンコントローラ25
によりプリントエンジン30に送信される。これによ
り、テキスト/グラフィックス等のイメージの生成が可
能になる。ページプリントスケジューラは、プリントエ
ンジンコントローラ25へのバンドバッファのシーケン
シング(sequencing)および転送を制御する。プリントエ
ンジンマネージャはプリントエンジンコントローラ25
およびプリントエンジン30の動作を制御し、上記バン
ドを出力ページにイメージングする。
【0026】本発明は、ページパイプを使用する従来の
プリントシステムにおいて、一般的に存在するいくつか
の問題に対処するものである。第1に、従来のシステム
においてページ構成タスクは臨界共有リソース(critica
l shared resource)を使用できない。すなわち、メモリ
割当てフォルトがページ構成タスクをブロックすると現
在のページのさらなる構成がブロックされる。これによ
って本質的にページパイプが不足して、プリンタの「休
止」の原因となる。第2に、ページ構成タスクが現在の
ページに該当しない共有リソース割当てを待っている状
態では、メモリからフラッシュする少なくとも1つのペ
ージを待つ以外に休止を低減する有用な作業はほとんど
行われない。このため明らかにバンド幅の処理は無用で
ある。第3に、場合によっては、必要以上にビデオイメ
ージングタスクの前にデータのページ構成タスクを行う
ことは望ましくない。上記の場合、メモリ断片化が増大
してページパイプの休止が発生する可能性がある。
【0027】図2は、図1のページプリンタにおけるペ
ージパイプのイメージ処理状態を示すブロック図であ
る。イメージ処理中、データストリームはメモリ40
(図1参照)に受信され、構文解析されて現在構成中の
ページ110を構成する。この「現在のページ」を用い
て構成中のページの状態を特徴づける。すなわち、ペー
ジはすでに「開いている(opened)」(開始されている)
が、パーソナリティパーサ(personality parser)、すな
わちプリンタ制御言語パーサにみられるポストスクリプ
ト言語の「showpage」等のページを「閉じる(c
lose)」コマンドはない。
【0028】「プリフライト(pre-flight)」状態のペー
ジ115は「閉じる」工程におけるページを表すが、こ
れは、例えば「showpage」または同等のコマン
ドがページ構成タスクによって実行されているからであ
る。すなわち、プリフライト状態のページ115は、パ
ーソナリティによって閉じている途中のものであって、
ページパイプ120における「インフライト(in-fligh
t)」状態に解放される直前のものである。なお、現在構
成中のページ110およびプリフライト状態のページ1
15は、イメージ処理中の実際のページおよび同一の物
理的ページであるが、別個の連続した時間に依存する構
成状態を示すために別個に表されている。
【0029】「インフライト」とはページパイプ12
0、すなわち、メモリ40において待っているページの
状態を示すために用いられる用語である。インフライト
状態のページは、「閉じ(close)」られ、パーソナリテ
ィから解放され、さらにプリントエンジンコントローラ
25およびプリントエンジン30によるビデオイメージ
ングを単に待っている。図2に4つのページ125,1
30,135,140が構成され、ページパイプ120
においてビデオイメージングを待っている。しかし、ペ
ージパイプ120は、特定のページプリンタ10の構成
(例として、原稿の経路の長さ、原稿トレイオプション
の使用および使用の際にどの程度のメモリ40を設定す
るか等)によって多数の構成ページを保持するように構
成できる。いずれの場合においても、各構成ページ12
5,130,135,140は、ページパイプ120の
FIFO(先入れ先出し)の待ち行列で順番にビデオイ
メージングされる。
【0030】ページ145は、ポストフライト状態、す
なわち、ビデオイメージング状態に移行中のページを表
す。ビデオバッファ45,50,55(図1も参照)
は、プリントエンジンコントローラ25およびプリント
エンジン30によってページ145のバンドがどのよう
に連続してビデオイメージングされているかを示す。特
に、ページ145を構成するデータ、すなわち、バンド
がビデオイメージングを完了するためにメモリ40内で
直ちに使用可能な状態になる。ページ145がプリント
エンジン30によって完全にビデオイメージング(4
5,50,55)された後、すでに割り当てられている
メモリ40のリソースが解放される(155)。
【0031】本発明は、(i)現在構成中のページ11
0,115を構成するデータおよび/または(ii)ビ
デオイメージングされることをページパイプ120で待
っている構成ページ125,130,135,140を
構成するデータまたはビデオイメージング中の構成ペー
ジ145を構成するが、ビデオバッファおよびDMAバ
ッファ45,50,55にまだ到達していないデータに
おいてメモリ管理タスクを実行するという長所がある。
特に、これらのメモリ管理タスクは、すでに構成されて
いるページ125,130,135,140,145の
イメージングの終了を待つことなく実行される。すなわ
ち、構成処理バンド幅を破棄するのではなく、むしろこ
れを有効に使用する。さらに、現在構成中のページ11
0,115において予想的(anticipatory)または予防的
(proactive)なメモリ管理タスクをさらに可能にするフ
ィードバック190を生成するために、ページパイプ1
20においてページ125,130,135,140,
145で実行されるメモリ管理タスクが監視される。し
たがって、マルチページプリントジョブのページスルー
プットが向上する。
【0032】図3は、ページパイプ120を有するペー
ジプリンタ10におけるイメージ処理方法を示すフロー
チャートである。まず、現在構成中のページ110,1
15のデータがページプリンタ10のメモリ40に格納
され(ステップ170)、イメージングを待つ構成ペー
ジ125,130,135,140,145のうちの少
なくとも1つのページのデータがページプリンタ10の
メモリ40に格納される(ステップ175)。構成ペー
ジ125,130,135,140,145は、ページ
パイプ120を形成するページである。メモリ割当てフ
ォルトまたはメモリ不足状態しきい値に該当する等によ
り、メモリ40の所定の状態が検出される(ステップ1
80)と、現在ビデオイメージング中のページ145の
イメージング終了およびページパイプ120のフラッシ
ュを待つことなく、メモリ40のデータにおいて少なく
とも1つの特定メモリ管理タスクが実行される(ステッ
プ185)。
【0033】メモリ管理タスクが実行されるデータは、
現在構成中のページ110,115のデータおよび/ま
たはページパイプ120におけるページ125,13
0,135,140,145のデータを有する。メモリ
管理タスクは、データの圧縮、データの再配置、データ
の圧縮および再配置ならびに/またはメモリ断片化回避
技術を用いた圧縮および再配置を有することもできる。
ページパイプ120におけるページ125,130,1
35,140,145のデータをメモリ管理タスクによ
って実行すると、現在構成中のページ110,115に
おいてさらに予想的メモリ管理タスクを実行できるよう
にフィードバックが生成される(ステップ190)。該
フィードバックは、メモリ不足状態しきい値に該当する
ことを示す。たとえば、パイプにおいてデータが圧縮さ
れたことを検出した場合、メモリ割当てフォルトの回避
およびページスループットの維持のために現在構成中の
データの圧縮を必要とすることは、有効な指標である。
【0034】図4は、現在構成中のページ110のペー
ジ構成タスクをブロックするとともにメモリ40の解放
を待っている状態で実行される圧縮メモリ管理タスクを
示すフローチャートである。圧縮メモリ管理タスクは、
現在構成中のページ110、プリフライト状態のページ
115またはインフライト状態のページ125,13
0,135,140,145(ポストフライト状態のペ
ージ)のいずれか1つのページ上のラスタパッチ(バン
ドと関連づけられるラスタイメージ片)において実行さ
れることが好ましい。現在構成中のページ110におい
て、ページが構成中であるためバンドにオブジェクトが
追加され続けるので、ラスタパッチの圧縮には好適であ
る。このように、ラスタパッチだけが圧縮される場合、
ページの構成の続行にともなって間接ポインタ(indirec
tion pointers)を介してバンドに容易に追加される。し
かし、そのラスタパッチそのものではなくバンド全体を
圧縮する場合、構成中にさらにオブジェクトが追加され
ると、バンド全体を非圧縮および再圧縮する必要があ
る。代替として、フォント、パターン、ビデオバンド全
体、モンスターバンド(メモリにおいて細分化も分配も
されない大型のすべてのラスタバンド)、ベクトルバン
ド(バンドに使用される大部分のメモリがディスプレイ
リストコマンドで構成されるバンド)、またはその他あ
らゆるオブジェクトにおいて、メモリ管理タスクが実行
される。しかしながら説明を簡略にするために、図4に
はラスタパッチのメモリ管理の場合のみを示す。
【0035】メモリの解放を試みた(ステップ205)
後、さらにページパイプ120をフラッシュすることな
く圧縮バッファ60を使用できるかを決定する(ステッ
プ210)。圧縮バッファ60を使用できる場合、圧縮
に使用できる任意のラスタパッチを圧縮する(ステップ
215)。そのバンドに関する複雑さ(complexities)に
より、ページが引き続きビデオイメージングされてもパ
ントを引き起こすことなくパッチを圧縮および解凍する
ことができると示される場合、パッチを圧縮に使用でき
る。このことは、バンドにバインドされる複雑さをチェ
ックすることによってなされる。なお、この圧縮タスク
は現在ビデオイメージング中のページ145のフラッシ
ュまたはページパイプ120における他のいずれのペー
ジのフラッシュを待つことなく実行される。パッチの圧
縮を節約する(compression saving)かを決定する(ステ
ップ220)。圧縮を節約する場合、圧縮されたパッチ
は保持される(ステップ225)。一方、圧縮を節約し
ない場合、元の圧縮されていないパッチが保持される
(ステップ240)。なお、パッチの圧縮の節約が見出
されるまで圧縮技術をさらに行うこともできる。
【0036】好適には、現在のバンドまたはページ全体
のいずれか一方において、圧縮の対象となるパッチがさ
らにあるかを決定する(ステップ245)。圧縮の対象
となるパッチがさらにある場合、圧縮メモリ管理プロセ
スが繰り返されて(ステップ210へ)必要に応じてそ
れらのパッチを圧縮する。
【0037】パッチが処理されて十分なメモリが解放さ
れるかを決定する(ステップ250)。そして、十分な
メモリが解放される(ステップ255)と、解放サイク
ルが完了する。ブロックされた現在構成中のページ11
0のコンテキストにおいて、十分なメモリが解放される
かを決定するしきい値は、圧縮メモリ管理タスクを開始
した初期メモリ割当てフォルトに対して実際に必要とさ
れる容量を上回ることが好ましい。これにより、直ちに
別のメモリ割当てブロックに直面せずに現在のページの
さらなる構成を続行可能であるように、使用可能なメモ
リの「バッファ」が提供される。
【0038】パイプをフラッシュすることなく十分な圧
縮バッファが使用可能でない場合またはブロックされた
構成ページのコンテキストで十分なメモリが解放されな
い場合、ページパイプ120または現在ビデオイメージ
ング中のページ145をフラッシュ可能な従来の方法を
用いてメモリを解放する(ステップ260)。
【0039】図5は、ページ構成タスクをブロックする
場合およびメモリ不足状態しきい値に該当することを示
すフィードバックを受信する場合に生じるデータ圧縮お
よび再配置メモリ管理タスクの方法を示すフローチャー
トである。本実施形態において、データ圧縮および再配
置が実行されることによってメモリ断片化が低減され
る。すなわち、該方法は、予防的断片化回避メモリ管理
構成である。また、説明を簡略にするため、図5はラス
タパッチのメモリ管理の場合を示す。
【0040】メモリの解放を試みた(ステップ305)
後、ページパイプ120をフラッシュすることなく圧縮
バッファ60を使用できるかを決定する(ステップ31
0)。圧縮バッファ60を使用できる場合、メモリ40
のラスタパッチは、アドレスロケーション(address loc
ation)に応じて予めソートされる(ステップ315)。
すなわち、アドレスによってソートされた順序ですべて
のラスタパッチを識別するリストが作成される。次に、
第1の再配置アドレスにポインタを設定する(ステップ
320)。図6(a)〜図6(e)は、それぞれ異なる
時点における断片化回避技術を用いて圧縮および再配置
されるメモリのラスタパッチを示すブロック図である。
一例としてアドレスによってソートされたメモリ40の
3つのラスタパッチ405,410,415を識別す
る。この第一段階の例において、第1の再配置アドレス
は、第1ラスタパッチ405の開始アドレスであり、ポ
インタ420によって識別される。
【0041】続いて、圧縮バッファ60を用いて「現
在」のラスタパッチを圧縮する(ステップ325)。こ
の第一段階の例(図6(a))において、現在のラスタ
パッチは第1ラスタパッチ405である。該第1ラスタ
パッチは圧縮されると、ポインタ420によって識別さ
れるメモリ40の再配置アドレスに再び格納される。図
6(b)は、圧縮されたラスタパッチ405′がポイン
タ420によって格納された構成が示されている。ま
た、図6(b)は、ラスタパッチ405′に隣接して空
きメモリ領域425が作成される様子が示されている。
空きメモリ領域425は、元の第1ラスタパッチ405
の容量と新たに圧縮されたラスタパッチ405′の容量
との差から作成されるメモリ領域である。
【0042】すべてのラスタパッチが圧縮されたかを決
定する(ステップ335)。全てのラスタパッチが圧縮
されない場合、圧縮/再配置サイクルは繰り返される
(ステップ320へ)。すなわち、新たな再配置アドレ
スにポインタが設定され、次の圧縮パッチを格納すべき
場所を識別する。図6(c)は、ここで新たな再配置ア
ドレスである圧縮された第1ラスタパッチ405′の終
端に設定されたポインタ420を示す。続いて、次のラ
スタパッチが圧縮される(ステップ325)。そして、
新たな再配置アドレスに格納される(ステップ33
0)。図6(d)は、このステップと、第2ラスタパッ
チ410が圧縮されてラスタパッチ410′になり、ポ
インタ420によって識別された新たな再配置アドレス
に格納された様子を示している。また、新たな空きメモ
リ領域430も示されている。
【0043】ここで、処理される全てのラスタパッチが
実行されないので、圧縮/再配置サイクルが繰り返され
る。図6(e)はこの繰り返しステップを示し、ポイン
タ420が圧縮されたラスタパッチ410′の終端に再
配置された様子および第3ラスタパッチ415が圧縮さ
れてラスタパッチ415′になり、ポインタ420によ
って識別された新たな再配置アドレスに格納された様子
を示している。また、新たな空きメモリ領域435を示
し、元のラスタパッチ405,410,415の圧縮お
よび再配置の工程によって、どのようにメモリ断片化が
回避および低減されたかを示している。すなわち、メモ
リ40には断片化された多数の小さな空きメモリ領域で
はなく、より大きな空きメモリ領域435が1つ残存し
ている。このように、現在のページ110(図2参照)
を構成するあいだにメモリ割当て要求を満たす機会を得
る。
【0044】ラスタパッチが処理され、十分なメモリが
解放されるかを決定する(ステップ345)。そして、
十分なメモリが解放される(ステップ345)と、解放
サイクルが終了する。パイプをフラッシュすることなく
十分な圧縮バッファが使用できない場合またはブロック
された構成ページのコンテキストで十分なメモリが解放
されない場合、ページパイプ120または現在ビデオイ
メージング中のページ145をフラッシュ可能な従来の
方法を用いてメモリを解放する(ステップ350)。
【0045】図7および図8はラスタパッチの予想的圧
縮方法を示すフローチャートである。このコンテキスト
において「予想的」とは、「ページ構成中のメモリフォ
ルト状態の検出に先立って」という意味であり、検出さ
れたメモリ不足状態しきい値またはページパイプ120
のページで行われるメモリ管理タスクのよって生成され
るフィードバック信号に応じて生じる。圧縮および解凍
の反作用的なタスク(reactive task)は損失が大きく、
バンドの複雑さを変えてしまう。したがって、図7およ
び図8は、圧縮/解凍のコストと予想的圧縮の利益の可
能性との平衡を試みた方法であり、全体的なページの印
刷速度を向上させる、すなわち、休止を低減するための
適当な機会を得る。なお、説明を簡単にするためにラス
タパッチを例示に使用するが、当該方法は、フォント、
パターン、ビデオバンド全体、モンスターバンド、ベク
トルバンドまたは他のオブジェクトにも等しく適用可能
である。さらに、図7および図8において予想的「圧
縮」のみを説明しているが、予想的原則はデータの再配
置にも同様に適用可能である。
【0046】まず、以下のいくつかの定義が有用であ
る。Y=物理的ページパイプ120(図2に示す)にお
けるページ数プラス1。この「プラス1」は、現在構成
中のページ110を説明する。このように、予想的圧縮
に有効な測定基準(metric)は、「ページパイプにおける
物理的ページ数」に「現在構成中のページ」を加えるこ
とにより正規化される。図2のページパイプ120を再
び参照すると、Yの値は「6」(ページパイプにおける
5つのページ125,130,135,140,145
に現在構成中のページ110を加えたもの)に設定され
る。 P=ページパイプにおける実際の現在のページ数。 MS=電源投入後のジョブ開始時の総メモリ。 A=MS/Y=物理的なパイプページ当たりの平均メモ
リ。 M=現在のページの先頭の空きメモリ領域の容量。 MUQ=メモリ利用商(Memory Utilization Quotient)
は、経験的データから調整されるメモリの容量のしきい
値である。「MUQ」は、「Y」、「P」、「MS」、
「A」および「M」を有する他の値の任意および/また
はすべてに対して経験的に決定される。
【0047】第1に、開いたページの空きメモリ領域の
容量「M」が「MUQ(メモリ利用商)」を上回ると、
パッチの予想的圧縮が回避される。これにより、第1ペ
ージの圧縮が回避され、第1ページの出力(first-page-
out)にかかる時間が最小化される傾向がある。第2に、
「M(空きメモリ領域の容量)」が「MUQ(メモリ利
用商)」または「A」を下回ると予想的圧縮が実行され
る(すなわち、予想的圧縮を達成するためにフラグまた
は状態が設定される)。このことは、現在のページを構
成するためのメモリおよびページパイプを補充する後続
のページが十分にない可能性を示す。
【0048】そこで、図7を参照すると、プリントジョ
ブを開始する(ステップ505)。そして、「Y」、
「MS」および「A」を有する所定の変数が設定され、
予想的早期実行(do-early)フラグ「ADE」がFALS
E(ADE=FALSE)に設定される(すなわち、ク
リアされる)(ステップ510)。ページX(現在のペ
ージ)を構成するために開く(ステップ515)と、
「P」、「M(X)」を有する次の変数がさらに設定さ
れ(ステップ520)、ページXにおいて使用できる空
きメモリに格納され、予想的早期実行「フラグ」ADE
が再びFALSE(ADE=FALSE)に設定される
(すなわち、クリアされる)。
【0049】次に、「M(X)」が「MUQ(メモリ利
用商)」を下回るかまたは「A(物理的パイプページ当
たりの平均メモリ)」を下回るかを決定する(ステップ
525)。「M(X)」が「MUQ」または「A」を下
回ると、本例ではラスタパッチを予想的早期実行圧縮す
る。したがって、予想的早期実行「ADE」の状態変数
がTRUE(ADE=TRUE)に設定される(ステッ
プ530)。一方、「M(X)」が「MUQ」または
「A」以上である場合は、予想的早期実行フラグ「AD
E」はTRUEに設定されない。いずれの場合において
も、現在のページXの構成が完全に終了し、閉じられる
(ステップ540)まで引き続き構成が行われる(ステ
ップ535)。ページXの構成の工程において、所定の
タスクが図8において破線矢印ならびに「円A」および
「円B」によって詳細に説明されるが、これについては
後述する。
【0050】ADE=TRUEかまたはパイプフラグに
よる予想的早期実行ADE_PIPE=TRUEかを検
出する(ステップ545)。いずれかが等しい場合、残
っている(すなわち、まだ圧縮されていない)ラスタパ
ッチをいずれも圧縮して(ステップ550)、今後のメ
モリ割当てフォルトを回避する。ADE_PIPEは、
ページパイプ120のページにおけるメモリ管理タスク
の実行によって生成されるフィードバック(図2および
図3におけるステップ190)により設定される予想的
早期実行フラグである。ADE_PIPEおよびフィー
ドバック生成については、さらに詳細を以下に説明す
る。
【0051】図8は、データの予想的圧縮、すなわち、
ラスタパッチが発生する別の処理領域を示すフローチャ
ートである。特に、図8は、図7のステップ535をさ
らに詳細に示し、ページXの構成中に生じる処理の一部
を示している。
【0052】現在のページXの構成中にラスタパッチが
作成される(ステップ605)。これは、メモリ40の
該ラスタパッチを識別、収集、および作成して、ページ
の適当なバンドと関連づけられて引き続いてレンダリン
グされることを有する。少なくとも1つのラスタパッチ
(すなわち、レンダリングできる状態にあるデバイス)
が作成される(ステップ610)と、ADE=TRUE
かまたはパイプフラグによる予想的早期実行ADE_P
IPE=TRUEかを検出する(ステップ615)。い
ずれかがTRUEに設定されると、これらの少なくとも
1つのラスタパッチが早期圧縮される(ステップ62
0)。いずれも設定されない場合はページ構成が続行さ
れる。
【0053】なお、Campbell氏他の米国特許第5,47
9,587号公報において、構成中のページ上でラスタ
パッチを圧縮することは、メモリフォルトに直面した後
およびページパイプを完全にフラッシュしてしまった後
にのみ行われたものであり、潜在的なメモリフォルトも
しくはメモリ不足状態を予想して行われたものではな
く、まして本発明の実施形態のようにページのイメージ
ング終了またはパイプのフラッシュを待って行われたも
のではない。
【0054】図9は、インフライト圧縮(in-flight co
mpression)(および/または再配置)とビデオイメー
ジングとの衝突回避の機構を示すブロック図である。ビ
デオイメージングタスクによって読み取られるデータに
悪影響を及ぼすことなく、その効果が最大になるように
これらのメモリ管理タスクを制御する必要がある。ビデ
オイメージングタスクは、準備が整えば直ちにバンドに
アクセスすることができ、さもなければパントが生じる
可能性がある。
【0055】衝突回避を達成する1つの好適な機構は、
図9に示すように「分離バッファ」を備える。ディスプ
レイリスト(すなわち、バンド)705は、構成ページ
の一部であり、ページパイプ120におけるビデオイメ
ージングを待つインフライトである。バンド705はレ
ンダリングの対象であるいくつかのオブジェクトを保持
することができる。図9において、バンド705はソー
スオブジェクト(すなわち、ラスタパッチ)715に関
する情報を保持する少なくとも1つの情報バッファ71
0を参照する。情報バッファ710は間接ポインタ72
0を用いてソースオブジェクト715を参照する。本発
明のメモリ管理原則を用いて、ソースオブジェクト71
5は新たな分離宛先(separate destination)メモリバッ
ファ725aに再配置および/または圧縮されることに
なるが、バンド705およびソースオブジェクト715
または情報バッファ710と関連づけられた情報をすぐ
にレンダリングする可能性のあるもしくはすでにレンダ
リングしている可能性のあるビデオタスクマネージャに
干渉することなく行なわければならない。このコンテキ
ストにおいて、コピー/再配置および/または圧縮され
たソースオブジェクト715が配置されている分離宛先
メモリバッファ725aは、原ソースオブジェクトを記
憶するソースメモリバッファ715aから完全に分離(d
isjoint)する。
【0056】ビデオタスクとの衝突を起こすことなく再
配置/圧縮を達成するために、まず、ソースオブジェク
ト715を分離宛先メモリバッファ725aにコピーす
る。次に、データコピー/再配置が行われた後、ソース
オブジェクト715を記憶するソースメモリバッファ7
15aをポイントする間接ポインタ720は、原子作用
(すなわち、非割り込み可能プロセッサ命令)として、
または一組の疑似原子命令(すなわち、ロックされた命
令)として、新たな分離宛先メモリバッファ725aに
対する間接ポインタ720′に更新される。このよう
に、ポインタの切替えが生じる前にビデオイメージング
タスクが制御を得ると、ビデオイメージングタスクは、
有効状態にあるソースオブジェクトを記憶するソースメ
モリバッファ715aの古いバッファを使用する。ある
いは、ポインタの切替え後にビデオタスクが制御を得る
場合、分離宛先メモリバッファ725aの新たなバッフ
ァを使用する。この機構は、ソースオブジェクトを記憶
するソースメモリバッファ715aまたは分離宛先メモ
リバッファ725aに高い優先順位をつけて、そのメモ
リバッファが制御するときにビデオイメージングタスク
の実行またはレンダリングすることを要求する。
【0057】さらに図9を参照して、ラスタパッチの再
配置および圧縮が行われる場合、オブジェクトそれ自体
に圧縮状態が記録および制限(bind)される。たとえ
ば、ソースオブジェクト715が圧縮されない場合、そ
の状態は「ゼロ」ビット730で記述される。分離宛先
メモリバッファに記憶される宛先オブジェクト(ラスタ
パッチ)725が圧縮される場合、その状態は「1」ビ
ット735で記述される。このように、ビデオイメージ
ングタスクによってパッチが最終的にアクセスされる
と、パッチの圧縮状態または非圧縮状態はパッチデータ
を読み取る1回の原子作用の範囲でわかる。これは情報
バッファ710ではなくパッチデータそれ自体で制限さ
れることによる。
【0058】図10および図11は、ビデオイメージン
グタスクとインフライトバンド(in-flight band)におけ
るメモリ管理動作との衝突回避の機構を示すフローチャ
ートである。図10には、メモリ管理タスク動作のステ
ップが示され、図11には、ビデオイメージングタスク
動作の相関ステップが示されている。まず、図10を参
照して、分離宛先メモリバッファが割り当てられた(ス
テップ752)後、原ソースオブジェクト(すなわち、
ラスタパッチ)が分離宛先バッファにコピーまたは圧縮
される(ステップ754)。そして当該方法の危険域ま
たは実行可能コードに入る(ステップ756)。原子作
用となるように危険域を可能にするためには、従来のセ
マフォ(semaphore)技術が適切である。そして、オブジ
ェクトのロックがクリアされるかを決定する(ステップ
758)。オブジェクトのロックがクリアされない(す
なわち、オブジェクトがロックされた状態である)と、
危険域は終了し(ステップ760)、ロックがクリアさ
れるまで単に待つかまたはループする(ステップ756
へ)。オブジェクトについてのロックがクリアされる
(すなわち、オブジェクトがロックされていない状態で
ある)と、ソースオブジェクトを識別するアンカ(ancho
r)ポインタまたは無方向(indirection)ポインタが更新
され(ステップ762)、宛先コピーの方向を向く。こ
の時点で危険域は終わり(ステップ764)、タスクマ
ネージャは、オブジェクトの制御を得ると、再配置され
たオブジェクトにリセットアンカポインタを介してアク
セスする。ソースバッファはここで別の使用のために割
当てを解除される(ステップ766)。
【0059】図10を参照して分離バッファを使用する
代替として、メモリが非常に不足した場合、重複して
(overlapping)バッファを使用してもよい。これはソ
ースから宛先へのコピーが危険域の範囲内およびバンド
に割り当てられるイメージング時間/コストの範囲内で
行われることを要求する。
【0060】次に、図11に示すビデオタスクマネージ
ャの衝突回避の方法を参照すると、直面する各イメージ
ングオブジェクトごと(ステップ770)に、第1ステ
ップとして、そのオブジェクトが再配置可能または圧縮
可能であるかを決定する(ステップ772)。これは、
そのオブジェクトにバインドされた情報により決定され
る。オブジェクトが再配置可能または圧縮可能ではない
と、競合を心配することなくオブジェクトは単にイメー
ジングされる(ステップ774)。一方、オブジェクト
が再配置可能または圧縮可能である(ステップ772)
と、オブジェクトはロックされる(ステップ776)。
一度ロックされると、イメージングされ(ステップ77
8)、そしてロックが解除される(ステップ780)。
【0061】図12は、早期(予想的)ラスタパッチの
圧縮を抑制するフィードバックの方法を示すフローチャ
ートである。ここでも図12では圧縮のみを説明してい
るが、他の予想的メモリ管理タスク(すなわち、再配
置)を抑制するために、当該原理が同様に適用可能であ
る。さらに、当該方法を構成中のページの他のデータ
(すなわち、フォント、パターン、バンド、モンスター
バンド、またはベクトルバンド)またはページパイプ中
の該データにも同様に適用可能であるため、ここでのラ
スタパッチとの協動(work)は単なる例示に過ぎない。こ
のため、全体を通して、フィードバックスロットリング
(throttling)とは、インフライトバンドに対して生じる
同様のメモリ管理タスクに応じて、バンドデータがどの
程度またはどのくらいの頻度で予想的に再配置および/
または圧縮されるかを制御することを意味する。
【0062】従来のイメージ処理動作における主な「フ
ィードバック」機構は、単に、イメージング中のページ
および/またはパイプ内のページをプリント(フラッシ
ュ)することによってプリンタメモリが解放されること
を待っているにすぎない。しかしながら、フラッシュ中
にページ構成タスクが停止するので、プリント出力時に
望ましくない休止が発生する。これに対して、本発明の
「フィードバック」機構は、イメージング中のページま
たはページパイプ内のページのイメージング終了を待た
ずにバンドの予想的メモリ管理を予防的に可能にする。
【0063】一般に、本発明に係る早期(予想的)ラス
タパッチの圧縮を抑制するフィードバックの方法は、メ
モリ管理動作によって、ページパイプ120のインフラ
イトデータ(またはポストフライトデータ)がいつ発生
したかを検出するステップ、および検出時に構成中のペ
ージのデータに同様の動作を早期に実行するステップを
有する。たとえば、ページインフライトにラスタパッチ
圧縮が行われた場合、ラスタパッチは現在構成中のペー
ジにおいて早期に圧縮される。さらに、パイプにおいて
行われるメモリ管理動作が数ページにわたって監視さ
れ、何らかのヒステリシスを当該システムに提供するた
めに、すなわち、現在のページにおいていつ早期圧縮を
行うかを「抑制する」ために空きメモリしきい値を確定
し、さらにラスタパッチの早期圧縮と非早期圧縮との不
安定な変動を抑止する。たとえば、インフライトデータ
においてラスタパッチが圧縮されると、少なくとも続く
2つの構成ページがパッチを早期圧縮させる。
【0064】そこで、次に再び図12を参照すると、プ
リントジョブの開始時に、早期実行「抑制」変数Eがゼ
ロに設定され(すなわち、クリアされる)、変数M1お
よびM2がゼロに設定される(ステップ805)。次い
で、次のページが構成のために開かれて、そのページが
「現在の」ページとなるように割り当てられる(ステッ
プ810)。そして、所定の制御変数が設定される。す
なわち、M(C)は、現在のページと関連づけられた空
きメモリを記憶し、M(P)は、先のページ(すでに構
成されて現在パイプに位置しているページ)と関連づけ
られた空きメモリを記憶し、予想的早期実行パイプフラ
グADE_PIPEがFALSEに設定(クリア)され
る(ステップ812)。
【0065】次に、少なくとも1つのインフライトパッ
チが先のページの構成中に圧縮されるかを決定する(ス
テップ815)。圧縮されたことを検出すると、早期実
行抑制変数Eの値が「1」に設定され、M2がM1に設
定され、M1がM(P)に設定される(ステップ82
0)。さらに、予想的早期実行フラグADE_PIPE
がTRUEに設定され(ステップ825)、構成中の現
在のページにおいて早期ラスタパッチ圧縮が行われるべ
きであるということをフラグする。現在のページの構成
が完了するまで続行される(ステップ830)(図8も
参照する)。
【0066】現在のページが完全に構成されたとき、ペ
ージが閉じられ(ステップ832)、ADE_PIPE
がTRUEであるかを決定する(ステップ835)。A
DE_PIPEがTRUEの場合、現在のページにおけ
る残りのラスタパッチはいずれも早期圧縮される、すな
わち、まだ圧縮されていないパッチはここで圧縮される
(ステップ840)。先のページの構成中にインフライ
トページにおいて圧縮が発生したことを示すこのような
パッチの「早期」圧縮は、ページパイプ120から受信
したフィードバック(ADE_PIPE)(図2および
図3におけるステップ190)により、現在のページに
おいて行われる。現在のページのこのようなデータの早
期圧縮は、潜在的なメモリ割当てフォルトまたは該当す
るメモリ不足状態しきい値を回避するために抑制をアッ
プ(throttle up)するかまたは強制的に行われる。
【0067】ステップ815で、インフライトパッチが
先のページの構成中に圧縮されなかったことを検出した
後、早期実行抑制変数Eの値が「2」であるかチェック
される(ステップ845)。該早期実行抑制変数Eの値
が「2」ではない場合、さらに該早期実行抑制変数Eの
値が「1」であるかチェックされ(ステップ860)、
該早期実行抑制変数Eの値が「1」であると、さらに現
在のページにラスタパッチが存在するかチェックされ
(ステップ865)、現在のページにラスタパッチが存
在すると、「Q」はM(P)、M1およびM2の最大値
に設定される(ステップ870)。「Q」は先行する2
つのページ815,845の構成中に圧縮されるインフ
ライトパッチがない場合でさえも、さらに早期圧縮を続
行するしきい値(850)を表す。また、「Q」はM
(P)、M1およびM2の最小値に設定可能であり、先
行するインフライトパッチの圧縮が中止された後に早期
圧縮をほとんど行わないようにすることもできる。早期
実行抑制変数Eの値が「2」である場合、最後の2ペー
ジの構成中に発生したインフライトパッチの圧縮が行わ
れなかったことを示す。その場合、またM(C)が
「Q」を上回る場合、ADE_PIPEフラグがTRU
Eに設定されずにFALSEを維持し、現在のページの
構成が正常に続行される(ステップ830へ)。つま
り、現在のページにおけるデータの早期圧縮は、もはや
無用となるため抑制をダウン(throttle down)する。
【0068】図13は、インフライトメモリ管理または
ポストフライトメモリ管理を可能にするためのインフラ
イトバンドにバインドされた複雑さを示すデータ要素9
10を有するインフライトバンドを示すブロック図であ
る。複雑さを示すデータ要素910は、ビデオイメージ
ングバンド905の複雑さコストを示す。ディスプレイ
リスト(すなわち、ビデオイメージングバンド)905
が構築中であるとき(すなわち、ページ構成中)、複雑
さを示すデータ要素910に記録される複雑さコストの
累積が行われる。複雑さを示すデータ要素910は、バ
ンドがページパイプ120を通って進行しているときに
使用可能となるよう算出され、ビデオイメージングバン
ド905にバインドされる。
【0069】複雑さを示すデータ要素910において、
第1の「ビデオコスト」要素915は現在存在している
とき(すなわち、レーザと競合しているとき)のビデオ
イメージングバンド905の時間的コストを示す値を有
する。「過剰時間コスト(extra time cost)」要素92
0は、通常リンク/再方向ポインタ(図示しないが、図
9を参照)によってビデオイメージングバンド905に
バインドされたラスタパッチ925,930を解凍する
ための時間的な増加コストを示す値を有する。解凍する
ために増加する過剰時間コスト920は、通常、圧縮方
法および解凍の利用可能速度を想定したときに推定され
る最悪の場合である。コストの推定はバンド幅の乗数、
高さの乗数、領域当たりビット数の乗数等、当該技術に
おける一般的なパラメータに基づく経験則による。
【0070】第3の「空き時間」要素935は、バンド
をイメージングするためにどの程度の空き時間が存在す
るかを示す値を有する。空き時間はビデオコスト915
とイメージングコストのしきい値との単なる差(すなわ
ち、パントが生じる前にバンドをビデオイメージングす
るために利用可能な最大許容時間)である。特に、空き
時間要素935は、2つの要素値を単に比較することに
よって過剰時間コスト要素920と関連づけられたメモ
リ管理を達成するために十分なビデオイメージング時間
が存在しているかどうかをバンドが直ちに決定すること
ができるようにする。さらに、空き時間要素935によ
り、バンドは互いに参照し合い、ビデオイメージング時
間を適時「借りる」ことが可能になる。たとえば、第1
バンドに1秒の空き時間があり、隣接する第2バンドに
0秒の空き時間があると、第2バンドは、第1バンドか
ら1秒の空き時間を「借りる」ことができる。第2バン
ドは、この余分な「借りた」秒を必要とすることによ
り、そのラスタパッチを圧縮/解凍させてさらにメモリ
をセーブすることが可能になるが、一方、該時間を借り
ることができなければ、パントすることなく圧縮/解凍
を行うことができず、さらにメモリをセーブすることが
できない。第1バンドはその1秒の空き時間を必要とし
ないので、別のバンドがこの空き時間を借りることがで
きる。
【0071】バンドが空き時間を借りるためにどの程度
遠くまで到達できるかは、何個のビデオイメージングバ
ッファを使用しているかによる。図1では、3個のビデ
オバッファ45,50,55が使用されているので、2
つ先のバンドまで借りることができる。なお、より多く
のビデオバッファが使用可能であれば、より遠くのバン
ドに到達して借りることができる。バンドが空き時間を
借りると、該バンドのビデオコスト要素915がこの空
き時間に比例して増加される。一方、空き時間を借りる
バンドについては、これに比例してその空き時間要素が
減少される。
【0072】一般に、複雑さを示すデータ要素910
は、ビデオイメージングバンド905またはバンドのオ
ブジェクトがページパイプ内にあると、該バンドについ
てメモリ管理タスクを実行可能にするが、メモリ管理タ
スクを実行する場合においてパントが生じるかどうかを
心配する必要もなく、また、そのバンドおよび同ページ
の他のバンドの総イメージングコストしきい値を再度算
出する必要もない。好適には、これらの複雑さを示すデ
ータ要素910をそれぞれ有しているが、これらの要素
の部分集合または異なる情報要素の使用も同様に適用可
能である。
【0073】図14は、インフライトメモリ管理または
ポストフライトメモリ管理を可能にするためのインフラ
イトバンドにバインドされた複雑さを示すデータ要素9
10を有するインフライトバンドを示すブロック図であ
る。この単一の複雑さを示すデータ要素970は、バン
ドがパッチの圧縮/解凍に「スーパーセーフ(super-saf
e)」であるかどうかを示す単一ビットであることが好ま
しい。ページ構成中にバンドが構築されると、複雑さの
累積が算出され、バンドがスーパーセーフであるか決定
される。バンドがページパイプ120にあるときにパン
トを引き起こすことなくパッチが圧縮/解凍され、つい
でビデオイメージング可能であると複雑さの算出によっ
て決定されるとき、バンドはスーパーセーフとマークさ
れる。換言すれば、「スーパーセーフ」の表示は、パン
トを回避するためにバンドを予めラスタ化する必要がな
い場合はバンドにバインドされるが、パッチ圧縮がメモ
リをセーブし、その結果、バンドの複雑さはイメージン
グコストしきい値以下となる。なお、図13および図1
4の原理はフォント、パターン、バンド、モンスターバ
ンド、ベクトルバンドおよび/または他のオブジェクト
にも同様に適用可能である。
【0074】図15は、バンドにバインドされた複雑さ
を示すデータ要素を利用して該バンドのインフライト管
理を示すフローチャートである。処理の際にページが開
かれる(ステップ980)と、バンドが構築される(ス
テップ982)。各バンドの構築にともなって、ビデオ
イメージング時間コスト915が各バンド毎に累積され
る。さらに、バンドの構築が完了すると当該システムの
所定の圧縮方法を用いてそのバンドに関連づけられたラ
スタパッチを圧縮し、続いてビデオイメージングの際に
解凍しようとする場合、バンドをビデオイメージングす
るためにどの程度の時間がさらに必要とされるかを推定
する過剰時間コスト920が算出される。
【0075】パイプ内(in-the-pipe)管理において「ス
ーパーセーフ」方法を使用する場合、バンド構築が完了
したときにバンドのビデオイメージングに利用可能な最
大許容時間であるイメージングコストしきい値と累積さ
れたビデオ時間とを比較する。その差が算出された過剰
時間コストを上回ると、バンドは「スーパーセーフ」と
マークされる(ステップ984)(図14のスーパーセ
ーフ970も参照)。
【0076】一方、パイプ内管理にさらに柔軟性を要す
る場合、累積されたビデオコスト915と過剰時間コス
ト920が、バンド(984)にバインドされる。さら
に、空き時間935は、バンド(984)にバインドさ
れる。
【0077】次に、ページが閉じられる(ステップ98
6)。該ページはビデオイメージング(図2参照)を待
っている間のパイプ内(インフライト)の状態である。
しかし、スーパーセーフ状態またはビデオコストおよび
過剰時間コストならびに空き時間データ等の複雑さの基
準はバンドにバインドされたままである。次にバンドの
パイプ内管理が必要であるかを決定する(ステップ98
8)。バンドのパイプ内管理が必要でなければ(すなわ
ち、改良されたメモリ管理について)、単にバンドおよ
びページが後の工程で適時ビデオイメージングされる。
【0078】一方、パイプ内バンドの管理が必要である
場合またはバンドが「スーパーセーフ」とマークされる
場合、スーパーセーフ状態にあるので、バンドはパント
を引き起こすことなく圧縮され(ステップ992)、次
いで解凍され、ビデオイメージングが可能になる。バン
ドがコストの基準(910)を保持し、ビデオコスト9
15に過剰時間コスト920を加えたものがイメージン
グコストしきい値を上回る(またはビデオコスト915
に過剰時間コスト920を加えたものが空き時間935
を上回る)かを決定する(ステップ994)。ビデオコ
スト915に過剰時間コスト920を加えたものがイメ
ージングコストしきい値以下または過剰時間コスト92
0が空き時間935を下回ると、バンドは圧縮され(ス
テップ998)、次いで解凍され、ビデオイメージング
が後工程で適時可能になる。一方、バンドがコストの基
準(910)を保持し、ビデオコスト915に過剰時間
コスト920を加えたものがイメージングコストしきい
値を上回るとき、またはビデオコスト915に過剰時間
コスト920を加えたものが空き時間935を上回ると
き、空き時間が別のバンドから到達できる範囲で利用可
能であるかを決定する(ステップ996)。該バンドが
別のバンドから空き時間を借りることができる(ステッ
プ997)と、バンドが圧縮される(ステップ99
8)。一方、空き時間が別のバンドから到達できる範囲
で利用できない場合、圧縮は行われない。
【0079】なお、本発明は、レーザプリンタ等のイメ
ージング装置においてページスループットを改良するた
めのメモリ管理を改善するツールを提供する。さらに、
当該技術において既存の種々のコンポーネントおよびツ
ールを任意に利用して本発明を容易に実施し得ること
は、当業者にとって自明であろう。また、以上の本実施
形態の説明は本発明を制限するものではない。
【0080】以下に本発明の実施の形態を要約する。 1.(a)(i)イメージングのために構成されている
ページ(110,115)のデータ、および(ii)イ
メージングを待つ少なくとも1つの構成ページ(12
5,130,135,140,145)のデータをメモ
リ(40)に提供し、(b)前記イメージングを待つ少
なくとも1つの構成ページ(125,130,135,
140,145)のデータに対して実行されるメモリ管
理タスクを示す標識(indicia)(190)を検出し、
(c)前記標識の検出に応答して、前記構成されている
ページ(110,115)のデータにメモリ管理タスク
を実行する、イメージ処理方法。 2.前記メモリは、プリンタ、コピー機またはファクシ
ミリ装置を含むイメージング装置(10)に備えられて
いる上記1記載のイメージ処理方法。 3.前記メモリ管理タスクが実行される前記メモリ内の
前記少なくとも1つの構成ページ(125,130,1
35,140,145)のデータは、ラスタパッチ(9
25,930,960,965)、フォント、パター
ン、ビデオイメージングバンド(905,955)、モ
ンスターバンドまたはベクトルバンドを有する上記1ま
たは2記載のイメージ処理方法。 4.前記イメージングを待つ少なくとも1つの構成ペー
ジ(125,130,135,140,145)のデー
タに対して実行される前記メモリ管理タスクは、ビデオ
イメージングタスクとの衝突回避のために原子作用(図
9)を使用することによって実行される上記1または2
記載のイメージ処理方法。 5.前記イメージングを待つ少なくとも1つの構成ペー
ジ(125,130,135,140,145)のデー
タに対して実行される前記メモリ管理タスクは、ビデオ
イメージングタスクとの衝突回避のために危険域ロック
機構(図10,図11)を使用することによって実行さ
れる上記1または2記載のイメージ処理方法。 6.前記メモリ管理タスクは、データの圧縮(215,
325)を含む上記1、2、3、4または5記載のイメ
ージ処理方法。 7.前記メモリ管理タスクは、データの再配置(33
0)を含む上記1、2、3、4または5記載のイメージ
処理方法。 8.前記メモリ管理タスクは、データの圧縮(325)
および再配置(330)を含む上記1、2、3、4また
は5記載のイメージ処理方法。 9.メモリ断片化回避技術(図6(a)〜図6(e))
を用いたデータの圧縮および再配置をさらに含む上記8
記載のイメージ処理方法。 10.前記標識の検出に応答して、構成されている少な
くとも次のページ(図12)のデータに対してメモリ管
理タスクを実行する上記1または2記載のイメージ処理
方法。 11.いずれの標識も検出しないことに応答し、かつ該
当するしきい値の検出に応答して、前記構成されている
少なくとも次のページ(図12)のデータに対して前記
メモリ管理タスクの実行を中止する上記10記載のイメ
ージ処理方法。 12.前記メモリ管理タスクは、いずれの構成ページ
(125,130,135,140,145)のイメー
ジング終了を待つことなく前記構成されているページ
(110,115)のデータに対して実行される上記1
または2記載のイメージ処理方法。 13.(a)(i)イメージングするために構成されて
いるページ(110,115)のデータ、および(i
i)イメージングを待つ少なくとも1つの構成ページ
(125,130,135,140,145)のデータ
を有するメモリ(40)と動作可能に接続されるイメー
ジングエンジン(30)と、(b)前記少なくとも1つ
の構成ページがイメージングを待っている間、前記イメ
ージングを待つ少なくとも1つの構成ページ(125,
130,135,140,145)のデータに対して実
行されるメモリ管理タスクを示す標識(190)を検出
する手段(70)と、(c)前記標識の検出に応答して
イメージングするための前記構成されているページ(1
10,115)のデータにおいてメモリ管理タスクを実
行する手段(70)と、を備えるイメージ処理装置(1
0)。 14.前記メモリ(40)は、プリンタ、コピー機また
はファクシミリ装置を含むイメージング装置(10)に
備えられている上記13記載のイメージ処理装置。 15.前記イメージングを待つ少なくとも1つの構成ペ
ージ(125,130,135,140,145)のデ
ータに対して前記メモリ管理タスクを実行する手段(7
0)をさらに有し、ビデオイメージングタスクとの衝突
回避のために原子作用(図9)を可能にする手段を備え
る上記13または14記載のイメージ処理装置。 16.前記イメージングを待つ少なくとも1つの構成ペ
ージ(125,130,135,140,145)のデ
ータに対して前記メモリ管理タスクを実行する手段(7
0)をさらに有し、ビデオイメージングタスクとの衝突
回避のために危険域ロック機構(図10,図11)を備
える上記13または14記載のイメージ処理装置。 17.前記メモリ管理タスクは、データの圧縮(21
5,325)を含む上記13、14、15または16記
載のイメージ処理装置。 18.前記メモリ管理タスクは、データの再配置(33
0)を含む上記13、14、15または16記載のイメ
ージ処理装置。 19.いずれの構成ページ(125,130,135,
140,145)のイメージング終了を待つことなく、
構成されている少なくとも次のページ(図12)のデー
タに対してメモリ管理タスクを実行する手段(70)を
さらに備える上記13または14記載のイメージ処理装
置。 20.前記構成されているページ(110,115)の
データに対して前記メモリ管理タスクを実行する手段
(70)は、いずれの構成ページ(125,130,1
35,140,145)のイメージング終了を待つこと
なく前記メモリ管理タスクを実行する手段を備える上記
13または14記載のイメージ処理装置。
【0081】
【発明の効果】以上の説明から明らかなように、本発明
によれば、改良されたメモリ管理技術によりプリンタの
ページスループットの一貫性を高めることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るメモリ管理を改良す
ることによってマルチページプリントジョブ中のプリン
タの休止を低減する装置およびその方法を示すページプ
リンタ10のブロック図である。
【図2】図1のページプリンタにおけるページパイプの
イメージ処理状態を示すブロック図である。
【図3】ページパイプ120を有するページプリンタ1
0におけるイメージ処理方法を示すフローチャートであ
る。
【図4】現在構成中のページ110のページ構成タスク
をブロックするとともにメモリ40の解放を待っている
状態で実行される圧縮メモリ管理タスクを示すフローチ
ャートである。
【図5】ページ構成タスクをブロックする場合およびメ
モリ不足状態しきい値に該当することを示すフィードバ
ックを受信する場合に生じるデータ圧縮および再配置メ
モリ管理タスクの方法を示すフローチャートである。
【図6】それぞれ異なる時点における断片化回避技術を
用いて圧縮および再配置されるメモリのラスタパッチを
示すブロック図である。
【図7】ラスタパッチの予想的圧縮方法を示すフローチ
ャートである。
【図8】ラスタパッチの予想的圧縮方法を示すフローチ
ャートである。
【図9】インフライト圧縮(および/または再配置)と
ビデオイメージングとの衝突回避の機構を示すブロック
図である。
【図10】ビデオイメージングタスクとインフライトバ
ンド(in-flight band)におけるメモリ管理動作との衝突
回避の機構を示すフローチャートである
【図11】ビデオイメージングタスクとインフライトバ
ンド(in-flight band)におけるメモリ管理動作との衝突
回避の機構を示すフローチャートである
【図12】早期(予想的)ラスタパッチの圧縮を抑制す
るフィードバックの方法を示すフローチャートである。
【図13】インフライトメモリ管理またはポストフライ
トメモリ管理を可能にするためのインフライトバンドに
バインドされた複雑さを示すデータ要素910を有する
インフライトバンドを示すブロック図である。
【図14】インフライトメモリ管理またはポストフライ
トメモリ管理を可能にするためのインフライトバンドに
バインドされた複雑さを示すデータ要素910を有する
インフライトバンドを示すブロック図である。
【図15】バンドにバインドされた複雑さを示すデータ
要素を利用して該バンドのインフライト管理を示すフロ
ーチャートである。。
【符号の説明】 10 ページプリンタ 15 マイクロプロセッサ 25 プリントエンジンコントローラ 30 プリントエンジン 35 I/Oポート 37 ホスト 40 メモリ 45,50,55 ビデオバッファ 60 臨界動作バッファ 65 ROM 67 ASIC 70 マイクロメモリマネージャ 110 現在構成中のページ 115 プリフライト状態のページ 120 ページパイプ 125,130,135,140 構成ページ 145 ポストフライト状態のページ 190 標識(indicia) 905,955 ビデオイメージングバンド 925,930,960,965 ラスタパッチ 915 ビデオコスト 920 過剰時間コスト 935 空き時間 970 スーパーセーフ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティモシー・ピー・ブレイアー アメリカ合衆国 アイダホ州,ボイス,リ バーツリー・ピーエル 6311 (72)発明者 デビット・エル・ランニング アメリカ合衆国 アイダホ州,イーグル・ ステイドラー・シーティー 1656

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】(a)(i)イメージングのために構成さ
    れているページ(110,115)のデータ、および
    (ii)イメージングを待つ少なくとも1つの構成ペー
    ジ(125,130,135,140,145)のデー
    タをメモリ(40)に提供し、 (b)前記イメージングを待つ少なくとも1つの構成ペ
    ージ(125,130,135,140,145)のデ
    ータに対して実行されるメモリ管理タスクを示す標識
    (190)を検出し、 (c)前記標識の検出に応答して、前記構成されている
    ページ(110,115)のデータにメモリ管理タスク
    を実行する、ことを特徴とするイメージ処理方法。
JP11240298A 1998-08-28 1999-08-26 イメ―ジ処理方法 Withdrawn JP2000079729A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/141790 1998-08-28
US09/141,790 US6556309B1 (en) 1998-08-28 1998-08-28 Conservation of printer memory on the composition page in response to page pipe feedback

Publications (2)

Publication Number Publication Date
JP2000079729A true JP2000079729A (ja) 2000-03-21
JP2000079729A5 JP2000079729A5 (ja) 2005-06-23

Family

ID=22497267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11240298A Withdrawn JP2000079729A (ja) 1998-08-28 1999-08-26 イメ―ジ処理方法

Country Status (3)

Country Link
US (1) US6556309B1 (ja)
JP (1) JP2000079729A (ja)
IT (1) IT1308210B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297331A (ja) * 2001-03-30 2002-10-11 Ricoh Co Ltd データ変換装置、データ変換方法、データ変換プログラム、およびデータ変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10307729B8 (de) * 2003-02-24 2004-12-09 Clariant Gmbh Additive zur Inhibierung der Gashydratbildung
JP4418642B2 (ja) * 2003-05-02 2010-02-17 キヤノン株式会社 ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム
US7580145B2 (en) * 2004-07-09 2009-08-25 Toshiba Corporation Method and apparatus for effective job management
US8098399B2 (en) * 2008-12-18 2012-01-17 Pitney Bowes Inc. Method for controlling a feed rate of a printer, and printer employing same
JP6124836B2 (ja) * 2014-04-14 2017-05-10 京セラドキュメントソリューションズ株式会社 電子機器およびメモリー管理方法
WO2016161108A1 (en) 2015-04-01 2016-10-06 Ecolab Usa Inc. Fluorine-containing agents for enhancing hydrate inhibitors

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
US5129049A (en) 1991-05-16 1992-07-07 Hewlett-Packard Company Method and apparatus for preventing print overruns
US6092171A (en) * 1991-09-16 2000-07-18 Advanced Micro Devices, Inc. System and method for using a memory management unit to reduce memory requirements
US5479587A (en) 1992-09-03 1995-12-26 Hewlett-Packard Company Page printer having adaptive data compression for memory minimization
US5483622A (en) 1992-09-03 1996-01-09 Hewlett-Packard Company Page printer having automatic font compression
US5796930A (en) * 1995-11-13 1998-08-18 Varis Corporation System architecture for processing and transporting page-map or bit-map data to a raster print engine
US5797689A (en) * 1996-01-24 1998-08-25 Hewlett-Packard Company Avoiding memory fragmentation in printers
JP3762496B2 (ja) * 1996-11-11 2006-04-05 株式会社沖データ ファクシミリ装置
JPH10147018A (ja) 1996-11-18 1998-06-02 Canon Inc 印刷装置及びメモリ管理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297331A (ja) * 2001-03-30 2002-10-11 Ricoh Co Ltd データ変換装置、データ変換方法、データ変換プログラム、およびデータ変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4516233B2 (ja) * 2001-03-30 2010-08-04 株式会社リコー データ変換装置、データ変換方法、データ変換プログラム、およびデータ変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US6556309B1 (en) 2003-04-29
ITRM990538A0 (it) 1999-08-27
ITRM990538A1 (it) 2001-02-27
IT1308210B1 (it) 2001-12-10

Similar Documents

Publication Publication Date Title
US6040917A (en) Memory partitioning for multi-resolution pauseless page printing
EP1465054B1 (en) Parallel printing system
JP2000079730A (ja) イメ―ジ処理方法
US6985249B2 (en) Variable data printing with optimized cache
JP2000079731A (ja) イメ―ジ処理方法
US6914692B1 (en) Printing control apparatus, data processing method for printing control apparatus, and storage medium storing computer-readable program
US6288793B1 (en) Printer controlling apparatus and method and recording medium for recording program code for executing the same
JP2000079729A (ja) イメ―ジ処理方法
JPH11198462A (ja) 印刷装置及び画像処理方法
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
JPH07203110A (ja) ジョブ印刷方法
US6115134A (en) Scan line splitting in a multi-staged image processing pipeline
US5999272A (en) Balancing compressed storage requirements with decompression times during punt protection processing in a page printer
US6504622B1 (en) Freeing memory in a page printer during punt protection
US20010015820A1 (en) Method and apparatus for conservation of memory in a printer through selective compression of a display list
US6870633B1 (en) Printing device
US6115135A (en) Freeing memory in a page printer during duplex processing
JP2000099291A (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2005153426A (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP6226604B2 (ja) ディスプレイリストを生成する装置、方法、プログラム
JP5150214B2 (ja) 画像形成装置
JP4955582B2 (ja) 画像処理装置及び画像処理プログラム
JPH113184A (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH10244714A (ja) データ処理装置およびデータ処理方法および印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001265548A (ja) 画像処理方法及び画像形成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041006

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070124