(57)【特許請求の範囲】
【請求項１】
画像処理の順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、
入力された対象データから、当該対象データについての処理開始段階の画像処理手段に対応する制御情報を取得する取得手段と、
前記取得手段が取得した制御情報に基づき前記複数の画像処理手段のうちのいずれかの画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、
前記複数の画像処理手段がそれぞれ追い越し可能か否かの指定を受け付ける受付手段と、
を備え、
前記制御手段は、前記複数の画像処理手段のうちの先頭の画像処理手段と、前記受付手段にて受け付けた指定において追い越し可能と指定された画像処理手段の次の画像処理手段と、からなるグループのうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、
ことを特徴とする画像処理装置。
【請求項２】
画像処理の順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、
入力された対象データから、当該対象データについての処理開始段階の画像処理手段に対応する制御情報を取得する取得手段と、
前記取得手段が取得した制御情報に基づき前記複数の画像処理手段のうちのいずれかの画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、
前記複数の画像処理手段のうち、追い越し不可とする画像処理手段のうち前記順序において先頭の画像処理手段となるものの指定を受け付ける受付手段と、
を備え、
前記制御手段は、前記受付手段にて受け付けた前記先頭の画像処理手段以前の画像処理手段のうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、
ことを特徴とする画像処理装置。
【請求項３】
前記複数の画像処理手段が並列処理を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
コンピュータを、
順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、
入力された対象データに含まれる制御情報に基づき前記入力された対象データの処理を開始する画像処理手段を判定し、判定された画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、
前記複数の画像処理手段がそれぞれ追い越し可能か否かの指定を受け付ける受付手段と、
して機能させるためのプログラムであって、
前記制御手段は、前記複数の画像処理手段のうちの先頭の画像処理手段と、前記受付手段にて受け付けた指定において追い越し可能と指定された画像処理手段の次の画像処理手段と、からなるグループのうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、
ことを特徴とするプログラム。
【請求項５】
コンピュータを、
順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、
入力された対象データに含まれる制御情報に基づき前記入力された対象データの処理を開始する画像処理手段を判定し、判定された画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、
前記複数の画像処理手段のうち、追い越し不可とする画像処理手段のうち前記順序において先頭の画像処理手段となるものの指定を受け付ける受付手段と、
して機能させるためのプログラムであって、
前記制御手段は、前記受付手段にて受け付けた前記先頭の画像処理手段以前の画像処理手段のうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、プリンタや複写機等の画像形成装置、又はその画像形成装置を制御するプリンタサーバやプリントコントローラ等の制御装置（以下、このような画像形成装置又は制御装置を、画像処理装置と呼ぶ）は、受信したジョブ（すなわち印刷データ）を記憶装置に蓄積（スプーリング）し、受信順に１ジョブずつ処理する。このような装置において、蓄積されたジョブの出力順序を制御することも行われている。
【０００３】
特許文献１に開示されたプリンタ制御装置は、外部装置から入力された複数の印刷データの出力順序を、例えば白黒はカラーより優先するなどのように、印刷データの属性情報に応じて制御する。
【０００４】
特許文献２には、複数のジョブを蓄積して、一時に１つずつ順番に処理する装置において、ジョブの処理順序を変更するための機構が示される。この装置は、蓄積されたジョブを一覧表示し、その中でユーザが優先処理の対象とするジョブを指示した場合、そのジョブを優先的に処理する。
【０００５】
画像処理装置は、一般に、ＰＤＬ（ページ記述言語）で記述された印刷データを解釈してラスター画像を生成するラスターイメージプロセッサ（ＲＩＰと略称される）という処理モジュールを備える。そして近年、ＲＩＰの前段階に、印刷データを例えばＰＤＦ(Portable DocumentFormat)形式に変換して色補正等の画像処理を行う処理モジュールを備える画像処理装置が増えつつある。ＲＩＰモジュール及びＲＩＰ前段階の処理モジュールは、ソフトウエアで実装される場合もあれば、ハードウエアで実装される場合もある。このような画像処理装置に入力されるジョブには、ＲＩＰ前段階の処理を要するものもあれば、そうでないものもある。従来の画像処理装置は、そのようなジョブの種類によらず、すべてのジョブを入力された順に処理している。
【０００６】
【特許文献１】特開平０６−０５１９２３号公報
【特許文献２】特開２００２−３６８９２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、順序が規定された複数の画像処理を対象データに対して行う画像処理装置において、入力される対象データを入力順に処理するよりも、効率よく処理できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、画像処理の順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、入力された対象データから、当該対象データについての処理開始段階の画像処理手段に対応する制御情報を取得する取得手段と、前記取得手段が取得した制御情報に基づき前記複数の画像処理手段のうちのいずれかの画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、前記複数の画像処理手段がそれぞれ追い越し可能か否かの指定を受け付ける受付手段と、を備え、前記制御手段は、前記複数の画像処理手段のうちの先頭の画像処理手段と、前記受付手段にて受け付けた指定において追い越し可能と指定された画像処理手段の次の画像処理手段と、からなるグループのうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、ことを特徴とする画像処理装置である。
請求項２に係る発明は、画像処理の順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、入力された対象データから、当該対象データについての処理開始段階の画像処理手段に対応する制御情報を取得する取得手段と、前記取得手段が取得した制御情報に基づき前記複数の画像処理手段のうちのいずれかの画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、前記複数の画像処理手段のうち、追い越し不可とする画像処理手段のうち前記順序において先頭の画像処理手段となるものの指定を受け付ける受付手段と、を備え、前記制御手段は、前記受付手段にて受け付けた前記先頭の画像処理手段以前の画像処理手段のうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、ことを特徴とする画像処理装置である。
【０００９】
第１参考例は、請求項１又は２に係る発明において、前記複数の画像処理手段の各々は、それぞれ処理待ち行列を備え、当該処理待ち行列に投入された対象データを順に処理するとともに、処理を終えた対象データを前記順序における次の画像処理手段へと送り、前記制御手段は、前記判定された画像処理手段から前記入力された対象データの処理を開始するための制御として、前記判定された画像処理手段の処理待ち行列に前記入力された対象データを投入する処理を行う、ことを特徴とする。
【００１０】
第２参考例は、請求項１又は２に係る発明において、前記制御手段は、前記入力された対象データに含まれる制御情報が示す処理開始段階の画像処理手段から、前記入力された対象データの処理を開始するよう制御する、ことを特徴とする。
【００１１】
第３参考例は、請求項１又は２に係る発明において、前記制御手段は、入力順序優先の指示を受けた場合には、前記複数の画像処理手段のうちの先頭の画像処理手段から、前記入力された対象データの処理を開始するよう制御する、ことを特徴とする。
【００１４】
第４参考例は、第１参考例において、前記複数の画像処理手段の各々についての表示欄を前記順序に従って配列した処理状況表示画面であって、前記各表示欄にはそれぞれ対応する画像処理手段の処理待ち行列内にある対象データ及び当該画像処理手段で処理中の対象データが表示される処理状況表示画面を生成する画面生成手段、を更に備えることを特徴とする。
【００１５】
第５参考例は、第１参考例において、前記複数の画像処理手段の各々が処理中の対象データ又は、前記処理待ち行列群の各々が持つ対象データのいずれかに対して、優先処理の指定を受け付ける手段、を更に備え、前記複数の画像処理手段の各々は、前記順序における当該画像処理手段の直前の画像処理手段から受け取った対象データに前記優先処理の指定がある場合、当該対象データを、当該画像処理手段の前記処理待ち行列内のジョブよりも優先して処理する、ことを特徴とする。
【００１６】
第６参考例は、第５参考例発明において、前記複数の画像処理手段の各々は、前記順序における当該画像処理手段の直前の画像処理手段から受け取った対象データに前記優先処理の指定がある場合、当該対象データを、当該画像処理手段が現在処理中の対象データの処理が完了し次第、前記優先処理の指定がある対象データを、前記処理待ち行列内の他の対象データよりも先に処理する、ことを特徴とする。
【００１７】
請求項３に係る発明は、請求項１に係る発明において、前記複数の画像処理手段が並列処理を行うことを特徴とする。
【００１８】
請求項４に係る発明は、コンピュータを、順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、入力された対象データに含まれる制御情報に基づき前記入力された対象データの処理を開始する画像処理手段を判定し、判定された画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、前記複数の画像処理手段がそれぞれ追い越し可能か否かの指定を受け付ける受付手段と、して機能させるためのプログラムであって、前記制御手段は、前記複数の画像処理手段のうちの先頭の画像処理手段と、前記受付手段にて受け付けた指定において追い越し可能と指定された画像処理手段の次の画像処理手段と、からなるグループのうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、ことを特徴とするプログラムである。
請求項５に係る発明は、コンピュータを、順序が規定された並列動作可能な複数の画像処理手段であって、対象データに対して前記順序に従って画像処理を施す複数の画像処理手段と、入力された対象データに含まれる制御情報に基づき前記入力された対象データの処理を開始する画像処理手段を判定し、判定された画像処理手段から前記入力された対象データの処理を開始するように制御する制御手段と、前記複数の画像処理手段のうち、追い越し不可とする画像処理手段のうち前記順序において先頭の画像処理手段となるものの指定を受け付ける受付手段と、して機能させるためのプログラムであって、前記制御手段は、前記受付手段にて受け付けた前記先頭の画像処理手段以前の画像処理手段のうち、前記順序において、前記入力された対象データに含まれる制御情報に対応する処理開始段階の画像処理手段以前で最も後ろの画像処理手段を、前記入力された対象データの処理を開始する画像処理手段と決定する、ことを特徴とするプログラムである。
【発明の効果】
【００１９】
請求項１又は２に係る発明によれば、入力された対象データを先頭の画像処理手段から処理させる場合よりも、処理の効率を向上させることができる。また、本発明を採用しない場合に比較して対象データの処理を開始させる画像処理手段を、きめ細かく設定することができる。
【００２０】
第２参考例によれば、入力された対象データを、その対象データに対応する処理開始段階より前の画像処理手段を通さずに済む。
【００２１】
第３参考例によれば、入力された順序に従って対象データを処理することができる。
【００２３】
第４参考例によれば、本発明を採用しない場合に比較して画像処理装置内にある対象データ群がいずれの画像処理装置の処理段階にあるかを分かりやすく提示することができる。
【００２４】
第５参考例によれば、優先処理の指定がなされた対象データを、そうでない対象データよりも優先して処理することができる。
【００２５】
第６参考例によれば、各画像処理手段は、現在処理中の対象データの処理を無駄にすることなく、優先処理の指定がなされた対象データを処理することができる。
【００２６】
請求項４又は５に係る発明によれば、本発明を採用しない場合に比較して処理効率を高めることができる。また、本発明を採用しない場合に比較して対象データの処理を開始させる画像処理手段を、きめ細かく設定することができる。
【発明を実施するための最良の形態】
【００２７】
図１を参照して、本実施形態の印刷システムの一例の構成を説明する。例示のシステムは、ＬＡＮ（ローカル・エリア・ネットワーク）等のネットワーク１５０を介して接続されたクライアントＰＣ（パーソナルコンピュータ）１００とプリントサーバ２００とを備える。プリントサーバ２００には、ＬＡＮ又は通信ケーブル等のデータ通信路を介してプリンタ４００が接続されている。クライアントＰＣ１００は、ユーザの操作に応じて印刷指示データ（ジョブと呼ぶ）を生成し、プリントサーバ２００に対して送信する。プリントサーバ２００は、クライアントＰＣ１００から受信したジョブをプリンタ４００に印刷させるための制御を行う。図にはクライアントＰＣ１００を１つしか示さなかったが、１つのプリントサーバ２００は複数のクライアントＰＣ１００からジョブを受け付けてもよい。
【００２８】
より詳しくは、クライアントＰＣ１００では、例えばアプリケーション１１０が開いているファイルに対してユーザが印刷指示を行うと、プリンタドライバ１２０がジョブを生成する。ジョブは、例えば図２に示すように、用紙サイズや印刷部数などの印刷属性を表す制御データ５１０と、印刷対象の画像をＰＤＬ（ページ記述言語）で記述した印刷データ５２０とを含んでいる。この例の制御データ５１０は、ジョブ種別５１２の情報を含んでいるが、この情報については後で詳細に説明する。生成されたジョブは、ネットワークＩ／Ｆ（インタフェース）１３０によりプリントサーバ２００へと送信される。
【００２９】
クライアントＰＣ１００から送信されたジョブは、プリントサーバ２００のネットワークＩ／Ｆ２１０を介してジョブ受信部２２０により受信される。受信されたジョブは、ＨＤＤ（ハードディスクドライブ）２４０に格納される。ジョブ制御部２３０は、受信されたジョブ群の実行順序の制御を行う。ジョブ制御部２３０は、基本的には、受信されたジョブ群が、ＦＩＦＯ（先入れ先出し）方式で受信順に実行されるように制御する。また、ジョブ制御部２３０は、クライアントＰＣ１００からの指示に応じて、処理待ちのジョブを削除したり、処理待ちのジョブの実行順序を変更したりする。ジョブ制御部２３０は、受信された各ジョブに対してそれぞれ一意なジョブＩＤ（識別情報）を付与し、ジョブＩＤを用いてそれらジョブを管理する。このようなジョブ制御部２３０の機能は、従来のプリントサーバも持っているものであり、これ以上の説明は省略する。
【００３０】
プリントサーバ２００内の画像処理部３００は、ジョブの印刷データ５２０に基づきプリンタ４００に提供する画像データを生成するユニットである。ＰＤＬで記述された印刷データ５２０を解釈してラスター画像を生成するユニットは従来ＲＩＰ(Raster Image Processer)として知られている。この例の画像処理部３００は、このようなＲＩＰの機能以外に、１以上の画像処理機能を備える。すなわち、画像処理部３００は複数の画像処理機能を備える。ＲＩＰ以外の画像処理機能には、例えば、印刷データ５２０をＰＤＦ形式の画像データに変換するＰＤＦ化機能、ＰＤＦ形式の画像データに対して色補正等の画像処理を行うＰＤＦ画像処理機能などがある。これら複数の画像処理機能には、直列的な処理順序が規定されている。ジョブは、この順序に従って、画像処理機能から次の画像処理機能へと順に受け渡され、処理されていく。別言すれば、画像処理部３００は、一連の複数の処理段階（すなわち画像処理機能）を含んでいると言える。
【００３１】
ここで、プリントサーバ２００に入力されるジョブのすべてに、画像処理部３００内のすべての画像処理機能が必要なわけではない。例えばＰＤＦ化機能によりＰＤＦ形式に変換されＰＤＦ画像処理機能により処理を受けた後ＲＩＰ機能によりラスター画像に変換されるジョブもあれば、単にＰＤＦ形式の画像処理を行わずに単にＲＩＰ機能によりラスター画像に変換されるジョブもある。従来のプリントサーバではこのように必要な画像処理機能が異なるジョブを同一のキュー（待ち行列）に入れて順に処理していたので、後のジョブは前のジョブが処理されるまで待っていた。例えば、先に入力されたジョブＡがＰＤＦ化機能により処理されており、その後のＰＤＦ画像処理機能とＲＩＰ機能は使用されていない状況があったとする。このような状況において、ＲＩＰ機能のみを必要とするジョブＢが入力された場合、従来のサーバではジョブＢの処理順序はジョブＡの後になり、ジョブＢのＲＩＰ処理はジョブＡのＲＩＰ処理が終了するまで待たされる。これに対し、この例の画像処理部３００は、各画像処理機能を並列動作可能とし、ジョブを必要な画像処理機能に応じて各画像処理機能に振り分けることで、空いている画像処理機能が有効利用されるようにする。画像処理部３００の更なる詳細については後で説明する。
【００３２】
プロセス解析部２５０は、そのようなジョブの振り分けのための解析処理を行う。すなわちプロセス解析部２５０は、ジョブの制御データ５１０中のジョブ種別５１２を読み取り、そのジョブ種別５１２からそのジョブの処理を開始すべき処理段階（画像処理機能）を判定する。プロセス解析部２５０は、例えば、ジョブ種別ごとに、そのジョブ種別のジョブの処理を開始すべき処理段階（「開始段階」）を登録した判定情報（図３参照）を持っており、この判定情報を用いて上述の判定を行う。図３の判定情報を用いる場合、受信されたジョブのジョブ種別が「３」であれば、そのジョブの開始段階は「ＲＩＰ」と判定される。判定された開始段階の情報は、当該ジョブに対応づけて画像処理部３００に渡される。
【００３３】
なお、ジョブ中のジョブ種別５１２の情報は、クライアントＰＣ１００のプリンタドライバ１２０が作成する。プリンタドライバ１２０は、例えば、ユーザから印刷モードの選択を受け付け、その選択に応じてジョブ種別を判定すればよい。例えば、ＰＤＦ画像処理を行う（その後ＲＩＰ処理）モードと、ＰＤＦ画像処理は行わずにＲＩＰ処理を行うモードとがある場合、前者は図３のジョブ種別「１」に対応し、後者はジョブ種別「３」に対応する。また、プリンタドライバ１２０は、ジョブ種別の判定の際に、印刷対象のデータのデータ形式を考慮してもよい。例えば、ユーザがＰＤＦファイルの印刷を指示し、印刷モードとしてＰＤＦ画像処理を行うモードを選択した場合、ジョブ種別は「２」となる。また、ユーザがＲＩＰ処理済みのラスター画像の印刷を指示した場合、ジョブ種別は「４」となる。
【００３４】
なお、図３ではジョブ種別を整数で表したが、これは便宜的な例に過ぎない。個々のジョブ種別に対して、ユーザの観点から識別名称が付けられていてももちろんよい。また「ジョブ種別」という概念自体も便宜的なものに過ぎない。ジョブの開始段階に対応づけられた情報であれば、どのようなものも「ジョブ種別」の代わりに用いることができる。
【００３５】
再び図１に戻り、画像データ送信部２６０は、画像処理部３００から出力される印刷用の画像データを、ネットワークＩ／Ｆ２７０を介してプリンタ４００に送信する。プリンタ４００は、その画像データを用紙に印刷する。
【００３６】
上述のような画像処理部３００では、ジョブ種別に応じた振り分けを行うと、処理効率はよいが、ジョブの実行順序がジョブの入力順と変わってしまう。一方、ユーザ側のニーズとして、入力順にジョブを処理させたい場合もあり得る。そこで、画像処理部３００にいくつかの動作モードを設け、ユーザが動作モードを選択できるようにしてもよい。動作モードとしては、処理効率を優先するモード（「効率優先モード」と呼ぶ）、ジョブを入力順に実行するモード（「順序優先モード」と呼ぶ）などがある。個々の動作モードの詳細な例については後で説明する。
【００３７】
モード管理部２８０は、このような画像処理部３００の動作モードを管理する。ユーザは、入力装置２９０を操作して、動作モードを選択する。入力装置２９０は、キーボード又は液晶タッチパネルなどである。ユーザは、動作モードの選択画面を呼び出し、その画面上に表示されたモードの中から、所望のものを選択する。パスワード保護等の保護をかけることで、システム管理者などのような限られたユーザだけしか動作モードの選択をできないようにしてもよい。なお、ネットワーク１５０上のＰＣからプリントサーバ２００にアクセスして動作モードが選択できるようにしてももちろんよい。
【００３８】
次に、図４を参照して、画像処理部３００の内部構成の一例を説明する。この例の画像処理部３００は、画像処理機能を実現するモジュールとして、ＰＤＦ化モジュール３１０Ａ、ＰＤＦ画像処理モジュール３１０Ｂ、ＲＩＰモジュール３１０Ｃを備える。以下では、それら３つのモジュールに共通した事柄を説明する場合には、３つのモジュール３１０Ａ〜Ｃを「モジュール３１０」と総称する。これら３つのモジュール３１０には順序が規定されている。すなわち、ＰＤＦ化モジュール３１０Ａで処理されたジョブは、次にＰＤＦ画像処理モジュール３１０Ｂにより処理され、その後ＲＩＰモジュール３１０Ｃにより処理された後、画像データ送信部２６０に渡される。
【００３９】
ＰＤＦ化モジュール３１０Ａは、ジョブの印刷データ５２０をＰＤＦ形式の画像データファイルに変換する。ＰＤＦ画像処理モジュール３１０Ｂは、ＰＤＦ形式の画像データに対し、色補正等の所定の画像処理を施す。ＲＩＰモジュール３１０Ｃは、印刷データをプリンタ４００にて取扱可能なラスター形式等の印刷画像データに変換する。例えば、ＲＩＰモジュール３１０Ｃは、ＰＤＬ形式の印刷データを印刷画像データに変換する機能と、ＰＤＦ形式の画像データを印刷画像データに変換する機能とを備えていてもよい。各モジュール３１０が行う処理は従来公知の処理であり、各モジュール３１０としては従来公知のモジュールを利用してもよい。
【００４０】
また、画像処理部３００は、各モジュール３１０Ａ，３１０Ｂ及び３１０Ｃに対応して、処理待ちキュー３２０Ａ，３２０Ｂ及び３２０Ｃを備える。例えば、処理待ちキュー３２０Ａには、対応するモジュール３１０Ａによる処理を待っているジョブが保持される。また、画像処理部３００は、画像データ送信部２６０の処理を待つジョブを保持する処理待ちキュー３２０Ｄを備える。この処理待ちキュー３２０Ｄには、ＲＩＰ処理後のジョブが保持される。共通の事柄を説明する場合、それら処理待ちキュー３２０Ａ〜Ｄを「処理待ちキュー３２０」と総称する。処理待ちキュー３２０はＦＩＦＯ形式の待ち行列であり、新たに投入されたジョブは処理待ちキュー３２０の末尾に追加される。
【００４１】
各処理待ちキュー３２０Ａ〜Ｄの先頭には「処理中」キュー３２５Ａ〜Ｄが設けられる。共通の事柄を説明する場合、処理中キュー３２５Ａ〜Ｄを「処理中キュー３２５」と総称する。処理中キュー３２５には、対応するモジュール３１０で現に処理中のジョブが入る。モジュール３１０がジョブの処理を完了すると、そのジョブが処理中キュー３２５から取り出され、次の処理段階へと送られる。
【００４２】
この例では、各処理段階の処理待ちキュー３２０は、それぞれ有効化又は無効化することができる。画像処理部３００は、各処理段階の処理待ちキュー３２０が有効か無効かを示すキュー管理情報３４０（図４参照）を備える。図４には、処理待ちキュー３２０Ａ〜Ｄのすべてが有効に設定されているキュー管理情報３４０が示されるが、これは一例に過ぎない。キュー管理情報３４０は、例えばモード管理部２８０により作成及び更新される。
【００４３】
有効な処理待ちキュー３２０には、外部（すなわち直前の処理段階又は投入制御部３３０）からジョブを投入することができる。したがって、ある処理段階の処理待ちキュー３２０が有効である場合、その直前の処理段階から送られてきたジョブはいったん処理待ちキュー３２０に入り、順番が来ると処理中キュー３２５に送られて、対応するモジュール３１０により処理されることになる。これに対し、無効な処理待ちキュー３２０は、外部からのジョブを受け入れない。したがって、ある処理段階の処理待ちキュー３２０が無効な場合、その処理段階は、処理中キュー３２５が空いて初めて、直前の段階からジョブを受け入れることになる。
【００４４】
このようなジョブ実行制御のために、処理段階ごとに実行制御部３１５Ａ〜Ｃ（実行制御部３１５と総称）を備える。各実行制御部３１５Ａ〜Ｃは、それぞれ図５〜図７に例示する手順を実行する。
【００４５】
まず実行制御部３１５は、図５に例示するように、対応する処理中キュー３２５が空か否かを調べる（Ｓ１１）。処理中キュー３２５が空であれば、次に処理すべきジョブを処理中キュー３２５に受け入れるために、実行制御部３１５はステップＳ１２〜Ｓ１６の処理を行う。次のジョブは、処理待ちキュー３２０が有効であればその処理待ちキュー３２０から受け入れ、無効であれば直前の処理段階から受け入れる。このために、実行制御部３１５は、対応する処理待ちキュー３２０が有効か無効かをキュー管理情報３４０に基づき判定する（Ｓ１２）。無効であれば、所定時間の経過後に再びステップＳ１１を繰り返す。処理中キュー３２５に直前の処理段階からジョブが投入されるまで、ステップＳ１１及びＳ１２が繰り返される。
【００４６】
ステップＳ１２で、対応する処理待ちキュー３２０が有効と判定した場合、実行制御部３１５は、その処理待ちキュー３２０内にジョブがあるか否かを調べ（Ｓ１３）、無ければ所定時間間隔の後に再度ステップＳ１３の処理を繰り返す。処理待ちキュー３２０にジョブがあれば、そのうちの先頭のジョブを取り出す（Ｓ１４）。そして、当該実行制御部３１５の処理段階が、取り出したジョブの開始段階以降の段階であるか否かを判定する（Ｓ１５）。ここで、取り出したジョブの開始段階は、当該ジョブのジョブ種別５１２（図２参照）から求められる。例えば、プロセス解析部２５０がジョブの開始段階を判定した際に、その開始段階の値をジョブの属性として記録してもよい。
【００４７】
ステップＳ１５の判定の結果、当該実行制御部３１５の処理段階が、取り出したジョブの開始段階以降の段階であれば、実行制御部３１５は、そのジョブを対応する処理中キュー３２５に入れ（Ｓ１６）、ステップＳ１１に戻る。このときは、処理中キュー３２５にはジョブがあるので、ステップＳ１１の判定の結果、実行制御部３１５は図６に示す処理手順に進む。
【００４８】
すなわち、図６の手順では、実行制御部３１５は処理中キュー３２５内のジョブの処理を、対応するモジュール３１０に依頼し（Ｓ２１）、そのモジュール３１０から処理完了を報せる通知が到来するのを待つ（Ｓ２２）。そして、処理完了通知を受け取ると、実行制御部３１５は、対応する処理中キュー３２５にあるそのジョブを次の処理段階に送るための処理（Ｓ２３：詳細は図７を参照して後述）を実行する。ジョブを次の処理段階に送ると、実行制御部３１５は処理中キュー３２５からそのジョブを削除し（Ｓ２４）、ステップＳ１１（図５参照）に戻る。
【００４９】
一方、ステップＳ１５の判定の結果、当該実行制御部３１５の処理段階が、取り出したジョブの開始段階より前の段階であれば、そのジョブにはこの処理段階の処理が必要ない。したがって、この場合、実行制御部３１５は、対応するモジュール３１０にそのジョブの処理を依頼することはせずに、そのジョブを次の処理段階に送るための処理（Ｓ１７）を実行し、その後ステップＳ１３に戻って処理待ちキュー３２０内の次のジョブを調べる。
【００５０】
ステップＳ１７及びＳ２３で行われるジョブ送り処理の詳細について、図７を参照して説明する。図７の手順では、実行制御部３１５は、次の処理段階の処理待ちキュー３２０が有効か否かをキュー管理情報３４０に基づき判定し（Ｓ３１）、有効であれば、送り対象のジョブを、次段階の処理待ちキュー３２０に投入する（Ｓ３２）。一方、次段階の処理待ちキュー３２０が無効であれば、そのキュー３２０にジョブを投入することができないので、実行制御部３１５は当該次段階の処理中キュー３２５が空か否かを判定する（Ｓ３３）。この判定の結果が否定、すなわち次段階の処理中キュー３２５内にジョブがある場合は、そのジョブがまだ処理中なので、実行制御部３１５はそのジョブの処理が終わってその処理待ちキュー３２５が空になるまで待つ（Ｓ３３の繰り返し）。ステップＳ３３の判定の結果、次段階の処理待ちキュー３２０が空であることがわかれば、実行制御部３１５は送り対象のジョブを当該次段階の処理中キュー３２５に投入する（Ｓ３４）。このようにして次段階の処理中キュー３２５にジョブが投入されると、次段階の実行制御部３１５がステップＳ１１でそれを検知し、既述の図６の手順によりそのジョブの処理を行うことになる。
【００５１】
図５〜図７に示したジョブ実行制御の処理手順はあくまで一例に過ぎない。同様の制御を実現できる手順であれば、どのような手順を用いてもよい。例えば、図５〜図７の例は処理段階ごとの制御であったが、この代わりにすべての処理段階の処理待ちキュー３２０及び処理中キュー３２５の状態を監視し、上述と同様の処理段階間でのジョブの受け渡しを行うような全体的な制御を採用してももちろんよい。
【００５２】
なお、画像データ送信部２６０の処理手順は、例えば以下のようなものでよい。すなわち、画像データ送信部２６０は、処理待ちキュー３２０Ｄから先頭のジョブを取り出して処理中キュー３２５Ｄに入れ、プリンタ４００にそのジョブの印刷を依頼する。すなわち、そのジョブのラスター画像データをプリンタ４００に送信する。その後、プリンタ４００からそのジョブの印刷完了通知を待つ。そして、印刷完了通知を受け取ると、そのジョブを処理中キュー３２５Ｄから削除し、処理待ちキュー３２０Ｄから先頭のジョブを取り出して処理中キュー３２５に入れ、プリンタ４００にそのジョブの印刷を依頼する。
【００５３】
図４の説明に戻り、投入制御部３３０は、処理対象として新たに画像処理部３００に投入されたジョブを、いずれかの処理段階の処理待ちキュー３２０Ａ〜Ｄに振り分ける制御を行う。この制御の際、投入制御部３３０は、キュー管理情報３４０を参照し、無効な処理待ちキュー３２０にはジョブを投入しないようにする。
【００５４】
図４に示されたキュー管理情報３４０の例では、処理待ちキュー３２０Ａ〜Ｄのすべてが有効となっている。この場合、投入制御部３３０は、入力されたジョブを、そのジョブの種別に対応する開始段階（例えば図３参照）の処理待ちキュー３２０に投入すればよい。一方、入力されたジョブの種別に対応する開始段階の処理待ちキュー３２０が無効である場合には、投入制御部３３０は、そのジョブをそのキュー３２０に投入することはできない。この場合、投入制御部３３０は、開始段階の処理待ちキュー３２０以前の処理待ちキュー３２０のうち、有効で、かつ、最も後ろのものに、そのジョブを投入する。
【００５５】
このような投入制御部３３０の制御を実現するための処理手順の一例を、図８を参照して説明する。図８の手順は、例えば、クライアントＰＣ１００からジョブが入力された場合に実行される。
【００５６】
このような場合、まずプロセス解析部２５０が、入力されたジョブの制御データ５１０中からジョブ種別５１２を読み出し（Ｓ４１）、そのジョブ種別５１２に対応する開始段階を、例えば図３に例示した判定情報に基づき、判定する（Ｓ４２）。プロセス解析部２５０は、そのジョブのジョブＩＤと対応づけてその判定結果を投入制御部３３０に渡す。投入制御部３３０は、キュー管理情報３４０（図４参照）に「有効」と示された処理段階のうち、その開始段階以前で最も順番が後の処理段階を特定する（Ｓ４３）。そして、特定した処理段階の処理待ちキュー３２０に対して、そのジョブを投入する（Ｓ４４）。
【００５７】
以上に説明した図８の手順は、すべての処理段階が「有効」である場合、「無効」の処理段階が１以上存在する場合、のどちらにも適用可能である。
【００５８】
なお、ある処理待ちキュー３２０に対して、投入制御部３３０と直前の段階の実行制御部３１５とから同時にジョブが入力された場合には、それらジョブのうち受信時刻が早い方がより早く処理されるようにそれらジョブをそのキュー３２０に投入すればよい。
【００５９】
以上の処理の中で、例えば、プロセス解析部２５０が、処理待ちキュー３２０に投入したジョブの管理情報の一項目として、ステップＳ３２で判定した開始段階の情報を登録してもよい。このようなジョブの管理情報の一例を図９に示す。この例では、ジョブの管理情報は、そのジョブに対してジョブ制御部２３０が付与したジョブＩＤ６０２，ジョブ受信部２２０がそのジョブを受信した受信時刻６０４，及びプロセス解析部２５０が判定した開始段階６０６を含む。ジョブの管理情報には、この他に、ジョブの制御データ５１０や印刷データ５２０などといった他の情報が含まれてもよい。開始段階の情報をジョブの管理情報に含める場合、実行制御部３１５は、前述の図５の手順におけるステップＳ１５の処理の際、当該ジョブの開始段階の属性値を参照すればよい。
【００６０】
図８の手順はジョブを受信した場合のものであったが、受信した後ＨＤＤ２４０内に保存されているジョブに対し、ユーザが印刷を指示した場合にも、同様の処理を行えばよい。この場合、ジョブの管理情報における受信時刻６０４は、印刷指示を受けた時刻とすればよい。また、受信時に判定した開始段階の値をジョブのデータと対応づけてＨＤＤ２４０に保存しておけば、その保存ジョブの印刷が指示された場合には、ステップＳ４２（開始段階の判定）は省略できる。
【００６１】
なお、クライアントＰＣ１００から受信したジョブそのものではなく、そのジョブに対する画像処理部３００の処理結果の印刷画像データがＨＤＤ２４０に保存される場合も考えられる。この場合、その印刷画像データには、開始段階として「データ送信」の値を対応づけて保存しておき、その印刷画像データの印刷が指示された場合に、保存された開始段階の値を読み出すようにしてもよい。同様に、ＰＤＦ化モジュール３１０Ａにより生成されたＰＤＦデータがＨＤＤ２４０に保存する場合には開始段階として「ＰＤＦ画像処理」を、ＰＤＦ画像処理モジュール３１０Ｂによる画像処理結果のＰＤＦデータが保存される場合には「ＲＩＰ」を、それぞれ対応づけて保存すればよい。
【００６２】
以上、画像処理部３００の内部構成の例を、図４等を参照して説明した。図４に例示した３つのモジュール３１０Ａ〜３１０Ｃを備えた画像処理部３００はあくまで一例に過ぎない。この例の制御方式は、直列に並んだ２以上の画像処理モジュールを備えるプリントサーバ２００一般に適用可能であり、個々の画像処理モジュールの種類は特に限定されない。
【００６３】
次に、モード管理部２８０による画像処理部３００の動作モード管理の一例を説明する。この例では、画像処理部３００は、「効率優先」、「順序優先」、「カスタム」の３種類のモードを有する。効率優先モードは、入力されたジョブをその種別に応じた開始段階の処理待ちキュー３２０に投入することで、ジョブが速やかに処理されるようにするモードである。効率優先モードでは、すべての処理段階の処理待ちキュー３２０が有効化される。順序優先モードは、プリントサーバ２００がジョブを受信した順序通り（すなわち受信時刻の古い順）にジョブを処理するモードである。ＨＤＤ２４０内に保存されたジョブに対して印刷指示がなされた場合は、その指示の時刻を受信時刻とする。順序優先モードでは、最初の処理段階の処理待ちキュー３２０のみが有効化される。カスタムモードは、各処理待ちキュー３２０の有効・無効をユーザが自由に指定できるモードである。
【００６４】
モード管理部２８０は、ユーザに対してモード選択用のＵＩ（ユーザインタフェース）画面を提供し、その画面を用いてユーザが指定したモードに従って、キュー管理情報３４０を設定する。モード管理部２８０の処理手順の一例を、図１０に示す。
【００６５】
図１０の手順では、モード管理部２８０は、ＵＩ画面を用いてユーザからのモード指定を受け付けると（Ｓ５１）、指定されたモードが、現在のモード（すなわち指定されたモードの前のモード）と同じかどうかを判定する（Ｓ５２）。同じであれば、モード管理部２８０はキュー管理情報３４０を変更しないまま、処理を終了する。
【００６６】
指定されたモードが現在のモードと異なる場合（モード未指定の状態においてモードが指定された場合もこの場合に該当する）、モード管理部２８０は、指定されたモードが、効率優先、順序優先、及びカスタムのいずれであるかを判定する（Ｓ５３）。モード管理部２８０は、指定されたモードが効率優先であれば、キュー管理情報３４０におけるすべての処理段階の値を「有効」に設定する（Ｓ５４）。したがって、効率優先モードの場合、投入制御部３３０は、入力されたジョブの開始段階に対応した処理段階の処理待ちキュー３２０に対し、そのジョブを投入することになる。
【００６７】
また、指定されたモードが順序優先であれば、キュー管理情報３４０における先頭の処理段階（図４の例では「ＰＤＦ化」）のみの値を「有効」に設定し、他の処理段階の値を「無効」に設定する（Ｓ５５）。したがって、順序優先モードの場合、投入制御部３３０は、入力されたジョブの開始段階がいずれであっても、そのジョブを先頭の処理段階の処理待ちキュー３２０に対し投入することになる。この制御は、従来のジョブ投入制御と同じである。
【００６８】
また、指定されたモードがカスタムモードである場合、モード管理部２８０は、カスタム設定のための設定画面を提供し、その設定画面を介してユーザからの設定を受け付ける。この例では、設定画面として、処理段階ごとに、ジョブがその処理段階を「追い越す」ことを可能とするか否かを設定する画面を提供し、ユーザから設定を受け付ける（Ｓ５６）。このような設定画面を用いてユーザが処理段階ごとに追い越しの可否を指定すると、モード管理部２８０は、キュー管理情報３４０のうち、一連の処理段階のうちの先頭の処理段階の値と、追い越し可能と指定された各処理段階の次の処理段階の値とを「有効」に設定し、残りは「無効」に設定する（Ｓ５７）。このように、ある処理段階が追い越し可能に設定された場合は、投入制御部３３０は、ジョブが、その処理段階を追い越して次の処理段階に投入されるようにすることができる（もちろん、そのジョブの開始段階が当該「次の処理段階」以後である場合に限る）。
【００６９】
カスタムモードにおいて、上述のように処理段階ごとに追い越しの可否の指定を受け付ける代わりに、一連の処理段階のうちの先頭の処理段階からどの処理段階までを追い越し可能とするかの指定を受け付けてもよい。この例では、先頭の処理段階からユーザの指定した処理段階までが追い越し可能であり、ユーザの指定した段階より後の段階が追い越し不可となる。したがって、この場合、先頭の処理段階からユーザの指定した処理段階の次の段階までの処理待ちキュー３２０が「有効」に設定され、それより後の段階の処理待ちキュー３２０が「無効」に設定されることになる。
【００７０】
なお、カスタムモードにおいて、処理段階を追い越し可能とするか否かをユーザに設定させる代わりに、処理段階の処理待ちキュー３２０の有効・無効をユーザに設定させてももちろんよい。
【００７１】
次に、図１１〜図１４を参照して、具体例を挙げて、入力されるジョブ群が画像処理部３００内でどのように処理されていくかを説明する。ここでは、図４の例において、カスタムモードで、４つの処理段階のうち「ＰＤＦ化」のみが追い越し可能と設定され、残りが追い越し不可と設定された場合を想定する。この場合、「ＰＤＦ化」及びその次の「ＰＤＦ画像処理」の処理待ちキュー３２０Ａ及び３２０Ｂが有効であり、残りの「ＲＩＰ」及び「画像データ送信」の処理待ちキュー３２０Ｃ及び３２０Ｄは無効である。このような設定の画像処理部３００に対し、図１１に例示する６つのジョブ「Job1」〜「Job6」がこの順に入力される場合を考える。図１１には、各ジョブ「Job1」〜「Job6」のジョブ種別に対応する開始段階が示される。
【００７２】
まず、最初に入力されたJob1の開始段階「ＰＤＦ化」であり、「ＰＤＦ化」の処理待ちキュー３２０Ａは有効なので、Job1は投入制御部３３０により処理待ちキュー３２０Ａに投入される。そして、その後処理中キュー３２５Ａに移動して、ＰＤＦ化モジュール３１０Ａで処理される。図１２上段の状態（Ａ）は、このときの画像処理部３００のキュー群の状態である。その後、Job1のＰＤＦ化が完了する前に次のJob2が入力されたとする。Job2の開始段階は「ＲＩＰ」であるが、「ＲＩＰ」の処理待ちキュー３２０Ｃは無効なので、Job2はそれ以前で最も後ろの有効な「ＰＤＦ画像処理」の処理待ちキュー３２０Ｂに投入され、処理中キュー３２５Ｂに移動する。図１２下段の状態（Ｂ）は、このときの画像処理部３００のキュー群の状態である。ここで、Job2は開始段階がＲＩＰ処理なので、ＰＤＦ画像処理は不要であり、またその次のＲＩＰ処理の処理中キュー３２５Ｃは空いている。このため、処理中キュー３２５Ｂに入ったJob2はすぐに処理中キュー３２５Ｃに送られ、ＲＩＰモジュール３１０Ｃの処理を受ける。
【００７３】
その後、Job1がＰＤＦ化を終えてＰＤＦ画像処理に進み、Job2のＲＩＰ処理が終わらない時点で、ＰＤＦ画像処理を開始段階とするJob3が入力されると、Job3は処理待ちキュー３２０Ｂに投入され、Job1のＰＤＦ画像処理が完了するまで待つ（図１３上段の状態（Ｃ））。またその後、Job2がＲＩＰ処理を終えて画像データ送信の段階に進み、Job1がＰＤＦ画像処理を終えてＲＩＰ処理の段階に進むと、Job3が処理中キュー３２５Ｂに進んでＰＤＦ画像処理を受ける。このときに開始段階が画像データ送信であるJob4が入力されると、Job4は、画像データ送信以前で最も後ろの有効な処理待ちキュー３２０Ｂに投入される（図１３下段の状態（Ｄ））。
【００７４】
この後、Job1に対するＲＩＰ処理が終了したとしても、Job2の画像データのプリンタ４００への送信が完了していなければJob1は画像データ送信の段階に進めず、この影響でJob3もＲＩＰ段階に進めない。この時にJob5が入力されると、Job5はその開始段階であるＰＤＦ化の処理待ちキュー３２０Ａに入力される。この時点では処理中キュー３２５Ａは空いているので、Job5はすぐにＰＤＦ化モジュール３１０に処理される（図１４上段の状態（Ｅ））。その後、プリンタ４００へのJob2の画像データ送信が完了すると、Job1は画像データ送信へ、Job3はＲＩＰへと進み、Job4が処理中キュー３２５Ｂに移行する。Job4は、開始段階が画像データ送信（すなわちJob4は既にラスター画像である）なので、ＰＤＦ画像処理もＲＩＰ処理も必要がないが、Job3のＲＩＰが終わるまでは処理中キュー３２５Ｂで待たされることになる。このとき、開始段階がＲＩＰであるJob6が入力されると、キュー群の状態は図１４下段の状態（Ｆ）となる。
【００７５】
以上、カスタムモードの場合を例にとって説明したが、効率優先モードの場合は、入力されたジョブがそのジョブの種別に応じた開始段階の処理待ちキュー３２０に投入される点がカスタムモードの場合と異なるだけなので、当業者なら上述の説明から容易に理解できるであろう。また、順序優先モードでのジョブ実行の流れは従来と同様なので説明を要さないであろう。
【００７６】
次に、図１５及び図１６を参照して、ジョブ制御部２３０が提供するジョブ管理画面の例を説明する。図１５は、効率優先モードの場合のジョブ管理画面の例を示す。例示のジョブ管理画面には、処理中又は処理待ちのジョブの状態を示す第１領域７１０と、処理が完了した後もユーザ指示等に従ってＨＤＤ２４０に残された保持ジョブについての情報を示す第２領域７２０が表示される。
【００７７】
第１領域７１０には、処理待ちキュー３２０Ａ〜Ｄ又は処理中キュー３２５Ａ〜Ｄのいずれかにあるジョブが、当該プリントサーバ２００から出力される順に上から下へと配列表示されている。第１領域７１０のジョブ名欄７１１にはジョブの名称が、受信時刻欄７１２にはジョブの受信時刻がそれぞれ示される。また、第１領域７１０には、ＰＤＦ化，ＰＤＦ画像処理，ＲＩＰ及びデータ送信の各処理段階のジョブ表示欄７１３〜７１６が処理段階の順に左から右に配列されている。ジョブ名欄７１１に表示された各ジョブは、現在そのジョブが存在する処理段階のジョブ表示欄７１３，７１４，７１５又は７１６に表示される。各処理段階のジョブ表示欄７１３〜７１６には、それぞれ、当該処理段階にあるジョブが処理順序に従って上から下へと配列される。そして、処理中キュー３２５にあるジョブについては「処理中」である旨とその処理の進捗度合い（例えばパーセンテージ）とが表示され、処理待ちキュー３２０にあるジョブについては「処理待ち」である旨が表示される。このジョブ管理画面では、ジョブ群の処理が進むごとに、あるジョブはある処理段階のジョブ表示欄内を１つずつ登っていき、その処理段階の処理が終わると次の処理段階、すなわち１つ右のジョブ表示欄の末尾に移動することとなる。
【００７８】
また、第２領域７２０には、個々の保持ジョブについて、そのジョブのジョブ名、受信時刻、データサイズ、所有者（ジョブを送信してきたユーザ）、開始段階（これは受信されたときに判定されている）、及び、ユーザ（所有者又は管理者など）が入力したコメントが表示される。ユーザは、第２領域７２０にある保持ジョブを選択して、印刷を指示することができる。
【００７９】
図１６は、カスタムモードにおいて、ＰＤＦ化が追い越し可と設定され、他の処理段階が追い越し不可と設定された場合のジョブ管理画面の例を示す。図１６の例は、第１領域７１０のジョブ表示欄７１７に、ＰＤＦ画像処理、ＲＩＰ及びデータ送信という連続する３つの処理段階にあるジョブをまとめて表示する点が図１５（効率優先モード）の場合と異なる。ジョブ表示欄７１７には、データ送信、ＲＩＰ、及びＰＤＦ画像処理の各段階の処理中のジョブがその順に上から下に配列されると共に、その下に、処理待ちの各ジョブが処理される順に配列されている。それら処理待ちのジョブは、ＰＤＦ画像処理の処理待ちキュー３２０Ｂに保持されたジョブである。ジョブ表示欄７１７に表示されたジョブは、ジョブ群の処理が進むにつれて上へと移動する。なお、ジョブ表示欄７１７には、処理待ちの各ジョブの開始段階が表示される。例えば、上から４番目のジョブは「データ送信待ち」と表示されているが、これはそのジョブの開始段階が「画像データ送信」であることを示す。
【００８０】
このように図１６の例では、処理待ちキュー３２０が有効な各処理段階（図１６の例ではＰＤＦ化とＰＤＦ画像処理）に対応してジョブ表示欄７１３及び７１７が設けられる。この点では、図１５も同様である。順序優先モードの場合、先頭の処理段階であるＰＤＦ化の処理待ちキュー３２０Ａにすべての種別のジョブが投入されるので、その場合のジョブ管理画面の第１領域にはそのキュー３２０Ａに対応した１つのジョブ表示欄があればよい。このジョブ表示欄におけるジョブの配列順序は、図１６のジョブ表示欄７１７と同様でよい。
【００８１】
なお、カスタムモード及び順序優先モードの場合も、図１５と同様、処理段階ごとにジョブ表示欄７１３〜７１６を設けてもよい。この場合、処理待ちキュー３２０が無効な処理段階のジョブ表示欄には処理待ちのジョブが表示されないが、これ以外は図１５と同様である。
【００８２】
次に、画像制御部３００の動作モードの変更が指示された場合における、画像処理部３００内の処理待ちキュー３２０群の過渡制御の一例を、図１７を参照して説明する。
【００８３】
図１７に示すように、この過渡制御では、モード管理部２８０に対してユーザからモード変更が指示された場合、まず、画像処理部３００は、モード変更により、当該処理待ちキュー３２０が無効なキューが増加するか否かを判定する（Ｓ６１）。この例では、カスタムモードにおいて、一連の処理段階のうちの先頭の処理段階からどの処理段階までを追い越し可能とするかの指定を受け付ける場合を想定している。モード変更の前よりも後の方が、追い越し可能とする最後尾の処理段階がより前の段階となる場合、モード変更により無効なキューが増加することとなる。
【００８４】
ステップＳ６１の判定結果が肯定（Ｙｅｓ）の場合、画像処理部３００は、モード変更の結果新たに無効となる（すなわちモード変更の前は有効）各処理待ちキュー３２０に対し投入制御部３３０又は直前の処理段階からジョブが投入されないように制御し（Ｓ６２）、それら各キュー３２０内にジョブが残っていれば、それら残っているジョブを、順番に、対応するモジュール３１０に処理させる（Ｓ６３）。それら各キュー３２０が空になると、画像処理部３００は、それら各キュー３２０を無効化（Ｓ６４）して過渡制御を終了し、上述の通常の制御（図５〜図７参照）に移行する。
【００８５】
モードが変更されると無効な処理待ちキュー３２０の数が変化するので、ステップＳ６１の判定結果が否定（Ｎｏ）の場合、無効なキューがモード変更前より無効な処理待ちキュー３２０が減り、有効な処理待ちキュー３２０が増えることになる。この場合、画像処理部３００は、当該モード変更の前において有効な処理待ちキュー３２０のうち最後尾のキュー３２０にある各ジョブを、それぞれ各ジョブの開始段階に応じて、モード変更後に新たに有効となる各処理待ちキュー３２０に振り分ける（Ｓ６５）。この振り分け処理では、図８に例示したステップＳ４３及びＳ４４と同様、ジョブの開始段階以前で最も後ろの有効な処理待ちキュー３２０に対し、当該ジョブを投入すればよい。振り分けられたジョブの振り分け先のキュー３２０での配列順序は、それらジョブの受信時刻の早い順とすればよい。画像処理部３００は、この振り分けが完了した後、それら新たに有効となるべきキュー３２０を有効化（Ｓ６６）して過渡制御を終了し、上述の通常の制御（図５〜図７参照）に移行する。
【００８６】
以下、このような過渡制御の具体例を説明する。例えば、画像処理部３００のモードが、図１２に例示したＰＤＦ化及びＰＤＦ画像処理の処理待ちキュー３２０が有効なカスタムモードから順序優先モードに変更された場合、ＰＤＦ画像処理の処理待ちキュー３２０Ｂが新たに無効へと変更されることになる。ここで、モード変更の時点で処理待ちキュー３２０Ｂにジョブが残っていなければ、そのキュー３２０Ｂは即座に無効化される。一方、モード変更の時点でそのキュー３２０Ｂにジョブが残っている場合は、それら残存ジョブがＰＤＦ処理モジュール３１０Ｂで処理された後、そのキュー３２０Ｂが無効化される。以上の例は、モード変更により無効な処理待ちキュー３２０が増える場合の例である。
【００８７】
また、画像処理部３００のモードが、順序優先モードからＰＤＦ化及びＰＤＦ画像処理の処理待ちキュー３２０が有効なカスタムモードに変更された場合、ＰＤＦ画像処理の処理待ちキュー３２０Ｂが無効から有効に変更されることになる。そして、モード変更前における最後尾の有効な処理待ちキューである処理待ちキュー３２０Ａ（ＰＤＦ化）内にジョブがある場合、それらが各々の開始段階に応じて、当該キュー３２０Ａと新たに有効となる処理待ちキュー３２０Ｂに振り分けられる。例えば、処理待ちキュー３２０Ａに「ＰＤＦ画像処理」、「ＲＩＰ」、「画像データ送信」、及び「ＰＤＦ化」をそれぞれ開始段階とするジョブが１つずつ存在した場合、そのうち開始段階が「ＰＤＦ画像処理」、「ＲＩＰ」、又は「画像データ送信」であるジョブは処理待ちキュー３２０Ｂへ振り分けられ、開始段階が「ＰＤＦ化」のジョブは処理待ちキュー３２０Ａに残る。そして、この処理の完了後に処理待ちキュー３２０Ｂが有効化され、投入制御部３３０及び直前の処理段階からジョブの投入を受け入れる。
【００８８】
以上説明した例では、無効に設定された処理待ちキュー３２０に対しては、投入制御部３３０からも直前の処理段階からもジョブが投入されないようにした。しかし、このような制御は一例に過ぎない。変形例として、無効に設定された処理待ちキュー３２０が、投入制御部３３０からのジョブを受け入れないが、直前の処理段階から送られてきたジョブは受け入れるようにしてもよい。この変形例では、実行制御部３１５が、ジョブ送り処理として、図７に例示した手順の代わりに、図１８に例示する手順を実行すればよい。すなわち、この例では、実行制御部３１５は、対応するモジュール３１０での処理が完了したジョブ（Ｓ２３）、又はそのモジュールでの処理を必要としないジョブ（Ｓ１７）を、次の処理段階の処理待ちキュー３２０に投入すればよい。なお、図１８に例示したジョブ送り処理以外の制御については、図５，図６、図８，及び図１０に例示したものと同様の手順を用いればよい。この変形例では、各処理段階での処理が終わったジョブは、次の処理段階でのジョブの処理完了を待たずに、即座に次の処理段階の処理待ちキュー３２０に送られる。
【００８９】
例えば、画像処理部３００のキュー群が図１３の状態（Ｄ）であるときに、Job2のプリンタ４００への送信が終了する前にJob1のＲＩＰ処理が完了した場合、図７の手順では、Job1は画像データ送信の段階に進むことができないので、ＲＩＰの処理待ちキュー３２５Ｃに留まる。したがって、仮にその時点でJob3のＰＤＦ画像処理が終了していたとしても、Job3はＲＩＰの段階に進めない。これに対し、この変形例では、Job2は画像データ送信の処理待ちキュー３２０に進み、Job3はその結果空いたＲＩＰの処理中キュー３２５に進むこととなる。
【００９０】
なお、この変形例でのジョブ管理画面は、図１５に例示したのと同様、すべての処理段階についてジョブ表示欄７１３〜７１６を持つものでよい。
【００９１】
また、以上の例では、ユーザから指定された動作モードに応じて各処理待ちキューの有効又は無効を切り換えたが、これは一例に過ぎない。この代わりに、そのような動作モードを設けず、各処理段階の追い越し可能又は不可（或いは各処理待ちキュー３２０の有効又は無効）をユーザに直接指定させるようなユーザインタフェースを採用してもよい。これは、すべてカスタムモードとして取り扱う場合に相当する。
【００９２】
また、以上の例は、１つの処理段階のモジュール３１０が一時に１つのジョブしか処理しない場合の例であったが、これはあくまで一例に過ぎない。モジュール３１０が一時にｎ個（ｎは２以上）のジョブを並列処理できる場合は、対応する処理中キュー３２５にｎ個のジョブが入れられるようにし、そのモジュール３１０が処理中キュー３２５内の１以上のジョブを並列処理すればよい。この場合、モジュール３１０の処理が完了したジョブは次の処理段階に送り、空いた処理中キュー３２５に次のジョブを受け入れればよい。
【００９３】
また、以上の例において、優先処理するジョブの指定を受け付け可能としてもよい。この場合、優先処理対象として指定されたジョブには、ジョブ管理情報に優先処理対象である旨の情報を含める。各処理段階の実行制御部３１５は、対応する処理待ちキュー３２０に優先処理対象のジョブがあれば、そのジョブを優先して取り出し、対応するモジュール３１０に処理させた後、次の処理段階に送ればよい（当該モジュールでの処理が不要の場合は、単に次の処理段階に送ればよい）。また、実行制御部３１５は、直前の処理段階から優先処理対象のジョブを受け取った場合、その時対応するモジュール３１０でのジョブの処理が完了し次第、対応する処理待ちキュー３２０内のジョブより先にその優先処理対象のジョブをそのモジュール３１０に実行させればよい。
【００９４】
以上に例示したプリントサーバ２００は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図１９に示すように、ＣＰＵ１０００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）１００２およびリードオンリメモリ（ＲＯＭ）１００４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）１００６を制御するＨＤＤコントローラ１００８、各種Ｉ／Ｏ（入出力）インタフェース１０１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース１０１２等が、たとえばバス１０１４を介して接続された回路構成を有する。また、そのバス１０１４に対し、例えばＩ／Ｏインタフェース１０１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ１０１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ１０１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、ＶＰＮルータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ１００２に読み出されＣＰＵ１０００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【００９５】
【図１】印刷システムの一例を示す図である。
【図２】ジョブのデータ内容の一例を示す図である。
【図３】ジョブ種別に対応する開始段階を判定するための判定情報の一例を示す図である。
【図４】画像処理部の構成の一例を示す図である。
【図５】実行制御部が行う処理手順の一例の一部分を示すフローチャートである。
【図６】実行制御部が行う処理手順の一例の別の部分を示すフローチャートである。
【図７】実行制御部が行う処理手順の一例の残りの部分を示すフローチャートである。
【図８】投入制御部の処理手順の一例を示すフローチャートである。
【図９】ジョブの管理情報の一例を示す図である。
【図１０】モード管理部の処理手順の一例を示すフローチャートである。
【図１１】プリントサーバ２００に順に入力されるジョブ群の一例を示す図である・
【図１２】カスタムモードにおいてジョブ群が入力された場合の各処理段階の処理待ちキューの状態の段階的な変化の例を示す図である。
【図１３】カスタムモードにおいてジョブ群が入力された場合の各処理段階の処理待ちキューの状態の段階的な変化の例を示す図である。
【図１４】カスタムモードにおいてジョブ群が入力された場合の各処理段階の処理待ちキューの状態の段階的な変化の例を示す図である。
【図１５】効率優先モードでのジョブ管理画面の例を示す図である。
【図１６】カスタムモードでのジョブ管理画面の例を示す図である。
【図１７】画像制御部の動作モードの変更が指示された場合における処理待ちキュー群の過渡制御の手順の一例を示すフローチャートである。
【図１８】変形例における実行制御部のジョブ送り処理の手順の一例を示すフローチャートである。
【図１９】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００９６】
１００  クライアントＰＣ、１１０  アプリケーション、１２０  プリンタドライバ、１３０  ネットワークＩ／Ｆ、１５０  ネットワーク、２００  プリントサーバ、２１０  ネットワークＩ／Ｆ、２２０  ジョブ受信部、２３０  ジョブ制御部、２４０  ＨＤＤ、２５０  プロセス解析部、２６０  画像データ送信部、２７０  ネットワークＩ／Ｆ、２８０  モード管理部、２９０  入力装置、３００  画像処理部、３１０Ａ  ＰＤＦ化モジュール、３１０Ｂ  ＰＤＦ画像処理モジュール、３１０Ｃ  ＲＩＰモジュール、３１５Ａ〜３１５Ｃ  実行制御部、３２０Ａ〜３２０Ｄ  処理待ちキュー、３２５Ａ〜３２５Ｄ  処理中キュー。
【図１】
0004710895.tif 000002
【図２】
0004710895.tif 000003
【図３】
0004710895.tif 000004
【図４】
0004710895.tif 000005
【図５】
0004710895.tif 000006
【図６】
0004710895.tif 000007
【図７】
0004710895.tif 000008
【図８】
0004710895.tif 000009
【図９】
0004710895.tif 000010
【図１０】
0004710895.tif 000011
【図１１】
0004710895.tif 000012
【図１２】
0004710895.tif 000013
【図１３】
0004710895.tif 000014
【図１４】
0004710895.tif 000015
【図１７】
0004710895.tif 000016
【図１８】
0004710895.tif 000017
【図１９】
0004710895.tif 000018
【図１５】
0004710895.tif 000019
【図１６】
0004710895.tif 000020