[go: up one dir, main page]

JP4060233B2 - Task control for print processing - Google Patents

Task control for print processing Download PDF

Info

Publication number
JP4060233B2
JP4060233B2 JP2003140242A JP2003140242A JP4060233B2 JP 4060233 B2 JP4060233 B2 JP 4060233B2 JP 2003140242 A JP2003140242 A JP 2003140242A JP 2003140242 A JP2003140242 A JP 2003140242A JP 4060233 B2 JP4060233 B2 JP 4060233B2
Authority
JP
Japan
Prior art keywords
task
output
data processing
priority
processing process
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.)
Expired - Fee Related
Application number
JP2003140242A
Other languages
Japanese (ja)
Other versions
JP2004341996A (en
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.)
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
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 Screen Holdings Co Ltd, Dainippon Screen Manufacturing Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP2003140242A priority Critical patent/JP4060233B2/en
Publication of JP2004341996A publication Critical patent/JP2004341996A/en
Application granted granted Critical
Publication of JP4060233B2 publication Critical patent/JP4060233B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、印刷物画像を表す印刷物出力データを生成して、画像記録媒体上に印刷物画像を可視的に出力する技術に関する。
【0002】
【従来の技術】
コンピュータ技術の進展に伴って、商業印刷用の製版工程においてもコンピュータを用いたデジタル化が普及してきている。デジタル化された製版工程では、まず印刷データ処理装置が、原稿データ(例えばPDFデータやPostScriptデータ。PostScriptはアドビ社の商標)に対してデータ処理を行って、印刷物出力データを作成する。そして、この印刷物出力データが出力機(フィルムレコーダや刷版作成機(CTP))に転送され、網フィルムや刷版などの印刷物画像が画像記録媒体上に可視的に出力される。あるいは、出力機として、印刷物出力データから印刷物を直接印刷する印刷機を利用することも可能である。
【0003】
【発明が解決しようとする課題】
印刷データ処理装置は、複数のデータ処理プロセスを並行して実行できる場合が多い。一方、出力機は、通常は1つの印刷物画像を出力できるだけである。また、出力機は印刷データ処理装置よりも高価なため、出力機をなるべく効率的に稼働させるようにタスクを実行することが好ましい。ここで、「タスク」とは、印刷データ処理装置における1つの作業単位を意味しており、印刷データ処理装置において印刷物出力データを作成するためのデータ処理プロセスを少なくとも含み、データ処理プロセスで生成された印刷物出力データを出力機に転送する出力プロセスをさらに含み得る1つの作業単位を意味している。しかし、従来は、このような印刷データ処理装置において、効率的にタスクの実行順序を決定するための技術は知られていなかった。
【0004】
本発明は、上述した従来の課題を解決するためになされたものであり、印刷データ処理装置におけるタスクの実行順序を効率的に決定するための技術を提供することを目的とする。
【0005】
【課題を解決するための手段およびその作用・効果】
上記目的の少なくとも一部を達成するために、本発明による印刷データ処理装置は、印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを行う印刷データ処理装置であって、
複数のデータ処理プロセスを並列に実行可能なデータ処理実行部と、
少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで生成された印刷物出力データを前記出力機に転送する出力プロセスをさらに含み得るタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクについて登録可能なタスク情報登録部と、
実行中のデータ処理プロセスが終了したときに、前記タスク情報登録部に登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定する実行タスク決定部と、
を備え、
前記実行タスク決定部は、前記タスク情報登録部に登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないと予測される場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させることを特徴とする。
【0006】
この印刷データ処理装置によれば、第1優先度タスクの出力プロセスを開始する際に待ち時間がなるべく発生しないように、データ処理プロセスを開始するタスクが選択されるので、効率的にタスクの実行順序を決定することができる。
【0007】
なお、前記実行タスク決定部は、
(i)実行中の出力プロセスの出力予測時間から前記第1優先度タスクの出力プロセスの開始時刻を予測するとともに、当該開始時刻から前記第1優先度タスクのデータ処理プロセスの予測処理時間を減算することによって、前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないようにするために前記第1優先度タスクのデータ処理プロセスを開始すべき時刻としての開始予定時刻を予測し、
(ii)前記実行中のデータ処理プロセスの終了後に前記非出力タスクを直ちに開始すると仮定したときの前記非出力タスクの終了予定時刻を予測し、
(iii)前記第1優先度タスクの開始予定時刻よりも前記非出力タスクの終了予定時刻の方が早いときには、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させるようにしてもよい。
【0008】
この構成によれば、第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないことを、かなりの確度で実現することができる。
【0009】
また、前記実行タスク決定部は、
前記第1優先度タスクが出力プロセスを含むときに、前記第1優先度タスクのデータ処理プロセスの開始を前記第1優先度タスクの開始予定時刻まで待機させるようにしてもよい。
【0010】
この構成によれば、第1優先度タスクの開始を待機させている間に、他のタスクを実行できる場合があり、この場合にその他のタスクをより早く実行することが可能である。
【0011】
なお、前記実行タスク決定部は、
(i)前記実行中のデータ処理プロセスの終了時に、前記出力プロセスを実行中のタスクの数と、前記データ処理プロセスの実行開始後であって前記出力プロセスを未実行であるタスクの数との合計である出力タスク予約数を算出し、
(ii)前記出力タスク予約数が所定の上限値未満の場合には、前記第1優先度タスクのデータ処理プロセスを開始させ、
(iii)前記出力タスク予約数が所定の上限値に達している場合には、前記非出力タスクのデータ処理プロセスを開始させるようにしてもよい。
【0012】
この構成によれば、比較的簡易な処理によって、第1優先度タスクの出力プロセスを開始する際に待ち時間がなるべく発生しないようにすることができる。
【0013】
なお、本発明は、種々の形態で実現することが可能であり、例えば、印刷データ処理装置、その制御方法および制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。
【0014】
【発明の実施の形態】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.装置の構成:
B.第1実施例:
C.第2実施例:
【0015】
A.装置の構成:
図1は、本発明の一実施例である製版システムの全体構成を示す説明図である。この製版システムは、原稿データに基づいて印刷物出力データを作成する印刷データ処理装置100と、出力機200とを備えている。印刷データ処理装置100は、入力装置としてのキーボード110と、表示装置としてのモニタ120と、データ処理部130と、ハードディスク装置140とを備えている。出力機200は、印刷データ処理装置100で作成された印刷物出力データに応じて印刷物画像を画像記録媒体上に可視的に出力する。出力機200としては、校正刷りを印刷するプルーフ出力機や、網フィルムを作成するフィルム出力機、刷版を印刷するプレート出力機、印刷物を直接印刷する印刷機等を採用することができる。なお、プレート出力機は、CTP(Computer To Plate)装置とも呼ばれている。
【0016】
図2は、データ処理部130の機能的構成を示すブロック図である。ジョブ受付部302は、原稿データ(PDFデータやPostScriptデータ)を含むジョブを受け取り、ハードディスク装置140(図1)内に格納する。なお、「ジョブ」とは、1つ以上のタスクを含む1まとまりの作業を意味する。また、前述したように、1つのタスクは少なくともデータ処理プロセスを含むとともに出力プロセスを含み得る。但し、1つのタスクを1つのジョブとして取り扱うことも可能である。ジョブ内容解析部304は、受け取ったジョブの内容を解析し、必要に応じて複数のタスクに分割する。ジョブ内容解析部304は、さらに、各タスク同士の関連づけや、各タスクと処理リソース(後述する)との関連づけを行って、タスク管理部306にタスク内容を伝達する。
【0017】
タスク管理部306は、指示されたタスクの内容を示すタスク情報をタスク情報登録部310に登録する。各タスクのタスク情報は、各タスクに含まれるプロセスの内容(データ処理プロセスおよび出力プロセスの内容)と、各タスクの優先度とを含んでいる。タスク情報内のデータ処理プロセスの内容には、例えば、処理対象画像のサイズと、データ処理内容(後述する自動製版処理やRIP展開処理などのうちのいずれを含むか)とが含まれている。また、出力プロセスの内容には、例えば、画像記録媒体のサイズと、版の数(CMYKの場合には4つ)とが含まれている。なお、タスク情報登録部310に記憶されている複数のタスクの優先度は、優先順位テーブル312に登録されている。なお、各タスクの優先度は、通常はジョブ受付部302で受付けられた順に割り当てられる。
【0018】
実行タスク決定部320は、タスク情報登録部310に登録されているタスク情報に基づいて、データ処理実行部330,340でデータ処理プロセスを実行するタスクを決定する。この決定を行うために、実行タスク決定部320は、処理時間算出部322と、時刻予測部324とを備えている。実行タスク決定部320の処理内容については後述する。
【0019】
データ処理実行部330,340は、データ処理プロセスをそれぞれ実行するための処理部である。本実施例では、2つのデータ処理プロセスをこれらのデータ処理実行部330,340で並行して実行可能である。なお、並行して同時に実行可能なデータ処理プロセスの数M(Mは2以上の整数)は、データ処理部130に設けられたCPUの数や、メモリ容量などに応じて決定される。
【0020】
データ処理実行部330,340で生成された印刷物出力データは、処理結果出力部350から出力機200に転送されるか、または、データ格納部としてのハードディスク装置140に転送される。印刷物出力データの出力先は、各タスクの入力時に予め指定されている。出力機200が大きなバッファを有している場合には、出力機200による出力(画像記録動作)が終了する前に、処理結果出力部350による出力プロセス(データ転送)が終了する。一方、出力機200が小さなバッファしか有していない場合には、出力機200による出力(画像記録動作)の終了とほぼ同時、処理結果出力部350による出力プロセスが終了する。この説明から理解できるように、処理結果出力部350による「出力プロセス」は、処理結果出力部350から出力機200(またはハードディスク装置140)へのデータ転送が終了する時点で完了する。なお、「出力プロセス」を「データ転送プロセス」とも呼ぶ。
【0021】
なお、データ処理部130内の各部の機能は、ハードディスク装置140内に格納されたコンピュータプログラムによって実現されている。
【0022】
図3は、データ処理実行部330の内部構成を示している。データ処理実行部330は、プリフライト処理部332と、自動製版処理部334と、RIP展開処理部336とを含んでいる。各部の機能は以下の通りである。
【0023】
(1)プリフライト処理部332:
いわゆる前処理であり、原稿データの内容を解析して、製版用の処理を問題無く実行できるか否かを確認するための処理である。例えば、PDFファイルやPostScriptファイルの記述から、▲1▼文書内にリンクが張られているオブジェクトのファイルの有無、▲2▼標準的でないフォントデータの文書内への埋め込みの有無、などが確認される。不足しているデータやファイルが存在する場合には、データの追加や仕様の指定をユーザに要求する。
【0024】
(2)自動製版処理部334:
いわゆるスミノセや、白フチ、トラッピングなどの製版処理を行う。
【0025】
(3)RIP展開処理部336:
いわゆるラスタイメージプロセッシングを行い、各インク色に色分解された印刷物画像を表すラスタデータ(印刷物出力データ)を出力解像度に合わせて作成する。
【0026】
第2のデータ処理実行部340も、第1のデータ処理実行部330と同じ構成を有している。本明細書では、図3の個々の処理部332,334,336を「処理リソース」と呼ぶ。また、処理結果出力部350による出力機200への出力も1つの処理リソースである。本明細書において「処理リソース」とは、実質的な処理時間を要する処理であって、タスクの実行順序を決定する際に考慮すべき処理を実行する部分を意味している。
【0027】
なお、データ処理部130内のすべてのデータ処理実行部が同じ処理部を備えている必要は無く、例えば、RIP展開処理部336を備えていないデータ処理実行部を利用することも可能である。但し、本明細書においては、説明の便宜上、すべてのデータ処理実行部330,340が同じ処理部332,334,336を備えているものと仮定し、また、各タスクのデータ処理プロセスは3つの処理部332,334,336による処理をすべて含んでいるものと仮定する。
【0028】
図4は、ジョブ受付時の処理手順を示すフローチャートである。ステップT1においてジョブ受付部302がジョブを受け付けると、ステップT2においてジョブ内容解析部304がジョブの内容を解析してタスクに分割し、タスク情報登録部310にタスクを登録する。ステップT3では、タスク管理部306が即時実行可能なタスクがあるか否かを判断する。ステップT3の判断は、タスク情報登録部310に登録されているすべてのタスクを対象として行われる。ここで、「即時実行可能なタスク」とは、そのタスクで使用する処理リソースが待ち状態にあるタスク(すなわち処理リソースが空き状態であるタスク)を意味する。例えば、すべてのタスクのデータ処理プロセスが終了している段階において、出力プロセスを含まずデータ処理プロセスのみを含むタスクが存在する場合には、そのタスクは「即時実行可能なタスク」に該当する。ステップT4では、タスク管理部306が、タスク情報登録部310内の優先順位テーブル312に従ってタスクの実行順を決定し、ステップT5でその実行順に従ってタスクを実行する。
【0029】
なお、実行中のタスクやプロセスが終了すると、実行タスク決定部320が、次に実行するタスクやプロセスを選択する。この選択手順については以下の第1,第2実施例で説明する。
【0030】
B.第1実施例:
本発明の実施例の処理手順を説明する前に、比較例における処理例を図5に即して説明する。この比較例においても、2つのデータ処理実行部330,340(図2)で2つのデータ処理プロセスを並行して実行できるものとしている。図5の時刻t1以前では、2つのタスクTSK(1),TSK(2)のデータ処理プロセス(両端に矢印が付された実線で示す)が実行されている。また、3つの実行待ちタスクTSK(3)〜TSK(5)が存在しており、これらの実行待ちタスクTSK(3)〜TSK(5)には優先度1〜3が順次割り当てられている。最初の3つのタスクTSK(1),TSK(2),TSK(3)は出力プロセス(両端に矢印が付された破線で示す)を有している。一方、2つの実行待ちタスクTSK(4),TSK(5)はデータ処理プロセスのみを有しており、出力プロセスを有してない。
【0031】
図5の比較例では、時刻t1において実行中タスクTSK(1)のデータ処理プロセスが終了すると、優先度の最も高い実行待ちタスクTSK(3)のデータ処理プロセスが開始される。同様に、時刻t2において実行待ちタスクTSK(4)のデータ処理プロセスが開始され、時刻t3において実行待ちタスクTSK(5)のデータ処理プロセスが開始される。このように、タスクは優先度順に開始され、また、2つのデータ処理プロセスが同時に実行されるようにタスクが順次開始される。また、図1に示すシステムでは出力機200が1台だけなので、出力プロセスは同時に1つだけが実行可能である。このため、出力プロセスについては、1つのタスクの出力プロセスが終了した後に、次のタスクの出力プロセスが実行される。
【0032】
図6は、本発明の第1実施例における実行タスクの決定手順を示すフローチャートである。また、図7は、第1実施例における実行タスクの決定とその実行結果を示す説明図である。図6のステップS1では、実行中タスクのデータ処理プロセスが完了したか否かが判断され、完了するとステップS2以降の処理が実行される。
【0033】
ステップS2では、第1優先度タスクが出力タスクであるか否かが判断される。ここで、「第1優先度タスク」とは、実行待ちタスクの中で最も優先度の高いタスクを意味し、「出力タスク」は出力プロセスを含むタスクを意味する。図7(A)は、時刻t1において図6の手順で実行される処理内容を示している。図7(A)の5つのタスクTSK(1)〜TSK(5)における製版処理の処理内容(すなわち各プロセスの所要時間)は、図5に示した比較例のものと同じである。時刻t1における第1優先度タスクTSK(3)は、出力タスク(出力プロセスを含むタスク)である。第1優先度タスクが非出力タスク(出力プロセスを含まないタスク)である場合には、ステップS2からステップS8に移行し、第1優先度タスクのデータ処理プロセスが実行される。この理由は、第1優先度タスクが非出力タスクのときには、そのデータ処理プロセスを直ちに実行することによって、実行待ちタスクの中でも優先度の最も高い第1優先度タスクを早期に完了できるからである。
【0034】
一方、第1優先度タスクが出力タスクである場合には、ステップS3において、第2優先度タスク以降の実行待ちタスクの中に非出力タスクが存在するか否かが判断される。ここで、「第2優先度タスク」とは、実行待ちタスクの中の第2優先度のタスクを意味する。第2優先度タスク以降に非出力タスクが存在しない場合には、ステップS8において出力タスクである第1優先度タスクをそのまま実行する。一方、第2優先度タスク以降に非出力タスクが存在する場合には、ステップS4において、第1優先度タスクの開始予定時刻tp1が予測される。
【0035】
第1優先度タスクTSK(3)の開始予定時刻tp1は以下のように予測される(図7(A)参照)。まず、処理時間算出部322(図2)が、実行中タスクTSK(1),TSK(2)の出力プロセスの処理時間(予測出力時間)を予測する。この予測は、タスク情報登録部310に登録されている各タスクのタスク情報に基づいて実行される。処理時間算出部322は、さらに、第1優先度タスクTSK(3)のデータ処理プロセスの処理時間を予測する。時刻予測部324は、2つの実行中タスクTSK(1),TSK(2)の出力プロセスの予測出力時間を加算することによって、第1優先度タスクTSK(3)の出力プロセスの開始時刻tp0を予測する。この予測は、本実施例のシステムでは出力機200(図1)は1台だけであり、出力機200の待ち時間が実質的に発生しないように、各タスクの出力プロセスが1つずつ順次実行されることを前提にしている。ここで、「出力機200の待ち時間が実質的に発生しない」とは、出力機200が稼働可能な状態でデータ転送を待っている時間が発生しないことを意味している。通常は、出力機200の画像記録媒体(感光材など)を交換するために時間を要する場合が多いが、そのような時間は「出力機200の待ち時間」には含まれない。時刻予測部324は、さらに、第1優先度タスクTSK(3)の出力プロセスの予測開始時刻tp0から、第1優先度タスクTSK(3)のデータ処理プロセスの予測処理時間を減算することによって、第1優先度タスクTSK(3)のデータ処理プロセスの開始予定時刻tp1を算出する。
【0036】
図6のステップS5では、第2優先度以降で最も優先度の高い非出力タスクの終了予定時刻tp2が予測される。図7(A)の例では、最も優先度の高い非出力タスクは2番目の実行待ちタスクTSK(4)である。この非出力タスクTSK(4)の終了予定時刻tp2は、処理時間算出部322で算出される処理時間の予測値から決定される。
【0037】
なお、実行待ちのタスクとして複数の非出力タスクが存在する場合には、ステップS5において非出力タスクのそれぞれに関して終了予定時刻が予測される。図7(A)の例では、3番目の実行待ちタスクTSK(5)に関しても、終了予定時刻が予測される。
【0038】
ステップS6では、第1優先度タスクの開始予定時刻tp1と非出力タスクtp2の終了予定時刻tp2とを比較し、第1優先度タスクの開始予定時刻tp1よりも非出力タスクtp2の終了予定時刻tp2の方が早い場合には、非出力タスクを選択して実行する(ステップS7)。図7(A)の例では、非出力タスクTSK(4)の終了予定時刻tp2の方が、第1優先度タスクTSK(3)の開始予定時刻tp1よりも早いので、時刻t1ではこの非出力タスクTSK(4)が選択されて実行される(図7(B))。なお、ステップS6の条件を満足する非出力タスクが複数存在する場合には、その中で最も優先度の高いタスクが実行される。このようにする理由は、優先順位をなるべく保ったままでなるべく効率的に処理を進めることができるからである。
【0039】
なお、非出力タスクTSK(5)の終了予定時刻は第1優先度タスクTSK(3)の開始予定時刻tp1よりも遅いので、この非出力タスクTSK(5)はステップS6の条件を満足しない。従って、仮に、図7(A)の2つの非出力タスクTSK(4),TSK(5)の優先度が図7(A)とは逆である場合にも、非出力タスクTSK(4)の方が優先的に実行される。
【0040】
ステップS6において、第1優先度タスクの開始予定時刻tp1よりも終了予定時刻が早い非出力タスクが存在しない場合には、第1優先度タスクのデータ処理プロセスを実行する(ステップS8)。
【0041】
図7(B)は、第1実施例の処理手順によって決定された実行順序を示している。時刻t1において第1のタスクTSK(1)のデータ処理プロセスが終了すると、実行待ちであった非出力タスクTSK(4)が選択されてそのデータ処理プロセスが開始される。また、時刻t2で第2のタスクTSK(2)のデータ処理プロセスが終了すると、図6の手順により、その時点で実行待ちであった非出力タスクTSK(5)が選択されて、そのデータ処理プロセスが開始される。なお、時刻t1における第1優先度タスクTSK(3)のデータ処理プロセスは、その開始予定時刻tp1から開始される。換言すれば、第1優先度タスクTSK(3)のデータ処理プロセスは、その開始予定時刻tp1まで待機している。出力タスクのデータ処理プロセスをその開始予定時刻tp1まで待機させるようにすれば、その間に前述した図4の手順において即時実行可能なタスクが受け付けられた場合に、そのタスクをより早期に実行することができるという利点がある。
【0042】
図8は、上述した比較例と第1実施例の結果とを比較して示している。図8(A)は図5と同じものであり、図8(B)は図7(B)と同じものである。この図から理解できるように、第1実施例では、第4タスクTSK(4)の終了時刻が時間d1だけ早くなっており、また、第5タスクTSK(5)の終了時刻が時間d2だけ早くなっている。また、出力プロセスは、出力機200に待ち時間が実質的に発生しないように順次実行されている。従って、第1実施例では、出力機200の効率を低下させることなく、データ処理プロセスを比較例よりも効率的に実行することができる。また、出力プロセスを伴わないタスクをより短時間に効率良く処理することができるという利点がある。
【0043】
C.第2実施例:
図9は、本発明の第2実施例における実行タスクの決定手順を示すフローチャートである。また、図10は、比較例と第2実施例における実行タスクの決定とその実行結果を示す説明図である。図9のステップS11では、実行中タスクの何らかのプロセス(データ処理プロセスまたは出力プロセス)が完了したか否かが判断され、完了するとステップS12以降の処理が実行される。
【0044】
ステップS12では、出力タスクの予約数Nが所定の上限値Nmaxに達しているか否かが判断される。ここで、「出力タスクの予約数N」とは、出力プロセスを実行中のタスクの数と、データ処理プロセスの開始後で出力プロセスの開始前であるタスクの数と、の合計である。換言すれば、出力タスクの予約数Nは、データ処理プロセスの開始後であって出力プロセスの完了前であるタスクの数である。例えば、図10(B)に示す時刻t1では、出力タスクの予約数Nは2である。
【0045】
「出力タスクの予約数の上限値Nmax」は、適宜設定することが可能である。なお、この実施例ではNmax=2に設定されているものと仮定する。この「出力タスクの予約数の上限値Nmax」の意味については後述する。
【0046】
出力タスクの予約数Nが上限値Nmaxに達していない場合には、第1優先度タスクTSK(3)をそのまま実行する(ステップS16)。一方、出力タスクの予約数Nが上限値Nmaxに達している場合には、ステップS13において実行待ちタスクに非出力タスクが存在するか否かが判断され、非出力タスクが存在しなければステップS11に戻る。この理由は、出力タスク(出力プロセスを伴うタスク)の実行を開始すると、そのタスクの出力プロセスを開始する際に、ある程度の待機が必要となる可能性が高いからである。この場合には、出力待ちのタスクが多数蓄積されるので、全体の処理効率が低下する可能性がある。図10(B)の例では、時刻t1においてN=Nmax=2であり、また、非出力タスクである実行待ちタスクTSK(4),TSK(5)が存在するので、ステップS14が実行される。ステップS14では、非出力タスクのデータ処理プロセスを実行するための処理リソースに空きがあるか否かが判断される。処理リソースに空きがなければステップS11に戻り、空きがあればステップS15においてその非出力タスクが実行される。
【0047】
図9の手順は、データ処理プロセスまたは出力プロセスが終了するたびに実行される。図10(B)の例では、第1のタスクTSK(1)のデータ処理プロセスが終了する時刻t1ではN=Nmax=2なので、実行待ちの非出力タスクである第4のタスクTSK(4)が開始される。また、第2のタスクTSK(2)のデータ処理プロセスが終了する時刻t2でもN=Nmax=2なので、実行待ちの非出力タスクである第5のタスクTSK(5)が開始される。そして、第1のタスクTSK(1)の出力プロセスが終了する時刻t4では、出力タスク予約数Nが1に減るので、その際の第1優先度タスクTSK(3)が開始される。
【0048】
図10(A),図10(B)を比較すれば分かるように、第2実施例においても、第4タスクTSK(4)の終了時刻が時間d1だけ早くなっており、また、第5タスクTSK(5)の終了時刻が時間d2だけ早くなっている。また、出力プロセスは、出力機200に待ち時間が実質的に発生しないように順次実行されている。従って、第2実施例においても、出力機200の効率を低下させることなく、データ処理プロセスを比較例よりも効率的に実行することができる。また、出力プロセスを伴わないタスクをより短時間に多数処理することができる。
【0049】
なお、図9のステップS12で使用された「出力タスクの予約数の上限値Nmax」は、以下のように設定されている。すなわち、「出力タスクの予約数の上限値Nmax」は、第1優先度タスクTSK(3)のデータ処理プロセスに優先してより優先度の低い非出力タスクTSK(4)のデータ処理プロセスを実行した場合にも、第1優先度タスクTSK(3)の出力プロセスを開始する際に待ち時間が発生しないことが期待される数(そのように予測される数)に設定されている。第2実施例では、このような比較的簡易な処理により、出力機200に待ち時間が発生することを防止しつつ、データ処理プロセスをより早く実行することが可能である。
【0050】
上述した第1、第2実施例を考慮すると、実行タスク決定部320は、以下のように実行タスクを決定していると考えることができる。
(1)実行待ちである複数のタスクTSK(3)〜(5)の中で最も優先度の高い第1優先度タスクTSK(3)が出力プロセスを含み、かつ、第1優先度タスクTSK(3)よりも優先度の低いタスクTSK(4),TSK(5)の中に出力プロセスを含まない非出力タスクが存在する、という条件が成立するか否かを判定する。
(2)上記の条件が成立するときに、第1優先度タスクTSK(3)のデータ処理プロセスに優先して非出力タスクTSK(4)のデータ処理プロセスを実行しても第1優先度タスクTSK(3)の出力プロセスを開始する際に待ち時間が発生しないと予測されるか否かを判定する。
(3)上記の予測が成立する場合には、第1優先度タスクTSK(3)に優先して非出力タスクTSK(4)のデータ処理プロセスを開始させる。
【0051】
このような判断を行う際の実際の判断基準としては、第1実施例で用いたプロセスの開始予定時刻や終了予定時刻を利用することもでき、また、第2実施例で用いた出力タスクの予約数Nを用いることもできる。但し、第1実施例や第2実施例で用いた基準以外の種々の判断基準を適用することも可能である。
【0052】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば以下のような変形例も可能である。
【0053】
上記各実施例では、出力機200が1つだけであると仮定していたが、複数の出力機を利用可能としてもよい。複数の出力機を利用可能な場合には、同時に複数の出力プロセスが実行可能となる。この場合に、第1実施例では、各出力機毎に時刻tp1,tp2(図7(A))を予測し、これに応じて実行タスクを決定することができる。また、第2実施例では、各出力機毎に出力タスクの予約数の上限値Nmaxをそれぞれ設定しておき、これを用いて図9の処理手順を実行することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例である製版システムの全体構成を示す説明図。
【図2】 データ処理部130の機能的構成を示すブロック図。
【図3】 データ処理実行部330の内部構成を示すブロック図。
【図4】 本発明の実施例におけるジョブ受付時の処理手順を示すフローチャート。
【図5】 比較例の処理例を示す説明図。
【図6】 第1実施例における実行タスクの決定手順を示すフローチャート。
【図7】 第1実施例における実行タスクの決定とその実行結果を示す説明図。
【図8】 比較例と第1実施例の結果を示す説明図。
【図9】 第2実施例における実行タスクの決定手順を示すフローチャート。
【図10】 第2実施例における実行タスクの決定とその実行結果を示す説明図。
【符号の説明】
100…印刷データ処理装置
110…キーボード
120…モニタ
130…データ処理部
140…ハードディスク装置
200…出力機
302…ジョブ受付部
304…ジョブ内容解析部
306…タスク管理部
310…タスク情報登録部
312…優先順位テーブル
320…実行タスク決定部
322…処理時間算出部
324…時刻予測部
330,340…データ処理実行部
332…プリフライト処理部
334…自動製版処理部
340…RIP展開処理部
350…処理結果出力部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for generating printed matter output data representing a printed matter image and visually outputting the printed matter image on an image recording medium.
[0002]
[Prior art]
Along with the progress of computer technology, digitization using a computer has become widespread in the plate making process for commercial printing. In the digitized plate making process, first, a print data processing device performs data processing on document data (for example, PDF data and PostScript data, PostScript is a trademark of Adobe), and generates printed matter output data. Then, this printed matter output data is transferred to an output device (film recorder or printing plate making machine (CTP)), and a printed matter image such as a screen film or a printing plate is visually output on an image recording medium. Alternatively, a printing machine that directly prints a printed material from printed material output data can be used as the output device.
[0003]
[Problems to be solved by the invention]
The print data processing apparatus can often execute a plurality of data processing processes in parallel. On the other hand, the output machine can usually only output one printed image. Since the output machine is more expensive than the print data processing apparatus, it is preferable to execute the task so that the output machine is operated as efficiently as possible. Here, “task” means one unit of work in the print data processing apparatus, and includes at least a data processing process for creating printed output data in the print data processing apparatus, and is generated in the data processing process. This means a unit of work that can further include an output process for transferring the printed output data to the output machine. However, conventionally, in such a print data processing apparatus, a technique for efficiently determining the task execution order has not been known.
[0004]
SUMMARY An advantage of some aspects of the invention is to provide a technique for efficiently determining an execution order of tasks in a print data processing apparatus.
[0005]
[Means for solving the problems and their functions and effects]
In order to achieve at least a part of the above object, a print data processing apparatus according to the present invention generates data for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium. A print data processing apparatus that performs a processing process,
A data processing execution unit capable of executing a plurality of data processing processes in parallel;
With respect to a task that includes at least the data processing process and can further include an output process for transferring print output data generated by the data processing process to the output machine, the contents of the processes included in each task and the priority of each task; Task information registration unit that can register task information including multiple tasks,
An execution task determination unit that determines a task to start the data processing process next based on the task information registered in the task information registration unit when the data processing process being executed is terminated;
With
The execution task determination unit includes a first priority task having the highest priority among a plurality of tasks registered in the task information registration unit and waiting to be executed, and includes the output process. When a non-output task that does not include the output process exists in a task having a lower priority than the task, the data processing process of the non-output task is executed in preference to the data processing process of the first priority task Even if it is predicted that no waiting time will occur when starting the output process of the first priority task, the data processing process of the non-output task is started in preference to the first priority task. It is characterized by making it.
[0006]
According to this print data processing apparatus, the task for starting the data processing process is selected so that the waiting time does not occur as much as possible when starting the output process of the first priority task. The order can be determined.
[0007]
The execution task determination unit
(I) By predicting the start time of the output process of the first priority task from the predicted output time of the output process being executed, and subtracting the predicted processing time of the data processing process of the first priority task from the start time , Predicting a scheduled start time as a time at which the data processing process of the first priority task should be started in order to avoid a waiting time when starting the output process of the first priority task;
(Ii) predicting the scheduled end time of the non-output task when it is assumed that the non-output task is started immediately after completion of the data processing process being executed;
(Iii) When the scheduled end time of the non-output task is earlier than the scheduled start time of the first priority task, the data processing process of the non-output task is started in preference to the first priority task. You may do it.
[0008]
According to this configuration, it can be realized with considerable accuracy that no waiting time is generated when the output process of the first priority task is started.
[0009]
In addition, the execution task determination unit
When the first priority task includes an output process, the start of the data processing process of the first priority task may be waited until the scheduled start time of the first priority task.
[0010]
According to this configuration, another task may be executed while waiting for the start of the first priority task, and in this case, the other task can be executed earlier.
[0011]
The execution task determination unit
(I) at the end of the data processing process being executed, the number of tasks that are executing the output process, and the number of tasks that have not yet executed the output process after the execution of the data processing process Calculate the total number of output task reservations,
(Ii) If the number of reserved output tasks is less than a predetermined upper limit value, start the data processing process of the first priority task;
(Iii) When the number of reserved output tasks has reached a predetermined upper limit, the data processing process of the non-output task may be started.
[0012]
According to this configuration, it is possible to prevent a waiting time as much as possible when starting the output process of the first priority task by a relatively simple process.
[0013]
The present invention can be realized in various forms, for example, a print data processing apparatus, a control method and control apparatus thereof, a computer program for realizing the functions of the method or apparatus, and the computer program Can be realized in the form of a recording medium or the like on which is recorded.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in the following order based on examples.
A. Device configuration:
B. First embodiment:
C. Second embodiment:
[0015]
A. Device configuration:
FIG. 1 is an explanatory diagram showing the overall configuration of a plate making system according to an embodiment of the present invention. The plate making system includes a print data processing apparatus 100 that creates printed matter output data based on document data, and an output device 200. The print data processing apparatus 100 includes a keyboard 110 as an input device, a monitor 120 as a display device, a data processing unit 130, and a hard disk device 140. The output device 200 visually outputs a printed material image on the image recording medium in accordance with the printed material output data created by the print data processing apparatus 100. As the output machine 200, a proof output machine that prints a proof, a film output machine that creates a mesh film, a plate output machine that prints a printing plate, a printing machine that directly prints a printed matter, and the like can be used. The plate output machine is also called a CTP (Computer To Plate) apparatus.
[0016]
FIG. 2 is a block diagram illustrating a functional configuration of the data processing unit 130. The job reception unit 302 receives a job including document data (PDF data or PostScript data) and stores it in the hard disk device 140 (FIG. 1). Note that “job” means a group of work including one or more tasks. Also, as described above, one task includes at least a data processing process and an output process. However, one task can be handled as one job. The job content analysis unit 304 analyzes the content of the received job and divides it into a plurality of tasks as necessary. The job content analysis unit 304 further associates each task and associates each task with a processing resource (described later), and transmits the task content to the task management unit 306.
[0017]
The task management unit 306 registers task information indicating the content of the designated task in the task information registration unit 310. The task information of each task includes the contents of the processes included in each task (the contents of the data processing process and the output process) and the priority of each task. The contents of the data processing process in the task information include, for example, the size of the processing target image and the data processing contents (which one of automatic plate making processing and RIP development processing described later is included). The contents of the output process include, for example, the size of the image recording medium and the number of plates (four in the case of CMYK). Note that the priorities of a plurality of tasks stored in the task information registration unit 310 are registered in the priority order table 312. Note that the priority of each task is normally assigned in the order received by the job receiving unit 302.
[0018]
Based on the task information registered in the task information registration unit 310, the execution task determination unit 320 determines a task for executing a data processing process in the data processing execution units 330 and 340. In order to make this determination, the execution task determination unit 320 includes a processing time calculation unit 322 and a time prediction unit 324. The processing content of the execution task determination unit 320 will be described later.
[0019]
The data processing execution units 330 and 340 are processing units for executing data processing processes. In this embodiment, two data processing processes can be executed in parallel by these data processing execution units 330 and 340. The number M of data processing processes that can be executed simultaneously in parallel (M is an integer of 2 or more) is determined according to the number of CPUs provided in the data processing unit 130, the memory capacity, and the like.
[0020]
The printed matter output data generated by the data processing execution units 330 and 340 is transferred from the processing result output unit 350 to the output device 200 or transferred to the hard disk device 140 as a data storage unit. The output destination of the printed product output data is designated in advance when each task is input. When the output device 200 has a large buffer, the output process (data transfer) by the processing result output unit 350 ends before the output (image recording operation) by the output device 200 ends. On the other hand, when the output device 200 has only a small buffer, the output process by the processing result output unit 350 ends almost simultaneously with the end of the output (image recording operation) by the output device 200. As can be understood from this description, the “output process” by the processing result output unit 350 is completed when the data transfer from the processing result output unit 350 to the output device 200 (or the hard disk device 140) is completed. The “output process” is also referred to as a “data transfer process”.
[0021]
Note that the function of each unit in the data processing unit 130 is realized by a computer program stored in the hard disk device 140.
[0022]
FIG. 3 shows the internal configuration of the data processing execution unit 330. The data processing execution unit 330 includes a preflight processing unit 332, an automatic plate making processing unit 334, and a RIP development processing unit 336. The function of each part is as follows.
[0023]
(1) Preflight processing unit 332:
This is so-called preprocessing, which is processing for analyzing whether or not the processing of the plate making can be executed without any problem by analyzing the contents of the document data. For example, from the description of a PDF file or PostScript file, (1) the existence of an object file linked in the document, (2) the presence or absence of non-standard font data in the document, etc. are confirmed. The If there is missing data or files, the user is requested to add data or specify specifications.
[0024]
(2) Automatic plate making processing unit 334:
Plate making processes such as so-called SumiNose, white border, and trapping are performed.
[0025]
(3) RIP deployment processing unit 336:
So-called raster image processing is performed to create raster data (printed product output data) representing a printed product image separated into ink colors in accordance with the output resolution.
[0026]
The second data processing execution unit 340 also has the same configuration as the first data processing execution unit 330. In this specification, the individual processing units 332, 334, and 336 in FIG. 3 are referred to as “processing resources”. Further, output to the output machine 200 by the processing result output unit 350 is also one processing resource. In this specification, the “processing resource” is a process that requires a substantial processing time, and means a part that executes a process to be considered when determining the task execution order.
[0027]
Note that it is not necessary for all the data processing execution units in the data processing unit 130 to include the same processing unit. For example, a data processing execution unit that does not include the RIP expansion processing unit 336 may be used. However, in this specification, for convenience of explanation, it is assumed that all the data processing execution units 330 and 340 include the same processing units 332, 334, and 336, and there are three data processing processes for each task. It is assumed that all the processes by the processing units 332, 334, and 336 are included.
[0028]
FIG. 4 is a flowchart showing a processing procedure when a job is received. When the job reception unit 302 receives a job in step T1, the job content analysis unit 304 analyzes the job content and divides it into tasks in step T2, and registers the task in the task information registration unit 310. In step T3, the task management unit 306 determines whether there is a task that can be executed immediately. The determination in step T3 is performed for all tasks registered in the task information registration unit 310. Here, “task that can be executed immediately” means a task in which a processing resource used in the task is in a waiting state (that is, a task in which the processing resource is empty). For example, when there is a task that includes only the data processing process but does not include the output process at the stage where the data processing processes of all tasks are completed, the task corresponds to a “task that can be executed immediately”. In step T4, the task management unit 306 determines the task execution order according to the priority order table 312 in the task information registration unit 310, and executes the tasks in accordance with the execution order in step T5.
[0029]
When the task or process being executed ends, the execution task determination unit 320 selects a task or process to be executed next. This selection procedure will be described in the following first and second embodiments.
[0030]
B. First embodiment:
Before describing the processing procedure of the embodiment of the present invention, a processing example in the comparative example will be described with reference to FIG. Also in this comparative example, it is assumed that two data processing execution units 330 and 340 (FIG. 2) can execute two data processing processes in parallel. Before time t1 in FIG. 5, data processing processes (indicated by solid lines with arrows at both ends) of two tasks TSK (1) and TSK (2) are executed. Further, there are three execution waiting tasks TSK (3) to TSK (5), and priorities 1 to 3 are sequentially assigned to these execution waiting tasks TSK (3) to TSK (5). The first three tasks TSK (1), TSK (2), and TSK (3) have an output process (indicated by broken lines with arrows at both ends). On the other hand, the two waiting tasks TSK (4) and TSK (5) have only a data processing process, and do not have an output process.
[0031]
In the comparative example of FIG. 5, when the data processing process of the task TSK (1) being executed ends at the time t1, the data processing process of the execution waiting task TSK (3) having the highest priority is started. Similarly, the data processing process of the waiting task TSK (4) is started at time t2, and the data processing process of the waiting task TSK (5) is started at time t3. In this way, the tasks are started in order of priority, and the tasks are started sequentially so that two data processing processes are executed simultaneously. In the system shown in FIG. 1, since there is only one output machine 200, only one output process can be executed simultaneously. Therefore, for the output process, after the output process of one task is completed, the output process of the next task is executed.
[0032]
FIG. 6 is a flowchart showing the execution task determination procedure in the first embodiment of the present invention. FIG. 7 is an explanatory diagram showing execution task determination and execution results in the first embodiment. In step S1 of FIG. 6, it is determined whether or not the data processing process of the task being executed has been completed, and when it is completed, the processing from step S2 is executed.
[0033]
In step S2, it is determined whether or not the first priority task is an output task. Here, the “first priority task” means a task having the highest priority among the tasks waiting for execution, and the “output task” means a task including an output process. FIG. 7A shows the processing contents executed in the procedure of FIG. 6 at time t1. The processing contents of the plate making process (that is, the time required for each process) in the five tasks TSK (1) to TSK (5) in FIG. 7A are the same as those in the comparative example shown in FIG. The first priority task TSK (3) at time t1 is an output task (task including an output process). If the first priority task is a non-output task (a task that does not include an output process), the process proceeds from step S2 to step S8, and the data processing process of the first priority task is executed. This is because when the first priority task is a non-output task, the first priority task having the highest priority among the tasks waiting to be executed can be completed early by executing the data processing process immediately. .
[0034]
On the other hand, if the first priority task is an output task, it is determined in step S3 whether or not there is a non-output task among the execution waiting tasks after the second priority task. Here, the “second priority task” means a task having the second priority among the execution waiting tasks. If there is no non-output task after the second priority task, the first priority task that is the output task is executed as it is in step S8. On the other hand, if there is a non-output task after the second priority task, the scheduled start time tp1 of the first priority task is predicted in step S4.
[0035]
The scheduled start time tp1 of the first priority task TSK (3) is predicted as follows (see FIG. 7A). First, the processing time calculation unit 322 (FIG. 2) predicts the processing time (predicted output time) of the output process of the running tasks TSK (1) and TSK (2). This prediction is executed based on the task information of each task registered in the task information registration unit 310. The processing time calculation unit 322 further predicts the processing time of the data processing process of the first priority task TSK (3). The time predicting unit 324 adds the predicted output times of the output processes of the two executing tasks TSK (1) and TSK (2) to obtain the start time tp0 of the output process of the first priority task TSK (3). Predict. This prediction is based on the fact that there is only one output machine 200 (FIG. 1) in the system of this embodiment, and the output process of each task is sequentially executed one by one so that the waiting time of the output machine 200 does not substantially occur. It is assumed that it will be. Here, “the waiting time of the output device 200 does not substantially occur” means that there is no time waiting for data transfer while the output device 200 is operable. Normally, it often takes time to replace the image recording medium (photosensitive material, etc.) of the output device 200, but such time is not included in the “waiting time of the output device 200”. The time prediction unit 324 further subtracts the prediction processing time of the data processing process of the first priority task TSK (3) from the prediction start time tp0 of the output process of the first priority task TSK (3), The scheduled start time tp1 of the data processing process of the first priority task TSK (3) is calculated.
[0036]
In step S5 of FIG. 6, the scheduled end time tp2 of the non-output task having the highest priority after the second priority is predicted. In the example of FIG. 7A, the non-output task with the highest priority is the second waiting task TSK (4). The scheduled end time tp2 of the non-output task TSK (4) is determined from the predicted value of the processing time calculated by the processing time calculation unit 322.
[0037]
When there are a plurality of non-output tasks as tasks waiting to be executed, the scheduled end time is predicted for each of the non-output tasks in step S5. In the example of FIG. 7A, the expected end time is also predicted for the third execution waiting task TSK (5).
[0038]
In step S6, the scheduled start time tp1 of the first priority task is compared with the scheduled end time tp2 of the non-output task tp2, and the scheduled end time tp2 of the non-output task tp2 is compared to the scheduled start time tp1 of the first priority task. If it is earlier, the non-output task is selected and executed (step S7). In the example of FIG. 7A, the non-output task TSK (4) scheduled end time tp2 is earlier than the first priority task TSK (3) scheduled start time tp1, so this non-output at time t1. The task TSK (4) is selected and executed (FIG. 7B). When there are a plurality of non-output tasks that satisfy the condition of step S6, the task with the highest priority is executed. The reason for doing this is that the processing can proceed as efficiently as possible while keeping the priority order as much as possible.
[0039]
Since the scheduled end time of the non-output task TSK (5) is later than the scheduled start time tp1 of the first priority task TSK (3), the non-output task TSK (5) does not satisfy the condition of step S6. Therefore, even if the priorities of the two non-output tasks TSK (4) and TSK (5) in FIG. 7 (A) are opposite to those in FIG. 7 (A), the non-output task TSK (4) Is executed preferentially.
[0040]
In step S6, when there is no non-output task whose scheduled end time is earlier than the scheduled start time tp1 of the first priority task, the data processing process of the first priority task is executed (step S8).
[0041]
FIG. 7B shows the execution order determined by the processing procedure of the first embodiment. When the data processing process of the first task TSK (1) is completed at time t1, the non-output task TSK (4) waiting for execution is selected and the data processing process is started. When the data processing process of the second task TSK (2) is completed at time t2, the non-output task TSK (5) waiting for execution at that time is selected according to the procedure shown in FIG. The process is started. Note that the data processing process of the first priority task TSK (3) at time t1 is started from the scheduled start time tp1. In other words, the data processing process of the first priority task TSK (3) waits until its scheduled start time tp1. If the data processing process of the output task is made to wait until its scheduled start time tp1, if a task that can be executed immediately in the procedure shown in FIG. 4 is received during that time, the task is executed earlier. There is an advantage that can be.
[0042]
FIG. 8 shows a comparison between the above-described comparative example and the results of the first embodiment. FIG. 8A is the same as FIG. 5, and FIG. 8B is the same as FIG. 7B. As can be seen from this figure, in the first embodiment, the end time of the fourth task TSK (4) is advanced by time d1, and the end time of the fifth task TSK (5) is advanced by time d2. It has become. Further, the output process is sequentially executed so that no waiting time is substantially generated in the output device 200. Therefore, in the first embodiment, the data processing process can be executed more efficiently than the comparative example without reducing the efficiency of the output device 200. In addition, there is an advantage that a task without an output process can be efficiently processed in a shorter time.
[0043]
C. Second embodiment:
FIG. 9 is a flowchart showing the execution task determination procedure in the second embodiment of the present invention. FIG. 10 is an explanatory diagram showing execution task determination and execution results in the comparative example and the second embodiment. In step S11 of FIG. 9, it is determined whether or not any process (data processing process or output process) of the task being executed has been completed. When the process is completed, the processes in and after step S12 are executed.
[0044]
In step S12, it is determined whether or not the reserved number N of output tasks has reached a predetermined upper limit value Nmax. Here, the “number N of output task reservations” is the sum of the number of tasks that are executing the output process and the number of tasks that are after the start of the data processing process and before the start of the output process. In other words, the output task reservation number N is the number of tasks after the start of the data processing process and before the completion of the output process. For example, the reserved number N of output tasks is 2 at time t1 shown in FIG.
[0045]
The “upper limit value Nmax of the number of reserved output tasks” can be set as appropriate. In this embodiment, it is assumed that Nmax = 2 is set. The meaning of “the upper limit value Nmax of the number of reserved output tasks” will be described later.
[0046]
If the reserved number N of output tasks has not reached the upper limit value Nmax, the first priority task TSK (3) is executed as it is (step S16). On the other hand, if the reserved number N of output tasks has reached the upper limit value Nmax, it is determined in step S13 whether or not there is a non-output task among the execution waiting tasks, and if there is no non-output task, step S11. Return to. This is because when execution of an output task (task accompanied by an output process) is started, there is a high possibility that a certain amount of waiting is required when starting the output process of the task. In this case, since many tasks waiting for output are accumulated, there is a possibility that the overall processing efficiency is lowered. In the example of FIG. 10B, N = Nmax = 2 at time t1, and there are execution waiting tasks TSK (4) and TSK (5) which are non-output tasks, so step S14 is executed. . In step S14, it is determined whether or not there is a free processing resource for executing the data processing process of the non-output task. If there is no available processing resource, the process returns to step S11. If there is a free resource, the non-output task is executed in step S15.
[0047]
The procedure shown in FIG. 9 is executed every time the data processing process or the output process ends. In the example of FIG. 10B, since N = Nmax = 2 at the time t1 when the data processing process of the first task TSK (1) ends, the fourth task TSK (4) that is a non-output task waiting for execution. Is started. Further, since N = Nmax = 2 even at time t2 when the data processing process of the second task TSK (2) ends, the fifth task TSK (5), which is a non-output task waiting for execution, is started. At time t4 when the output process of the first task TSK (1) ends, the output task reservation number N decreases to 1, and the first priority task TSK (3) at that time is started.
[0048]
As can be seen by comparing FIG. 10A and FIG. 10B, the end time of the fourth task TSK (4) is also advanced by time d1 in the second embodiment, and the fifth task The end time of TSK (5) is advanced by time d2. Further, the output process is sequentially executed so that no waiting time is substantially generated in the output device 200. Therefore, also in the second embodiment, the data processing process can be executed more efficiently than in the comparative example without reducing the efficiency of the output device 200. In addition, a large number of tasks that do not involve an output process can be processed in a shorter time.
[0049]
The “upper limit value Nmax of the number of reserved output tasks” used in step S12 in FIG. 9 is set as follows. In other words, “the upper limit value Nmax of the number of reserved output tasks” executes the data processing process of the non-output task TSK (4) having a lower priority in preference to the data processing process of the first priority task TSK (3). In such a case, the number is set to a number that is expected not to generate a waiting time when the output process of the first priority task TSK (3) is started (the number that is predicted as such). In the second embodiment, it is possible to execute the data processing process earlier while preventing a waiting time from occurring in the output device 200 by such relatively simple processing.
[0050]
Considering the first and second embodiments described above, it can be considered that the execution task determination unit 320 determines an execution task as follows.
(1) The first priority task TSK (3) having the highest priority among the plurality of tasks TSK (3) to (5) waiting for execution includes the output process, and the first priority task TSK ( It is determined whether or not a condition that a non-output task that does not include an output process exists in tasks TSK (4) and TSK (5) having a lower priority than 3) is satisfied.
(2) When the above condition is satisfied, even if the data processing process of the non-output task TSK (4) is executed in preference to the data processing process of the first priority task TSK (3), the first priority task It is determined whether or not a waiting time is expected to occur when the TSK (3) output process is started.
(3) When the above prediction is established, the data processing process of the non-output task TSK (4) is started in preference to the first priority task TSK (3).
[0051]
As actual judgment criteria for making such a judgment, it is possible to use the scheduled start time and scheduled end time of the process used in the first embodiment, and the output task used in the second embodiment. The number of reservations N can also be used. However, various determination criteria other than the criteria used in the first and second embodiments can be applied.
[0052]
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
[0053]
In each of the above embodiments, it is assumed that there is only one output machine 200, but a plurality of output machines may be used. When a plurality of output machines can be used, a plurality of output processes can be executed simultaneously. In this case, in the first embodiment, it is possible to predict the times tp1 and tp2 (FIG. 7A) for each output machine, and to determine the execution task according to this. In the second embodiment, an upper limit value Nmax of the number of reserved output tasks is set for each output device, and the processing procedure of FIG. 9 can be executed using this.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing the overall configuration of a plate making system that is an embodiment of the present invention.
FIG. 2 is a block diagram showing a functional configuration of a data processing unit 130. FIG.
3 is a block diagram showing an internal configuration of a data processing execution unit 330. FIG.
FIG. 4 is a flowchart illustrating a processing procedure when a job is accepted according to an embodiment of the present invention.
FIG. 5 is an explanatory diagram showing a processing example of a comparative example.
FIG. 6 is a flowchart showing a procedure for determining an execution task in the first embodiment.
FIG. 7 is an explanatory diagram showing execution task determination and execution results in the first embodiment.
FIG. 8 is an explanatory diagram showing the results of a comparative example and a first example.
FIG. 9 is a flowchart showing a procedure for determining an execution task in the second embodiment.
FIG. 10 is an explanatory diagram showing execution task determination and execution results in the second embodiment.
[Explanation of symbols]
100: Print data processing apparatus
110 ... Keyboard
120 ... Monitor
130: Data processing unit
140. Hard disk device
200 ... Output machine
302: Job reception unit
304: Job content analysis unit
306 ... Task management section
310 ... Task information registration part
312: Priority table
320 ... execution task determination unit
322 ... Processing time calculation unit
324 ... Time prediction unit
330, 340 ... Data processing execution unit
332 ... Preflight processing section
334 ... Automatic plate making section
340 ... RIP development processing unit
350: Processing result output unit

