(57)【特許請求の範囲】
【請求項１】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈手段と、
レンダリング処理において前記ＰＤＬ解釈手段により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合手段と、
前記結合処理を実行することなく前記ＰＤＬ解釈手段が生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成手段と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測手段とを備え、
前記パラメータ値は、前記擬似オブジェクトを構成するピクセルの数の合計値を含む
ことを特徴とする印刷時間予測装置。
【請求項２】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈手段と、
レンダリング処理において前記ＰＤＬ解釈手段により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合手段と、
前記結合処理を実行することなく前記ＰＤＬ解釈手段が生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成手段と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測手段とを備え、
前記パラメータ値は、前記擬似オブジェクトの外形をトレースして取得されるベクトル情報における傾きの変化点の合計値を含む
ことを特徴とする印刷時間予測装置。
【請求項３】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈手段と、
レンダリング処理において前記ＰＤＬ解釈手段により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合手段と、
前記結合処理を実行することなく前記ＰＤＬ解釈手段が生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成手段と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測手段とを備え、
前記パラメータ値は、前記擬似オブジェクト内のスキャンライン数の合計値を含む
ことを特徴とする印刷時間予測装置。
【請求項４】
前記パラメータ値を取得し、取得した前記パラメータ値に基づいてプロファイルを生成するプロファイル生成手段をさらに備え、
前記印刷時間予測手段は、前記プロファイル生成手段が生成したプロファイルに含まれる前記パラメータ値に基づいて、前記ＰＤＬデータの印刷時間を予測する
ことを特徴とする請求項１乃至３のいずれか１項に記載の印刷時間予測装置。
【請求項５】
前記印刷時間予測手段は、
前記パラメータ値を所定の計算式で計算することにより前記印刷時間を算出する
ことを特徴とする請求項１乃至４のいずれか１項に記載の印刷時間予測装置。
【請求項６】
前記パラメータ値は、前記擬似オブジェクトを構成するピクセルの数の合計値、前記擬似オブジェクトの外形をトレースして取得されるベクトル情報における傾きの変化点の合計値、及び前記擬似オブジェクト内のスキャンライン数の合計値の何れかをさらに含む
ことを特徴とする請求項１乃至５のいずれか１項に記載の印刷時間予測装置。
【請求項７】
前記擬似オブジェクト生成手段は、
前記擬似オブジェクトを、オブジェクトを内包する外接矩形を特定するバウンディングボックスの大きさ、前記ピクセルの数の合計値、前記傾きの変化点の合計値、前記スキャンライン数の合計値の優先順位で、前記結合処理によって生成されるオブジェクトの特徴に近似するように生成する
ことを特徴とする請求項６に記載の印刷時間予測装置。
【請求項８】
表示部と、
前記印刷時間予測手段によって予測された前記ＰＤＬデータの印刷時間を、当該ＰＤＬデータの印刷ジョブと対応付けて前記表示部に表示させる表示制御手段をさらに備える
ことを特徴とする請求項１乃至７のいずれか１項に記載の印刷時間予測装置。
【請求項９】
前記ＰＤＬデータを受信する受信手段と、
前記受信されたＰＤＬデータの印刷指示をユーザから受け付ける受け付け手段と、
前記印刷指示の受け付けにしたがって、前記受信されたＰＤＬデータから前記結合処理が行われた中間データを生成する第１の生成手段と、
前記生成された中間データからビットマップ画像を生成する第２の生成手段と、
前記生成されたビットマップ画像を印刷する印刷手段と、
を有し、        
前記擬似オブジェクト生成手段、前記印刷時間予測手段、前記表示制御手段は、前記ＰＤＬデータの受信後、かつ、前記印刷指示の受け付け前に、動作する
ことを特徴とする請求項８に記載の印刷時間予測装置。
【請求項１０】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈工程と、
レンダリング処理において前記ＰＤＬ解釈工程により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合工程と、
前記結合処理を実行することなく前記ＰＤＬ解釈工程で生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成工程と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測工程とを備え、
前記パラメータ値は、前記擬似オブジェクトを構成するピクセルの数の合計値を含む
ことを特徴とする印刷時間予測方法。
【請求項１１】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈工程と、
レンダリング処理において前記ＰＤＬ解釈工程により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合工程と、
前記結合処理を実行することなく前記ＰＤＬ解釈工程で生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成工程と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測工程とを備え、
前記パラメータ値は、前記擬似オブジェクトの外形をトレースして取得されるベクトル情報における傾きの変化点の合計値を含む
ことを特徴とする印刷時間予測方法。
【請求項１２】
ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈工程と、
レンダリング処理において前記ＰＤＬ解釈工程により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合工程と、
前記結合処理を実行することなく前記ＰＤＬ解釈工程で生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成工程と、
前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測工程とを備え、
前記パラメータ値は、前記擬似オブジェクト内のスキャンライン数の合計値を含む
ことを特徴とする印刷時間予測方法。
【請求項１３】
請求項１乃至請求項９のいずれか１項に記載の印刷時間予測装置の各手段をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データの印刷に要する印刷時間を予測する印刷時間予測装置、印刷時間予測方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）描画命令を解釈して中間データを生成し、生成した中間データに基づいてビットマップ画像データを生成する画像形成装置が知られている。
【０００３】
このような画像形成装置の中には、ＰＤＬデータを解析することにより、実際にレンダリング処理が行われた場合の印刷時間を予測する機能を備えるものがある（特許文献１）。特許文献１の画像形成装置は、ＰＤＬ描画命令を解釈することによって、色、画像、図形、文字などの描画要素であるオブジェクトを得る。そして、オブジェクトの処理に要する時間を積算することにより、ＰＤＬデータの印刷予測時間を算出する。
【０００４】
また、ＰＤＬ対応の画像形成装置の中には、複数のオブジェクトをより少数のオブジェクトにまとめる（結合する）ことによって、レンダリング処理に要する時間を短縮する機能を備えるものがある（特許文献２）。特許文献２の画像形成装置は、例えば所定領域内に配置される細かいオブジェクト群を結合することにより、処理対象となるエッジ数やレベル数を抑制している。かかる構成により処理負荷が軽減され、特許文献２の画像形成装置は、レンダリング処理に要する時間を短縮することができる。複数のオブジェクトをまとめる（結合する）処理は、オブジェクトの最適化の一例である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２４０４５９号公報
【特許文献２】特開２０１３−０４２４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の印刷時間予測手法では、オブジェクトの最適化が考慮されておらず、印刷データの印刷時間を高精度に予測することができなかった。
【課題を解決するための手段】
【０００７】
本発明の印刷時間予測装置は、ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクトを生成するＰＤＬ解釈手段と、レンダリング処理において前記ＰＤＬ解釈手段により生成された複数のオブジェクトが単一のオブジェクトに結合される結合処理を実行する結合手段と、前記結合処理を実行することなく前記ＰＤＬ解釈手段が生成したオブジェクトから擬似オブジェクトを生成し、前記擬似オブジェクトの特徴を示すパラメータ値を取得する擬似オブジェクト生成手段と、前記パラメータ値に基づいて前記ＰＤＬデータの印刷時間を予測する印刷時間予測手段とを備え、前記パラメータ値は、前記擬似オブジェクトを構成するピクセルの数の合計値を含むことを特徴とする。
【発明の効果】
【０００８】
本発明の印刷時間予測装置は、印刷データの印刷時間を高精度に予測することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における印刷時間予測装置のハードウェア構成を示す図である。
【図２】実施形態における印刷時間予測装置のソフトウェア機能構成を示すブロック図である。
【図３】実施形態におけるオブジェクト最適化の一例を示す模式図である。
【図４】実施形態における処理手順を示す概略図である。
【図５】実施形態におけるパラメータの一例を説明する図である。
【図６】実施形態における処理手順を示すフローチャートである。
【図７】実施形態における処理手順を示すフローチャートである。
【図８】実施形態における処理手順を示すフローチャートである。
【図９】実施形態におけるオブジェクト結合の概念図である。
【図１０】実施形態におけるオブジェクト結合の概念図である。
【図１１】実施形態における擬似オブジェクトを示す概念図である。
【図１２】実施形態における擬似オブジェクトの部分拡大図である。
【図１３】実施形態における擬似オブジェクトを示す概念図である。
【図１４】実施形態における画面表示例である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
【００１１】
図１は、本実施形態における印刷時間予測装置１００のハードウェア構成例を示すブロック図である。本実施形態の印刷時間予測装置１００は、例えばプリンタ部１０７を備える画像形成装置によって実現することができる。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、印刷時間予測装置１００の制御中枢部であり、後述する印刷時間予測装置１００の各機能ブロック（図２）による処理を実現する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１がアクセス可能な記憶デバイスである。ＲＡＭ１０２は各機能ブロックによる処理を実現する際に必要なメモリの確保先として利用される。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３には、各機能ブロックによる処理を実現するためのプログラムが格納されており、当該プログラムはＣＰＵ１０１に読み込まれることにより実行される。
【００１２】
レンダラ１０４は、例えばスキャンライン法を用いて、後述の中間データからビットマップ画像データを生成するハードウェアレンダラである。ネットワークインターフェース部１０５（以下インターフェースは「Ｉ／Ｆ」と記す）は、ネットワークを介して外部装置（パーソナルコンピュータ等）と接続され、主に印刷データの受信を行うためのインタフェース部である。なお、以降の説明において、印刷データはＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）描画命令を含むＰＤＬデータであるものとして説明する。本実施形態では、印刷時間予測装置１００は、ＰＣなどの外部装置からネットワークを介してＰＤＬデータを受信し、当該ＰＤＬデータから印刷に要する時間を予測する処理について説明する。別実施形態では、印刷時間予測装置１００が、ＲＡＭ１０２に保持されているＰＤＬデータを読み出して印刷時間を予測する処理でもよい。操作部１０６は、例えばタッチパネル等の入力デバイスからなり、ユーザの操作によって入力（指示）を受け付けることができる。操作部１０６は、主に印刷時間予測装置１００の設定の入力を受け付けるために用いられるが、入力されたＰＤＬデータの印刷予測時間をユーザに提示する表示部としても機能する。この場合、入力を受け付けたＰＤＬデータ（印刷ジョブ）と印刷予測時間とを対応付けて操作部１０６に表示させるＣＰＵ１０１は、印刷時間予測装置の表示制御手段であるといえる。プリンタ部１０７は、ＰＤＬデータから生成されたビットマップ画像データを用紙などの記録媒体上に印刷する。なお、本実施形態において、ＰＤＬデータからビットマップ画像データを生成する一連の処理はレンダリング処理に相当する。また、「印刷時間」とは、レンダリング処理に要する時間に相当するが、プリンタ部１０７によって記録媒体への記録に要する時間が含まれていてもよい。
【００１３】
図２は、印刷時間予測装置１００のソフトウェア機能構成の一例を示す図である。図２に示される印刷時間予測装置１００の各ソフトウェア機能ブロックは、全てＣＰＵ１０１上で動作する。
【００１４】
ＰＤＬ解釈部２１０は、ネットワークＩ／Ｆ部１０５を介して受信したＰＤＬデータに含まれるＰＤＬ描画命令を読み出して、当該ＰＤＬ描画命令を解釈する。ＰＤＬ解釈部２１０は、ＰＤＬ描画命令を解釈することにより、色、画像、図形、文字などの描画要素の形状や描画位置が決定される。このような描画要素を描画オブジェクト（以下、単に「オブジェクト」とも記す）という。つまり、ＰＤＬ解釈部２１０は、ＰＤＬ描画命令を解釈することで、オブジェクトを生成する。
【００１５】
最適化部２２０は、レンダラ１０４の処理負荷を低減させるために、レンダラ１０４がビットマップ画像データを生成する前の段階で、ＰＤＬ解釈部２１０によって生成されたオブジェクトを別表現のオブジェクトに変換する処理を行う。この処理は、オブジェクトを最適化する処理とも呼ばれる。本実施形態の印刷時間予測装置１００は、オブジェクトの種類に応じてオブジェクトの最適化を行う変換部２２１と、結合部２２２と、分割部２２３とを有するが、オブジェクトを最適化する手法は上記以外であってもよい。
【００１６】
図３は、最適化部２２０がオブジェクトを最適化する処理の一例を示す模式図である。図３（ａ）〜（ｃ）において、それぞれ最適化対象のオブジェクトと、最適化されたオブジェクトとの対応例が示されている。
【００１７】
図３（ａ）は、変換部２２１が、単一色のビットマップ画像の画像オブジェクト３０１に対して、オブジェクトの変換を施した例を示している。変換部２２１は、単一色の画像オブジェクト３０１を、パス３１１ａと色値３１１ｂとを有するオブジェクト３１１に変換することができる。ここで、オブジェクトのパスとは、オブジェクト全体の外形を示す点列またはこれら点列を結ぶ線分をいう。このオブジェクト３１１は、パス３１１ａによって表されている領域内を色値３１１ｂで表されている色で塗りつぶすことを示している。図３（ａ）に示されるオブジェクトの変換によって画像の複製処理が省略され、レンダリング処理に要する時間を短縮することができる。
【００１８】
図３（ｂ）は、結合部２２２が、複数の矩形オブジェクト３０２に対してオブジェクトの結合を施した例を示している。図３（ｂ）に示される通り、複数の矩形オブジェクト３０２は、順番に連続して生成されるオブジェクト群であり、複数の矩形オブジェクト３０２には相互に重なりが発生している。結合部２２２は、このような複数のオブジェクト３０２を、パス３１２ａとビットマップ画像３１２ｂとを有する単一のオブジェクト３１２に結合することができる。このオブジェクト３１２は、パス３１２ａによって表されている領域に対応するビットマップ画像３１２ｂの一部分を抽出することを示している。図３（ｂ）に示される通り、複数の矩形オブジェクト３０２が統合されることにより、処理対象となるエッジ数などが削減される。そのため、レンダリング処理に要する時間を短縮することができる。なお、エッジとはオブジェクトの点列をトレースして取得するベクトル情報をいう。
【００１９】
図３（ｃ）は、分割部２２３が、ビットマップ画像の画像オブジェクト３０３に対してオブジェクト分割を施した例を示している。分割部２２３は、単一の画像オブジェクト３０３を、それぞれがパスとビットマップ画像とからなる複数のオブジェクト３１３に分割することができる。図３（ｃ）に示される通り、データ量が大きいビットマップ画像の画像オブジェクトを、データ量が小さい複数のビットマップ画像のオブジェクトに分割することにより、レンダラ制御部２６０は、少ないメモリ容量でビットマップ画像データを生成することができる。例えば、分割閾値が１ＭＢであった場合、データ容量が１０ＭＢの画像オブジェクトは、それぞれデータ容量が１ＭＢのオブジェクト１０個に分割される。
【００２０】
中間データ生成部２４０は、ＰＤＬ解釈部２１０によって生成されたオブジェクトから、レンダラ１０４が処理するのに適切な中間データを生成する。この中間データは、一般的にディスプレイリスト（以下「ＤＬ」とも記す）と呼ばれる。レンダラ制御部２６０は、中間データ生成部２４０によって生成された中間データをレンダラ１０４に入力し、ＲＡＭ１０２にビットマップ画像データを出力するまでの一連の処理を制御する。
【００２１】
なお、レンダラ１０４に入力される中間データは、前述の最適化部２２０によって最適化（変換）が施されたオブジェクトの中間データも含まれている。すなわち、ＰＤＬ解釈部２１０、最適化部２２０、中間データ生成部２４０は、処理の一例として、レンダラ１０４の処理負荷を低減させるべく、ＰＤＬデータに含まれる複数のオブジェクトを１つのオブジェクトに結合した中間データを生成する。または、ＰＤＬ解釈部２１０、最適化部２２０、中間データ生成部２４０は、処理の一例として、レンダラ１０４の処理負荷を低減させるべく、ＰＤＬデータに含まれる１つのオブジェクトを複数のオブジェクトに分割した中間データを生成する。つまり、ＰＤＬ解釈部２１０、最適化部２２０、中間データ生成部２４０は、ＰＤＬデータに含まれるオブジェクトの個数が変えられた中間データを生成する。そして、レンダラ１０４は結合、あるいは、分割された後のオブジェクトの中間データからビットマップ画像データを生成する処理を行う。以上説明した通り、本実施形態において、最適化部２２０と、中間データ生成部２４０と、レンダラ制御部２６０とは、実際にＰＤＬデータを印刷する一連の処理（印刷シーケンス）を実行する。
【００２２】
最適化予測部２３０は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、最適化部２２０によって別表現のオブジェクトに変換される（最適化される）場合、当該最適化によってオブジェクトに施される変化を予測する。本実施形態の最適化予測部２３０は、印刷シーケンスにおいて実際にオブジェクトの最適化を行う変換部２２１、結合部２２２、分割部２２３にそれぞれ対応する、変換予測部２３１と、結合予測部２３２と、分割予測部２３３とを有する。なお、最適化予測部２３０は、上記以外の最適化手法を考慮した機能ブロックを有していてもよい。
【００２３】
変換予測部２３１は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該変換によってオブジェクトに施される変化を予測する。
【００２４】
結合予測部２３２は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該結合によってオブジェクトに施される変化を予測する。
【００２５】
分割予測部２３３は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該分割によってオブジェクトに施される変化を予測する。
【００２６】
プロファイル生成部２５０は、最適化予測部２３０によって推定されたパラメータ値を、オブジェクトの種別ごとに対応付けられたプロファイルを生成する。本実施形態において、プロファイル生成部２５０は、生成したプロファイルをＲＡＭ１０２などの記憶領域に保存する。
【００２７】
予測時間導出部２７０は、プロファイル生成部２５０によって生成されたプロファイルを参照し、プロファイルに含まれるパラメータ値に基づいてＰＤＬデータの印刷予測時間を導出する。以上説明した通り、本実施形態において、最適化予測部２３０と、プロファイル生成部２５０と、予測時間導出部２７０とは、ＰＤＬデータの印刷に要する印刷時間を予測する一連の処理（印刷時間予測シーケンス）を実行する。
【００２８】
図４は、本実施形態におけるＰＤＬ解釈から印刷までの印刷シーケンスの手順例、およびＰＤＬ解釈から印刷予測時間導出までの印刷時間予測シーケンスの手順例を示した概略図である。以下、図４を参照して本実施形態における印刷シーケンスの手順と印刷時間予測シーケンスの手順とを対比して説明する。なお、本例では、オブジェクト３０２（図３）の描画を命令するＰＤＬ描画命令を含むＰＤＬデータが印刷時間予測装置１００に入力された場合を例に説明する。
【００２９】
ＰＤＬ解釈部２１０は、ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、オブジェクト３０２を生成する。通常、ＰＤＬ描画命令において、オブジェクトの外形は、ｘｙ座標系における座標位置を示す点列で記述される。本実施形態のＰＤＬ描画命令の記述例と、オブジェクト３０２の描画イメージとを図４に示す。  
オブジェクト３０２ａ：（０，０）（５，０）（０，５）（５，５）
オブジェクト３０２ｂ：（２，２）（７，２）（２，７）（７，７）
オブジェクト３０２ｃ：（４，４）（９，４）（４，９）（９，９）
オブジェクト３０２ｄ：（６，６）（１１，６）（６，１１）（１１，１１）
オブジェクト３０２ｅ：（８，８）（１３，８）（８，１３）（１３，１３）
【００３０】
印刷シーケンスにおいては、図３（ｂ）で説明した手法により、結合部２２２がオブジェクト３０２を結合する。中間データ生成部２４０は、結合されたオブジェクトから、レンダラ１０４が処理するのに適切な中間データを生成する。次いで、レンダラ制御部２６０は、生成された中間データをレンダラ１０４に入力し、ＲＡＭ１０２にビットマップ画像データを出力するまでの一連の処理を制御する。オブジェクト３０２が結合された結果、中間データおよびビットマップ画像データ生成の処理負荷が軽減される。これに伴い、中間データおよびビットマップ画像データの生成に要する時間も短縮することができる。その後、ビットマップ画像データはプリンタ部１０７に送られて、用紙などの記録媒体に画像が記録される。
【００３１】
一方、印刷時間予測シーケンスにおいては、ＣＰＵ１０１は、多くのコンピュータリソースを必要とするレンダリング処理を行わずに、オブジェクトの特徴を示すパラメータ値を取得する。そして、ＣＰＵ１０１は、取得したパラメータ値に基づいて、ＰＤＬデータの印刷予測時間を導出する。図５は、本実施形態において、オブジェクト３０２ａが有する特徴である、ピクセル数、セグメント数、スパン数の一例を説明する図である。なお、図５では単体のオブジェクト３０２ａからパラメータ値を取得する例を説明する。オブジェクト３０２ａは、幅が５ピクセル長、高さが５ピクセル長の矩形オブジェクトである。本例では、オブジェクト３０２ａを解析することにより以下のパラメータ値が取得される。  
ピクセル数：オブジェクトを構成するピクセルの合計値であり、図５に示される通りピクセル数は５×５＝２５となる。  
セグメント数：エッジにおける傾きの変化点の合計値であり、セグメント５０３ａ、５０３ｂに例示される通り、本例のセグメント数は「２」となる。  
スパン数：パス内におけるスキャンライン数の合計値であり、スパン５０４に例示される通り、本例のスパン数は「５」となる。  
なお、上述の説明の通り、パス５０１は、オブジェクト３０２ａの全体の外形を示す点列またはこれら点列を結ぶ線分に相当し、エッジ５０２ａ、５０２ｂはオブジェクト３０２ａの点列をトレースして取得するベクトル情報に相当する。
【００３２】
再び図４に戻り、従来技術における印刷時間予測シーケンスの手順について説明する。なお、便宜的に図２に示される各機能ブロックを参照して従来技術の説明を行うものとする。従来技術における印刷時間予測シーケンスにおいても、プロファイル生成部２５０は、オブジェクトを解析することによりパラメータ値を取得していた。
【００３３】
しかしながら、従来技術における印刷時間予測処理では、印刷シーケンスにおけるオブジェクトの最適化が考慮されていなかったため、オブジェクトごとのパラメータ値しか取得することができなかった。すなわち、データ量の小さいオブジェクト３０２ａ〜３０２ｅが所定領域内に密集して描画されるような場合であっても、プロファイル生成部２５０はオブジェクトが結合される場合を考慮することなく、オブジェクトごとのパラメータ値を取得していた。この場合、生成されるプロファイルには、以下に示されるオブジェクト３０２ａに対応するパラメータ値のみならず、オブジェクト３０２ｂ〜３０２ｅに対応する５種類のパラメータ値が含まれることになる。  
ピクセル数：    ２５  
セグメント数：    ２  
スパン数：        ５  
【００３４】
従来技術における印刷時間導出処理では、多数のパラメータ値それぞれに係数（例えば、当該オブジェクトをレンダリング処理するために必要な時間など）を乗算するなどの計算を行う必要があった。この結果、印刷シーケンスにおいて、最適化されたオブジェクトが高速にレンダリング処理されてビットマップ画像データが出力される一方で、ユーザに提示される印刷予測時間が長くなってしまうなど、印刷時間の予測精度が低下する場合があった。
【００３５】
これに対して、本実施形態の印刷時間予測シーケンスでは、最適化予測部２３０は最適化されたオブジェクトから取得されるであろうセグメント数、スパン数、ピクセル数などのパラメータ値を推定する。この場合、生成されるプロファイルには、オブジェクト３０２ａ〜３０２ｅが結合された場合を考慮した以下の推定パラメータ値の１種類が含まれることになる。  
ピクセル数：    ８９  
セグメント数：  １８  
スパン数：      １３  
かかる構成により、本実施形態の印刷時間予測処理では、印刷シーケンスにおけるオブジェクトの最適化が考慮されているため、ＰＤＬデータの印刷時間を高精度に予測することができる。本実施形態の要部である最適化予測処理については、図６以降のフローチャートの説明で後述する。
【００３６】
図６は、本実施形態の印刷時間予測処理の手順を示すフローチャートである。以下、図６を参照して印刷時間予測処理の一例について説明する。図６に示されるフローチャートによる処理は、ＲＯＭ１０３に記憶されるプログラムコードがＲＡＭ１０２に展開されＣＰＵ１０１によって実行される。
【００３７】
Ｓ１０１において、印刷時間予測装置１００は、ＰＣなどの外部装置からＰＤＬデータを受信する。このとき、ＣＰＵ１０１は、受信したＰＤＬデータをＲＡＭ１０２などの所定の記憶領域に格納する。  
Ｓ１０２において、ＰＤＬ解釈部２１０は、ＰＤＬデータに含まれるＰＤＬ描画命令を解釈し、ＰＤＬ描画命令ごとにオブジェクトを生成する。  
Ｓ１０３において、最適化予測部２３０は、Ｓ１０２で生成されたオブジェクトが最適化対象のオブジェクトであるかを判定する。具体的には、最適化予測部２３０は、Ｓ１０２で生成されたオブジェクトが、印刷シーケンスにおいて図３に示される最適化が施される種別のオブジェクトであるかを判定する。当該オブジェクトが最適化対象のオブジェクトである場合（Ｓ１０３：ＹＥＳ）、Ｓ１０４に移行する。一方、当該オブジェクトが最適化対象のオブジェクトではない場合（Ｓ１０３：ＮＯ）、Ｓ１０４をスキップする。 
Ｓ１０４において、最適化予測部２３０は、最適化によってオブジェクトに施される変化を予測する。そして、最適化予測部２３０は、変化後のオブジェクトの特徴を示すパラメータ値を推定する。Ｓ１０４の処理手順の詳細は後述する。
【００３８】
Ｓ１０５において、プロファイル生成部２５０は、Ｓ１０２で生成されたオブジェクトから取得したパラメータ値、または最適化予測部２３０によって推定されたパラメータ値を、オブジェクトの種類ごとに対応付けたプロファイルを生成する。また、画像処理の分野では、オブジェクトの描画内容を論理演算式で決定する論理描画手法（ＲＯＰ：ＲＡＳＴＥＲ  ＯＰＥＲＡＴＩＯＮ）が知られている。このような論理描画手法では、レンダラ制御部２６０は、ＸＯＲ−ＡＮＤ−ＸＯＲなどのオペレータ（論理演算式）の組み合わせに基づいてオブジェクトの描画要素を決定する。上述したオブジェクトの最適化によって、このようなオペレータの組み合わせも簡略化されることが知られている。本実施形態のプロファイル生成部２５０は、オブジェクトの最適化に伴って変化する論理演算式の数などをパラメータ値として取得することができる。
【００３９】
Ｓ１０６において、ＣＰＵ１０１は、Ｓ１０１で受信したＰＤＬデータに含まれる全てのＰＤＬ描画命令の解釈が終了したかを判定する。全てのＰＤＬ描画命令の解釈が終了した場合（Ｓ１０６：ＹＥＳ）、Ｓ１０７に移行する。全てのＰＤＬ描画命令の解釈が終了していない場合（Ｓ１０６：ＮＯ）、再びＳ１０３以降の処理を実行する。
【００４０】
Ｓ１０７において、予測時間導出部２７０は、Ｓ１０５で生成されたプロファイルを参照し、プロファイルに含まれるパラメータ値に基づいてＰＤＬデータの印刷予測時間を導出する。本実施形態において、予測時間導出部２７０は、取得されたパラメータ値を予め定義された計算式で計算することにより印刷予測時間を算出する。印刷予測時間を算出するための計算式は、例えば以下の式が用いられる。
【００４１】
【数１】
0006679329.tif 000002
【００４２】
式１において、Ｍは取得するオブジェクトの総数を、ｐはパラメータの種別を、ｘは係数を、Ｃは定数項をそれぞれ示す。なお、係数ｘはパラメータｐに対応するオブジェクトを実際にレンダリング処理するために必要な時間に基づいて定められる。例えば、１ページにオブジェクト３０２ａの描画命令のみが含まれるＰＤＬデータの印刷時間を予測する場合、プロファイル生成部２５０は、パラメータｐの値としてエッジ数「２」を取得する。次いで、予測時間導出部２７０は、プロファイル生成部２５０によって取得されたエッジ数「２」を式１に代入することにより、パラメータｐは係数ｘと乗算されて、印刷予測時間を得ることができる。
【００４３】
上述の通り、本実施形態では、予測時間導出部２７０が、取得されたパラメータ値を予め定義された計算式で計算することにより、印刷予測時間を算出している。しかし、実施形態は上記に限定されず、予測時間導出部２７０は、予め定義されたルックアップテーブルを参照することにより、印刷予測時間を取得してもよい。この場合、例えばページ単位のパラメータ値の合算値と、印刷予測時間とを対応付けて記憶したルックアップテーブルを用いることができる。印刷予測時間導出処理（Ｓ１０７）が終了すると、本フローチャートが終了する。
【００４４】
図７は、本実施形態におけるオブジェクト最適化予測処理の手順を示すフローチャートである。以下、図７を参照してオブジェクト最適化予測処理の一例について説明する。図７に示されるフローチャートによる処理は、ＲＯＭ１０３に記憶されるプログラムコードがＲＡＭ１０２に展開されＣＰＵ１０１によって実行される。
【００４５】
Ｓ２０１において、変換予測部２３１は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該変換によってオブジェクトに施される変化を予測する。また、変換予測部２３１は、Ｓ１０２で生成されたオブジェクトに対して実際に変換処理を施してもよい。
【００４６】
Ｓ２０２において、結合予測部２３２は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該結合によってオブジェクトに施される変化を予測する。
【００４７】
Ｓ２０３において、分割予測部２３３は、ＰＤＬ解釈部２１０によって生成されたオブジェクトが、レンダリング処理において最適化される場合、当該分割によってオブジェクトに施される変化を予測する。また、分割予測部２３３は、Ｓ１０２で生成されたオブジェクトに対して実際に変換処理を施してもよい。Ｓ２０３の処理が終了すると、印刷時間予測処理（図６）のフローチャートに復帰する。
【００４８】
図８は、本実施形態におけるオブジェクト結合予測処理の手順を示すフローチャートである。以下、図８を参照してオブジェクト結合予測処理の一例について説明する。図８に示されるフローチャートによる処理は、ＲＯＭ１０３に記憶されるプログラムコードがＲＡＭ１０２に展開されＣＰＵ１０１によって実行される。
【００４９】
Ｓ３０１において、結合予測部２３２は、ＲＡＭ１０２などの記憶領域にスプールしたオブジェクトの数を示す、カウンタｉの値が０であるかを判定する。カウンタｉ＝０であった場合（Ｓ３０１：ＹＥＳ）、Ｓ３０９に移行する。カウンタｉ≠０であった場合（Ｓ３０１：ＮＯ）、Ｓ３０２に移行する。  
Ｓ３０２において、結合予測部２３２は、Ｓ１０２で生成された新たなオブジェクトがスプールされているオブジェクトの結合対象であるかを判定する。本実施形態では、以下のいずれかの条件に合致する場合に、新たなオブジェクトは結合対象であると判定される。なお、この条件は一例である。また、以下の条件の双方が満たされた場合に限って、新たなオブジェクトを結合対象であると判定しても良い。  
（１）新たなオブジェクトが所定の閾値以下の大きさ（面積）を有する場合
（２）新たなオブジェクトが結合された場合、結合後のオブジェクトに対応するバウンディングボックスが所定の閾値以下の大きさ（面積）となる場合
ここで、バウンディングボックスとは、１または複数のオブジェクトを内包する外接矩形を特定する値であり、バウンディングボックスを特定する値は左上頂点座標と右下頂点座標との組み合わせで記述される。例えば、オブジェクト３０２（図４）が結合された場合、バウンディングボックスは符号３１２ｃに示され、バウンディングボックス３１２ｃを特定する値は、「（０，０）（１３，１３）」と記述される。
【００５０】
新たなオブジェクトが結合対象であると判定された場合（Ｓ３０２：ＹＥＳ）、Ｓ３０３に移行する。一方、新たなオブジェクトが結合対象ではないと判定された場合（Ｓ３０３：ＮＯ）、Ｓ３０５に移行する。Ｓ３０３において、結合予測部２３２は、新たなオブジェクトをＲＡＭ１０２などの記憶領域にスプールする。Ｓ３０４において、結合予測部２３２は、カウンタｉの値を「１」インクリメントし、オブジェクト最適化処理（図７）のフローチャートに復帰する。
【００５１】
Ｓ３０５において、結合予測部２３２は、スプールされている複数のオブジェクトが結合された場合、結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数を推定する。以下、本実施形態におけるピクセル数、セグメント数、スパン数の推定について、オブジェクト３０２（図４）を例に説明する。
【００５２】
結合予測部２３２は、スプールされている複数のオブジェクトの合計ピクセル数から、重なり領域のピクセル数を除去することにより、結合後のオブジェクトから取得されるピクセル数を推定する。オブジェクト３０２の例では、オブジェクト３０２ａ〜３０２ｅの合計ピクセル数は「１２５」であり、重なり領域のピクセル数「３６」を除算し、推定されるピクセル数である「８９」が得られる。なお、結合後オブジェクトの形状が６角形などの一般的な多角形であった場合、多角形の面積を求める公式を用いてピクセル数を取得してもよい。
【００５３】
結合予測部２３２は、スプールされている複数のオブジェクトの重なり状態に基づいて、結合後のオブジェクトから取得されるセグメント数を推定する。オブジェクト３０２ａ、３０２ｂのように、矩形オブジェクトの一部が重なった場合、結合後のオブジェクトのセグメントは「２」増加する。オブジェクト３０２の例では、オブジェクト３０２ａ〜３０２ｅの合計セグメント数は「１０」であり、重なりによって増加する「８」を加算し、推定されるセグメント数である「１８」が得られる。なお、あるオブジェクトが他のオブジェクトに包含されているような場合、結合後のオブジェクトから取得されるセグメント数は増加しない。
【００５４】
結合予測部２３２は、スプールされている複数のオブジェクトの重なり状態に基づいて、結合後のオブジェクトから取得されるスパン数を推定する。オブジェクト３０２ａ、３０２ｂのように、矩形オブジェクトの一部が重なった場合、結合後のオブジェクトのスパン数は重なりの高さ分減少する。オブジェクト３０２の例では、オブジェクト３０２ａ〜３０２ｅの合計スパン数は「２５」であり、重なりによって減少する「１２」を減算し、推定されるスパン数である「１３」が得られる。なお、本実施形態において、推定されるスパン数は結合後のオブジェクトのバウンディングボックスの高さに一致する。
【００５５】
以上、オブジェクト３０２を例に、結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数を推定する処理例を説明したが、実施形態は上記に限られない。例えば、処理対象のオブジェクトはオブジェクト３０２のように矩形オブジェクトでなくてもよい。例えば、矩形以外の形状のオブジェクトにおいて、結合予測部２３２は、単位領域あたりのセグメント数、スパン数を算出し、これらを積算することにより、精度の高いピクセル数、セグメント数、スパン数を推定することができる。また、例えば、結合予測部２３２は、複数のオブジェクト間に重なりが発生していない場合であっても、結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数を推定することができる。
【００５６】
図９は、それぞれ幅が５ピクセル長、高さが５ピクセル長の矩形オブジェクト９０１ａと９０１ｂとが、マスク９０２ａと画像９０２ｂとを有する画像オブジェクト９０２に結合された場合を示す概念図である。図９に示される通り、オブジェクト９０１ａと９０１ｂとの間に重なりが発生していない。結合予測部２３２は、まずオブジェクト９１０のバウンディングボックス（０，０）（１２，７）の大きさから画像オブジェクト９０２のパスを求める。ここで、画像オブジェクト９０２のパスは、マスク９０２ａの外形と等しい大きさである。さらに、オブジェクト９０１の例では、結合後の画像オブジェクト９０２のパスはバウンディングボックスの大きさに相当するため、推定ピクセル数「８４」が得られる。また、結合後の画像オブジェクト９０２のパスはバウンディングボックスと同様に矩形であるため、推定セグメント数「２」が得られる。また、結合後の画像オブジェクト９０２のパスの高さから、推定スパン数「７」が得られる。以上説明した通り、結合予測部２３２は、オブジェクト９０１の結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数を以下の通りに推定する。  
ピクセル数：    ８４  
セグメント数：    ２  
スパン数：        ７  
【００５７】
図１０（ａ）は、底辺が１４ピクセル長、高さが１０ピクセル長の三角形オブジェクト１００１が、パス１００２を有するオブジェクトに結合（変換）された場合を示す概念図である。なお、三角形オブジェクト１００１の面積は７０ピクセル相当であり、パス１００２を有するオブジェクトに結合（変換）される結果、パスに段差形状が発生することによりピクセル数が７５となる例について説明する。本実施形態において、傾きを有するオブジェクトが結合された場合、結合後のオブジェクトのパスには段差形状が含まれる。この場合、結合後のオブジェクトから取得されるセグメント数を、以下の数式を用いて推定することができる。  
セグメント数＝ＭＩＮ（ＡＢＳ（ｘ１−ｘ２），ＡＢＳ（ｙ１−ｙ２））×２・・（式２）
ここで、（ｘ１，ｙ１）、（ｘ２，ｙ２）はそれぞれ三角形オブジェクト１００１における頂点座標を示し、本例では頂点座標１００１ａ：（ｘ１，ｙ１）、頂点座標１００１ｂ（ｘ２，ｙ２）となる。同様に、頂点座標１００１ａ：（ｘ１，ｙ１）、頂点座標１００１ｃ（ｘ２，ｙ２）という関係も成立し得る。また、ＭＩＮは引数内の最小値返す関数を、ＡＢＳは引数の絶対値を返す関数をそれぞれ示す。以上より、結合予測部２３２は、オブジェクト１００１の結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数を以下の通りに推定する。  
ピクセル数：    ７５  
セグメント数：  ２８  
スパン数：      １０  
【００５８】
上述の実施形態において説明した、結合後のオブジェクトから取得されるピクセル数、セグメント数、スパン数の推定値一覧を表１に示す。
【００５９】
【表１】
0006679329.tif 000003
【００６０】
Ｓ３０６において、結合予測部２３２は、Ｓ３０５で推定したピクセル数、セグメント数、スパン数によって特定される特徴を有する擬似オブジェクトを生成する。ここで、擬似オブジェクトとは、変化後のオブジェクトの特徴と同一または近似する特徴を有する描画オブジェクトのイメージであって、擬似オブジェクトは、実際のレンダリング処理を行わずに生成される。また、プロファイル生成部２５０は、通常のオブジェクトと同様に、擬似オブジェクトを解析してパラメータ値を取得することができる。
【００６１】
本実施形態の印刷時間予測装置１００において、プロファイル生成部２５０は、描画オブジェクト形式のデータとの親和性が高い。これは、プロファイル生成部２５０が、印刷シーケンスにおいて描画オブジェクトを解析してピクセル数、セグメント数、スパン数などを操作する、中間データ生成部２４０と同種の制御を行うからである。そのため、最適化予測部２３０が一旦擬似オブジェクトを生成することにより、プロファイル生成部２５０は効率的にパラメータ値を含むプロファイルを生成することができる。
【００６２】
以下、オブジェクト３０２（図４）を例に、印刷シーケンスにおける結合後のオブジェクトと、印刷時間予測シーケンスにおける擬似オブジェクトとを比較して説明する。図１１（ａ）は、印刷シーケンスにおける結合後のオブジェクト３１２（パス３１２ａ）を示している。オブジェクト３１２（パス３１２ａ）は、図３（ｂ）に示されるものと同一であり、符号３１２ｃはオブジェクト３１２のバウンディングボックスを示す。図１１（ｂ）は、オブジェクト３１２が有する特徴である、ピクセル数、セグメント数、スパン数を説明する図である。図５で説明した通り、パス３１２ａは、オブジェクト３１２の全体の外形を示す点列または点列を結ぶ線分に相当し、エッジ３１２ｄ、３１２ｅはオブジェクト３１２の点列をトレースして取得するベクトル情報に相当する。本例では、オブジェクト３１２を解析することにより以下のパラメータ値が取得される。  
ピクセル数：    ８９  
セグメント数：  １８  
スパン数：      １３  
【００６３】
一方、図１１（ｃ）は、印刷時間予測シーケンスにおいて、推定されたパラメータ値に基づいて生成される擬似オブジェクト１１０１を示している。また、符号１１０１ｃは擬似オブジェクト１１０１のバウンディングボックスを示す。図１１（ｄ）は、擬似オブジェクト１１０１が有する特徴である、ピクセル数、セグメント数、スパン数の一例を説明する図である。パス１１０１ａは、擬似オブジェクト１１０１の全体の外形を示す点列または点列を結ぶ線分に相当し、エッジ１１０１ｄ、１１０１ｅは擬似オブジェクト１１０１の点列をトレースして取得するベクトル情報に相当する。本例では、擬似オブジェクト１１０１を解析することにより以下のパラメータ値が取得される。  
ピクセル数：    ８７  
セグメント数：  １８  
スパン数：      １３  
【００６４】
以下、本実施形態において、結合予測部２３２が擬似オブジェクト１１０１を生成する手順について説明する。まず、結合予測部２３２は、オブジェクト３１２のバウンディングボックス３１２ｃを超えない範囲で、推定ピクセル数と近似する矩形パス（不図示）を生成する。なお、このとき矩形パスの高さは、バウンディングボックス３１２ｃの高さと同じに設定される。バウンディングボックス３１２ｃは、幅が１３ピクセル長、高さが１３ピクセル長である。Ｓ３０５で推定されたピクセル数は「８９」なので、結合予測部２３２は、幅７ピクセル長、高さ１３ピクセル長の矩形パス（ピクセル数は７×１３＝９１）を生成する。
【００６５】
次に、結合予測部２３２は、推定セグメント数と近似するように矩形パスを変形する。結合予測部２３２が矩形パスを変形する例を、図１２の模式図に示す。図１２の左図は変形前の矩形パスの部分拡大図であり、図１２の右図は変形後のパス１１０１ａの部分拡大図である。図１２に示されるように、矩形パスの外形を波形に変形することに応じて、エッジ１１０１ｄにおける変化点であるセグメント数も４つ増加する。本実施形態の結合予測部２３２は、矩形パスを図１１（ｃ）に示されるパス１１０１のように変形する。本例において、推定セグメント数は「１８」なので、結合予測部２３２は矩形パスに対して、図１２で説明した手法による変形を４回行う。この結果、結合予測部２３２は、セグメント数「１８」の擬似オブジェクト１１０１を得ることができる。
【００６６】
なお、結合予測部２３２は、必要に応じて矩形パス１１０１ａを推定スパン数に近似させるように変形することができるが、図１１の例においては推定スパン数「１３」と同値の高さを有するパス１１０１ａを生成しているため、本例ではこの処理を行わない。
【００６７】
このように、結合予測部２３２は、Ｓ３０５で推定されたパラメータ値によって特定される特徴を有する擬似オブジェクトを生成する。かかる構成により、本実施形態の印刷時間予測装置１００は、実際にレンダリング処理を実行することなく、結合対象のオブジェクトの特徴であるピクセル数、セグメント数、スパン数を、プロファイル生成部２５０に提供することができる。
【００６８】
図１１の変形処理においては、結合予測部２３２が、矩形パスの左側のみを変形させることにより推定セグメント数と近似させることができた。矩形パスの左側のみを変形しても推定セグメント数に満たない場合、結合予測部２３２は、矩形パスの右側を変形してもよい。図１０（ｂ）は、結合予測部２３２が、三角形オブジェクト１００１について推定したピクセル数、セグメント数、スパン数に応じて生成した、擬似オブジェクト１００３を示す図である。図１２で説明した手法により、結合予測部２３２は、セグメント数が「２８」と近似するように擬似オブジェクト１００３を変形している。本例では、擬似オブジェクト１００３（矩形パス）の左側に４回変形を施してセグメント数「１６」を得ているが、この値では推定セグメント数「２８」に満たない。そこで、結合予測部２３２は、擬似オブジェクト１００３の右側にさらに２回変形を施してセグメント数「８」を得ている。
【００６９】
さらに、矩形パスの両側を変形しても、推定されたセグメント数に満たない場合、結合予測部２３２はさらに矩形パスの内側を変形させることにより、擬似オブジェクト１３０２（図１３）を得てもよい。また、擬似オブジェクトから取得されるスパン数が推定されたスパン数に満たない場合、結合予測部２３２はさらに矩形パスの内側を変形させることにより、擬似オブジェクト１３０３を得てもよい。
【００７０】
結合予測部２３２が擬似オブジェクト（パス）に対して変形を施すことにより、擬似オブジェクトのピクセル数が減少してしまう場合がある。この場合、結合予測部２３２は、矩形パスの幅を拡張することにより、推定されたピクセル数に近似するピクセル数を有する擬似オブジェクト１３０４を得ることができる。ただし、擬似オブジェクトがバウンディングボックスよりも大きくなればなるほど、印刷時間の予測精度が低下してしまうため、擬似オブジェクトの最大幅はバウンディングボックスに収まることが望ましい。この点、印刷時間を高精度に予測するために、最適化予測部２３０は、バウンディングボックスの大きさ、ピクセル数、セグメント数、スパン数の優先順位で、変化後のオブジェクトの特徴に近似するように擬似オブジェクト（パス）を変形することが望ましい。
【００７１】
再び図８に戻り、Ｓ３０７において、結合予測部２３２は、カウンタｉの値を「０」にリセットする。  
Ｓ３０８において、結合予測部２３２は、スプールされているオブジェクトを消去し、ＲＡＭ１０２のスプール領域をクリアする。  
Ｓ３０９において、結合予測部２３２は、新たなオブジェクトをＲＡＭ１０２などの記憶領域にスプールする。  
Ｓ３１０において、結合予測部２３２は、カウンタｉの値を「１」インクリメントし、オブジェクト最適化処理（図７）のフローチャートに復帰する。
【００７２】
図１４は、本実施形態において、タッチスクリーンディスプレイで構成される操作部１０６に表示される画面表示例である。本実施形態の印刷時間予測装置１００は、いわゆる留置印刷機能を有する画像形成装置である。一般的に、留置印刷とは、受信した印刷ジョブを一旦留置（スプール）し、ユーザＩＤ入力などの操作が行われることに応じて記録媒体への出力を行う、画像形成装置の機能をいう。本実施形態の画像形成装置は、印刷時間予測シーケンスにおいて導出された印刷予測時間１４０１を、留置中の印刷ジョブと対応付けて操作部１０６に表示することができる。かかる構成により、ユーザは、精度の高い印刷予測時間に基づいて、画像形成装置に出力させる印刷ジョブの順番を決定することができる。このように、本実施形態の印刷時間予測装置１００は、より利便性の高い印刷環境をユーザに提供することができる。
【００７３】
以上説明した通り、本実施形態の印刷時間予測装置は、印刷シーケンスにおけるオブジェクトの最適化を考慮して印刷予測時間を導出することができる。かかる構成により、印刷時間予測装置は、印刷データを印刷するために要する印刷時間を高精度に予測することができる。
【００７４】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006679329.tif 000004
【図２】
0006679329.tif 000005
【図３】
0006679329.tif 000006
【図４】
0006679329.tif 000007
【図５】
0006679329.tif 000008
【図６】
0006679329.tif 000009
【図７】
0006679329.tif 000010
【図８】
0006679329.tif 000011
【図９】
0006679329.tif 000012
【図１０】
0006679329.tif 000013
【図１１】
0006679329.tif 000014
【図１２】
0006679329.tif 000015
【図１３】
0006679329.tif 000016
【図１４】
0006679329.tif 000017