(57)【要約】【課題】複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすること。【解決手段】画像形成装置101は、留め置きしたPDLデータを、留め置きしたPDLデータを送信したユーザの画像形成装置101に対する位置に関する情報に基づいてソートし（S406〜S409，S411〜S414）、ユーザからの印刷指示が入力される前に前記ソートされた順序で先行してレンダリング処理して画像データを生成して記憶しておく（S405）。そして、画像形成装置101は、ユーザからの印刷指示を受けた際、印刷指示されたPDLデータに対応する画像データが記憶されている場合には、該PDLデータの印刷処理を、該PDLデータに対応する画像データを用いて実行する（図９）。【選択図】図４
2019126911.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置であって、
前記印刷指示が入力される前に前記保存されているページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理の順序を、前記保存されている印刷データを送信したユーザの前記画像形成装置に対する位置に関する情報に基づいて決定する決定手段と、
前記決定手段で決定された順序で、前記保存されている印刷データの前記先行処理を行う先行処理手段と、
前記先行処理により生成された画像データを前記印刷データに対応付けて記憶する記憶手段と、
前記保存されている印刷データに対するユーザからの印刷指示を受けた場合、該印刷データに対応する画像データが前記記憶手段に記憶されている場合には、前記印刷指示された印刷データの印刷処理を該印刷データに対応する画像データを用いて実行する印刷実行手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記受信した印刷データを保存した場合に該印刷データを送信したユーザの前記画像形成装置に対する位置に関する情報を所定の値に設定しておき、該ユーザの画像形成装置に対する位置に関わるイベントの発生に応じて該位置に関する情報を変更する設定手段を有し、
前記決定手段は、前記位置に関する情報の変更に応じて前記先行処理の順序を決定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記設定手段は、前記保存されている印刷データに対するユーザが前記画像形成装置を介してユーザ認証されたことに応じて、該ユーザの前記画像形成装置に対する位置に関する情報を変更することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
認証情報を入力することが可能な入力手段を有し、
前記ユーザ認証は、前記入力手段より入力される認証情報に基づいて行われることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記画像形成装置を利用するユーザを撮像する撮像手段を有し、
前記ユーザ認証は、前記撮像手段による撮像画像に基づいて行われることを特徴とする請求項３に記載の画像形成装置。
【請求項６】
前記設定手段は、前記画像形成装置が設置されている部屋へのユーザの入退室に関する情報に基づいて、各ユーザの前記画像形成装置に対する位置に関する情報を変更することを特徴とする請求項２に記載の画像形成装置。
【請求項７】
前記入退室に関する情報は、前記画像形成装置が設置されている部屋へのユーザの入退室を管理するシステムから、取得されることを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記設定手段は、前記画像形成装置に向かって進行しているユーザと前記画像形成装置との距離に基づいて、該ユーザの前記画像形成装置に対する位置に関する情報を変更することを特徴とする請求項２に記載の画像形成装置。
【請求項９】
前記保存されている印刷データを送信したユーザであって前記画像形成装置に向かって進行しているユーザと前記画像形成装置との距離の情報は、前記画像形成装置を含む領域を撮像し、撮像画像から前記画像形成装置に向かって進行しているユーザを検知して、該ユーザと前記画像形成装置との距離を取得するシステムから、取得されることを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置の制御方法であって、
前記印刷指示が入力される前に前記保存されているページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理の順序を、前記保存されている印刷データを送信したユーザの前記画像形成装置に対する位置に関する情報に基づいて決定する決定ステップと、
前記決定ステップで決定された順序で、前記保存されている印刷データの前記先行処理を行う先行処理ステップと、
前記先行処理により生成された画像データを前記印刷データに対応付けて記憶手段に記憶する記憶ステップと、
前記保存されている印刷データに対するユーザからの印刷指示を受けた場合、該印刷データに対応する画像データが前記記憶手段に記憶されている場合には、前記印刷指示された印刷データの印刷処理を該印刷データに対応する画像データを用いて実行する印刷実行ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項１１】
コンピュータに、請求項１０に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一度蓄積した後に印刷可能な画像形成装置に関し、特に、印刷ジョブの印刷実行時のレンダリング処理時間を短くする制御に関する。
【背景技術】
【０００２】
近年ネットワーク環境の普及に伴い、複数のユーザで複数の画像形成装置を共有して利用することが一般的になってきた。それに伴い、機密性の高い印刷物を出力する際に他ユーザに見られないように、画像形成装置でユーザ認証を実行してから印刷実行を行う「留め置き印刷」の要望が高まっている。
【０００３】
特許文献１には、サーバ機能を有する画像形成装置内でホストコンピュータから送信された印刷ジョブを一時的に蓄積し、蓄積された印刷ジョブは画像形成装置上でユーザ認証を行うことにより、印刷実行される技術が提案されている。しかし、特許文献１の技術では、ユーザ認証後に印刷が実行されるため、ユーザは印刷ジョブのレンダリング処理を待つ必要がある。そのため、「留め置き印刷」において印刷ジョブのレンダリング処理時間を短くする要望が高まっている。
【０００４】
特許文献２では、レンダリング処理可能な印刷ジョブ送信装置を用いて印刷時間を短縮する技術が提案されている。この技術では、印刷ジョブ送信装置上でレンダリング処理を行ってレンダリング処理後の画像データを画像形成装置に送信する時間と、印刷ジョブを画像形成装置に送信して画像形成装置上でレンダリング処理を行う時間とを比較し、短い方で処理する技術が提案されている。
【０００５】
また、特許文献３では、ユーザが画像形成装置から所定範囲内に接近し、そのユーザのIDに対応する未出力の印刷ジョブがあるとき、該ユーザの印刷ジョブのみレンダリング処理を開始する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４０３３８５７号公報
【特許文献２】特開２０１３−２２５２５６号公報
【特許文献３】特開２０１６−４３６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献２の技術は、上述したような留め置き印刷を想定したものではない。このため、特許文献２の技術を留め置き印刷に応用する場合、ユーザからの印刷指示が入力された後に印刷ジョブのレンダリング処理の2つの異なる方法を比較し、短い方で処理するものとなる。このようにユーザによる印刷指示の入力後に初めてレンダリング処理が行われる場合、レンダリング処理時間の短い方法で処理したとしても、印刷ジョブによってはユーザが印刷出力を待たされる結果となる。また、特許文献２の技術では、レンダリング処理の2つの異なる方法を比較し、短い方法を選択する構成のため、片方のレンダリング処理が無駄になってしまう場合がある。
【０００８】
また、特許文献３の技術では、画像形成装置に含まれるユーザを特定する特定部によって、ユーザを認識し、レンダリング処理を行うが、複数ユーザが画像形成装置から所定範囲内に存在する場合には、いずれのユーザの印刷ジョブのレンダリング処理を開始すべきか判断ができない。
【０００９】
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくする仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置であって、前記印刷指示が入力される前に前記保存されているページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理の順序を、前記保存されている印刷データを送信したユーザの前記画像形成装置に対する位置に関する情報に基づいて決定する決定手段と、前記決定手段で決定された順序で、前記保存されている印刷データの前記先行処理を行う先行処理手段と、前記先行処理により生成された画像データを前記印刷データに対応付けて記憶する記憶手段と、前記保存されている印刷データに対するユーザからの印刷指示を受けた場合、該印刷データに対応する画像データが前記記憶手段に記憶されている場合には、前記印刷指示された印刷データの印刷処理を該印刷データに対応する画像データを用いて実行する印刷実行手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態を示す画像形成装置を有する印刷システムの構成図
【図２】第１実施形態の印刷処理を示すシーケンス図
【図３】第１実施形態の印刷ジョブ留め置き処理を説明する図
【図４】第１実施形態の先行処理と先行処理順序変更を説明する図
【図５】第１実施形態の印刷実行処理を説明するフローチャート
【図６】第１実施形態のカメラを利用した先行処理順序変更を説明するシーケンス図
【図７】第１実施形態の先行処理結果の付加処理を説明するフローチャート
【図８】第１実施形態の先行処理結果付加後の印刷ジョブの一例を説明する図
【図９】第１実施形態の仕上げのレンダリング処理を説明するフローチャート
【図１０】第１実施形態の仕上げのレンダリング処理を説明する図
【図１１】第２実施形態を示す画像形成装置を有する印刷システムの構成図
【図１２】第２実施形態の入退室管理サーバに格納されるユーザと画像形成装置を管理するテーブルおよび管理された部屋の構造を説明する図
【図１３】各実施形態で画像形成装置に対して通知されるデータを説明する図
【図１４】第２実施形態の入退室管理サーバにおける入退室管理処理を説明するフローチャート
【図１５】第２実施形態の入退室管理サーバを利用した先行処理順序変更を説明するシーケンス図
【図１６】第３実施形態を示す画像形成装置を有する印刷システムの構成図
【図１７】第３実施形態のネットワークカメラにおける印刷意思判定処理を説明するフローチャート
【図１８】第３実施形態のネットワークカメラを利用した先行処理順序変更を説明するシーケンス図
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
〔第１実施形態〕
図１（Ａ）は、本発明の第１実施形態を示す画像形成装置を有する印刷システムの構成を例示する図である。
図１（Ａ）に示す画像形成装置101〜103は、MFP（Multi-Function Peripheral）、SFP（Single Function Printer）、LBP（Laser Beam Printer）のいずれであってもよい。画像形成装置101〜103は、留め置き印刷可能な印刷装置であればよい。また、画像形成装置101〜103のプリント方式はどのようなものであってもよい。また、図１のシステムは、3台の画像形成装置を例として示しているが、1台以上の任意の画像形成装置を有する構成であればよい。
【００１４】
画像形成装置101〜103は、イーサネット（登録商標）等のLAN（Local Area Network）105を介し、各種指示を行うホストコンピュータ（PC）104と接続される。画像形成装置101〜103は、PC104からの印刷指示内容に応じて処理を実行する。なお、図１（Ａ）に示した構成のように複数の画像形成装置がLAN105を介して接続される場合は、画像形成装置は他の画像形成装置から印刷ジョブを受け取り印刷実行処理が可能である。
なお、画像形成装置101〜103は同様の構成のため、画像形成装置101の構成を代表して記載し、他の画像形成装置102〜103の構成については記載を省略する。以下、画像形成装置101を用いて説明する構成は、画像形成装置102〜103についても同様である。
【００１５】
画像形成装置101は、コントローラ110、プリント機構111、カードリーダ112、操作パネル113、カメラ114等を備える。また、コントローラ110は、ネットワークI／F120、リーダI／F121、パネルI／F122、CPU123、HDD124、RAM125、ROM126、デバイスI／F127、RIP回路128、画像処理回路129、カメラI／F141をシステムバス130上に有する。コントローラ110は、ROM126又はHDD124等に記憶されたプログラムによって画像形成装置101全体を制御する。
【００１６】
コントローラ110において、ネットワークI／F120は、例えばLANカード等で実現され、LAN105に接続して外部装置との間で情報の入出力を行う。リーダI／F121は、外部からの認証情報を受け取るカードリーダ112に対するインタフェース部であり、外部から入力された認証情報を受け取りCPU123に伝える役割をする。パネルI／F122は、各種メニューや印刷ジョブ情報等を表示可能な表示画面を有する操作パネル113に対するインタフェース部であり、操作パネル113に対して操作画面データを出力する。また、パネルI／F122は、操作パネル113から操作者が入力した情報をCPU123に伝える役割をする。
【００１７】
CPU123は、画像形成装置101全体を制御するための中央処理装置である。HDD124は、ハードディスクドライブやソリッドステートドライブなどの記憶装置であり、各種処理のためのシステムソフトウェア及び入力された印刷ジョブや画像データ等を格納する。RAM125は、CPU123が動作するためのシステムワークメモリであり、入力された印刷ジョブや画像データを一時記憶するための画像メモリでもある。ROM126は、ブートROMであり、システムのブートプログラムが格納されている。CPU123は、ROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより各種制御を実現する。
【００１８】
デバイスI／F127は、プリント機構111とコントローラ110とを接続し、画像データの同期系／非同期系の変換を行う。RIP回路128はラスターイメージプロセッサであり、中間データ（ディスプレイリスト）を解析してイメージに展開する。画像処理回路129は、印刷ジョブを解析して生成されたイメージデータに対してプリント機構111に応じた補正、解像度変換等の処理を行う。カメラI／F141は、カメラ114を通じて、画像形成装置101を利用するユーザの特徴情報をコントローラ部110に伝える役割をする。プリント機構111は、コントローラ110の指示に従って、印刷を実行する。すなわち、プリント機構111は、印刷データに基づきシート（記録紙等）に画像を形成する。
【００１９】
カードリーダ112は、ユーザが持つIDカード等の情報を読み取り可能な機能を有し、IDカードから読み取ったユーザ情報をコントローラ110へ通知する。操作パネル113は、コントローラ110より操作画面データを受け取り、受け取った画面の表示やユーザからの操作指示を受け取りコントローラ110へ通知する。
【００２０】
認証サーバ106は、画像形成装置101〜103を利用するユーザを識別し、ユーザのIDを特定する。
【００２１】
図１（Ｂ）は、画像形成装置101〜103の動作を制御するコントローラ110のソフトウェア構成を例示する図である。
コントローラ110は、ソフトウェアとして、認証部131、設定部132、書誌管理部133、印刷制御部134、ジョブ解析部135、先行処理部136、留め置き制御部137、印刷実行部138、PDL解析部139、中間データ生成部140を実現する。すなわち、これら各部131〜140は、CPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される機能部である。
【００２２】
認証部131は、リーダI／F121（又は操作パネル113）よりシステムバス130を通じて認証情報を受け取り、留め置き制御部137へ通知する。設定部132は、パネルI／F122よりシステムバス130を通じて操作パネル113への入出力の制御を行う。
【００２３】
印刷制御部134は、ネットワークI／F120を通じて入力された印刷指示や印刷ジョブの情報を取得し、留め置き制御部137や印刷実行部138に対して印刷ジョブの処理を指示する。留め置き制御部137は、印刷制御部134から受け取った印刷ジョブに対して印刷ジョブの解析、管理、先行処理の制御や印刷実行部138への印刷指示を行う。ジョブ解析部135は、留め置き制御部137が受信した印刷ジョブの解析を行う。書誌管理部133は、留め置き制御部137が受信した印刷ジョブや印刷ジョブに関する情報を制御し管理する。先行処理部136は、留め置き制御部137が受信した印刷ジョブのジョブ解析部135の解析結果に応じて、印刷ジョブのレンダリング処理を行う。すなわち、先行レンダリング処理では、ソフトウェアにより印刷ジョブのレンダリング処理を行う。
【００２４】
印刷実行部138は、印刷制御部134や留め置き制御部137より受け取った印刷ジョブに対して、PDL解析部139、中間データ生成部140、RIP回路128、画像処理回路129の制御を行って画像の生成を行う。さらに、印刷実行部138は、該生成した画像を、デバイスI／F127を通じてプリント機構111へ出力し、印刷処理を実行させる。
【００２５】
PDL解析部139は、印刷実行部138より指示を受けた印刷ジョブのPDL解析を行う。なお、PDLは、Page Description Languageの略語であり、ページ記述言語を示す。中間データ生成部140は、PDL解析部139が解析した情報を基に、中間データを生成する。
【００２６】
図２は、第１実施形態の画像形成装置101〜103を有する印刷システムがPC104から印刷ジョブを受信して画像形成装置101で印刷する時のシーケンスの一例を示す図である。図中、各ステップには「S」を付してある。なお、図２中の画像形成装置101が実行する処理は、画像形成装置101のCPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される。また、図２中のPC104が実行する処理は、PC104の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【００２７】
ユーザがPC104にログインし（S201）、PC104を操作して任意のアプリケーションからデータの印刷を要求すると（S202）、まずPC104は、ユーザ情報を取得する（S203）。そして、PC104は、上記S203で取得したユーザ情報を印刷ジョブに付与して印刷ジョブを生成し（S204）、該印刷ジョブを画像形成装置101に送信する（S205）。
【００２８】
画像形成装置101は、印刷ジョブを受信すると、HDD124に印刷ジョブを保存する（S206）。そして、画像形成装置101は、該印刷ジョブに付与されたユーザ情報を抽出し、書誌情報を作成し（S207）、HDD124に書誌情報を保存（登録）する（S208）。画像形成装置101は、書誌情報の保存を終えると、先行処理を開始する（S209）。そして、画像形成装置101は、先行処理の結果を逐次HDD124に保存する（S210）。
【００２９】
ユーザが画像形成装置101にログインすると（S211）、画像形成装置101は、該ユーザのユーザ情報を取得し（S212）、該ユーザの書誌情報に基づいて該ユーザの印刷ジョブ一覧を操作パネル113に表示する（S213）。
さらに、画像形成装置101は、ユーザからの印刷指示を受けると（S214）、上記S210で保存していた先行処理の結果を印刷ジョブに付加する（S215）。なお、先行処理の結果の印刷ジョブへの付加についての詳細は後述する。さらに、画像形成装置101は、先行処理結果が付加された印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（S216）、印刷を行う（S217）。
【００３０】
図３は、第１実施形態の画像形成装置101〜103が備えるコントローラ110が備えるソフトフェア（133〜140等）が実行する印刷ジョブ留め置き処理を説明する図である。
図３（Ａ）は、コントローラ110が実行する印刷ジョブ留め置き処理の一例を説明するフローチャートである。図３（Ｂ）は、画像形成装置101が受信する印刷ジョブの構成の一例を説明する図である。なお、図３（Ａ）及び後述する図４（Ａ）、図５、図７、図９に示す処理は、CPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される。
【００３１】
S301において、印刷制御部134は、ネットワークI／F120を通じてPC104などから送信された印刷ジョブの受信を行う。印刷ジョブは、例えば図３（Ｂ）のような構成になっており、データの最初に各種設定情報を含むヘッダ情報を持ち、その後に各ページのデータ（PDLデータ）が含まれる。各ページの情報内の「P1」、「Line1」、「Text1」、「Rect1」、「Image1」、「Rect2」などは、ページを構成するための描画コマンドの例である。
【００３２】
S302において、印刷制御部134は、上記S301で受信した印刷ジョブが「留め置きジョブ」か「そのまま印刷を行うジョブ」かを判定する。「留め置きジョブ」か否かの判定方法は、画像形成装置内で記憶しているパラメータが留め置きを指し示すものであるかとか、印刷ジョブのヘッダ内に情報が埋め込まれているものを解析するなどの方法で行うものとするが、公知のため詳細は省略する。
【００３３】
そして上記S302において、「そのまま印刷を行うジョブ」と判定した場合（S302でNoの場合）、印刷制御部134は、S303に処理を進める。
S303において、印刷制御部134は、印刷実行部138に対して上記印刷ジョブ印刷ジョブの処理を指示する。印刷実行部138は、PDL解析部139や中間データ生成部140を制御して上記印刷ジョブの解析や中間データの生成を行い、生成された中間データをRIP回路128にレンダリング処理させ、画像データを生成する。
次にS304において、印刷実行部138は、上記S303で生成された画像データを画像処理回路129で画像補正をした後、デバイスI／F127を通じてプリント機構111へ転送を行い印刷実行し、本フローチャートの処理を終了する。
【００３４】
一方、上記S302において、「留め置きジョブ」と判定した場合（S302でYesの場合）、印刷制御部134は、S305に処理を進める。
S305において、印刷制御部134は、留め置き制御部137に対して上記印刷ジョブの処理を指示する。留め置き制御部137は、印刷ジョブ内に含まれるユーザ情報の取得を行う。図３（Ｂ）の例では、ユーザ情報は「ユーザ名：ユーザA」で示される。なお、このユーザ情報は、印刷ジョブのヘッダ情報内に含まれていなくても、送信元のPC104からユーザ情報を別途送る構成でも構わない。ユーザ情報とは、ユーザ名やユーザIDなど印刷実行を行ったユーザを識別可能な情報であればどのような情報でもよい。
【００３５】
次に、S306において、留め置き制御部137は、ジョブ解析部135に上記印刷ジョブの解析を指示する。ジョブ解析部135は、上記印刷ジョブに含まれる印刷設定情報と文書名等の情報（例えばページ数も含む）を取得する。この印刷設定情報には、例えば片面印刷か両面印刷かを示す情報、カラーで印刷するかモノクロで印刷するかの情報、出力する用紙サイズに関する情報などが含まれる。図３（Ｂ）は一例であり、印刷設定情報の一部が無い印刷データであってもよく、その時はHDD124やROM126が持つ初期設定値とするか、印刷実行時にユーザから設定してもらう構成であってもよい。
【００３６】
次に、S307において、留め置き制御部137は、上記S305により取得したユーザ情報と、上記S306により取得した印刷設定情報と文書名等の情報とを関連付ける。そして、留め置き制御部137は、これら関連付けられた情報を、1レコードとする、そのユーザ情報に対応する書誌情報を作成する（例えば図３（Ｃ））。なお、ファイル情報に含まれる保存先には、当該処理を実行している画像形成装置自身を特定する情報が含まれる。
【００３７】
図３（Ｃ）は、本実施形態のユーザ毎の書誌情報の一例を示す図である。
ここでは、ユーザAの書誌情報を例示する。本実施形態の書誌情報は、例えば、ジョブID、ファイル情報、印刷設定情報、ページ数、先行処理情報等を有する。なお、ジョブIDには、ジョブ毎に固有の値が設定される。また、先行処理情報は、先行処理の「未」／「済」を示す情報、先行処理結果の保存場所（ここではファイルパス）等の情報を含む。このように、書誌情報は、先行処理により生成された画像データを印刷データに対応付けて記憶される。
【００３８】
次にS308において、留め置き制御部137は、上記S307において1レコードが追加された書誌情報の登録を、書誌管理部133に指示する。書誌管理部133は、該S307において1レコードが追加された書誌情報をHDD124に保存（登録）する。また、留め置き制御部137は、上記印刷ジョブを、今回追加された1レコードに対応する印刷ジョブとしてHDD124に保存する。なお、S308の書誌情報登録時点では、先行処理は「未」、先行処理結果は未設定の状態で登録される。
そしてS309において、留め置き制御部137は、後述する図４（Ｂ）に示すような先行処理待ちテーブルの末尾に、上記ジョブIDとユーザIDとジョブ投入時刻、そして距離に所定の値（例えば「100」等の最大値）を設定したエントリを追加する。
【００３９】
図４（Ａ）は、第１実施形態の画像形成装置101〜103が備えるコントローラ110が備えるソフトフェア（135、136等）が実行する先行処理の一例を説明するフローチャートである。図４の先行処理は、図３の印刷ジョブ留め置き処理により印刷ジョブがHDD124に留め置かれた後に実行される処理である。
【００４０】
S401において、先行処理部136は、先行処理待ちテーブルにエントリが存在するか否かを判定する。先行処理待ちテーブルにエントリが存在すると判定した場合（S401でYesの場合）、先行処理部136は、S402に処理を進める。
【００４１】
S402において、先行処理部136は、先行処理待ちテーブルの先頭エントリのジョブIDで示された印刷ジョブをHDD124から取得する。
次にS403において、先行処理部136は、先行レンダリング処理を全ページに渡って実施するための処理用の変数にページの開始番号（初期値）を代入する。
【００４２】
次にS404において、先行処理部136は、上記S401で取得した印刷ジョブのうち、変数に代入された数値に該当するページの先行レンダリング処理を実施する。
次にS405において、先行処理部136は、上記S404で実施した先行レンダリング処理で生成した画像データを、先行レンダリング処理結果としてページ単位でHDD124に保存する。なお、先行処理部136は、該保存したページ単位の画像データを、当該先行処理している印刷ジョブに関連付けられている書誌情報に関連付けておき、該印刷ジョブの各ページと対応可能に管理する。
【００４３】
次にS406において、先行処理部136は、印刷意思通知を受信したか否かを判定する。なお、印刷意思通知は後述する図１３に示すようなものであり、対応するユーザIDと、画像形成装置までの距離が含まれる。例えば、印刷意思通知は、ユーザ認証に成功した場合（すなわち画像形成装置101にログインした場合）に認証部131等から先行処理部136に通知されるが、これに限定されるものではない。また、ユーザ認証に用いられる認証情報は、例えばカードリーダ112、操作パネル113やカメラ114等から入力されるものとするが、これに限定されるものではない。
【００４４】
先行処理部136は、印刷意思通知を受信したと判定した場合（S406でYesの場合）、S407に処理を進め、受信していないと判定した場合（S406でNoの場合）、S411に処理を進める。
【００４５】
S407において、先行処理部136は、印刷意思通知に含まれるユーザIDに対応するユーザが投入した印刷ジョブが先行処理待ちテーブルにあるか否かを判定する。先行処理部136は、印刷意思通知に含まれるユーザIDに対応するユーザが投入した印刷ジョブが先行処理待ちテーブルに存在すると判定した場合（S407でYesの場合）、S408に処理を進め、存在しないと判定した場合（S407でNoの場合）、S411に処理を進める。
【００４６】
S408において、先行処理部136は、先行処理待ちテーブルで、印刷意思通知に含まれるユーザIDに対応するユーザが投入した全ジョブの距離を印刷意思通知に含まれる距離に設定する。
次にS409において、先行処理部136は、ジョブ投入時刻の早い順で先行処理待ちテーブルをソートした後、距離で先行処理待ちテーブルを昇順にソートする。もし、同一距離が設定されているジョブがあれば投入時間の早い順になる。
【００４７】
次にS410において、先行処理部136は、当該ユーザの印刷ジョブが先行レンダリング処理中であるか否かを判定する。当該ユーザの印刷ジョブが先行レンダリング処理中でないと判定した場合（S410でNoの場合）、先行処理部136は、S401に処理を戻す。
一方、当該ユーザの印刷ジョブが先行レンダリング処理中であると判定した場合（S410でYesの場合）、先行処理部136は、S411に処理を進める。
【００４８】
S411において、先行処理部136は当該ユーザの非印刷意思通知を受信したか否かを判定する。なお、非印刷意思通知は後述する図１３に示すようなものであり、対応するユーザIDと、画像形成装置までの距離が含まれる。例えば、非印刷意思通知は、ユーザが画像形成装置101からログアウトした場合等に設定部132等から先行処理部136に通知されるものとしてもよいが、これに限定されるものではない。
先行処理部136は、当該ユーザの非印刷意思通知を受信したと判定した場合（S411でYesの場合）、S412に処理を進め、受信していないと判定した場合（S411でNoの場合）、S416に処理を進める。
【００４９】
S412において、先行処理部136は、非印刷意思通知に含まれるユーザIDに対応するユーザのジョブが先行処理待ちテーブルにあるか否かを判定する。先行処理部136は、非印刷意思通知に含まれるユーザIDに対応するユーザのジョブが先行処理待ちテーブルに存在すると判定した場合（S412でYesの場合）、S413に処理を進め、存在しないと判定した場合（S412でNoの場合）、S416に処理を進める。
【００５０】
S413において、先行処理部136は、先行処理待ちテーブルで当該ユーザが投入した全ジョブの距離を100等の最大値に設定する。
次にS414において、先行処理部136は、ジョブ投入時刻の早い順で先行処理待ちテーブルをソートした後、距離で昇順に先行処理待ちテーブルをソートする。
【００５１】
次にS415において、先行処理部136は、当該ユーザのジョブが先行レンダリング処理中であるか否かを判定する。先行処理部136は、当該ユーザのジョブが先行レンダリング処理中でないと判定した場合（S415でNoの場合）、S401に処理を戻し、処理中であると判定した場合（S415でYesの場合）、S416に処理を進める。
【００５２】
S416において、先行処理部136は、ユーザからの印刷実行指示があるか否かを判定する。先行処理部136は、ユーザからの印刷実行指示があると判定した場合（S416でYesの場合）、S419に処理を進め、ユーザからの印刷実行指示がないと判定した場合（S416でNoの場合）、S417に処理を進める。なお、印刷実行指示については後述する図５において詳細に説明する。
【００５３】
S417において、先行処理部136は、当該ユーザのジョブの先行レンダリング処理が最終ページに到達したか否かを判定する。先行レンダリング処理が最終ページに到達したか否かの判定には、S403で設定した変数が参照され、この変数が最終ページ番号と一致するか否かにより判定される。
【００５４】
上記S417において、当該ユーザのジョブの先行レンダリング処理が最終ページに到達していないと判定した場合（S417でNoの場合）、先行処理部136は、S420に処理を進める。
S420において、先行処理部136は、上記S403で設定した変数をインクリメントして、S404に処理を移行させる。
【００５５】
一方、上記S417において、当該ユーザのジョブの先行レンダリング処理が最終ページに到達したと判定した場合（S417でYesの場合）、先行処理部136は、S418に処理を進める。
S418において、先行処理部136は、書誌管理部133に指示し、先行レンダリング処理した結果を保存した情報を、対応する書誌情報に付加する。例えば図３（Ｃ）の書誌情報中の先行処理情報のように、先行処理が済んでいるかどうかの情報「済」と、先行処理した結果がどこに記憶されているかの情報「/xxx/yyy/image1」及び「/xxx/yyy/image2」等を付加する。
【００５６】
次にS419において、先行処理部136は、先行処理待ちテーブルから当該ジョブのエントリを削除し、S401に処理を戻す。
上記S401において、先行処理部136は、先行処理待ちテーブルにエントリが存在しないと判定した場合（S401でNoの場合）、本フローチャートの処理を終了する。
以上のように、印刷データを受信すると開始される先行処理について、ジョブを投入したユーザの画像形成装置に対する位置に関わるイベント（上述の例では画像形成装置101を介したユーザ認証等）の発生に応じて、ユーザの位置情報を特定できる情報に基づき、位置が近いユーザの優先順位を上げるように、処理順序を決定する。これにより、画像形成装置101は、位置が近いユーザの優先順位を上げるように変更された先行処理待ちテーブルの先頭から順に、各エントリが示す印刷ジョブの各ページに対して先行処理を実行することができる。
【００５７】
図５は、第１実施形態の画像形成装置101が備えるコントローラ110が備えるソフトフェア（131、132、138）が実行する印刷実行処理の一例を説明するフローチャートである。
S501において、認証部131は、ユーザが持つIDカードがカードリーダ112にかざされた場合に、カードリーダ112がIDカードから読み取ったユーザ情報をリーダI／F121を通じて受け取り、認証処理を行う。ユーザが持つIDカードからユーザ情報を読み取る例を記載したが、操作パネル113等からユーザ情報とパスワード等の認証情報を入力してユーザ認証を行う方式、カメラ114を用いた顔認証方式、指紋認証など公知の認証方法を用いてもよい。認証処理に成功した場合、認証部131は、該ユーザ情報を設定部132に通知する。
【００５８】
S502において、認証部131は、先行処理部136に対して認証ユーザの印刷意思を通知する。通知される印刷意思の情報は図１３に示すようなものであり、画像形成装置までの距離として最小値である「1」を設定したものを通知する。
【００５９】
S503において、設定部132は、上記S501で取得したユーザ情報と同じユーザ情報に対応する書誌情報を、書誌管理部133より受け取り、該書誌情報を基に印刷ジョブリストを生成し、パネルI／F122を通じて操作パネル113へ表示する。
【００６０】
次に、S504において、設定部132は、印刷ジョブに対して印刷実行指示があったか否かを判定する。印刷実行指示がないと判定した場合（S504でNoの場合）、設定部132は、本フローチャートの処理を終了する。
一方、印刷実行指示があったと判定した場合（S504でYesの場合）、設定部132は、S505に処理を進める。
【００６１】
S505において、設定部132は、印刷実行指示されたことを留め置き制御部137に通知する。留め置き制御部137は、印刷実行指示された印刷ジョブが先行処理済みであるか否かを判定する。この判定は、書誌情報を参照し、先行処理済みの情報を取得して判定する。
そして、上記S505において、印刷ジョブが先行処理済みであると判定した場合（S505でYesの場合）、留め置き制御部137は、S506に処理を進める。
【００６２】
S506において、留め置き制御部137は、先行処理結果の情報をPDLデータに付加する処理を行い、印刷ジョブの生成を行う。先行処理結果の付加処理の詳細は後述する（図７）。S506の後、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS509の処理を実行する。
【００６３】
また上記S505において、印刷ジョブが先行処理済みでないと判定した場合（S505でNoの場合）、留め置き制御部137は、S507に処理を進める。
S507において、留め置き制御部137は、印刷実行指示された印刷ジョブが先行処理中であるか否かを判定する。この判定は、上記S505と同様に書誌情報を参照し、先行処理中であるか否かで判定してもよいし、書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判定してもよい。
そして、上記S507において、印刷実行指示された印刷ジョブが先行処理中であると判定した場合（S507でYesの場合）、留め置き制御部137は、S508に処理を進める。
【００６４】
S508において、留め置き制御部137は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は先行処理部136へ通知され、図４のS416で説明した印刷実行指示があるかどうかの判定に使用される。上記S508の後、留め置き制御部137は、先行処理を中断した時点でHDD124に保存されている先行処理結果を先行処理情報として取得し、S506において、印刷ジョブに付加する。該S506の後、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS509の処理を実行する。
【００６５】
一方、上記S507において、印刷実行指示された印刷ジョブが先行処理中でないと判定した場合（S507でNoの場合）、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS509の処理を実行する。
【００６６】
S509において、印刷実行部138は、仕上げのレンダリング処理を行う。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報が付加されていない場合は、図３のS303と同様の処理である。なお、印刷ジョブに先行処理結果の情報が付加されている場合の仕上げのレンダリング処理の詳細は後述する図９で示す。
【００６７】
次にS510において、留め置き制御部137が印刷実行部138に印刷を指示し、印刷実行部138が印刷を実行する。印刷実行部138による印刷の実行は図３のS304と同様の処理である。S510の後、印刷実行部138は、本フローチャートの処理を終了する。
【００６８】
例えば、図４（Ｂ）のような先行処理待ちテーブルの状態であった場合に、ユーザC1が画像形成装置101のカードリーダ112にIDカードをかざしたとする。その場合、認証部131に認証されると、ユーザC1の距離に「1」が設定された印刷意思通知が先行処理部136に送信される。印刷意思通知を受け取った先行処理部136は、先行処理待ちテーブルで、ユーザC1が投入したジョブJ_3の距離を「1」に設定する。その後、距離の降順にソートすると、先行処理待ちテーブルは図４（Ｃ）に示すようになり、ユーザC1のジョブJ_3に対する先行レンダリング処理順序が最初となる。
【００６９】
図６は、第１実施形態のカメラ114を利用した先行処理順序変更の流れについて、具体例を挙げて説明したシーケンス図である。図中、各ステップには「S」を付してある。なお、図中の画像形成装置101が実行する処理は、画像形成装置101のCPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される。また、図中のPC104が実行する処理は、PC104の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中の認証サーバ106が実行する処理は、認証サーバ106の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【００７０】
S601で、ユーザAはPC104を操作し、S602として印刷ジョブを画像形成装置101に投入する。
S603で、画像形成装置101は、先行処理待ちテーブル上にジョブ投入したユーザAのIDを持つ処理の距離を最長である「100」に設定する。
S604で、画像形成装置101は、印刷ジョブ投入ユーザIDと投入先画像形成装置のIPアドレスを認証サーバ106に対して送信する。これに応じて、認証サーバ106は、ジョブ投入ユーザの登録を行う。
【００７１】
S605で、カメラ114が、ユーザAの画像形成装置101への接近を検知する。
S606で、カメラ114は、ユーザAを特定するために、ユーザAの特徴を認証サーバ106へ送信する。なお、上記S605、S606の処理は、画像形成装置101がカメラ114から撮像画像を取得して行う構成でもよい。
【００７２】
S607で、認証サーバ106は、受信したユーザAの特徴からユーザAを特定する。
S608で、認証サーバ106は、ユーザAのIDと画像形成装置にジョブ投入したユーザIDとを照合する。なお、ここでは上記二点のIDは一致したものとする。
S609で、認証サーバ106は、画像形成装置101へ、S608で照合した結果でIDが一致したため、印刷ジョブ投入ユーザIDの真偽情報の「真」を送信する。この際、ユーザAの印刷ジョブが留め置きされていない画像形成装置（例えば102,103）に対しては、ユーザAの真偽情報は送信されない。すなわち、上記S604の印刷ジョブ投入ユーザIDの認証サーバ106への送信により、認証サーバ106からの無駄な真偽情報の送信を防止することができる。
【００７３】
なお、認証サーバ106から真偽情報を受信した画像形成装置101では、該真偽情報に基づき先行処理部１36に対して、印刷指示通知を行う。そしてS610で、画像形成装置101の先行処理部１36は、ユーザAのIDと距離「1」を先行処理待ちテーブルに設定する。
S611で、画像形成装置101は、距離の降順に先行処理待ちテーブルをソートする。
以上の処理を通じて最終的に先行処理待ちテーブル上の先頭エントリにユーザAのエントリが格納されるため、先行レンダリング処理が最優先となる。
【００７４】
なお、図示しないが、投入した印刷ジョブの先行レンダリング処理がすべて終了したユーザについては、画像形成装置101は、印刷ジョブ投入ユーザIDと投入先画像形成装置のIPアドレスを含むジョブ投入ユーザの登録を削除する要求を、認証サーバ106に対して送信するものとする。
【００７５】
図７は、第１実施形態の画像形成装置101〜103が備えるコントローラ110が備える留め置き制御部137が実行する先行処理結果の付加処理（図５のS506）の一例を説明するフローチャートである。
図８は、第１実施形態の先行処理結果の付加処理によってPDLデータに付加される先行処理結果の一例を説明する図である。
【００７６】
S701において、留め置き制御部137は、PDLデータに先行処理結果を付与する処理の開始として、先行処理結果（この時点では空）に、図８の801のような識別子の情報を付加する。識別子の情報は、先行処理結果が付与されている情報を示すものであり、文字列であったり数値であったりコントローラ内部で識別可能なものであれば構わない。
【００７７】
次にS702において、留め置き制御部137は、上記S701で付加された識別子情報に続いて、図８の802に示すような先行処理情報を付加する。先行処理情報は、先行処理結果全体のデータサイズや対象の印刷ジョブの総ペース数や先行処理されているページ情報などを含むものである。先行処理結果体のデータサイズや先行処理結果の情報を指し示すインデックス情報など、後述の処理を行った後でないとわからない情報に関しては、情報を格納する領域だけ確保しておき、後述の処理後に情報の更新を行う。図８の802に示した構成は一例であり、先行処理結果の情報を解析するのに必要な情報が揃っていればどのような構成でも構わない。
【００７８】
次にS703において、留め置き制御部137は、上記S702で付加された先行処理情報に続いて、図８の803に示すような先行処理結果の情報を付加する。ここでは、先行処理結果のページ数を示すもの、フォーマットを示すもの、先行処理結果の情報を示すものを、1つのセットとして情報を付加していく。803で示した例では、最初に1ページ目に対するセットの情報を付加しており、先行処理結果のフォーマットを「ファイルパス」としている。なお、フォーマットを「ファイルパス」とした場合、留め置き制御部137は、先行処理結果が格納されているHDD124のファイルパス情報（先行処理結果の記憶場所を特定する情報）を、先行処理結果の情報として付加する。
【００７９】
次にS704において、留め置き制御部137は、先行処理済みの全ページの情報を付加したかどうかを判定する。そして、まだ先行処理済みの全ページの情報を付加していないと判定した場合（S704でNoの場合）、留め置き制御部137は、S703に処理を戻し、次のページの処理に移行する。
一方、先行処理済みの全ページの情報を付加したと判定した場合（S704でYesの場合）、留め置き制御部137は、S705に処理を進める。
【００８０】
S705において、留め置き制御部137は、上記S702で作成した先行処理情報の更新を行う。先行処理結果全体のデータサイズや先行処理結果の情報を指し示すインデックス情報など予め確保しておいた領域に処理終了後の情報を上書き更新する。
【００８１】
次にS706において、留め置き制御部137は、上記S701〜S705で作成した先行処理結果（801、802、803）に続いて、PDLデータ（図８の804）を付加する。804に示すように、PDLデータは加工することなく元の状態で付加している。該S706により、図８のような、先行処理結果とPDLデータが組み合わさった印刷ジョブが生成される。S706の後、留め置き制御部137は、本フローチャートの処理を終了する。
【００８２】
以下、図９、図１０を参照して、仕上げのレンダリング処理（図９のS908）について説明する。
図９は、第１実施形態の画像形成装置101〜103が備えるコントローラ110が実行する仕上げのレンダリング処理（図９のS908）の一例を説明するフローチャートである。
図１０は、印刷実行部138、PDL解析部139、中間データ生成部140のソフトウェアモジュール構成の一例を説明する図である。
【００８３】
S901において、印刷実行部138は、印刷制御部134や留め置き制御部137より受け取った印刷ジョブを解析し、先行処理を実施した印刷ジョブか否かを判定する。印刷ジョブに識別子情報（図８の801）が存在する場合、印刷実行部138は、先行処理を実施した印刷ジョブと判定し（S901でYesと判定し）、S902に処理を進める。一方、識別子情報（図８の801）が存在しない場合、印刷実行部138は、先行処理を実施していない印刷ジョブと判定し（S901でNoと判定し）、S908に処理を進める。
【００８４】
S902において、印刷実行部138は、これから解析を行う解析対象ページが先行処理を実施したページか否か判定する。解析対象ページが印刷ジョブの先行処理情報（図８の802）に存在する場合、印刷実行部138は、先行処理を実施したページであると判定し（S902でYesと判定し）、S903に処理を進める。
一方、解析対象ページが印刷ジョブの先行処理情報（図８の802）に存在しない場合、印刷実行部138は、先行処理を実施したページでないと判定し（S902でNoと判定し）、S908に処理を進める。
図８に例示した印刷ジョブの場合、先行処理情報（802）にはページ1からページ10までが存在するので、印刷実行部138は、ページ1からページ10を、先行処理を実施したページと判定する。
【００８５】
以下、S903〜S905の処理について、図１０（Ａ）を参照しながら説明する。
S903において、印刷実行部138は、PDL解析部139に対してページ解析の「スキップ」を通知する。ページ解析スキップの通知を受けたPDL解析部139は、対象ページの解析処理をスキップし、中間データ生成部140に対して何の通知も行わず、次ページの解析処理に備える。印刷実行部138がPDL解析部139にページ解析の「スキップ」を通知するのは、印刷処理のパフォーマンスを向上するためである。印刷実行部138がPDL解析部139に「スキップ」を通知せずに「開始」を通知する場合、PDL解析部139は、先行処理部136が先行処理で実施した解析処理を繰り返し実施（重複実施）することになる。
【００８６】
次にS904において、印刷実行部138は、解析対象ページの先行処理結果の情報（図８の803）を中間データ生成部140に通知する。
図８に示す印刷ジョブの例では、印刷実行部138の解析対象ページがページ1の場合、印刷実行部138は、ファイルパス「/xx/yy/image1」に格納された先行処理結果（ページ1のRIP画像）を中間データ生成部140に通知する。
このように、印刷実行部138が、PDL解析部139を経由せず、中間データ生成部140に先行処理結果を通知することで2つのメリットがある。1つ目のメリットは、処理ステップを低減して処理速度を向上できることである。2つ目のメリットは、ソフトウェアモジュールの開発コストを抑えられることである。以下、図１０（Ｃ）を用いて詳細に説明する。
【００８７】
図１０（Ｃ）に示すように、印刷実行部138は、内部にPDL判定部138-1を備え、複数のPDL解析部（139a、139b、139c）を制御する。例えば、PDL解析部139aは、LIPS（キヤノン登録商標：LBP Image Processing System）を解析するPDL解析部である。また、PDL解析部139bは、PS（アドビ社登録商標：PostScript）を解析するPDL解析部である。また、PDL解析部139cは、XPS（Microsoft社登録商標：XML Paper Specification）を解析するPDL解析部である。
【００８８】
なお、ページ解析をスキップしない場合、印刷実行部138は、印刷ジョブに含まれるPDLをPDL判定部138-1で判定し、LIPSならLIPSの解析部139a、PSならPSの解析部139b、XPSならXPSの解析部139cに必要な通知を行う。
【００８９】
印刷実行部138が先行処理結果をPDL解析部（139a、139b、139c）に通知する場合、各PDL解析部（139a、139b、139c）は、その通知をさらに中間データ生成部140に通知する対応が必要になる。この対応を実施する場合、まず処理ステップが増加するため処理速度が低下してしまう。また、この対応を複数のPDL解析部（139a、139b、139c）がそれぞれ実施すると、ソフトウェアモジュールの開発コストが上がってしまう。そこで本実施形態のように、印刷実行部138が中間データ生成部140に直接先行処理結果を通知する構成にすることで、処理速度向上と開発コスト抑制の効果を得ることができる。なお、PDL解析部139はハードウェアで実現してもよく、その場合には、本構成による開発コストへの寄与がより大きくなる。
【００９０】
S905において、中間データ生成部140は、上記S904において印刷実行部138から通知された先行処理結果から中間データを生成する。すなわち、中間データ生成部140は、先行処理結果であるファイルパスから該当ページの画像データを取得し、該画像データを用いて中間データを生成する。S903〜S905により、後述するS908〜S910のようにPDL解析部139がPDLデータを解析して該解析結果に基づいて中間データ生成部140が中間データを生成する場合と比較し、中間データの生成時間を大幅に短縮できる。
【００９１】
次にS906において、印刷実行部138は、RIP回路128を制御して生成された中間データのレンダリングを行い、プリント機構111に印刷処理を実行させる。先行処理がされている場合には、そのページが先行処理により１枚の画像に変換されているため、仕上げのレンダリング処理時間を大幅に短縮できる。
【００９２】
次にS907において、印刷実行部138は、印刷ジョブの全ページの解析が終了したか判定する。そして、まだ全ページの解析が終了していないと判定した場合（S907でNoの場合）、印刷実行部138は、S901に処理を戻し、次ページの印刷実行処理に移行する。一方、全ページの解析が終了したと判定した場合（S907でYesの場合）、印刷実行部138は、本フローチャートの処理を終了する。
【００９３】
次に、上記S901において先行処理を実施してない印刷ジョブと判定した場合、又は、上記S902において解析対象ページが先行処理を実施してないページと判定した場合の処理（S908〜S910）について、図１０（Ｂ）を参照しながら説明する。
【００９４】
まずS908において、印刷実行部138は、解析対象ページの解析の開始をPDL解析部139に通知する。
次にS909において、PDL解析部139は、解析対象ページのPDLデータの解析を行い、その解析結果を中間データ生成部140に通知する。
次にS910において、中間データ生成部140は、PDL解析部139の解析結果から中間データを生成する。なお、中間データ生成後の処理は、解析対象ページが先行処理を実施したページと判定した場合と同じで、S906、S907の処理を経て、本フローチャートの処理が終了する。
【００９５】
以上のように、画像形成装置101の認証部131が認証ユーザに対する印刷意思を先行処理部136に通知することによって、先行レンダリングの処理順序を変更する。これにより、画像形成装置までの距離が近い、認証ユーザが投入したジョブから順に先行レンダリング処理を実施することが可能となる。よって、複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。すなわち、ユーザの印刷待ち時間を軽減することが実現できる。
【００９６】
〔第２実施形態〕
第２実施形態では、第１実施形態の構成に加え、画像形成装置101〜103が入退室管理サーバが管理する居室への入退室の情報を利用して先行レンダリング処理の順序を変更する実施形態について説明する。以下、第１実施形態と同一の構成については説明を省略し、第１実施形態と異なる点を中心に説明する。
【００９７】
図１１（Ａ）は、本発明の第２実施形態を示す画像形成装置を有する印刷システムの構成を例示する図であり、画像形成装置101〜103が入退室管理サーバ107を利用した印刷システムに対応する。
入退室管理サーバ107は、画像形成装置101〜103が設置されている部屋へのユーザの入退室を管理するための管理システムを構成する。入退室管理サーバ107は、画像形成装置101〜103と相互接続可能なLAN上に存在しており、カードリーダ142、143、1201、1202及び電子錠144、1203が通信可能に接続されている。
図１１（Ｂ）については、図１（Ｂ）と同様のため説明を省略する。
【００９８】
図１２（Ａ）〜図１２（Ｃ）は、ユーザの入退室管理サーバ107に格納される、画像形成装置や入室許可ユーザ及び、カードリーダと電子錠を管理するためのテーブルを示す図である。
【００９９】
図１２（Ａ）は、画像形成装置が設置されている部屋番号と画像形成装置名及びそのIPアドレスが格納された画像形成装置管理テーブルの一例である。
図１２（Ｂ）は、部屋番号に対して、その部屋に入室可能なユーザの対応を格納しているユーザ管理テーブルの一例であり、このテーブルを参照することでユーザの入室許可を実現している。
【０１００】
図１２（Ｃ）は、部屋の扉に隣接されているカードリーダと、扉の鍵である電子錠及び、IDカード認証を通じて入室する新部屋と、退室する現部屋の番号を格納している、入退室管理テーブルである。このテーブルを参照することで、カードリーダ単位で、入室する部屋と退室部屋を特定することが可能である。
【０１０１】
図１２（Ｄ）は、入退室管理サーバ107により、上記図１２（Ａ）〜図１２（Ｃ）のテーブルを参照して管理される部屋の構造例である。
画像形成装置（MFP-1）101は、部屋1に設置されている画像形成装置である。
画像形成装置（MFP-2）102は、部屋1に設置されている画像形成装置である。
画像形成装置（MFP-3）103は、部屋2に設置されている画像形成装置である。
【０１０２】
カードリーダ（Reader-1）1201は、部屋外から部屋1へ入室する際にIDカードをかざすカードリーダである。
カードリーダ（Reader-2）1202は、部屋1から部屋外へ退室する際にIDカードをかざすカードリーダである。
カードリーダ（Reader-3）142は、部屋1から部屋2へ入室する際にIDカードをかざすカードリーダである。
カードリーダ（Reader-4）143は、部屋2から部屋1へ入室する際にIDカードをかざすカードリーダである。
【０１０３】
電子錠（Lock-1）1203は、1201あるいは1202のカードリーダにIDカードをかざし、ユーザ認証されたさいに、自動で施錠・開錠される電子錠である。
電子錠（Lock-2）144は、142あるいは143のカードリーダにIDカードをかざし、ユーザ認証されたさいに、自動で施錠・開錠される電子錠である。
【０１０４】
なお、カードリーダ（Reader-1）1201、カードリーダ（Reader-2）1202、カードリーダ（Reader-3）142、カードリーダ（Reader-4）143で読み取られた情報は、入退室管理サーバ107に送信される。また、電子錠（Lock-1）1203、電子錠（Lock-2）144は、入退室管理サーバ107から施錠、開錠制御可能である。
【０１０５】
図１３は、画像形成装置の先行処理部136に対して通知される、ユーザの印刷意思及び非印刷意思に関する通知データの形式を表す図である。
通知データは、通知メッセージID、ユーザID、距離の3点から構成される。
【０１０６】
通知メッセージIDは、ユーザの印刷意思または非印刷意思を表しており、「1」は印刷意思であり、「0」は非印刷意思の通知である。
ユーザIDは、ユーザの特定や印刷ジョブの投入者の特定のために利用されるIDである。
距離は、ユーザと画像形成装置間の距離を表した数値であり、本実施形態では距離が近ければ印刷意思が高いものであると判断している。なお、通知データは、アプリケーションプログラムインターフェースの引数として、あるいはネットワークパケットとして通知される。
【０１０７】
図１４は、入退室管理サーバ107における、入退室管理処理を示すフローチャートである。なお、図１４に示す処理は、入退室管理サーバ107の図示しないCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【０１０８】
S1401において、入退室管理サーバ107は、ユーザがIDカードをいずれかのカードリーダにかざしたか否かを判定する。入退室管理サーバ107は、ユーザがIDカードをいずれかのカードリーダにかざしたと判定した場合（S1401でYesの場合）、S1402に処理を進め、かざしていないと判定した場合（S1401でNoの場合）は、処理をS1401に戻す。
【０１０９】
S1402において、入退室管理サーバ107は、図１２（Ｃ）のような入退室管理テーブルを参照し、IDカードがかざされたカードリーダ番号から入室先の部屋番号を特定する。
次にS1403において、入退室管理サーバ107は、図１２（Ｂ）のようなユーザ管理テーブルを参照し、カードリーダで読み取ったユーザIDが部屋番号に対して登録されているか否かを判定する。
【０１１０】
入退室管理サーバ107は、カードリーダで読み取ったユーザIDが部屋番号に対して登録されていないと判定した場合（S1403でNoの場合）、S1405に処理を進める。
S1405において、入退室管理サーバ107は、当該カードリーダからアラート音を鳴らし、処理をS1401に戻す。
【０１１１】
一方、入退室管理サーバ107は、カードリーダで読み取ったユーザIDが部屋番号に対して登録されていると判定した場合（S1403でYesの場合）、S1404に処理を進める。
S1404において、入退室管理サーバ107は、図１２（Ｃ）のような入退室管理テーブルを参照し、カードリーダIDに紐づけられた電子錠を開錠する。
【０１１２】
次にS1406において、入退室管理サーバ107は、ユーザが退室する部屋内に画像形成装置が存在するか否かを、図１２（Ａ）のような画像形成装置管理テーブルを参照して判定する。入退室管理サーバ107は、ユーザが退室する部屋内に画像形成装置が存在する場合（S1406でYesの場合）は、S1407に処理を進め、存在しない場合（S1406でNoの場合）は、S1408に処理を進める。
S1407において、入退室管理サーバ107は、上記S1406で退室する部屋内に存在すると判定した画像形成装置に対して、図１３に示すようなデータ形式で、退室するユーザの非印刷意思を通知する。
【０１１３】
次にS1408において、入退室管理サーバ107は、図１２（Ａ）のような画像形成装置管理テーブルを参照し、ユーザが入室する部屋内に画像形成装置が存在するか否かを判定する。入退室管理サーバ107は、存在すると判定した場合（S1408でYesの場合）、S1409に処理を進め、存在しないと判定した場合（S1408でNoの場合）、処理をS1401に戻す。
S1409において、入退室管理サーバ107は、上記S1408で入室する部屋内に存在すると判定した画像形成装置に対して、図１３に示すようなデータ形式で、入室ユーザの印刷意思を通知し、処理をS1401に戻す。なお、印刷意思通知の際の通知データの距離には「2」を設定するものとする。
【０１１４】
なお、上記S1407、S1409の説明では、入退室管理サーバ107が、画像形成装置101に対して印刷指示通知や非印刷指示通知を行うように記載している。しかし、入退室管理サーバ107が、ジョブ投入ユーザの画像形成装置101が設置されている部屋への入室退室情報を画像形成装置101に送信し、画像形成装置101内で該入室退室情報に基づいて、先行処理部１36に対して、印刷指示通知を行ってもよい。なお、S1409では、入退室管理サーバ107が、ユーザが画像形成装置101の設置されていない部屋へ入室したことを画像形成装置101に送信し、画像形成装置101内で、先行処理部１36に対して、非印刷指示通知を行ってもよい。
【０１１５】
以下、図１２（Ａ）〜図１２（Ｄ）を用いて、ユーザA1がカードリーダ142（Reader-3）にIDカードをかざした場合の具体例について説明する。
まず、図１２（Ｃ）の入退室管理テーブルから、カードリーダ142（Reader-3）にIDカードをかざしたユーザA1が入室する部屋番号は「2」であることがわかる。また、図１２（Ｂ）のユーザ管理テーブルを参照することで、部屋番号「2」に対してユーザ「A1」が登録されていることがわかる。よって、図１２（Ｃ）の入退室管理テーブルから、カードリーダ142（Reader-3）に紐づけられた電子錠144（Lock-2）を開錠する。
【０１１６】
そして、図１２（Ｃ）の入退室管理テーブルから、カードリーダ142（Reader-3）の現部屋番号は「1」であるため、部屋番号「1」の画像形成装置があるかどうかを、図１２（Ａ）の画像形成装置管理テーブルを参照して判断できる。よって、入退室管理サーバ107は、画像形成装置101（MFP−1）と画像形成装置102（MFP−2）に対して、距離を設定しないユーザ「A1」の非印刷意思通知を送信する。
【０１１７】
さらに、図１２（Ｃ）の入退室管理テーブルから、カードリーダ142（Reader-3）の新部屋番号は「2」であるため、部屋番号「2」の画像形成装置があるかどうかを、図１２（Ａ）の画像形成装置管理テーブルを参照して判断できる。よって、入退室管理サーバ107は、画像形成装置103（MFP−3）に対してユーザ「A1」の距離「2」の印刷意思通知を送信する。
【０１１８】
以上のように、第２実施形態によれば、入退室管理サーバを利用することで、入退室と連動して画像形成装置に対してユーザが接近あるいは離脱したものと判定できる。その後ユーザの印刷意思または非印刷意思を先行処理部に通知することで、当該ユーザが印刷ジョブを留め置きしている場合、当該ジョブに対する先行レンダリングの処理順序を変更する。それによって、画像形成装置が設置されている部屋へユーザが入室した時点で、先行レンダリング処理が実行され、その後、画像形成装置で印刷指示を出した場合に、即座に印刷出力を得ることが可能となる。
【０１１９】
第２実施形態では、入退室管理サーバによるユーザ認証のみを用いた例について説明したが、第１実施形態のIDカードやカメラ等によるユーザ認証と組み合わせて実現してもよい。
【０１２０】
図１５は、入退室管理サーバ107を利用した先行処理順序変更について、具体例を挙げて説明したシーケンス図である。図中、各ステップには「S」を付してある。なお、図中の画像形成装置101が実行する処理は、画像形成装置101のCPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される。また、図中のPC104が実行する処理は、PC104の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中の認証サーバ106が実行する処理は、認証サーバ106の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中の入退室管理サーバ107が実行する処理は、入退室管理サーバ107の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【０１２１】
S601〜S604については、図６で説明した処理の流れと同様であるため説明を省略する。
S1501で、ユーザAは画像形成装置101が設置されている部屋へ入室するために、IDカードをカードリーダ142にかざして入室する。
S1502で、入退室管理サーバ107は、画像形成装置管理テーブル（図１２（Ａ））と入退室管理テーブル（図１２（Ｃ））から、入室した部屋にユーザAがジョブ投入した画像形成装置101があるか否かを判定する。なお、ここでは存在したものとする。
S1503で、入退室管理サーバ107は、認証サーバ106へユーザAのIDを送信する。
S608〜S609については、図６で説明した処理の流れと同様であるため説明を省略する。
【０１２２】
なお、図１５のS609では、認証サーバ106が、画像形成装置101に対して印刷ジョブ投入ユーザIDの真偽情報を送信するように記載されている。しかし、認証サーバ106が、入退室管理サーバ107に対して印刷ジョブ投入ユーザIDの真偽情報を送信し、入退室管理サーバ107が画像形成装置101に対して、印刷指示通知を行ってもよい。また、入退室管理サーバ107は、ユーザAの画像形成装置101が設置されている部屋への入室退室情報を画像形成装置101に送信し、画像形成装置101内で先行処理部１36に対して、印刷指示通知を行ってもよい。
【０１２３】
S1504で、画像形成装置101は、印刷指示通知等に基づきユーザAのIDと距離（例えば「2」）を先行処理待ちテーブルに設定する。
S611については、図６で説明した処理の流れと同様であるため説明を省略する。
なお、図示しないが、投入した印刷ジョブの先行レンダリング処理がすべて終了したユーザについては、画像形成装置101は、印刷ジョブ投入ユーザIDと投入先画像形成装置のIPアドレスを含むジョブ投入ユーザの登録を削除する要求を、認証サーバ106に対して送信するものとする。
【０１２４】
以上の処理の流れから、印刷ジョブを投入した画像形成装置101が設置されている部屋へユーザが入室した段階で、先行レンダリング処理順序が変更される。
距離に対して「2」を設定することについては、これに限定されるものではなく、画像形成装置101の目の前にユーザが存在するときの距離よりも大きい値であればよい。
【０１２５】
以上のように、画像形成装置が設置されている居室に入室したユーザに対する印刷意思を先行処理部136に通知することによって、先行レンダリングの処理順序を変更する。これにより、画像形成装置までの距離が近い、画像形成装置が設置されている居室に入室したユーザが投入したジョブから順に先行レンダリング処理を実施することが可能となる。よって、複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。すなわち、ユーザの印刷待ち時間を軽減することが実現できる。
【０１２６】
〔第３実施形態〕
第３実施形態では、画像形成装置101とネットワークカメラを連携させ、ネットワークカメラでユーザの進行方向から印刷意思を通知し、画像形成装置101で先行レンダリング処理の順序を変更する実施形態について説明する。以下、第１実施形態及び第２実施形態と同一の構成については説明を省略し、各実施形態と異なる点を中心に説明する。
【０１２７】
図１６（Ａ）は、本発明の第３実施形態を示す画像形成装置を有する印刷システムの構成を例示する図であり、ネットワークカメラ108が図１の機器構成の相互接続可能なLAN上に加わった印刷システムに対応する。第３実施形態では、この機器構成を利用している。
【０１２８】
位置情報格納サーバ109には、画像形成装置101が設置されている位置座標とIPアドレスのデータセットが設定値として格納されている。位置情報格納サーバ109とネットワークカメラ108、画像形成装置101はすべて相互接続可能なLANに接続されている。
【０１２９】
ネットワークカメラ108は、視野に含まれている画像形成装置101の位置と、位置情報格納サーバ109の位置座標とを照合することで画像形成装置101を特定する。画像形成装置101が設置されている位置は、ネットワークカメラ108が部屋内に予め設定されている座標情報から座標を検知し、位置情報格納サーバ109に登録されている画像形成装置101の座標情報と検知した座標とを照合して特定する。座標は二次元座標を表すx軸とy軸を用いる。また、ネットワークカメラ108は、ユーザの進行方向のベクトルデータの延長線上に画像形成装置101があるか否かを判定する。よって、ユーザの進行方向に対して画像形成装置101が存在しているか否かを判別することが可能である。
図１６（Ｂ）については、図１（Ｂ）と同様のため説明を省略する。
【０１３０】
図１７は、ネットワークカメラ108を利用したユーザの印刷意思を画像形成装置101までの距離を基に判定し、印刷意思通知を送信する処理のフローチャートである。なお、図１７に示す処理は、ネットワークカメラ108の図示しないCPUがROM等に記憶されたプログラムを実行することにより実現される。
【０１３１】
S1701において、ネットワークカメラ108は、人物を検知・識別する。
S1702において、ネットワークカメラ108は、識別した人物が認証サーバの登録ユーザであるか否かを判定する。判定方法は、ネットワークカメラ108が検知したユーザの特徴情報を認証サーバ106に送信すると、認証サーバ106はその特徴を持つユーザIDを特定し、そのIDが登録済みであるか否かを返信するので、この返信を基に判定するものである。ユーザの特徴の情報からユーザIDを特定する際に、ユーザの特徴情報である画像情報による照合がなされるが、これは公知の技術を用いる。
【０１３２】
ネットワークカメラ108は、識別した人物が登録ユーザであると判定した場合（S1702でYesの場合）、S1703に処理を進め、登録ユーザでない場合（S1702でNoの場合）は、処理をS1701に戻す。
【０１３３】
S1703において、ネットワークカメラ108は、上記識別したユーザの進行方向が画像形成装置に向かっているか否かを判定する。ユーザが画像形成装置101に向かっているか否かの判定には、ネットワークカメラ108がユーザの歩行方向の延長線上に画像形成装置101が存在しているか否かを検知することによって実現する。ユーザの歩行方向を算出する手段には、公知の技術である。例えば特開２０１０−１４５８６７号公報の進行方向判断システムの技術等が挙げられる。
【０１３４】
ネットワークカメラ108は、上記識別したユーザの進行方向が画像形成装置に向かっていると判定した場合（S1703でYesの場合）、S1704に処理を進め、向かっていないと判定した場合（S1703でNoの場合）、処理をS1701に戻す。
【０１３５】
S1704において、ネットワークカメラ108は、識別したユーザと画像形成装置101の間の距離を算出する。距離の算出には、例えば、ネットワークカメラ108で捉えたユーザと画像形成装置101のそれぞれに対して三角測量の原理を利用する。
【０１３６】
次にS1705において、ネットワークカメラ108は、識別したユーザが向かっている画像形成装置101に当該ユーザのIDと算出した距離を設定した印刷意思通知を送信する。
S1706において、ネットワークカメラ108は、識別したユーザが画像形成装置101に向かわなくなった、または、識別したユーザがネットワークカメラ108の検知範囲外に出たか否かを判定する。なお、当該ユーザが画像形成装置101に向かわなくなった事は、S1703で検知したユーザの歩行方向の延長線上に画像形成装置101が存在しなくなったことを検知することで判定する。また、当該ユーザが検知範囲外に出た事は、ネットワークカメラ108がユーザを検知できない距離となった場合に判定する。
【０１３７】
ネットワークカメラ108は、上述した2点のいずれかを検知したと判定した場合（S1706でYesの場合）、S1707に処理を進め、いずれも検知しなかった場合（S1706でNoの場合）、処理をS1701に戻す。
S1707において、ネットワークカメラ108は、画像形成装置101の先行処理部136に検知したユーザの非印刷意思を通知し、処理をS1701に戻す。
【０１３８】
なお、上記S1704、S1707の説明では、ネットワークカメラ108が、画像形成装置101に対して印刷指示通知や非印刷指示通知を行うように記載している。しかし、ネットワークカメラ108が、ジョブ投入ユーザと画像形成装置101との距離を画像形成装置101に送信し、画像形成装置101内で該距離に基づいて、先行処理部１36に対して、印刷指示通知を行ってもよい。なお、S1707では、ネットワークカメラ108が、ユーザが画像形成装置101に向かって進行しなくなったことを画像形成装置101に送信し、画像形成装置101内で、先行処理部１36に対して、非印刷指示通知を行ってもよい。
【０１３９】
図１８は、第３実施形態でのネットワークカメラ108と位置情報格納サーバ109を利用し、具体例を挙げて先行処理順序変更の処理の流れを説明したシーケンス図である。図中、各ステップには「S」を付してある。なお、図中の画像形成装置101が実行する処理は、画像形成装置101のCPU123がROM126又はHDD124に記憶されたプログラムを必要に応じてRAM125に読み出して実行することにより実現される。また、図中のPC104が実行する処理は、PC104の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中の認証サーバ106が実行する処理は、認証サーバ106の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中のネットワークカメラ107が実行する処理は、ネットワークカメラ107の不図示のCPUがROM等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。また、図中の位置情報格納サーバ109が実行する処理は、位置情報格納サーバ109がHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【０１４０】
S601〜S604については、図６と同様の処理であるため説明を省略する。
S1801で、ネットワークカメラ108は、ユーザAとその進行方向を検知する。
S606〜S609については、図６と同様の処理であるため説明を省略する。
【０１４１】
S1802で、ネットワークカメラ108は、ユーザAの進行方向の延長線上にジョブ投入した画像形成装置101が存在するか否かについて、位置情報格納サーバ109へ問い合わせを実施する。
S1803で、位置情報格納サーバ109は、予め画像形成装置の設置位置が登録されている座標データから該当する画像形成装置101のIPアドレスを取得する。
S1804で、位置情報格納サーバ109は、該当する画像形成装置101のIPアドレスを送信する。
【０１４２】
S1805で、ネットワークカメラ108は、該当する画像形成装置101とユーザAとの距離を算出する。
S1806で、ネットワークカメラ108は、ユーザAのIDと算出した距離を画像形成装置101へ送信する。
S1807で、画像形成装置101は、ユーザAのIDと取得した距離の値を先行処理待ちテーブルに設定する。
S611については、図６と同様の処理であるため説明を省略する。
なお、図示しないが、投入した印刷ジョブの先行レンダリング処理がすべて終了したユーザについては、画像形成装置101は、印刷ジョブ投入ユーザIDと投入先画像形成装置のIPアドレスを含むジョブ投入ユーザの登録を削除する要求を、認証サーバ106に対して送信するものとする。
【０１４３】
以上の処理の流れを通じて、ネットワークカメラ108で検知した、印刷ジョブを投入したユーザとユーザから画像形成装置までの間の距離に応じた値が先行処理待ちテーブルに設定され、先行レンダリング処理順序が変更される。
【０１４４】
なお、第３実施形態では、ネットワークカメラを利用してユーザと画像形成装置間の距離を基にユーザの印刷意思を画像形成装置に対して通知する説明をしたが、第１実施形態や第２実施形態と組み合わせて実現してもよい。
【０１４５】
以上のように、第３実施形態によれば、画像形成装置に向かって進行しているユーザと画像形成装置との距離を含む印刷意思を先行処理部136に通知することによって、先行レンダリングの処理順序を変更する。これにより、画像形成装置までの距離が近いユーザが投入したジョブから順に先行レンダリング処理を実施することが可能となる。よって、複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。すなわち、ユーザの印刷待ち時間を軽減することが実現できる。
【０１４６】
以上説明したように、各実施形態によれば、複数ユーザの印刷ジョブの留め置き中の先行レンダリング処理の順序を、それぞれのユーザの画像形成装置までの距離を認識し、動的に変更する構成を有する。すなわち、留め置き印刷において、ユーザと画像形成装置間の距離が近いほど、早く先行レンダリング処理され、その結果ユーザの出力待ちを少なくすることができる。よって、留め置き処理を実施している複数の印刷ジョブの内、印刷ジョブを開始する可能性の高いユーザのジョブから先行レンダリング処理を実行することができる。このように、ユーザにより印刷指示されてからの印刷時間を短縮し、ユーザの出力待ちを少なくすることが可能となる。
複数ユーザが留め置き印刷を実行している場合でも、先行レンダリング処理の順序を最適化し、印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。
なお、ここでは画像形成装置101について説明したが、画像形成装置102，103についても同様の構成で実施可能である。
【０１４７】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【０１４８】
（その他の実施形態）
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１４９】
101，102，103    画像形成装置
110    コントローラ
131    認証部
133    書誌管理部
134    印刷制御部
135    ジョブ解析部
136    先行処理部
137    留め置き制御部
【図１】
2019126911.tif 000003
【図２】
2019126911.tif 000004
【図３】
2019126911.tif 000005
【図４】
2019126911.tif 000006
【図５】
2019126911.tif 000007
【図６】
2019126911.tif 000008
【図７】
2019126911.tif 000009
【図８】
2019126911.tif 000010
【図９】
2019126911.tif 000011
【図１０】
2019126911.tif 000012
【図１１】
2019126911.tif 000013
【図１２】
2019126911.tif 000014
【図１３】
2019126911.tif 000015
【図１４】
2019126911.tif 000016
【図１５】
2019126911.tif 000017
【図１６】
2019126911.tif 000018
【図１７】
2019126911.tif 000019
【図１８】
2019126911.tif 000020