(57)【要約】【課題】  ＰＤＬ処理とＲＩＰ処理の負荷のバランスを高速かつ容易にとることが出来る、効率的なパイプライン処理を実現する画像処理方法及び画像処理装置ならびに該画像処理方法を実行するプログラムを提供する。【解決手段】  ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成するＰＤＬ処理と、該ディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理を含む画像処理で、ＰＤＬデータへのＰＤＬ処理の開始に先だって、ＰＤＬ処理とＲＩＰ処理の負荷を均等とするために、ＲＩＰ処理への負荷の予測が大きければＰＤＬ処理で重なり除去済みのディスプレイリストの生成を決定し、ＰＤＬ処理への負荷の予測が大きければ重なり除去を行っていないディスプレイリストの生成を決定する。【選択図】  図１２Ａ
2010120196.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成し、該ディスプレイリストをレンダリングしてビットマップデータを生成する画像処理方法であって、
決定手段が、ＰＤＬデータからディスプレイリストを生成するＰＤＬ処理の開始に先だって、前記ＰＤＬ処理とディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理の負荷を均等とするために、前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成するか、あるいは重なり除去を行っていないディスプレイリストを生成するかを決定する決定工程と、
前記決定工程で重なり除去を行っていないディスプレイリストの生成が決定された場合は、前記ＰＤＬ処理で重なり除去を行っていないディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去を行っていないディスプレイリストを基にビットマップデータを生成する第１のビットマップデータ展開工程と、
前記決定工程で重なり除去済みのディスプレイリストの生成が決定された場合は、前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去済みのディスプレイリストを基にビットマップデータを生成する第２のビットマップデータ展開工程とを有することを特徴とする画像処理方法。
【請求項２】
前記重なり除去は、オブジェクトの交差点間に含まれる塗りつぶし部分が持つレベル情報を基に、データを最上位から最下位に向かってソートして、上位レベルにより隠される不必要なデータを除去するレベル処理と、ソートが終わった塗りつぶし部分が持つ重ね合わせ情報を基に複数の塗りつぶし部分を１つの塗りつぶし部分にするコンポジット処理とを含むことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記決定工程では、前記ＰＤＬ処理への負荷の予測と前記ＲＩＰ処理への負荷の予測とに基づいて、前記ＲＩＰ処理への負荷の予測が大きければ前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストの生成を決定し、前記ＰＤＬ処理への負荷の予測が大きければ前記重なり除去を行っていないディスプレイリストの生成を決定することを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記決定工程では、重なり除去済みの部分と重なり除去を行っていない部分を前記ＰＤＬ処理及びＲＩＰ処理への負荷に反比例する割合で含むディスプレイリストの生成を決定することを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記ＰＤＬ処理とＲＩＰ処理の順番待ちをしているデータの数と実行可能なＣＰＵの個数を取得する第１の取得工程を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、各処理の順番待ちをしているデータの数と各処理を実行可能なＣＰＵの個数に基づいて予測されることを特徴とする請求項３または４に記載の画像処理方法。
【請求項６】
前記ＰＤＬ処理とＲＩＰ処理の１頁平均の処理能力が取得可能な場合に、１頁平均の処理能力を取得する第２の取得工程を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、前記ＰＤＬとＲＩＰの１頁当たりの平均処理能力と前記各処理の順番待ちしているデータの個数と前記各処理を処理可能なＣＰＵの個数とに基づいて予測されることを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記ＰＤＬ処理とＲＩＰ処理を行うデータがたまるキューのサイズが異なる場合に、ＰＤＬ処理の待ちのデータがためられるキューとＲＩＰ処理の待ちデータがためられるキューのサイズを取得する第３の取得工程を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、前記ＰＤＬ処理のキューとＲＩＰ処理のキューのサイズと、前記各処理の順番待ちしているデータの個数と、前記各処理を処理可能なＣＰＵの個数とに基づいて予測されることを特徴とする請求項５に記載の画像処理方法。
【請求項８】
前記決定工程では、前記ＲＩＰ処理により生成されたビットマップデータをスプールするスプールメモリが使用可能であるか否かに基づいて、前記スプールメモリが使用可能で無ければ前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストの生成を決定し、前記スプールメモリが使用可能であれば前記重なり除去を行っていないディスプレイリストの生成を決定することを特徴とする請求項１に記載の画像処理方法。
【請求項９】
前記スプールメモリが他の処理に使われている場合に、前記スプールメモリが使用可能で無いと判断することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
請求項１乃至９のいずれか１項に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【請求項１２】
ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成し、該ディスプレイリストをレンダリングしてビットマップデータを生成する画像処理装置であって、
前記ＰＤＬデータからディスプレイリストを生成するＰＤＬ処理で重なり除去を行っていないディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去を行っていないディスプレイリストを基にビットマップデータを生成する第１のビットマップデータ展開手段と、
前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成し、前記ディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理で前記重なり除去済みのディスプレイリストを基にビットマップデータを生成する第２のビットマップデータ展開手段と、
前記ＰＤＬデータへの前記ＰＤＬ処理の開始に先だって、前記ＰＤＬ処理とＲＩＰ処理の負荷を均等とするために前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストと前記重なり除去を行っていないディスプレイリストの生成を決定する決定手段とを有することを特徴とする画像処理装置。
【請求項１３】
前記重なり除去は、オブジェクトの交差点間に含まれる塗りつぶし部分が持つレベル情報を基に、データを最上位から最下位に向かってソートして、上位レベルにより隠される不必要なデータを除去するレベル処理と、ソートが終わった塗りつぶし部分が持つ重ね合わせ情報を基に複数の塗りつぶし部分を１つの塗りつぶし部分にするコンポジット処理とを含むことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記決定手段は、前記ＰＤＬ処理への負荷の予測と前記ＲＩＰ処理への負荷の予測とに基づいて、前記ＲＩＰ処理への負荷の予測が大きければ前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストの生成を決定し、前記ＰＤＬ処理への負荷の予測が大きければ前記重なり除去を行っていないディスプレイリストの生成を決定することを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
前記決定手段は、重なり除去済みの部分と重なり除去を行っていない部分を前記ＰＤＬ処理及びＲＩＰ処理への負荷に反比例する割合で含むディスプレイリストの生成を決定することを特徴とする請求項１２に記載の画像処理手段。
【請求項１６】
前記ＰＤＬ処理とＲＩＰ処理の順番待ちをしているデータの数と実行可能なＣＰＵの個数を取得する第１の取得手段を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、各処理の順番待ちをしているデータの数と各処理を実行可能なＣＰＵの個数に基づいて予測されることを特徴とする請求項１４または１５に記載の画像処理装置。
【請求項１７】
前記ＰＤＬ処理とＲＩＰ処理の１頁平均の処理能力が取得可能な場合に、１頁平均の処理能力を取得する第２の取得手段を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、前記ＰＤＬとＲＩＰの１頁当たりの平均処理能力と前記各処理の順番待ちしているデータの個数と前記各処理を処理可能なＣＰＵの個数とに基づいて予測されることを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記ＰＤＬ処理とＲＩＰ処理を行うデータがたまるキューのサイズが異なる場合に、ＰＤＬ処理の待ちのデータがためられるキューとＲＩＰ処理の待ちデータがためられるキューのサイズを取得する第３の取得手段を有し、
前記ＰＤＬ処理及びＲＩＰ処理への負荷は、前記ＰＤＬ処理のキューとＲＩＰ処理のキューのサイズと、前記各処理の順番待ちしているデータの個数と、前記各処理を処理可能なＣＰＵの個数とに基づいて予測されることを特徴とする請求項１６に記載の画像処理装置。
【請求項１９】
前記ＲＩＰ処理により生成されたビットマップデータをスプールするスプールメモリを有し、
前記決定手段は、前記スプールメモリが使用可能であるか否かに基づいて、前記スプールメモリが使用可能で無ければ前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストの生成を決定し、前記スプールメモリが使用可能であれば前記重なり除去を行っていないディスプレイリストの生成を決定することを特徴とする請求項１２に記載の画像処理装置。
【請求項２０】
前記スプールメモリが他の処理に使われている場合に、前記スプールメモリが使用可能で無いと判断することを特徴とする請求項１９に記載の画像処理装置。
【請求項２１】
請求項１２乃至２０のいずれか１項に記載の画像処理装置を有し、前記ＲＩＰ処理により生成されたビットマップデータに従って画像を形成することを特徴とする画像形成装置。
【請求項２２】
ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成するＰＤＬ処理部と、
前記ＰＤＬ処理部により生成されたディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理部とを有し、
前記ＰＤＬ処理部の能力と前記ＲＩＰ処理部の能力と前記ＲＩＰ処理部の処理待ち状態に応じて、前記ＰＤＬ処理部で前記重なり除去済みのディスプレイリストを生成するか、前記ＰＤＬ処理部で前記重なり除去を行っていないディスプレイリストの生成するかを決定し、
前記ＰＤＬ処理部で重なり除去を行っていないディスプレイリストを生成された場合、前記ＲＩＰ処理部で重なり除去を行っていないディスプレイリストを基にビットマップデータを生成させ、
前記ＰＤＬ処理部で重なり除去済みのディスプレイリストを生成された場合、前記ＲＩＰ処理で重なり除去済みのディスプレイリストを基にビットマップデータを生成させることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラムに関する。特に、ＰＤＬ処理とＲＩＰ処理の負荷分散の制御方法を有する画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラムに関するものである。
【０００２】
ここで、ＰＤＬ処理とは、頁記述言語(Page Description Language)を解析してディスプレイリストを生成する処理である。また、ＲＩＰ処理とは、ラスタイメージプロセッサ(Raster Image Processor)でディスプレイリストをビットマップデータに展開する処理である。
【背景技術】
【０００３】
複数のＣＰＵを使用する、これまでの印刷処理におけるＰＤＬ処理とＲＩＰ処理の並列処理やパイプライン処理においては、負荷の偏りとして、
(1) ＲＩＰ処理時に描画領域により負荷の偏りが発生する、
(2) ＰＤＬ処理とＲＩＰ処理に負荷の偏りが発生する、
といったものがあげられる。
【０００４】
それらの結果、並列処理を行ったとしても遅い方の処理に律速してしまい、最適な並列処理やパイプライン処理が行われない問題がある。
【０００５】
このような問題の解決策として、下記のような提案がなされている。
【０００６】
(1)に対応する解決策として、特許文献１では、入力されたＰＤＬデータからＤＬを生成する際に、ＰＤＬデータから各描画領域の処理の負荷を予測して負荷補正値を生成する。そして、負荷が均等になるように複数の描画処理部へ描画領域の担当範囲を割り当てることによって、問題の解決を図っていた。
【０００７】
(2)に対応する解決案として、特許文献２では、各プロセッサの描画処理をビットマップまで展開した処理（ビットマップ展開）とするか、描画パラメータ（ベクター情報）の更新のみの処理（空描画）とするかを選択する。この処理によって、複数のプロセッサへの描画処理の負荷分散を行うという提案がなされている。
【特許文献１】特開平１０−５２９５０
【特許文献２】特開２００５−６３０２７
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の技術では、以下のような問題が生じていた。
【０００９】
まず、特許文献１では、ＤＬを生成する際に同時に補正値を生成しているが、この補正値の生成自体がオーバーヘッドになり、印刷処理全体のパフォーマンスを落とす可能性がある。単純なデータの場合、そのオーバーヘッドもそれほど大きくないが、複雑なデータになればなるほど補正値の生成に時間がかかると予想される。また、ＰＤＬ処理やＲＩＰ処理を行うＣＰＵの個数が複数だった場合のＣＰＵの割り当てには言及がされておらず、正確な処理時間の予測が出来ない問題がある。
【００１０】
一方、特許文献２では、同じＰＤＬデータを複数のプロセッサ（ＣＰＵ）で並列にインタプリタ処理する為、無駄な処理(結果的に描画されないページの空描画：ＰＤＬ処理も行われる)が発生します。また、特許文献２では、ＰＤＬ処理を行う際にデータを保持するメモリ領域が各プロセッサ（ＣＰＵ）毎に必要となるためメモリ使用量が多くなる。
【００１１】
本発明は、上記問題点に鑑み、ＰＤＬ処理とＲＩＰ処理の負荷のバランスを高速かつ容易にとることが出来る、効率的なパイプライン処理を実現する画像処理方法及び画像処理装置ならびに該画像処理方法を実行するプログラムを提供する。
【００１２】
また、ＰＤＬ処理ではビットマップ展開されていないＤＬを生成して、ＲＩＰ処理に使用するメモリ量を少なく抑えることが出来る画像処理方法及び画像処理装置ならびに該画像処理方法を実行するためのプログラムを提供する。
【課題を解決するための手段】
【００１３】
上記の問題を解決するために、本発明の画像処理方法は、ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成し、該ディスプレイリストをレンダリングしてビットマップデータを生成する画像処理方法であって、決定手段が、ＰＤＬデータからディスプレイリストを生成するＰＤＬ処理の開始に先だって、前記ＰＤＬ処理とディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理の負荷を均等とするために、前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成するか、あるいは重なり除去を行っていないディスプレイリストを生成するかを決定する決定工程と、前記決定工程で重なり除去を行っていないディスプレイリストの生成が決定された場合は、前記ＰＤＬ処理で重なり除去を行っていないディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去を行っていないディスプレイリストを基にビットマップデータを生成する第１のビットマップデータ展開工程と、前記決定工程で重なり除去済みのディスプレイリストの生成が決定された場合は、前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去済みのディスプレイリストを基にビットマップデータを生成する第２のビットマップデータ展開工程とを有することを特徴とする。
【００１４】
また、上記画像処理方法の各工程をコンピュータに実行させるためのプログラム、及び該プログラムを記憶したコンピュータで読み取り可能な記憶媒体を提供する。
【００１５】
また、本発明の画像処理装置は、ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成し、該ディスプレイリストをレンダリングしてビットマップデータを生成する画像処理装置であって、前記ＰＤＬデータからディスプレイリストを生成するＰＤＬ処理で重なり除去を行っていないディスプレイリストを生成し、前記ＲＩＰ処理で前記重なり除去を行っていないディスプレイリストを基にビットマップデータを生成する第１のビットマップデータ展開手段と、前記ＰＤＬ処理で重なり除去済みのディスプレイリストを生成し、前記ディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理で前記重なり除去済みのディスプレイリストを基にビットマップデータを生成する第２のビットマップデータ展開手段と、前記ＰＤＬデータへの前記ＰＤＬ処理の開始に先だって、前記ＰＤＬ処理とＲＩＰ処理の負荷を均等とするために前記ＰＤＬ処理で前記重なり除去済みのディスプレイリストと前記重なり除去を行っていないディスプレイリストの生成を決定する決定手段とを有することを特徴とする。
【００１６】
また、本発明の画像処理装置は、ページ記述言語（ＰＤＬ）で記述されたＰＤＬデータからディスプレイリストを生成するＰＤＬ処理部と、前記ＰＤＬ処理部により生成されたディスプレイリストをレンダリングしてビットマップデータを生成するＲＩＰ処理部とを有し、前記ＰＤＬ処理部の能力と前記ＲＩＰ処理部の能力と前記ＲＩＰ処理部の処理待ち状態に応じて、前記ＰＤＬ処理部で前記重なり除去済みのディスプレイリストを生成するか、前記ＰＤＬ処理部で前記重なり除去を行っていないディスプレイリストの生成するかを決定し、前記ＰＤＬ処理部で重なり除去を行っていないディスプレイリストを生成された場合、前記ＲＩＰ処理部で重なり除去を行っていないディスプレイリストを基にビットマップデータを生成させ、前記ＰＤＬ処理部で重なり除去済みのディスプレイリストを生成された場合、前記ＲＩＰ処理で重なり除去済みのディスプレイリストを基にビットマップデータを生成させることを特徴とする。
【発明の効果】
【００１７】
本発明においては、ＰＤＬ処理において、次ぎの条件に従ってレベル処理を行わない（レベル情報の残った）ＤＬを生成するか、レベル処理済みの（レベル情報の除去された）ＤＬを生成するかを切り替える。切り替える条件は、ＰＤＬ処理及びＲＩＰ処理のキューにたまっている処理待ちデータの数と、ＰＤＬ処理またはＲＩＰ処理を行うことが可能なＣＰＵの個数とである。
【００１８】
この結果、ＰＤＬ処理とＲＩＰ処理の負荷のバランスを高速かつ容易にとることができ、効率的なパイプライン処理を実現することが出来る。
【００１９】
また、ＰＤＬ処理を行う際にデータを保持する領域は１つですむので、メモリ量を少なく抑えることが出来る。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の実施形態について、添付図面を参照して詳細に説明する。
【００２１】
［実施形態１］
＜本実施形態の画像処理装置の構成＞
本実施形態を適用するに好適な１Ｄカラー系ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）の構成例について、図１を用いて説明する。
【００２２】
１Ｄカラー系ＭＦＰは、原稿露光部１０１、レーザ露光部１０２、感光ドラム１０３ａ、作像部１０３、定着部１０４、給紙／搬送部１９５、及び、これらを制御する不図示のプリンタ制御部から構成される。
【００２３】
原稿露光部１０１は、原稿台に置かれた原稿に対して照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。
【００２４】
レーザ露光部１０２は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、反射走査光として感光ドラム１０３ａに照射する。
【００２５】
作像部１０３は、感光ドラム１０３ａを回転駆動し、帯電器によって帯電させ、前記レーザ露光部１０２によって感光ドラム１０３ａ上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム１０３ａ上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。
【００２６】
その際、シートが転写ベルトの所定位置に巻きつき、４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わる。そして、順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部１０４へ搬送される。
【００２７】
定着部１０４は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部１０３によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解して定着させる。
【００２８】
給紙／搬送部１０５は、シートカセットやペーパーデッキに代表されるシート収納庫を１つ以上持っている。給紙／搬送部１０５は、不図示のプリンタ制御部の指示に応じて、シート収納庫に収納された複数のシートの中から１枚分離し、作像部１０３から定着部１０４へ搬送する。シートは、作像部１０３の転写ドラムに巻きつけられ、４回転した後に定着部１０４へ搬送される。４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部１０４を通過したシートを再度作像部１０３へ搬送する搬送経路を通るように制御する。
【００２９】
不図示のプリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信して、その指示に応じて制御を実行する。同時に、前述の原稿露光、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
【００３０】
＜プリンタ制御部のハードウエア構成例＞
図２は、本実施形態におけるＭＦＰのプリンタ制御部（コントローラ）のハードウエア構成例を示すブロック図である。
【００３１】
図２において、プリンタ制御部２００は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン２０２と接続し、画像データの読み取りやプリント出力のための制御を行う。また、プリンタ制御部２００は、ＬＡＮ＿Ｎ１や公衆回線２０４と接続することで、画像情報やデバイス情報をＬＡＮ＿Ｎ１経由で入出力するための制御を行う。
【００３２】
ＣＰＵ２０５は、ＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。ＰＤＬ処理部２０３は、入力されたページ記述言語（以下、ＰＤＬ）データを解析し、ＣＰＵ２０５の指示に従ってレベル処理をしないディスプレイリスト（以下、ＤＬ）とレベル処理済みのＤＬとを切り替えて、ＤＬを生成する。ＣＰＵ２０５の指示は、後述のように、ＲＡＭ２０６やＨＤＤ２０８に記憶されたＰＤＬ処理とＲＩＰ処理のキューの数や、ＰＤＬ処理とＲＩＰ処理に割り当てられたＣＰＵの数により切り替えられる。
【００３３】
操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える役割をする。ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ＿Ｎ１に接続して外部装置との間で情報の入出力を行う。さらに、モデム２１２は公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。
【００３４】
以上のユニットがシステムバス２１３上に配置されている。イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。
【００３５】
画像バス２１５上には、ラスタイメージプロセッサ（ＲＩＰ処理部）２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９が接続される。また、画像編集用画像処理部２２０、頁メモリ２２１、カラーマネージメントモジュール２３０が接続される。ＲＩＰ処理部２１６は、ＤＬのベクトルデータをイメージに展開して、頁メモリ２２１に一次記憶する。
【００３６】
デバイスＩ／Ｆ部２１７は、スキャナ２０１やプリンタエンジン２０２とプリンタ制御部２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００３７】
また、スキャナ画像処理部２１８は、スキャナ２０１から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００３８】
＜プリンタ制御部のソフトウェア構成例＞
図３は、ＭＦＰの動作を制御するプリンタ制御部のソフトウェアの構成例を示すブロック図である。図３で、頁メモリ（ＲＡＭ）２０６やドキュメント記憶部（ＨＤＤ）２０８を除く各部は、ＣＰＵ２０５あるいはＰＤＬ処理やＲＩＰ処理を行う複数のＣＰＵによるソフトウエア処理により実現される。図３で図２と同様の機能を果たす構成要素は、同じ参照番号で示している。
【００３９】
ネットワークＩ／Ｆ２１１は、外部との入出力のためのインタフェースである。プロトコル制御部３０１は、ネットワークプロトコルを解析して送信することによって外部との通信を行う制御部である。
【００４０】
ＰＤＬ処理部２０３は、ＰＤＬデータを解析し、より処理しやすい形式のＤＬに変換する処理部である。ＰＤＬ処理部２０３において生成されたＤＬは、データ描画部（ＲＩＰ処理部）２１６に渡されて処理される。ＲＩＰ処理部３０３は、ＰＤＬ処理部２０３で生成されたＤＬをビットマップデータに展開するものであり、展開されたビットマップデータは頁メモリ２２１に逐次描画されて行く。頁メモリ２２１はレンダラが展開するビットマップデータを一次的に保持する揮発性のメモリである。
【００４１】
パネル入出力制御部３０５は、操作パネルからの入出力を制御するものである。ドキュメント記憶部３０６はデータファイルを記憶するハードディスク等の二次記憶装置である。スキャン制御部３０７は、スキャナ２０１から入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部３０８は、頁メモリ２２１の内容をビデオ信号に変換処理し、プリンタエンジン２０２へ画像転送を行なう。プリンタエンジン２０２は、受け取ったビデオ信号を記録紙に永久可視画像形成するための印刷機構部である。
【００４２】
＜本実施形態の画像処理の機能構成例＞
図４は、本実施形態のプリンタ制御部での画像処理の機能構成例を示す図である。図４で図２や図３と同じ構成要素は、同じ参照番号で示している。以下、画像データの流れに従って説明する。
【００４３】
図４の４０１は、外部からのＰＤＬデータを受信するＰＤＬデータ受信部である。ＰＤＬデータ受信部４０１で受信されたＰＤＬデータは、順にＰＤＬ処理待ちキュー４０４にキューイングされる。ＰＤＬ処理待ちキュー４０４にキューイングされたＰＤＬデータは、ファーストイン・ファーストアウト（ＦＩＦＯ）でＰＤＬ処理部２０３に読み出されて、ＰＤＬ処理部２０３の複数のＣＰＵで並列処理される。この時に、ＰＤＬ処理切替部４０３において、ＰＤＬ処理部２０３で重なり除去を行うか否かが決定されて、重なり除去処理フラグとしてＰＤＬ処理部２０３に通知される。
【００４４】
ここで、重なり除去処理フラグは、ＰＤＬ処理待ちキュー４０４の待ちキュー数、後述のＰＤＬ処理部４０５で動作可能なＣＰＵ数、ＲＩＰ処理待ちキュー４０６の待ちキュー数、ＲＩＰ処理部で動作可能なＣＰＵ数、に従って決定される。なお、本実施形態では、キュー数とＣＰＵ数として単純化しているが、キュー数は負荷量を示す一例であり、ＣＰＵ数は処理量を示す一例に過ぎない。さらに多用な条件を考慮すれば、より正確な負荷量と処理量とが算出可能であり、キュー数とＣＰＵ数に限定されない。本発明は、かかる負荷量と処理量とに基づいてＰＤＬ処理で重なり除去を行うか否かを切り替えることが、特徴ある構成である。
【００４５】
ＰＤＬ処理部２０３で重なり除去処理フラグに従って処理された、重なり除去済みのＤＬあるいは重なり除去を行わないＤＬは、ＲＩＰ処理待ちキュー４０６に重なり除去処理フラグと共にキューイングされる。なお、重なり除去処理フラグでなくＤＬ内に重なり除去か否かを記憶させ、ＲＩＰ処理部４０７が処理前にＤＬを解析して判断する構成であってもよい。
【００４６】
ＲＩＰ処理待ちキュー４０６のＤＬは、ファーストイン・ファーストアウト（ＦＩＦＯ）でＲＩＰ処理部２１６に読み出されて、重なり除去か否かに従ってＲＩＰ処理部２１６の複数のＣＰＵで並列にビットマップデータに展開処理される。ＲＩＰ処理部２１６で展開処理されたビットマップデータは、頁メモリ２２１に一時記憶され、１頁の画像形成のためプリンタエンジン２０２に出力される。
【００４７】
（本実施形態の画像処理に必要なデータ及びプログラム例）
図５は、本実施形態のプリンタ制御部が画像処理に必要とするデータ及びプログラム例を示す図である。なお、図５には、本実施形態に特徴的なデータ及びプログラムのみを示し、他の汎用的なデータ及びプログラムは省かれている。また、図５で図２と同じ構成要素は、同じ参照番号で示している。
【００４８】
図５で、ＲＡＭ２０６には以下のデータが一時記憶される。２０６ａは、画像メモリの記憶領域であり、受信されたＰＤＬデータが一時記憶される。２０６ｂは、ＰＤＬ処理において重なり除去を行うか否かを決める重なり除去処理フラグの記憶領域である。かかる記憶領域２０６ａに記憶されているＰＤＬデータが後述のＰＤＬ処理待ちキュー２０８ａにキューイングされる。２０６ｃは、ＰＤＬ処理部で使用可能なＣＰＵ数とＲＩＰ処理で使用可能なＣＰＵ数を記憶するＣＰＵの数の記憶領域である。２０６ｄは、ＰＤＬ処理部の処理を待っているキュー数とＲＩＰ処理を待っているキュー数を記憶する各処理の待ちキューの数の記憶領域である。
【００４９】
図５で、ＨＤＤ２０８には以下のデータ及びプログラムが格納される。２０８ａは、ＰＤＬ処理部２０３でＤＬを生成するためのＰＤＬデータをＦＩＦＯ方式で格納するＰＤＬ処理待ちキューである（図４の４０４参照）。２０８ｂは、ＲＩＰ処理部２１６でＤＬからビットマップデータを展開するための重なり除去処理フラグ付きＤＬをＦＩＦＯ方式で格納するＲＩＰ処理待ちキューである（図４の４０６参照）。また、２０８ｃは、以下の図１３Ａに示すフローチャートに従うＰＤＬ処理切替プログラムを格納する領域である。かかるＰＤＬ処理切替プログラムはＲＡＭ２０６にロードされてＣＰＵ２０５により実行される。
【００５０】
図５で、頁メモリ２２１にはＲＩＰ処理部２１６で展開されたビットマップデータ２２１ａが一時記憶される。
【００５１】
＜本実施形態のプリンタ制御部のデータ処理例＞
次に、重なり除去を行っていないＤＬと重なり除去済みＤＬの生成、及びＤＬからのビットマップデータの生成における、ＰＤＬ処理部とＲＩＰ処理部の負荷について、図６Ａ及び図６Ｂに基づいて説明する。本実施形態では、図６Ａ及び図６Ｂのように、ＰＤＬ処理部とＲＩＰ処理部の負荷が異なる２つのビットマップデータ展開を準備して、この２つのビットマップデータ展開を負荷が均等隣るように割り当てる。なお、図２乃至図５と同様の構成要素には、同じ参照番号を付加している。
【００５２】
なお、ＰＤＬデータによるプリントとは、ＰＣ（Personal Computer）上のアプリケーションソフトから印刷を指示した場合に、ＰＣ上のプリンタドライバによって生成されたＰＤＬデータを受け取って出力する、プリンタ動作のことである。
【００５３】
（重なり除去を行っていないＤＬの生成：第１のビットマップデータ展開）
図６Ａは、重なり除去を行っていないＤＬを生成する場合のプリンタ制御部でのデータフローを示している。
【００５４】
受信したＰＤＬデータは、ＰＤＬ処理待ちキュー４０４にキューイングされた後、まず、ＰＤＬ処理部２０３でＰＤＬデータ解析処理Ｄ７０１によって解析される。次に、頁の先頭からスキャンラインごとにエッジの交差点を抽出するエッジ処理Ｄ７０２を行う。エッジ処理Ｄ７０２が終了した時点でＰＤＬ処理部２０２から出力されるデータは、重なり除去を行っていないＤＬである。重なり除去を行っていないＤＬは、ＲＩＰ処理待ちキュー４０６にキューイングされる。
【００５５】
次に、ＲＩＰ処理部２１６において、重なり除去を行っていないＤＬを入力データとし、レベル処理Ｄ７０３を行う。レベル処理Ｄ７０３では、エッジ処理Ｄ７０２で抽出した交差点間(スパンと言う)に含まれる塗りつぶし部分（フィルと言う）が持つレベル情報を基に、データを最上位から最下位に向かってデータをソートする。そして、上位レベルにより隠される不必要なデータを除去する。次に、コンポジット処理Ｄ７０４を行う。コンポジット処理とは、ソート処理が終わったフィルが持つ重ね合わせ情報（ラスタオペレーションや透過処理）を基に複数のフィルを最終的に１つのフィルにする処理のことである。最後に、ピクセル生成処理Ｄ７０５においてエッジ処理Ｄ７０２で算出したスパン分のピクセルを生成する処理を行い、ビットマップデータが展開される。ビットマップデータは頁メモリ２２１に一時記憶されプリンタエンジン２０２に転送され、最終的に紙上に画像が出力される。
【００５６】
（重なり除去済みのＤＬの生成：第２のビットマップデータ展開）
次に、図６Ｂは、重なり除去済みのＤＬを生成する場合のプリンタ制御部でのデータフローを示している。
【００５７】
重なり除去されていないＤＬ生成のデータフローと異なる点は、エッジ処理Ｄ７０７に引き続き、レベル処理Ｄ７０８及びコンポジット処理Ｄ７０９もＰＤＬ処理部２０３で行うことにより、重なり除去済みのＤＬが生成される点である。その結果、ＰＤＬ処理部２０３からＲＩＰ処理待ちキュー４０６に出力されるＤＬが重なり除去済みＤＬであるので、ＲＩＰ処理部２１６ではそのままピクセル生成処理Ｄ７１０を行うだけで、ビットマップデータが生成できる。
【００５８】
図６Ａ及び図６Ｂを比較すると、その負荷の大小が明らかである。すなわち、図６ＡのようにＰＤＬ処理で重なり除去を行っていないＤＬを生成する場合は、レベル処理とコンポジット処理の無いＰＤＬ処理の負荷が小さく、レベル処理とコンポジット処理が追加されたＲＩＰ処理の負荷が大きくなる。一方、図６ＢのようにＰＤＬ処理で重なる除去済みのＤＬを生成する場合は、レベル処理とコンポジット処理が必要なＰＤＬ処理の負荷が大きく、レベル処理とコンポジット処理の無いピクセル生成処理だけのＲＩＰ処理の負荷が小さくなる。
【００５９】
＜ＤＬのデータ構造例＞
次に、図７Ａ及び図７Ｂを用いて、重なり除去を行っていないＤＬと重なり除去済みＤＬの構造について、説明を行う。図７Ａ及び図７Ｂでは、左側の絵が最終的に出力されるイメージであり、真ん中と右側がＤＬにどのような状態でデータが含まれているかを示している。
【００６０】
（重なり除去を行っていないＤＬの構成例）
図７Ａは、重なり除去を行っていないＤＬのデータ構成例である。
【００６１】
重なり除去を行っていないＤＬでは、犬の絵の上下の透過グラデーション部分について、ビットマップと透過グラデーションの合成されたビットマップになってない。その代わり、透過重ね合わせ情報８０１からグラデーション８０２とビットマップ８０３とがリンクされている構造になっている。また、グラデーションも、実際のビットマップではなく、スタートの色、エンドの色、幅など、グラデーションの定義という形で生成されたＤＬ中に含まれている。
【００６２】
（重なり除去済みのＤＬの構成例）
一方、図７Ｂは、重なり除去済みＤＬのデータ構成例である。
【００６３】
重なり除去済みＤＬでは、ビットマップとグラデーションとが透過で重ね合わされた後のビットマップとして生成されたＤＬに含まれているので、レベルが２つ以上存在することはない。また、グラデーションもビットマップの状態になったものが生成されたＤＬに含まれている。
【００６４】
ここでいうレベルとは、ＤＬに含まれるオブジェクトが持つ上下関係のことで、各オブジェクトは一意のレベル番号（Ｎｏ）を持つ。処理中のスキャンラインに複数のオブジェクトが重なったときは、レベルＮｏが大きいオブジェクトの方が上にくる。レベル処理では、処理中のスキャンラインのオブジェクトが１つの場合、重ね合わせ処理を行う必要がないので、そのオブジェクトのフィルがそのままレンダリングされる。しかし、２つ以上ある場合、そのオブジェクトの上下関係をレベルＮｏを基に算出し、さらに重ね合わせ情報を基に重ね合わせ処理を行う必要がある。最終的に出力されるオブジェクトは、重ね合わせ処理後のフィルが出力される。
【００６５】
＜重ね合わせ情報の重なり除去とレンダリングの例＞
ここで、重なり情報８０１、８０２、８０３がどのようにレンダリングされるかを説明する。
【００６６】
図８の１６１、１６２はそれぞれＤＬに含まれる情報で、１６１は、ビットマップと重ね合わせられるグラデーションの透過情報を示す。１６２は、透過情報と重ね合わせられるビットマップ情報を示す。
【００６７】
透過情報１６１を基に、ＤＬに含まれる幅高の大きさで、フィル情報（Ｆｉｌｌ Ｉｎｆｏ）に含まれる色から色（この場合は透過値)へ変わるように１ピクセルずつ透過を表わすビットマップ１６３を生成していく。図８では、黒が透過“０”％、白が透過“１００”％である。また、ビットマップ情報１６２を基にオブジェクト画像のビットマップ１６４が生成される。透過を表わすビットマップ１６３とオブジェクト画像のビットマップ１６４とは、１ピクセルずつ透過情報１６１に含まれる重ね合わせ情報を基に重ね合わせの計算が行われる。その結果、重なり除去済みのビットマップ１６５が生成される。
【００６８】
本説明では、ビットマップとグラデーションとの重ね合わせだったため、それぞれビットマップ展開していた。しかし、一面塗りつぶし同士の重ね合わせの場合は、ビットマップ展開する必要はなく、１ピクセルのみの重ね合わせの計算を行えばよい。
【００６９】
＜ＰＤＬ処理／ＲＩＰ処理と他処理におけるＣＰＵの関係＞
図９において、ＰＤＬ処理／ＲＩＰ処理において使用するＣＰＵ数の例について説明する。
【００７０】
前述したように、プリント処理は、ＰＤＬデータからＤＬを生成するＰＤＬ処理２０３とＤＬを展開してビットマップを生成するＲＩＰ処理２１６とに分けられる。各処理を行うために割り当てられたＣＰＵの個数はシステム構成によって決められるが、図９の上段の例１においては、ＰＤＬ処理に２個のＣＰＵ、ＲＩＰ処理に２個のＣＰＵが割り当てられているとする。
【００７１】
ところで、ＭＦＰでは、プリント処理以外にも、コピー、ＦＡＸ、スキャンなどの処理が並列に動作することが考えられる。そのため、プリント処理とその他の処理がＣＰＵを共有する場合、図９の下段の例２のように、ＲＩＰ処理２１６に２個割り当てられていたＣＰＵのうち、１つのＣＰＵがＦＡＸ処理１００１に利用されることが考えられる。その結果、図９の上段の例１に比べて、下段の例２ではＲＩＰ処理２１６の能力が半分になったと考えることができる。
【００７２】
なお、本例では、利用可能な（処理を実行可能な）ＣＰＵの個数の変化は、ある頁のＲＩＰ処理が終了してから他の頁のＰＤＬ処理が開始される前に発生し、同じ頁のＰＤＬ処理とＲＩＰ処理との間に使えるＣＰＵの個数が変化することは考えていない。また、本例では、煩雑をさけるため各ＣＰＵの能力は同等と仮定しているので、ＰＤＬ処理とＲＩＰ処理でのＣＰＵの処理能力は単純にＣＰＵの個数に影響される。
【００７３】
しかしながら、各処理で使用可能なＣＰＵの個数や、他の処理が動作した場合にどのＣＰＵを利用するかは、上記例に限定されない。かかるＣＰＵの割り当て数は、ＣＰＵ２０５によりＲＡＭ２０６のＣＰＵの数２０６ｃを使って管理される。また、ＣＰＵの処理能力が同等でない場合には、個数のみで処理能力を判断するのでなく、ＣＰＵの能力も含めて判断する。更に、ＰＤＬ処理及びＲＩＰ処理の能力はメモリ容量などにも影響されるので、メモリ空容量などの他のパラメータも考慮に入れてＰＤＬ処理における重なリ除去の有無を判断してもよい。
【００７４】
＜ＤＬのつくり分けの判断の具体例＞
図１０及び図１１を使って、ＰＤＬ処理における重なリ除去の有無の２種類のＤＬの生成の判断についての具体的な説明を行う。
【００７５】
かかる判断は、ＰＤＬ処理待ちキュー４０４とＲＩＰ処理待ちキュー４０６にたまっているデータを、現在のＰＤＬ処理とＲＩＰ処理で使用可能なＣＰＵで処理した場合、どちらが全てのデータを早く処理し終われるかという基準で行う。ＰＤＬ処理が早く終わると予測された場合、ＰＤＬ処理の負荷が大きいなるように、ＰＤＬ処理待ちキュー４０４から読み出してＰＤＬ処理するＰＤＬデータからは、重なり除去済みＤＬを生成するように指示する。一方、ＲＩＰ処理の方が早く終わると予測された場合、ＲＩＰ処理の負荷が大きくなるように、ＰＤＬ処理待ちキュー４０４から読み出してＰＤＬ処理するＰＤＬデータからは、重なり除去を行っていないＤＬを生成するように指示する。
【００７６】
（重なリ除去を行うと判断する状況例）
図１０は、ＰＤＬ処理もＲＩＰ処理もＣＰＵが１個で、４頁の印刷中、１〜３頁はイメージデータ、４頁目はグラフィックデータである場合の例を示す。図１０中、“Ｓ”は重なり除去の処理データを示し、“Ｍ”は重なり除去を行わない処理データを示す。
【００７７】
本例では、同じＣＰＵの個数なので、単純にキューにたまっているデータが多い方の処理負荷が大きいと判断する。その結果、先頭頁のＰＤＬ処理開始時点では、ＰＤＬ処理の負荷が大きいので、図１０の上段のように、ＰＤＬ処理の負荷が軽い重なり除去を行っていないＤＬの生成を指示する。１〜３頁は、そのまま重なり除去を行っていないＤＬの生成が指示される。
【００７８】
４頁目のＰＤＬ処理開始時点では、図１０の下段のように、先頭頁がＲＩＰ処理部２１６で処理されているが、重なり除去を行っていないＤＬ（１Ｍ）なのでＲＩＰ処理部２１６の負荷は大きい。そのため、ＲＩＰ処理待ちキュー４０６には既にＰＤＬ処理部２０３で生成された重なり除去を行っていないＤＬ（２Ｍ，３Ｍ）がスプールされている。
【００７９】
ここで、４頁目のＰＤＬ処理における重なり除去の有無を判断する。ＰＤＬ処理部２０３の負荷は、４頁目がグラフィックデータであるので、レベル処理を行うとかなり大きいと予測される。しかしながら、ＲＩＰ処理部２１６は現在先頭頁のビットマップデータへの展開を行っており、更にＲＩＰ処理待ちキュー４０６には２つの重なり除去を行っていないＤＬ（２Ｍ，３Ｍ）がキューイングされている。ＰＤＬ処理部２０３とＲＩＰ処理部２１６の処理能力は、ＣＰＵの数から考慮すると同等であるので、ＲＩＰ処理部２１６の負荷がより大きいと判断する。
【００８０】
その結果、４頁目のＰＤＬ処理においては重なり除去を行うように指示する。なお、かかる判断例は、上述のように、ＣＰＵの能力や他の条件（例えば、メモリ容量など）によって変わり得る。また、重なり除去（レベル処理）をＰＤＬ処理中に行う場合と、ＲＩＰ処理中に行う場合の処理速度やメモリ使用量などの違いがある場合などは、それらも判断の条件となり得る。
【００８１】
（重なリ除去を行わないと判断する状況例）
図１１は、ＰＤＬ処理がＣＰＵ１個、ＲＩＰ処理がＣＰＵ２個で、属性に変化のない６頁の印刷を行う例を示す。図１１中、“Ｓ”は重なり除去の処理データを示し、“Ｍ”は重なり除去を行わない処理データを示す。
【００８２】
まず、先頭頁のＰＤＬ処理開始時点では、ＰＤＬ処理の負荷が大きいので、図１１の上段のように、ＰＤＬ処理の負荷が軽い重なり除去を行っていないＤＬの生成を指示する。１〜４頁は、そのまま重なり除去を行っていないＤＬの生成が指示される。
【００８３】
図１１の５頁目のＰＤＬ処理開始時点では、図１１の下段のように、ＰＤＬ処理待ちキュー４０３には５，６頁の２頁がキューイングされている。一方、ＲＩＰ処理待ちキュー４０６にたまっている頁数は、重なり除去を行っていないＤＬ（３Ｍ，４Ｍ）である。従って、頁数だけでは両処理の負荷は同じであるが、ＲＩＰ処理に使用できるＣＰＵの個数がＰＤＬ処理の２倍なので処理能力も２倍とみなす。従って、ＰＤＬ処理は１ＣＰＵ当たり２頁、ＲＩＰ処理は１ＣＰＵ当たり１頁となり、ＰＤＬ処理の方が負荷が大きい状態であると判断する。その結果、ＰＤＬ処理部２０３には負荷の軽い重なり除去を行っていないＤＬの生成が指示される。
【００８４】
なお、本例においても、ＣＰＵの能力の違いや、重なり除去を行っていないＤＬと重なり除去済みのＤＬの展開の負荷の違いなどは考慮せずに、条件をキューイング数とＣＰＵ数に単純化している。
【００８５】
＜実施形態１の処理手順例＞
図１２Ａ乃至図１２Ｃのフローチャートを参照して、実施形態１のＰＤＬ処理とＲＩＰ処理の負荷分散について、その処理手順を説明する。
【００８６】
（ＣＰＵ２０５によるＰＤＬ処理での重なり除去の有無の指示）
図１２Ａは、ＣＰＵ２０５が実行するＰＤＬ処理の重なり除去の有無の指示の手順例を示すフローチャートである。
【００８７】
ＣＰＵ２０５は、ステップＳ１００１においてＰＤＬデータを待って、受信したＰＤＬデータ２０６ａを受け付け、ＰＤＬ処理待ちキュー４０４にキューイングする。次に、ＣＰＵ２０５は、ステップＳ１００２において、ＰＤＬ処理部２０３でＤＬ生成を開始する時点の、ＰＤＬ処理待ちキュー４０４とＲＩＰ処理待ちキュー４０６にたまっているデータの頁数を取得する。次に、ＣＰＵ２０５は、ステップＳ１００３において、ＤＬ生成を開始する時点の、ＰＤＬ処理とＲＩＰ処理それぞれに使用可能なＣＰＵの個数を取得する。次に、ＣＰＵ２０５は、ステップＳ１００４において、ステップＳ１００２とＳ１００３で取得したデータを基に、その時点でＰＤＬ処理とＲＩＰ処理から負荷の大きい処理を判別する。なお、上記データの頁数の取得及びＣＰＵの個数の取得を第１の取得という。
【００８８】
次に、ＣＰＵ２０５は、ステップＳ１００４の判別を基に、ステップＳ１００５において生成するＤＬを重なり除去を行っていないＤＬとするか、重なり除去済みＤＬとするかを決定する。次に、ＣＰＵ２０５は、ステップＳ１００６において、ＰＤＬ処理部２０３に今からＰＤＬ処理するＰＤＬデータから生成されるＤＬのＤＬタイプ（（図４では、重なり除去処理フラグ：重なり除去を行っていないＤＬか、重なり除去済みＤＬか）を指示する。
【００８９】
なお、図１２Ａでは、煩雑さを避けるため、ＰＤｌ処理部２０３でＤＬ生成を開始する時点のタイミングが明瞭に図示されていない。実際には、ＰＤＬ処理待ちキュー４０４へのキューイングと、ＰＤｌ処理部２０３でのＤＬ生成の開始とは非同期で行われる。かかる非同期の処理は、図１２Ａから容易に変形が可能である。
【００９０】
（ＰＤＬ処理部のＣＰＵによる処理）
図１２Ｂは、ＰＤＬ処理部のＣＰＵが実行する処理の手順例を示すフローチャートである。
【００９１】
まず、ＰＤＬ処理部のＣＰＵはステップＳ１００７で、ＰＤＬ処理待ちキュー４０４から先頭のＰＤＬデータを読み出すと共にＣＰＵ２０５からのＤＬタイプを受信する。次に、ＰＤＬ処理部のＣＰＵはステップＳ１００８で、ＤＬタイプに基づいて、重なり除去を行っていないＤＬの生成か、重なり除去済みＤＬの生成かを判断する。
【００９２】
重なり除去を行っていないＤＬの生成の場合（Ｓ１００８のＹｅｓ）、ＰＤＬ処理部のＣＰＵはステップＳ１００９で重なり除去を行っていないＤＬを生成する。一方、重なり除去済みＤＬの生成の場合（Ｓ１００８のＮｏ）、ＰＤＬ処理部のＣＰＵはステップＳ１０１０で重なり除去済みＤＬを生成する。ＰＤＬ処理部のＣＰＵはステップＳ１０１１で、生成されたＤＬをＲＩＰ処理待ちキュー４０６にキューイングする。
【００９３】
（ＲＩＰ処理部のＣＰＵによる処理）
図１２Ｃは、ＲＩＰ処理部のＣＰＵが実行する処理の手順例を示すフローチャートである。
【００９４】
まず、ＲＩＰ処理部のＣＰＵはステップＳ１０１２で、ＲＩＰ処理待ちキュー４０６から先頭のＤＬをＤＬタイプと共に読み出す。次に、ＲＩＰ処理部のＣＰＵはステップＳ１０１３で、読み出したＤＬに基づいてＤＬタイプに従ってＤＬのレンダリングを行う。ＲＩＰ処理部のＣＰＵはステップＳ１０１４で、ステップＳ１０１３で展開されたビットマップデータを頁メモリ２２１に出力する。
【００９５】
＜実施形態１の作用効果＞
（メモリ使用量の低減）
特許文献２等の従来例では、ＰＤＬ処理を行う際にデータを保持するメモリ領域が各プロセッサ（ＣＰＵ）毎に必要となるが、本実施形態によれば、ＰＤＬ処理を行う際にデータを保持する領域は１つですむ。すなわち、本実施形態のように、ＰＤＬ処理とＲＩＰ処理のいずれかで重なり除去を行う切り替え（レベルでの負荷分散）を行えば、メモリ使用量が少なくなる。
【００９６】
（ＣＰＵへの負荷の低減）
特許文献２等の従来例では、同じＰＤＬデータを複数のプロセッサ（ＣＰＵ）で並列にインタプリタ処理する為、無駄な処理(結果的に描画されないページの空描画：ＰＤＬ処理も行われる)が発生する。しかし、本実施形態では、ＰＤＬ処理はあくまでも１回で、ＣＰＵの個数に応じて変わるのは計算速度などであり、ＣＰＵへの負荷が低減される。
【００９７】
（負荷分散による処理速度の改善）
図１３Ａは、特許文献２のビットマップ展開と空描画との切り替え（上段）と、ＰＤＬ処理とＲＩＰ処理の固定化による処理（下段の２つ）とのビットマップデータ展開の処理速度を示す図である。図１３Ｂは、本実施形態の各処理のＣＰＵが１個の場合の重なり除去処理の分散（上段）と、各処理のＣＰＵが２個の場合の重なり除去処理の分散（下段）とのビットマップデータ展開の処理速度を示す図である。
【００９８】
なお、図１３Ａ及び図１３Ｂでは、比較のため、同じ属性の４頁のデータを処理する例を示し、１頁の処理を５コマ（内訳は、ＰＤＬ処理２コマ、レベル処理など１コマ、ＲＩＰ処理２コマ）と仮定した場合の例する。
【００９９】
図１３Ａの上段は、従来技術である特許文献１に従った処理である。ＣＰＵ（プロセッサ）を３個（Ｐ１〜Ｐ３）有し、各プロセッサはビットマップ展開かベクター情報を生成するのみの空描画（ＰＤＬ処理のみと仮定した）かを選択して、並列処理を行う例である。
【０１００】
各プロセッサは、５コマのビットマップ展開と２コマのＰＤＬ処理のみとを選択し、最初に対象頁の処理を開始したプロセッサのみが５コマのビットマップ展開し、他のプロセッサは２コマのＰＤＬ処理のみで次ぎの頁の処理に移る。かかる処理手順で４頁をビットマップ展開する時間は、１４コマの時間に相当する。
【０１０１】
図１３Ａの下段の２つは、上図がＰＤＬ処理で重なり除去済みのＤＬを生成するよう固定した場合の例であり、下図がＰＤＬ処理で重なり除去を行わないＤＬを生成するよう固定した場合の例である。かかる例では、本実施形態のように、処理の途中で重なり除去処理（レベル処理、コンポジット処理）がＰＤＬ処理とＲＩＰ処理との分散されることはない。
【０１０２】
いずれの場合も、５コマの内の２コマがＰＤＬ処理部とＲＩＰ処理部とで並列処理されるのみで、ビットマップ展開するには共に１４コマの時間を要する。
【０１０３】
これに対して、図１３Ｂには、本実施形態による重なり除去をＰＤＬ処理部とＲＩＰ処理部のいずれで行うかを制御する方法による４頁のビットマップ展開に要する時間を示す。
【０１０４】
図１３Ｂの上段は、ＰＤＬ処理部とＲＩＰ処理部のいずれもがＣＰＵが１個の場合の例、図１３Ｂの下段は、ＰＤＬ処理部とＲＩＰ処理部のいずれもがＣＰＵが２個の場合の例である。
【０１０５】
図１３Ｂの上段では、１頁から３頁ではＰＤＬ処理部で重なり除去を行わないＤＬを生成するが、４頁目にはＲＩＰ処理部の負荷が大きくなるためＰＤＬ処理部で重なり除去済みのＤＬを生成する。その結果、９コマでＰＤＬ処理部とＲＩＰ処理部の両方で重なり除去が並列に行われ、１３コマの時間で４頁のビットマップ展開が終了する。
【０１０６】
図１３Ｂの下段では、１頁と２頁ではＰＤＬ処理部で重なり除去を行わないＤＬを生成するが、３，４頁目にはＲＩＰ処理部の負荷が大きくなるためＰＤＬ処理部で重なり除去済みのＤＬを生成する。その結果、１，２頁のＲＩＰ処理部における重なり除去と、３，４頁のＰＤＬ処理部における重なり除去が並列処理されて、７コマの時間で４頁のビットマップ展開が終了する。
【０１０７】
なお、図１３Ａ及び図１３Ｂの例では、４頁のみの処理でＰＤＬ処理とＲＩＰ処理とを同じ負荷とする等の簡略化をしているので、僅かな改善しか見られない。しかし、処理する頁数が増加したりＰＤＬ処理とＲＩＰ処理の負荷の相違などを考慮すると、大幅なビットマップ展開の処理時間の改善が明らかである。
【０１０８】
＜１ページ平均の処理能力を考慮する例＞
なお、上記実施形態１では、待ちキュー数とＣＰＵの個数に基づいて、ＰＤＬ処理で重なり除去を行うかを判断した。
【０１０９】
しかし、更に、ＰＤＬ処理とＲＩＰ処理の１頁平均の処理能力が取得可能な場合には、次のような処理も可能である。すなわち、まず、１頁平均の処理能力を取得する。そして、ＰＤＬとＲＩＰの１頁当たりの平均処理能力と、ＰＤＬ処理とＲＩＰ処理の順番待ちしているデータの個数と、処理可能なＣＰＵの個数とから、ＰＤＬ処理で重なり除去を行うか否かを判断してもよい。なお、かかる１頁平均の処理能力の取得を第２の取得という。
【０１１０】
例えば、処理能力の異なるＣＰＵ(例：５００ＭHzのＡＲＭと３ＧHzのIntel CPU)が混在している構成の印刷処理装置の場合など、どのＣＰＵに何の処理が割り当てられたかによって処理時間は大きく異なる。その限定方法としては、本処理前にＣＰＵ能力を取得して情報を保存しておき、ＰＤＬ処理やＲＩＰ処理を行うＣＰＵが決定した際、保存した情報から処理能力を取得する。
【０１１１】
＜キューのサイズを考慮する例＞
また、ＰＤＬ処理とＲＩＰ処理を行うデータがたまるキューのサイズが異なる場合には、次のような処理も可能である。すなわち、まず、ＰＤＬ処理待ちのデータがためられるキューとＲＩＰ処理待ちデータがためられるキューのサイズを取得する。そして、ＰＤＬ処理のキューサイズ及びＲＩＰ処理のキューサイズと、ＰＤＬ処理とＲＩＰ処理の順番待ちしているデータの個数と、処理可能なＣＰＵの個数とから、ＰＤＬ処理で重なり除去を行うか否かを判断してもよい。なお、かかるキューのサイズの取得を第３の取得という。
【０１１２】
上記ＣＰＵの能力と同様、ＰＤＬ処理とＲＩＰ処理それぞれのキューサイズが、例えば２５６Ｍbyteか１０Ｍbyteかでは、キューがたまる速度が大きく変わる（キューがフルになるとその前の処理は止まってしまう）。その限定方法としては、本処理前にそれぞれのキューサイズを取得して情報を保存しておき、ＰＤＬ処理やＲＩＰ処理を行う際に、保存した情報から、ＰＤＬ処理とＲＩＰ処理のそれぞれの処理能力を計算する為の情報とする。
【０１１３】
（ＣＰＵの処理能力及びキューサイズを考慮する具体例）
以下に、ＣＰＵの処理能力及びキューサイズを考慮する判断方法の具体例を説明する。
【０１１４】
まず、あらかじめ、能力に応じたポイントを設定しておく(負荷がかかるほどポイントは低く設定する)。
【０１１５】
ＣＰＵの処理能力テーブルの例を以下に示す。
【０１１６】
【表１】
2010120196.tif 000003
【０１１７】
次に、キューサイズテーブルの例を示す。
【０１１８】
【表２】
2010120196.tif 000004
【０１１９】
次に、あるページを処理する時点の能力を得点化する。
【０１２０】
例：PDL処理    1Ghz    ⇒  1ポイント
RIP処理    1.5Ghz  ⇒  2ポイント
PDLキュー  20Mbyte ⇒  1ポイント
RIPキュー  50Mbyte ⇒  4ポイント
最後に、得点を元に重なり除去を行う所を決定する。
【０１２１】
PDL処理＝計2ポイント(1+1=2)
RIP処理＝計6ポイント(2+4=6)
この場合は、ＲＩＰ処理の方が負荷が軽いので、重なり除去はＲＩＰ処理側で行うことを決定する。
【０１２２】
また、別ページを処理する時点の能力を得点化する。
【０１２３】
例：PDL処理    1.5hz   ⇒  2ポイント
RIP処理    1Ghz    ⇒  1ポイント
PDLキュー  40Mbyte ⇒  3ポイント
RIPキュー  10Mbyte ⇒  0ポイント
次に、得点を元に重なり除去を行う所を決定する。
【０１２４】
PDL処理＝計5ポイント(2+3=5)
RIP処理＝計1ポイント(1+0=1)
この場合は、ＰＤＬ処理の方が負荷が軽いので、重なり除去はＰＤＬ処理側で行うことを決定する。
【０１２５】
なお、上記具体例は２つの例を示したが、これに限定されず、より負荷の少なくなる処理に重なり除去を割り当てることが可能になることは明らかである。
【０１２６】
［実施形態１の変形例］
＜任意の割合で、重なり除去済みＤＬと重なり除去なしＤＬを含む処理例＞
ここで、本実施形態の変形例として、図１４を参照して、任意の割合で重なり除去済みＤＬと重なり除去なしＤＬを含むＤＬについて説明する。
【０１２７】
本実施形態１の変形例では、ＰＤＬ処理待ちキュー４０４とＲＩＰ処理待ちキュー４０６に残っているキュー数、ＰＤＬ処理部２０３とＲＩＰ処理部２１６で利用可能なＣＰＵの個数から、ＰＤＬ処理とＲＩＰ処理の負荷の大きさを確認する。ここで、例えば、ＰＤＬ処理部２０３の負荷が７０％、ＲＩＰ処理部２１６の負荷が３０％の状況だったと仮定する。この場合、より均等な負荷で処理を行うＤＬを生成しようとする場合、実施形態１のように１００％をＰＤＬ処理かＲＩＰ処理かに分散するよりも、負荷に反比例して、ＰＤＬ処理に３０％、ＲＩＰ処理に７０％の負荷をかけるのが望ましい。
【０１２８】
図１４の右側の例は、生成されたＤＬにおいて、１頁中の３０％は重なり除去済みの領域、７０％は重なり除去なしの領域が含まれるように処理する例を示した図である。ＲＩＰ処理部におけるレンダリング時には、ＤＬを参照して、重なり除去なし領域では、重ね合わせ処理を行うと共にその結果のフィルがレンダリングされ、重なり除去済み領域では、その領域のフィルがそのままレンダリングされる。
【０１２９】
＜実施形態１の変形例の作用効果＞
かかる実施形態１の変形例によれば、図１３Ｂの処理の例でも、さらにＰＤＬ処理部とＲＩＰ処理部との負荷に応じて重なり除去が分散されるので、より短時間でビットマップ展開の処理が行われる。
【０１３０】
［実施形態２］
実施形態１では、重なり除去を行っていないＤＬと重なり除去済みＤＬの生成を、ＰＤＬ処理部とＲＩＰ処理部の負荷を分散する目的で切り替えていた。それに対し実施形態２では、これらのＤＬの生成を、リアルタイムレンダリングと非リアルタイムレンダリングの観点で切り替える例を説明する。
【０１３１】
リアルタイムレンダリングとは、ＲＩＰ処理の速度がプリンタのエンジンが紙を排紙する速度と同期するＲＩＰ処理のことを言う。すなわち、ＲＩＰ処理後にデータをスプールするためのメモリ領域（以下、スプールメモリ：本例では、ページメモリ２２１に相当する）が不要である。一方、非リアルタイムレンダリングとは、ＲＩＰ処理の速度とプリンタのエンジンが紙を排紙する速度とが同期しないＲＩＰ処理のことを言う。この場合は、ＲＩＰ処理後にデータをスプールするためのメモリ領域が必要になる。
【０１３２】
リアルタイムレンダリングを行うためには、プリンタのエンジン速度にＲＩＰ処理が追いつかなければならないため、ＲＩＰ処理の負荷が軽いことが望まれる。そのため、重なり除去済みＤＬであれば、重なり除去が必要でないため、リアルタイムレンダリングに向いたＤＬであるといえる。一方、ＭＦＰでは省メモリ化のために、メモリ領域が他の処理と共有化されることが考えられる。上記で述べたスプールメモリに関しても同様で、通常はＰＤＬデータのプリント処理に用いられているが、場合によっては他の処理(例えば、ＦＡＸやコピーなど)がスプールメモリを占有することが起きる。
【０１３３】
＜実施形態２のＤＬのつくり分けの判断例＞
上記前提を基にして、図１５を用いて実施形態２の場合の重なり除去を行っていないＤＬと重なり除去済みＤＬの作り分けの判断例を説明する。
【０１３４】
図１５の上段の問題のない例１では、スプールメモリをコピー処理で占有してしまっている。しかし、ＰＤＬ処理で重なり除去済みＤＬを生成したため、リアルタイムレンダリングが可能でスプールメモリを必要とせず、コピー処理と並列動作が可能になる。
【０１３５】
また、図１５の中段の問題のない例２では、スプールメモリが他処理に使われていない。従って、ＰＤＬ処理で重なり除去を行っていないＤＬを生成し、非リアルタイムレンダリングを行ってスプールメモリをプリント処理で用いても問題がない。
【０１３６】
一方、図１５の下段の問題の例では、スプールメモリがコピー処理で使用しているのにも関わらず、ＰＤＬ処理でリアルタイムレンダリングが行えない重なり除去を行っていないＤＬを生成してしまっている。そのため、スプールメモリが解放されるまで、プリント処理に待ちが発生してしまう。
【０１３７】
＜実施形態２の画像処理装置の構成例＞
実施形態２の画像処理装置の構成は、基本的に実施形態１と同様であるので、繰り返すは避ける。
【０１３８】
但し、図４に示した画像処理の機能構成では、ＰＤＬ処理切替部４０３による重なり除去処理フラグの生成条件が、実施形態１の待ちキュー数とＣＰＵ数から変更される。すなわち、スプールメモリ（ページメモリ２２１）が他の処理（ＦＡＸやコピーなど）で専用中か否かが、重なり除去処理フラグの生成条件となる。また、図５では、スプールメモリ（ページメモリ２２１）他の処理で専用中か否かのフラグが保持される。
【０１３９】
＜実施形態２の処理手順例＞
図１６のフローチャートを参照して、実施形態２のＰＤＬ処理とＲＩＰ処理の負荷分散について、その処理手順を説明する。
【０１４０】
（ＣＰＵ２０５によるＰＤＬ処理での重なり除去の有無の指示）
図１６のステップＳ１５０３において、ＣＰＵ２０５は、ＰＤＬデータを待って、受信したＰＤＬデータ２０６ａを受け付け、ＰＤＬ処理待ちキュー４０４にキューイングする。次に、ＣＰＵ２０５は、ステップＳ１５０４において、ＰＤＬ処理部２０３でＤＬ生成を開始する時点で、スプールメモリが他の処理に使われているかを確認する。次に、ＣＰＵ２０５は、ステップＳ１５０５において、スプールメモリが他の処理に使われているか否かを判断して分岐する。
【０１４１】
スプールメモリが他の処理に使われていない場合（Ｓ１５０５でＹｅｓ）はリアルタイムレンダリングをする必要が無いため、ＣＰＵ２０５はステップＳ１５０６において、重なり除去を行っていないＤＬの生成をＰＤＬ処理部２０３に指示する。スプールメモリが他の処理に使われていた場合（Ｓ１５０５でＮｏ）はリアルタイムレンダリングを行う必要があるので、ＣＰＵ２０５はステップＳ１５０７において、重なり除去済みＤＬの生成をＰＤＬ処理部２０３に指示する。
【０１４２】
（ＰＤＬ処理部及びＲＩＰ処理部のＣＰＵによる処理）
以下、ＰＤＬ処理部及びＲＩＰ処理部のＣＰＵによる処理は、図１２Ｂ及び図１２Ｃと同様であるので、重複説明を避ける。
【０１４３】
＜実施形態２の作用効果＞
かかる実施形態２の処理によれば、ＲＩＰ処理のレンダリングとプリンタエンジンの動作との同期が外れることによるプリントエラー（プリントデータのショートエラー）を無くして、効率の良いプリントが可能となる。
【０１４４】
［他の実施形態］
なお、実施形態１と２を独立した処理として説明したが、実施形態１と２とを組み合わせることにより、更に資源の有効利用と処理時間の短縮を図ることが出来る。また、実施形態１はキュー数（負荷量）とＣＰＵ数（処理能力）によるＤＬの重なり除去処理の有無、実施形態２はスプールメモリの空きか否かによるＤＬの重なり除去処理の有無を制御を示した。しかし、これに限定することなく、他の条件によるＤＬの重なり除去処理の有無を制御を行うことも本発明に含まれる。
【０１４５】
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ＰＣ、複写機、複合機及びファクシミリ装置の如くである。
【０１４６】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給する。そして、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【０１４７】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１４８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【０１４９】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット／イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１５０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット／イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１５１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１５２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【０１５３】
【図１】本実施形態の画像形成装置（ＭＦＰ）の構造例を示す側断面図である。
【図２】本実施形態におけるプリンタ制御部の構成例を示すブロック図である。
【図３】本実施形態におけるコントローラの構成の一例を示すブロック図である。
【図４】実施形態１のプリンタ制御部の機能構成例を示すブロック図である。
【図５】実施形態１で使用するプログラム及びデータの記憶例を示す図である。
【図６Ａ】本実施形態における重なり除去を行っていないディスプレイリストについての処理例を示した図である。
【図６Ｂ】本実施形態における重なり除去済みディスプレイリストについての処理例を示した図である。
【図７Ａ】本実施形態における重なり除去を行っていないディスプレイリストの詳細な構成例を示す図である。
【図７Ｂ】本実施形態における重なり除去済みディスプレイリストの詳細な構成例を示す図である。
【図８】本実施形態における重なり除去を行っていないディスプレイリストが重ね合わせ処理を行いレンダリングされる処理例を示した図である。
【図９】実施形態１におけるＣＰＵの個数に関する説明をする図である。
【図１０】実施形態１におけるＣＰＵ数が同じ場合の、重なり除去を行っていないディスプレイリストと重なり除去済みディスプレイリストを作り分ける基準例を示す図である。
【図１１】実施形態１におけるＣＰＵ数が異なる場合の、重なり除去を行っていないディスプレイリストと重なり除去済みディスプレイリストを作り分ける基準例を示す図である。
【図１２Ａ】実施形態１におけるＣＰＵ２０５の処理手順例を示すフローチャートである。
【図１２Ｂ】実施形態１におけるＰＤＬ処理部のＣＰＵの処理手順例を示すフローチャートである。
【図１２Ｃ】実施形態１におけるＲＩＰ処理部のＣＰＵの処理手順例を示すフローチャートである。
【図１３Ａ】従来例及び重なり除去を固定化した場合のＰＤＬ処理とＲＩＰ処理の負荷に偏りがある場合のパイプライン処理の例を示す図である。
【図１３Ｂ】実施形態１の負荷分散方法を適応した場合のＰＤＬ処理とＲＩＰ処理のパイプライン処理の例を示した図である。
【図１４】実施形態１の変形例における、重なり除去済み部分と重なり除去を行わない部分とが所定の割合で含まれたディスプレイリストの生成例を示した図である。
【図１５】実施形態２で解決される課題として、問題のない例と問題のある例とを示した図である。
【図１６】実施形態２におけるＣＰＵ２０５の処理手順例を示すフローチャートである。
【図１】
2010120196.tif 000005
【図２】
2010120196.tif 000006
【図３】
2010120196.tif 000007
【図４】
2010120196.tif 000008
【図５】
2010120196.tif 000009
【図６Ａ】
2010120196.tif 000010
【図６Ｂ】
2010120196.tif 000011
【図９】
2010120196.tif 000012
【図１０】
2010120196.tif 000013
【図１１】
2010120196.tif 000014
【図１２Ａ】
2010120196.tif 000015
【図１２Ｂ】
2010120196.tif 000016
【図１２Ｃ】
2010120196.tif 000017
【図１３Ａ】
2010120196.tif 000018
【図１３Ｂ】
2010120196.tif 000019
【図１４】
2010120196.tif 000020
【図１５】
2010120196.tif 000021
【図１６】
2010120196.tif 000022
【図７Ａ】
2010120196.tif 000023
【図７Ｂ】
2010120196.tif 000024
【図８】
2010120196.tif 000025