Claims (7)

印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを行う印刷データ処理装置であって、
複数のデータ処理プロセスを並列に実行可能なデータ処理実行部と、
少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで生成された印刷物出力データを前記出力機に転送する出力プロセスをさらに含み得るタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクについて登録可能なタスク情報登録部と、
実行中のデータ処理プロセスが終了したときに、前記タスク情報登録部に登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定する実行タスク決定部と、
を備え、
前記実行タスク決定部は、前記タスク情報登録部に登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないと予測される場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させ
前記実行タスク決定部は、
(i)実行中の出力プロセスの出力予測時間から前記第1優先度タスクの出力プロセスの開始時刻を予測するとともに、当該開始時刻から前記第1優先度タスクのデータ処理プロセスの予測処理時間を減算することによって、前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないようにするために前記第1優先度タスクのデータ処理プロセスを開始すべき時刻としての開始予定時刻を予測し、
(ii)前記実行中のデータ処理プロセスの終了後に前記非出力タスクを直ちに開始すると仮定したときの前記非出力タスクの終了予定時刻を予測し、
(iii)前記第1優先度タスクの開始予定時刻よりも前記非出力タスクの終了予定時刻の方が早いときには、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させる、印刷データ処理装置。
A print data processing apparatus that performs a data processing process for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium,
A data processing execution unit capable of executing a plurality of data processing processes in parallel;
With respect to a task that includes at least the data processing process and can further include an output process for transferring print output data generated by the data processing process to the output machine, the contents of the processes included in each task and the priority of each task; Task information registration unit that can register task information including multiple tasks,
An execution task determination unit that determines a task to start the data processing process next based on the task information registered in the task information registration unit when the data processing process being executed is terminated;
With
The execution task determination unit includes a first priority task having the highest priority among a plurality of tasks registered in the task information registration unit and waiting to be executed, and includes the output process. When a non-output task that does not include the output process exists in a task having a lower priority than the task, the data processing process of the non-output task is executed in preference to the data processing process of the first priority task Even if it is predicted that no waiting time will occur when starting the output process of the first priority task, the data processing process of the non-output task is started in preference to the first priority task. then,
The execution task determination unit
(I) Predicting the start time of the output process of the first priority task from the predicted output time of the output process being executed, and subtracting the predicted processing time of the data processing process of the first priority task from the start time By doing so, a scheduled start time as a time at which the data processing process of the first priority task is to be started is predicted in order to avoid a waiting time when starting the output process of the first priority task. And
(Ii) predicting the scheduled end time of the non-output task when it is assumed that the non-output task is started immediately after completion of the data processing process being executed;
(Iii) When the scheduled end time of the non-output task is earlier than the scheduled start time of the first priority task, the data processing process of the non-output task is started in preference to the first priority task. , Print data processing device.
請求項記載の印刷データ処理装置であって、
前記実行タスク決定部は、
前記第1優先度タスクが出力プロセスを含むときに、前記第1優先度タスクのデータ処理プロセスの開始を前記第1優先度タスクの開始予定時刻まで待機させる、印刷データ処理装置。
The print data processing apparatus according to claim 1 ,
The execution task determination unit
When the first priority task includes an output process, the print data processing device causes the start of the data processing process of the first priority task to wait until the scheduled start time of the first priority task.
印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを行う印刷データ処理装置であって、
複数のデータ処理プロセスを並列に実行可能なデータ処理実行部と、
少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで生成された印刷物出力データを前記出力機に転送する出力プロセスをさらに含み得るタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクについて登録可能なタスク情報登録部と、
実行中のデータ処理プロセスが終了したときに、前記タスク情報登録部に登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定する実行タスク決定部と、
を備え、
前記実行タスク決定部は、前記タスク情報登録部に登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第 1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないと予測される場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させ、
前記実行タスク決定部は、
(i)前記実行中のデータ処理プロセスの終了時に、前記出力プロセスを実行中のタスクの数と、前記データ処理プロセスの実行開始後であって前記出力プロセスを未実行であるタスクの数との合計である出力タスク予約数を算出し、
(ii)前記出力タスク予約数が所定の上限値未満の場合には、前記第1優先度タスクのデータ処理プロセスを開始させ、
(iii)前記出力タスク予約数が所定の上限値に達している場合には、前記非出力タスクのデータ処理プロセスを開始させる、印刷データ処理装置。
A print data processing apparatus that performs a data processing process for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium,
A data processing execution unit capable of executing a plurality of data processing processes in parallel;
With respect to a task that includes at least the data processing process and can further include an output process for transferring print output data generated by the data processing process to the output machine, the contents of the processes included in each task and the priority of each task; Task information registration unit that can register task information including multiple tasks,
An execution task determination unit that determines a task to start the data processing process next based on the task information registered in the task information registration unit when the data processing process being executed is terminated;
With
The execution task determination unit comprises a highest priority first priority task is the output process among a plurality of tasks are registered are awaiting execution in the task information registration unit, and the first priority When a non-output task that does not include the output process exists in a task having a lower priority than the task, the data processing process of the non-output task is executed in preference to the data processing process of the first priority task Even if it is predicted that no waiting time will occur when starting the output process of the first priority task, the data processing process of the non-output task is started in preference to the first priority task. Let
The execution task determination unit
(I) at the end of the data processing process being executed, the number of tasks that are executing the output process, and the number of tasks that have not yet executed the output process after the execution of the data processing process Calculate the total number of output task reservations,
(Ii) If the number of reserved output tasks is less than a predetermined upper limit value, start the data processing process of the first priority task;
(Iii) A print data processing apparatus that starts a data processing process of the non-output task when the reserved number of output tasks has reached a predetermined upper limit.
印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを複数並列に実行可能な印刷データ処理装置の制御方法であって、
(a)少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで得られた印刷物出力データを前記出力機に転送する出力プロセスをさらに含むことが可能なタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクをメモリに登録する工程と、
(b)実行中のデータ処理プロセスが終了したときに、前記メモリに登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定する工程と、
を備え、
前記工程(c)は、
前記メモリに登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しない場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始し、
前記工程(c)は、
(i)実行中の出力プロセスの出力予測時間から前記第1優先度タスクの出力プロセスの開始時刻を予測するとともに、当該開始時刻から前記第1優先度タスクのデータ処理プロセスの予測処理時間を減算することによって、前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないようにするために前記第1優先度タスクのデータ処理プロセスを開始すべき時刻としての開始予定時刻を予測し、
(ii)前記実行中のデータ処理プロセスの終了後に前記非出力タスクを直ちに開始すると仮定したときの前記非出力タスクの終了予定時刻を予測し、
(iii)前記第1優先度タスクの開始予定時刻よりも前記非出力タスクの終了予定時刻の方が早いときには、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始する、制御方法。
A control method of a print data processing apparatus capable of executing in parallel a plurality of data processing processes for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium,
(A) Concerning a task that includes at least the data processing process and can further include an output process for transferring print output data obtained by the data processing process to the output machine, the contents of the process included in each task; Registering a plurality of tasks in memory with task information including the priority of each task;
(B) determining a task to start the data processing process next based on task information registered in the memory when the data processing process being executed is terminated;
With
The step (c)
Among the plurality of tasks registered in the memory and waiting to be executed, the first priority task having the highest priority includes the output process, and the task has a lower priority than the first priority task. When there is a non-output task that does not include the output process, even if the data processing process of the non-output task is executed in preference to the data processing process of the first priority task, If no waiting time occurs when starting the output process, start the data processing process of the non-output task in preference to the first priority task ;
The step (c)
(I) Predicting the start time of the output process of the first priority task from the predicted output time of the output process being executed, and subtracting the predicted processing time of the data processing process of the first priority task from the start time By doing so, a scheduled start time as a time at which the data processing process of the first priority task is to be started is predicted in order to avoid a waiting time when starting the output process of the first priority task. And
(Ii) predicting the scheduled end time of the non-output task when it is assumed that the non-output task is started immediately after completion of the data processing process being executed;
(Iii) When the scheduled end time of the non-output task is earlier than the scheduled start time of the first priority task, the data processing process of the non-output task is started prior to the first priority task. , control method.
印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを複数並列に実行可能な印刷データ処理装置の制御方法であって、
(a)少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで得られた印刷物出力データを前記出力機に転送する出力プロセスをさらに含むことが可能なタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクをメモリに登録する工程と、
(b)実行中のデータ処理プロセスが終了したときに、前記メモリに登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定する工程と、
を備え、
前記工程(c)は、
前記メモリに登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しない場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始し、
前記工程(c)は、
(i)前記実行中のデータ処理プロセスの終了時に、前記出力プロセスを実行中のタスクの数と、前記データ処理プロセスの実行開始後であって前記出力プロセスを未実行であるタスクの数との合計である出力タスク予約数を算出し、
(ii)前記出力タスク予約数が所定の上限値未満の場合には、前記第1優先度タスクのデータ処理プロセスを開始し、
(iii)前記出力タスク予約数が所定の上限値に達している場合には、前記非出力タスクのデータ処理プロセスを開始する、制御方法。
A control method of a print data processing apparatus capable of executing in parallel a plurality of data processing processes for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium,
(A) Concerning a task that includes at least the data processing process and can further include an output process for transferring print output data obtained by the data processing process to the output machine, the contents of the process included in each task; Registering a plurality of tasks in memory with task information including the priority of each task;
(B) determining a task to start the data processing process next based on task information registered in the memory when the data processing process being executed is terminated;
With
The step (c)
Among the plurality of tasks registered in the memory and waiting to be executed, the first priority task having the highest priority includes the output process, and the task has a lower priority than the first priority task. When there is a non-output task that does not include the output process, even if the data processing process of the non-output task is executed in preference to the data processing process of the first priority task, If no waiting time occurs when starting the output process, start the data processing process of the non-output task in preference to the first priority task ;
The step (c)
(I) at the end of the data processing process being executed, the number of tasks that are executing the output process, and the number of tasks that have not yet executed the output process after the execution of the data processing process Calculate the total number of output task reservations,
(Ii) If the number of reserved output tasks is less than a predetermined upper limit value, start the data processing process of the first priority task;
(Iii) A control method of starting a data processing process of the non-output task when the number of reserved output tasks has reached a predetermined upper limit value .
印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを複数並列に実行可能な印刷データ処理装置におけるタスクの実行順序を決定するためのコンピュータプログラムであって、
少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで得られた印刷物出力データを前記出力機に転送する出力プロセスをさらに含むことが可能なタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクをメモリに登録するタスク情報登録機能と、
実行中のデータ処理プロセスが終了したときに、前記メモリに登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定するタスク決定機能と、
をコンピュータに実現させるプログラムを含み、
前記タスク決定機能は、前記メモリに登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しない場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させる機能を含み、
前記タスク決定機能は、
(i)実行中の出力プロセスの出力予測時間から前記第1優先度タスクの出力プロセスの開始時刻を予測するとともに、当該開始時刻から前記第1優先度タスクのデータ処理プロセスの予測処理時間を減算することによって、前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しないようにするために前記第1優先度タスクのデータ処理プロセスを開始すべき時刻としての開始予定時刻を予測し、
(ii)前記実行中のデータ処理プロセスの終了後に前記非出力タスクを直ちに開始すると仮定したときの前記非出力タスクの終了予定時刻を予測し、
(iii)前記第1優先度タスクの開始予定時刻よりも前記非出力タスクの終了予定時刻の方が早いときには、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始する、
機能を含む、コンピュータプログラム。
A task execution order is determined in a print data processing apparatus capable of executing in parallel a plurality of data processing processes for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium. A computer program for
Regarding a task that includes at least the data processing process and can further include an output process for transferring print output data obtained by the data processing process to the output device, the contents of the processes included in each task and the Task information registration function for registering multiple tasks in memory with task information including priority, and
A task determination function for determining a task to start the data processing process next based on the task information registered in the memory when the data processing process being executed is terminated;
Including a program that causes a computer to
In the task determination function, a first priority task having the highest priority among a plurality of tasks registered in the memory and waiting to be executed includes the output process, and has priority over the first priority task. When there is a non-output task that does not include the output process among the low-level tasks, even if the data processing process of the non-output task is executed in preference to the data processing process of the first priority task, If the latency when starting the output process of the first priority task does not occur, you see contains a function to start the data processing process preferentially the non-output task to the first priority task,
The task determination function is
(I) Predicting the start time of the output process of the first priority task from the predicted output time of the output process being executed, and subtracting the predicted processing time of the data processing process of the first priority task from the start time By doing so, a scheduled start time as a time at which the data processing process of the first priority task is to be started is predicted in order to avoid a waiting time when starting the output process of the first priority task. And
(Ii) predicting the scheduled end time of the non-output task when it is assumed that the non-output task is started immediately after completion of the data processing process being executed;
(Iii) When the scheduled end time of the non-output task is earlier than the scheduled start time of the first priority task, the data processing process of the non-output task is started prior to the first priority task. ,
A computer program that includes functions .
印刷物画像を画像記録媒体上に可視的に出力するための出力機に供給する印刷物出力データを生成するためのデータ処理プロセスを複数並列に実行可能な印刷データ処理装置におけるタスクの実行順序を決定するためのコンピュータプログラムであって、
少なくとも前記データ処理プロセスを含み、前記データ処理プロセスで得られた印刷物出力データを前記出力機に転送する出力プロセスをさらに含むことが可能なタスクに関して、各タスクに含まれるプロセスの内容と各タスクの優先度とを含むタスク情報を複数のタスクをメモリに登録するタスク情報登録機能と、
実行中のデータ処理プロセスが終了したときに、前記メモリに登録されているタスク情報に基づいて、次にデータ処理プロセスを開始するタスクを決定するタスク決定機能と、
をコンピュータに実現させるプログラムを含み、
前記タスク決定機能は、前記メモリに登録されて実行待ちである複数のタスクの中で最も優先度の高い第1優先度タスクが前記出力プロセスを含み、かつ、前記第1優先度タスクよりも優先度の低いタスクの中に前記出力プロセスを含まない非出力タスクが存在するときに、前記第1優先度タスクのデータ処理プロセスに優先して前記非出力タスクのデータ処理プロセスを実行しても前記第1優先度タスクの出力プロセスを開始する際に待ち時間が発生しない場合には、前記第1優先度タスクに優先して前記非出力タスクのデータ処理プロセスを開始させる機能を含み、
前記タスク決定機能は、
(i)前記実行中のデータ処理プロセスの終了時に、前記出力プロセスを実行中のタスクの数と、前記データ処理プロセスの実行開始後であって前記出力プロセスを未実行であるタスクの数との合計である出力タスク予約数を算出し、
(ii)前記出力タスク予約数が所定の上限値未満の場合には、前記第1優先度タスクのデータ処理プロセスを開始し、
(iii)前記出力タスク予約数が所定の上限値に達している場合には、前記非出力タスクのデータ処理プロセスを開始する、
機能を含む、コンピュータプログラム。
A task execution order is determined in a print data processing apparatus capable of executing in parallel a plurality of data processing processes for generating print output data to be supplied to an output device for visually outputting a print image on an image recording medium. A computer program for
Regarding a task that includes at least the data processing process and can further include an output process for transferring print output data obtained by the data processing process to the output device, the contents of the processes included in each task and the Task information registration function for registering multiple tasks in memory with task information including priority, and
A task determination function for determining a task to start the data processing process next based on the task information registered in the memory when the data processing process being executed is terminated;
Including a program that causes a computer to
In the task determination function, a first priority task having the highest priority among a plurality of tasks registered in the memory and waiting to be executed includes the output process, and has priority over the first priority task. When there is a non-output task that does not include the output process among the low-level tasks, even if the data processing process of the non-output task is executed in preference to the data processing process of the first priority task, If the latency when starting the output process of the first priority task does not occur, you see contains a function to start the data processing process preferentially the non-output task to the first priority task,
The task determination function is
(I) at the end of the data processing process being executed, the number of tasks that are executing the output process, and the number of tasks that have not yet executed the output process after the execution of the data processing process Calculate the total number of output task reservations,
(Ii) If the number of reserved output tasks is less than a predetermined upper limit value, start the data processing process of the first priority task;
(Iii) If the number of reserved output tasks has reached a predetermined upper limit, start the data processing process of the non-output task;
A computer program that includes functions .
JP2003140242A 2003-05-19 2003-05-19 Task control for print processing Expired - Fee Related JP4060233B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003140242A JP4060233B2 (en) 2003-05-19 2003-05-19 Task control for print processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003140242A JP4060233B2 (en) 2003-05-19 2003-05-19 Task control for print processing

