(57)【要約】【課題】留め置かれている印刷ジョブの印刷を指示したとき、印刷開始を指示した後に印刷ジョブの送信及びレンダリング処理を最初から最後まで行わなければならないため、ユーザは、印刷装置の前で、印刷ジョブの送信及びレンダリング処理を待たなければならない。【解決手段】本発明に係る印刷システムでは、印刷ジョブを蓄積する情報処理装置は、格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定しその特定されたページに対して実施するレンダリング処理の処理単位を決定し、その決定された処理単位に従って当該ページのレンダリングを実行し、その印刷ジョブのコマンドを、レンダリングにより得られた画像データに基づいて変換して格納しておく。これにより印刷装置におけるレンダリング時間を短縮できる。【選択図】  図１０
2019003289.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを蓄積する情報処理装置と、前記情報処理装置から受信した印刷ジョブに基づいてシートに画像を印刷する印刷装置を含む印刷システムであって、
前記情報処理装置は、
ホストコンピュータから受信した印刷ジョブを格納する格納手段と、
前記格納手段に格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定手段と、
前記特定手段により特定されたページに対して実施するレンダリング処理の処理単位を決定する決定手段と、
前記決定手段により決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング手段と、
前記レンダリング手段によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記格納手段に格納する第１制御手段と、
前記印刷装置からの要求に応じて、前記格納手段に格納されている、要求された印刷ジョブを前記印刷装置に送信する送信手段と、を有し、
前記印刷装置は、
前記格納手段に格納されている印刷ジョブの一覧を取得する取得手段と、
前記取得手段により取得した前記印刷ジョブの一覧から選択された印刷ジョブを前記情報処理装置に要求する要求手段と、
前記要求手段による要求に応じて前記送信手段により送信される印刷ジョブを受信し、当該印刷ジョブをレンダリングして画像を印刷するように制御する第２制御手段と、
を有することを特徴とする印刷システム。
【請求項２】
前記特定手段は、前記印刷装置が画像を印刷する速度と、該当ページのレンダリングに要する予測時間とに基づいて、先行してレンダリング処理を実施する必要があるページを特定することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記決定手段は、前記印刷ジョブの前記ページに含まれるオブジェクトの単位、或いは前記ページの所定の領域の単位を、前記処理単位と決定することを特徴とする請求項１又は２に記載の印刷システム。
【請求項４】
前記決定手段は、前記印刷ジョブに集約印刷が設定がされている場合は前記領域単位と決定し、前記印刷ジョブに集約印刷が設定がされていない場合は前記オブジェクトの単位と決定することを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記レンダリング手段は、前記印刷装置から前記要求を受信すると、レンダリング処理が完了した前記処理単位の当該ページの画像データをレンダリング済みと確定することを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記レンダリング手段は、前記印刷装置から前記要求を受信すると、レンダリング済みのオブジェクトと、次のオブジェクトとの距離が閾値以下であれば当該オブジェクトをレンダリング対象としてレンダリングを実施し、そうでないときは前記レンダリング処理を中断することを特徴とする請求項５に記載の印刷システム。
【請求項７】
前記レンダリング手段は、前記印刷装置から前記要求を受信すると、レンダリング済みのオブジェクトと、次のオブジェクトをレンダリングした場合の処理時間を予測し、予測した時間が閾値以下であれば前記次のオブジェクトをレンダリング対象としてレンダリングを実施し、そうでないときは前記レンダリング処理を中断することを特徴とする請求項５に記載の印刷システム。
【請求項８】
前記レンダリング手段は、前記印刷装置から前記要求を受信すると、レンダリング対象のオブジェクトが同一属性で、所定距離内で連続している場合、当該オブジェクトのレンダリングが完了するまでレンダリングを実行し、そうでない場合は前記レンダリング対象のオブジェクトのレンダリングを中断することを特徴とする請求項５に記載の印刷システム。
【請求項９】
前記第１制御手段は、前記レンダリング手段によるレンダリングにより得られた画像データをコマンドに変換し、前記印刷ジョブの元のコマンドを前記変換したコマンドで差し替えることを特徴とする請求項１乃至８のいずれか１項に記載の印刷システム。
【請求項１０】
印刷ジョブを蓄積し、印刷装置からの要求に応じて印刷ジョブを前記印刷装置に送信する情報処理装置であって、
ホストコンピュータから受信した印刷ジョブを格納する格納手段と、
前記格納手段に格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定手段と、
前記特定手段により特定されたページに対して実施するレンダリング処理の処理単位を決定する決定手段と、
前記決定手段により決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング手段と、
前記レンダリング手段によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記格納手段に格納する制御手段と、
前記印刷装置からの要求に応じて、前記格納手段に格納されている、要求された印刷ジョブを前記印刷装置に送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項１１】
前記特定手段は、前記印刷装置が画像を印刷する速度と、該当ページのレンダリングに要する予測時間とに基づいて、先行してレンダリング処理を実施する必要があるページを特定することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記決定手段は、前記印刷ジョブの前記ページに含まれるオブジェクトの単位、或いは前記ページの所定の領域の単位を、前記処理単位と決定することを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
前記決定手段は、前記印刷ジョブに集約印刷が設定がされている場合は前記領域単位と決定し、前記印刷ジョブに集約印刷が設定がされていない場合は前記オブジェクトの単位と決定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記レンダリング手段は、前記印刷装置から前記要求を受信すると、レンダリング処理が完了した前記処理単位の当該ページの画像データをレンダリング済みと確定することを特徴とする請求項１０乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
印刷装置であって、
ホストコンピュータから受信した印刷ジョブを格納する格納手段と、
前記格納手段に格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定手段と、
前記特定手段により特定されたページに対して実施するレンダリング処理の処理単位を決定する決定手段と、
前記決定手段により決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング手段と、
前記レンダリング手段によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記格納手段に格納する制御手段と、
印刷指示に応じて、前記格納手段に格納されている、指示された印刷ジョブを印刷する印刷手段と、
を有することを特徴とする印刷装置。
【請求項１６】
印刷ジョブを蓄積し、印刷装置からの要求に応じて印刷ジョブを前記印刷装置に送信する情報処理装置を制御する制御方法であって、
ホストコンピュータから受信した印刷ジョブを記憶装置に格納する格納工程と、
前記格納工程で格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定工程と、
前記特定工程で特定されたページに対して実施するレンダリング処理の処理単位を決定する決定工程と、
前記決定工程で決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング工程と、
前記レンダリング工程によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記記憶装置に格納する制御工程と、
前記印刷装置からの要求に応じて、前記記憶装置に格納されている、要求された印刷ジョブを前記印刷装置に送信する送信工程と、
を有することを特徴とする制御方法。
【請求項１７】
印刷装置を制御する制御方法であって、
ホストコンピュータから受信した印刷ジョブを記憶装置に格納する格納工程と、
前記記憶装置に格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定工程と、
前記特定工程により特定されたページに対して実施するレンダリング処理の処理単位を決定する決定工程と、
前記決定工程により決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング工程と、
前記レンダリング工程によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記記憶装置に格納する制御工程と、
印刷指示に応じて、前記記憶装置に格納されている、指示された印刷ジョブを印刷する印刷工程と、
を有することを特徴とする制御方法。
【請求項１８】
コンピュータに、請求項１６又は１７に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷装置、情報処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの普及に伴い、複数のユーザが複数の印刷装置を共有して利用できることが一般的になっている。それに伴い、あるユーザの情報処理装置から一意に印刷装置を指定して印刷を指示するのではなく、所望の印刷装置で印刷を行える「リモート印刷」が実施されている。「リモート印刷」は、情報処理装置から入稿された印刷ジョブを印刷ジョブ送信装置（サーバ）で一時的に蓄積する。そして、所望の印刷装置上でユーザが認証され、そのユーザが印刷ジョブを指定すると、その印刷ジョブが印刷ジョブ送信装置から所望の印刷装置に送信されて印刷物を出力する。このようにユーザは、空いている印刷装置で印刷したい場合や、印刷速度の速い印刷装置で印刷したい場合など、状況に応じて印刷装置を使い分けることが可能となる。
【０００３】
しかし、この場合、印刷を指示してから印刷ジョブ送信装置から印刷装置に印刷ジョブが送信されて印刷が完了するまで、ユーザは、その印刷装置の前で待つ必要がある。そのため「リモート印刷」では、印刷ジョブの送信時間、及びレンダリング処理時間を短くしたいという要望が高まっている。
【０００４】
例えば、特許文献１には、レンダリング処理可能な印刷ジョブ送信装置でレンダリング処理を行って画像データを印刷装置に送信して印刷する時間と、印刷ジョブを印刷装置に送信し、印刷装置でレンダリングして印刷する時間とを予測する。そしてその予測の結果、予測時間の短い方で処理することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２２５２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら上述の従来技術では、印刷開始を指示した後に印刷ジョブの送信及びレンダリング処理を最初から最後まで行わなければならない。そのため、「リモート印刷」においてユーザは、印刷装置の前で印刷ジョブの送信及びレンダリング処理を待たなければならない。
【０００７】
また上記従来技術では、「印刷ジョブ全体をレンダリングした後に送信」、又は、「印刷ジョブ全体を送信した後にレンダリング」のどちらかで処理を行う。「印刷ジョブ全体をレンダリングした後に送信」する処理は、レンダリング処理により生成された画像データのデータ量が大きい場合、送信時間がかかってしまう。一方で、「印刷ジョブ全体を送信した後にレンダリング」する処理は、印刷ジョブによってはレンダリング処理に時間がかかってしまう。また印刷ジョブによっては、印刷ジョブ全体ではなく一部をレンダリングして送信したほうが印刷ジョブの送信時間及びレンダリング処理時間は短くなる。しかしこの技術では、印刷ジョブの一部をレンダリングして送信する処理をしない。そのため、「印刷ジョブ全体をレンダリングした後に送信」、又は、「印刷ジョブ全体を送信した後にレンダリング」のどちらかのみで処理を行うことは、印刷ジョブの送信及びレンダリング処理に要する時間の点で必ずしも最適とは言えない。
【０００８】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００９】
本発明の目的は、格納している印刷ジョブのレンダリング処理を行うページを特定し、そのページのレンダリング処理を行って印刷ジョブに反映した状態で印刷装置に送信することにより、印刷ジョブの印刷に要する時間を短縮する技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る印刷システムは以下のような構成を備える。即ち、
印刷ジョブを蓄積する情報処理装置と、前記情報処理装置から受信した印刷ジョブに基づいてシートに画像を印刷する印刷装置を含む印刷システムであって、
前記情報処理装置は、
ホストコンピュータから受信した印刷ジョブを格納する格納手段と、
前記格納手段に格納された印刷ジョブに含まれるページの内、先行してレンダリング処理を実施する必要があるページを特定する特定手段と、
前記特定手段により特定されたページに対して実施するレンダリング処理の処理単位を決定する決定手段と、
前記決定手段により決定された前記処理単位に従って当該ページのレンダリングを実行するレンダリング手段と、
前記レンダリング手段によるレンダリングにより得られた画像データに基づいて、前記印刷ジョブのコマンドを変換して前記格納手段に格納する第１制御手段と、
前記印刷装置からの要求に応じて、前記格納手段に格納されている、要求された印刷ジョブを前記印刷装置に送信する送信手段と、を有し、
前記印刷装置は、
前記格納手段に格納されている印刷ジョブの一覧を取得する取得手段と、
前記取得手段により取得した前記印刷ジョブの一覧から選択された印刷ジョブを前記情報処理装置に要求する要求手段と、
前記要求手段による要求に応じて前記送信手段により送信される印刷ジョブを受信し、当該印刷ジョブをレンダリングして画像を印刷するように制御する第２制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、格納している印刷ジョブのレンダリング処理を行うページを特定し、そのページのレンダリング処理を行って印刷ジョブに反映した状態で印刷装置に送信することにより、印刷ジョブの印刷に要する時間を短縮できる。
【００１２】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１３】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係る印刷システムの構成を説明するブロック図。
【図２】実施形態に係る印刷ジョブ送信装置における印刷データの蓄積及び書誌情報の格納処理を説明するフローチャート。
【図３】実施形態に係る印刷ジョブ送信装置における書誌情報の更新処理を説明するフローチャート。
【図４】実施形態に係るホストコンピュータ（ＰＣ）のユーザが、印刷ジョブをＰＣから印刷ジョブ送信装置１００に送信する際の処理シーケンスを説明する図。
【図５】実施形態に係る印刷ジョブ送信装置が有するネットワークテーブルの一例を示す図。
【図６】実施形態に係る印刷ジョブ送信装置が有する、留め置かれた印刷ジョブを管理する留め置き印刷ジョブテーブルの一例を示す図。
【図７】実施例形態に係る印刷ジョブ送信装置から印刷装置に印刷ジョブを送信して印刷させる処理のシーケンス例を示す図。
【図８】本実施形態に係る印刷ジョブ送信装置による先行レンダリング処理を説明するフローチャート。
【図９】図８のＳ８０２のページ特定処理を説明するフローチャート。
【図１０】図８のＳ８０４の対象ページの先行レンダリング処理を説明するフローチャート。
【図１１】本発明の実施形態に係る、先行レンダリング前の印刷ジョブのＰＤＬコマンドの構成例（Ａ）と、先行レンダリング後の印刷ジョブのＰＤＬコマンドの構成例（Ｂ）を示す図。
【図１２】実施形態に係る印刷装置による印刷処理を説明するフローチャート。
【図１３】実施形態に係る処理の概要と実施効果を説明する概念図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
図１は、本発明の実施形態に係る印刷システムの構成を説明するブロック図である。
【００１６】
この印刷システムは、印刷ジョブ送信装置（情報処理装置）１００と、複数の印刷装置１０１〜１０３と、ホストコンピュータ（ＰＣ）１９１とがＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して互いに通信可能に接続されている。尚、ここで通信に用いるプロトコルはＴＣＰ／ＩＰ以外のＵＤＰなどのプロトコルであってもよい。
【００１７】
印刷装置１０１〜１０３は、ＭＦＰ（複合機：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）であり、ホストコンピュータ１９１からの印刷指示に応じて各種処理を実行する。ここで、印刷装置１０１〜１０３は、ＭＦＰ以外のＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）であってもよい。また印刷装置１０１〜１０３は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリント方式のプリンタであってもよい。ここで印刷装置１０１と、印刷装置１０２，１０３とは同一の構成を有することから、以下、印刷装置１０１を例に、その構成を説明する。
【００１８】
印刷装置１０１は、リーダ部１４０、プリンタ部１８０、操作部１５０、記憶装置１６１、認証部１７０、これら各構成要素を制御する制御部１３０を有している。制御部１３０は、ＣＰＵ１３２、ＲＯＭ１３４、ＲＡＭ１３６等を有し、ＣＰＵ１３２がＲＯＭ１３４又は記憶装置１６１に格納されたプログラムをＲＡＭ１３６に展開し、その展開したプログラムを実行することにより印刷装置１０１全体を統括制御する。またＲＡＭ１３６は、ＣＰＵ１３２の作業領域として用いられる。例えば、制御部１３０は、ＣＰＵ１３２にレンダリング処理等を行うための予め決められたプログラムをロードする構成をとる。またレンダリング処理に関しては、ここでは記述しないが専用のハードウェアを利用してもかまわない。
【００１９】
リーダ部１４０は、制御部１３０の指示に従って原稿の画像の読み取りを行う。プリンタ部１８０は、制御部１３０の指示に従ってプリンタエンジン（不図示）を用いて、画像データに基づく画像をシートに印刷する。操作部１５０は、ユーザが操作を行うための操作キー、及び画像データや各種機能の表示／設定などを行う表示パネルを備え、ユーザの操作などの情報を制御部１３０へ通知する。記憶装置１６１は、ＣＰＵ１３２の作業領域としての利用や、印刷データなどのデータの保存に利用される。認証部１７０は、ＩＤカードなどによるユーザの認証情報を取得して制御部１３０及び印刷ジョブ送信装置１００に通知する。
【００２０】
次に、ホストコンピュータ１９１で実行される処理の概要を説明する。尚、ホストコンピュータ１９１は、一般的なコンピュータと同一の構成要素を有することから、そのハードウェア構成の説明を省略する。ホストコンピュータ１９１は、アプリケーションからＯＳを介して依頼された印刷命令を基に、プリンタドライバを用いて、印刷装置１０１〜１０３や印刷ジョブ送信装置１００が解釈可能なページ記述言語で記述されたＰＤＬデータを生成する。印刷命令ごとに変換及び生成されるＰＤＬコマンドで構成されたＰＤＬデータが印刷ジョブとなる。そしてホストコンピュータ１９１は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して印刷ジョブを印刷ジョブ送信装置１００へ送信する。このとき送信される印刷ジョブには、印刷ジョブの生成時、或いは送信時にユーザを識別するためのユーザ情報が埋め込まれているものとする。
【００２１】
印刷ジョブ送信装置１００はプリンタサーバであり、ホストコンピュータ１９１から送信される印刷ジョブを保存する役割や、保存された印刷ジョブの書誌情報を管理する書誌管理サーバの役割を果たすものとして説明する。尚、印刷ジョブ送信装置１００は、印刷装置１０１〜１０３に組み込まれていても良く、或いはホストコンピュータ１９１等の情報処理装置であってもよい。印刷ジョブ送信装置１００は、記憶装置１６０等の各構成要素を制御する制御部１１０を有している。制御部１１０は、ＣＰＵ１１２、ＲＯＭ１１４、ＲＡＭ１１６等を有し、ＣＰＵ１１２が記憶装置１６０に格納されたプログラムをＲＡＭ１１６に展開し、その展開したプログラムを実行することにより、この印刷ジョブ送信装置１００全体を統括制御する。ＲＡＭ１１６は、ＣＰＵ１１２の作業領域として用いられる。例えば、制御部１１０は、ＣＰＵ１１２にレンダリング処理等を行うための予め決められたプログラムをロードする構成をとる。
【００２２】
図２は、実施形態に係る印刷ジョブ送信装置１００における印刷データの蓄積及び書誌情報の格納処理を説明するフローチャートである。尚、この処理は、ＣＰＵ１１２が記憶装置１６０からＲＡＭ１１６に展開したプログラムを実行することにより達成される。
【００２３】
まずＳ２０１でＣＰＵ１１２は、ＬＡＮ１９０を介して、ホストコンピュータ１９１からＴＣＰ／ＩＰを経由して送信された印刷ジョブを受信し、ＲＡＭ１１６又は記憶装置１６０の作業領域に一時保存する。次にＳ２０２に進みＣＰＵ１１２は、その作業領域内の印刷ジョブを基に書誌情報を生成する。この書誌情報は、ユーザ情報、出力カラーモード、部数、片面／両面、ページ数などの機種依存性の無い情報、及び、ステイプル、画像処理、給排紙段などの機種依存性のある情報、用紙サイズ等のページごとの情報などの情報を含む。尚、ここで挙げたのは一例であり、書誌情報は、これらに限定されるものではない。次にＳ２０３に進みＣＰＵ１１２は、作業領域の印刷ジョブと書誌情報を記憶装置１６０に保存して、この処理を終了する。
【００２４】
図３は、実施形態に係る印刷ジョブ送信装置１００における書誌情報の更新処理を説明するフローチャートである。尚、この処理は、ＣＰＵ１１２が記憶装置１６０からＲＡＭ１１６に展開したプログラムを実行することにより達成される。
【００２５】
まずＳ３０１でＣＰＵ１１２は、受信した印刷ジョブを基に書誌情報を生成し、ＲＡＭ１１６或いは記憶装置１６０の作業領域に一時保存する。次にＳ３０２に進みＣＰＵ１１２は、その作業領域内の書誌情報を基にユーザ情報を確認する。そしてＳ３０３に進みＣＰＵ１１２は、その書誌情報を、そのユーザの書誌情報リストに追記して更新して、この処理を終了する。尚、そのユーザの書誌情報リストが無い場合は、新規に、そのユーザの書誌情報リストを作成するものとする。
【００２６】
図４は、実施形態に係るホストコンピュータ（ＰＣ）１９１のユーザが、印刷ジョブをＰＣ１９１から印刷ジョブ送信装置１００に送信する際の処理シーケンスを説明する図である。
【００２７】
Ｓ４０１で、ユーザがＰＣ１９１にログインし、Ｓ４０２でユーザは、任意のアプリケーションを実行してデータの印刷を要求する。これによりＰＣ１９１はＳ４０３で、そのユーザのユーザＩＤを取得する。そしてＳ４０４で、その取得したユーザＩＤを付与して印刷ジョブを作成する。そしてＳ４０５でＰＣ１９１は、その作成した印刷ジョブを印刷ジョブ送信装置１００に送信する。
【００２８】
これにより印刷ジョブ送信装置１００はＳ４０６で、その印刷ジョブを受信して記憶装置１６０に保存する。そしてＳ４０７で印刷ジョブ送信装置１００のＣＰＵ１１２は、その印刷ジョブに付与されたユーザＩＤを抽出して書誌情報を作成する。そしてＳ４０８で、その書誌情報を記憶装置１６０に保存する。そして印刷ジョブ送信装置１００は、書誌情報の保存を終えるとＳ４０９で、図８を参照して後述する先行レンダリング処理を開始する。この先行レンダリング処理で、部分的な先行レンダリング処理を行う。
【００２９】
図５は、実施形態に係る印刷ジョブ送信装置１００が有するネットワークテーブルの一例を示す図である。
【００３０】
このネットワークテーブル５０１は、印刷ジョブ送信装置とネットワークを介して接続されている印刷装置の情報を記憶している。装置ＩＤ５０２は、印刷ジョブ送信装置１００と接続されている印刷装置の識別子である。ここでは図１に示す印刷装置の参照番号で示している。装置タイプ５０３は、接続されている装置のタイプ（種類）、即ち、「印刷装置」或いは「サーバ」を含む。アドレス５０４は、ネットワークのプロトコルと、ネットワーク上で接続を識別するためのアドレスを示す。転送速度５０５は、接続されている装置との間の実際のデータ転送速度を示す。ここでは１秒当たりの転送データ量（Ｋバイト／秒）で記憶されている。アドレス５０４及び転送速度５０５に格納する情報は、接続されている装置が起動したとき、或いは、接続されている装置とネットワーク接続されたときに取得して、このネットワークテーブル５０１へ適時格納する。エンジン速度５０６は、接続されている印刷装置が、１分間に最大何枚出力（印刷）可能かを示す情報である。ここでは１分当たりの印刷可能枚数で示している。
【００３１】
図６は、実施形態に係る印刷ジョブ送信装置１００が有する、留め置かれた印刷ジョブを管理する留め置き印刷ジョブテーブルの一例を示す図である。
【００３２】
この留め置き印刷ジョブテーブル６１０は、以下に説明する項目を有している。ジョブＩＤ６０１は、留め置き印刷ジョブを識別するためのＩＤ（識別子）である。ユーザＩＤ６０２は、その留め置き印刷ジョブを送信したユーザを識別するためのユーザＩＤである。ファイル格納場所６０３は、その印刷ジョブの元となったドキュメントのファイル名、その印刷ジョブがどこに格納されているかを保存先を含む。印刷設定情報６０４は、その印刷ジョブに適用する印刷設定情報で、カラーモード、片面／両面等の印刷モードを含む。ページ数６０５は、その印刷ジョブに含まれる印刷ページ枚数を示す。ＰＤＬ種類６０６は、その印刷ジョブがどのＰＤＬに基づいて記述されているかを示す。レンダリング予測時間＋転送時間６０７は、ページごとのレンダリングに要する予測時間と、データ転送の予測時間を含む。レンダリング後画像情報６０８は、時間予測の結果、先行レンダリングを実施して得られたレンダリング済みページの画像データの保存情報を示す。即ち、レンダリング後画像情報のファイル名と、そのサイズが一時的に格納される。ＰＤＬデータ６０９は、実際のＰＤＬデータである。
【００３３】
留め置き印刷ジョブテーブル６１０の項目６０１〜６０７は、先行レンダリング前の情報である。レンダリング後画像情報６０８は、先行レンダリング後に生成された画像データに関する情報であり、先行レンダリング後にファイル名と、そのファイルのサイズを取得して留め置き印刷ジョブテーブル６１０を更新する。ＰＤＬデータ６０９は、先行レンダリング前であれば、加工前のＰＤＬデータを、先行レンダリング後であれば、加工後のＰＤＬデータを格納する。
【００３４】
尚、ここでは、ＰＤＬデータ６０９は、先行レンダリング前のＰＤＬ、又は、先行レンダリング後のＰＤＬデータを格納しているが、両方とも格納し、転送速度など状況に応じて、印刷装置に送信するＰＤＬデータを切り換える構成でもよい。その際、レンダリング後画像情報６０８に格納されているファイルのサイズと、転送速度５０５等を参照して先行レンダリング後のＰＤＬデータの転送時間を予測して切り替えてもよい。
【００３５】
図７は、実施例形態に係る印刷ジョブ送信装置１００から印刷装置に印刷ジョブを送信して印刷させる処理のシーケンス例を示す図である。
【００３６】
Ｓ７０１でユーザは、印刷装置１０１の操作部１５０を介して印刷装置１０１にログインする。こうしてユーザが認証部１７０による認証に成功して印刷装置１０１にログインすると、Ｓ７０２で印刷装置１０１のＣＰＵ１３２は、印刷ジョブ送信装置１００の制御部１１０に対して書誌情報リストの取得要求を行う。これによりＳ７０３で、印刷ジョブ送信装置１００から印刷装置１０１に書誌情報リストが送信され、これを受信した印刷装置１０１はＳ７０４で、操作部１５０に印刷ジョブの一覧を表示する。
【００３７】
そしてユーザがＳ７０５で、操作部１５０を介して、その一覧表示から所望の印刷ジョブを選択してプリントを指示する。これにより印刷装置１０１のＣＰＵ１３２は、その選択された印刷ジョブの書誌情報に記載されている保管機器（印刷ジョブ送信装置１００）に対して印刷ジョブの取得要求を行う。こうしてＳ７０７で印刷装置１０１は、印刷ジョブ送信装置１００から送信された印刷ジョブを受信して取得する。そしてＳ７０８でＣＰＵ１３２は、その印刷ジョブのレンダリング処理を実行し、Ｓ７０９で、そのレンダリング結果に基づいてプリンタ部１８０を使用して印刷処理を行う。
【００３８】
図８は、実施形態に係る印刷ジョブ送信装置１００による先行レンダリング処理を説明するフローチャートである。尚、この処理は、ＣＰＵ１１２が記憶装置１６０からＲＡＭ１１６に展開したプログラムを実行することにより達成される。
【００３９】
先ずＳ８０１でＣＰＵ１１２は、印刷ジョブ送信装置１００の記憶装置１６０に保存されている印刷ジョブの各ページのレンダリング処理に要する時間を予測する。次にＳ８０２に進みＣＰＵ１１２は、図９を参照して後述するページ特定処理により、印刷ジョブの各ページの内、レンダリング処理に多くの時間を要するページを特定する。即ち、先行してレンダリングを実施する必要があるページを特定する。次にＳ８０３に進みＣＰＵ１１２は、先行してレンダリング処理を実施する必要があるページが存在するかどうか判定し、そのページが存在しないと判定した場合は、この処理を終了する。
【００４０】
一方、先行してレンダリング処理を実施する必要があるページが存在すると判定した場合はＳ８０４へ進む。Ｓ８０４でＣＰＵ１１２は、図１０を参照して後述する、そのページの先行レンダリング処理を実行する。即ち、レンダリング処理に多くの時間を要するページを先行してレンダリングする。そしてＳ８０５に進みＣＰＵ１１２は、先行レンダリング処理が必要なページが残っているかを判定し、未処理のページが残っていればＳ８０４に戻ってそのページのレンダリングを実行し、未処理のページが残っていなければ、この処理を終了する。
【００４１】
図９は、図８のＳ８０２のページ特定処理を説明するフローチャートである。
【００４２】
まずＳ９０１でＣＰＵ１１２は、印刷ジョブ送信装置１００とネットワーク１９０を介して接続されている印刷装置１０１の内、もっとも速いエンジン速度の値を取得する。ここでは、図５より、印刷装置１０１のエンジン速度が最も速くて、５０枚／分とする。次にＳ９０２に進みＣＰＵ１１２は、Ｓ９０１で取得したエンジン速度の値を基に、１枚当たりの理想の印刷時間を求める。ここでは、エンジン速度の値が５０枚／分であるため、１枚当たりの理想の印刷時間は１．２秒となる。
【００４３】
次にＳ９０３に進みＣＰＵ１１２は、先行レンダリング処理が必要なページを特定するために繰り返し処理を開始する。Ｓ９０４でＣＰＵ１１２は、予測するために必要なパラメータとして、そのページ内のオブジェクト種別毎に描画指定のパラメータをそれぞれ取得する。尚、オブジェクトとは、ＣＰＵ１１２がＰＤＬを解釈して生成する描画単位を指す。尚、ＰＤＬコマンドは、描画コマンド以外にも存在する（例えばページ開始命令等）ため、描画に関連するＰＤＬコマンドをここではオブジェクトと定義する。オブジェクトの具体例については、図１１を参照して後述する。
【００４４】
次にＳ９０５に進みＣＰＵ１１２は、そのページのレンダリングに要する時間を予測する。尚、このレンダリング時間の予測は、一例として、Ｓ９０４で取得したパラメータに応じた係数を予め予測式として保持しておき、その係数と実際のパラメータ数に基づき算出すればよい。そしてＳ９０６に進みＣＰＵ１１２は、そのページのレンダリングの予測時間が、Ｓ９０２で求めた１枚当たりの理想の印刷時間よりも短いかどうか判定する。ここで予測時間が理想の印刷時間よりも短いと判定するとＳ９０９へ進み、そうでないと判定するとＳ９０７へ進む。Ｓ９０７でＣＰＵ１１２は、Ｓ９０４で取得したパラメータを基に、レンダリングの処理単位を決定する。ここでは例えば、印刷ジョブが、集約印刷処理されたジョブであることを示すコマンドかあるかを判定し、集約印刷処理済のデータである場合は、レンダリングの処理単位を領域単位と決定し、そうでない場合はレンダリングの処理単位をレベル単位と決定する。尚、実施形態では、レンダリングの処理単位は、レベル単位であるとして説明する。
【００４５】
この概念と効果について、図１３を参照して説明する。
【００４６】
図１３は、実施形態に係る処理の概要と実施効果を説明する概念図である。
【００４７】
図１３（Ａ）は、オブジェクト１３０１〜１３１２を含むページをレンダリングした場合のオブジェクトの処理の概念図である。通常の印刷処理では、オブジェクト１３０１〜１３１２を逐次処理し、最後に、１３１３でＲＩＰ処理（レンダリング）を実行することにより、１ページの全面をレンダリングする。しかし、先行レンダリング処理では、オブジェクト１３０１〜１３１２までのどのタイミングでも印刷ジョブの取得要求が来る可能性がある。このため、例えば、オブジェクト１３１２を処理中に、印刷ジョブの取得要求を受信した場合は、オブジェクト１３０１〜１３１１までの処理が無駄になる。そのため、Ｓ９０７では、Ｓ９０５で取得したパラメータを基に、例えば図１３（Ｂ）、図１３（Ｃ）に示すようにレンダリングの処理単位を決定する。
【００４８】
図１３（Ｂ）は、オブジェクト単位（≒レベル単位）でレンダリングの処理単位を分割した場合のオブジェクトの処理の概念図である。ここではオブジェクト１３２１〜１３２３，１３２５〜１３２８，１３２９〜１３３０，１３３２〜１３３５を含み、１３２４，１３２８，１３３１，１３３６でレンダリングを実行している。
【００４９】
オブジェクト１３２１〜１３２３の処理後に、１３２４でレンダリングし、次はオブジェクト１３２５〜１３２８の処理の後に、１３２８でレンダリングする、という処理を繰り返す。これにより、ページ全体の処理時間は増加するが、例えば、オブジェクト１３３２のタイミングで印刷ジョブの取得要求を受信した場合でも、それ以前にレンダリングが完了しているオブジェクト１３３０までのレンダリング結果を確定して利用できる。これにより、印刷時間を短縮できるという効果が得られる。又、後述するが、１３２４、１３２８等でレンダリングする度に、印刷処理時のレンダリング処理時間を予測する。これにより、１３３６までレンダリングしなくても、印刷装置１０１のエンジン速度に応じたデータ転送とレンダリングを実行して印刷物を排出可能と判定できる場合もある。そのような場合は、例えば、オブジェクト１３３２〜１３３５をレンダリングせずに出力することもあり得る。
【００５０】
図１３（Ｃ）は、領域単位でレンダリングの処理単位を分割した場合のオブジェクトの処理の概念図である。ここではオブジェクト１３４１〜１３５２を含み、１３５３でレンダリングを行っている。
【００５１】
この場合は、予めレンダリング時間を予測する際、レンダリングが必要な領域を特定し、その領域に含まれるオブジェクトだけをレンダリングする。この図では、特定された領域のオブジェクトとして、オブジェクト１３４２，１３４６，１３４７，１３４９，１３５２を先行レンダリングする場合を示している。この手法は、領域の特定にオブジェクト同士の重なりを考慮する必要があるため、集約印刷等のように、予め領域が分かれているページには有効である。
【００５２】
再び図９に戻り、Ｓ９０８でＣＰＵ１１２は、Ｓ９０７で決定したページを、先行レンダリングが必要なページとして予測時間と共に登録する。そしてＳ９０８で登録した後、或いは、Ｓ９０６で、該当ページのレンダリングの予測時間が１枚当たりの理想の印刷時間よりも短いと判定した場合はＳ９０９に進みＣＰＵ１１２は、次のページへと処理を進める。Ｓ９０８で次に処理するページがなければ処理を終了とする。
【００５３】
尚、先行してレンダリング処理を実施する必要がるページを特定する処理については、レンダリング処理の予測時間と転送時間の予測時間とを組み合わせて特定するなどの構成であってもよい。また、先行してレンダリング処理を実施する必要があるページを特定する際の基準として、エンジン速度を例として挙げたが、他のパラメータを利用する構成でも構わない。
【００５４】
図１０は、図８のＳ８０４の対象ページの先行レンダリング処理を説明するフローチャートである。
【００５５】
まずＳ１００１でＣＰＵ１１２は、処理中のページ内のオブジェクトが無くなるまでＳ１００２からＳ１００６までの処理を繰り返す。Ｓ１００２でＣＰＵ１１２は、先行してレンダリング処理を行っている際に、印刷装置１０１から現在処理中の印刷ジョブの取得要求があるか否かを判定する。ここで印刷ジョブの取得要求があればＳ１００３へ進み、印刷ジョブの取得要求がなければＳ１００４へ進む。Ｓ１００３でＣＰＵ１１２は、処理中のレンダリングが効果的であるかを判定し、効果的であると判定した場合はＳ１００４に処理を進めて処理を継続し、そうでない場合はＳ１００９へ進み、処理中のオブジェクトを破棄する。ここで効果的なレンダリングとは、印刷処理でも行われるレンダリング処理を指し、例えば、細切れイメージオブジェクト等、同一属性のオブジェクトが近距離（所定距離内）に連続していると、印刷処理時も同等の処理が行われる。このため、このような場合は、そのオブジェクトを破棄するよりも、レンダリング対象のオブジェクトとしてレンダリングを継続した方が全体の処理時間を短縮できると判定してＳ１００４に進む。
【００５６】
Ｓ１００４でＣＰＵ１１２は、それまでのオブジェクトとこれから処理するオブジェクトのレンダリング後の面積が閾値以下かどうか判定する。即ち、レンダリング処理時間が所定時間よりも短いかどうか判定する。ここで閾値以下（所定時間よりも短い）と判定するとＳ１００５へ進み、そうでないと判定するとＳ１００７へ移行する。これはレンダリング自体の処理時間が結合後の面積に比例しており、又、極力、オブジェクトのない無駄な領域のレンダリングを省くことで、より高速に効率良くレンダリングを行うためである。尚、レンダリング後の面積が閾値より大きいと判定したオブジェクトはスプールされ、次回レンダリング時はそのオブジェクトから開始される。
【００５７】
Ｓ１００５でＣＰＵ１１２は、それまでのオブジェクトとこれから処理するオブジェクトをレンダリングした場合の処理時間を予測し、その予測時間が閾値以下であればＳ１００６へ進み、そうでない場合はＳ１００７へ進む。この処理により、先行レンダリング処理は、その閾値で設定した時間内に完了する。このため、レンダリング中に、印刷ジョブの取得要求を受信した場合でも、その閾値刻みで、それまで処理したレンダリング結果（画像データ）を確定して使用できる。又、特定のライン上にオブジェクトが集中している場合も、一定のオブジェクト数でレンダリングされるため、レンダリング時のエッジやレベルのソートの負荷分散が図られ、印刷時にまとめてレンダリングするよりも高速に処理できるという効果が得られる。こうしてＳ１００６でＣＰＵ１１２は、オブジェクトをレンダリング可能な中間データ形式に変換する。そしてＳ１００７でＣＰＵ１１２は、Ｓ１００２からＳ１００６までで生成した中間データをレンダリングする。
【００５８】
次にＳ１００８に進みＣＰＵ１１２は、レンダリングしたことによる対象ページのレンダリング時間の変化により、印刷装置の最大エンジン速度で印刷できるかどうか判定する。ここで印刷できると判定した場合はＳ１００９へ進み、そうでないときはＳ１００１へ移行する。こうしてＣＰＵ１１２は、印刷ジョブの取得要求を受信するか、又は、エンジン速度で印刷できると見込まれるまでレンダリング処理が完了するとＳ１００９に進み、生成した画像データをＰＤＬコマンドに変換する。次にＳ１０１０に進みＣＰＵ１１２は、レンダリング処理により画像データに変換した元のＰＤＬコマンドを削除する。そしてＳ１０１１でＣＰＵ１１２は、変換後のＰＤＬコマンドを印刷ジョブに追加する。そしてＣＰＵ１１２は、変換後のＰＤＬコマンドを追加した印刷ジョブを、ＲＡＭ１１６又は記憶装置１６０の作業領域に一時保存して呼び出し元に戻る。
【００５９】
図１１は、本発明の実施形態に係る、先行レンダリング前の印刷ジョブのＰＤＬコマンドの構成例（図１１（Ａ））と、先行レンダリング後の印刷ジョブのＰＤＬコマンドの構成例（図１１（Ｂ））を示す図である。
【００６０】
まず図１１（Ａ）において、ＰＤＬコマンドの構成は、ＰＤＬの言語仕様に基づいて予め定義されたコマンド群１１２２と、各コマンドに付加されて指示内容を規定し、或いは描画データの詳細を示すパラメータ群１１２３とを含む。パラメータ群１１２３には、ＰＤＬ言語仕様に基づいて、各コマンドに必須の項目や、初期値が決まっていて必要に応じて付加すればよい項目などが存在する。
【００６１】
実施形態では、印刷ジョブの開始及び終了を示すコマンド「ＢｅｇｉｎＪｏｂ」１１０１と、コマンド「ＥｎｄＪｏｂ」１１２１とに挟まれた２ページ分のＰＤＬコマンド１１０２〜１１２０が階層構造を成している印刷ジョブを例として示している。即ち、この印刷ジョブ構造には、ページ記述の開始及び終了を示すページ開始コマンド「ＢｅｇｉｎＰａｇｅ」１１０２，１１１６、及び、ページ終了コマンド「ＥｎｄＰａｇｅ」１１１５、１１２０が、それぞれ対となった２つのページ構造が含まれている。そして、これらページ構造内に、各種描画処理に用いるコマンド群が含まれている。
【００６２】
ここで描画処理のためのコマンド群の例として、リソースであるフォントデータを記憶装置１６１に登録し、印刷するためのコマンド群が示されている。具体的には、ページ１において、フォントを指定するためのＩＤや共通データであるフォントヘッダをパラメータとする「ＤｏｗｎｌｏａｄＦｏｎｔ」１１０３、文字単位のフォントデータを登録する「ＤｏｗｎｌｏａｄＣｈａｒ」１１０４〜１１０６が含まれる。「ＤｏｗｎｌｏａｄＣｈａｒ」は、文字を特定するためのＣｈａｒＩＤ、及びグリフ形状を表現したパターンデータをパラメータとして持つ。そして、ＣｈａｒＩＤをパラメータとして持つコマンド「ＤｒａｗＣｈａｒ」１１０７によって、登録された文字パターンが印刷される。以下、このような文字を印刷するためのフォントデータを登録したり削除したりするコマンド群をリソース制御コマンドと呼ぶ。但し、リソース制御コマンドは、ＤｒａｗＣｈａｒを含まない。
【００６３】
また、描画処理のためのコマンド群の例として、グラフィックやイメージを印刷するためのコマンド群についても示している。グラフィックを描画するためのコマンド「ＤｒａｗＲｅｃｔ」１１０８や「ＤｒａｗＰｏｌｙｇｏｎ」１１０９，１１１０，１１１４は、矩形などのグラフィックを表現することが可能である。イメージを描画するためのコマンド「ＢｅｇｉｎＩｍａｇｅ」１１１１、「ＲｅａｄＩｍａｇｅ」１１１２、「ＥｎｄＩｍａｇｅ」１１１３は、これら３つのコマンドがセットになっており、３つのコマンドで１枚のイメージを表現することが可能である。尚、先行レンダリング処理、印刷処理では、この一連の描画コマンドをオブジェクトと呼ぶ。
【００６４】
実施形態に示したＰＤＬコマンドでは、登録されたフォントデータは、コマンドにより明確に削除指示がなされるか、ジョブ終了コマンドが発行されるまでの間、複数のページにまたがって有効となる（リソース継承レベルがジョブ）。そのためページ２で、「ＤｏｗｎｌｏａｄＦｏｎｔ」１１１７で、フォント登録時と同じフォントＩＤ＝１を指定し、ページ１と同じＦｏｎｔＳｅｔコマンドを発行して、ページ１で登録したフォントを処理対象とする。そして、「ＤｏｗｎｌｏａｄＣｈａｒ」１１１８で、ＣｈａｒＩＤ＝３の文字を追加登録し、コマンド「ＤｒａｗＣｈａｒ」１１１９によって、ページ１及びページ２で登録された文字（ＣｈａｒＩＤ＝０，３，２）を印刷している。
【００６５】
尚、実際には、文字サイズや印刷方向、或いは印刷色や修飾指定など、様々なパラメータが指定されるのが通常であるが、簡単化のために、ここではその説明を省略する。
【００６６】
ここで示したように、リソース継承レベルがジョブの場合は、リソース制御コマンドによって登録された文字（ＣｈａｒＩＤ＝０，１，２）は、後続するページ内でも参照して印刷することが可能である。
【００６７】
図１１（Ｂ）は、ページ１の一部のコマンド群１１２４（図１１（Ａ））を先行してレンダリングし、レンダリング後の画像をＰＤＬコマンドに変換し、レンダリング前のＰＤＬコマンドと差し替えたＰＤＬの構成例を示している。尚、図１１（Ｂ）において、図１１（Ａ）と共通する部分は同じ参照番号で示している。
【００６８】
ページ１のコマンド群１１２４の先行レンダリング指示に応じて、レンダリング後の画像をコマンド群１１５１で示すイメージコマンド「ＢｅｇｉｎＩｍａｇｅ」１１３１、「ＲｅａｄＩｍａｇｅ」１１３２、「ＥｎｄＩｍａｇｅ」１１３３に変換する。そして、ページ１で先行レンダリングした部分を、変換したコマンドで差し替えるために、レンダリング前のＰＤＬコマンドを削除する。しかし、ページ１のリソース制御コマンド１１０３〜１１０６は、ページ１以降も参照する可能性があるため、リソース制御コマンド１１０３〜１１０６として削除せずに残しておく。これにより、「ＤｏｗｎｌｏａｄＦｏｎｔ」１１０３でフォント登録時と同じフォントＩＤ＝１を指定し、ページ１でＦｏｎｔＳｅｔコマンドを発行して、ページ１で登録したフォントを処理対象とする。そして「ＤｏｗｎｌｏａｄＣｈａｒ」１１０４〜１１０６でページ１の文字を継承し、ページ２の「ＤｏｗｎｌｏａｄＦｏｎｔ」１１１７と「ＤｏｗｎｌｏａｄＣｈａｒ」１１１８で、ＣｈａｒＩＤ＝３を追加登録している。そしてコマンド「ＤｒａｗＣｈａｒ」１１１９によって、ページ１及びページ２で登録された文字（ＣｈａｒＩＤ＝０，３，２）を印刷している。また、ページ１のコマンド群１１５１は、描画コマンドが削除され、イメージコマンド「ＢｅｇｉｎＩｍａｇｅ」１１３１、「ＲｅａｄＩｍａｇｅ」１１３２、「ＥｎｄＩｍａｇｅ」１１３３で差し替えられたことを示している。
【００６９】
図１１（Ｂ）に示すようなデータ構造に加工されたＰＤＬコマンドでは、解析するコマンド数が減っているので、ＣＰＵ１３２は、レンダリング処理の際に必要なＰＤＬコマンドの解析処理の負荷を軽減できる。また、イメージコマンド１１３１〜１１３３は、レンダリング済みの画像データを格納しているため、レンダリングの手間も省略できる。尚、図１１（Ａ）のリソース１１０５（ＣｈａｒＩＤ＝１）は、ページ１のコマンド群１１２４のみで参照されているため、ページ２を構成するコマンド１１０５として残す必要はない。しかし、図のように残しておいても、印刷ジョブのレンダリング処理への影響はない。
【００７０】
尚、実施形態では、リソースの継承レベルがジョブのリソース制御コマンドである場合で説明した。しかし、リソースの継承レベルがページのリソース制御コマンドであったり、リソース制御コマンドのないページであれば、ページ内の描画コマンドを全てイメージコマンド１１３１〜１１３３で差し替えることも可能である。このようなページであれば、更に、高速に印刷ジョブのレンダリング処理を行うことができる。
【００７１】
図１２は、実施形態に係る印刷装置１００による印刷処理を説明するフローチャートである。尚、この処理は、ＣＰＵ１３２が記憶装置１６１からＲＡＭ１３６に展開したプログラムを実行することにより達成される。
【００７２】
Ｓ１２０１でＣＰＵ１３２は、ユーザが認証部１７０からユーザ情報を入力すると、その入力されたユーザ情報を受取り、入力されたユーザ認証情報と予め登録されているユーザ情報との照合を行い、印刷装置１０１の操作を許可するか否かを判定する。ここで、予め登録されているユーザ情報は、印刷装置１０１の記憶装置１６１に保存されているものとする。尚、外部の情報処理装置（例えば、印刷ジョブ送信装置１００やホストコンピュータ１９１等）に保存されているユーザ情報を利用して照合を行う構成であってもよいし、Ｓ１２０１の判定処理を外部の情報処理装置で行ってもよい。Ｓ１２０１でＣＰＵ１３２は、認証ＯＫと判定すると認証通知を行ってＳ１２０２へ進み、認証ＮＧと判断すれば、ユーザが再度認証を行う場合にはＳ１２０１に戻るが、行わない場合には、この処理を終了する。
【００７３】
Ｓ１２０２でＣＰＵ１３２は、ユーザから操作部１５０を介して、印刷ジョブをプリントするか、キャンセルするかの選択を受け付ける。プリントすると選択された場合はＳ１２０３へ進み、キャンセルするが選択された場合には、この処理を終了する。Ｓ１２０３でＣＰＵ１３２は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して印刷ジョブ送信装置１００にユーザ情報とプリント予定の印刷ジョブを通知する。ＣＰＵ１３２は、この通知により、印刷ジョブ送信装置１００からＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して印刷処理に必要な印刷ジョブと書誌情報を受信する。次にＳ１２０４に進みＣＰＵ１３２は、印刷ジョブと書誌情報とを解釈し、その解釈した印刷設定に基づいてレンダリング処理を行って画像データを生成する。このとき、図８の先行処理で、印刷ジョブに含まれているレンダリング処理に時間がかかるページの一部が先行してレンダリング処理されている。そのためＳ１２０４でＣＰＵ１３２は、多くの時間を必要としないページだけをレンダリング処理すればよいので、印刷ジョブのレンダリング処理に要する時間を短縮できる。そしてＳ１２０５に進みＣＰＵ１３２は、紙などの出力媒体に印刷する一連の印刷処理を行って、この処理を終了する。
【００７４】
以上説明したように実施形態によれば、印刷ジョブ送信装置１００は、一時保存した印刷ジョブに含まれるレンダリング処理に時間がかかるページを特定し、そのページの先行レンダリングの処理を行う。このとき、そのページのレンダリング処理の単位を決定し、先行してレンダリング処理しない、或いは印刷ジョブのページの一部を先行してレンダリング処理するかを決定する。そして、レンダリングした部分の画像データをＰＤＬコマンドに変換し、元のＰＤＬコマンドを、変換後のコマンドで差し替える（図１１）。これにより、先行してレンダリングした部分の画像データの順番の制御等の複雑な制御を行うことなく、これまでの印刷ジョブと同じ形式での印刷ジョブを処理できる。
【００７５】
従来は、一時保存した印刷ジョブに対して先行してレンダリング処理していなかったため、印刷ジョブの印刷が開始されてからレンダリング処理する必要があった。これにより、レンダリング処理に多くの時間を要していた。また、レンダリングする際に、印刷ジョブ送信装置で印刷ジョブ全体（全ページ）をレンダリングして送信するか、送信してから印刷装置上でレンダリング処理する方が効率的かを判定して処理していた。しかし、印刷ジョブの一部をレンダリングして、印刷ジョブとレンダリング済みページの画像データを結合して送信すると、より効率的か否かについては判定していなかった。そのため、必ずしも印刷時間を最適に短縮できていなかった。
【００７６】
これに対して実施形態では、印刷ジョブの一部だけをレンダリングした方が効率的かどうかも判定するため、従来よりも印刷ジョブに応じて最適に処理することが可能となる。また、先行してレンダリング処理が必要なページは、蓄積している間に、先行してレンダリング処理されるため、印刷処理におけるレンダリング処理の負荷を軽減できる。これによりユーザは、印刷物を得るまで印刷装置の前で長く待たれることがなくなる。
【００７７】
また印刷ジョブと画像データを印刷ジョブとして扱うことで、ここでは記述しないが、ドライバでの印刷設定に対し、後から印刷装置１０１の操作部１５０で設定変更できるなど「蓄積印刷」ならではの機能を活用することも可能となる。
【００７８】
また、先行してレンダリングする処理の単位を、所定の時間間隔に基づいて決定することにより、先行レンダリング処理が中断されることがあっても、既に、先行レンダリング済の部分は破棄せずに使用できるようになる。このため、先行レンダリングが無駄になることが少なくなり、より効率的に、印刷ジョブの印刷に要する時間を短縮できるという効果がある。
【００７９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８０】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８１】
１００…印刷ジョブ送信装置、１０１〜１０３…印刷装置、１１０，１３０…制御部、１１２，１３２…ＣＰＵ、１１４，１３４…ＲＯＭ、１１６，１３６…ＲＡＭ、１７０，１６１…記憶装置、１７０…認証部、１９０…ＬＡＮ、１９１…ホストコンピュータ
【図１】
2019003289.tif 000003
【図２】
2019003289.tif 000004
【図３】
2019003289.tif 000005
【図４】
2019003289.tif 000006
【図５】
2019003289.tif 000007
【図６】
2019003289.tif 000008
【図７】
2019003289.tif 000009
【図８】
2019003289.tif 000010
【図９】
2019003289.tif 000011
【図１０】
2019003289.tif 000012
【図１１】
2019003289.tif 000013
【図１２】
2019003289.tif 000014
【図１３】
2019003289.tif 000015