JP5349481B2 - ページ記述言語の並行処理 - Google Patents
ページ記述言語の並行処理 Download PDFInfo
- Publication number
- JP5349481B2 JP5349481B2 JP2010525808A JP2010525808A JP5349481B2 JP 5349481 B2 JP5349481 B2 JP 5349481B2 JP 2010525808 A JP2010525808 A JP 2010525808A JP 2010525808 A JP2010525808 A JP 2010525808A JP 5349481 B2 JP5349481 B2 JP 5349481B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- job
- pdl
- postscript
- data
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000001514 detection method Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 24
- 238000009877 rendering Methods 0.000 description 18
- 230000008901 benefit Effects 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 229920000740 poly(D-lysine) polymer Polymers 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 241001479434 Agfa Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000113 differential scanning calorimetry Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012567 pattern recognition method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
- G06F3/1214—Improving printing performance achieving reduced delay between job submission and print start at the submitting node
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1248—Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Record Information Processing For Printing (AREA)
Description
a)プリンタに合わせた速度でのポストスクリプトジョブの実行を阻害する速度限界。
b)複数の中央演算処理装置(CPU)でページを並行処理するために必要とされるように、ポストスクリプトを別個の独立したページに分割できないこと。
c)選択的なページ範囲の再印刷で必要とされるように、選択されたページを効率的に印刷できないこと。
以下に開示する本発明並びに、具体的な性能問題および実施おけるに共通的な傾向を理解するために、典型的なポストスクリプトインタプリタの説明が必要である。ポストスクリプトジョブの処理は、(多くの場合重なり合う)二つの段階、すなわち解釈段階および出力段階からなる。
−ポストスクリプトはインタプリタ言語である。任意の種類のインタプリタ(例:Perl、Java(登録商標))と同様に、解釈を実行する間にポストスクリプトジョブが構文解析されて内部ジョブ構造が生成される。この内部ジョブ構造は、高レベルまたは低レベルのグラフィカルオブジェクトのリンクされたリスト(または木)、ジョブ内のページを記述する複合状態、または他の任意の独自の表現形式であってよい。
−出力段階において、内部ジョブ構造が処理されて必要な出力が作成される。印刷システムの場合、ページがレンダリングされてラスタ(例:生のビットマップ)が生成され、通常はプリンタに送られる。AdobeDistillerの場合、PDFファイルが生成される。他の形式(例:AFP/IPDS)もまた同様の方法を用いて生成することができる。
a)各社は高速化を目指して、極めて効率的なレンダリングシステムおよび独自のハードウェアソリューションを提供することにより、レンダリング技術に相当の投資を行なってきた。
b)マルチCPUシステムが極めて安価になった。主流のCPU技術において現行の汎用CPUは独立CPUとして動作する複数の処理コアを含んでいるのが最新の傾向である。近い将来、8コア、16コア、および32コアのCPUの出現が期待される。
c)今日、ますます多くのジョブが、重負荷の解釈処理を必要とする極めて複雑なグラフィックスおよび膨大な画像を含んでいる。
d)印刷速度が大幅に向上しており、100ppm(ページ/分)を超え、更には1000ppmにも達している。
プリタの変更を必要としない方法および装置を提供することが望ましい。
a)全てのプロセッサにPDFファイル全体を受け渡すことができる。各プロセッサはどのページをレンダリングすべきかが指示される。
b)PDFジョブを一連の単一ページPDFファイルに変換することができる。これらの単一ページPDFファイルをプロセッサへ受け渡すことができるため、各プロセッサはレンダリングが必要なPDFページだけを受け取る。
c)PDFを一連の単一ページポストスクリプトファイルに変換することができる。これらの単一ページポストスクリプトファイルをプロセッサへ受け渡すことができるため、各プロセッサはレンダリングが必要なポストスクリプトページだけを受け取る。
d)単一のPDFまたはポストスクリプトのページではなく、ページチャンク(複数ページからなる塊)を生成して必要なプロセッサに分配することができるため、単一ページの潜在的なリソースオーバーヘッドが減る。そのバリエーションとして、ジョブ全体をプロセッサの数に等しい個数の部分(本例では4個の部分)に分割することができる。
a)印刷システムがポストスクリプト面付けソフトウェアより信頼性が高いと期待されている。面付けシステムよりもはるかに大きいポストスクリプトジョブの組を処理して、DSCおよびパターン認識方法を用いて処理できないジョブに関して充実した報告を行なうことが期待される。
b)印刷システムは面付けソフトウェアよりも極めて高速でなければならない。
a)第1のジョブは複数のプロセッサが存在する利点を享受できない。
b)ジョブプロセッサがページ記憶領域を使い切り、プリンタが先行ジョブを印刷するのを待ちながら長時間アイドル状態に陥る恐れがある。
a)ジョブ構造の欠落とは、ポストスクリプトジョブにおける厳密且つ容易に識別可能な境界の欠如を意味する。
b)ページ相互依存とは、各ページが、複数ページにわたり有効と思われる識別困難なリソースを含み得ることを意味する。
a)解析を実行する間、要求されたリソースを求めてページ全体が解析される。
b)出力パスを実行する間、リソースがジョブヘッダセクションに書き込まれる。それが終わらなければ独立したページを書き込むことができない。
a)1個のPPMLジョブは複数の文書の集合からなる。
b)1個の文書の集合は複数の文書からなる。
c)1個の文書は複数のページからなる。
BeginPage
data, resource, resource, data, data...
EndPage
1.Agfa社、米国特許第5,652,711号(Vennekens)
2.Electronic For Imaging社、WO出願第04/110759号
3.Xerox社、米国特許第6,817,791号(Klassen)
米国特許第5,652,711号はポストスクリプトを含む全てのPDLに応用可能な幅広い特許である。同特許は、PDLデータストリームを並行処理する方法を記述している。これは、データコマンドおよび制御コマンドの組合せとしての印刷ジョブを定義するPDLデータストリームを考慮している。データコマンドがテキスト、グラフィック、および画像のように出力装置により再生する必要があるデータを記述するのに対し、制御コマンドはデータをどのように再現するかを記述するものであり、フォント記述、ページセクション、フォームおよびオーバレイを含んでいてよい。各々の生成された独立データストリームセグメントは、単一のページまたは領域に含まれる画像を記述するデータコマンドを含み、またデータコマンドをどのように解釈すべきかを指示する制御コマンドも含んでいる。
「例えば、ユーザは、ある文書の最初の100のページを5台の別々のプリンタで並行して印刷すること要求する。文書マネージャはその文書を各々20ページからなる5個のセクションに分割し、各のセクションに対して当初のプロローグおよび文書設定を複製する。」
更に、同特許は非DSC準拠ジョブを逆に印刷する最適化された方式を示唆している。
「若干効率的な方式として、文書全体にわたり1回パス(データを読み込んで処理すること)を実行してヘッダに含まれる筈だったが含まれていない内容を見つけてヘッダに追加し、次いで当該ヘッダを1回だけ出力し、続いて全部のページを逆の順序で印刷する。」
当業者は、記述されている方式が殆ど機能しないことを知っている。その理由は、各ページが先行ページから伝播されて「ヘッダ」内では指定できない「setfont」その他のポストスクリプト演算子を含んでいるからである、残念ながら、この最適化さていない方式は、各ページにヘッダを追加することに関連して重大な効率面での理由のため、使用できない。結論として、同特許を用いて効率的な逆印刷をどのように実行するかは明確でない。
1.ヘッダオーバーヘッドの累積を回避する、
2.ページ並行性を利用して上述のチャンクサイズ推定の複雑さを回避する、
3.効率的な範囲指定印刷を実現する、
4.信頼性の高い逆印刷を実現する。
本発明は、上述および他の問題を解決するものである。
1.編成されたジョブは当初のジョブの高レベル構造を提供する。この構造は、ジョブ解析、レポーティング、プリフライト、面付け(imposition)判定その他の処理に役立つ。
2.編成されたジョブは、効率的なページ並行処理を行なうために複数のPDLプロセッサへ受け渡すことができる。
3.選択されたページまたはページ範囲を効率的に印刷することができる。
4.ページを効率的に再配置してページの逆順印刷および他のシーケンスを実現することができる。
編成されたジョブは以下の特性を有する。
1.編成されたジョブは、当初のジョブのデータおよびリソースを再配置しない。
2.編成されたジョブはワークフロー、記憶、性能その他のニーズを満たすべく、複数の形式を用いて効率的にパッケージングできる。
3.最も効率的なパッケージングは、編成されたジョブを、ポインタまたはオフセットを用いて当初のポストスクリプトジョブのセグメントを指示する、ディレクトリに似た別個の外部構造として表すことにより実現され、これにより当初のジョブが保持され、変更されたジョブを書き込むオーバーヘッドを回避することができる。
1.ページの並行印刷はページ独立性を必要としない。ページの並行印刷は、明示的な「リソースマーキング(リソースの印付け)」と共に「ページの分離」だけを必要とする。ページディストリビュータは、ページをレンダリングするプロセッサへ当該ページ全体を受け渡すか、または当該ページに定義されたリソースだけを当該ページをレンダリングしない他のプロセッサへ受け渡す必要がある。上述の理由により、ページから独立しないように設計されているPPMLは、効率的なページ並行性の実現に理想的に適している。
2.ジョブ並行性を用いて短いジョブを最も効率的に処理することができる。短いジョブの定義はシステム、プロセッサの数、プリンタ速度、予想されるジョブの複雑さ等に依存する。いくつかのシステムにおいて、短いジョブは最大4ページまで含んでいるものと定義され、他のいくつかのシステムでは短いジョブは最大100ページまたはそれ以上を含んでいるものと定義される。
3.リソースの集中度(濃度)は、中間サイズまたは大規模サイズのポストスクリプトジョブ内で急激に低下する。すなわち、大部分のリソースは、第1ページの前に、または第1ページ内で定義される。第2ページは通常、第1ページより少ないリソースを含んでいる。第3ページは通常、第2ページより更に少ないリソースを含んでいる。ジョブが500ページを含んでいる場合、250ページ目に何らかのリソースが含まれている可能性は低い。100,000を超える文書を含む典型的なポストスクリプトに基づくVDPジョブの場合、最初の100文書を過ぎて何らかのリソースが存在する可能性は極めて低い。
BeginJob
EndJob
BeginDoc
EndDoc
BeginPage
EndPage
Data
純粋なポストスクリプトジョブ(文書の表記(notion of docs)を含んでいない)の場合、次の5種のタグだけが必要である。
BeginJob
EndJob
BeginPage
EndPage
Data
2ページを含んでいる1個の文書を含む編成されたジョブの簡単な例は以下のタグを含んでいる。
BeginJob
Data
BeginDoc
BeginPage
Data
EndPage
Data
BeginPage
Data
EndPage
EndDoc
EndJob
編成されたジョブの正式な記述は以下の通りである。
job = BeginJob, [doc | Data]*, EndJob
doc = BeginDoc, [page | Data]*, EndDoc
page = BeginPage, [Data]*, EndPage
上の記述の言語的記述は以下の通りである。
−ジョブはBeginJobおよびEndJobタグによりカプセル化されており、複数のdocおよびDataセグメントを含んでいる。
−Doc(またはVPS用語でいうところのブックレット(Booklet))はBeginDocおよびEndDocタグによりカプセル化されており、複数のページおよびデータセグメントを含んでいる。
−ページはBeginPageおよびEndPageタグによりカプセル化されており、複数のDataセグメントを含んでいる。
−範囲がグローバル、ジョブおよびドキュメントであるデータは、当該ジョブを処理すべく指定された全てのプロセッサに分配される。
−範囲が所与ページのページであるデータは、1個のプロセッサ、すなわち当該ページを処理すべく指定されたプロセッサだけに分配される。
ディストリビュータは、以下の規則に従い文書の並行処理のために編成されたジョブを割り当てる。
−範囲がグローバルおよびジョブであるデータは、当該ジョブを処理すべく指定された全てのプロセッサに分配される。
−範囲が所与のドキュメントのドキュメントおよびページであるデータは、1個のプロセッサ、すなわち当該ドキュメントを処理すべく指定されたプロセッサだけに分配される。
編成されたジョブは、システムの記憶および性能必要を満たすようにパッケージングできる。
−編成されたジョブはXMLを用いてパッケージングできる。各セグメントは、XML構造として表される。これは、(バイナリデータに関して知られるあらゆる問題と共に)PPMLと同様である。
−より効率的なパッケージングは各セグメントのタグおよび長さの形式を用いる。これは公知の形式(例えばTAR形式)と同様であり、効率的なバイナリ表現を可能にする。
−更により効率的なパッケージングは、タグを含んでいてポインタまたはオフセットを用いて当初のポストスクリプトジョブのセグメントを指すディレクトリと同様の別個の外部構造として表される。これにより、本発明の一実施形態においてジョブ全体が保持されるという本発明の請求項の一つが正当化される。これは、ポストスクリプトジョブ変換の領域において公知の技術ではなく、本発明の結果としてのみ利用可能な独特の表現である。
1.ジョブを編成するために完全なパス(ジョブデータを読み込んで処理すること)を実行する。これにより、ページ境界およびリソースが印付けされる。
2.上述のパスを行なう間、ページ間に残るグラフィック状態に影響を及ぼすプロデューサ固有の全てのイディオムを集めて各ページに関連付ける。そのようなイディオムの例として、Windows(登録商標)ドライバにより生成される「fontnameJi」コマンドがある。このコマンドは、フォントを「fontname」に設定する。これがリソースの収集および累積とは非常に異なる点に注意されたい。例えば、Windows(登録商標)ドライバの場合、各ページは、最後の「Ji」コマンドだけをページに関連付ければよい(リソースの場合のように先行する全ての「Ji」コマンドである必要がない)。その結果、関連付けられた状態は極めて小さくなる(通常、数百バイト以下と測定される)。
3.全てのリソースを実行する。これにより適切なポストスクリプト仮想メモリ(VM)状態が生成される。
4.ページをコマンドの処理ノードに逆順で分配する。ページを分配する前に、グラフィック状態の必要な部分を設定する小さいヘッダを追加する。
上述の方式は極めて広範な印刷ジョブで機能する。
−純粋なドライバ(連鎖内の要素の数は1に等しい)
−ネイティブアプリケーション(連鎖内の要素の数は1に等しい)
−アプリケーション/ドライバの組み合せ(連鎖内の要素の数は2に等しい)
−連鎖内のプロデューサの数が2より多いいくつかのケース(例:LaserWriter8ドライバを使用するQuarkXPressを使用するCreoDarwin。これは3要素プロデューサチェインを構成する)。
スナップショットにおいて、オーガナイザは行単位でポストスクリプトジョブを構文解析する。開始時点ではプロデューサチェインは空である(プロデューサは未知)。汎用DSC処理82が用いられる。
大多数の行はプロデューサプロセッサの関心対象外である。しかし、潜在的に行が関心対称になり得る場合、より精緻な処理が実行される。リソーススニファ(探知機能)85により行がリソースパターンであると認識された場合、プロデューサプロセッサはプロデューサプロセッサに固有の論理を起動してリソースに印付けを行う。このプロデューサプロセッサ固有の論理には、リソースの始まりを見つけるための逆方向探索およびリソースの終わりを見つけるための順方向探索が含まれている。リソースが見つかればプロセッサはオーガナイザにリソースの開始位置および終了位置を通知する。オーガナイザは、上述のパッケージングスキームに従いリソースに印を付けて、自身の位置を当該リソースの直後まで前進させる。これにより当該リソースの処理が完了する。
−オーガナイザは、AdobeAcrobatに行を提供する。
−当該行が拒絶された場合、オーガナイザは当該行をLaserWriter8に提供する。
−当該行が拒絶された場合、オーガナイザは汎用DSCプロセッサを用いてこれを処理する。
図8において、汎用DSCプロセッサ82は「Adobe文書構造規約仕様」に定義された汎用DSC処理フローの役割を果たす。
クリエイタスニファ83は、プロデューサチェインを識別する役割を果たす。上述のように、単一のクリエイタまたは単一のプロデューサだけではなく、複数のプロデューサからなる生成チェインについて議論する方がより正確である。%%CreatorDSCを使用するのは一般に信頼性が高くない。最も信頼性の高い方式は、ProcSets、すなわち特定のプロデューサに必要なポストスクリプトプロシージャを定義するポストスクリプトジョブ内の特別なセクションを解析することである。このように、ジョブがLaserWriter8ドライバにより生成された場合、オーガナイザはある時点でLaserWriter8ProcSetsに遭遇する。ジョブがAdobeAcrobatアプリケーションにより生成された場合、オーガナイザはある時点でAdobeAcrobatProcSetsに遭遇する。仮想的な例において、XyzSoftにより生成されたが、XyzSoftProcSetsが存在しない場合、単にXyzSoftが当該ジョブで特定のXyzSoftリソースを一切使用しないことを意味するだけであり、従ってXyzSoftパターンを解析する必要がない。プロデューサのバラエティを考慮すれば、プロデューサを決定する際に%%CreatorDSCおよび他のDSCを解析することは、ある場合には依然として有益である。
ページデータスニファ84は、ページ全体をリソースとしてマーキングすべきか否かを決定する役割を果たす。明らかに、この論理はプロデューサごとに異なる。
リソーススニファ85は、リソースを認識および印付けする役割を果たす。リソース探知については上で述べた。実装者は、上述のリソースページのショートカットを使用しない限り、殆どの時間を製品固有のリソーススニファの実装に費やすことを覚悟しなければならない。複数の面付け実装を考慮すると、当業者は本発明を効率的に実装するために必要なリソース探知を実装することができる。
画像スニファ86は、画像の境界を検出して画像を効率的にスキップする役割を果たす。画像は極めて膨大になり得るため、認識して効率的にスキップすることが有益である。明らかに、DSC規約に従い画像をスキップするために汎用DSCプロセッサ82ロジックを用いている。このロジックは、非DSC準拠に対応するためにプロデューサ固有のパターン認識ロジックにより拡張する必要がある。
EPSスニファ87は、ポストスクリプトジョブ内のカプセル化されたポストスクリプト(EPS)境界を検出してEPSを効率的にスキップする役割を果たす。残念ながら、いくつかのプロデューサは、EPSフラグメントの埋め込みにDSC機構を使用しない。リソースの構文解析からEPSの認識およびEPSのスキップに失敗すれば、結果的に不正確な構文解析(例:余分なページの生成、結果的にリソース衝突を引き起こす余分なリソースの印付け)が生じる恐れがある。上述の理由により、EPS探知のために特別なプロデューサ固有のパターン認識ロジックが必要である。
グラフィック状態スニファ88は、持続的なグラフィック状態に影響を及ぼす全てのプロデューサ固有のイディオムを収集する役割を果たす。このプロデューサ固有のスニファは、ページをまたがって持続するグラフィック状態に影響を及ぼす全てのプロデューサ固有のイディオムを収集して上述のように各ページに関連付けるために必要である。そのようなイディオムの例として、ページをまたがって持続するポストスクリプト「setfont」コマンドのエイリアスである、Windows(登録商標)ドライバにより生成された「fontnameJi」コマンドである。
<補遺>
実施の形態は、以下のような側面を含んでいる。
(1)ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブを編成する方法であって、前記編成されたジョブはページ独立である必要がなく、複数のプロセッサにより効率的に分割および処理可能であって、
PDLジョブに対して構文解析パスを1回実行するステップと、
PDLジョブプロデューサを検出するステップと、
前記PDLジョブ内の共通リソースを検出して印付けするステップと、
前記PDLジョブ内のページ境界を検出して印付けするステップと、
オリジナルの前記PDLジョブについての前記検出を行うステップ群に従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、編成された表現を生成するステップとを含む方法。
(2)ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブの順序替えのための方法であって、
PDLジョブに対して構文解析パスを1回実行するステップと、
PDLジョブプロデューサを検出するステップと、
前記PDLジョブ内の共通リソースを検出して印付けするステップと、
前記PDLジョブ内のページ境界を検出して印付けするステップと、
各ページのグラフィック状態を規定するコマンドを記録するステップと、
オリジナルの前記PDLジョブについての前記検出を行うステップ群に従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、編成された表現を生成するステップと、
前記リソースを実行するステップと、
グラフィック状態コマンドを、順序替えして送出される前記ページ群の先頭に置くステップとを含む方法。
(3)並べ替えがページ反転である、(2)に記載の方法。
(4)前記PDLジョブがポストスクリプトジョブである、(1)に記載の方法。
(5)印付けが前記PDLジョブ内で行なわれる、(1)に記載の方法。
(6)印付けが、前記編成された表現から前記PDLジョブのセクションを指示することにより行なわれる、(1)に記載の方法。
(7)編成された表現から小さいフォームファクタが得られる、(1)に記載の方法。
(8)ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブの順序替えのための装置であって、
PDLジョブに対して構文解析パスを1回実行する手段と、
PDLジョブプロデューサを検出する手段と、
前記PDLジョブ内の共通リソースを検出する手段および印付けする手段と、
前記PDLジョブ内のページ境界を検出して印付けする手段と、
各ページのグラフィック状態を規定するコマンドを記録する手段と、
オリジナルの前記PDLジョブについての前記検出を行う各手段に従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、編成された表現を生成する手段と、
前記リソースを実行する手段と、
グラフィック状態コマンドを前記ページ群の先頭に置く手段と、
前記ページ群を順序替えして送出する手段とを含む装置。
(9)前記ページ群を順序替えして送出する手段がページ反転の手段である、(8)に記載の装置。
(10)前記PDLジョブがポストスクリプトジョブである、(8)に記載の装置。
(11)マーキングが前記PDLジョブ内で行なわれる、(8)に記載の装置。
(12)マーキングが、前記編成された表現から前記PDLジョブのセクションを指示することにより行なわれる、(8)に記載の装置。
(13)ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブを順序替えする装置であって、
PDLジョブに対して構文解析パスを1回実行するプロセッサと、
PDLジョブプロデューサを検出するクリエイタスニファと、
前記PDLジョブ内の共通リソースを検出および印付けするリソーススニファと、
前記PDLジョブ内のページ境界を検出して印付けするデータスニファと、
各ページのグラフィック状態を規定するコマンドを記録するプロセッサと、
オリジナルの前記PDLジョブ内の前記検出ステップに従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、編成された表現を生成するプロセッサと、
前記リソースを実行するプロセッサと、
グラフィック状態コマンドを前記ページの先頭に置くプロセッサと、
前記ページを順序替えして送出するプロセッサと、
を備える装置。
Claims (3)
- ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブを編成する方法であって、前記編成されたジョブはページ独立である必要がなく、複数のプロセッサにより効率的に分割および処理可能であって、
PDLジョブに対して構文解析パスを1回実行するステップと、
PDLジョブプロデューサを検出するステップと、
前記PDLジョブ内の共通リソースを検出して印付けするステップと、
前記PDLジョブ内のページ境界を検出して印付けするステップと、
オリジナルの前記PDLジョブについての前記検出を行うステップ群に従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、前記共通リソースの印及び前記ページ境界の印を含む編成された表現を生成するステップとを含む方法。 - ページ独立性を欠くページ記述言語(PDL)で記述された印刷ジョブの順序替えのための方法であって、
PDLジョブに対して構文解析パスを1回実行するステップと、
PDLジョブプロデューサを検出するステップと、
前記PDLジョブ内の共通リソースを検出して印付けするステップと、
前記PDLジョブ内のページ境界を検出して印付けするステップと、
各ページのグラフィック状態を規定するコマンドを記録するステップと、
オリジナルの前記PDLジョブについての前記検出を行うステップ群に従って、前記PDLジョブ内のデータおよびリソースを再配置することなく、前記共通リソースの印及び前記ページ境界の印を含む編成された表現を生成するステップと、
前記リソースを実行するステップと、
グラフィック状態コマンドを、順序替えして送出される前記ページ群の先頭に置くステップとを含む方法。 - 並べ替えがページ反転である、請求項2に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/858,477 | 2007-09-20 | ||
US11/858,477 US20090080025A1 (en) | 2007-09-20 | 2007-09-20 | Parallel processing of page description language |
PCT/US2008/010658 WO2009038670A1 (en) | 2007-09-20 | 2008-09-12 | Parallel processing of page description language |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010541041A JP2010541041A (ja) | 2010-12-24 |
JP2010541041A5 JP2010541041A5 (ja) | 2011-11-04 |
JP5349481B2 true JP5349481B2 (ja) | 2013-11-20 |
Family
ID=40303641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010525808A Active JP5349481B2 (ja) | 2007-09-20 | 2008-09-12 | ページ記述言語の並行処理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090080025A1 (ja) |
EP (1) | EP2191361A1 (ja) |
JP (1) | JP5349481B2 (ja) |
CN (1) | CN101802770A (ja) |
WO (1) | WO2009038670A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100202008A1 (en) * | 2009-02-11 | 2010-08-12 | Boris Aronshtam | Comprehensive print job skeleton creation |
US20100228951A1 (en) * | 2009-03-05 | 2010-09-09 | Xerox Corporation | Parallel processing management framework |
US20100315666A1 (en) * | 2009-06-11 | 2010-12-16 | Yitzhak Lazer | High speed page transmission |
JP5393343B2 (ja) * | 2009-08-21 | 2014-01-22 | キヤノン株式会社 | 印刷データ処理装置、印刷データ処理方法、プログラム |
JP5424778B2 (ja) * | 2009-08-21 | 2014-02-26 | キヤノン株式会社 | 印刷データ処理装置、印刷データ処理方法、プログラム |
JP5531531B2 (ja) * | 2009-09-25 | 2014-06-25 | 富士ゼロックス株式会社 | 画像処理システム及び画像処理プログラム |
US8665469B2 (en) * | 2010-02-10 | 2014-03-04 | Xerox Corporation | Page parallel rip with interleaved chunks |
US8665457B2 (en) * | 2010-03-10 | 2014-03-04 | Ricoh Company, Ltd. | Postscript stream interpreter with integrated pagination |
JP5538995B2 (ja) * | 2010-04-30 | 2014-07-02 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US8427684B2 (en) | 2010-06-14 | 2013-04-23 | Infoprint Solutions Company Llc | Resource conflict resolution mechanism |
JP2012200956A (ja) * | 2011-03-24 | 2012-10-22 | Fuji Xerox Co Ltd | 画像処理システムおよび画像処理プログラム |
US8780373B2 (en) * | 2011-06-13 | 2014-07-15 | Ricoh Company, Ltd. | Serial raster image processors used for error correction in a parallel raster image processor environment |
US8693016B2 (en) | 2011-07-20 | 2014-04-08 | Ricoh Company, Ltd. | Processing multi-page segments in a parallel RIP environment with a serial RIP |
JP4952859B1 (ja) * | 2011-09-15 | 2012-06-13 | 富士ゼロックス株式会社 | 印刷データ処理システム |
US9052854B2 (en) * | 2012-03-30 | 2015-06-09 | Xerox Corporation | Parallel printing system |
JP5799968B2 (ja) * | 2013-03-14 | 2015-10-28 | 富士ゼロックス株式会社 | 印刷システム |
JP6827798B2 (ja) * | 2016-12-21 | 2021-02-10 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、プログラム。 |
US11989601B1 (en) * | 2023-03-27 | 2024-05-21 | Kyocera Document Solutions Inc. | Methods and printing system using a failover raster image processors |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241936A (ja) * | 1992-03-03 | 1993-09-21 | Mitsubishi Electric Corp | ガーベッジコレクション処理方式及びその記憶装置 |
US6243172B1 (en) * | 1995-01-18 | 2001-06-05 | Varis Corporation | Method and system for merging variable text and images into bitmaps defined by a page description language |
DE69524381T2 (de) * | 1995-03-23 | 2002-08-14 | Agfa-Gevaert N.V., Mortsel | Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache |
US6657741B1 (en) * | 1995-08-07 | 2003-12-02 | Tr Systems, Inc. | Multiple print engine system with selectively distributed ripped pages |
JPH10198539A (ja) * | 1997-01-08 | 1998-07-31 | Fuji Xerox Co Ltd | 画像形成装置および画像形成方法 |
US6825943B1 (en) * | 1999-11-12 | 2004-11-30 | T/R Systems | Method and apparatus to permit efficient multiple parallel image processing of large jobs |
US6509974B1 (en) * | 2000-05-17 | 2003-01-21 | Heidelberger Druckmaschinen Ag | Automated job creation for job preparation |
JP4393076B2 (ja) * | 2002-02-20 | 2010-01-06 | キヤノン株式会社 | 画像処理方法及びその装置 |
US6817791B2 (en) * | 2003-04-04 | 2004-11-16 | Xerox Corporation | Idiom recognizing document splitter |
US7861156B2 (en) * | 2003-05-29 | 2010-12-28 | Electronics For Imaging, Inc. | Methods and apparatus for parallel processing page description language data |
WO2004110759A2 (en) * | 2003-06-09 | 2004-12-23 | Goss International, Inc. | Offset printing press with cantilevered printing and inking modules |
JP2006039719A (ja) * | 2004-07-23 | 2006-02-09 | Fuji Xerox Co Ltd | 画像処理装置、及び画像処理方法 |
-
2007
- 2007-09-20 US US11/858,477 patent/US20090080025A1/en not_active Abandoned
-
2008
- 2008-09-12 EP EP08831365A patent/EP2191361A1/en not_active Withdrawn
- 2008-09-12 WO PCT/US2008/010658 patent/WO2009038670A1/en active Application Filing
- 2008-09-12 CN CN200880107937A patent/CN101802770A/zh active Pending
- 2008-09-12 JP JP2010525808A patent/JP5349481B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN101802770A (zh) | 2010-08-11 |
WO2009038670A1 (en) | 2009-03-26 |
EP2191361A1 (en) | 2010-06-02 |
US20090080025A1 (en) | 2009-03-26 |
JP2010541041A (ja) | 2010-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5349481B2 (ja) | ページ記述言語の並行処理 | |
US20100202008A1 (en) | Comprehensive print job skeleton creation | |
US8103952B2 (en) | Directed SAX parser for XML documents | |
JP5183444B2 (ja) | 印刷制御装置、印刷制御方法、及びコンピュータプログラム | |
JP3417742B2 (ja) | 印刷処理装置および方法 | |
JP5238526B2 (ja) | 印刷リソース管理のためのシステム及び方法 | |
EP1465053A2 (en) | Idiom recognizing document splitter | |
US20100079798A1 (en) | Image processing apparatus, image processing method, program therefor, and medium storing program | |
JP2008262543A (ja) | Pdfダイレクトプリントのためのpdfデータの不連続伝送 | |
JP2008059279A (ja) | 文字列出力処理を最適化する技術 | |
JPH09114611A (ja) | 印刷処理装置および方法 | |
US7973967B2 (en) | Pseudo-multithread framework for XPSDrv filter pipeline | |
JP5261250B2 (ja) | ページ記述言語を処理する印刷データ処理装置、方法及びコンピュータ可読媒体 | |
JP2014076602A (ja) | 印刷制御装置、画像形成システムおよびプログラム | |
US20080158605A1 (en) | Method, Device and Computer Program Product for Generating a Page and/or Domain-Structured Data Stream from a Line Data Stream | |
US20050203919A1 (en) | Method and apparatus for reordering an arbitrary order signal sequence into a streamable signal sequence | |
JP2010026895A (ja) | 情報処理装置、画像形成装置、およびプログラム | |
CN101261621A (zh) | 文档处理方法及装置 | |
US8984397B2 (en) | Architecture for arbitrary extensible markup language processing engine | |
CN112114817A (zh) | 基于cobol语言的数据字典字段信息获取方法及装置 | |
US9052854B2 (en) | Parallel printing system | |
JP5244770B2 (ja) | 画像形成装置 | |
JP2012098927A (ja) | 情報処理装置、情報処理方法、プログラム及び情報処理システム | |
US8665457B2 (en) | Postscript stream interpreter with integrated pagination | |
JP3589255B2 (ja) | 文書処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5349481 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |