(57)【特許請求の範囲】
【請求項１】
複数のプロセッサと、
ＰＤＬの処理の移管の要否の判定の基準である移管条件情報を記憶する移管条件メモリとを備えており、
前記プロセッサのそれぞれは、
印刷データのＰＤＬを解釈するＰＤＬ解釈手段と、
前記ＰＤＬ解釈手段によって解釈されたＰＤＬオペレータに基づいて印刷中間言語であるＯＬを生成するＯＬ生成手段と、
前記ＰＤＬオペレータが描画ＯＬを生成するための描画オペレータであるときに他のプロセッサに以降のＰＤＬの処理の移管をする処理移管手段と、
前記描画オペレータの処理内容と前記移管条件メモリに格納された前記移管条件情報とに基づいて前記移管の要否の判定をする移管判定手段と、
前記移管に要する時間である移管時間を計測する移管時間計測手段と、
前記プロセッサ毎に単独での前記描画ＯＬの生成時間をテスト用のデータを使用して計測する描画ＯＬ生成時間計測手段と、
前記移管条件情報を生成する移管条件生成手段とを有し、
前記移管条件情報は、前記描画ＯＬのパラメータに対する閾値の情報であって、
前記移管判定手段は、前記描画ＯＬのパラメータが前記閾値より大きい場合、前記移管が必要であると判定し、
前記移管条件生成手段は、前記移管時間計測手段によって計測された前記移管時間と、前記描画ＯＬ生成時間計測手段によって計測された前記生成時間とに基づいて、前記移管時間で生成可能な前記描画ＯＬのパラメータを前記閾値とする前記移管条件情報を生成することを特徴とする画像形成装置。
【請求項２】
前記ＯＬを格納するＯＬバッファと、
前記プロセッサ毎に設けられた個別バッファとを備えており、
前記プロセッサのそれぞれは、
前記ＯＬ生成手段が前記描画ＯＬの生成を終了したときに前記描画ＯＬの生成の終了の通知を移管先の前記プロセッサに対して行う終了通知手段と、
移管元の前記プロセッサが無いときに前記ＯＬ生成手段によって生成された前記ＯＬを前記ＯＬバッファに格納するＯＬバッファ格納手段と、
前記通知を移管元の前記プロセッサから受信するまで前記ＯＬ生成手段によって生成された前記ＯＬを前記個別バッファに格納する個別バッファ格納手段と、
前記通知を移管元の前記プロセッサから受信した時点で前記個別バッファに格納されている前記ＯＬを前記ＯＬバッファに排出するＯＬ排出手段と
を有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記プロセッサのそれぞれは、前記移管条件メモリを内蔵していることを特徴とする請求項１または請求項２に記載の画像形成装置。
【請求項４】
前記画像形成装置の外部から前記移管条件情報を受け付ける移管条件受付手段を備えていることを特徴とする請求項１または請求項２に記載の画像形成装置。
【請求項５】
前記移管条件受付手段によって受け付けられた前記移管条件情報を記憶する不揮発メモリと、
前記画像形成装置の起動時に前記不揮発メモリに記憶されている前記移管条件情報を前記移管条件メモリに書き込む移管条件書込手段とを備えており、
前記プロセッサのそれぞれは、前記移管条件メモリを内蔵していることを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記不揮発メモリに記憶されている前記移管条件情報を前記画像形成装置の外部からの要求に応じて前記不揮発メモリから削除する移管条件削除手段を備えていることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
デフォルトの前記移管条件情報を記憶しているデフォルト移管条件メモリを備えており、
前記移管条件書込手段は、前記画像形成装置の起動時に前記不揮発メモリに前記移管条件情報が記憶されていないとき、前記デフォルト移管条件メモリに記憶されている前記移管条件情報を前記移管条件メモリに書き込むことを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記移管条件メモリから前記移管条件情報を取得する移管条件取得手段と、
前記移管条件取得手段によって取得された前記移管条件情報を前記画像形成装置の外部に通知する移管条件通知手段と
を備えていることを特徴とする請求項４から請求項７までの何れかに記載の画像形成装置。
【請求項９】
複数のプロセッサと、ＰＤＬの処理の移管の要否の判定の基準である移管条件情報を記憶する移管条件メモリとを備えている画像形成装置のプログラムであって、
印刷データのＰＤＬを解釈するＰＤＬ解釈手段、
前記ＰＤＬ解釈手段によって解釈されたＰＤＬオペレータに基づいて印刷中間言語であるＯＬを生成するＯＬ生成手段、
前記ＰＤＬオペレータが描画ＯＬを生成するための描画オペレータであるときに他のプロセッサに以降のＰＤＬの処理の移管をする処理移管手段、
前記描画オペレータの処理内容と前記移管条件メモリに格納された前記移管条件情報とに基づいて前記移管の要否の判定をする移管判定手段、
前記移管に要する時間である移管時間を計測する移管時間計測手段、
前記プロセッサ毎に単独での前記描画ＯＬの生成時間をテスト用のデータを使用して計測する描画ＯＬ生成時間計測手段、及び
前記移管条件情報を生成する移管条件生成手段
として前記プロセッサのそれぞれを機能させ、
前記移管条件情報は、前記描画ＯＬのパラメータに対する閾値の情報であって、
前記移管判定手段は、前記描画ＯＬのパラメータが前記閾値より大きい場合、前記移管が必要であると判定し、
前記移管条件生成手段は、前記移管時間計測手段によって計測された前記移管時間と、前記描画ＯＬ生成時間計測手段によって計測された前記生成時間とに基づいて、前記移管時間で生成可能な前記描画ＯＬのパラメータを前記閾値とする前記移管条件情報を生成することを特徴とする画像形成プログラム。
【請求項１０】
前記画像形成装置は、
前記ＯＬを格納するＯＬバッファと、
前記プロセッサ毎に設けられた個別バッファとを備えており、
前記画像形成プログラムは、
前記ＯＬ生成手段が前記描画ＯＬの生成を終了したときに前記描画ＯＬの生成の終了の通知を移管先の前記プロセッサに対して行う終了通知手段、
移管元の前記プロセッサが無いときに前記ＯＬ生成手段によって生成された前記ＯＬを前記ＯＬバッファに格納するＯＬバッファ格納手段、
前記通知を移管元の前記プロセッサから受信するまで前記ＯＬ生成手段によって生成された前記ＯＬを前記個別バッファに格納する個別バッファ格納手段、及び
前記通知を移管元の前記プロセッサから受信した時点で前記個別バッファに格納されている前記ＯＬを前記ＯＬバッファに排出するＯＬ排出手段
として前記プロセッサのそれぞれを機能させることを特徴とする請求項９に記載の画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサを搭載した画像形成装置に関する。
【背景技術】
【０００２】
従来、複数のプロセッサを搭載した画像処理装置において、印刷データに基づいて印刷を実行する印刷処理を複数のプロセッサで並列に処理することによって、印刷処理を高速化するものが知られている。
【０００３】
ここで、印刷処理は、受信したＰｏｓｔｓｃｒｉｐｔやＰＣＬＸＬなどのページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ。以下「ＰＤＬ」という。）形式の印刷データを解釈するＰＤＬ解釈処理と、ＰＤＬ解釈処理によって解釈された内容に基づいて印刷中間言語（Ｏｒｄｅｒｌｉｓｔ。以下「ＯＬ」という。）を生成するＯＬ生成処理と、ＯＬ生成処理によって生成されたＯＬに基づいて最終的な印刷用のドットデータを生成するＯＬ描画処理と、ＯＬ描画処理によって生成されたドットデータに基づいて印刷を実行する出力処理という４つの処理で構成されている。
【０００４】
一般的に、ＰＤＬ解釈処理およびＯＬ生成処理は、合わせてＯＬ生成工程として捉えられるとともに、ＯＬ描画処理および出力処理は、合わせてＯＬ処理工程として捉えられることが多い。つまり、印刷処理は、ＯＬ生成工程と、ＯＬ処理工程という２つの工程で構成されていると考えられることが多い。
【０００５】
ＯＬ生成工程およびＯＬ処理工程に関する複数のプロセッサによる並列処理の実現方法は、次の３つに分類されることができる。
（１）ＯＬ生成工程における並列処理化
（２）ＯＬ処理工程における並列処理化
（３）ＯＬ生成工程とＯＬ処理工程との並列処理化
【０００６】
「ＯＬ処理工程における並列処理化」の例としては、ページ内のそれぞれの分割領域に対して、ＯＬコマンドの数や、負荷の重いコマンドがあるか否かの状態に基づいて負荷状態の調査を行い、負荷状態の調査結果に基づいて各プロセッサの負荷が均一になるように各プロセッサに処理領域を割り当てるものが知られている（例えば、特許文献１参照。）。
【０００７】
「ＯＬ生成工程とＯＬ処理工程との並列処理化」の例としては、各プロセッサのアイドル時間を少なくするために、ＯＬ生成工程と、ＯＬ処理工程とを複数のプロセッサで並列に処理するものが知られている（例えば、特許文献２参照。）。
【０００８】
「ＯＬ生成工程における並列処理化」の例としては、ＯＬ生成工程のＰＤＬ解釈処理に相当する空描画と、ＯＬ生成工程のＰＤＬ解釈処理からＯＬ処理工程のＯＬ描画処理までの一連の処理に相当する実描画とを行うことができる印刷制御装置であって、マスタプロセッサによって空描画をページ順に行うことによって各ページの紙サイズやフォント情報などの書式情報を取得し、空描画が終了したページの次のページの実描画を複数のスレーブプロセッサのうち実描画を行っていない１つのスレーブプロセッサに行わせるものが知られている（例えば、特許文献３参照。）。
【０００９】
また、「ＯＬ生成工程における並列処理化」の例としては、ＯＬ生成工程のＰＤＬ解釈処理に相当する空描画と、ＯＬ生成工程のＰＤＬ解釈処理からＯＬ処理工程のＯＬ描画処理までの一連の処理に相当するビットマップ展開とを行うことができるページプリンタ制御装置であって、ビットマップ展開を行っていないプロセッサによって空描画をページ順に行い、空描画が終了したページの次のページのビットマップ展開を複数のプロセッサのうちビットマップ展開を行っていない１つのプロセッサに行わせることによって、各プロセッサのアイドル時間を少なくするものも知られている（例えば、特許文献４参照。）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第３７２８８２０号公報
【特許文献２】特開２００７−１５６６１３号公報
【特許文献３】特開２００３−６７１５６号公報
【特許文献４】特開２００５−６３０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献３および特許文献４に記載されたものは、複数のページの印刷データに対して全体の処理時間を短縮するものであり、ページ単位の処理を高速化することができないという問題がある。
【００１２】
そこで、本発明は、ＯＬ生成工程における並列処理化によってページ単位の処理を高速化することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の画像形成装置は、複数のプロセッサと、ＰＤＬの処理の移管の要否の判定の基準である移管条件情報を記憶する移管条件メモリとを備えており、前記プロセッサのそれぞれは、印刷データのＰＤＬを解釈するＰＤＬ解釈手段と、前記ＰＤＬ解釈手段によって解釈されたＰＤＬオペレータに基づいて印刷中間言語であるＯＬを生成するＯＬ生成手段と、前記ＰＤＬオペレータが描画ＯＬを生成するための描画オペレータであるときに他のプロセッサに以降のＰＤＬの処理の移管をする処理移管手段と、前記描画オペレータの処理内容と前記移管条件メモリに格納された前記移管条件情報とに基づいて前記移管の要否の判定をする移管判定手段とを有することを特徴とする。
【００１４】
この構成により、本発明の画像形成装置は、処理が重い描画オペレータに基づいてプロセッサが描画ＯＬを生成するときに、ＯＬ生成工程における並列処理化によってページ単位の処理を高速化することができる。また、本発明の画像形成装置は、ＰＤＬオペレータが描画オペレータであるときに描画オペレータの処理内容によらず移管を行う構成と比較して、ページ単位の処理を高速化することができる。
【００１５】
また、本発明の画像形成装置の前記プロセッサのそれぞれは、前記移管条件メモリを内蔵していても良い。
【００１６】
この構成により、本発明の画像形成装置は、移管条件メモリをプロセッサの外部のメモリで構成する場合と比較して、処理を高速化することができる。
【００１７】
また、本発明の画像形成装置は、前記画像形成装置の外部から前記移管条件情報を受け付ける移管条件受付手段を備えていても良い。
【００１８】
この構成により、本発明の画像形成装置は、移管条件情報の変更を容易化することができる。
【００１９】
また、本発明の画像形成装置は、前記移管条件受付手段によって受け付けられた前記移管条件情報を記憶する不揮発メモリと、前記画像形成装置の起動時に前記不揮発メモリに記憶されている前記移管条件情報を前記移管条件メモリに書き込む移管条件書込手段とを備えており、前記プロセッサのそれぞれは、前記移管条件メモリを内蔵していても良い。
【００２０】
この構成により、本発明の画像形成装置は、起動後に移管条件情報を反映することができる。
【００２１】
また、本発明の画像形成装置は、前記不揮発メモリに記憶されている前記移管条件情報を前記画像形成装置の外部からの要求に応じて前記不揮発メモリから削除する移管条件削除手段を備えていても良い。
【００２２】
この構成により、本発明の画像形成装置は、変更された移管条件情報を削除することができる。
【００２３】
また、本発明の画像形成装置は、デフォルトの前記移管条件情報を記憶しているデフォルト移管条件メモリを備えており、前記移管条件書込手段は、前記画像形成装置の起動時に前記不揮発メモリに前記移管条件情報が記憶されていないとき、前記デフォルト移管条件メモリに記憶されている前記移管条件情報を前記移管条件メモリに書き込んでも良い。
【００２４】
この構成により、本発明の画像形成装置は、変更された移管条件情報を削除したときに、起動後にデフォルトの移管条件情報を適用することができる。
【００２５】
また、本発明の画像形成装置は、前記移管条件メモリから前記移管条件情報を取得する移管条件取得手段と、前記移管条件取得手段によって取得された前記移管条件情報を前記画像形成装置の外部に通知する移管条件通知手段とを備えていても良い。
【００２６】
この構成により、本発明の画像形成装置は、現在設定されている移管条件情報を外部に通知することができる。
【００２７】
また、本発明の画像形成装置は、前記移管に要する時間である移管時間を計測する移管時間計測手段と、前記プロセッサ毎に単独での前記描画ＯＬの生成時間をテスト用のデータを使用して計測する描画ＯＬ生成時間計測手段と、前記移管条件情報を生成する移管条件生成手段とを備えており、前記移管条件生成手段は、前記移管時間計測手段によって計測された前記移管時間と、前記描画ＯＬ生成時間計測手段によって計測された前記生成時間とに基づいて、前記移管条件情報を生成しても良い。
【００２８】
この構成により、本発明の画像形成装置は、利用者が手動で移管条件情報を変更する構成と比較して、移管条件情報の変更を容易化することができる。また、本発明の画像形成装置は、実際の用紙への印刷の測定結果に基づいて移管条件情報を生成する構成と比較して、用紙を節約することができる。
【００２９】
また、本発明の画像形成プログラムは、複数のプロセッサと、ＰＤＬの処理の移管の要否の判定の基準である移管条件情報を記憶する移管条件メモリとを備えている画像形成装置のプログラムであって、印刷データのＰＤＬを解釈するＰＤＬ解釈手段、前記ＰＤＬ解釈手段によって解釈されたＰＤＬオペレータに基づいて印刷中間言語であるＯＬを生成するＯＬ生成手段と、前記ＰＤＬオペレータが描画ＯＬを生成するための描画オペレータであるときに他のプロセッサに以降のＰＤＬの処理の移管をする処理移管手段、及び、前記描画オペレータの処理内容と前記移管条件メモリに格納された前記移管条件情報とに基づいて前記移管の要否の判定をする移管判定手段として前記プロセッサのそれぞれを機能させることを特徴とする。
【００３０】
この構成により、本発明の画像形成プログラムを実行する画像形成装置は、処理が重い描画オペレータに基づいてプロセッサが描画ＯＬを生成するときに、ＯＬ生成工程における並列処理化によってページ単位の処理を高速化することができる。また、本発明の画像形成プログラムを実行する画像形成装置は、ＰＤＬオペレータが描画オペレータであるときに描画オペレータの処理内容によらず移管を行う構成と比較して、ページ単位の処理を高速化することができる。
【発明の効果】
【００３１】
本発明の画像形成装置は、ＯＬ生成工程における並列処理化によってページ単位の処理を高速化することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施の形態に係る画像形成装置のハードウェア構成図である。
【図２】図１に示す画像形成装置の機能ブロック図である。
【図３】図２に示すプロセッサ情報を示す図である。
【図４】（ａ）クロック数が６５０ＭＨｚのプロセッサに対する図２に示す移管条件情報の一例を示す図である。（ｂ）クロック数が７００ＭＨｚのプロセッサに対する図２に示す移管条件情報の一例を示す図である。
【図５】図１に示す画像形成装置の１つのプロセッサの動作のフローチャートである。
【図６】図５に示すフローチャートの続きのフローチャートである。
【図７】図２に示すＰＤＬホストバッファに格納される印刷データの一例を示す図である。
【図８】図７に示す印刷データに対する各プロセッサのタイミングチャートであって、他のプロセッサに以降のＰＤＬの処理の移管をする必要があるとプロセッサが判定する場合のタイミングチャートである。
【図９】図２に示すＯＬバッファに格納されたスタックの状態を示す図である。
【図１０】図７に示す印刷データに対する各プロセッサのタイミングチャートであって、他のプロセッサに以降のＰＤＬの処理の移管をする必要がないとプロセッサが判定する場合のタイミングチャートである。
【図１１】本発明の第２の実施の形態に係る画像形成装置のハードウェア構成図である。
【図１２】図１１に示す画像形成装置の機能ブロック図である。
【図１３】図１１に示す画像形成装置のプロセッサ情報を示す図である。
【図１４】（ａ）図１１に示すＲＯＭに記憶されているデフォルト移管条件情報の一例を示す図である。（ｂ）図１２に示す不揮発メモリに記憶される更新用移管条件情報の一例を示す図である。
【図１５】図１１に示す外部装置としてのＰＣのモニタに表示される移管条件設定画面を示す図である。
【図１６】移管条件情報の更新が実行されるときの図１１に示す画像形成装置の動作のシーケンス図である。
【図１７】移管条件情報の確認が実行されるときの図１１に示す画像形成装置の動作のシーケンス図である。
【図１８】図１１に示す画像形成装置から外部に通知される通知用移管条件情報の一例を示す図である。
【図１９】移管条件情報のリセットが実行されるときの図１１に示す画像形成装置の動作のシーケンス図である。
【図２０】本発明の第３の実施の形態に係る画像形成装置のハードウェア構成図である。
【図２１】図２０に示す画像形成装置の機能ブロック図である。
【図２２】図２０に示す外部装置としてのＰＣのモニタに表示される移管条件設定画面を示す図である。
【図２３】自動による移管条件情報の更新が実行されるときの図２０に示す画像形成装置の動作のフローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態について、図面を用いて説明する。
【００３４】
（第１の実施の形態）
まず、本実施の形態に係る画像形成装置の構成について説明する。
【００３５】
図１は、本実施の形態に係る画像形成装置１０のハードウェア構成図である。
【００３６】
図１に示すように、画像形成装置１０は、システムバス１１と、プロセッサ１２を含む複数のプロセッサと、本発明の画像形成プログラムを含む各種のプログラムや各種のデータを予め記憶しているＲＯＭ(Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ)１３と、プロセッサによってプログラムが実行されるときにプログラムや各種のデータを一時的に記憶する作業領域として用いられるＲＡＭ(Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)１４と、最終的な印刷用のドットデータに基づいて用紙などの記録媒体に印刷を実行するプリントエンジン１５と、利用者による操作を受け付ける操作パネル１６と、外部装置９０と通信を行うための入出力ポート１７とを備えている。
複数のプロセッサ、ＲＯＭ１３、ＲＡＭ１４、プリントエンジン１５、操作パネル１６、及び入出力ポート１７は、互いにシステムバス１１により接続されている。
【００３７】
プロセッサ１２は、ＲＯＭ１３に記憶されているプログラムを実行する演算処理装置としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサ１２は、ローカルメモリ１２ａを内蔵している。画像形成装置が備える複数のプロセッサは、全てプロセッサ１２と同じ構成を備える。複数のプロセッサは、図示していない１つのコントローラボードに搭載されている。
【００３８】
入出力ポート１７は、例えば外部装置９０がＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である場合、ネットワークやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのバスを経由して外部装置９０と接続される。また、入出力ポート１７は、例えば外部装置９０がＵＳＢメモリである場合、ＵＳＢを経由して外部装置９０と接続される。
【００３９】
なお、画像形成装置１０は、例えば、複合機、プリンタなどの画像形成装置である。
【００４０】
図２は、画像形成装置１０の機能ブロック図である。
【００４１】
図２に示すように、ＲＡＭ１４は、ＰＤＬ形式の印刷データを格納するＰＤＬホストバッファ２１と、ＯＬを格納するＯＬバッファ２２と、印刷処理全体で使用されるワークメモリ２３として機能する。
【００４２】
なお、ＰＤＬホストバッファ２１に格納される印刷データは、例えば外部装置９０がＰＣである場合、外部装置９０から送信されてネットワークやＵＳＢなどのバスを経由して受信されたデータである。また、ＰＤＬホストバッファ２１に格納される印刷データは、外部装置９０がＵＳＢメモリである場合、利用者による操作パネル１６への操作に応じて外部装置９０から読み出されたデータである。
【００４３】
プロセッサ１２のローカルメモリ１２ａは、プロセッサ１２の情報であるプロセッサ情報３１と、後述する移管の要否の判定の基準である移管条件情報３２とを記憶している。すなわち、ローカルメモリ１２ａは、本発明の移管条件メモリを構成している。プロセッサ情報３１および移管条件情報３２は、プロセッサ１２自身用の情報である。プロセッサ１２は、ＲＯＭ１３に記憶されている画像形成プログラムを実行することによって、個別バッファ３３、ＰＤＬ解釈手段４１、ＰＤＬ判定手段４２、ＯＬ生成手段４３、移管判定手段４４、プロセッサ探索手段４５、処理移管手段４６、終了通知手段４７、ＯＬバッファ格納手段４８、個別バッファ格納手段４９、受信待機手段５０、ＯＬ排出手段５１、ＯＬ処理手段５２、及び、出力手段５３として機能する。画像形成装置が備える複数のプロセッサは、全てプロセッサ１２と同じ構成を備える。
個別バッファ３３は、プロセッサ毎に設けられている。
ＰＤＬ解釈手段４１は、ＰＤＬホストバッファ２１から印刷データを読み出してＰＤＬを解釈する。
ＰＤＬ判定手段４２は、ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータ（オペレーションコード）の種類を判定する。
ＯＬ生成手段４３は、ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータに基づいてＲＯＰ（ラスタオペレーション）指定などのグラフィック状態の設定ＯＬやImage処理、Paint処理といった描画処理の描画ＯＬを生成する。
移管判定手段４４は、描画ＯＬを生成するための描画オペレータの処理内容に基づいて後述する移管の要否の判定をする。
プロセッサ探索手段４５は、ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータが描画オペレータであるときに他のアイドル状態のプロセッサを探索する。
処理移管手段４６は、プロセッサ探索手段４５によって探索された他のプロセッサに以降のＰＤＬの処理の移管をする。
終了通知手段４７は、ＯＬ生成手段４３が描画ＯＬの生成を終了したときに描画ＯＬの生成の終了の通知を移管先のプロセッサに対して行う。
ＯＬバッファ格納手段４８は、移管元のプロセッサが無いときにＯＬ生成手段４３によって生成されたＯＬをＯＬバッファ２２に格納する。
個別バッファ格納手段４９は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまでＯＬ生成手段４３によって生成されたＯＬを個別バッファ３３に一時的に格納する。
受信待機手段５０は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで待機する。
ＯＬ排出手段５１は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信した時点で個別バッファ３３に格納されているＯＬをＯＬバッファ２２に排出する。
ＯＬ処理手段５２は、ＯＬバッファ２２に格納されているＯＬに基づいて最終的な印刷用のドットデータを生成する。
出力手段５３は、ＯＬ処理手段５２によって生成されたドットデータをプリントエンジン１５に送信する。
【００４４】
ＰＤＬ判定手段４２は、ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータが、情報オペレータ、設定ＯＬオペレータ、描画オペレータ、ページ終了オペレータの何れであるかを判定する。情報オペレータは、パス情報や色情報などの設定情報のオペレータである。設定ＯＬオペレータは、グラフィック状態の設定ＯＬを生成するためのオペレータである。描画オペレータは、描画ＯＬを生成するためのオペレータである。ページ終了オペレータは、ページの終了を示すオペレータである。情報オペレータおよび設定ＯＬオペレータは、何れも描画のための設定情報のオペレータであるが、設定ＯＬオペレータがＯＬを生成するためのオペレータである点において両者は異なる。
【００４５】
個別バッファ３３は、ＯＬ生成手段４３によって生成されたグラフィック状態の設定ＯＬや描画ＯＬを一時的に格納するためのバッファであり、プロセッサのローカルメモリによって構成されている。
【００４６】
図３は、プロセッサ情報３１を示す図である。
【００４７】
図３に示すように、プロセッサ情報３１は、移管元のプロセッサのＩＤを示す移管元ＩＤ３１ａと、移管先のプロセッサのＩＤを示す移管先ＩＤ３１ｂと、画像形成装置１０に搭載されているプロセッサの総数を示すプロセッサ数３１ｃと、プロセッサ１２の現在の描画状態を示す描画状態３１ｄとを含んでいる。なお、プロセッサ数３１ｃは、プロセッサ探索手段４５がアイドル状態の他のプロセッサを探索するときに必要な情報である。
【００４８】
図４（ａ）は、クロック数が６５０ＭＨｚのプロセッサに対する移管条件情報３２の一例を示す図である。図４（ｂ）は、クロック数が７００ＭＨｚのプロセッサに対する移管条件情報３２の一例を示す図である。
【００４９】
図４に示すように、移管条件情報３２は、描画ＯＬのパラメータに対する閾値の情報である。ベジェ曲線に対する閾値としてベジェ曲線のパス数、Ｓｔｒｏｋｅ（直線）に対する閾値としてＳｔｒｏｋｅのパス数、イメージに対する閾値としてイメージのピクセル数が記憶されている。例えば、プロセッサのローカルメモリは、自身のクロック数が６５０ＭＨｚであるときに図４（ａ）に示す移管条件情報３２を、自身のクロック数が７００ＭＨｚであるときに図４（ｂ）に示す移管条件情報３２を記憶している。なお、図４に示す閾値は、移管元のプロセッサが移管先のプロセッサに処理の移管の依頼を開始してから、移管先のプロセッサが共有メモリであるＲＡＭ１４にアクセスして実際に処理を開始することができるまでの時間（以下「移管時間」という。）に基づいて設定することができる。例えば、閾値は、描画ＯＬの生成時間が移管時間未満または移管時間以下となる描画オペレータに対してＰＤＬの処理が移管される必要がないと判定されるように設定されれば良い。つまり、図４に示す閾値は、システムバス１１やプロセッサの性能に応じて割り当てられれば良い。
【００５０】
次に、画像形成装置１０の動作について説明する。
【００５１】
図５は、画像形成装置１０の複数のプロセッサの内の１つであるプロセッサ１２の動作のフローチャートである。図６は、図５に示すフローチャートの続きのフローチャートである。以下においては、プロセッサ１２の動作について説明するが、他のプロセッサの動作についても同様である。
【００５２】
図５および図６に示すように、画像形成装置１０のプロセッサ１２は、ＰＤＬホストバッファ２１に印刷データが有るか否かを判断する（Ｓ１０１）。
【００５３】
Ｓ１０１においてＰＤＬホストバッファ２１に印刷データが無いと判断されると、プロセッサ１２は、図５および図６に示す処理を終了する。
【００５４】
一方、Ｓ１０１においてＰＤＬホストバッファ２１に印刷データが有ると判断されると、ＰＤＬ解釈手段４１は、ＰＤＬホストバッファ２１から印刷データを読み出して（Ｓ１０２）、印刷データのＰＤＬを解釈する（Ｓ１０３）。
【００５５】
次いで、ＰＤＬ判定手段４２は、ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータの種類を判定する（Ｓ１０４）。
【００５６】
ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータがＳ１０４において情報オペレータであると判定されると、ＰＤＬ判定手段４２は、この情報オペレータの設定情報をローカルメモリ１２ａに格納する（Ｓ１１１）。次いで、ＰＤＬ判定手段４２は、この設定情報が以降のＰＤＬオペレータで使用される設定情報であるか否かを判断する（Ｓ１１２）。
【００５７】
Ｓ１１２において情報オペレータの設定情報が以降のＰＤＬオペレータで使用される設定情報ではないと判断されると、処理はＳ１０１へ移行する。
【００５８】
一方、情報オペレータの設定情報が以降のＰＤＬオペレータで使用される設定情報であるとＳ１１２において判断されると、ＰＤＬ判定手段４２は、この設定情報を複数のプロセッサの共有メモリであるＲＡＭ１４に格納し（Ｓ１１３）、処理はＳ１０１へ移行する。
【００５９】
ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータが設定ＯＬオペレータであるとＳ１０４において判定されると、ＯＬ生成手段４３は、この設定ＯＬオペレータに基づいてグラフィック状態の設定ＯＬを生成する（Ｓ１３１）。
【００６０】
次いで、移管判定手段４４は、移管元のプロセッサが存在するか否かを判断する（Ｓ１３２）。ここで、移管判定手段４４は、自身用のプロセッサ情報３１における移管元ＩＤ３１ａが０以外の場合に、移管元のプロセッサが存在すると判断し、自身用のプロセッサ情報３１における移管元ＩＤ３１ａが０の場合に、移管元のプロセッサが存在しないと判断する。
【００６１】
Ｓ１３２において移管元のプロセッサが存在しないと判断されると、ＯＬバッファ格納手段４８は、Ｓ１３１において生成された設定ＯＬをＯＬバッファ２２に格納して（Ｓ１３３）、処理はＳ１０１へ移行する。
【００６２】
一方、Ｓ１３２において移管元のプロセッサが存在すると判断されると、個別バッファ格納手段４９は、Ｓ１３１において生成された設定ＯＬを個別バッファ３３に格納する（Ｓ１３４）。
【００６３】
次いで、受信待機手段５０は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで待機する（Ｓ１３５）。なお、受信待機手段５０は、受信した通知が移管元のプロセッサからの通知であることを、自身用のプロセッサ情報３１における移管元ＩＤ３１ａに基づいて判断する。
【００６４】
描画ＯＬの生成の終了の通知が移管元のプロセッサから受信されると、移管判定手段４４は、自身用のプロセッサ情報３１における移管元ＩＤ３１ａをリセットして０にする（Ｓ１３６）。
【００６５】
次いで、ＯＬ排出手段５１は、個別バッファ３３に格納されている設定ＯＬをＯＬバッファ２２に排出して（Ｓ１３７）、処理はＳ１０１へ移行する。
【００６６】
ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータが描画オペレータであるとＳ１０４において判定されると、移管判定手段４４は、他のプロセッサに以降のＰＤＬの処理の移管をする必要があるか否かを判定する（Ｓ１５１）。具体的には、移管判定手段４４は、ＰＤＬ解釈手段４１によって解釈された描画オペレータのパラメータから描画がベジェ曲線、Ｓｔｒｏｋｅ、イメージのうち何れであるかの情報を獲得する。移管判定手段４４は、描画がベジェ曲線又はＳｔｒｏｋｅである場合にはそのパス数の情報を、イメージの描画である場合にはそのピクセル数の情報を獲得する。つまり、移管判定手段４４は、描画オペレータの処理内容を獲得する。そして、移管判定手段４４は、獲得した処理内容と、ローカルメモリ１２ａに記憶されている移管条件情報３２とに基づいて、他のプロセッサに以降のＰＤＬの処理の移管をする必要があるか否かを判定する。例えば、ローカルメモリ１２ａに記憶されている移管条件情報３２が図４（ａ）に示す情報である場合、移管判定手段４４は、ＰＤＬ解釈手段４１によって解釈された描画オペレータのパラメータから８００パスより大きいパス数のベジェ曲線の描画であるという処理内容や、８０００パスより大きいパス数のＳｔｒｏｋｅの描画であるという処理内容や、８０００ピクセルより大きいピクセル数のイメージの描画であるという処理内容を獲得したとき、他のプロセッサに以降のＰＤＬの処理の移管をする必要があると判定する。一方、ローカルメモリ１２ａに記憶されている移管条件情報３２が図４（ａ）に示す情報である場合、移管判定手段４４は、ＰＤＬ解釈手段４１によって解釈された描画オペレータのパラメータから８００パス以下のパス数のベジェ曲線の描画であるという処理内容や、８０００パス以下のパス数のＳｔｒｏｋｅの描画であるという処理内容や、８０００ピクセル以下のピクセル数のイメージの描画であるという処理内容を獲得したとき、他のプロセッサに以降のＰＤＬの処理の移管をする必要がないと判定する。
【００６７】
他のプロセッサに以降のＰＤＬの処理の移管をする必要があるとＳ１５１において判定されると、プロセッサ探索手段４５は、複数のプロセッサの中からアイドル状態のプロセッサを探索する（Ｓ１５２）。具体的には、プロセッサ探索手段４５は、他のプロセッサに対してアイドル状態であるか否かを問い合わせる。このとき、プロセッサ探索手段４５は、自身用のプロセッサ情報３１におけるプロセッサ数３１ｃに基づいて、他のプロセッサの数を認識することができる。問い合わせられたプロセッサは、自身用のプロセッサ情報３１における描画状態３１ｄがＯＦＦであるとき、アイドル状態であるというメッセージを返し、自身用のプロセッサ情報３１における描画状態３１ｄがＯＮであるとき、アイドル状態ではないというメッセージを返す。
【００６８】
次いで、プロセッサ探索手段４５は、Ｓ１５２における探索の結果、アイドル状態のプロセッサが存在するか否かを判断する（Ｓ１５３）。
【００６９】
Ｓ１５１において他のプロセッサに以降のＰＤＬの処理の移管をする必要がないと判定されるか、Ｓ１５３においてアイドル状態のプロセッサが存在しないと判断されると、プロセッサ１２は、自身用のプロセッサ情報３１における描画状態３１ｄをＯＮにする（Ｓ１５４）。
【００７０】
次いで、ＯＬ生成手段４３は、ＰＤＬ解釈手段４１によって解釈された描画オペレータに基づいて描画ＯＬを生成する（Ｓ１５５）。
【００７１】
次いで、プロセッサ探索手段４５は、移管元のプロセッサが存在するか否かを判断する（Ｓ１５６）。ここで、プロセッサ探索手段４５は、自身用のプロセッサ情報３１における移管元ＩＤ３１ａが０以外の場合に、移管元のプロセッサが存在すると判断し、自身用のプロセッサ情報３１における移管元ＩＤ３１ａが０の場合に、移管元のプロセッサが存在しないと判断する。
【００７２】
Ｓ１５６において移管元のプロセッサが存在しないと判断されると、プロセッサ１２は、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにする（Ｓ１５７）。
【００７３】
次いで、ＯＬバッファ格納手段４８は、Ｓ１５５において生成された描画ＯＬをＯＬバッファ２２に格納する（Ｓ１５８）。
【００７４】
次いで、終了通知手段４７は、描画ＯＬの生成の終了の通知を移管先のプロセッサに対して行って（Ｓ１５９）、図５および図６に示す処理が終了する。なお、終了通知手段４７は、自身用のプロセッサ情報３１における移管先ＩＤ３１ｂに基づいて移管先のプロセッサを特定する。また、プロセッサ１２は、Ｓ１５９の処理を実行する際、自身用のプロセッサ情報３１における移管先ＩＤ３１ｂをリセットして０にする。また、プロセッサ１２は、移管先ＩＤ３１ｂが０であるときには、Ｓ１５９において通知を行わない。
【００７５】
Ｓ１５６において移管元のプロセッサが存在すると判断されると、個別バッファ格納手段４９は、Ｓ１５５において生成された描画ＯＬを個別バッファ３３に格納する（Ｓ１６０）。
【００７６】
次いで、受信待機手段５０は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで待機する（Ｓ１６１）。
【００７７】
描画ＯＬの生成の終了の通知が移管元のプロセッサから受信されると、プロセッサ１２は、自身用のプロセッサ情報３１における移管元ＩＤ３１ａをリセットして０にする（Ｓ１６２）。
【００７８】
次いで、プロセッサ１２は、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにする（Ｓ１６３）。
【００７９】
次いで、ＯＬ排出手段５１は、個別バッファ３３に格納されている描画ＯＬをＯＬバッファ２２に排出する（Ｓ１６４）。上述したＳ１５９の処理が実行されて、図５および図６に示す処理が終了する。
【００８０】
Ｓ１５３においてアイドル状態のプロセッサが存在すると判断されると、処理移管手段４６は、Ｓ１５２において探索された他のプロセッサに以降のＰＤＬの処理を移管する（Ｓ１６５）。
【００８１】
次いで、プロセッサ１２は、Ｓ１６５において移管した移管先のプロセッサのＩＤ（例えば、「２」）を自身用のプロセッサ情報３１における移管先ＩＤ３１ｂに記録する（Ｓ１６６）。ここで、以降のＰＤＬの処理が移管された移管先のプロセッサは、移管してきた移管元のプロセッサのＩＤ（例えば、「１」）を自身用のプロセッサ情報３１における移管元ＩＤ３１ａに記憶する。
【００８２】
次いで、プロセッサ１２は、自身用のプロセッサ情報３１における描画状態３１ｄをＯＮにする（Ｓ１６７）。
【００８３】
次いで、ＯＬ生成手段４３は、ＰＤＬ解釈手段４１によって解釈された描画オペレータに基づいて描画ＯＬを生成する（Ｓ１６８）。次いで、上述したＳ１５７〜Ｓ１５９の処理が実行されて、図５および図６に示す処理が終了する。なお、このときＳ１５８においてＯＬバッファ２２に格納される描画ＯＬは、Ｓ１６８において生成された描画ＯＬである。
【００８４】
ＰＤＬ解釈手段４１によって解釈されたＰＤＬオペレータがＳ１０４においてページ終了オペレータであると判定されると、ＯＬ処理手段５２は、ＯＬバッファ２２に格納されているＯＬに基づいて最終的な印刷用のドットデータを生成する（Ｓ１９１）。なお、移管元のプロセッサが存在すると判断された場合に、ＯＬ処理手段５２は、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで、Ｓ１９１の処理を待機する。
【００８５】
次いで、出力手段５３は、Ｓ１９１において生成されたドットデータをプリントエンジン１５に送信し（Ｓ１９２）、図５および図６に示す処理が終了する。
【００８６】
なお、図５および図６に示す処理においては、Ｓ１０１〜Ｓ１０３の処理がＰＤＬ解釈処理に相当し、Ｓ１０４〜Ｓ１６８の処理がＯＬ生成処理に相当し、Ｓ１９１の処理がＯＬ描画処理に相当し、Ｓ１９２の処理が出力処理に相当する。つまり、Ｓ１０１〜Ｓ１６８の処理がＯＬ生成工程に相当し、Ｓ１９１〜Ｓ１９２の処理がＯＬ処理工程に相当する。
【００８７】
図７は、ＰＤＬホストバッファ２１に格納される印刷データの一例を示す図である。
【００８８】
図７に示す印刷データは、ＰＣＬＸＬの印刷データである。「BeginSession」は、新しいセッションの開始を定義するオペレータである。「OpenDataSource」は、フォントやイメージなどの一部のデータの入力ソースを定義するオペレータである。「BeginPage」は、紙サイズやオリエンテーションを定義して、新しいページの開始を宣言するオペレータである。「SetPageDefaultCMT」は、ページの座標変換行列をBeginSession時のデフォルトかつターゲットページのオリエンテーションに戻すオペレータである。「SetPageOrigin」は、ページ座標系の原点を新しいＸ，Ｙ位置に移動するオペレータである。「SetColorSpace」は、色空間の設定を行うオペレータである。「SetROP」は、ソースイメージ、ペイントパターン、デスティネーションイメージに適用されるカレントのラスタオペレーションを設定するオペレータである。「NewPath」は、カレントパス(サブパス)を削除するオペレータである。「SetCursor」は、ユーザ座標上の絶対位置にカレントポイントを移動するオペレータである。「BeginImage」は、指定される属性(階調数、データの直接または間接指定のモード、幅、高さ、デスティネーションサイズ)に従ってデバイスを設定し、イメージデータの入力待ち状態になるオペレータである。「ReadImage」は、実イメージデータに対する属性を指定した後、データソースから実イメージデータを読み込み、BeginImageで設定した属性に従ってイメージの描画を行うオペレータである。「EndImage」は、BeginImage〜ReadImage〜EndImageからなる一連のイメージ描画モードの終了を宣言するオペレータである。「SetPenSource」は、Strokeに使用される色を定義するオペレータである。「SetBrushSource」は、Fillに使用される色を定義するオペレータである。「BezierPath」は、絶対位置指定による座標指定を使用してカレントパスにベジェパスを加えるオペレータである。「CloseSubPath」は、カレントポジションからカレントサブパスのスタートにパスを閉じるようにラインを加えるオペレータである。「PaintPath」は、グラフィックステートのアトリビュート設定に従ってカレントパスをペイント(fill & stroke)するオペレータである。「LinePath」は、絶対位置指定による座標指定を使用してカレントパスに線分パスを加えるオペレータである。「LineRelPath」は、相対位置指定による座標指定を使用してカレントパスにベジェパスを加えるオペレータである。「EndPage」は、１ページの描画終了を定義し、ページ排出を行うオペレータである。「CloseDataSource」は、OpenDataSourceで定義されたデータの入力ソースを解除し、未定義状態にするオペレータである。「EndSession」は、BeginSessionで定義されたカレントセッションの終了を宣言するオペレータである。
【００８９】
以下においては、理解を容易にするため、画像形成装置１０がプロセッサを２つだけ備えている場合について説明し、その２つのプロセッサをプロセッサａ、プロセッサｂと区別して記載する。ここで、プロセッサａ、プロセッサｂとも、プロセッサ１２と同じ構成を備える。
【００９０】
図８は、図７に示す印刷データに対する各プロセッサのタイミングチャートであって、他のプロセッサに以降のＰＤＬの処理の移管をする必要があるとプロセッサａ、プロセッサｂが判定する場合のタイミングチャートである。
【００９１】
＜タイミングｔ０＞
図７に示す印刷データがＰＤＬホストバッファ２１に格納されると、プロセッサａは、図５および図６に示す処理を開始して、印刷データの最初の「BeginSession」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサａは、「BeginSession」が情報オペレータであるので、「BeginSession」の設定情報をプロセッサａのローカルメモリに格納するとともに（Ｓ１１１）、ＲＡＭ１４にも格納して（Ｓ１１３）、処理はＳ１０１へ移行する。その後、プロセッサａは、印刷データにおける範囲Ａの残りのオペレータについても、「BeginSession」と同様な動作を繰り返す。このとき、以降のＰＤＬオペレータで使用されない設定情報については、ＲＡＭ１４には格納されない（Ｓ１１２でＮＯ）。
【００９２】
＜タイミングｔ１＞
プロセッサａは、印刷データにおける範囲Ｂのオペレータである「SetROP」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサａは、「SetROP」が設定ＯＬオペレータであるので、「SetROP」に基づいてグラフィック状態の設定ＯＬである「ＲＯＰ  ＯＬ」を生成する（Ｓ１３１）。また、プロセッサａは、移管元のプロセッサが存在しないので（Ｓ１３２でＮＯ）、Ｓ１３１において生成した「ＲＯＰ  ＯＬ」をＯＬバッファ２２に格納して（Ｓ１３３）、処理はＳ１０１へ移行する。
【００９３】
なお、プロセッサａは、もしも移管元のプロセッサが存在する場合には（Ｓ１３２でＹＥＳ）、Ｓ１３１において生成した「ＲＯＰ  ＯＬ」を個別バッファ３３に格納して（Ｓ１３４）、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで待機する（Ｓ１３５）。そして、プロセッサａは、描画ＯＬの生成の終了の通知を移管元のプロセッサから受信すると、自身用のプロセッサ情報３１における移管元ＩＤ３１ａをリセットし（Ｓ１３６）、個別バッファ３３に格納されている「ＲＯＰ  ＯＬ」をＯＬバッファ２２に排出して（Ｓ１３７）、処理はＳ１０１へ移行する。
【００９４】
＜タイミングｔ２＞
印刷データにおける範囲Ｃのオペレータが情報オペレータであるので、プロセッサａは、範囲Ｃのオペレータに対して、範囲Ａのオペレータに対する動作と同様に動作する。
【００９５】
＜タイミングｔ３＞
プロセッサａは、印刷データにおける範囲Ｄのオペレータである「BeginImage〜ReadImage〜EndImage」を読み出す（Ｓ１０２）。ここで、「BeginImage〜ReadImage〜EndImage」は、プロセッサａによって纏めて取り扱われるオペレータである。プロセッサａは、「BeginImage〜ReadImage〜EndImage」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要があると判定する（Ｓ１５１でＹＥＳ）ので、複数のプロセッサの中からアイドル状態のプロセッサを探索し（Ｓ１５２）、アイドル状態であったプロセッサｂに以降のＰＤＬの処理を移管する（Ｓ１６５）。プロセッサａは、Ｓ１６５において移管したプロセッサｂのＩＤを自身用のプロセッサ情報３１における移管先ＩＤ３１ｂに記録し（Ｓ１６６）、自身用のプロセッサ情報３１における描画状態３１ｄをＯＮにする（Ｓ１６７）。次いで、プロセッサａは、「BeginImage〜ReadImage〜EndImage」と、ローカルメモリに格納されている設定情報とに基づいてImage処理の描画ＯＬとして「Ｉｍａｇｅ  ＯＬ（Ｄ）」を生成し（Ｓ１６８）、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにする（Ｓ１５７）。次いで、プロセッサａは、Ｓ１６８において生成した「Ｉｍａｇｅ  ＯＬ（Ｄ）」をＯＬバッファ２２に格納し（Ｓ１５８）、描画ＯＬの生成の終了の通知を移管先のプロセッサｂに対して行って（Ｓ１５９）＜タイミングｔ６＞、図５および図６に示す処理が終了する。
【００９６】
＜タイミングｔ３＞
以降のＰＤＬの処理をプロセッサａから移管されたプロセッサｂは、図５および図６に示す処理を開始する。ここで、印刷データにおける範囲Ｅのオペレータが情報オペレータであるので、プロセッサｂは、範囲Ｅのオペレータに対して、プロセッサａによる範囲Ａのオペレータに対する動作と同様に動作する。なお、プロセッサｂは、図５および図６に示す処理を開始するとき、ＲＡＭ１４に格納されている設定情報を読み出してプロセッサｂのローカルメモリに格納する。
【００９７】
＜タイミングｔ４＞
プロセッサｂは、印刷データにおける範囲Ｆのオペレータである「PaintPath」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサｂは、「PaintPath」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要があると判定する（Ｓ１５１でＹＥＳ）ので、複数のプロセッサの中からアイドル状態のプロセッサを探索する（Ｓ１５２）。このとき、アイドル状態のプロセッサが存在しないので（Ｓ１５３でＮＯ）、プロセッサｂは、自身用のプロセッサ情報３１における描画状態３１ｄをＯＮにし（Ｓ１５４）、「PaintPath」と、ローカルメモリに格納されている設定情報とに基づいてPaint処理の描画ＯＬとしての「Ｐａｉｎｔ  ＯＬ（Ｆ）」を生成し（Ｓ１５５）、移管元のプロセッサが存在するか否かを判断する（Ｓ１５６）。このとき、未だ＜タイミングｔ６＞より前であり、移管元のプロセッサとしてプロセッサａが存在するので（Ｓ１５６でＹＥＳ）、プロセッサｂは、「Ｐａｉｎｔ  ＯＬ（Ｆ）」を個別バッファ３３に格納し（Ｓ１６０）、描画ＯＬの生成の終了の通知を移管元のプロセッサａから受信するまで待機する（Ｓ１６１）＜タイミングｔ５＞。
【００９８】
なお、プロセッサｂは、もしも移管元のプロセッサが存在しない場合には（Ｓ１５６でＮＯ）、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにし（Ｓ１５７）、Ｓ１５５において生成した「Ｐａｉｎｔ  ＯＬ（Ｆ）」をＯＬバッファ２２に格納し（Ｓ１５８）、図５および図６に示す処理が終了する。
【００９９】
＜タイミングｔ６＞
プロセッサｂは、描画ＯＬの生成の終了の通知を移管元のプロセッサａから受信すると、自身用のプロセッサ情報３１における移管元ＩＤ３１ａをリセットし（Ｓ１６２）、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにし（Ｓ１６３）、個別バッファ３３に格納されている「Ｐａｉｎｔ  ＯＬ（Ｆ）」をＯＬバッファ２２に排出して（Ｓ１６４）、図５および図６に示す処理が終了する。
【０１００】
＜タイミングｔ７＞
タイミングｔ３において以降のＰＤＬの処理をプロセッサａから移管されたプロセッサｂは、続けて図５および図６に示す処理を開始する。ここで、印刷データにおける範囲Ｇのオペレータが情報オペレータであるので、プロセッサｂは、範囲Ｇのオペレータに対して、プロセッサａによる範囲Ａのオペレータに対する動作と同様に動作する。
【０１０１】
＜タイミングｔ８＞
印刷データにおける範囲Ｈのオペレータである「PaintPath」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要があると判定し（Ｓ１５１でＹＥＳ）、プロセッサａがアイドル状態であるので、プロセッサｂは、プロセッサａによる範囲Ｄのオペレータに対する動作と同様に動作する。つまり、プロセッサｂは、アイドル状態であったプロセッサａに以降のＰＤＬの処理を移管し（Ｓ１６５）、「PaintPath」と、ローカルメモリに格納されている設定情報とに基づいてPaint処理の描画ＯＬとして「Ｐａｉｎｔ  ＯＬ（Ｈ）」を生成し（Ｓ１６８）、Ｓ１６８において生成した「Ｐａｉｎｔ  ＯＬ（Ｈ）」をＯＬバッファ２２に格納し（Ｓ１５８）、描画ＯＬの生成の終了の通知を移管先のプロセッサａに対して行って（Ｓ１５９）＜タイミングｔ１０＞、図５および図６に示す処理が終了する。
【０１０２】
＜タイミングｔ８＞
以降のＰＤＬの処理をプロセッサｂから移管されたプロセッサａは、図５および図６に示す処理を開始する。ここで、印刷データにおける範囲Ｉのオペレータが情報オペレータであるので、プロセッサａは、範囲Ｉのオペレータに対して、範囲Ａのオペレータに対する動作と同様に動作する。なお、プロセッサａは、図５および図６に示す処理を開始するとき、ＲＡＭ１４に格納されている設定情報を読み出してプロセッサａのローカルメモリに格納する。
【０１０３】
＜タイミングｔ９＞
プロセッサａは、印刷データにおける範囲Ｊのオペレータである「BeginImage〜ReadImage〜EndImage」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサａは、「BeginImage〜ReadImage〜EndImage」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要があると判定する（Ｓ１５１でＹＥＳ）ので、複数のプロセッサの中からアイドル状態のプロセッサを探索する（Ｓ１５２）。このとき、アイドル状態のプロセッサが存在しないので（Ｓ１５３でＮＯ）、プロセッサａは、自身用のプロセッサ情報３１における描画状態３１ｄをＯＮにし（Ｓ１５４）、「BeginImage〜ReadImage〜EndImage」と、ローカルメモリに格納されている設定情報とに基づいてImage処理の描画ＯＬとしての「Ｉｍａｇｅ  ＯＬ（Ｊ）」を生成し（Ｓ１５５）、移管元のプロセッサが存在するか否かを判断する（Ｓ１５６）。このとき、既に＜タイミングｔ１０＞より後であり、移管元のプロセッサが存在しないので（Ｓ１５６でＮＯ）、プロセッサａは、自身用のプロセッサ情報３１における描画状態３１ｄをＯＦＦにし（Ｓ１５７）、「Ｉｍａｇｅ  ＯＬ（Ｊ）」をＯＬバッファ２２に格納して（Ｓ１５８）、図５および図６に示す処理が終了する。
【０１０４】
図９は、ＯＬバッファ２２に格納されたスタックの状態を示す図である。
【０１０５】
プロセッサａによって最終的な印刷用のドットデータが生成される前、ＯＬバッファ２２には、図９に示すように、上述した「ＲＯＰ  ＯＬ」、「Ｉｍａｇｅ  ＯＬ（Ｄ）」、「Ｐａｉｎｔ  ＯＬ（Ｆ）」、「Ｐａｉｎｔ  ＯＬ（Ｈ）」、「Ｉｍａｇｅ  ＯＬ（Ｊ）」が順番通りに格納されている。
【０１０６】
＜タイミングｔ１１＞
図８に示すように、タイミングｔ８において以降のＰＤＬの処理をプロセッサｂから移管されたプロセッサａは、続けて図５および図６に示す処理を開始する。そして、プロセッサａは、印刷データにおける範囲Ｋのオペレータである「EndPage」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサａは、「EndPage」がページ終了オペレータであるので、ＯＬバッファ２２に格納されているＯＬに基づいて最終的な印刷用のドットデータを生成し（Ｓ１９１）、Ｓ１９１において生成したドットデータをプリントエンジン１５に送信し（Ｓ１９２）、図５および図６に示す処理が終了する。
【０１０７】
図１０は、図７に示す印刷データに対する各プロセッサのタイミングチャートであって、他のプロセッサに以降のＰＤＬの処理の移管をする必要がないと範囲Ｈおよび範囲Ｊのオペレータの処理時にプロセッサｂが判定する場合のタイミングチャートである。
【０１０８】
なお、図１０に示す動作のうちタイミングｔ８までの動作は、図８に示す動作と同一であるので、説明を省略する。
【０１０９】
＜タイミングｔ８＞
図１０に示すように、印刷データにおける範囲Ｈのオペレータである「PaintPath」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要がないと判定する（Ｓ１５１でＮＯ）ので、プロセッサｂは、「PaintPath」と、ローカルメモリに格納されている設定情報とに基づいてPaint処理の描画ＯＬとして「Ｐａｉｎｔ  ＯＬ（Ｈ）」を生成し（Ｓ１５５）、移管元のプロセッサが存在しないと判断し（Ｓ１５６でＮＯ）、Ｓ１５５において生成した「Ｐａｉｎｔ  ＯＬ（Ｈ）」をＯＬバッファ２２に格納し（Ｓ１５８）、図５および図６に示す処理が終了する。
【０１１０】
＜タイミングｔ９´＞
タイミングｔ３において以降のＰＤＬの処理をプロセッサａから移管されたプロセッサｂは、続けて図５および図６に示す処理を開始する。そして、プロセッサｂは、印刷データにおける範囲Ｉのオペレータが情報オペレータであるので、範囲Ｉのオペレータに対して、プロセッサａによる範囲Ａのオペレータに対する動作と同様に動作する。
【０１１１】
＜タイミングｔ１０´＞
プロセッサｂは、印刷データにおける範囲Ｊのオペレータである「BeginImage〜ReadImage〜EndImage」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサｂは、「BeginImage〜ReadImage〜EndImage」が描画オペレータであり、他のプロセッサに以降のＰＤＬの処理の移管をする必要がないと判定する（Ｓ１５１でＮＯ）ので、「BeginImage〜ReadImage〜EndImage」と、ローカルメモリに格納されている設定情報とに基づいてImage処理の描画ＯＬとしての「Ｉｍａｇｅ  ＯＬ（Ｊ）」を生成し（Ｓ１５５）、移管元のプロセッサが存在しないと判断し（Ｓ１５６でＮＯ）、「Ｉｍａｇｅ  ＯＬ（Ｊ）」をＯＬバッファ２２に格納して（Ｓ１５８）、図５および図６に示す処理が終了する。
【０１１２】
なお、プロセッサｂによって最終的な印刷用のドットデータが生成される前、ＯＬバッファ２２には、図９に示すように、上述した「ＲＯＰ  ＯＬ」、「Ｉｍａｇｅ  ＯＬ（Ｄ）」、「Ｐａｉｎｔ  ＯＬ（Ｆ）」、「Ｐａｉｎｔ  ＯＬ（Ｈ）」、「Ｉｍａｇｅ  ＯＬ（Ｊ）」が順番通りに格納されている。
【０１１３】
＜タイミングｔ１１´＞
タイミングｔ３において以降のＰＤＬの処理をプロセッサａから移管されたプロセッサｂは、続けて図５および図６に示す処理を開始する。そして、プロセッサｂは、印刷データにおける範囲Ｋのオペレータである「EndPage」を読み出して（Ｓ１０２）、ＰＤＬオペレータの種類を判定する（Ｓ１０４）。そして、プロセッサｂは、「EndPage」がページ終了オペレータであるので、ＯＬバッファ２２に格納されているＯＬに基づいて最終的な印刷用のドットデータを生成し（Ｓ１９１）、Ｓ１９１において生成したドットデータをプリントエンジン１５に送信し（Ｓ１９２）、図５および図６に示す処理が終了する。
【０１１４】
以上に説明したように、画像形成装置１０は、処理が重いＰＤＬオペレータである描画オペレータに基づいてプロセッサが描画ＯＬを生成するときに、他のプロセッサに以降のＰＤＬの処理を移管するので、ＯＬ生成工程における並列処理化によってページ単位の処理を高速化することができる。
【０１１５】
また、画像形成装置１０は、描画オペレータの処理内容に基づいて移管の要否を判定するので、単純な矩形を描くＦＩＬＬの描画ＯＬや、ピクセル数が少ないイメージデータの描画ＯＬなど、移管時間より生成時間が短い描画ＯＬを含むページを印刷する場合、ＰＤＬオペレータが描画オペレータであるときに描画オペレータの処理内容によらず移管を行う構成と比較して、ページ単位の処理を高速化することができる。
【０１１６】
また、画像形成装置１０は、アイドル状態のプロセッサに移管元のプロセッサが以降のＰＤＬの処理を移管するので、アイドル状態ではないプロセッサにも移管元のプロセッサが以降のＰＤＬの処理を移管する構成と比較して、処理を高速化することができる。なお、画像形成装置１０は、アイドル状態であるか否かという条件以外の条件によって、移管先のプロセッサが選択されるようになっていても良い。
【０１１７】
また、画像形成装置１０は、移管先のプロセッサが描画ＯＬの生成の終了の通知を移管元のプロセッサから受信するまで、生成したＯＬを個別バッファ３３に格納し、移管先のプロセッサが描画ＯＬの生成の終了の通知を移管元のプロセッサから受信した時点で個別バッファ３３に格納されているＯＬをＯＬバッファ２２に排出するので、ＯＬを正しい順番でＯＬバッファ２２に格納することができ、その結果、正しい描画を実現することができる。
【０１１８】
また、プロセッサは、Ｓ１５１においてアクセスする移管条件情報３２をローカルメモリに記憶している。したがって、画像形成装置１０は、Ｓ１５１においてアクセスする移管条件情報３２をプロセッサの外部のメモリに記憶する構成する場合と比較して、プロセッサによる移管条件情報３２へのアクセスを高速化することができるので、処理を高速化することができる。なお、Ｓ１５１においてプロセッサによってアクセスされる移管条件情報３２は、プロセッサのローカルメモリではなく、プロセッサの外部のメモリ、例えば、ＲＡＭ１４に記憶されていても良い。同様に、プロセッサ情報３１も、プロセッサのローカルメモリではなく、プロセッサの外部のメモリに記憶されていても良い。
【０１１９】
また、プロセッサは、個別バッファ３３として機能するローカルメモリを備えている。したがって、画像形成装置１０は、個別バッファ３３をプロセッサの外部のメモリで構成する場合と比較して、個別バッファ３３へのＯＬの書き込みを高速化することができるので、処理を高速化することができる。なお、個別バッファ３３は、プロセッサのローカルメモリではなく、プロセッサの外部のメモリ、例えば、ＲＡＭ１４で構成されていても良い。
【０１２０】
また、プロセッサは、ＰＤＬオペレータが描画のための設定情報のオペレータである場合、設定情報が以降のＰＤＬオペレータで使用される情報であるときのみ（Ｓ１１２でＹＥＳ）、設定情報をＲＡＭ１４に格納する（Ｓ１１３）。したがって、画像形成装置１０は、不要な設定情報に対する処理が発生することを防止することができる。なお、プロセッサは、設定情報が以降のＰＤＬオペレータで使用される情報であるか否かに関わらず、全ての設定情報をＲＡＭ１４に格納するようになっていても良い。
【０１２１】
本実施の形態においては、移管先のプロセッサは、ＰＤＬオペレータが描画オペレータであるときに以降のＰＤＬの処理を更に他のプロセッサに移管しない限り、描画ＯＬをＯＬバッファ２２に格納した後も以降のＰＤＬの処理を継続するようになっているが、描画ＯＬをＯＬバッファ２２に格納した時点で移管元のプロセッサに以降のＰＤＬの処理を移管するようになっていても良い。
【０１２２】
本実施の形態においては、図８において画像形成装置１０がプロセッサを２つだけ備えている場合について説明しているが、画像形成装置１０がプロセッサを３つ以上備えている場合についても同様である。
【０１２３】
本実施の形態においては、描画状態のＯＮ、ＯＦＦでアイドル状態を判断するようになっているが、他の方法によってアイドル状態を判断するようになっていても良い。例えば、プロセッサは、図５および図６に示す処理を行っている場合にアイドル状態ではないと判断し、図５および図６に示す処理を行っていない場合にアイドル状態であると判断するようになっていても良い。
【０１２４】
（第２の実施の形態）
まず、本実施の形態に係る画像形成装置の構成について説明する。
【０１２５】
本実施の形態に係る画像形成装置の構成は、以下に述べる構成を除いて第１の実施の形態に係る画像形成装置１０の構成と同様である。本実施の形態に係る画像形成装置の構成のうち画像形成装置１０の構成と同様の構成については、画像形成装置１０の構成と同一の符号を付して詳細な説明を省略する。
【０１２６】
図１１は、本実施の形態に係る画像形成装置２１０のハードウェア構成図である。
【０１２７】
図１１に示すように、画像形成装置２１０の構成は、画像形成装置１０（図１参照。）がＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発メモリ２１１を備えた構成と同様である。
【０１２８】
図１２は、本実施の形態に係る画像形成装置２１０の機能ブロック図である。
【０１２９】
なお、画像形成装置２１０の機能は、画像形成装置１０の機能（図２参照。）に以下の機能が追加された機能である。図１２には、追加された機能のみ示している。
【０１３０】
図１２に示すように、画像形成装置２１０のプロセッサ１２は、ＲＯＭ１３に記憶されているプログラムを実行することによって、移管条件受付手段２２１、移管条件書込手段２２２、移管条件取得手段２２３、移管条件通知手段２２４、及び、移管条件削除手段２２５として機能する。画像形成装置２１０が備える複数のプロセッサは、全てプロセッサ１２と同じ構成を備える。
移管条件受付手段２２１は、更新のための移管条件情報３２を画像形成装置２１０の外部から受け付ける。
移管条件書込手段２２２は、移管条件受付手段２２１によって受け付けられた移管条件情報３２を各プロセッサのローカルメモリに書き込む。
移管条件取得手段２２３は、各プロセッサから移管条件情報３２を取得する。
移管条件通知手段２２４は、移管条件取得手段２２３によって取得された移管条件情報３２を画像形成装置２１０の外部に通知する。
移管条件削除手段２２５は、移管条件情報３２の削除を実行する。
【０１３１】
また、ＲＯＭ１３は、デフォルトの移管条件情報３２であるデフォルト移管条件情報３２ａを記憶しており、本発明のデフォルト移管条件メモリを構成している。
【０１３２】
また、不揮発メモリ２１１は、移管条件受付手段２２１によって受け付けられる移管条件情報３２である更新用移管条件情報３２ｂを記憶する。
【０１３３】
図１３は、プロセッサ情報３１を示す図である。
【０１３４】
図１３に示すように、画像形成装置２１０のプロセッサ情報３１は、画像形成装置１０のプロセッサ情報３１（図３参照。）にプロセッサのクロック数３１ｅを追加した情報である。
【０１３５】
次に、画像形成装置２１０の動作について説明する。
【０１３６】
画像形成装置２１０は、第１の実施の形態において画像形成装置１０について説明した動作に加えて以下の動作を実行することができる。
【０１３７】
図１４（ａ）は、ＲＯＭ１３に記憶されているデフォルト移管条件情報３２ａの一例を示す図である。図１４（ｂ）は、不揮発メモリ２１１に記憶される更新用移管条件情報３２ｂの一例を示す図である。
【０１３８】
図１４（ａ）に示すデフォルト移管条件情報３２ａは、プロセッサａの閾値がベジェ曲線で１０００パスであり、Ｓｔｒｏｋｅで１００００パスであり、イメージで１００００ピクセルであり、プロセッサｂの閾値がベジェ曲線で５００パスであり、Ｓｔｒｏｋｅで５０００パスであり、イメージで５０００ピクセルであることを示す情報である。図１４（ｂ）に示す更新用移管条件情報３２ｂは、プロセッサａの閾値がベジェ曲線で５００パスであり、Ｓｔｒｏｋｅで２００００パスであり、イメージで８００００ピクセルであり、プロセッサｂの閾値がベジェ曲線で１００パスであり、Ｓｔｒｏｋｅで５００００パスであり、イメージで１０００００ピクセルであることを示す情報である。
【０１３９】
図１５は、外部装置９０としてのＰＣのモニタに表示される移管条件設定画面を示す図である。
【０１４０】
図１５に示すように、移管条件設定画面には、不揮発メモリ２１１に書き込まれる更新用移管条件情報３２ｂのファイル名が指定されるテキストボックス２９１ａと、移管条件情報３２の更新が実行されるときに押される実行ボタン２９１ｂと、移管条件情報３２の確認のために画像形成装置２１０から通知される移管条件情報３２のファイルの保存先フォルダが入力されるテキストボックス２９２ａと、移管条件情報３２の確認が実行されるときに押される実行ボタン２９２ｂと、全てのプロセッサの移管条件情報３２がリセットされるときに選択されるラジオボタン２９３ａと、移管条件情報３２がリセットされるプロセッサが指定されるときに選択されるラジオボタン２９３ｂと、移管条件情報３２がリセットされるプロセッサが指定されるためのリストボックス２９３ｃと、移管条件情報３２のリセットが実行されるときに押される実行ボタン２９３ｄとが含まれている。ラジオボタン２９３ａおよびラジオボタン２９３ｂは、常に何れか一方のみが選択された状態である。
【０１４１】
図１６は、移管条件情報３２の更新が実行されるときの画像形成装置２１０の動作のシーケンス図である。
【０１４２】
画像形成装置２１０の移管条件書込手段２２２は、画像形成装置２１０が起動されたときに不揮発メモリ２１１に更新用移管条件情報３２ｂが記憶されているか否かを判断し、不揮発メモリ２１１に更新用移管条件情報３２ｂが記憶されていない場合には、ＲＯＭ１３に記憶されているデフォルト移管条件情報３２ａをプロセッサａ、プロセッサｂのそれぞれのローカルメモリに割り当てる。つまり、プロセッサａのローカルメモリには、ベジェ曲線で１０００パスであり、Ｓｔｒｏｋｅで１００００パスであり、イメージで１００００ピクセルであるプロセッサａ用の移管条件情報３２が書き込まれ、プロセッサｂのローカルメモリには、ベジェ曲線で５００パスであり、Ｓｔｒｏｋｅで５０００パスであり、イメージで５０００ピクセルであるプロセッサｂ用の移管条件情報３２が書き込まれる。このようにして、画像形成装置２１０にデフォルト移管条件情報３２ａが適用されているものとする。
【０１４３】
図１６に示すように、外部装置９０は、利用者の指示に応じて図１４（ｂ）に示す更新用移管条件情報３２ｂを作成する（Ｓ３０１）。
【０１４４】
次いで、利用者は、Ｓ３０１において作成された更新用移管条件情報３２ｂのファイル名を図１５に示す移管条件設定画面のテキストボックス２９１ａに指定し、実行ボタン２９１ｂを押して移管条件情報３２の更新を外部装置９０に指示する。これによって、外部装置９０は、更新用移管条件情報３２ｂを画像形成装置２１０に送信して移管条件情報３２の更新を要求する（Ｓ３０２）。
【０１４５】
画像形成装置２１０の移管条件受付手段２２１は、Ｓ３０２において外部装置９０から送信されてきた更新用移管条件情報３２ｂを受け付け（Ｓ３０３）、Ｓ３０３において受け付けた更新用移管条件情報３２ｂを不揮発メモリ２１１に格納し（Ｓ３０４）、更新用移管条件情報３２ｂの格納を完了したことを外部装置９０に通知する（Ｓ３０５）。
【０１４６】
外部装置９０は、Ｓ３０５における画像形成装置２１０からの通知を受け取ると、画像形成装置２１０の再起動を行う（Ｓ３０６）。
【０１４７】
画像形成装置２１０の移管条件書込手段２２２は、Ｓ３０６において画像形成装置２１０が再起動されると、不揮発メモリ２１１に更新用移管条件情報３２ｂが記憶されているか否かを判断し、不揮発メモリ２１１に更新用移管条件情報３２ｂが記憶されている場合には、不揮発メモリ２１１に格納されている更新用移管条件情報３２ｂをプロセッサａ、プロセッサｂのそれぞれのローカルメモリに割り当てる（Ｓ３０７）。つまり、プロセッサａのローカルメモリには、ベジェ曲線で５００パスであり、Ｓｔｒｏｋｅで２００００パスであり、イメージで８００００ピクセルであるプロセッサａ用の移管条件情報３２が書き込まれ、プロセッサｂのローカルメモリには、ベジェ曲線で１００パスであり、Ｓｔｒｏｋｅで５００００パスであり、イメージで１０００００ピクセルであるプロセッサｂ用の移管条件情報３２が書き込まれる。
【０１４８】
なお、移管条件書込手段２２２は、不揮発メモリ２１１に記憶されている更新用移管条件情報３２ｂの対象となっているプロセッサのローカルメモリには、更新用移管条件情報３２ｂを適用するが、更新用移管条件情報３２ｂの対象となっていないプロセッサのローカルメモリには、ＲＯＭ１３に記憶されているデフォルト移管条件情報３２ａを適用する。
【０１４９】
以上においては、外部装置９０が自動的に画像形成装置２１０の再起動を行うようになっているが、利用者が画像形成装置２１０の電源を手動で一旦オフにしてから再びオンにすることによって画像形成装置２１０を再起動しても良い。また、画像形成装置２１０がＳ３０４の処理の後に自ら再起動を行うようになっていても良い。
【０１５０】
図１７は、移管条件情報３２の確認が実行されるときの画像形成装置２１０の動作のシーケンス図である。
【０１５１】
利用者は、画像形成装置２１０に現在設定されている移管条件情報３２を確認するため、移管条件情報３２の保存先フォルダを図１５に示す移管条件設定画面のテキストボックス２９２ａに入力し、実行ボタン２９２ｂを押して移管条件情報３２の確認を外部装置９０に指示することができる。これによって、外部装置９０は、図１７に示すように、移管条件情報３２の通知を画像形成装置２１０に要求する（Ｓ３２１）。
【０１５２】
画像形成装置２１０の移管条件取得手段２２３は、Ｓ３２１における外部装置９０からの要求に応じて、各プロセッサのローカルメモリからプロセッサ情報３１のクロック数３１ｅと、移管条件情報３２とを読み出し、読み出した情報に基づいて図１８に示す通知用移管条件情報３２ｃを生成することによって、通知用移管条件情報３２ｃを取得する（Ｓ３２２）。通知用移管条件情報３２ｃには、プロセッサ毎の移管条件情報３２だけでなく、生成された日付、ファームウェアのバージョン、プロセッサ毎のクロック数などが含まれている。通知用移管条件情報３２ｃのうち、プロセッサ毎の移管条件情報３２以外の情報は、コメントアウトされている。
【０１５３】
画像形成装置２１０の移管条件通知手段２２４は、Ｓ３２２において取得された通知用移管条件情報３２ｃを外部装置９０に通知する（Ｓ３２３）。
【０１５４】
外部装置９０は、Ｓ３２３において画像形成装置２１０から通知された通知用移管条件情報３２ｃを、図１５に示す移管条件設定画面のテキストボックス２９２ａに入力されていた保存先フォルダに保存する（Ｓ３２４）。
【０１５５】
なお、Ｓ３２４において保存された通知用移管条件情報３２ｃは、移管条件情報３２を更新可能な画像形成装置であれば、画像形成装置２１０以外の画像形成装置においても使用されることができる。
【０１５６】
図１９は、移管条件情報３２のリセットが実行されるときの画像形成装置２１０の動作のシーケンス図である。
【０１５７】
利用者は、図１５に示す移管条件設定画面のラジオボタン２９３ａを選択して全てのプロセッサを指定するか、ラジオボタン２９３ｂを選択してリストボックス２９３ｃによって特定のプロセッサを指定し、実行ボタン２９３ｄを押して移管条件情報３２のリセットを外部装置９０に指示することができる。これによって、外部装置９０は、図１９に示すように、利用者によって指定されたプロセッサのＩＤとともに移管条件情報３２のリセットの要求を画像形成装置２１０に送信する（Ｓ３４１）。
【０１５８】
画像形成装置２１０の移管条件削除手段２２５は、Ｓ３４１において外部装置９０から要求を受信すると、受信したＩＤによって特定されるプロセッサ用の更新用移管条件情報３２ｂを不揮発メモリ２１１から削除し（Ｓ３４２）、削除の完了を外部装置９０に通知する（Ｓ３４３）。
【０１５９】
なお、不揮発メモリ２１１から更新用移管条件情報３２ｂが削除されたことは、画像形成装置２１０の再起動後に動作に反映される。つまり、移管条件書込手段２２２は、不揮発メモリ２１１に更新用移管条件情報３２ｂが格納されているか否かをプロセッサ毎に確認し、不揮発メモリ２１１に更新用移管条件情報３２ｂが格納されていれば、その更新用移管条件情報３２ｂをそのプロセッサのローカルメモリに書き込み、不揮発メモリ２１１に移管条件情報３２が格納されていなければ、ＲＯＭ１３に記憶されているデフォルト移管条件情報３２ａをそのプロセッサのローカルメモリに書き込む。
【０１６０】
また、画像形成装置２１０は、Ｓ３４２の処理の後に自ら再起動を行うようになっていても良い。
【０１６１】
本実施の形態においては、画像形成装置２１０がプロセッサを２つだけ備えている場合について説明しているが、画像形成装置２１０がプロセッサを３つ以上備えている場合についても同様である。
【０１６２】
なお、以上においては、利用者が外部装置９０としてのＰＣ内のユーティリティソフトウェアを介して画像形成装置２１０を操作するようになっているが、利用者が画像形成装置２１０の操作パネル１６を介して画像形成装置２１０を直接操作するようになっていても良い。利用者が画像形成装置２１０の操作パネル１６を介して画像形成装置２１０を操作するようになっている場合、図１５に示す移管条件設定画面は、操作パネル１６に表示される。また、利用者が画像形成装置２１０の操作パネル１６を介して画像形成装置２１０を操作するようになっている場合、移管条件受付手段２２１によって受け付けられる更新用移管条件情報３２ｂは、予めＵＳＢメモリなどの外部装置９０に保存されているものでも良いし、利用者に操作パネル１６から直接入力させるものでも良い。
【０１６３】
画像形成装置２１０は、第１の実施の形態において画像形成装置１０について説明した効果に加えて以下に説明する効果を得ることができる。
【０１６４】
画像形成装置２１０は、画像形成装置２１０の外部から更新用移管条件情報３２ｂを受け付ける移管条件受付手段２２１を備えているので、移管条件情報３２の変更を容易化することができる。したがって、画像形成装置２１０は、例えば、描画ＯＬの生成のアルゴリズムが改良されたことによって描画ＯＬの生成の時間が大幅に短縮された場合や、製造後に最適な移管条件情報３２が新たに発見された場合であっても、最適な移管条件情報３２が適用されたファームウェアが新たに作成される必要がない。また、画像形成装置２１０は、例えば、最適な移管条件情報３２が互いに異なる複数の機種があったとしても、移管条件情報３２が異なるファームウェアが機種毎に作成される必要がない。なお、最適な移管条件情報３２が互いに異なる複数の機種としては、例えば、８００ＭＨｚのクロック数のプロセッサを搭載していた画像形成装置２１０と、８００ＭＨｚのクロック数のプロセッサが生産中止になったために、代わりに５００ＭＨｚのクロック数のプロセッサを搭載するようになった画像形成装置２１０とのようなものも含まれる。
【０１６５】
また、画像形成装置２１０は、移管条件受付手段２２１によって受け付けられた更新用移管条件情報３２ｂを記憶する不揮発メモリ２１１と、起動時に不揮発メモリ２１１に記憶されている更新用移管条件情報３２ｂをプロセッサのローカルメモリに書き込む移管条件書込手段２２２とを備えているので、起動後に更新用移管条件情報３２ｂを反映することができる。
【０１６６】
また、画像形成装置２１０は、不揮発メモリ２１１に記憶されている更新用移管条件情報３２ｂを画像形成装置２１０の外部からの要求に応じて不揮発メモリ２１１から削除する移管条件削除手段２２５を備えているので、変更された移管条件情報３２を削除することができる。
【０１６７】
また、画像形成装置２１０は、起動時に不揮発メモリ２１１に更新用移管条件情報３２ｂが記憶されていないとき、ＲＯＭ１３に記憶されているデフォルト移管条件情報３２ａをプロセッサのローカルメモリに書き込むので、変更された移管条件情報３２を削除したときに、起動後にデフォルト移管条件情報３２ａを適用することができる。
【０１６８】
また、画像形成装置２１０は、プロセッサのローカルメモリから取得した移管条件情報３２を画像形成装置２１０の外部に通知する移管条件通知手段２２４を備えているので、現在設定されている移管条件情報３２を外部に通知することができる。
【０１６９】
（第３の実施の形態）
まず、本実施の形態に係る画像形成装置の構成について説明する。
【０１７０】
本実施の形態に係る画像形成装置の構成は、以下に述べる構成を除いて第２の実施の形態に係る画像形成装置２１０の構成と同様である。本実施の形態に係る画像形成装置の構成のうち画像形成装置２１０の構成と同様の構成については、画像形成装置２１０の構成と同一の符号を付して詳細な説明を省略する。
【０１７１】
図２０は、本実施の形態に係る画像形成装置４１０のハードウェア構成図である。
【０１７２】
図２０に示すように、画像形成装置４１０の構成は、画像形成装置２１０（図１１参照。）が時間を計るタイマー４１１を備えた構成と同様である。
【０１７３】
図２１は、本実施の形態に係る画像形成装置４１０の機能ブロック図である。
【０１７４】
なお、画像形成装置４１０の機能は、画像形成装置１０の機能（図２参照。）に以下の機能が追加された機能である。図２１には、追加された機能のみ示している。
【０１７５】
図２１に示すように、画像形成装置４１０のプロセッサ１２は、ＲＯＭ１３に記憶されているプログラムを実行することによって、更新要求受付手段４２１、移管時間計測手段４２２、描画ＯＬ生成時間計測手段４２３、移管条件生成手段４２４、移管条件格納手段４２５、及び、移管条件通知手段４２６として機能する。画像形成装置４１０が備える複数のプロセッサは、全てプロセッサ１２と同じ構成を備える。
更新要求受付手段４２１は、移管条件情報３２の自動更新の要求を画像形成装置４１０の外部から受け付ける。
移管時間計測手段４２２は、タイマー４１１によって移管時間を計測する。
描画ＯＬ生成時間計測手段４２３は、プロセッサ毎に単独での描画ＯＬの生成時間をタイマー４１１によって計測する。
移管条件生成手段４２４は、更新用の移管条件情報３２である更新用移管条件情報３２ｂを生成する。
移管条件格納手段４２５は、移管条件生成手段４２４によって生成された更新用移管条件情報３２ｂを不揮発メモリ２１１に格納する。
移管条件通知手段４２６は、移管条件生成手段４２４によって生成された更新用移管条件情報３２ｂを画像形成装置４１０の外部に通知する。
また、画像形成装置４１０のプロセッサ１２は、ＲＯＭ１３に記憶されているプログラムを実行することによって、第２の実施の形態に係る画像形成装置２１０と同様に、移管条件受付手段２２１、移管条件書込手段２２２および移管条件削除手段２２５としても機能する。
【０１７６】
また、ＲＯＭ１３は、デフォルトの移管条件情報３２であるデフォルト移管条件情報３２ａを記憶しており、本発明のデフォルト移管条件メモリを構成している。
【０１７７】
また、不揮発メモリ２１１は、更新用移管条件情報３２ｂを記憶する。
【０１７８】
次に、画像形成装置４１０の動作について説明する。
【０１７９】
画像形成装置４１０は、第１の実施の形態において画像形成装置１０について説明した動作に加えて以下の動作を実行することができる。
【０１８０】
図２２は、外部装置９０としてのＰＣのモニタに表示される移管条件設定画面を示す図である。
【０１８１】
図２２に示すように、移管条件設定画面には、利用者の手動による移管条件情報３２の更新が実行されるときに押される実行ボタン４９１ａと、不揮発メモリ２１１に書き込まれる更新用移管条件情報３２ｂのファイル名が指定されるテキストボックス４９１ｂと、全てのプロセッサの移管条件情報３２のリセットが実行されるときに押される実行ボタン４９２ａと、移管条件情報３２の自動更新が実行されるときに押される実行ボタン４９３ａと、イメージ、ベジェ曲線およびｓｔｒｏｋｅの全てに対して移管条件情報３２が更新されるときに選択されるラジオボタン４９３ｂと、イメージに対して移管条件情報３２が更新されるときに選択されるラジオボタン４９３ｃと、ベジェ曲線に対して移管条件情報３２が更新されるときに選択されるラジオボタン４９３ｄと、ｓｔｒｏｋｅに対して移管条件情報３２が更新されるときに選択されるラジオボタン４９３ｅと、移管条件情報３２の自動更新の結果が表示される更新結果表示領域４９３ｆとが含まれている。ラジオボタン４９３ｂ〜ラジオボタン４９３ｅは、常に何れか一方のみが選択された状態である。
【０１８２】
利用者は、更新したい移管条件情報３２のファイル名を図２２に示す移管条件設定画面のテキストボックス４９１ｂに指定し、実行ボタン４９１ａを押して移管条件情報３２の更新を外部装置９０に指示する。利用者の手動による移管条件情報３２の更新が実行されるときの画像形成装置４１０の動作については、第２の実施の形態に係る画像形成装置２１０の動作と同様であるので、説明を省略する。
【０１８３】
利用者は、図２２に示す移管条件設定画面の実行ボタン４９２ａを押して移管条件情報３２のリセットを外部装置９０に指示することができる。全てのプロセッサの移管条件情報３２のリセットが実行されるときの画像形成装置４１０の動作については、第２の実施の形態に係る画像形成装置２１０の動作と同様であるので、説明を省略する。
【０１８４】
図２３は、自動による移管条件情報３２の更新が実行されるときの画像形成装置４１０の動作のフローチャートである。
【０１８５】
利用者は、図２２に示す移管条件設定画面のラジオボタン４９３ｂ〜ラジオボタン４９３ｅの何れか１つを選択し、実行ボタン４９３ａを押すことによって、移管条件情報３２の自動更新を外部装置９０に指示することができる。これによって、外部装置９０は、移管条件情報３２の自動更新を画像形成装置４１０に要求する。画像形成装置４１０は、移管条件情報３２の自動更新が外部装置９０から要求されると、図２３に示す処理を開始する。
【０１８６】
図２３に示すように、画像形成装置４１０の更新要求受付手段４２１は、移管条件情報３２の自動更新の要求を受け付ける（Ｓ５０１）。
【０１８７】
次いで、移管時間計測手段４２２は、プロセッサａからプロセッサｂにＰＤＬの処理を実際に移管させ、そのときの時間をタイマー４１１によって計測することによって、プロセッサａからプロセッサｂへの移管時間を計測する（Ｓ５０２）。なお、プロセッサｂからプロセッサａへの移管時間は、プロセッサａからプロセッサｂへの移管時間と同一である。
【０１８８】
次いで、描画ＯＬ生成時間計測手段４２３は、プロセッサ毎に単独での描画ＯＬの生成時間をタイマー４１１によって計測する（Ｓ５０３）。ここで、描画ＯＬ生成時間計測手段４２３は、イメージ、ベジェ曲線およびｓｔｒｏｋｅのそれぞれに対して、テスト用のデータを使用する。例えば、イメージのテスト用のデータは、１０００ピクセルのデータである。ベジェ曲線のテスト用のデータは、１０００パスのデータである。ｓｔｒｏｋｅのテスト用のデータは、１０００パスのデータである。また、描画ＯＬ生成時間計測手段４２３は、ラジオボタン４９３ｂ〜ラジオボタン４９３ｅによって選択された描画の種類のみ、プロセッサ毎に単独での描画ＯＬの生成時間を計測する。
【０１８９】
次いで、移管条件生成手段４２４は、Ｓ５０２において計測された移管時間と、Ｓ５０３において計測された描画ＯＬの生成時間とに基づいて、更新用移管条件情報３２ｂを生成する（Ｓ５０４）。例えば、移管時間が２０ｍｓｅｃであって、１０００ピクセルのイメージに対するプロセッサａ単独での描画ＯＬの生成時間が１０ｍｓｅｃである場合、プロセッサａが単独で２０ｍｓｅｃの移管時間で２０００ピクセルのイメージの描画ＯＬを生成することができるので、移管条件生成手段４２４は、イメージに対するプロセッサａの移管条件情報３２として、２０００ピクセルという閾値を生成する。閾値は、描画ＯＬの生成時間が移管時間未満または移管時間以下となる描画オペレータに対してＰＤＬの処理が移管される必要がないと判定されるように設定されることが好ましい。
【０１９０】
次いで、移管条件格納手段４２５は、Ｓ５０４において生成された更新用移管条件情報３２ｂを不揮発メモリ２１１に格納する（Ｓ５０５）。
【０１９１】
最後に、移管条件通知手段４２６は、Ｓ５０４において生成された更新用移管条件情報３２ｂを外部装置９０に通知し（Ｓ５０６）、図２３に示す処理が終了する。外部装置９０は、画像形成装置４１０からの通知に基づいて、図２２に示す移管条件設定画面の更新結果表示領域４９３ｆに更新用移管条件情報３２ｂを表示する。
【０１９２】
なお、不揮発メモリ２１１に格納された更新用移管条件情報３２ｂは、画像形成装置４１０の再起動後に動作に反映される。つまり、移管条件書込手段２２２は、画像形成装置４１０の再起動後に、不揮発メモリ２１１に格納されている更新用移管条件情報３２ｂを対応するプロセッサのローカルメモリに割り当てる。
【０１９３】
画像形成装置４１０は、Ｓ５０５の処理の後に自ら再起動を行うようになっていても良い。
【０１９４】
本実施の形態においては、画像形成装置４１０がプロセッサを２つだけ備えている場合について説明しているが、画像形成装置４１０がプロセッサを３つ以上備えている場合についても同様である。
【０１９５】
なお、以上においては、利用者が外部装置９０としてのＰＣ内のユーティリティソフトウェアを介して画像形成装置２１０を操作するようになっているが、利用者が画像形成装置４１０の操作パネル１６を介して画像形成装置４１０を直接操作するようになっていても良い。利用者が画像形成装置４１０の操作パネル１６を介して画像形成装置４１０を操作するようになっている場合、図２２に示す移管条件設定画面は、操作パネル１６に表示される。また、利用者が画像形成装置２１０の操作パネル１６を介して画像形成装置２１０を操作するようになっている場合、移管条件受付手段２２１によって受け付けられる移管条件情報３２は、予めＵＳＢメモリなどの外部装置９０に保存されているものでも良いし、利用者に操作パネル１６から直接入力させるものでも良い。
【０１９６】
画像形成装置４１０は、第１の実施の形態において画像形成装置１０について説明した効果に加えて以下に説明する効果を得ることができる。
【０１９７】
画像形成装置４１０は、自動で移管条件情報３２を変更することができるので、利用者が手動で移管条件情報３２を変更する構成と比較して、移管条件情報３２の変更を容易化することができる。
【０１９８】
また、画像形成装置４１０は、テスト用のデータを使用して更新用移管条件情報３２ｂを生成するので、実際の用紙への印刷の測定結果に基づいて更新用移管条件情報３２ｂを生成する構成と比較して、用紙を節約することができる。
【符号の説明】
【０１９９】
１０  画像形成装置
１２  プロセッサ
１２ａ  ローカルメモリ（移管条件メモリ）
１３  ＲＯＭ（デフォルト移管条件メモリ）
３２  移管条件情報
３２ａ  デフォルト移管条件情報（移管条件情報）
３２ｂ  更新用移管条件情報（移管条件情報）
３２ｃ  通知用移管条件情報（移管条件情報）
４１  ＰＤＬ解釈手段
４３  ＯＬ生成手段
４４  移管判定手段
４６  処理移管手段
２１０  画像形成装置
２１１  不揮発メモリ
２２１  移管条件受付手段
２２２  移管条件書込手段
２２３  移管条件取得手段
２２４  移管条件通知手段
２２５  移管条件削除手段
４１０  画像形成装置
４２２  移管時間計測手段
４２３  描画ＯＬ生成時間計測手段
４２４  移管条件生成手段
【図１】
0005450321.tif 000002
【図２】
0005450321.tif 000003
【図３】
0005450321.tif 000004
【図４】
0005450321.tif 000005
【図５】
0005450321.tif 000006
【図６】
0005450321.tif 000007
【図７】
0005450321.tif 000008
【図８】
0005450321.tif 000009
【図９】
0005450321.tif 000010
【図１０】
0005450321.tif 000011
【図１１】
0005450321.tif 000012
【図１２】
0005450321.tif 000013
【図１３】
0005450321.tif 000014
【図１４】
0005450321.tif 000015
【図１５】
0005450321.tif 000016
【図１６】
0005450321.tif 000017
【図１７】
0005450321.tif 000018
【図１８】
0005450321.tif 000019
【図１９】
0005450321.tif 000020
【図２０】
0005450321.tif 000021
【図２１】
0005450321.tif 000022
【図２２】
0005450321.tif 000023
【図２３】
0005450321.tif 000024