JP4900530B1 - 画像処理装置及びプログラム - Google Patents

画像処理装置及びプログラム Download PDF

Info

Publication number
JP4900530B1
JP4900530B1 JP2011201547A JP2011201547A JP4900530B1 JP 4900530 B1 JP4900530 B1 JP 4900530B1 JP 2011201547 A JP2011201547 A JP 2011201547A JP 2011201547 A JP2011201547 A JP 2011201547A JP 4900530 B1 JP4900530 B1 JP 4900530B1
Authority
JP
Japan
Prior art keywords
job
description language
page description
raster image
queue
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
JP2011201547A
Other languages
English (en)
Other versions
JP2013061911A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2011201547A priority Critical patent/JP4900530B1/ja
Application granted granted Critical
Publication of JP4900530B1 publication Critical patent/JP4900530B1/ja
Priority to US13/474,316 priority patent/US8699047B2/en
Priority to AU2012203636A priority patent/AU2012203636B2/en
Publication of JP2013061911A publication Critical patent/JP2013061911A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1811Receiving print data characterized by its formatting, e.g. particular page description languages including high level document description only
    • G06K15/1813Page description language recognition
    • 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/1801Input data handling means
    • G06K15/1817Buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】1つのRIPに排他的に処理を行わせる画像処理装置において、ジョブの順序をできるだけ維持しつつも、処理中のRIPのラスター画像の作成及び転送の機能を有効利用する。
【解決手段】投入されたジョブは未RIPならRIPキュー12に、RIP済みならプリントキュー14に追加される。処理中RIPのラスター画像作成部及びラスター画像転送部は、RIPキュー12及びプリントキュー14の先頭ジョブに対して当該処理中のジョブが指定されていれば、当該先頭ジョブを処理する。処理中ジョブリスト16は、処理中のRIPにて処理が開始され且つ印刷が完了していないジョブを記憶する。処理中RIPのラスター画像作成部があるジョブのラスター画像作成を完了すると、処理中ジョブリスト16を参照して、そのジョブを、プリントキュー14の先頭から見て、指定されたRIPが処理中RIPでない最初のジョブとその1つ前のジョブとの間に挿入する。
【選択図】図1

Description

本発明は、画像処理装置及びプログラムに関する。
プリントコントローラ、プリントサーバ、プリンタ(以下「プリントコントローラ等」と呼ぶ)などの装置は、クライアントコンピュータから送られてくるページ記述言語(以下、「PDL」と呼ぶ。PDLはPage Description Languageの略)の印刷データを解釈してラスター画像データを生成するために、RIP(Raster Image Processor)と呼ばれる処理モジュールを備えている。以下では、RIPが行う解釈及びラスター画像生成(ラスタライズ)の処理のことを、RIP処理と呼ぶ。
また、近年普及しているPDF(Portable Document Format)は、閲覧に適したファイル形式であるが、従来からプリンタに直接投入して印刷出力することが可能であり、一種のPDLと捉えられている。従来、PDFデータが入力された場合、プリントコントローラ等が備えるPostScript(登録商標)言語用のRIPがそのPDFデータを受理し、そのPDFデータをPostScript言語のデータに変換してから、RIP処理を行っていた。このため、PDFデータのRIP処理には、PostScriptの場合よりも長い時間を要していた。
近年、PDFデータの処理の高速化のために、PDFデータを直接解釈してラスタライズするタイプのRIPが開発された。このRIPは、PostScriptデータを受理し、そのPostScriptデータをPDF形式に変換してからRIP処理する機能も備えている。このRIPの場合、PostScriptデータのRIP処理には、PDFの場合よりも長い時間を要する。
PostScriptデータもPDFデータも共に高速に処理するために、PostScript用のRIPとPDF用のRIPの両方をプリントコントローラ等に搭載することも考えられる。しかし、RIP処理には非常に大きなメモリ領域が必要なので、搭載メモリの容量上の制限から両プリンタコントローラ等は両方のRIPを同時に実行することができない場合も考えられる。
特許文献1には、複数のRIPの実行を制御し、複数のジョブを処理する方法が記載されている(例えば同文献の段落0016)。RIPには優先処理順位が設定されており、優先処理順位が高いRIPが実行中に低いRIPを中断するという制御を行っている。
特許文献2には、再RIPを行ったジョブをプリントキューに登録する際に、プリントキューの末尾に追加するだけでなく、ジョブの属性に応じた位置に追加することが記載されている(例えば同文献の請求項1)。
特許文献3には、複数のジョブに対し、同じ処理状態のジョブが複数処理されないようにする排他制御方法が記載されている(例えば同文献の請求項1)。この排他制御方法における排他制御の観点は、転送状態、ラスタライズ状態、出力状態処理状態などの状態であり、RIPの種類ではない。
特許文献4には、複数並行して実行可能な印刷処理手段によって実行される印刷処理の実行数が第1制限値に達している場合、一部の印刷処理を待機状態に制御する方法が記載されている(例えば同文献の請求項1)。
特開平10−240467号公報 特開2010−049405号公報 特開2006−067587号公報 特開2009−009378号公報
本発明は、複数のページ記述言語処理手段のうち1つに排他的に処理を行わせる画像処理装置において、印刷ジョブの処理順序をできるだけ維持しつつも、処理中のページ記述言語処理手段の備えるラスター画像作成機能と作成されたラスター画像の転送機能とをできるだけ有効利用することを目的とする。
請求項1に係る発明は、それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段と、前記複数のページ記述言語処理手段のうちの1つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段と、を備え、前記複数のページ記述言語処理手段の各々は、当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、を備え、前記ジョブ管理手段は、ラスター画像が未作成の印刷ジョブの待ち行列である第1キューと、ラスター画像が作成済みの印刷ジョブの待ち行列である第2キューと、印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第1キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第2キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第2のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キュー及び前記第2キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第1キュー又は前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第1の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第2の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第3の指示手段と、前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第1のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第2のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、を備え、前記画像作成時キュー追加手段は、前記印刷ジョブを前記第2のキューに追加する際に、当該印刷ジョブを、前記第2のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその1つ前の印刷ジョブとの間に挿入する、ことを特徴とする画像処理装置である。
請求項2に係る発明は、コンピュータを、それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段、前記複数のページ記述言語処理手段のうちの1つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段、として機能させるためのプログラムであって、前記複数のページ記述言語処理手段の各々は、当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、を備え、前記ジョブ管理手段は、ラスター画像が未作成の印刷ジョブの待ち行列である第1キューと、ラスター画像が作成済みの印刷ジョブの待ち行列である第2キューと、印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第1キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第2キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第2のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キュー及び前記第2キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第1キュー又は前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第1の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第2の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第3の指示手段と、前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第1のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第2のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、を備え、前記画像作成時キュー追加手段は、前記印刷ジョブを前記第2のキューに追加する際に、当該印刷ジョブを、前記第2のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその1つ前の印刷ジョブとの間に挿入する、ことを特徴とするプログラムである。
請求項1又は2に係る発明によれば、複数のページ記述言語処理手段のうち1つに排他的に処理を行わせる画像処理装置において、印刷ジョブの処理順序をできるだけ維持しつつも、処理中のページ記述言語処理手段の備えるラスター画像作成機能と作成されたラスター画像の転送機能とをできるだけ有効利用することができる。
実施の形態のシステム構成の一例を示す図である。 キューのデータ内容の一例を示す図である。 ジョブ管理モジュールが実行する処理(a)の手順の例を示す図である。 ジョブ管理モジュールが実行する処理(b)の手順の例を示す図である。 ジョブ管理モジュールが実行する処理(c)の手順の例を示す図である。 ジョブ管理モジュールが実行する処理(d)の手順の例を示す図である。 ジョブ管理モジュールが実行する処理(e)の手順の前半部の例を示す図である。 ジョブ管理モジュールが実行する処理(e)の手順の後半部の例を示す図である。 RIPの処理手順の例を示す図である。 未RIPジョブが投入されたときの印刷処理システムの処理の流れの例を示す図である。 RIP済みジョブが投入されたときの印刷処理システムの処理の流れの例を示す図である。
図1を参照して、この実施の形態の印刷処理システムの構成例を説明する。この印刷処理システムは、例えば、クライアントコンピュータ(図示省略)から入力される印刷ジョブを処理することで、その印刷ジョブに指示される画像を用紙に印刷する。また、印刷処理システムは、当該システムが保持している印刷ジョブについての印刷実行の指示を、当該システムのUI(ユーザインタフェース)から、又はクライアントコンピュータから受け付け、その印刷ジョブの印刷処理を実行してもよい。また、PDF等のフォーマットのファイル(印刷ジョブ)を印刷処理システムの入力インタフェース(例えばDVD等のディスクを読み取る読取装置、USBメモリが装着されるUSBインタフェース等)から当該システム内に読み込み、これを当該システムが印刷処理してもよい。また、印刷処理システム又はクライアントコンピュータに作成された特定のフォルダ(ホットフォルダと呼ばれる)に対して印刷ジョブのファイルを投入すると、印刷処理システムがその印刷ジョブを処理するようにしてもよい。
印刷処理システムが処理する印刷ジョブは、いずれかのPDL(ページ記述言語)で記述された印刷データを含んでいる。印刷データには、印刷対象の画像をPDLで記述したものもあれば、RIP処理済みのラスター画像とPDLで記述された印刷属性等の付加情報とを含んだものもある。後者の印刷ジョブについては、印刷処理システム内のRIPは解釈及びラスタライズの処理を行う必要はない。以下では前者を未RIPジョブ、後者をRIP済みジョブと呼ぶ。なお、印刷処理システムが保持するRIP済みジョブには、例えば、(ア)印刷処理システム上に保持されているジョブであって、過去にRIP処理が済んでいるジョブ、(イ)他の装置で作成されたRIP済みデータを持つ形式のジョブが印刷処理システムに読み込まれたもの、(ウ)他の装置で作成されたRIP済みデータを持つ形式のジョブがホットフォルダに投入されたもの、等がある。
図1に例示するシステムは、ジョブ管理モジュール10と、2つのRIP(Raster Image Processor)20A及び20Bと、プリンタ30とを備えている。ジョブ管理モジュール10及びRIP20A及び20Bは、例えば1台のコンピュータ(例えばプリントコントローラ、プリントサーバ、又は印刷装置内のコンピュータ)上に、ソフトウエアモジュールとして実装される。
プリンタ30は、RIP20A及び20Bから入力されるラスター画像データを用紙に対して印刷する。
RIP20A及び20Bは、PDLで記述された印刷データを解釈してラスター画像データを生成する処理モジュールである。RIP20AとRIP20Bとは、それぞれ高速処理可能なページ記述言語が異なるRIPである。すなわち、RIP20Aは、第1のPDLで記述されたデータをRIP20Bよりも高速に処理するのに対し、RIP20Bは、第1のPDLとは異なる第2のPDLで記述されたデータをRIP20Aよりも高速に処理する。一例として、以下の説明では、RIP20AはPostScript用のRIP(すなわちPostScriptデータをRIP20Bよりも高速に処理)であり、RIP20BはPDF用のRIP(すなわちPDFデータをRIP20Aよりも高速に処理)であるとする。
RIP20Aは、ラスター画像作成部22A、ラスター画像転送部24A、及びプリンタ監視部26Aを備えている。同様にRIP20Bは、ラスター画像作成部22B、ラスター画像転送部24B、及びプリンタ監視部26Bを備えている。ラスター画像生成部22A及び22Bは、PDLデータを解釈してラスター画像データを生成する。ラスター画像転送部24A及び24Bは、ラスター画像データをプリンタ30へ転送したり、プリンタ30に対してそのラスター画像データの印刷のための各種の制御信号を送ったりする。プリンタ監視部26A及び26Bは、プリンタ30に対して送ったラスター画像データの印刷が完了するのを監視する。
このように、この実施の形態では、RIP20A及び20Bの機能を、ラスター画像作成部22A及び22Bと、ラスター画像転送部24A及び24Bの2段階に分け、印刷ジョブがそれぞれ必要な段階の処理を受けるようにした。すなわち、未RIPジョブは両方の段階の処理を受け、RIP済みジョブは後の段階、すなわちラスター画像転送部24A又は24Bの処理のみを受ける。なお、1つの印刷ジョブは、両方の段階の処理を受ける場合には、必ず同じRIP(20A又は20B)で処理を受ける。
ジョブ管理モジュール10は、上に例示したクライアントコンピュータ(図示省略)から入力される印刷ジョブや印刷処理システム自身が保持している印刷ジョブ等の印刷ジョブの実行を管理する処理モジュールである。
印刷ジョブは、いずれかのPDL(ページ記述言語)で記述された印刷データを含んでいる。印刷データには、印刷対象の画像をPDLで記述したものもあれば、RIP処理済みのラスター画像とPDLで記述された印刷属性等の付加情報とを含んだものもある。この実施の形態では、印刷ジョブには、印刷データの他に、RIP20A及び20Bのうちのいずれに処理させるかの指定の情報(以下、「指定RIP情報」と呼ぶ)が含まれているものとする。なお、この指定は、印刷ジョブの実行を指示するユーザが、例えばクライアントコンピュータ上のプリンタドライバ又は印刷処理システムのUI等に対して行い、プリンタドライバ又は印刷処理システムのUI等がその指定に応じたRIPの識別情報、すなわち指定RIP情報を、印刷ジョブと対応づけて(あるいは印刷ジョブのデータの中に含めて)、この実施の形態のジョブ管理モジュール10に渡す。
ジョブ管理モジュール10は、RIPキュー12、プリントキュー14、処理中ジョブリスト16、処理中RIP情報18を備えている。
RIPキュー12は、2段階のうちの第1段階、すなわちラスター画像生成部22A又は22Bの処理を待つ印刷ジョブの待ち行列である。プリントキュー14は、2段階のうちの第2段階、すなわちラスター画像転送部24A又は24Bの処理を待つ印刷ジョブの待ち行列である。各キュー12,14には、図2に示すように、個々の印刷ジョブ(典型的には印刷ジョブの識別情報)が、その印刷ジョブに対応する指定RIP情報と対応づけて入れられる。図2では、RIP20Aを「RIP−A」と、RIP20Bを「RIP−B」と表記している。各キュー12,14内の印刷ジョブは、先入れ先出し順で先頭から順に取り出されていき、RIP20A又は20Bで処理される。印刷処理の対象として指定された未RIPジョブは、まずRIPキュー12に入れられ、順番が来ると、指定されたラスター画像生成部22A又は22Bによりラスタライズ処理を受ける。そして、ラスタライズ処理が完了するとそのジョブはプリントキュー14に入れられ、順番が来ると、指定されたラスター画像転送部24A又は24Bによりプリンタ30へ転送され、印刷される。一方、印刷処理の対象として指定されたRIP済みジョブは、RIPキュー12を飛ばしてプリントキュー14に入れられ、順番が来ると、指定されたラスター画像転送部24A又は24Bによりプリンタ30へ転送され、印刷される。
処理中ジョブリスト16は、現在「処理中」である印刷ジョブのリストである。ここで言う「処理中」とは、未RIPジョブについては、第1段階(ラスター画像作成部22A及び22B)により当該ジョブの処理が開始してから、当該ジョブについての第2段階(ラスター画像転送部24A及び24B)の転送処理が終了するまでの間にあることをいい、RIP済みジョブについては、当該ジョブについての第2段階(ラスター画像転送部24A及び24B)の転送処理が開始してから終了するまでの間にあることをいう。この実施の形態では、RIP20A及び20Bを排他的に処理を行わせるので、処理中ジョブリスト16に含まれる処理中の各印刷ジョブは、RIP20A及び20Bのうち現在処理動作中のRIPにて「処理中」のものである。言い換えれば、処理中ジョブリストには、指定RIP情報がRIP20Aを示している印刷ジョブと、指定RIP情報がRIP20Bを示している印刷ジョブが混在することがないように、制御を行う(詳細は後述)。
処理中RIP情報18は、現在処理を行っているRIPの識別情報である。処理中ジョブリスト16には、処理中RIP情報18が示すRIPにて「処理中」の印刷ジョブの識別情報が含まれることになる。
図1には2つのRIP20A及び20Bを備える印刷処理システムを例示したが、この実施の形態の制御は、3つ以上のRIPを備えるシステムにも適用される。
ジョブ管理モジュール10は、以上に説明したRIPキュー12、プリントキュー14、処理中ジョブリスト16、及び処理中RIP情報18を用いて、以下のような印刷ジョブの実行管理を行う。このジョブ管理モジュール10による印刷ジョブの実行管理の処理を、処理(a)〜(e)の5つの処理に分けて説明する。
<説明に使用する記号のまとめ>
なお、以下の処理手順の説明において用いる記号の意味を以下にまとめる。
P1、P2、…PN :N種類存在するRIPの種類を表す(図1の例では2種類)。
Pc:現在処理中のRIPを表す(すなわち処理中RIP情報18が示すRIP)。PcはP1〜PN、またはP0の状態をとる。P0は、現在処理中のRIPが存在しない(すなわちN種類のRIPがすべて処理を実行していない)ことを示す。
Pj:入力された印刷ジョブjで指定されているRIPの種類を表す(すなわち印刷ジョブjの指定RIP情報の値)。
Pr:RIPキュー12の先頭の印刷ジョブに指定されているRIPの種類(すなわちRIPキュー12の先頭ジョブの指定RIP情報)を表す。
Pp:プリントキュー12の先頭の印刷ジョブで指定されているRIPの種類(すなわちプリントキュー14の先頭ジョブの指定RIP情報)を表す。
<処理(a):到来した印刷ジョブのキューへの追加>
図3を参照して、印刷処理の対象として指定された印刷ジョブ(仮にその識別番号をjとする)をキューに追加する処理(a)の一例を説明する。
印刷ジョブjが到来した場合、ジョブ管理モジュール10は、その印刷ジョブjが未RIPジョブであるか否かを判定する(a1)。印刷ジョブjが未RIPジョブであれば、その印刷ジョブjをRIPキュー12の末尾に追加し(a2)、その印刷ジョブjの処理先として指定されたRIPすなわちPjに対してRIP処理開始指示を通知する(a3)。RIP処理開始指示を受けたRIP(Pj)は、図9の手順に従って処理を進める(詳細は後述)。これにより、ジョブjが最初のジョブならそのジョブjが入ったキューに対してまずRIPから問合せが発せられ、そのジョブjについて指定されたRIPが処理を開始する(すなわちそのRIPが「処理中」のRIPとなる)ことになる。
ステップa1で印刷ジョブjが未RIPジョブではない(すなわちRIP済みジョブである)と判定した場合、ジョブ管理モジュール10は、その印刷ジョブjをプリントキュー14の末尾に追加し(a4)、その印刷ジョブjの処理先として指定されたRIPすなわちPjに対してプリント処理開始指示を通知する(a5)。プリント処理開始指示を受けたRIP(Pj)は、図9の手順に従って処理を進める(詳細は後述)。
<処理(b):RIPキューへの問合せへの対応>
図4を参照して、いずれかのRIP(以下ではPnと表す)からRIPキュー12に処理待ちの印刷ジョブがあるか否かの問合せが来た場合のジョブ管理モジュール10の処理(b)の例を説明する。
RIP(Pn)からRIPキュー12についての問合せが到来すると、ジョブ管理モジュール10は、処理中RIP情報18が表す現在処理中のRIP(すなわちPc)が問合せ元のRIPと一致すること(すなわちPc=Pn)、又は現在処理中のRIPが存在しないこと(すなわちPc=P0)、のいずれかが成立するか否かを判定する(b1)。いずれかが成立すれば、ジョブ管理モジュール10は、問合せ元のRIP(Pn)と、RIPキュー12の先頭の印刷ジョブの指定RIP情報が示すRIP(Pr)とが一致するか否かを判定する(b2)。ステップb1とb2の実行順序は逆でもよい。
ステップb1とb2の判定結果がいずれも肯定(YES)であれば、ジョブ管理モジュール10は、処理中RIP情報18の値Pcに、問合せ元のRIPの識別情報Pnを代入(b1でPc=Pnの場合は、その状態を維持)する(b3)。例えば、ステップb1で処理中のRIPが存在しないと判定した場合(Pc=P0)、ステップb3では、問合せ元のRIP(Pn)が新たに処理を実行するRIPとして指定されることになる。次に、処理中ジョブリスト16の末尾に、RIPキュー12の先頭のジョブを追加する(b4)。なお、ステップb4では、その先頭ジョブが既に処理中ジョブリスト16内に存在する場合には、そのジョブを重複してリスト16に追加することはしない。そして、問合せ元のRIP(Pn)に対して、その先頭ジョブ(の識別情報)を、当該RIPが次に処理すべきジョブとして回答する(b5)。なお、ステップb3〜b5の処理の実行順序はこれに限られるものではなく、どのような順序でもよい。
ステップb1とb2の判定結果のいずれか一方でも否定(NO)であれば、ジョブ管理モジュール10は、問合せ元のRIP(Pn)に対して、問合せに該当する印刷ジョブが無い旨を回答する(b6)。
<処理(c):プリントキューへの問合せへの対応>
図5を参照して、いずれかのRIP(以下ではPnと表す)からプリントキュー14に処理待ちの印刷ジョブがあるか否かの問合せが来た場合のジョブ管理モジュール10の処理(c)の例を説明する。
RIP(Pn)からRIPキュー12についての問合せが到来すると、ジョブ管理モジュール10は、処理中RIP情報18が表す現在処理中のRIP(すなわちPc)が問合せ元のRIPと一致すること(すなわちPc=Pn)、又は現在処理中のRIPが存在しないこと(すなわちPc=P0)、のいずれかが成立するか否かを判定する(c1)。いずれかが成立すれば、ジョブ管理モジュール10は、問合せ元のRIP(Pn)と、プリントキュー14の先頭の印刷ジョブの指定RIP情報が示すRIP(Pp)とが一致するか否かを判定する(c2)。ステップc1とc2の実行順序は逆でもよい。
ステップc1とc2の判定結果がいずれも肯定(YES)であれば、ジョブ管理モジュール10は、処理中RIP情報18の値Pcに、問合せ元のRIPの識別情報Pnを代入(c1でPc=Pnの場合は、その状態を維持)する(c3)。例えば、ステップc1で処理中のRIPが存在しないと判定した場合(Pc=P0)、ステップc3では、問合せ元のRIP(Pn)が新たに処理を実行するRIPとして指定されることになる。次に、処理中ジョブリスト16の末尾に、プリントキュー14の先頭のジョブを追加する(c4)。なお、ステップc4では、その先頭ジョブが既に処理中ジョブリスト16内に存在する場合には、そのジョブを重複してリスト16に追加することはしない。そして、問合せ元のRIP(Pn)に対して、その先頭ジョブ(の識別情報)を、当該RIPが次に処理すべきジョブとして回答する(c5)。なお、ステップc3〜c5の処理の実行順序はこれに限られるものではなく、どのような順序でもよい。
ステップc1とc2の判定結果のいずれか一方でも否定(NO)であれば、ジョブ管理モジュール10は、問合せ元のRIP(Pn)に対して、問合せに該当する印刷ジョブが無い旨を回答する(c6)。
<処理(d):ラスター画像作成完了の通知に応じた処理>
図6を参照して、いずれかのRIP(以下ではPnと表す)から、ある印刷ジョブ(以下では識別番号Jとする)についてのラスター画像の作成が完了した旨の通知が到来した場合の、ジョブ管理モジュール10の処理(d)の一例を説明する。
ラスター画像作成完了の通知が到来した場合、ジョブ管理モジュール10は、まず制御変数iを1に初期化する(d1)。この処理では、プリントキュー14の先頭から順に印刷ジョブを調べていくが、変数iは調査対象とする印刷ジョブがプリントキュー14の先頭から何番目であるかを示す。次にジョブ管理モジュール10は、変数iが現在プリントキュー14内にあるジョブの数より大きいか否かを判定する(d2)。これは、プリントキュー14内のすべての印刷ジョブを調べ終わったかどうかを判定する処理である。
ステップd2の判定結果が否定(NO)の場合、プリントキュー14の先頭からi番目のジョブが処理中ジョブリスト16内に存在するか否かを判定する(d3)。存在していれば、変数iを1だけ増加させて(d4)、ステップd2に戻る。このステップd2、d3、d4のループで、プリントキュー14の先頭のジョブから順に、それら各ジョブが処理中ジョブリスト16に含まれているかどうか、すなわち「処理中」であるかどうかを判定していく。
このループの中で、ステップd3にてプリントキュー14内のi番目のジョブが処理中ジョブリスト16内に存在しないことが判明した場合、ジョブ管理モジュール10は、この処理手順のきっかけとなった通知にて、ラスター画像作成が完了したと報告されたジョブJを、プリントキュー14のi番目に挿入する(d5)。すなわち、ジョブJは、プリントキュー14内にある先頭から続く「処理中」ジョブがとぎれた位置、言い換えれば、プリントキュー14内にある先頭から見て最初の「処理中」ではないジョブとその1つ前の「処理中」ジョブとの間の位置、に挿入されることになる。なお、ジョブ内の全ページのラスター画像の作成が完了したときにラスター画像作成完了通知が発せられる構成の場合は、例えばこのステップd5において、ジョブJをRIPキュー12から削除してもよい。また、ジョブ内の最初の一部分のラスター画像の作成が完了したときにラスター画像作成完了通知が発せられる構成の場合は、RIPはそのジョブJの全ページのラスター画像の作成が完了した時にラスター画像作成の全部完了を示す通知をジョブ管理モジュール10に送り、ジョブ管理モジュール10がその通知に応じてRIPキュー12からジョブJを削除すればよい。
ステップd5の後、ジョブ管理モジュール10は、そのジョブJに対応する指定RIP情報が示すRIP(PJ)に対し、プリント処理開始指示を通知する(d6)。なお、RIP(PJ)は、このフローのトリガとなったラスター画像作成完了の通知を送ってきたRIP(Pn)と一致し、(後述する処理(e)で処理中RIP情報18がクリアされていない限り)処理中RIP情報18が表す現在処理中のRIP(Pc)とも一致する。プリント処理開始指示を受けたRIP(PJ)は、図9の手順に従って処理を進める(詳細は後述)。
なお、ステップd2の判定結果が肯定(YES)となった場合は、プリントキュー14の先頭から最後までのすべてのジョブが「処理中」であるということである。この場合、i番目は、プリントキュー14の最後のジョブよりも1つ次の順番を指している。したがって、ジョブ管理モジュール10は、プリントキュー14のi番目(すなわち末尾)にジョブJを挿入し(d5)、RIP(PJ)に対してプリント処理開始指示を通知する(d6)。
<処理(e):印刷完了の通知に応じた処理>
図7及び図8を参照して、いずれかのRIP(以下ではPnと表す)から、ある印刷ジョブ(以下では識別番号Jとする)についての印刷が完了した旨の通知到来した場合の、ジョブ管理モジュール10の処理(e)の一例を説明する。
印刷完了の通知が到来した場合、ジョブ管理モジュール10は、印刷か完了したジョブJをプリントキュー14の先頭及び処理中ジョブリスト16から削除し(e1)、その削除の結果処理中ジョブリスト16が空になったか否かを判定する(e2)。処理中ジョブリスト16が空になっていなければ、この処理(e)を終了する。
処理中ジョブリスト16が空になった場合、ジョブ管理モジュール10は、RIPキュー12の先頭のジョブに対して指定されたRIP(Pr)が、処理中RIP情報18が示す現在処理中のRIP(Pc)に一致するかどうかを判定する(e3)。一致する場合には、ジョブ管理モジュール10は、現在処理中のRIP(Pc)に対してRIP処理開始指示を通知する(e4)。更に、ジョブ管理モジュール10は、プリントキュー14の先頭のジョブに対して指定されたRIP(Pp)が、現在処理中のRIP(Pc)に一致するかどうかを判定する(e5)。一致する場合には、ジョブ管理モジュール10は、現在処理中のRIP(Pc)に対してプリント処理開始指示を通知する(e6)。なお、ステップe5の判定結果が否定(すなわちPp≠Pc)の場合は、この処理(e)を終了する。
ステップe3の判定結果が否定(すなわちPr≠Pc)の場合は、ジョブ管理モジュール10は、プリントキュー14の先頭のジョブに対して指定されたRIP(Pp)が、現在処理中のRIP(Pc)に一致するかどうかを判定する(e7)。この判定の結果が肯定(すなわちPp=Pc)の場合は、ステップe6を実行する。
ステップe7の判定結果が否定の場合は、「処理中」のジョブが存在せず、現在処理中のRIP(Pc)が、RIPキュー12の先頭ジョブ及びプリントキュー14の先頭ジョブのいずれに指定されたRIP(Pr及びPp)にも一致しないという状況である。各キュー12及び14中のジョブは先入れ先出し方式で処理されるので、現在処理中のRIP(Pc)がそれらキューの先頭ジョブのいずれについても指定されていない状況では、現在処理中のRIP(Pc)の動作を停止させ、別のRIPを動作させる必要がある。そこで、処理(e)は、図8に示す手順に進む。
図8の手順では、ジョブ管理モジュール10は、RIPキュー12にジョブが存在するか否かを判定する(e8)。この判定の結果が肯定(YES)の場合、処理中RIP情報18をクリア(すなわちPcにP0を代入)し(e9)、RIPキュー12の先頭ジョブについて指定されたRIP(Pr)に対してRIP処理開始指示を通知する(e10)。そして、ジョブ管理モジュール10は、プリントキュー14の先頭ジョブについて指定されたいRIP(Pp)がRIPキュー12の先頭ジョブについて指定されたRIP(Pr)に一致するか否かを判定し(e11)、一致する場合には、Prに対してプリント処理開始指示を通知し(e14)、処理を終了する。一致しない場合は、何もせずに処理を終了する。
また、ステップe8の判定結果が否定(NO)の場合、ジョブ管理モジュール10は、プリントキュー114にジョブが存在するか否かを判定する(e12)。この判定の結果が肯定(YES)の場合、処理中RIP情報18をクリア(すなわちPcにP0を代入)し(e13)、プリントキュー14の先頭ジョブについて指定されたRIP(Pp)に対してプリント処理開始指示を通知し(e14)、処理を終了する。
ステップe12の判定結果が否定(NO)の場合は、処理中RIP情報18をクリア(すなわちPcにP0を代入)して(e15)、処理を終了する。
以上に説明したように、処理(e)では、処理中ジョブリスト16内にジョブがあれば、そのジョブは現在処理中のRIP(Pc)で処理するように指定されているジョブなので、そのRIP(Pc)が処理中ジョブリスト16内のジョブの処理を行うことになる。また、処理中ジョブリスト16内にジョブが無い場合、RIPキュー12及びプリントキュー14の中に、先頭ジョブについて現在処理中のRIP(Pc)が指定されている方に対して処理開始を通知することで、そのRIP(Pc)が処理を続行するようにする。また、処理中ジョブリスト16内にジョブが無く、RIPキュー12及びプリントキュー14の先頭ジョブのいずれに指定されたRIPも、現在処理中のRIP(Pc)とは異なる場合には、Pcをクリアし、ジョブを有するキュー(12又は14又は両方)に対して処理開始を通知する。
<RIPが行う処理>
次に、各RIP(20A及び20B)が実行する処理の一例を、図9を参照して説明する。図9に示すように、各RIPは、電源投入などにより起動されると、それぞれ、ラスター画像作成用ループ処理、ラスター画像転送用ループ処理、及びプリント監視用ループ処理をそれぞれ起動する(S100、S200、S300)。これらループ処理は、図1に示したラスター画像作成部22A及び22B、ラスター画像転送部24A及び24B、及びプリンタ監視部26A及び26Bにそれぞれ対応する。ラスター画像作成用ループ処理(S102〜S110)と、ラスター画像転送用ループ処理(S202〜S208)とは、並列実行される。
ラスター画像作成用ループ処理では、RIP(ラスター画像作成部)は、ジョブ管理モジュール10からRIP処理開始指示が通知されるのを待ち(S102)、RIP処理開始指示が通知されると、ジョブ管理モジュール10に対してRIPキューの先頭ジョブを問い合わせる(S104)。この問合せを受けたジョブ管理モジュール10は、上述した処理(b)を実行する。この問合せの結果、ジョブ管理モジュール10からの回答が該当ジョブありか否か(すなわち図4のステップb5及びb6のいずれか)を判定し(S106)、回答が該当ジョブ無しを示すものであれば、S102に戻る。回答が該当ジョブ有り(すなわち現在処理中のRIP(Pc)が自分自身以外のRIPでなく、かつRIPキュー12の先頭ジョブに指定されたRIPが自分自身である場合)を示すものであれば、回答されてきたRIPキュー12の先頭ジョブのPDLデータを解釈してラスタライズ処理を行う(S108)。そして、そのジョブのラスター画像の作成が完了すると、ジョブ管理モジュール10に対してラスター画像の作成完了を通知する(S110)。この通知を受けたジョブ管理モジュール10は、上述の処理(d)を実行する。また、ラスター画像の作成完了後、RIP(ラスター画像作成部)は、RIPキュー12にジョブが残っているかどうかを調べ(S112)、残っていればS104に戻ってRIPキュー12の先頭ジョブの問合せを行い、残っていなければS102に戻ってRIP処理開始指示が通知されるのを待つ。
なお、ステップS110のラスター画像の作成完了の通知は、1つの印刷ジョブ全体(例えば全ページ)のラスター画像の作成が完了した場合に行ってもよいし、1つの印刷ジョブのうちの最初の一部分のラスター画像の生成が完了した時点で行ってもよい。後者の例における「印刷ジョブのうちの最初の一部分」は、例えば印刷ジョブの先頭の1ページであってもよいし、先頭の1ページのうちの先頭のバンド(1ページを予め定めたライン数ずつ区切った帯状領域)であってもよいし、印刷ジョブの先頭から予め定められたページ数のページ群であってもよい。
ここで、後者の例では、例えばRIPキュー12にもプリントキュー14にもジョブがない時に、未RIPジョブがジョブ管理モジュール10に入力された場合、まずそのジョブがRIPキュー12に入れられてラスター画像生成部22A又は22Bに渡される。そして、ラスター画像作成部22A又は22Bによりそのジョブの最初の一部分のラスター画像の作成が完了した時点で、そのジョブがプリントキュー14に入れられてラスター画像転送部24A又は24Bに入れられ、作成されたラスター画像がラスター画像転送部24A又は24Bによりプリンタ30に転送され、用紙に印刷される。このように、ジョブの最初の予め定められた一部分のラスター画像の作成の完了時点で、RIP20A又は20Bからジョブ管理モジュール10に通知を行うことで、そのジョブのラスター画像データの転送及び印刷と、同じジョブの残りの部分のラスター画像作成とが並列実行されることになる。
ラスター画像転送用ループ処理では、RIP(ラスター画像転送部)は、ジョブ管理モジュール10からプリント処理開始指示が通知されるのを待ち(S202)、プリント処理開始指示が通知されると、ジョブ管理モジュール10に対してプリントキューの先頭ジョブを問い合わせる(S204)。この問合せを受けたジョブ管理モジュール10は、上述した処理(c)を実行する。この問合せの結果、ジョブ管理モジュール10からの回答が該当ジョブありか否か(すなわち図5のステップc5及びc6のいずれか)を判定し(S206)、回答が該当ジョブ無しの旨を示すものであれば、S202に戻る。回答が該当ジョブ有り(すなわち現在処理中のRIP(Pc)が自分自身以外のRIPでなく、かつプリントキュー14の先頭ジョブに指定されたRIPが自分自身である場合)を示すものであれば、回答されてきたプリントキュー14の先頭ジョブのラスター画像をプリンタ30に転送し、印刷を実行させる(S208)。ラスター画像の転送完了後、RIP(ラスター画像転送部)は、プリントキュー14にジョブが残っているかどうかを調べ(S210)、残っていればS204に戻ってプリントキュー14の先頭ジョブの問合せを行い、残っていなければS202に戻ってプリント処理開始指示が通知されるのを待つ。
ラスター画像転送用ループ処理によりプリンタ30に対してあるジョブJのラスター画像を転送すると、RIPは、プリント監視用ループ処理にて、そのジョブJについての印刷完了の通知がプリンタ30から到来するのを待つ(S302)。そして、印刷完了通知が到来すると、RIPは、ジョブ管理モジュール10に対してジョブJについての印刷完了を通知する(S304)。この通知を受けたジョブ管理モジュール10は、上述の処理(e)を実行する。
<処理の流れの例>
次に、図10を参照して、未RIPジョブが投入された場合の、この実施の形態の印刷処理システムの処理の流れの例を説明する。
まず、未RIPジョブが到来すると、ジョブ管理モジュール10は上述した処理(a)により、そのジョブをRIPキュー12に追加し(S402)、そのジョブの指定RIP情報が示すRIP20のラスター画像作成部22に対してRIP処理開始指示を通知する(S404)。ラスター画像作成部22は、その時点では他のジョブの処理を行っておらず、通知待ち状態(図9のS102)なので、この通知を受けると、ジョブ管理モジュール10に対してRIPキューの先頭ジョブを問い合わせる(S406、図9のS104)。問合せを受けたジョブ管理モジュール10は、上述の処理(b)を実行する。すなわち、他のRIPが処理を実行中でなければ、その問合せを行ったRIP20を処理中RIP情報18に登録し(図4のb3)、そのジョブを処理中ジョブリスト16に追加する(b4,S408)。そして、ラスター画像作成部22に対してRIPキューの先頭ジョブを回答する(S410、図4のb5)。なお、他のRIPが処理中の場合は、該当ジョブ無しと回答し(図4のb6)、問合せ元のRIP20を「RIP処理開始指示」の通知待ち状態とする。以下では、S410先頭ジョブを回答した場合の流れを説明する。
この場合、ラスター画像作成部22は、通知された先頭ジョブのPDLデータを取得して解釈することで、ラスター画像を作成する(S412)。そして、そのラスター画像の作成が完了すると、ジョブ管理モジュール10に対して、完了通知(プリント開始依頼)を行う(S414)。
この通知(依頼)を受けたジョブ管理モジュール10は、上述の処理(d)を実行し、ラスター画像作成処理が完了したそのジョブをプリントキュー14に追加し(S416)、RIP20のラスター画像転送部24に対してプリント処理開始指示を通知する(S418)。この指示を受けたラスター画像転送部24は、ジョブ管理モジュール10に対してプリントキュー14の先頭ジョブを問い合わせる(S420、図9のS204)。この問合せを受けたジョブ管理モジュール10は、上述の処理(c)を実行し(S422)、プリントキュー14の先頭ジョブを回答する(S424)。ラスター画像転送部24は、回答された先頭ジョブのラスター画像をプリンタ30へと転送する(S426)。プリンタ30は、転送されてきたラスター画像を用紙に印刷する(S428)。そのラスター画像の印刷が完了すると、RIP20のプリンタ監視部26がその印刷完了を検知し、ジョブ管理モジュール10に対してジョブ印刷完了を通知する(S430)。これを受けてジョブ管理モジュール10は、上述の処理(e)を実行することで、印刷が完了したジョブを処理中ジョブリスト16から削除し、処理中RIP情報18が再設定されるようにする(S432)。
次に、図11を参照して、RIP済みジョブが投入された場合の、この実施の形態の印刷処理システムの処理の流れを説明する。
まず、RIP済みジョブが到来すると、ジョブ管理モジュール10は上述した処理(a)により、そのジョブをプリントキュー14に追加し(S402)、そのジョブの指定RIP情報が示すRIP20のラスター画像転送部24に対してプリント処理開始指示を通知する(S504)。この指示を受けたラスター画像転送部24は、ジョブ管理モジュール10に対してプリントキュー14の先頭ジョブを問い合わせる(S506)。この問合せを受けたジョブ管理モジュール10は、上述の処理(c)を実行し(S508)、プリントキュー14の先頭ジョブを回答する(S510)。ラスター画像転送部24は、回答された先頭ジョブのラスター画像をプリンタ30へと転送する(S512)。プリンタ30は、転送されてきたラスター画像を用紙に印刷する(S514)。そのラスター画像の印刷が完了すると、RIP20のプリンタ監視部26がその印刷完了を検知し、ジョブ管理モジュール10に対してジョブ印刷完了を通知する(S516)。これを受けてジョブ管理モジュール10は、上述の処理(e)を実行することで、印刷が完了したジョブを処理中ジョブリスト16から削除し、処理中RIP情報18が再設定されるようにする(S518)。
<複数ジョブが連続投入された場合の処理の流れの例>
次に、複数のジョブが連続して投入された場合の、この実施の形態の印刷処理システムの振る舞いを、具体例を挙げて説明する。
[第1の例]
まず第1の例として、印刷処理システムがアイドル状態(すなわち、RIPキュー12、プリントキュー14及び処理中ジョブリスト16がすべて空である状態)にあるときに、図1のRIP20Aで処理するよう指定された未RIPジョブ[A]が投入され、その直後にRIP20Bで処理するよう指定されたRIP済みジョブ[B]が投入された場合を考える。この場合の印刷処理システムの処理の流れの前半は以下のようになる。
(1) ジョブ[A]が処理(a)により、RIPキュー12に追加される。
(2) ジョブ[B]が処理(a)により、プリントキュー14に追加される。
(3) ジョブ[A]について、処理(b)により、RIP20Aによりラスター画像の作成処理が開始される(処理中RIPは、RIP20A)。
(4) ジョブ[A]のラスター画像の作成が完了した場合、通常のキュー管理の考え方(上述した処理(d)を用いない処理)では、ジョブ[A]をプリントキューの末尾に追加することになる。
この場合、処理(c)において、プリントキュー14の先頭のジョブ[B]にはRIP20Bが指定されており、これは現在処理中のRIP20Aと一致しないので、図4のb1の判定結果が否定(NO)となってしまい、処理すべきジョブがない(「該当ジョブなし」)と判断されてしまい、処理が進まなくなる。
ここで、仮に処理中ジョブリスト16(ジョブ[A]が入っている)と処理中RIP情報18(RIP20Aを示している)をクリアすれば、プリントキュー14の先頭にあるジョブ[B]の転送(印刷)処理が行われることになるが、これでは、先に処理開始したジョブ[A]よりも、ジョブ[B]の方が先に印刷されることになり、順番が入れ替わってしまう。
これに対し、上述の処理(d)を行うと、(4)の処理は次の(4’)に置き換えられる。
(4’) ジョブ[A]のラスター画像データの作成が完了した場合、ジョブ[A]がプリントキュー14内のジョブ[B]のジョブの前に追加される。
この結果、現在処理中のRIP20Aを指定RIPとしたジョブ[A]がプリントキュー14の先頭となるので、その後の処理(c)では、現在処理中のRIP20Aによりジョブ[A]が処理されることになる。このようにして、動作させるRIPを切り換えることなく、また異なるRIPを使用するジョブ同士の間での印刷順序がそれらジョブが投入された順序と入れ替わることなく、印刷処理が行われることになる。
[第2の例]
次に、第2の例を説明する。この例では印刷処理システムがアイドル状態にあるときに、次に示す3つのジョブ[A1]、[A2]、[B1]がこの順で、ただしほとんど同時に投入されたとする。
[A1] : RIP20Aで処理するよう指定されたRIP済みジョブ
[A2] : RIP20Aで処理するよう指定された未RIPジョブ
[B1] : RIP20Bで処理するよう指定されたRIP済みジョブ
また、これら3つのジョブの印刷が完了するまで、他のジョブは投入されないものとする。この場合の処理の流れは以下のようになる。
(1) 処理(a)により、各ジョブがRIPキュー12、プリントキュー14に入る。RIP20A、RIP20Bに対し、ジョブが各キューに追加されたこと(プリント処理開始指示及びRIP処理開始指示)が通知される(図4のb5,図5のc5)。この時点でのジョブ管理モジュール10の内部状態(RIPキュー12、プリントキュー14、処理中RIP情報18及び処理中ジョブリスト16の状態)は以下の通りである。なお、以下の表記におけるキュー内のジョブの並び順では、左側ほど順番が早いものとする。
RIPキュー:[A2]
プリントキュー:[A1], [B1]
処理中RIP:なし
処理中ジョブリスト:なし
(2) ジョブ「A1」が最初に入力されたので、ジョブ管理モジュール10からRIP20Aにまずプリント処理開始指示が通知される。この通知を受けたRIP20Aは、プリント処理可能なジョブをジョブ管理モジュールに問い合わせる。処理中RIPが「なし」であり、プリントキューの先頭のジョブの指定RIPがRIP20Aなので、処理(c)により、[A1]のラスター画像転送(印刷)処理が開始される。これにより、処理中RIPはRIP20Aになり、処理中ジョブリストに[A1]が入る。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:[A2]
プリントキュー:[A1], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A1]
(3) ジョブ「A1」の直後にジョブ[A2]が入力されたときに、ジョブ管理モジュール10からRIP20AにRIP処理開始指示が通知される。これに応じRIP20Aは、RIP処理可能なジョブをジョブ管理モジュール10に問い合わせる。ここで、処理中RIPがRIP20Aであり、RIPキューの先頭のジョブ[A2]の指定RIPがRIP20Aなので、処理(b)により、[A2]の処理が開始されることになる。処理中ジョブリストに[A2]が入る。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:[A2]
プリントキュー:[A1], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A1], [A2]
(4) ジョブ「A2」の直後にジョブ[B1]が入力されたときに、ジョブ管理モジュール10からRIP20Bにプリント処理開始指示が通知される。この通知を受けたRIP20Bは、プリント処理可能なジョブをジョブ管理モジュール10に問い合わせる。このとき処理中RIPがRIP20Aであり、プリントキューの先頭のジョブの指定RIPがRIP20Aなので、処理(c)(図5)のステップC1の判定結果が否定(NO)となり、RIP20Bには該当ジョブ無しの回答が送られる。この回答により、RIP20Bはプリント処理開始指示を待つ状態(図9のS202)に移行する。したがって、この時点では[B1]の処理は行われない。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:[A2]
プリントキュー:[A1], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A1], [A2]
(5) その後、ジョブ[A1]の印刷が完了する前に[A2]のうちの最初の部分のラスター画像の作成が完了した場合を考える。この場合[A2]がプリントキュー14に追加されることになる。この追加は、処理(d)により、処理中ジョブリスト16にあるジョブを超えない範囲でプリントキュー14の先頭に近い位置に追加されるので、[A2]は[A1]の直後([B1」の前)に追加される。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:[A2]
プリントキュー:[A1], [A2], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A1], [A2]
(6) その後、ジョブ[A1]の印刷が完了する前に[A2]の全ページのRIP処理が完了すると、RIPキュー12から[A2]が削除される。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:[A1], [A2], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A1], [A2]
(7) その後、ジョブ[A1]の印刷処理が完了すると、プリントキュー14と処理中ジョブリスト16から[A1]が削除される。処理中ジョブリストに[A2]があるので、処理中RIPはRIP20Aのままである(処理(e))。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:[A2], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A2]
(8) その後、プリントキュー14は空ではないので、RIP20Aは、プリント処理可能なジョブをジョブ管理モジュールに問い合わせる(図9のS210がYES→S204)。この場合、処理中RIPがRIP20Aであり、プリントキュー14の先頭のジョブがRIP20Aなので、処理(c)により、[A1]の処理が開始されることになる。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:[A2], [B1]
処理中RIP:RIP20A
処理中ジョブリスト:[A2]
(9) その後[A2]の印刷処理が完了すると、プリントキュー14と処理中ジョブリスト16から[A2]が削除される。その結果、処理中ジョブリスト16が空になり、プリントキュー14の先頭は[B1]となる。また、RIPキュー12は既に空である。現在の処理中RIPであるRIP20Aは、RIPキュー12の先頭ジョブ(存在しない)の指定RIPとも、プリントキュー14の先頭ジョブ[B1]の指定RIP20Bとも一致しない(図7のe3及びe7の判定結果が共にNO)。そして、プリントキュー14にはジョブが存在する(図8のe12の判定結果がYES)ので、処理中RIPは「なし」になり(すなわちe13にてPcにP0を代入)、RIP20Bに対してプリント処理開始指示が通知される(e14)。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:[B1]
処理中RIP:なし
処理中ジョブリスト:なし
(10) プリント処理開始指示を受けたRIP20Bは、プリント処理可能なジョブをジョブ管理モジュール10に問い合わせる。処理中RIPが「なし」であり、プリントキューの先頭のジョブの指定RIPが問合せ元のRIP20Bなので、処理(c)により、処理中RIPはRIP20Bになり(c3)、処理中ジョブリストに[B1]が入る(c4)。そして、ジョブ管理モジュール10はRIP20に対してプリントキュー14の先頭ジョブ[B1]を回答する(c5)。これにより[B1]の印刷処理が開始される。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:[B1]
処理中RIP:RIP20B
処理中ジョブリスト: [B1]
(11) ジョブ[B1]の印刷処理が完了すると、プリントキュー14と処理中ジョブリスト16から[B1]が削除される。その結果、処理中ジョブリスト16及びプリントキュー14が空になる。また、RIPキュー12は既に空である。したがって、処理(e)(図7及び図8)のステップe3,e7,e8、e12の判定結果はすべてNOとなり、処理中RIPは「なし」に変更され(e15)、処理が終了する。この時点でのジョブ管理モジュール10の内部状態は以下の通りである。
RIPキュー:なし
プリントキュー:なし
処理中RIP:なし
処理中ジョブリスト:なし
以上の第2の例に示したように、この実施の形態のシステムでは、未RIPジョブがRIP済みジョブより前に投入されており、投入時の処理中RIPがその未RIPジョブの指定RIPに一致する場合には、その未RIPジョブはRIP済みジョブより先に印刷されることになり、投入順序が守られる。
[第3の例]
次に、第3の例を説明する。この例では印刷処理システムがアイドル状態にあるときに、次に示す3つのジョブ[A1]、[B1]、[A2]がこの順で、ただしほとんど同時に投入されたとする。
[A1] : RIP20Aで処理するよう指定されたRIP済みジョブ
[B1] : RIP20Bで処理するよう指定されたRIP済みジョブ
[A2] : RIP20Aで処理するよう指定された未RIPジョブ
ここで、[A2]のRIP処理の完了は、[B1]のプリントキュー14挿入後、かつ[A1]の印刷完了前であるとする。
この例では、[A1]が最初に投入されたので、処理中RIPはまずRIP20Aとなる。[A2]が投入された時点では、[A1]の印刷処理は続行中であり処理中RIPはRIP20Aのままなので、[A2]はそのRIP20Aのラスター画像作成部22AにてRIP処理される。すなわち、この時点では、RIP20Aのラスター画像作成部22Aとラスター画像転送部24Aとは、別々のジョブ[A2]と[A1]とを並列処理している。
そして、[A2]のRIP処理が完了した時点では、[A1]の印刷処理はまだ続行中なので処理中RIPはRIP20Aのままであり、プリントキュー14には[A1],[B1]がこの順で入っている。したがって、その時点で[A2]は、処理(d)により、プリントキュー14内の[A1]の後ろ、[B1]の前に挿入される。そして、[A1]の印刷が完了すると、プリントキュー14でその次にある[A2]が印刷され、[A2]の印刷後に[B1]が印刷されることになる。
この例では、ジョブの処理順序はジョブ投入順通りではないが、同一のRIP20Aの前段(ラスター画像作成部22A)と後段(ラスター画像転送部24A)とが別々のジョブを並列に処理することで、RIP20Aが有効に利用されている。また、プリントキュー14において[A2]を[B1]の前に挿入することで、処理中のRIPが頻繁に切り換えられることによる処理のオーバーヘッドを低減している。
以上の説明から判るように、この実施の形態の制御処理では、異なる種類のRIPが排他的に処理を実行する。すなわち、すべてのRIP内でラスター画像作成部22A及び22B及びラスター画像転送部24A及び24Bは起動しているものの、それらのうちラスター画像作成(S108)及びラスター画像転送(S208)という実体的な処理(すなわちラスター画像を保持するためのメモリ領域を使用する処理)を実行しているのはそれらRIPのうちの1つに限られる。
また、この実施の形態では、排他的に処理を実行中のRIP(20A又は20B)内のラスター画像作成部22とラスター画像転送部24とが並列動作する。例えばRIP20Aが処理を実行中の場合、ラスター画像作成部22Aと、ラスター画像転送部24Aとが並列動作する。この並列動作では、ラスター画像作成部22Aと、ラスター画像転送部24Aとが互いに異なるジョブを同時並列的に処理する場合もある。また、ラスター画像転送部24Aがジョブの前の方のラスター画像を転送するのと並列して、ラスター画像作成部22Aが同じジョブの後の方のラスター画像を作成する場合もある。いずれの場合も、現在処理中のRIPでは、ラスター画像作成部22Aと、ラスター画像転送部24Aとが、処理してよいジョブが存在する限り、パイプライン動作のように処理を続けるので、RIPが1ジョブずつラスター画像作成及びラスター画像転送を行う方式よりも、RIP内部のラスター画像作成部及びラスター画像転送部の利用効率がよい。また、RIP20Bが処理を実行中の場合のラスター画像作成部22Bとラスター画像転送部24Bとの並列動作についても同様である。
また、この実施の形態の制御処理では、現在処理中RIPを指定されたジョブが投入し続けられている間は、現在処理中のRIPを切り換えることなく、それらジョブを、他のRIPが指定された既投入のジョブよりも先に処理する。これにより、処理中のRIPを切り換えることによる処理のオーバーヘッドが低減される。
また、この実施の形態の制御処理では、あるRIPにて先にRIP処理が開始された未RIPジョブが、その未RIPジョブより後に投入された指定RIPが異なるRIP済みジョブに追い越されることなく先に印刷される。
以上に例示した印刷処理システムのプリンタ30以外の部分は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
10 ジョブ管理モジュール、12 RIPキュー、14 プリントキュー、16 処理中ジョブリスト、18 処理中RIP情報、20A,20B RIP、22A,22B ラスター画像作成部、24A,24B ラスター画像転送部、26A,26B プリンタ監視部、30 プリンタ。