Publications (2)

Publication Number Publication Date
JP2004341996A JP2004341996A (en) 2004-12-02
JP4060233B2 true JP4060233B2 (en) 2008-03-12

Family

ID=33529011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003140242A Expired - Fee Related JP4060233B2 (en) 2003-05-19 2003-05-19 Task control for print processing

Country Status (1)

Country Link
JP (1) JP4060233B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5091694B2 (en) * 2007-04-05 2012-12-05 京セラドキュメントソリューションズ株式会社 Information processing system and information processing program
JP5141338B2 (en) * 2008-03-31 2013-02-13 カシオ電子工業株式会社 Printing device
JP5183443B2 (en) * 2008-11-27 2013-04-17 京セラドキュメントソリューションズ株式会社 Image forming apparatus
JP5284076B2 (en) * 2008-12-25 2013-09-11 キヤノン株式会社 Printing apparatus, control method therefor, and program

Also Published As

Publication number Publication date
JP2004341996A (en) 2004-12-02

Similar Documents

Publication Publication Date Title
US7652671B2 (en) Image processing device and method and storage medium storing program
JP5046801B2 (en) Image processing apparatus and program
JP5594470B2 (en) Printing control apparatus, printing system, and program
US8584137B2 (en) Image processing system for judging whether a partial job should be processed by an own device or another device
US20070139684A1 (en) Device for dynamically varying the priority of various processing in a printer
JP2000085210A (en) Printer and printing method
JP2008009696A (en) Image processor and program
JP2005352697A (en) Computer system, and allocating method for job of the system
JP4859103B2 (en) Image forming apparatus
US7355739B2 (en) Image forming device having a memory assignment unit
JP4060233B2 (en) Task control for print processing
JPH10289066A (en) Image processor and its method
JP2011167857A (en) Image forming apparatus, image forming method, and image forming program
US6972855B2 (en) Image forming apparatus and image forming method
US8665460B2 (en) Print system, printing apparatus, printing method and printing program
JP2007323393A (en) Image processor and program
US6989908B1 (en) Image input and output method, image input and output apparatus, and image processing system
JP5709417B2 (en) Image processing apparatus, control method therefor, and program
JP2000311071A (en) Output controller, output control method, and storage medium stored with computer readable program
US20050273756A1 (en) Memory management method for multifunction peripheral
JP2006121577A (en) Image forming apparatus and image forming system
JP2002215352A (en) Image processing device
JP4027711B2 (en) Network printing system and management method thereof
JP5168220B2 (en) Image forming apparatus
JP5505202B2 (en) Image forming apparatus, image forming control method, image forming control program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071219

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees