JP5393343B2 - 印刷データ処理装置、印刷データ処理方法、プログラム - Google Patents

印刷データ処理装置、印刷データ処理方法、プログラム Download PDF

Info

Publication number
JP5393343B2
JP5393343B2 JP2009192236A JP2009192236A JP5393343B2 JP 5393343 B2 JP5393343 B2 JP 5393343B2 JP 2009192236 A JP2009192236 A JP 2009192236A JP 2009192236 A JP2009192236 A JP 2009192236A JP 5393343 B2 JP5393343 B2 JP 5393343B2
Authority
JP
Japan
Prior art keywords
page
print data
pdl
data
print
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
Application number
JP2009192236A
Other languages
English (en)
Other versions
JP2011042118A (ja
Inventor
隆 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009192236A priority Critical patent/JP5393343B2/ja
Priority to US12/855,537 priority patent/US8625133B2/en
Priority to CN201010259105.0A priority patent/CN101998018B/zh
Publication of JP2011042118A publication Critical patent/JP2011042118A/ja
Application granted granted Critical
Publication of JP5393343B2 publication Critical patent/JP5393343B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • 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/124Parallel printing or parallel ripping
    • 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
    • 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/1827Accessing generic data, e.g. fonts
    • 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/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • 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/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus

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)
  • Record Information Processing For Printing (AREA)

Description

本発明は、印刷データ処理装置、印刷データ処理方法、プログラムに関するものである。
複写機を始めとする画像形成装置において画像出力を行う際、印刷データであるPDL(Page Description Language)を解析して中間データを生成しラスターデータへと展開することが知られている。PDLには文字や図形と言ったデータの描画命令が定義されている。
このPDLには様々な種類がある。例えば、文字や図形と言ったデータがページ間で依存性がなく夫々のページ毎に独立している「独立PDL」形式がある。
また、逆に、上述のデータを複数のページで共有する「非独立PDL」形式がある。なお、上述のデータをリソースと呼ぶ。さらに、独立PDLについては、ページの先頭データへダイレクトにアクセス可能な「ダイレクトアクセス可能なPDL」形式がある。
ところで、近年、ハードウェア技術の向上によりマルチコアのプロセッサが開発されMFP(Multi Function Peripheral)においてもマルチコアのプロセッサが搭載されている。搭載することで、コピー及びプリント等の複数の機能をストレスなく並列実行できる。
特許文献1には、マルチコアのプロセッサを利用し、PDLに基づく描画処理を高速化する技術が開示されている。
上述の特許文献に開示された発明は、PDLをページ単位に異なるプロセッサに割り当てる際、複数ページにわたる印刷コマンド列(PDL)を読み、実際の描画(実描画)を行うことなく各ページの描画属性パラメータの設定を行う空描画を実行する。次に、空描画の終了したページの印刷コマンド列の実描画処理を各プロセッサに実行させる発明である。
特開平05−201077号公報
しかしながら、従来のマルチコアのプロセッサを利用した描画処理は、PDLの特性を考慮して描画処理を行っていなかった。
本発明の一実施形態に係る装置は、印刷データに基づき中間データを生成する第1のプロセッサと、印刷データに基づき中間データを生成する第2のプロセッサと、印刷データを受信する受信手段と、リソースを複数のページで共有する非独立な印刷データであるか否かを判断する第1の判断手段と、前記第1の判断手段により非独立な印刷データではないと判断された印刷データが、夫々のページにおける先頭の解析命令にダイレクトアクセスできるダイレクトアクセス可能な印刷データであるか否かを判断する第2の判断手段と、を有し、前記受信手段により受信された印刷データが前記第1の判断手段により非独立な印刷データであると判断された場合、前記第1のプロセッサは、nページ目までの印刷データのリソースを展開し、nページ目より前の中間データは生成せずに展開されたリソースを利用してnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのnページ目よりも後ろのページであるmページ目までの印刷データのリソースを展開し、mページ目より前の中間データは生成せずに展開されたリソースを利用してmページ目の中間データを生成し、前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データであると判断された場合、前記第1のプロセッサは、印刷データのnページ目より前のページの印刷命令を解析せずに、nページ目の先頭の印刷命令から解析を始めてnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのmページ目より前のページの印刷命令を解析せずに、mページ目の先頭の印刷命令から解析を始めてmページ目の中間データを生成し、前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データでないと判断された場合、前記第1のプロセッサは、印刷データのリソースを展開せずに、nページ目の先頭の解析命令を見つけるために印刷命令をnページ目より前のページから解析し、nページ目の中間データを生成し、前記第2のプロセッサは、印刷データのリソースを展開せずに、mページ目の先頭の解析命令を見つけるために印刷命令をmページ目より前のページから解析し、mページ目の中間データを生成することを特徴とする。
本発明によれば、PDLの特性を考慮することでより高速に描画処理することができる。
実施例1における画像形成装置102のシステム構成の一例を示した図。 実施例1における画像形成装置102のモジュール構成の一例を示した図。 実施例1における印刷処理のフローチャート。 実施例1におけるPDL判定処理のフローチャート。 実施例1におけるページ非独立なPDLのスケジューリングのフローチャート。 実施例1におけるページ独立なPDLのスケジューリングのフローチャート。 実施例1におけるページダイレクトアクセス可能なPDLのスケジューリングのフローチャート。 実施例1におけるページ非独立なPDLの解析処理のフローチャート。 実施例1におけるページ独立なPDLの解析処理のフローチャート。 実施例1におけるページダイレクトアクセス可能なPDLの解析処理のフローチャート。 実施例1におけるDL生成処理のフローチャートを示した図。 実施例1における展開処理のフローチャートを示した図。 実施例1におけるPDL管理テーブルの一例を示した図。 実施例1におけるページ管理テーブルの一例を示した図。 実施例1におけるスケジューリングによる処理時間の一例を示した図。
本発明の各実施例にて使われる用語について説明する。PDLとは、文書を印刷する際、文字や図形の位置情報、書式情報などが定義された印刷データのことである。リソースとは、複数のページで構成されるPDLを中間データへ変換する際に、繰り返し利用される一度展開されたデータのことである。リソースの展開とは、例えば、圧縮されたイメージデータをBitmapへ変換することや、文字コードを文字パターン(文字のイメージ)へ変換することである。非独立PDLとは、リソースを複数のページで共有するPDLのことである。独立PDLとは、各ページ毎に文字や図形と言ったデータが定義されており、リソースを複数のページで共有する必要のないPDLのことである。ダイレクトアクセス可能なPDLとは、PDLの夫々のページにおける先頭の解析命令にダイレクトにアクセスできる、リソースを複数のページで共有する必要のないPDLのことである。なお、独立PDLは、PDLの夫々のページにおける先頭の解析命令にダイレクトにアクセスできない。解析とは、PDLの印刷命令を読み込み、読み込んだ印刷命令がどのような命令なのかを解釈することである。
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
以下、図1を参照して実施例1における画像形成装置の構成について詳細に説明をする。
図1は、実施例1における、印刷データ処理を行う画像形成装置102の構成の一例を示す図である。図1に示す画像形成装置102は、次の構成を有する。ネットワークI/F202、RAM(Random Access Memory)203、ROM(Read Only Memory)208、HDD(Hard Disc Drive)217を備える。さらに、CPU(Central Processing Unit)1 218およびCPU2 219、エンジンI/F212、プリンタエンジン213を備える。
ネットワークI/F202は、外部デバイスと情報の入出力を行うためのユニットであり、外部デバイスが送信したPDLを、ネットワーク104を通して受信する。
RAM203は、様々な情報を一時的に格納するユニットであり、受信バッファ204、ワークメモリ205、フレームバッファ206、ラスタメモリ207、共有メモリ220から構成される。
受信バッファ204は、ネットワークI/F202を介して外部デバイスから受信したPDLを格納する記憶領域である。ワークメモリ205は、受信したPDLを中間コードに変換する際に、一時的に使用するワーク用の記憶領域である。フレームバッファ206は、画像形成装置102内部で変換された中間コードなどを格納する記憶領域である。ラスタメモリ207は、中間コードを展開しレンダリングが行われたデータを格納する記憶領域である。
共有メモリ220は、CPU1 218またはCPU2 219、または両方のユニットが、ROM208内のプログラムを実行することで生成したデータを格納するための記憶領域である。また、両方のユニットから共有メモリ220にアクセスを可能にすることで夫々のユニットはデータを共有することができる。例えば、共有メモリ220にリソースを格納することで両方のCPUはリソースを共有することができる。
ROM208は、画像形成装置102におけるCPU1 218またはCPU2 219、または両方のユニットが処理を実行する制御プログラムを格納するためのユニットである。ROM208は、PDL解析プログラム209、DL(Display List)である中間データを生成するDL生成プログラム210、展開処理プログラム214、ページスケジューラ215を含む。
PDL解析プログラム209は、受信バッファ204から読み出したPDLが複数種のPDL形式の内どのPDL形式であるかを特定し、PDLの形式が特定されたことに応じて、PDL解析処理をCPUに実行させるためのプログラムである。
DL生成プログラム210は、PDL解析プログラム209において解析されたデータから中間データを生成し、中間データをフレームバッファ206に格納する処理をCPUに実行させるためのプログラムである。
展開処理プログラム214は、フレームバッファ206に格納された中間データをレンダリングしてビットマップへ展開し、展開されたビットマップをラスタメモリ207に格納する処理をCPUに実行させるプログラムである。
ページスケジューラ215は、CPU1 218とCPU2 219が実行するPDL解析プログラム209、DL生成プログラムに、PDLの各ページの解析処理またはDLの生成処理の実行を依頼する処理をCPUに実行させるプログラムである。なお、PDL解析プログラムやDL生成プログラム等の印刷データから中間データを生成する際に用いられるプログラムを印刷データ処理プログラムと称する。
また、外部デバイスから受信したPDLの形式を判別し、その判別結果に応じて、画像形成装置102が搭載する2つのCPU夫々にPDL内の所定のページを振り分ける処理を行う。なお、ページスケジューラの詳細は後述する。また、上述のROM208に格納されているプログラムは、CPU1 218またはCPU2 219以外の第3のプロセッサであるCPU(ここでは、図示しない)が実行しても良い。
第1のプロセッサに相当するCPU218および第2のプロセッサに相当するCPU219は、画像形成装置201の演算処理や制御を行う中央演算処理装置(CPU)である。2つのユニットは、ROM208に格納された所定のプログラムをRAM203にロードしてデータ処理を実行する。夫々のCPUには、コアプロセッサと呼ばれる命令発行器や演算器などを組み合わせて動作する集合体を1つずつ持っている。
エンジンI/F212は、プリンタエンジン213との信号の入出力を行うエンジンI/Fである。プリンタエンジン213は、イメージデータに基づき周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写してトナーを定着させ印字するプリンタエンジンである。
次に、本発明の実施例1におけるページスケジューラ215による処理の概要について説明する。図2は、ページスケジューラ215のモジュール構成の一例を示す図である。
点線で囲まれた302は、CPU1 218に実行させる、PDL解析プログラム209とDL生成プログラム210を示しており、PDLはページ単位で処理される。点線で囲まれた303は、CPU2 219に実行させる、PDL解析プログラム209とDL生成プログラム210を示しており、PDLはページ単位で処理される。
310は、ページスケジューラからCPU1 218のPDL解析プログラム209への制御を示す。311は、ページスケジューラからCPU2 219のPDL解析プログラム209への制御を示す。320は、ページスケジューラからCPU1 218のDL生成プログラム210への制御を示す。321は、ページスケジューラからCPU2 219のDL生成プログラム210への制御を示す。
これらの制御については、関数コール、プロセス間通信等により行なう。CPU1 218で動作するPDL解析プログラム209は、ページスケジューラ215からの制御310に従い、受信バッファ204に格納されたPDLを読み込みPDL解析処理を実行する。
CPU1 218で動作するDL生成プログラム210は、ページスケジューラ215からの制御320とPDL解析プログラム209から渡された解析結果に基づきDL生成処理を実行し、フレームバッファ206にDLを格納する。
CPU2 219で動作するPDL解析プログラム209、DL生成プログラム210も同様の処理を行なう。このようなモジュール構成により、PDLのページ並列処理を実現している。
図3は、実施例1における印刷処理のフローチャートを示す図である。
ステップS1001で、ネットワーク104に接続されたPC等から送信されたPDLをネットワーク104経由して、ネットワークI/F202が受信し、受信バッファ204に格納する。ステップS1002で、ページスケジューラ215は、PDL解析プログラム209に、受信したPDLの種類がどのPDLかを判定するためのPDL判定処理を依頼する。
ステップS1003で、PDL解析プログラム209が判定したPDLが、非独立なPDLかをページスケジューラ215が判定する。非独立なPDLと判定した場合、ステップS1007で、ページスケジューラ215は、非独立PDL用のページスケジューリング処理を実行する。PDL解析プログラム209が判定したPDLがページ独立なPDLの場合、ステップS1004で、ページスケジューラ215は、さらにページの先頭データへダイレクトアクセス可能なPDLかを判定する。
判定したPDLがダイレクトアクセス不可能なPDLの場合、ステップS1006で、ページスケジューラ215は、ページ独立PDL用のページスケジューリング処理を実行する。判定したPDLがダイレクトアクセス可能なPDLの場合、ステップS1007で、ページスケジューラ215は、ダイレクトアクセスPDL用のページスケジューリング処理を実行する。このように、夫々のPDLの種類に応じた適切なPDL解析処理とDL生成処理を実行することで、複数のプロセッサによる描画処理を適切に行うことができる。
例えば、独立PDL/ダイレクトアクセス可能なPDLの場合、複数のページでリソースを共有しないので、複数のPDL解析処理がリソースを共有するような処理は不要である。そこで、この場合は、複数のPDL解析処理がリソースを共有するような処理を省く。逆に、非独立の場合、複数のページでリソースを共有するので、複数のPDL解析処理がリソースを共有するような処理が必要となる。そこで、この場合は、複数のPDL解析処理がリソースを共有するような処理を行う。さらに、ダイレクトアクセス可能なPDLの場合、目的のページより前のPDL解析処理が不要になるので、PDL解析処理プログラムは、目的のページより前のPDL解析処理を行わない。
図4は、実施例1におけるPDL解析プログラム209でのPDL判定処理のフローチャートを示す図である。なお、以下の処理はPDL解析プログラム209が実行する。
ステップS1101で、ページスケジューラ215からPDL判定依頼がきたら、ステップS1102で、受信バッファ204に格納されたデータを読み出す。S1103で、後述するPDL管理テーブルに判定していないPDL解析処理があるかを判定する。まだ判定していないPDL解析処理がある場合、ステップS1104で、そのPDLの印刷命令の一部分を解析し、ステップS1105で解析できるデータかを判定する。
判定できた場合は、ステップS1106で、判定したPDL解析処理を実行するPDL解析処理として設定し、ステップS1107で、ページスケジューラ215に判定したPDLを返す。S1103で、判定していないPDL解析処理がない場合は、ステップS1110で、あらかじめ設定された優先PDL解析処理を実行する解析処理として設定し、ステップS1111で、ページスケジューラ215に優先PDLを返す。
図13は、本実施例におけるPDL判定処理で使うPDL管理テーブルの一例を示す図である。
PDL管理テーブル600は、各PDLの種別とPDL解析処理601へのポインタを格納したテーブルである。601は、各PDLのデータの解析処理を行なう関数を含んだPDL解析処理である。PDL判定処理においては、PDL1、PDL2、、、PDLNの順に解析処理を実行し、解析できたPDLを判定する。
図14(a)は、実施例1におけるページスケジューラ215のページ管理を行うためのページ管理テーブルの一例を示す図である。
ページ管理テーブル500は、処理中のページを管理するページ管理テーブルである。ページ管理テーブル500は、ページ情報501のアドレス510と、処理中のページ数511から構成される。501は、処理中のページの情報を格納するページ情報である。ページ情報510は、処理中のページを特定するページID520と、どの処理でページの処理が実行されているかを特定する処理ID521と、次のページ管理リストへ結合するためのリンクアドレス522から構成される。図14(b)は、初期化時のページ管理テーブルであり、ページ情報のアドレス510はNULLであり、処理中のページ数511は0である。図14(c)は、処理中のページ管理テーブルであり、処理中のページ数が2ページあり、ページ情報が2つ存在している。最終のページ情報のリンクアドレス522は、NULLである。
図5は、実施例1におけるページスケジューラ215が実行する、ページ非独立なPDLのページスケジューリングのフローチャートを示す図である。なお、以下の処理はPDL解析プログラム209が実行する。また、CPU1 218が担当するページをnページ目とし、CPU2 219が担当するページをmページ目とする。また、nページ目より前にCPU1 218が中間データを生成したページの次のページをxページ目とする。また、mページ目より前にCPU2 219が中間データを生成したページの次のページをyページ目とする。
ステップS1202で、ページカウンタPcntに0を代入し、ステップS1203で、ワークメモリ205内のページ管理テーブルの初期化を行なう。ステップS1204で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ開始を通知する。ステップS1205で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知あったかを判定する。
ステップS1205で、ページ終了通知でないと判定した場合、ステップS1206で、PDL解析プログラム209のPDL解析処理1または、PDL解析処理2からのジョブ終了通知があったかを判定する。ステップS1206で、ジョブ終了通知でないと判定した場合、ステップS1207で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理1が処理中かを判定する。
ステップS1207で、PDL解析プログラム209のPDL解析処理1が処理中でない場合、ステップS1210で、ページカウンタPcntをインクリメントする。ステップS1211で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する。例えば、追加されたページが3ページ目だとするとmは3となる。ステップS1212で、PDL解析プログラム209のPDL解析処理1へPcntページまでの処理を依頼する。上述の例の場合、mページ目までのPDL解析を行う。さらに、ステップS1213で、DL生成プログラム210のDL生成処理1へPcnt−1ページまでの読み飛ばしを依頼する。即ち、Pcnt−1ページ目(2ページ目)までの中間データは生成しない。そして、DL生成処理1は、Pcntページ(mページ目)のPDLに基づき中間データを生成する。
ステップS1207で、PDL解析プログラム209のPDL解析処理1が処理中の場合、ステップS1208で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理2が処理中かを判定する。上述の例の場合、PDL解析処理1はmページ目を処理している。PDL解析プログラム209のPDL解析処理2が処理中でない場合、ステップS1220で、ページカウンタPcntをインクリメントする。この場合、Pcntは4になるので、nも4となる。ステップS1221で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する(4ページ目が追加される)。ステップS1222で、PDL解析プログラム209のPDL解析処理2へPcntページ(nページ目)までの処理を依頼する。さらに、ステップS1223で、DL生成プログラム210のDL生成処理2へPcnt−1ページ(3ページ目)までの読み飛ばしを依頼する。即ち、Pcnt−1ページ目(3ページ目)までの中間データは生成しない。そして、DL生成処理2は、Pcntページ(nページ目)のPDLに基づき中間データを生成させる。
ステップS1205で、ページ終了通知と判定した場合、ステップS1230で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1231で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。
ステップS1206で、ジョブ終了通知と判定した場合、ステップS1240で、ワークメモリ205内のページ管理テーブルから処理中のページが残っているかを判定する。判定した結果、処理中のページが残っていたら、ステップS1241で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知待ちになる。ページ終了通知がきたら、ステップS1242で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1243で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。ページ管理テーブルがなくなると、ステップS1244で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ終了を通知する。
図6は、実施例1におけるページスケジューラ215でのページ独立なPDLのページスケジューリングを行うフローチャートを示す図である。なお、以下の処理は、ページスケジューラ215が実行する。
ステップS1302で、ページカウンタPcntに0を代入し、ステップS1303で、ワークメモリ205内のページ管理テーブルの初期化を行なう。ステップS1304で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ開始を通知する。ステップS1305で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知があったかを判定する。 ステップS1305で、ページ終了通知でないと判定した場合、ステップS1306で、PDL解析プログラム209のPDL解析処理1または、PDL解析処理2からのジョブ終了通知があったかを判定する。ステップS1306で、ジョブ終了通知でないと判定した場合、ステップS1307で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理1が処理中かを判定する。
ステップS1307で、PDL解析プログラム209のPDL解析処理1が処理中でない場合、ステップS1310で、ページカウンタPcntをインクリメントする。ステップS1311で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する。ステップS1312で、PDL解析プログラム209のPDL解析処理1へPcnt−1ページまでの読み飛ばしとPcntページの処理を依頼する。そして、DL生成処理1へPcntページの処理を依頼する。
ステップ1207で、PDL解析プログラム209のPDL解析処理1が処理中の場合、ステップS1308で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理2が処理中かを判定する。PDL解析プログラム209のPDL解析処理2が処理中でない場合、ステップS1320で、ページカウンタPcntをインクリメントし、ステップS1321で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する。ステップS1322で、PDL解析プログラム209のPDL解析処理2へPcnt−1ページまでの読み飛ばしとPcntページの処理を依頼する。そして、DL生成処理2へPcntページの処理を依頼する。
ステップS1305で、ページ終了通知と判定した場合、ステップS1330で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1331で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。
ステップS1306で、ジョブ終了通知と判定した場合、ステップS1340で、ワークメモリ205内のページ管理テーブルから処理中のページが残っているかを判定する。判定した結果、処理中のページが残っていたら、ステップS1341で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知待ちになる。ページ終了通知がきたら、ステップS1342で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1343で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。ページ管理テーブルがなくなると、ステップS1344で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ終了を通知する。
図7は、実施例1におけるページスケジューラ215でのダイレクトアクセス可能なPDLのページスケジューリングを行なうフローチャートを示す図である。なお、以下の処理は、ページスケジューラ215が実行する。
ステップS1402で、ページカウンタPcntに0を代入し、ステップS1403で、ワークメモリ205内のページ管理テーブルの初期化を行う。ステップS1404で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ開始を通知する。ステップS1405で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知あったかを判定する。
ステップS1405で、ページ終了通知でないと判定した場合、ステップS1406で、PDL解析プログラム209のPDL解析処理1または、PDL解析処理2からのジョブ終了通知があったかを判定する。
ステップS1406で、ジョブ終了通知でないと判定した場合、ステップS1407で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理1が処理中かを判定する。
ステップS1407で、PDL解析プログラム209のPDL解析処理1が処理中でない場合、ステップS1410で、ページカウンタPcntをインクリメントする。ステップS1411で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する。ステップS1412で、PDL解析プログラム209のPDL解析処理1へPcntページの処理を依頼する。
ステップ1207で、PDL解析プログラム209のPDL解析処理1が処理中の場合、ステップS1408で、ワークメモリ205内のページ管理テーブルを検索し、PDL解析プログラム209のPDL解析処理2が処理中かを判定する。PDL解析プログラム209のPDL解析処理2が処理中でない場合、ステップS1420で、ページカウンタPcntをインクリメントし、ステップS1421で、ワークメモリ205内のページ管理テーブルにPcntのページ情報を追加する。ステップS1422で、PDL解析プログラム209のPDL解析処理2へPcntページの処理を依頼する。
ステップS1405で、ページ終了通知と判定した場合、ステップS1430で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1431で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。
ステップS1406で、ジョブ終了通知と判定した場合、ステップS1440で、ワークメモリ205内のページ管理テーブルから処理中のページが残っているかを判定する。判定した結果、処理中のページが残っていたら、ステップS1441で、DL生成プログラム210のDL生成処理1または、DL生成処理2からのページ終了通知待ちになる。ページ終了通知がきたら、ステップS1442で、ページ終了通知で渡されたページに該当するページ情報をワークメモリ205内のページ管理テーブルから削除する。ステップS1443で、ページ終了通知で渡されたフレームバッファ206内のDLの格納先とページを展開処理プログラム214に通知し、処理を依頼する。ページ管理テーブルがなくなると、ステップS1444で、PDL解析プログラム209のPDL解析処理1,2と、DL生成プログラム210のDL生成処理1,2へジョブ終了を通知する。
図8は、本実施例におけるページ非独立なPDLの解析処理のフローチャートを示す図である。なお、以下の処理はPDL解析処理プログラム209が実行する。
ステップS2001で、ページスケジューラ215からのジョブ開始通知を待つ。ジョブ開始通知を受けると、ステップS2002で、ページカウンタPFcntを0に初期化する。ステップS2003で、ページスケジューラ215からのページ処理依頼を、ステップS2004で、ジョブ終了通知を待つ。
ページ処理依頼を受けると、ステップS2005で、PFcntとステップS2003で処理依頼されたページを比較する。例えば、図5で説明したPDL解析処理2がmページ目を依頼した場合、4ページ目とPFcntを比較する。比較した結果、処理依頼されたページがPFcntより大きい場合は、ステップS2006で、PFcntをインクリメントし、ステップS2007で、DL生成プログラム210のDL生成処理にPFcntとページ開始を通知する。上述の場合、PDL解析処理2がmページ目を解析する前に、DL生成処理2が中間データを生成したページはyページ目なので、インクリメントされる前のPFcntは3ページ目となる。ステップS2008で、受信バッファ204に格納されたデータを読み出し、解析処理を行なう。なお、PDL解析処理プログラムは、文字や図形の描画命令や、リソースの展開または利用の命令等の命令を解析する。
ステップS2008において、複数のページで共有するリソースを展開する命令を解析した場合、既に同じ命令が実行されていればリソースの展開を行う必要はない。既に同じ命令が実行されているかどうかを確認するためには、PDL解析処理プログラム209がページスケジューラ215のページ管理テーブルを参照する必要がある。PDL解析処理プログラム209は、別のCPUで実行されている解析処理プログラム209が、どのページの解析処理を実行したかを確認する。別のCPUで実行されている解析処理プログラムが解析処理を行っているページまでは既にリソースは展開されていることになるので、その分のリソース展開処理を省くことができる。例えば、図5で説明したPDL解析処理2は、既にPDL解析処理1が展開したnページ目までのリソース展開処理を行わず、PDL解析処理1が展開をしていない4ページ目のリソース展開処理を行うことになる。
ステップS2009で、解析した結果ジョブ終了かを判定し、ジョブ終了でない場合は、ステップS2010で、ページ終了かを判定する。ページ終了でもない場合は、ステップS2011で、解析した情報が次のページ以降でも必要な情報かを判定し、必要なら情報なら、ステップS2012で、ワークメモリ205内に情報を格納する。
また、解析した情報が複数のページで共有するリソースを展開する命令であり、かつ、ワークメモリ205内に同じリソースが格納されていない場合、展開したリソースをワークメモリ205内に格納することになる。例えば、図5で説明したPDL解析処理1は、3ページ目までのリソースを格納し、PDL解析処理2は、4ページ目のリソースを格納する。ステップS2008の解析処理を行うPDL解析処理プログラム209は、必要に応じてワークメモリ205内のリソースを利用する。これにより、以降のPDLの解析処理において展開を行う必要のないリソースの展開処理を省くことができる。
ステップS2013で、DL生成プログラム210のDL生成処理にDL生成を依頼する。ステップS2009で、ジョブ終了だった場合、ステップS2020で、ページスケジューラ215にジョブ終了を通知し、ステップS2021で、ページスケジューラ215からのジョブ終了通知待ちになる。ページスケジューラ215からのジョブ終了通知を受けると、ステップS2001で、ジョブ開始通知待ちになる。
ステップS2010で、ページ終了だった場合、ステップS2030で、DL生成プログラム210のDL生成処理にページ終了を通知し、ステップS2005に戻る。
図9は、本実施例におけるページ独立なPDLの解析処理のフローチャートを示す図である。なお、以下の処理はPDL解析処理プログラム209が実行する。
ステップS2101で、ページスケジューラ215からのジョブ開始通知を待つ。ジョブ開始通知を受けると、ステップS2102で、ページカウンタPFcntを0に初期化する。ステップS2103で、ページスケジューラ215からのページ処理依頼を、ステップS2104で、ジョブ終了通知を待つ。
ページ処理依頼を受けると、ステップS2105で、PFcntとステップS2104で処理依頼されたページを比較する。比較した結果、処理依頼されたページがPFcnt+1と異なる場合は、ステップS2106で、受信バッファ204に格納されたデータを処理依頼されたページの先頭まで読み飛ばす。ステップS2107で、PFcntに依頼されたページを代入する。ステップS2108で、DL生成プログラム210のDL生成処理にPFcntとページ開始を通知する。ステップS2109で受信バッファ204に格納されたデータを読み出し、解析処理を行なう。
ステップS2110で、解析した結果ジョブ終了かを判定し、ジョブ終了でない場合は、ステップS2111で、ページ終了かを判定する。ページ終了でもない場合は、ステップS2112で、DL生成プログラム210のDL生成処理にDL生成を依頼する。
ステップS2110で、ジョブ終了だった場合、ステップS2120で、ページスケジューラ215にジョブ終了を通知し、ページスケジューラ215からのジョブ終了通知待ちになる。ページスケジューラ215からのジョブ終了通知を受けると、ステップS2101で、ジョブ開始通知待ちになる。
ステップS2111で、ページ終了だった場合、ステップS2130で、DL生成プログラム210のDL生成処理にページ終了を通知し、ステップS2103のページ処理通知、ステップS2104のジョブ終了通知待ちに戻る。
図10は、本実施例におけるPDL解析処理部209でのダイレクトアクセス可能なPDLの解析処理のフローチャートを示す図である。なお、以下の処理はPDL解析処理プログラム209が実行する。
ステップS2201で、ページスケジューラ215からのジョブ開始通知を待つ。ジョブ開始通知を受けると、ステップS2202で、ページカウンタPFcntを0に初期化する。ステップS2203で、ページスケジューラ215からのページ処理依頼を、ステップS2204で、ジョブ終了通知を待つ。
ページ処理依頼を受けると、ステップS2207で、PFcntに依頼されたページを代入する。ステップS2208で、DL生成プログラム210のDL生成処理にPFcntとページ開始を通知する。ステップS2209で受信バッファ204に格納されたデータからPFcntのページを読み出し、解析処理を行なう。
ステップS2210で、解析した結果ジョブ終了かを判定し、ジョブ終了でない場合は、ステップS2211で、ページ終了かを判定する。ページ終了でもない場合は、ステップS2212で、DL生成プログラム210のDL生成処理にDL生成を依頼する。
ステップS2210で、ジョブ終了だった場合、ステップS2220で、ページスケジューラ215にジョブ終了を通知し、ページスケジューラ215からのジョブ終了通知待ちになる。ページスケジューラ215からのジョブ終了通知を受けると、ステップS2201で、ジョブ開始通知待ちになる。
ステップS2211で、ページ終了だった場合、ステップS2230で、DL生成プログラム210のDL生成処理にページ終了を通知し、ステップS2203のページ処理通知、ステップS2204のジョブ終了通知待ちに戻る。
図11は、本実施例におけるDL生成プログラム210でのDL生成処理のフローチャートを示す図である。なお、以下の処理はDL生成プログラムが実行する。
ステップS3001で、ページスケジューラ215からのジョブ開始通知を待つ。ジョブ開始通知を受けると、ステップS3002で、読み飛ばしページPskipを0xFFFFFFFFに初期化する。
ステップS3003で、ページスケジューラ215からのジョブ終了通知かを判定し、ジョブ終了通知でない場合、ステップS3004で、ページスケジューラ215からのページ読み飛ばし依頼かを判定する。ページ読み飛ばし依頼の場合、ステップS3005で、読み飛ばしページPskipに、ページ読み飛ばし依頼されたページを代入する。例えば、図5のDL生成処理2が4ページ目を生成する場合、ページスケジューラから3ページ目までの読み飛ばしが依頼される。そして、3ページの次のページである4ページが代入される。
ステップS3006で、PDL解析プログラム209の解析処理からのページ開始通知かを判定し、ページ開始通知の場合、ステップS3007で、Pskipとページ開始通知のページIDを比較する。Pskipがページ開始通知のページより大きい場合、ステップS3008で、DL生成処理に何も処理しない空関数を設定する。この処理により、上述の場合、DL生成処理2は3ページ目までの中間データを生成しない。Pskipがページ開始通知のページより小さい場合、ステップS3009で、DL生成処理に処理を実行し、フレームバッファ206にDLを格納する関数を設定する。図5のDL生成処理2は4ページ目を依頼されているのでページIDは4となる。なお、この場合、ステップS2009が実行される。
ステップS3010で、PDL解析プログラム209の解析処理からのDL生成依頼を受けると、ステップS3011で、DL生成処理の関数を実行する。ステップS3010で、DL生成依頼でない場合、ステップS3020で、ページ終了通知の場合、ステップS3021で、ページスケジューラ215に、ページ終了、ページID、フレームバッファ206内のDLの格納先を通知する。
図12は、本実施例における展開処理プログラム214での展開処理のフローチャートを示す図である。
ステップS4001で、ページスケジューラ215からの処理依頼を受けると、ステップ4002で、処理依頼されたDLをフレームバッファ206から読み出し、ビットマップへ展開し、ラスタメモリ207に格納する。ステップ4003で、ラスタメモリ207に格納したビットマップをエンジンI/F212を介してプリンタエンジン213に出力し、印刷する。
図15は、本実施例におけるスケジューリング処理のモジュール制御と処理時間の一例を示す。 図15(a)は、ページ非独立なPDLにおけるもジュール制御と処理時間である。ページスケジューラから、CPU1 218のPDL解析プログラム209へ1ページ目処理依頼310を行い、CPU2 219のPDL解析プログラム209へ2ページ目までの処理依頼311を行う。この処理を実行する理由は、依頼されたページより前のページのリソースを展開しないと、DL生成プログラムが依頼されたページのDL生成が実行できないためである。DL生成プログラム210へ1ページ目読み飛ばし依頼321を行なう。処理時間は、読み飛ばしページの時間がそれぞれかかるが、従来より時間が短縮される。このように、ページ間でリソースを共有するPDLをより高速に描画処理することができる。
図15(b)は、ページ独立なPDLにおけるもジュール制御と処理時間である。ページスケジューラから、CPU1 218のPDL解析プログラム209へ1ページ目処理依頼310を行い、CPU2 219のPDL解析プログラム209へ1ページ目読み飛ばし依頼と2ページの処理依頼311とを行なう。処理時間は、ページ非独立なPDLよりも読み飛ばしページの時間が短縮され、全体的にさらに処理時間が短縮される。
図15(C)は、ページダイレクトアクセス可能なPDLにおけるもジュール制御と処理時間である。ページスケジューラから、CPU1 218のPDL解析プログラム209へ1ページ目処理依頼310を行い、CPU2 219のPDL解析プログラム209へ2ページの処理依頼311を行なう。処理時間は、読み飛ばす必要がないため、全体的にさらに処理時間が短縮される。
以上説明した実施例では、第1のプロセッサであるCPU1 218、第2のプロセッサであるCPU2 219の2つのCPUで実行したが、それ以外の第3のプロセッサを用いてPDL解析処理とDL生成処理を行っても良い。なお、コアプロセッサ1つに対してPDL解析処理プログラムとDL生成処理プログラムが1つずつ実行されれば良いので、マルチコアプロセッサのCPUを用いても良い。また、PDL解析処理とDL生成処理をCPUを用いて実行したが、MPU(Micro Processing Unit)を用いて実行しても良い。
また、以上説明した実施例では、PDLの種類に応じてPDL解析処理とDL生成処理を切り替えたが、特定のPDL解析処理とDL生成処理をユーザが指定しても良い。その場合、画像形成装置102の操作パネルかネットワーク104を介して接続されているPCから指定する。
また、以上説明した実施例では、非独立PDL、独立PDL、ダイレクトアクセスPDLの夫々に応じたPDL解析処理とDL生成処理を画像形成装置102に持たせたが、3つの内から2つまたは1つだけ選択し、画像形成装置102に持たせても良い。例えば、非独立PDLと独立PDLの2つのPDLに応じた、PDL解析処理とDL生成処理を画像形成装置102に持たせる形態が考えられる。
また、非独立PDLの場合、解析処理の高速化のために複数のページで共有するリソースを、CPU1 218およびCPU2 219が共有できるようにした。しかし、この効果を落として、リソースを共有せずに夫々のCPUで独立して複数のページで共有するリソースを保持する形態も考えられる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
209 PDL解析プログラム
210 DL生成プログラム
214 展開処理プログラム
215 ページスケジューラ
218 CPU1
219 CPU2

Claims (4)

  1. 印刷データに基づき中間データを生成する第1のプロセッサと、
    印刷データに基づき中間データを生成する第2のプロセッサと、
    印刷データを受信する受信手段と、
    リソースを複数のページで共有する非独立な印刷データであるか否かを判断する第1の判断手段と、
    前記第1の判断手段により非独立な印刷データではないと判断された印刷データが、夫々のページにおける先頭の解析命令にダイレクトアクセスできるダイレクトアクセス可能な印刷データであるか否かを判断する第2の判断手段と、
    を有し、
    前記受信手段により受信された印刷データが前記第1の判断手段により非独立な印刷データであると判断された場合、前記第1のプロセッサは、nページ目までの印刷データのリソースを展開し、nページ目より前の中間データは生成せずに展開されたリソースを利用してnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのnページ目よりも後ろのページであるmページ目までの印刷データのリソースを展開し、mページ目より前の中間データは生成せずに展開されたリソースを利用してmページ目の中間データを生成し、
    前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データであると判断された場合、前記第1のプロセッサは、印刷データのnページ目より前のページの印刷命令を解析せずに、nページ目の先頭の印刷命令から解析を始めてnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのmページ目より前のページの印刷命令を解析せずに、mページ目の先頭の印刷命令から解析を始めてmページ目の中間データを生成し、
    前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データでないと判断された場合、前記第1のプロセッサは、印刷データのリソースを展開せずに、nページ目の先頭の解析命令を見つけるために印刷命令をnページ目より前のページから解析し、nページ目の中間データを生成し、前記第2のプロセッサは、印刷データのリソースを展開せずに、mページ目の先頭の解析命令を見つけるために印刷命令をmページ目より前のページから解析し、mページ目の中間データを生成することを特徴とする印刷データ処理装置。
  2. 前記受信手段により受信された印刷データが前記第1の判断手段により非独立な印刷データであると判断された場合、前記第1のプロセッサは、nページ目の中間データを生成する前に中間データを生成したページの次のページであるxページ目からnページ目までの印刷データのリソースを展開し、前記第2のプロセッサは、mページ目の中間データを生成する前に中間データを生成したページの次のページであるyページ目からmページ目までの印刷データのリソースの内、前記第1のプロセッサが展開をしていない印刷データのリソースを展開することを特徴とする請求項1に記載の印刷データ処理装置。
  3. 第1のプロセッサは、印刷データに基づき中間データを生成し、
    第2のプロセッサは、印刷データに基づき中間データを生成し、
    受信手段は、印刷データを受信し、
    第1の判断手段は、リソースを複数のページで共有する非独立な印刷データであるか否かを判断し、
    第2の判断手段は、前記第1の判断手段により非独立な印刷データではないと判断された印刷データが、夫々のページにおける先頭の解析命令にダイレクトアクセスできるダイレクトアクセス可能な印刷データであるか否かを判断し、
    前記受信手段により受信された印刷データが前記第1の判断手段により非独立な印刷データであると判断された場合、前記第1のプロセッサは、nページ目までの印刷データのリソースを展開し、nページ目より前の中間データは生成せずに展開されたリソースを利用してnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのnページ目よりも後ろのページであるmページ目までの印刷データのリソースを展開し、mページ目より前の中間データは生成せずに展開されたリソースを利用してmページ目の中間データを生成し、
    前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データであると判断された場合、前記第1のプロセッサは、印刷データのnページ目より前のページの印刷命令を解析せずに、nページ目の先頭の印刷命令から解析を始めてnページ目の中間データを生成し、前記第2のプロセッサは、印刷データのmページ目より前のページの印刷命令を解析せずに、mページ目の先頭の印刷命令から解析を始めてmページ目の中間データを生成し、
    前記受信手段により受信された印刷データが前記第2の判断手段によりダイレクトアクセス可能な印刷データでないと判断された場合、前記第1のプロセッサは、印刷データのリソースを展開せずに、nページ目の先頭の解析命令を見つけるために印刷命令をnページ目より前のページから解析し、nページ目の中間データを生成し、前記第2のプロセッサは、印刷データのリソースを展開せずに、mページ目の先頭の解析命令を見つけるために印刷命令をmページ目より前のページから解析し、mページ目の中間データを生成することを特徴とする印刷データ処理方法。
  4. 請求項3に記載の印刷データ処理方法を印刷データ処理装置に実行させるためのプログラム。
JP2009192236A 2009-08-21 2009-08-21 印刷データ処理装置、印刷データ処理方法、プログラム Active JP5393343B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009192236A JP5393343B2 (ja) 2009-08-21 2009-08-21 印刷データ処理装置、印刷データ処理方法、プログラム
US12/855,537 US8625133B2 (en) 2009-08-21 2010-08-12 Print data processing apparatus, print data processing method, and storage medium
CN201010259105.0A CN101998018B (zh) 2009-08-21 2010-08-18 打印数据处理装置及打印数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009192236A JP5393343B2 (ja) 2009-08-21 2009-08-21 印刷データ処理装置、印刷データ処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2011042118A JP2011042118A (ja) 2011-03-03
JP5393343B2 true JP5393343B2 (ja) 2014-01-22

Family

ID=43605154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009192236A Active JP5393343B2 (ja) 2009-08-21 2009-08-21 印刷データ処理装置、印刷データ処理方法、プログラム

Country Status (3)

Country Link
US (1) US8625133B2 (ja)
JP (1) JP5393343B2 (ja)
CN (1) CN101998018B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853537B2 (ja) * 2011-09-27 2016-02-09 ブラザー工業株式会社 印刷のための制御装置
JP5700014B2 (ja) * 2012-09-26 2015-04-15 コニカミノルタ株式会社 印刷システム、印刷制御プログラム、および記録媒体
JP5882180B2 (ja) * 2012-10-29 2016-03-09 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5858899B2 (ja) * 2012-10-29 2016-02-10 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5813619B2 (ja) * 2012-11-22 2015-11-17 京セラドキュメントソリューションズ株式会社 画像形成装置
US9792537B2 (en) * 2015-03-31 2017-10-17 Kyocera Document Solutions Inc. Multicore printer definition language processing
JP6748445B2 (ja) * 2015-04-30 2020-09-02 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、および、プログラム
US10121098B2 (en) 2015-04-30 2018-11-06 Canon Kabushiki Kaisha Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus
JP6666036B2 (ja) 2016-01-15 2020-03-13 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP7039935B2 (ja) 2017-11-07 2022-03-23 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成プログラム
JP7563075B2 (ja) * 2020-09-23 2024-10-08 ブラザー工業株式会社 印刷装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3553985B2 (ja) 1991-08-06 2004-08-11 株式会社日立製作所 印刷制御方法および印刷制御装置
DE69524381T2 (de) * 1995-03-23 2002-08-14 Agfa-Gevaert N.V., Mortsel Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache
US6662270B1 (en) * 2000-05-16 2003-12-09 Xerox Corporation System and method for caching of reusable objects
JP2002248829A (ja) * 2001-02-23 2002-09-03 Fuji Xerox Co Ltd 画像処理装置および画像処理プログラムを記録した記憶媒体
US6816276B2 (en) * 2001-03-08 2004-11-09 Electronics For Imaging, Inc. Efficiently scheduled multiple raster image processors
US20040095596A1 (en) * 2002-11-14 2004-05-20 International Business Machines Corporation Apparatus, method and program product for controlling printing
US6817791B2 (en) * 2003-04-04 2004-11-16 Xerox Corporation Idiom recognizing document splitter
US20050206956A1 (en) * 2004-03-16 2005-09-22 Kabushiki Kaisha Toshiba Printing system, method of controlling printing and program for use in printing systems
US20060170944A1 (en) * 2005-01-31 2006-08-03 Arps Ronald B Method and system for rasterizing and encoding multi-region data
JP4738948B2 (ja) * 2005-09-13 2011-08-03 キヤノン株式会社 情報処理装置、画像処理方法、及びコンピュータプログラム
US20070070377A1 (en) * 2005-09-22 2007-03-29 Kabushiki Kaisha Toshiba Image forming apparatus and image forming method
JP4908052B2 (ja) * 2006-05-12 2012-04-04 京セラミタ株式会社 印刷システム、印刷方法及び印刷処理プログラム
JP4715654B2 (ja) * 2006-07-03 2011-07-06 富士ゼロックス株式会社 画像データ生成装置および画像形成装置
US7911636B2 (en) * 2007-07-25 2011-03-22 Eastman Kodak Company Multi-head press data delivery rate control
US7986419B2 (en) * 2007-09-12 2011-07-26 Xerox Corporation Performance optimization method for network printers
US20090080025A1 (en) 2007-09-20 2009-03-26 Boris Aronshtam Parallel processing of page description language
US8593668B2 (en) * 2009-05-04 2013-11-26 Xerox Corporation Parallel printing system

Also Published As

Publication number Publication date
JP2011042118A (ja) 2011-03-03
US20110043855A1 (en) 2011-02-24
CN101998018A (zh) 2011-03-30
CN101998018B (zh) 2013-07-10
US8625133B2 (en) 2014-01-07

Similar Documents

Publication Publication Date Title
JP5393343B2 (ja) 印刷データ処理装置、印刷データ処理方法、プログラム
JP4738948B2 (ja) 情報処理装置、画像処理方法、及びコンピュータプログラム
JP4366068B2 (ja) 情報処理装置および印刷データ生成方法およびプログラム
JP2011148242A (ja) 画像形成装置及びプログラム
JP2007152750A (ja) 印刷装置
JP5655392B2 (ja) 印刷画像処理装置及びプログラム
JP2002333971A (ja) 情報処理装置及びその印刷制御方法並びに記憶媒体
US8810830B2 (en) System and method for scheduling a print job
JP2002175165A (ja) 情報処理装置および印刷制御方法および記憶媒体
JP2011098500A (ja) 画像形成装置、および画像形成装置制御方法、およびプログラム。
JP2013001059A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2009285891A (ja) 画像形成装置及び画像形成システム
JP4612917B2 (ja) 制御方法及び情報処理装置及びコンピュータ読み出し可能な記録媒体
JP2005056414A (ja) クライアント側で文書データをビューイングするための方法及び装置
US20170046106A1 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium
JP3814410B2 (ja) 印刷制御装置および方法
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
JP5424778B2 (ja) 印刷データ処理装置、印刷データ処理方法、プログラム
JP5316012B2 (ja) 印刷システム、印刷制御装置およびプリンタドライバプログラム
JP3919565B2 (ja) 印刷制御装置及び印刷制御方法
JP7408914B2 (ja) 印刷システム、情報処理装置及びデータ処理方法
JP2010111099A (ja) 画像処理装置およびその制御方法
JP2004192395A (ja) データ処理装置
JP2017065128A (ja) 印刷装置、その制御方法、およびプログラム
JP5966805B2 (ja) 印刷のための制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130718

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: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131015

R151 Written notification of patent or utility model registration

Ref document number: 5393343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151