Claims (2)

  1. それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段と、
    前記複数のページ記述言語処理手段のうちの1つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段と、
    を備え、
    前記複数のページ記述言語処理手段の各々は、
    当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、
    前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、
    を備え、
    前記ジョブ管理手段は、
    ラスター画像が未作成の印刷ジョブの待ち行列である第1キューと、
    ラスター画像が作成済みの印刷ジョブの待ち行列である第2キューと、
    印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第1キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第2キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第2のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キュー及び前記第2キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第1キュー又は前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第1の指示手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第2の指示手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第3の指示手段と、
    前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第1のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第2のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、
    前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、
    を備え、
    前記画像作成時キュー追加手段は、前記印刷ジョブを前記第2のキューに追加する際に、当該印刷ジョブを、前記第2のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその1つ前の印刷ジョブとの間に挿入する、
    ことを特徴とする画像処理装置。
  2. コンピュータを、
    それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段、
    前記複数のページ記述言語処理手段のうちの1つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段、
    として機能させるためのプログラムであって、
    前記複数のページ記述言語処理手段の各々は、
    当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、
    前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、
    を備え、
    前記ジョブ管理手段は、
    ラスター画像が未作成の印刷ジョブの待ち行列である第1キューと、
    ラスター画像が作成済みの印刷ジョブの待ち行列である第2キューと、
    印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第1キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第2キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第2のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キュー及び前記第2キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第1キュー又は前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第1の指示手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第1キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第2の指示手段と、
    前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第2キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第3の指示手段と、
    前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第1のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第2のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、
    前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、
    を備え、
    前記画像作成時キュー追加手段は、前記印刷ジョブを前記第2のキューに追加する際に、当該印刷ジョブを、前記第2のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその1つ前の印刷ジョブとの間に挿入する、
    ことを特徴とするプログラム。
JP2011201547A 2011-09-15 2011-09-15 画像処理装置及びプログラム Expired - Fee Related JP4900530B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011201547A JP4900530B1 (ja) 2011-09-15 2011-09-15 画像処理装置及びプログラム
US13/474,316 US8699047B2 (en) 2011-09-15 2012-05-17 Image processing apparatus, image processing method, and non-transitory computer readable medium that includes plural page description language (PDL) processing units and a job management unit
AU2012203636A AU2012203636B2 (en) 2011-09-15 2012-06-21 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011201547A JP4900530B1 (ja) 2011-09-15 2011-09-15 画像処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP4900530B1 true JP4900530B1 (ja) 2012-03-21
JP2013061911A JP2013061911A (ja) 2013-04-04

Family

ID=46060687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011201547A Expired - Fee Related JP4900530B1 (ja) 2011-09-15 2011-09-15 画像処理装置及びプログラム

Country Status (3)

Country Link
US (1) US8699047B2 (ja)
JP (1) JP4900530B1 (ja)
AU (1) AU2012203636B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038389A (ja) * 2012-08-10 2014-02-27 Konica Minolta Inc 画像形成装置
JP2014087930A (ja) * 2012-10-29 2014-05-15 Kyocera Document Solutions Inc 画像形成装置
JP2014087929A (ja) * 2012-10-29 2014-05-15 Kyocera Document Solutions Inc 画像形成装置
JP2014104596A (ja) * 2012-11-22 2014-06-09 Kyocera Document Solutions Inc 画像形成装置
US9338320B2 (en) 2012-08-10 2016-05-10 Konica Minolta, Inc. Image forming apparatus and method of controlling the same

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6489000B2 (ja) * 2014-03-11 2019-03-27 株式会社リコー 情報処理装置、情報処理システム、プログラム
JP6435914B2 (ja) * 2014-03-11 2018-12-12 株式会社リコー 情報処理装置、情報処理システム、プログラム
US8995001B1 (en) 2014-05-28 2015-03-31 Ricoh Company, Ltd. User-specified instructions for hot folder documents
JP2016042296A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP6603490B2 (ja) * 2015-06-26 2019-11-06 キヤノン株式会社 画像形成装置とその制御方法、及び記憶媒体
JP6507932B2 (ja) * 2015-08-20 2019-05-08 富士ゼロックス株式会社 画像形成装置及びプログラム
US10540124B2 (en) * 2016-07-15 2020-01-21 Hewlett-Packard Development Company, L.P. Fast page first print optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041254A (ja) * 2000-07-25 2002-02-08 Canon Inc 印刷制御装置および印刷制御方法および記憶媒体
JP2007245673A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd 画像形成装置
JP2010120196A (ja) * 2008-11-17 2010-06-03 Canon Inc 画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラム
JP2011046034A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240467A (ja) 1997-02-27 1998-09-11 Canon Inc 画像処理装置及びその制御方法
US20060044595A1 (en) 2004-08-24 2006-03-02 Sharp Laboratories Of America Inc. Imaging job monitoring and pipelining
JP4942179B2 (ja) * 2006-12-11 2012-05-30 キヤノン株式会社 印刷制御装置及びその制御方法及びデバイスドライバ
JP2009009378A (ja) 2007-06-28 2009-01-15 Brother Ind Ltd 印刷制御装置及びプログラム
JP2010049405A (ja) 2008-08-20 2010-03-04 Konica Minolta Business Technologies Inc 画像形成システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041254A (ja) * 2000-07-25 2002-02-08 Canon Inc 印刷制御装置および印刷制御方法および記憶媒体
JP2007245673A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd 画像形成装置
JP2010120196A (ja) * 2008-11-17 2010-06-03 Canon Inc 画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラム
JP2011046034A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038389A (ja) * 2012-08-10 2014-02-27 Konica Minolta Inc 画像形成装置
US9338320B2 (en) 2012-08-10 2016-05-10 Konica Minolta, Inc. Image forming apparatus and method of controlling the same
JP2014087930A (ja) * 2012-10-29 2014-05-15 Kyocera Document Solutions Inc 画像形成装置
JP2014087929A (ja) * 2012-10-29 2014-05-15 Kyocera Document Solutions Inc 画像形成装置
JP2014104596A (ja) * 2012-11-22 2014-06-09 Kyocera Document Solutions Inc 画像形成装置

Also Published As

Publication number Publication date
AU2012203636A1 (en) 2013-04-04
AU2012203636B2 (en) 2013-08-29
JP2013061911A (ja) 2013-04-04
US20130070292A1 (en) 2013-03-21
US8699047B2 (en) 2014-04-15

Similar Documents

Publication Publication Date Title
JP4900530B1 (ja) 画像処理装置及びプログラム
US8300238B2 (en) Print control device and method
JP3775381B2 (ja) 画像処理装置
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
JP2007152750A (ja) 印刷装置
US20110255126A1 (en) Printing apparatus, print processing method, and program
CN105278890B (zh) 信息处理装置及控制方法
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP5099594B2 (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP2011167857A (ja) 画像形成装置、画像形成方法、および画像形成プログラム
US20120250053A1 (en) Method and system for handling sub-jobs
JP2007329919A (ja) 画像形成装置およびその制御方法
US10620887B2 (en) Image forming apparatus and information processing apparatus configured to print a specified page of a plurality of documents, control method thereof, and non-transitory computer-readable storage medium
JP5854644B2 (ja) 画像形成装置、制御方法、及びプログラム
JP2007026054A (ja) 情報処理装置及び情報処理装置を制御するプログラム及び記憶媒体
JP5857594B2 (ja) 分散印刷システム及び印刷装置
US10235611B2 (en) Image forming apparatus, image forming method, and non-transitory computer readable medium
JP2004188865A (ja) 画像形成装置およびプログラム
JP6539022B2 (ja) 印刷装置、処理方法及びプログラム
JP5966805B2 (ja) 印刷のための制御装置
US9165228B2 (en) Printing apparatus allowing user change of operational control of job, control method thereof, and storage medium
JP2009093218A (ja) 画像処理装置及びプログラム
JP2005096282A (ja) 画像処理装置
JP4150850B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2008210174A (ja) 印刷システム、印刷方法、印刷プログラム

Legal Events

Date Code Title Description
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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Ref document number: 4900530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees