(57)【特許請求の範囲】
【請求項１】
複数の処理部を有する画像処理装置で使用され、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理方法であって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行うステップ（ａ）と、
前記ステップ（ａ）におけるグループ分けで得られた複数のグループの各々について描画面積を算出するステップ（ｂ）と、
前記ステップ（ｂ）において算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分けるステップ（ｃ）と、を有し、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記ステップ（ａ）は、
ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成するステップ（ａ１）と、
前記ステップ（ａ１）において作成された擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定するステップ（ａ２）と、を有し、
前記ステップ（ｃ）において、振り分け先ごとの総描画面積の差を小さくする振り分け操作が行われる
ことを特徴とする画像処理方法。
【請求項２】
前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記ステップ（ｂ）において、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積が算出されることを特徴とする請求項１又は請求項２に記載の画像処理方法。
【請求項４】
複数の処理部を有する画像処理装置に実行させるための、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理プログラムであって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行う手順（ａ）と、
前記手順（ａ）におけるグループ分けで得られた複数のグループの各々について描画面積を算出する手順（ｂ）と、
前記手順（ｂ）において算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分ける手順（ｃ）と、
を有する処理を前記画像処理装置に実行させ、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記手順（ａ）は、
ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成する手順（ａ１）と、
前記手順（ａ１）において作成された擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定する手順（ａ２）と、を有し、
前記手順（ｃ）において、振り分け先ごとの総描画面積の差を小さくする振り分け操作が行われることを特徴とする画像処理プログラム。
【請求項５】
前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする請求項４に記載の画像処理プログラム。
【請求項６】
前記手順（ｂ）において、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積が算出されることを特徴とする請求項４又は請求項５に記載の画像処理プログラム。
【請求項７】
前記処理は、前記オブジェクトをラスタライズして生成したラスタ画像データを合成してページ画像データを作成する合成処理を、振り分け先ごとに並列的に実行する手順（ｄ）をさらに有することを特徴とする請求項４〜６のいずれか１項に記載の画像処理プログラム。
【請求項８】
前記プリントデータは複数のページを有し、
前記処理は、前記プリントデータに含まれるレイアウト情報を用いて、ページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を示すレイアウトをページごとに比較し、レイアウトが異なるページを特定する手順（ｅ）をさらに有し、
前記レイアウトが異なるページのみに対して、前記手順（ａ）〜（ｃ）を前記画像処理装置に実行させることを特徴とする請求項４に記載の画像処理プログラム。
【請求項９】
前記処理は、前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する手順（ｆ）をさらに有し、
前記手順（ａ）において、前記背景画像データが１つのグループとみなされることを特徴とする請求項４に記載の画像処理プログラム。
【請求項１０】
前記処理は、前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する手順（ｆ）をさらに有し、
前記手順（ａ）において、重なりのある前記複数のオブジェクトの矩形領域で前記背景画像データを切り出した第１分割部が当該複数のオブジェクトのグループに組み入れられ、他のオブジェクトと重ならない前記単独のオブジェクトの矩形領域で前記背景画像データを切り出した第２分割部が当該単独のオブジェクトのグループに組み入れられ、前記第１分割部および前記第２分割部を除く前記背景画像データが１つのグループとみなされる
ことを特徴とする請求項４に記載の画像処理プログラム。
【請求項１１】
前記処理は、
前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データが存在するか否かを判断する手順（ｇ）と、
前記背景画像データが存在する場合、前記オブジェクトをラスタライズして生成したラスタ画像データの合成を上位から下位の順番で行うＺバッファ法で行う手順（ｈ）と、をさらに有する
ことを特徴とする請求項９又は請求項１０に記載の画像処理プログラム。
【請求項１２】
前記処理は、前記プリントデータ内の複数のページで共通して使用されるオブジェクト群を背景画像データとして特定する手順（ｉ）をさらに有し、
前記手順（ａ）において、前記背景画像データが１つのグループとみなされる
ことを特徴とする請求項４に記載の画像処理プログラム。
【請求項１３】
前記処理は、前記プリントデータ内の複数のページで共通して使用されるオブジェクト群を背景画像データとして特定する手順（ｉ）をさらに有し、
前記手順（ａ）において、重なりのある前記複数のオブジェクトの矩形領域で前記背景画像データを切り出した第１分割部が当該複数のオブジェクトのグループに組み入れられ、他のオブジェクトと重ならない前記単独のオブジェクトの矩形領域で前記背景画像データを切り出した第２分割部が当該単独のオブジェクトのグループに組み入れられ、前記第１分割部および前記第２分割部を除く前記背景画像データが１つのグループとみなされる
ことを特徴とする請求項４に記載の画像処理プログラム。
【請求項１４】
請求項４〜１３のいずれか１項に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
複数の処理部を有し、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理装置であって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行うグループ化部と、
前記グループ化部によるグループ分けで得られた複数のグループの各々について描画面積を算出する算出部と、
前記算出部により算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分ける振り分け部と、を有し、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記グループ化部は、ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成し、そして、前記擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定し、
前記振り分け部は、振り分け先ごとの総描画面積の差を小さくする振り分け操作を行う
ことを特徴とする画像処理装置。
【請求項１６】
前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記算出部は、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積を算出することを特徴とする請求項１５又は請求項１６に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理プログラム、および画像処理装置に関する。本発明は、特に、ページ画像データの作成に必要な合成処理を効率化するための画像処理方法、画像処理プログラム、および画像処理装置に関する。
【背景技術】
【０００２】
例えばダイレクトメール、ラベル、帳票などの大量印刷において、絵や写真などが豊富に使われている場合には、印刷に使用されるビットマップ形式の画像データ（以下、ラスタ画像データともいう）を形成するのに非常に時間がかかる。
【０００３】
この問題の解決策の一つとして、例えばバリアブルデータプリント方式が存在する。ここで、バリアブルデータプリント方式とは、１枚１枚の出力内容を必要に応じて部分的に差し替えることが可能なプリント方式をいう。このバリアブルデータプリント方式では、プリントデータは、複数回にわたって使用される再利用可能オブジェクトと一回しか利用されない非再利用オブジェクトとを最小構成単位として含む。また、各オブジェクトが再利用可能オブジェクトなのか非再利用オブジェクトなのかは、プリントデータにおけるレイアウト情報において明確に区別されている。さらに、レイアウト情報には、オブジェクト群をページ内でどのようにレイアウトするかが記述されている。
【０００４】
一般に、バリアブルプリント言語をサポートした印刷装置における主な処理として、ラスタライズ処理と合成処理とが挙げられる。
【０００５】
ラスタライズ処理においては、再利用可能オブジェクトにＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を施して作成したラスタ画像データ、或いはこの画像データを圧縮したデータが、メモリやハードディスク上にキャッシュされる。このキャッシュしたラスタ画像データ或いは圧縮データを再利用することで、ＲＩＰの回数が削減され、ラスタライズ処理時間が短縮される。
【０００６】
一方、合成処理においては、再利用可能オブジェクトおよび非再利用オブジェクトの双方とも処理対象となるため、ページ画像データの作成に必要な両オブジェクトの合成処理を例えば一部省略して合成処理時間の短縮を図ることはできない。
【０００７】
この合成処理時間の短縮を図るため、合成処理を並列化することにより、合成処理時間の短縮化を図る技術が提案されている（特許文献１、２参照）。
【０００８】
合成処理を並列化する場合、他のオブジェクトと重なっていないオブジェクトの合成順番が変化しても印刷結果に問題は生じないが、他のオブジェクトと重なっているオブジェクトの合成順番が変化すると、印刷結果においてオブジェクトが誤った重なり順番で合成された画像が得られてしまう。
【０００９】
このため、特許文献１には、重なりのあるオブジェクトを先に処理することにより、以降の処理を並列化し易くして、高速な処理を図る技術が開示されている。しかしながら、この技術においては、重なりのあるオブジェクトの処理が終了するまでは並列処理を開始することができず、特にオブジェクトの重なりが多いプリントデータの場合、合成処理時間の短縮化が十分に図れないという問題がある。
【００１０】
また、特許文献２には、重なりのある複数のオブジェクトをグループ化し、グループごとに複数の画像処理プロセッサの各々に割り当てて並列処理する技術が開示されている。この技術においては、複数のグループはそれぞれ順番に複数の画像処理プロセッサに割り当てられる。しかしながら、グループごとに合成処理に要する時間がばらつくため、各画像処理プロセッサの負荷に偏りが生じ、並列化による合成処理時間の短縮化の効果が不十分であるという問題があった。
【特許文献１】特開２００２−２４８１３号公報
【特許文献２】特開２００６−３３１１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の課題を解決するためになされたものであり、本発明の目的は、ページ画像データの作成に必要な合成処理をより効率的に並列化することにより、合成処理時間の短縮化を図ることができる画像処理方法、画像処理プログラム、および画像処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の上記目的は、下記の手段によって達成される。
【００１３】
（１）複数の処理部を有する画像処理装置で使用され、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理方法であって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行うステップ（ａ）と、
前記ステップ（ａ）におけるグループ分けで得られた複数のグループの各々について描画面積を算出するステップ（ｂ）と、
前記ステップ（ｂ）において算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分けるステップ（ｃ）と、を有し、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記ステップ（ａ）は、
ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成するステップ（ａ１）と、
前記ステップ（ａ１）において作成された擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定するステップ（ａ２）と、を有し、
前記ステップ（ｃ）において、振り分け先ごとの総描画面積の差を小さくする振り分け操作が行われる
ことを特徴とする画像処理方法。
【００１５】
（２）前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする上記（１）に記載の画像処理方法。
【００１６】
（３）前記ステップ（ｂ）において、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積が算出されることを特徴とする上記（１）又は（２）に記載の画像処理方法。
【００１７】
（４）複数の処理部を有する画像処理装置に実行させるための、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理プログラムであって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行う手順（ａ）と、
前記手順（ａ）におけるグループ分けで得られた複数のグループの各々について描画面積を算出する手順（ｂ）と、
前記手順（ｂ）において算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分ける手順（ｃ）と、
を有する処理を前記画像処理装置に実行させ、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記手順（ａ）は、
ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成する手順（ａ１）と、
前記手順（ａ１）において作成された擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定する手順（ａ２）と、を有し、
前記手順（ｃ）において、振り分け先ごとの総描画面積の差を小さくする振り分け操作が行われることを特徴とする画像処理プログラム。
【００１９】
（５）前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする上記（４）に記載の画像処理プログラム。
【００２０】
（６）前記手順（ｂ）において、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積が算出されることを特徴とする上記（４）又は（５）に記載の画像処理プログラム。
【００２２】
（７）前記処理は、前記オブジェクトをラスタライズして生成したラスタ画像データを合成してページ画像データを作成する合成処理を、振り分け先ごとに並列的に実行する手順（ｄ）をさらに有することを特徴とする上記（４）〜（６）のいずれか１項に記載の画像処理プログラム。
【００２３】
（８）前記プリントデータは複数のページを有し、
前記処理は、前記プリントデータに含まれるレイアウト情報を用いて、ページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を示すレイアウトをページごとに比較し、レイアウトが異なるページを特定する手順（ｅ）をさらに有し、
前記レイアウトが異なるページのみに対して、前記手順（ａ）〜（ｃ）を前記画像処理装置に実行させることを特徴とする上記（４）に記載の画像処理プログラム。
【００２４】
（９）前記処理は、前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する手順（ｆ）をさらに有し、
前記手順（ａ）において、前記背景画像データが１つのグループとみなされることを特徴とする上記（４）に記載の画像処理プログラム。
【００２５】
（１０）前記処理は、前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する手順（ｆ）をさらに有し、
前記手順（ａ）において、重なりのある前記複数のオブジェクトの矩形領域で前記背景画像データを切り出した第１分割部が当該複数のオブジェクトのグループに組み入れられ、他のオブジェクトと重ならない前記単独のオブジェクトの矩形領域で前記背景画像データを切り出した第２分割部が当該単独のオブジェクトのグループに組み入れられ、前記第１分割部および前記第２分割部を除く前記背景画像データが１つのグループとみなされる
ことを特徴とする上記（４）に記載の画像処理プログラム。
【００２６】
（１１）前記処理は、前記プリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データが存在するか否かを判断する手順（ｇ）と、
前記背景画像データが存在する場合、前記オブジェクトをラスタライズして生成したラスタ画像データの合成を上位から下位の順番で行うＺバッファ法で行う手順（ｈ）と、
をさらに有することを特徴とする上記（９）又は（１０）に記載の画像処理プログラム。
【００２７】
（１２）前記処理は、前記プリントデータ内の複数のページで共通して使用されるオブジェクト群を背景画像データとして特定する手順（ｉ）をさらに有し、
前記手順（ａ）において、前記背景画像データが１つのグループとみなされることを特徴とする上記（４）に記載の画像処理プログラム。
【００２８】
（１３）前記処理は、前記プリントデータ内の複数のページで共通して使用されるオブジェクト群を背景画像データとして特定する手順（ｉ）をさらに有し、
前記手順（ａ）において、重なりのある前記複数のオブジェクトの矩形領域で前記背景画像データを切り出した第１分割部が当該複数のオブジェクトのグループに組み入れられ、他のオブジェクトと重ならない前記単独のオブジェクトの矩形領域で前記背景画像データを切り出した第２分割部が当該単独のオブジェクトのグループに組み入れられ、前記第１分割部および前記第２分割部を除く前記背景画像データが１つのグループとみなされることを特徴とする上記（４）に記載の画像処理プログラム。
【００２９】
（１４）上記（４）〜（１３）のいずれか１項に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００３０】
（１５）複数の処理部を有し、ページの内容を規定するための複数のオブジェクトを含むプリントデータを処理する画像処理装置であって、
前記複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行うグループ化部と、
前記グループ化部によるグループ分けで得られた複数のグループの各々について描画面積を算出する算出部と、
前記算出部により算出された各グループの描画面積に基づいて、前記複数のグループを前記複数の処理部による並列処理数に振り分ける振り分け部と、を有し、
前記プリントデータは、バリアブルプリント言語で記述されており、
前記オブジェクトのレイアウト情報は、２次元の矩形領域で表現されており、
前記グループ化部は、ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成し、そして、前記擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定し、
前記振り分け部は、振り分け先ごとの総描画面積の差を小さくする振り分け操作を行う
ことを特徴とする画像処理装置。
【００３２】
（１６）前記バリアブルプリント言語は、ＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）であることを特徴とする上記（１５）に記載の画像処理装置。
【００３３】
（１７）前記算出部は、前記プリントデータに含まれページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を含むレイアウト情報を用いて描画面積を算出することを特徴とする上記（１５）又は（１６）のいずれか１項に記載の画像処理装置。
【発明の効果】
【００３４】
本発明によれば、ページ画像データの作成に必要な合成処理をより効率的に並列化することができる。これにより、合成処理時間の短縮化を図ることができ、画像形成処理全体の性能を向上させることができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００３６】
図１は、本発明の第１の実施形態に係る印刷システムの全体構成図である。印刷システムは、クライアント端末１Ａ，１Ｂ，１Ｃと、画像処理装置としてのプリンタコントローラ２Ａ，２Ｂと、画像形成装置としてのプリンタ３Ａ，３Ｂとを備えている。
【００３７】
クライアント端末１Ａ，１Ｂ，１Ｃとプリンタコントローラ２Ａ，２Ｂとは、ネットワーク５を介して相互に通信可能に接続されている。ネットワーク５は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ、あるいはＬＡＮ同士を専用線で接続したＷＡＮ等からなる。プリンタコントローラ２Ａ，２Ｂとプリンタ３Ａ，３Ｂとはそれぞれ、例えばＩＥＥＥ１３９４シリアルバス、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の専用インタフェース用バスを介して接続されている。ただし、プリンタコントローラとプリンタとはネットワーク５を介して接続されていてもよい。なお、ネットワーク５に接続される機器の種類および台数は、図１に示す例に限定されない。
【００３８】
次に、上記各機器の構成について説明するが、各機器で同様の機能を有する部分については、説明の重複を避けるため初回のみその説明を行い、２回目以降はその説明を省略する。
【００３９】
図２は、クライアント端末１Ａ，１Ｂ，１Ｃの概略構成を示すブロック図である。クライアント端末１Ａ，１Ｂ，１Ｃは、例えば一般的なＰＣ（パーソナルコンピュータ）である。クライアント端末１Ａ，１Ｂ，１Ｃは相互に同様の構成であるため、以下、クライアント端末１Ａを代表として用いて説明する。
【００４０】
クライアント端末１Ａは、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスク１４、ディスプレイ１５、入力装置１６、およびネットワークインタフェース１７を含み、これらは信号をやり取りするためのバス１８を介して相互に接続されている。
【００４１】
ＣＰＵ１１は、プログラムにしたがって、上記各部の制御や各種の演算処理を行う。ＲＯＭ１２は、各種プログラムや各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク１４は、オペレーティングシステムを含む各種プログラムや、各種データを格納する。
【００４２】
ハードディスク１４には、プリントデータを作成するためのプリンタドライバがインストールされている。
【００４３】
ディスプレイ１５は、例えばＬＣＤ、ＣＲＴ等であり、各種の情報を表示する。入力装置１６は、例えばマウス等のポインティングデバイスやキーボードを含み、各種情報の入力を行うために使用される。ネットワークインタフェース１７は、例えばＬＡＮカードであり、ネットワーク５を介して外部機器と通信するために使用される。
【００４４】
クライアント端末１Ａは、プリントデータを作成してプリンタコントローラに送信する。また、クライアント端末１Ａは、プリンタコントローラ２Ａ，２Ｂにおける処理状況の監視、およびプリンタコントローラ２Ａ，２Ｂで作成されたページ画像データに基づく画像の表示を行うことが可能である。
【００４５】
本実施形態では、プリントデータは、好ましくはＰＰＭＬ（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐｒｉｎｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＰＰＭＬ／ＶＤＸ（ＰＰＭＬ／Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）等のバリアブルプリント言語で記述されたファイルである。ここで、プリントデータ２４１（図６参照）は、各ページにおけるオブジェクトのレイアウト情報２４２（図６参照）を有するレイアウトファイルと、オブジェクト単位のデータ群（バリアブルオブジェクト群２４３、図６参照）を有するデータファイルとが一つにまとめられたファイルである。データファイルには、再利用オブジェクトと、非再利用オブジェクトとが含まれる。再利用オブジェクトとは、１ページまたは複数ページにおいて複数回使用されるオブジェクトであり、非再利用オブジェクトとは、一回限り使用されるオブジェクトである。レイアウトファイルのレイアウト情報には、各オブジェクトが再利用オブジェクトであるか非再利用オブジェクトであるかを示すオブジェクト種別の情報、ページの大きさに関する情報、およびページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を示す情報が含まれる。バリアブルプリント言語で記述されたプリントデータは、レイアウト情報におけるオブジェクトの矩形領域の大きさおよび位置を示す情報を利用して後述するオブジェクトの描画面積の算出を迅速かつ正確に実行できるので、より好ましい。
【００４６】
図３は、プリンタコントローラ２Ａ，２Ｂの概略構成を示すブロック図である。プリンタコントローラ２Ａ，２Ｂは相互に同様の構成であるため、以下、プリンタコントローラ２Ａを代表として用いて説明する。
【００４７】
プリンタコントローラ２Ａは、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、ネットワークインタフェース２５、およびプリンタインタフェース２６を含み、これらは信号をやり取りするためのバス２７を介して相互に接続されている。
【００４８】
本実施形態では、ＣＰＵ２１は複数の処理部を有する。ここでは、処理部とは１つのＣＰＵにおいて並列処理を実行する処理主体をいう。但し、処理部は、マルチＣＰＵにおける個々のＣＰＵであってもよい。
【００４９】
プリンタインタフェース２６は、プリンタ３Ａと通信を行うためのインタフェースである。
【００５０】
図４に示すように、ＲＯＭ２２は、グループ化部２１１、スケジューラ２１２、ラスタ画像生成部２１３、および画像合成部２１４に対応するプログラムを格納するためのそれぞれの領域を有する。
【００５１】
グループ化部２１１は、レイアウト情報２４２の記述（図６、図１８参照)を解析し、複数のオブジェクトに対し、重なりのある複数のオブジェクトを１つのグループとし且つ他のオブジェクトと重ならない単独のオブジェクトを１つのグループとするグループ分けを行う。
【００５２】
スケジューラ２１２は、各グループの描画面積に基づいて、複数のグループを複数の処理部による並列処理数に振り分ける。
【００５３】
ラスタ画像生成部２１３は、受信したプリントデータ２４１に基づいて、ビットマップ形式の画像データに変換するためのラスタライズ処理（ＲＩＰ：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を実行する。すなわち、ラスタ画像生成部２１３は、プリントデータに含まれるデータファイルのオブジェクトを、プリンタ３Ａが印刷に用いるビットマップ形式の画像データであるラスタ画像データに変換する。ラスタ画像データには、再利用オブジェクトをラスタライズして生成した再利用データ２３３と、非再利用オブジェクトをラスタライズして生成した非再利用データ２３４とが含まれる（図５参照）。
【００５４】
再利用データ２３３の保存期間は、全ページ分のページ画像データの作成が完了するまでである。但し、プリントデータ２４１を用いて再印刷する場合や、プリントデータ２４１が複数に分割されて処理される場合など、再利用データを継続して使用する場合には、保存期間が延長される。非再利用データ２３４としては、例えばダイレクトメールの場合には、顧客名、顧客住所等が挙げられる。非再利用データ２３４は、使用後は速やかにＲＡＭ２３から消去される。
【００５５】
画像合成部２１４は、再利用データ２３３および非再利用データ２３４を用いて１ページごとに画像合成を行い、ページ画像データ２３２（図５参照）を作成する。
【００５６】
なお、グループ化部２１１、スケジューラ２１２、ラスタ画像生成部２１３、および画像合成部２１４の機能は、それぞれに対応するプログラムをＣＰＵ２１が実行することにより発揮される。但し、これらの機能の全部または一部がハードウェア回路によって実現されてもよい。
【００５７】
図５に示すように、ＲＡＭ２３は、擬似合成画像データ２３１、ページ画像データ２３２、再利用データ２３３、および非再利用データ２３４を記憶する。
【００５８】
擬似合成画像データ２３１は、ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号としての合成順番号を示す画素値で描画して得られた画像データである。グループ化部２１１は、擬似合成画像データ２３１を用いて、複数のオブジェクトをグループ分けする。
【００５９】
図６に示すように、ハードディスク２４は、クライアント端末１Ａから受信したプリントデータ２４１を記憶する。プリントデータ２４１には、前述したように、レイアウト情報２４２、およびバリアブルオブジェクト群２４３が含まれる。
【００６０】
図７は、プリンタ３Ａ，３Ｂの概略構成を示すブロック図である。プリンタ３Ａ，３Ｂは相互に同様の構成であるため、以下、プリンタ３Ａを代表として用いて説明する。
【００６１】
プリンタ３Ａは、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、操作パネル部３４、印刷部３５、およびプリンタコントローラインタフェース３６を含み、これらは信号をやり取りするためのバス３７を介して相互に接続されている。
【００６２】
操作パネル部３４は、各種情報の表示および各種指示の入力に使用される。印刷部３５は、帯電、露光、現像、転写および定着の各工程を含む電子写真式プロセスなどの作像プロセスを用いて、画像を用紙などの記録媒体上に印刷する。プリンタコントローラインタフェース３６は、プリンタコントローラ２Ａと通信を行うためのインタフェースである。
【００６３】
クライアント端末１Ａ，１Ｂ，１Ｃ、プリンタコントローラ２Ａ，２Ｂ、およびプリンタ３Ａ，３Ｂは、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【００６４】
次に、図８〜図１４を参照して、プリンタコントローラ２Ａにおける処理について説明する。なお、図８〜図１４のフローチャートにより示されるアルゴリズムは、プリンタコントローラ２ＡのＲＯＭ２２などの記憶部にプログラムとして記憶されており、ＣＰＵ２１により実行される。
【００６５】
予め、ユーザの操作に基づいて、クライアント端末１Ａは、バリアブルプリントを実行するためのプリントデータ２４１を作成し、当該プリントデータ２４１をプリンタコントローラ２Ａに送信する。
【００６６】
そして、プリンタコントローラ２Ａは、クライアント端末１Ａからプリントデータ２４１を受信し、受信したプリントデータ２４１をハードディスク２４に保存する（Ｓ１０１）。但し、受信したプリントデータ２４１は、リモートのデータベースサーバ、あるいは共有ファイルシステムに保存されてもよい。
【００６７】
前述したように、プリントデータ２４１は、レイアウトファイルとデータファイルとを含んでいる。データファイルとしては、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ（登録商標））、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＥＰＳ（Ｅｎｃａｐｓｕｌａｔｅｄ  ＰｏｓｔＳｃｒｉｐｔ）などのページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたファイルが使用される。ただし、ＲＩＰ済みのデータ、ベクトルデータなどの他の形式のデータが、データファイルとして使用され得る。
【００６８】
続いて、プリンタコントローラ２ＡのＣＰＵ２１は、プリントデータ２４１からレイアウト情報２４２を取得する（Ｓ１０２）。レイアウト情報２４２は、グループ化部２１１に受け渡される。
【００６９】
グループ化部２１１は、レイアウト情報２４２に基づいてオブジェクトのグループ化処理を行う（Ｓ１０３）。すなわち、グループ化部２１１は、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ１つのグループとして、複数のオブジェクトをグループ分けする。このオブジェクトのグループ化処理の詳細については後述する。
【００７０】
図１５は、１つのページにおけるオブジェクトのグループ分けを説明するための図である。図１５の例では、１つのページに含まれる複数のオブジェクトは、グループＡ〜Ｃの３つのグループに分けられる。
【００７１】
グループ化処理後、各グループの処理順番の決定処理（スケジューリング）が行われる（Ｓ１０４）。すなわち、スケジューラ２１２は、グループ分けで得られた複数のグループの各々について描画面積を算出する。そして、スケジューラ２１２は、算出された各グループの描画面積に基づいて、複数のグループを複数の処理部による並列処理数に振り分ける。この各グループの処理順番の決定処理の詳細については後述する。スケジューリングの結果はＲＡＭ２３に記憶されているレイアウト情報２４２に反映される。
【００７２】
スケジューリング後、ラスタ画像生成部２１３は、バリアブルオブジェクト群２４３の各オブジェクトを適切な解像度でラスタライズして、ＣＭＹＫの各色成分を有するラスタ画像データを生成する（Ｓ１０５）。
【００７３】
図１６は、バリアブルオブジェクト群をラスタライズして生成したラスタ画像データ群の一例を示す図である。生成されたラスタ画像データは、再利用データ２３３、および非再利用データ２３４としてＲＡＭ２３に記憶される。
【００７４】
続いて、ＣＰＵ２１は、レイアウト情報２４２から１ページ分のレイアウト情報を取得し、画像合成部２１４に１ページ分のページ画像データの作成を指示する。画像合成部２１４は、１ページ分のレイアウト情報に基づいて、再利用データ２３３と非再利用データ２３４とを合成して１ページ分のページ画像データ２３２（図５）を作成する（Ｓ１０６）。
【００７５】
ここで、ラスタ画像データを合成してページ画像データを作成する合成処理（Ｓ１０６）は、複数の処理部により、グループの振り分け先ごとに並列的に行われる。
【００７６】
図１７は、合成処理により作成されたページ画像データの一例を示す図である。
【００７７】
作成したページ画像データは、プリンタインタフェース２６を通じて、プリンタ３Ａに印刷するために出力される（Ｓ１０７）。ここで、プリンタ３Ａは、ページ画像データに基づく画像を用紙に印刷し、必要に応じて印刷された用紙に対するフィニッシング処理を行う。
【００７８】
ステップＳ１０８では、プリントデータ２４１の全ページについての処理が終了したか否かが判断される。全ページについての処理が終了した場合（Ｓ１０８：ＹＥＳ）、図８の処理は終了する。一方、処理が終わっていないページが残っている場合には（Ｓ１０８：ＮＯ）、ステップＳ１０２に戻る。
【００７９】
次に、図９を参照して、オブジェクトのグループ化処理（Ｓ１０３）について説明する。
【００８０】
まず、ＣＰＵ２１は、レイアウト情報２４２から１ページ分の記述を読み込む（Ｓ２０１）。
【００８１】
図１８は、レイアウト情報（１ページ分）の一例を示す図である。レイアウト情報２４２には、オブジェクトの名称、種別、サイズ（外接矩形領域の大きさ）、および位置（ページ内の座標）を示す情報が含まれている。なお、オブジェクトの矩形領域の大きさおよび位置は、ここではポイント値を用いて表される。図１８に示す例によれば、プリントデータ２４１の第１ページには、オブジェクト名「Ｒｅｃｔａｎｇｌｅ．ｐｄｆ」のオブジェクトが、サイズ（１００×３０）で位置（０，０）に合成されることが示されている。なお、この例では、レイアウト情報としてＸＭＬ形式のデータが使用されているが、ＸＭＬ形式に限定されるものではなく、その他の形式のデータが使用されてもよい。
【００８２】
続いて、ＣＰＵ２１は、読み込んだ１ページ分の記述を解析して、オブジェクト名をその出現順番号（合成順番号）に変更する（Ｓ２０２）。
【００８３】
図１９は、オブジェクト名が出現順番号に変更された後のレイアウト情報（１ページ分）の一例を示す図である。
【００８４】
続いて、変更された後のレイアウト情報を用いた擬似合成画像データ作成処理が行われる（Ｓ２０３）。すなわち、ＣＰＵ２１は、ページ内における各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号としての出現順番号を示す画素値で描画して、１ページ分の擬似合成画像データ２３１を作成する。
【００８５】
図２０は、図１９のレイアウト情報に基づいて作成された１ページ分の擬似合成画像データを示す図である。
【００８６】
このとき、バリアブルオブジェクト群２４３をラスタライズして得られるラスタ画像データは必要とされない。矩形を描画するときの画素値として、オブジェクト番号（出現順番号）が用いられる。１ページに含まれるオブジェクトの数が２５６個以下の場合には、擬似合成画像データ２３１は、１画素が８ビットの情報を持つグレースケールの画像データとして形成され得る。一方、１ページに含まれるオブジェクトの数が２５７個以上の場合には、擬似合成画像データ２３１は、例えばＲＧＢの各色成分を有するカラーの画像データとして形成され得る。ここで、擬似合成画像データ２３１は、低解像度で形成されるので、処理時間やメモリ、ＣＰＵの消費量は僅かである。この擬似合成画像データ作成処理についての詳細は後述する。
【００８７】
続いて、作成された擬似合成画像データを用いたグループ分類処理が行われる（Ｓ２０４）。すなわち、ＣＰＵ２１は、作成された擬似合成画像データ２３１（図２０参照）を１画素ずつ読み込み、オブジェクトの矩形領域の重なり判定を行って、オブジェクトのグループ化を行う。
【００８８】
図２１は、図２０の擬似合成画像データに基づくグループ分類処理の結果を示す図である。図２１に示されるように、オブジェクト番号（出現順番号）が「１」、「４」、「７」、「Ａ」、および「Ｄ」であるオブジェクトがグループＡに分類され、オブジェクト番号（出現順番号）が「２」、「５」、「８」、「Ｂ」、および「Ｅ」であるオブジェクトがグループＢに分類され、オブジェクト番号（出現順番号）が「３」、「６」、「９」、「Ｃ」、および「Ｆ」であるオブジェクトがグループＣに分類される。このグループ分類処理についての詳細は後述する。
【００８９】
グループ分類処理が完了した後、レイアウト情報が、分類されたグループごとに並び替えられる（Ｓ２０５）。
【００９０】
図２２は、図２１のグループ分類処理の結果に基づいてグループごとに並び替えられたレイアウト情報を示す図である。
【００９１】
そして、ＣＰＵ２１は、グループごとに並び替えられたレイアウト情報における出現順番号に変更されたオブジェクト名を元のオブジェクト名に戻す（Ｓ２０６）。
【００９２】
図２３は、オブジェクト名が元に戻されたレイアウト情報と、当該レイアウト情報に基づいてラスタ画像データが並列的に合成されて作成されたページ画像データを示す図である。
【００９３】
次に、図１０を参照して、擬似合成画像データ作成処理（Ｓ２０３）について説明する。
【００９４】
まず、ＣＰＵ２１は、オブジェクト名が出現順番号に変更された後のレイアウト情報（１ページ分、図１９参照）を読み込む（Ｓ３０１）。
【００９５】
続いて、必要な記憶領域がＲＡＭ２３内に確保される。すなわち、ＣＰＵ２１は、ページサイズ（１ページの大きさ、Ａ４等）から必要となる１ページの画像サイズを算出し、記憶領域を確保する。
【００９６】
そして、ＣＰＵ２１は、レイアウト情報からオブジェクト情報を１つ読み込む（Ｓ３０３）。
【００９７】
続いて、当該オブジェクトの描画開始座標および矩形領域サイズのポイント値がピクセル値に変換される（Ｓ３０４）。
【００９８】
一般に、ページ記述言語やバリアブルプリント言語で記述されたファイルで使用されるサイズはポイント値である。しかし、ラスタ画像データではピクセル値が使用される。そのためポイントからピクセルへの変換が必要となる。
【００９９】
変換式は以下を用いる。
ピクセル値＝ポイント値×解像度（ｄｐｉ）／７２
なお、１ポイント＝（１／７２）インチである。
【０１００】
続いて、ＣＰＵ２１は、ピクセル値で示される位置にオブジェクト値（画素値）を配置して、ステップＳ３０２で確保された記憶領域に矩形を描画する（Ｓ３０５）。
【０１０１】
ステップＳ３０６では、ページ中の全オブジェクトについての処理が終了したか否かが判断される。全オブジェクトについての処理が終了した場合（Ｓ３０６：ＹＥＳ）、図１０の処理は終了する。一方、処理が終わっていないオブジェクトが残っている場合には（Ｓ３０６：ＮＯ）、ステップＳ３０３に戻る。
【０１０２】
次に、図１１を参照して、グループ分類処理（Ｓ２０４）について説明する。
【０１０３】
まず、理解容易のために、図２４の擬似合成画像データを用いて、グループ分類処理について説明する。図２４に示されるページは８つのオブジェクトで構成されている。図２４では、レイアウト情報２４２に記述されたオブジェクトの出現順に１から８までの番号を示す画素値で描画して擬似的に画像データが形成されている。図２４から、オブジェクト「１」にオブジェクト「５」が重なっていることが分かる。同様に、オブジェクト「２」と「６」、オブジェクト「３」と「７」、オブジェクト「４」と「８」が重なっている。以下、図２４の例を用いてグループ分類処理について説明する。
【０１０４】
まず、ＣＰＵ２１は、図２４の左上（座標Ａ１）を開始点として右方向に、擬似合成画像データを１画素ずつ読み込む（Ｓ４０１）。
【０１０５】
ステップＳ４０２では、全画素についての処理が終了したか否かが判断される。全画素についての処理が終了した場合（Ｓ４０２：ＹＥＳ）、図１１の処理は終了する。一方、処理が終わっていない画素が残っている場合には（Ｓ４０２：ＮＯ）、ステップＳ４０３に進む。
【０１０６】
ステップＳ４０３では、読み込まれた画素の値がゼロであるか否かが判断される。画素値がゼロである場合（Ｓ４０３：ＹＥＳ）、ステップＳ４０１に戻る。
【０１０７】
読み込まれた画素の値がゼロでない場合（Ｓ４０３：ＮＯ、図２４の座標Ｂ２）、前行同列すなわち真上の画素（図２４の座標Ｂ１）と左隣の画素（図２４の座標Ａ２）の値が比較される（Ｓ４０４）。
【０１０８】
ステップＳ４０５では、ステップＳ４０４での比較の結果、両画素の値が共にゼロであるか否かが判断される。
【０１０９】
両画素の値が共にゼロである場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ２１は、新グループの画素であると判断して、新グループＩＤを当該画素に割り当てるように、グループテーブルを更新する（Ｓ４０６）。
【０１１０】
図２５は、グループテーブルの一例を示す図である。図２５に示すように、例えば座標Ｂ２の画素には、新グループＩＤとして例えば（Ａ）が割り当てられる。
【０１１１】
また、ステップＳ４０６では、ＣＰＵ２１は、新グループの構成オブジェクトとして、画素値（オブジェクト番号）を登録する。
【０１１２】
図２６は、グループの構成の一例を示す図である。図２６に示すように、新グループＡの構成オブジェクトとして、画素値（オブジェクト番号）「１」が登録される。
【０１１３】
ステップＳ４０６の処理が終了した後、ステップＳ４０１に戻る。
【０１１４】
ステップＳ４０５で両画素の値の少なくとも一方がゼロでないと判断された場合（Ｓ４０５：ＮＯ）、ステップＳ４０７に進む。
【０１１５】
ステップＳ４０７では、ステップＳ４０４での比較の結果、一方の画素の値のみがゼロ以外であるか否かが判断される。
【０１１６】
一方の画素の値のみがゼロ以外である場合（Ｓ４０７：ＹＥＳ）、ＣＰＵ２１は、ゼロ以外の画素が属するグループＩＤを当該画素に割り当てるように、グループテーブルを更新する（Ｓ４０８）。図２５に示すように、例えば座標Ｃ２の画素には、グループＩＤとして、左隣のグループＩＤの（Ａ）が継承されて割り当てられる。
【０１１７】
また、ステップＳ４０８では、ＣＰＵ２１は、そのグループの構成オブジェクトとして、画素値（オブジェクト番号）を登録する。なお、図２６に示すように、オブジェクト番号「１」は既に登録されているので、重複登録は行われない。
【０１１８】
ステップＳ４０８の処理が終了した後、ステップＳ４０１に戻る。
【０１１９】
図２４の座標Ｄ２〜Ｆ２の画素について、同様なグループＩＤの割当ておよびオブジェクト番号の登録が繰り返される。図２４の座標Ｈ２の画素は、真上の画素および左隣の画素の値が共にゼロなので（Ｓ４０５：ＹＥＳ）、ＣＰＵ２１は、新グループの画素であると判断して、新グループＩＤとして例えば（Ｂ）を当該画素に割り当てるように、グループテーブルを更新する。また、ＣＰＵ２１は、新グループＢの構成オブジェクトとして、画素値（オブジェクト番号）「２」を登録する（Ｓ４０６、図２５、図２６参照）。図２４の座標Ｉ２〜Ｌ２の画素について、同様なグループＩＤの割当ておよびオブジェクト番号の登録が繰り返される。図２４の座標Ｂ３の画素には、前行同列すなわち真上の画素（図２４の座標Ｂ２）がゼロ以外なので、グループＩＤとして、真上のグループＩＤの（Ａ）が継承されて割り当てられる。なお、オブジェクト番号「１」は既に登録されているので、重複登録は行われない。
【０１２０】
ステップＳ４０７で両画素の値が共にゼロでないと判断された場合（Ｓ４０７：ＮＯ）、ステップＳ４０９に進む。
【０１２１】
ステップＳ４０９では、真上の画素が属するグループと左隣の画素が属するグループとが比較される。
【０１２２】
ステップＳ４１０では、ステップＳ４０９での比較の結果、両グループが同一であるか否かが判断される。
【０１２３】
両グループが同一である場合（Ｓ４１０：ＹＥＳ）、ＣＰＵ２１は、そのグループＩＤを当該画素に割り当てるように、グループテーブルを更新する（Ｓ４１１）。図２５に示すように、例えば座標Ｃ３の画素には、グループＩＤとして、真上および左隣の画素のグループＩＤの（Ａ）が継承されて割り当てられる。
【０１２４】
また、ステップＳ４１１では、ＣＰＵ２１は、そのグループの構成オブジェクトとして、画素値（オブジェクト番号）を登録する。図２６に示すように、グループＡの構成オブジェクトとして、オブジェクト番号「５」が登録される。
【０１２５】
ステップＳ４１１の処理が終了した後、ステップＳ４０１に戻る。
【０１２６】
ステップＳ４１０で両グループが同一でないと判断された場合（Ｓ４１０：ＮＯ）、ステップＳ４１２に進む。
【０１２７】
図２４の擬似合成画像データを用いたグループ分類処理では、ステップＳ４１０で両グループが同一でないと判断される場合（Ｓ４１０：ＮＯ）は存在しない。
【０１２８】
上記手順がすべての画素について行われることにより、図２６に示すようなオブジェクトのグループ化が可能である。図２６に示すように、複数のオブジェクト「１」〜「８」は、４つのグループに分類されることが分かる。
【０１２９】
次に、図２７の擬似合成画像データを用いて、グループ分類処理についてさらに説明する。
【０１３０】
図２７は、オブジェクト間の依存関係を複雑にした場合の擬似合成画像データの例を示す図である。図２７に示されるページは６つのオブジェクトで構成されている。
【０１３１】
図２７の座標Ｈ７の画素までは、図２４を用いて説明した処理と同様の処理が実施される。図２８のグループテーブルのように、座標Ｈ７の画素までの処理により、グループＩＤとして、（Ａ）と（Ｂ）とが出現する。また、図２９のグループの構成を示す図のように、グループＡの構成オブジェクトはオブジェクト「１」と「３」、グループＢの構成オブジェクトはオブジェクト「２」となる。
【０１３２】
図２７の座標Ｉ７の画素についての処理において、真上の画素が属するグループと左隣の画素が属するグループとが同一でないと判断される場合（Ｓ４１０：ＮＯ）が生じる。
【０１３３】
この場合、ＣＰＵ２１は、先に出現したグループＩＤを当該画素に割り当てるように、グループテーブルを更新する（Ｓ４１２）。図２５に示すように、例えば座標Ｉ７の画素には、グループＩＤとして、先に出現した左隣の画素のグループＩＤの（Ａ）が継承されて割り当てられる。
【０１３４】
また、ステップＳ４１２では、ＣＰＵ２１は、先に出現したグループの構成オブジェクトとして、画素値（オブジェクト番号）を登録する。図２９に示すように、グループＡの構成オブジェクトとして、オブジェクト番号「３」が登録される。さらに、後に出現したグループは、先に出現したグループに統合される。ここでは、図２９に示すように、グループＢはグループＡに組み入れられる。
【０１３５】
ステップＳ４１２の処理が終了した後、ステップＳ４０１に戻る。
【０１３６】
図２７の座標Ｉ１５の画素の処理においても、上記と同様の処理が行われる。すなわち、図２８に示すように、座標Ｉ１５の画素には、グループＩＤとして、先に出現した真上の画素のグループＩＤの（Ａ）が継承されて割り当てられる。また、図２９に示すように、後に出現したグループＤは、先に出現したグループＡに統合される。
【０１３７】
上記手順がすべての画素について行われることにより、図２９に示すようなオブジェクトのグループ化が行われる。図２９に示すように、複数のオブジェクト「１」〜「６」は、結果的に２つのグループに分類されることが分かる。すなわち、グループＡに属するオブジェクトの番号は「１」、「２」、「３」、「５」，「６」となる。また、グループＣに属するオブジェクトの番号は「４」となる。
【０１３８】
以上２つの擬似合成画像データの例を用いてグループ分類処理について説明した。なお、上記のグループ分類処理は、オブジェクトが１次元(１画素)の斜線の場合には、真上の画素および左隣の画素が常にゼロとなるため、理論上うまく機能しない。しかし、バリアブルプリント言語による記述においては、たとえオブジェクトが１次元(１画素)の線であっても、そのレイアウト情報は幅、高さ、および回転角を持った２次元の矩形領域で表現される。したがって、真上の画素および左隣の画素が常にゼロとなることはないので、上記のグループ分類処理において誤りが生じることはない。
【０１３９】
次に、図１３および図１４を参照して、各グループの処理順番の決定処理（スケジューリング：Ｓ１０４）について説明する。
【０１４０】
１つのタスクによってＣＰＵの使用率が１００％になる場合、そのタスクを分割して並列化やマルチスレッド化しても、ＣＰＵが他のタスクを処理する余裕がないため時間短縮は望めない。しかし、画像形成処理過程（ラスタライズ処理および合成処理）においては、大量データのメモリアクセスが大半を占めているため、ＣＰＵ使用率はそれほど高くはない。したがって、タスクを適切な粒度（大きさ・数）に分割し並列化することにより、処理時間の短縮が可能となる。ここでのタスクとは、１ページ分の画像形成処理（ラスタライズ処理および合成処理）を指す。
【０１４１】
処理時間が短くなる適切なスレッド数（並列数）を見つけるためには、２つの手順が必要である。１つめの手順は、処理すべきタスクの特徴とハードウェアの特性とに応じて、最適なスレッド数を見つけることである。ハードウェアの特性としては、ＣＰＵ性能、ＣＰＵ数、メモリバス性能などが挙げられる。処理すべきタスクの特徴としては、ＣＰＵを消費するタスク、メモリを消費するタスク、ＣＰＵおよびメモリの両方を消費するタスクが挙げられる。一般に、最適なスレッド数（並列数）を見つける方法は、ターゲットとなるハードウェア上で、タスク（ここでは画像形成処理）のスレッド数を増やしながら実行して、処理時間が短くなる範囲（例えば４〜８スレッドなど）を特定することである。このスレッド数の範囲は、同じタイプのタスク（例えば画像形成処理や算術演算処理など）を実行する場合は変わらないので、ハードウェアが決まった時に一度だけ測定すれば済む。測定結果は、スレッド範囲情報ファイルとして、例えばハードディスク２４等の外部記憶装置に保存される。２つめの手順は、１つめの手順で特定したスレッド数の範囲内で、タスクが最も均等に分割される数を見つけることである。ここでは、画像形成処理でのタスクの均等化とは、描画面積の均衡を指す。なお、均等になる分割数は、ページ画像データの特徴によって異なるため、プリントデータ（ジョブ）ごと又はページごとに分割数検出処理が実施される。
この分割数検出処理の手順について、図１３および図１４のフローチャートを用いて以下に説明する。
【０１４２】
まず、ＣＰＵ２１は、グループ化が済んでいるレイアウト情報（１ページ分）を読み込む（Ｓ５０１）。
【０１４３】
続いて、オブジェクトの描画面積が算出される（Ｓ５０２）。すなわち、ＣＰＵ２１は、レイアウト情報に記述されている各オブジェクトの矩形領域の大きさから、各オブジェクトのポイント数を描画面積として算出する。
【０１４４】
続いて、グループの描画面積が算出される（Ｓ５０３）。すなわち、ＣＰＵ２１は、それぞれのオブジェクトが属するグループごとに、描画面積の和を算出する。
【０１４５】
ステップＳ５０４では、全グループについて描画面積の算出処理が終了したか否かが判断される。全グループについて描画面積の算出処理が終了した場合（Ｓ５０４：ＹＥＳ）、１ページ分の計算が完了したと判断されて、ステップＳ５０５に進む。一方、描画面積の算出処理が終わっていないグループが残っている場合には（Ｓ５０４：ＮＯ）、ステップＳ５０２に戻る。
【０１４６】
ステップＳ５０５では、各グループは、描画面積が広い順に並べられる。
【０１４７】
続いて、ＣＰＵ２１は、スレッド範囲情報ファイルから、スレッド数（分割数）を１つ読み込む（Ｓ５０６）。
【０１４８】
そして、ＣＰＵ２１は、描画面積が均等になるように、複数のグループを分割数に振り分ける（Ｓ５０７）。例えば、ステップＳ５０５において並べられた各グループの描画面積が（９、８、７、６、５、４、３、２、１）である場合、それらを４分割すると（９、２、１）（８、３）（７、４）（６、５）となる。
【０１４９】
続いて、ＣＰＵ２１は、振り分けた中で、描画面積が最大となる振り分け先と最小となる振り分け先の描画面積の差を求める（Ｓ５０８）。上記の４分割の例では、最大の描画面積が１２であり最小の描画面積が１１なので、差は１となる。５分割の場合、（９）（８、１）（７、２）（６、３）（５、４）となる。この場合、最大の描画面積が９であり最小の描画面積が９なので、差はゼロとなる。
【０１５０】
ステップＳ５０９では、すべての分割数についての処理が終了したか否かが判断される。すべての分割数についての処理が終了した場合（Ｓ５０９：ＹＥＳ）、ステップＳ５１０に進む。一方、処理が終わっていない分割数が残っている場合には（Ｓ５０９：ＮＯ）、ステップＳ５０６に戻る。
【０１５１】
ステップＳ５１０では、ＣＰＵ２１は、最大の描画面積と最小の描画面積との差が最も小さい分割数を特定する（Ｓ５１０）。
【０１５２】
このように、振り分け先ごとの総描画面積の差を最小化する振り分け操作が行われるため、並列化の効果が高まる。但し、振り分け操作は、振り分け先ごとの総描画面積の差を例えば２０％以内等の所定割合以内に小さくする操作であってもよい。尚、本実施形態においては描画面積としてポイント数を採用したが、描画面積はこれに限られるものではなく、オブジェクトのグループ化処理（ステップＳ１０３）において採用したピクセル数であってもよく、グループ同士の相対的な描画面積を比較できる指標であれば他の指標であっても良い。
【０１５３】
続いて、ＣＰＵ２１は、ステップＳ５１０において特定された分割数に対応する振り分け結果を、レイアウト情報に反映する（Ｅ２１１）。ここで、振り分け結果は、ステップＳ５０７で得られた結果が利用される。具体的には、例えば図２３のレイアウト情報に示されるような＜Ｐａｒａｌｌｅｌ＞と＜／Ｐａｒａｌｌｅｌ＞のタグの間に、１つの振り分け先に属するグループのオブジェクトが記述されるように、レイアウト情報の記述が変更される。
【０１５４】
このように、本実施形態では、複数の処理部を有する画像処理装置としてのプリンタコントローラ２Ａは、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ１つのグループとするグループ分けを行う。そして、プリンタコントローラ２Ａは、グループ分けで得られた複数のグループの各々について描画面積を算出し、算出された各グループの描画面積に基づいて、複数のグループを複数の処理部による並列処理数に振り分ける。
【０１５５】
したがって、本実施形態によれば、ページ画像データの作成に必要な合成処理をより効率的に並列化することができる。これにより、合成処理時間の短縮化を図ることができ、画像形成処理全体の性能を向上させることができる。
【０１５６】
また、本実施形態では、プリンタコントローラ２Ａは、ページ内の各オブジェクトが配置される矩形領域に当該オブジェクトの識別番号を示す画素値で描画して擬似合成画像データを作成し、作成された擬似合成画像データにおける各画素の画素値および当該画素に隣接する画素の画素値に基づいて、重なりのある複数のオブジェクトおよび他のオブジェクトと重ならない単独のオブジェクトをそれぞれ判定する。したがって、擬似合成画像データを低解像度で形成し得るため、処理時間やメモリ、ＣＰＵの消費量は僅かで済む。また、擬似合成画像データを用いたオブジェクトのグループ化に要する時間は、ページを構成するオブジェクトの数に関係なく一定であり、迅速な処理が可能である。
【０１５７】
次に、本発明の第２の実施形態について説明する。なお、上述した実施形態と異なる点を中心に説明し、上述した実施形態と共通する点の説明を適宜省略する。
【０１５８】
上記第１の実施形態では、ページごとにグループ化処理およびスケジューリングが実施される。しかしながら、バリアブルデータプリント方式では、毎ページもしくは数ページ周期で同じレイアウトが繰り返されるのが一般的である。ここで、同じレイアウトとは、ページごとに描画するオブジェクトは異なるけれども、ページ内におけるオブジェクトの矩形領域の大きさと位置（描画サイズと描画座標）が同じであることをいう。そのため、グループ化処理およびスケジューリングは、通常、毎ページ実施する必要はない。そこで、第２の実施形態では、レイアウト情報の記述がページごとに比較され、レイアウトが異なるページのみにグループ化処理およびスケジューリングが実施される。
【０１５９】
このように、第２の実施形態では、プリントデータは複数のページを有している。また、画像処理装置としてのプリンタコントローラ２Ａは、処理すべきプリントデータに含まれるレイアウト情報を用いて、ページ内に配置されるオブジェクトの矩形領域の大きさおよび位置を示すレイアウトをページごとに比較し、レイアウトが異なるページを特定する。そして、プリンタコントローラ２Ａは、レイアウトが異なるページのみに対して、グループ化処理およびスケジューリングを行う。
【０１６０】
第２の実施形態によれば、上述した実施形態と同様の作用効果を奏することができることに加えて、グループ化処理およびスケジューリングに要する時間を短縮できるので、画像形成処理全体の性能をより向上させることができる。
【０１６１】
次に、本発明の第３の実施形態について説明する。なお、上述した実施形態と異なる点を中心に説明し、上述した実施形態と共通する点の説明を適宜省略する。
【０１６２】
上記第１の実施形態では、無地の背景（背景画像データ無し）に、オブジェクト群が合成される例について説明した。このため、グループ化処理において、背景部分の画素の値はゼロとされる（図２０参照）。しかしながら、バリアブルデータプリント方式では、背景画像データ（フォームデータ）の上に、オブジェクト群が合成されることが多い。このような場合でも、第３の実施形態によれば、オブジェクトのグループ化が可能となる。
【０１６３】
例えば図１８のレイアウト情報を例として説明する。まず、ページの先頭に記述されているオブジェクトの矩形領域の大きさ、すなわち描画サイズが取得される。図１８のレイアウト情報における先頭のオブジェクトの描画サイズは、（１００＊３０）である。このオブジェクトの描画サイズ（１００＊３０）と、完成時のページ画像データのサイズとが比較される。なお、完成時のページ画像データのサイズ、すなわちページの大きさは、レイアウト情報に記述されている。両者が近似している場合、このオブジェクトは背景画像データ（フォームデータ）であると判断され、このオブジェクトの番号がゼロ（背景画像データ）とされる。なお、図１８の例の場合、先頭のオブジェクトは、ページ画像データのサイズと描画サイズが近似していないので、背景画像データとはみなされない。
【０１６４】
このように、第３の実施形態では、画像処理装置としてのプリンタコントローラ２Ａは、処理すべきプリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する。そして、プリンタコントローラ２Ａは、特定された背景画像データを１つのグループとみなす。
【０１６５】
第３の実施形態によれば、上述した実施形態と同様の作用効果を奏することができることに加えて、ページが背景画像データ（フォームデータ）を持つ場合にも、オブジェクトのグループ化を行うことが可能となる。
【０１６６】
次に、本発明の第４の実施形態について説明する。なお、上述した実施形態と異なる点を中心に説明し、上述した実施形態と共通する点の説明を適宜省略する。
【０１６７】
上記第３の実施形態は、背景画像データ(フォームデータ)が存在する場合でも、オブジェクトのグループ化を行うことが可能であることを示す。しかしながら、背景画像データはその描画面積が大きいため描画処理のボトルネックとなってしまい、処理の並列化の効果が減少してしまう。そこで、第４の実施形態は、背景画像データを分割して各グループに割り当てることにより、背景画像データの描画処理によるボトルネックを解消する方法を提供する。
【０１６８】
図３０は、本発明の第４の実施形態に係るプリンタコントローラ２Ａにおける背景画像データの分割処理の手順を示すフローチャートである。なお、図３０のフローチャートにより示されるアルゴリズムは、プリンタコントローラ２ＡのＲＯＭ２２などの記憶部にプログラムとして記憶されており、ＣＰＵ２１により実行される。
【０１６９】
図３１は、背景画像データに図形と文字を合成したページ画像データの完成例を示す図である。以下、図３１のページ画像データが得られる場合について説明する。
【０１７０】
前提として、背景画像データ(図３１の例では最外枠内の例えば水色１色のデータである)と、グループ化済みのレイアウト情報が用意される。
【０１７１】
まず、ＣＰＵ２１は、グループ化済みのレイアウト情報（１ページ分）を読み込む(Ｓ６０１)。
【０１７２】
そして、背景画像データから、１つのグループ分の描画領域が切れ出されて、ＲＡＭ２３に保存される。すなわち、レイアウト情報にグループごとに記述されたオブジェクトの矩形領域の大きさおよび位置に基づいて、背景画像データが切り出される(Ｓ６０２)。
【０１７３】
続いて、切り出した１グループ分の背景画像データに関する情報が、レイアウト情報に追加される(Ｓ６０３)。なお、切り出した１グループ分の背景画像データに関する情報には、矩形領域の大きさおよび位置（回転角を含む）の情報が含まれる。
【０１７４】
ステップＳ６０４では、すべてのグループについての処理が終了したか否かが判断される。すべてのグループについての処理が終了した場合（Ｓ６０４：ＹＥＳ）、ステップＳ６０５に進む。一方、処理が終わっていないグループが残っている場合には（Ｓ６０４：ＮＯ）、ステップＳ６０２に戻る。
【０１７５】
図３２は、全グループ分の描画領域が切れ出された後の背景画像データを示す図、図３３は、背景画像データから切り出された領域を示す図である。
【０１７６】
ステップＳ６０５では、全グループ分の描画領域が切り出された後の背景画像データから、マスク画像データ（以下、マスクという。）が生成される（Ｓ６０５）。ここで、マスクの領域は、全グループ分の描画領域が切り出された後の背景画像データの領域と一致する。
【０１７７】
図３４は、マスクの一例を示す図である。
【０１７８】
続いて、全グループ分の描画領域が切れ出された後の背景画像データとマスクとがＲＡＭ２３に保存される(Ｓ６０６)。
【０１７９】
そして、全グループ分の描画領域が切れ出された後の背景画像データに関する情報が、レイアウト情報に追加される(Ｓ６０７)。すなわち、背景画像データおよびマスクに関する情報が、レイアウト情報に追加される。背景画像データとして、マスクがＯＮ(黒)の画素が描画される。
【０１８０】
図３５は、背景画像データが各グループに分割された様子を示す図である。図３５に示す例では、全部で４つのグループが形成される。この４つのグループを並列に画像合成することにより、背景画像データの描画のボトルネックを解消することができる。前述したように、バリアブルデータプリント方式では周期的に同じレイアウトが繰り返されるので、切り出した背景画像データ部品をＲＡＭ２３にキャッシュして、周期的に再利用することができる。
【０１８１】
このように、第４の実施形態では、画像処理装置としてのプリンタコントローラ２Ａは、処理すべきプリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データを特定する。そして、重なりのある複数のオブジェクトの矩形領域で背景画像データを切り出した第１分割部が当該複数のオブジェクトのグループに組み入れられ、他のオブジェクトと重ならない単独のオブジェクトの矩形領域で背景画像データを切り出した第２分割部が当該単独のオブジェクトのグループに組み入れられ、第１分割部および第２分割部を除く背景画像データが１つのグループとみなされる。
【０１８２】
第４の実施形態によれば、上述した実施形態と同様の作用効果を奏することができることに加えて、背景画像データを分割して各グループに割り当てることにより、背景画像データの描画処理によるボトルネックを解消することができる。
【０１８３】
次に、本発明の第５の実施形態について説明する。なお、上述した実施形態と異なる点を中心に説明し、上述した実施形態と共通する点の説明を適宜省略する。
【０１８４】
上述した実施形態では、重なりのある複数のオブジェクトは、Ｚ軸の底（重なりの最下位）のオブジェクトから上位のオブジェクトへと順番に合成される。しかしながら、背景画像データ（フォームデータ）を持つプリントデータの場合、最下位の背景画像データは、上位の部品オブジェクトによって隠れてしまうにもかかわらず無駄に描画される。この点について効率が悪い。そこで、背景画像データを持つプリントデータの場合には、オブジェクト合成の順番をＺ軸の上位から下位へと行うことにより、重なり部分の無駄な描画をなくすことができる。この合成方法として、Ｚバッファ法が使用され得る。Ｚバッファ法では、オブジェクトのラスタ画像データに加えて、重なり部分の描画を省略するためのマスクが必要となる。このマスクはラスタ画像生成部２１３により生成される。
【０１８５】
Ｚバッファ法では、重なり部分の重複描画は無くなるが、マスクの合成が必要となる。しかし、形成すべき画像が例えば高解像度のＣＭＹＫの各色成分を有するカラー画像の場合には、ラスタ画像データ（８ビット４版）の重複合成時間よりもマスク画像（１ビット１版）の合成時間の方が圧倒的に短いため、合成時間の短縮効果は高くなる。
【０１８６】
このように、第５の実施形態では、画像処理装置としてのプリンタコントローラ２Ａは、処理すべきプリントデータに含まれるレイアウト情報を用いたページの大きさとオブジェクトの矩形領域の大きさとの比較に基づいて背景画像データが存在するか否かを判断する。そして、背景画像データが存在すると判断された場合、オブジェクトをラスタライズして生成したラスタ画像データの合成を上位から下位の順番で行うＺバッファ法が実施される。
【０１８７】
第５の実施形態によれば、上述した実施形態と同様の作用効果を奏することができることに加えて、背景画像データを持つ場合の重なり部分の無駄な描画をなくすことができるという作用効果を奏することができる。
【０１８８】
次に、本発明の第６の実施形態について説明する。なお、上述した実施形態と異なる点を中心に説明し、上述した実施形態と共通する点の説明を適宜省略する。
【０１８９】
上述した実施形態では、背景画像データ（フォームデータ）は１つのオブジェクトとして処理される。しかし、複数ページ間で共通に使用されるオブジェクト群が纏められて背景画像データ（フォームデータ）とみなされてもよい。
【０１９０】
この場合、ページごとにレイアウト情報における再利用オブジェクトに関する情報が抽出され、例えば図３６に示すような管理リストが作成される。図３６に示す例では、プリントデータに含まれるページの総数は１０００ページである。そして、プリントデータに含まれる総ページ数と再利用回数とが一致する再利用オブジェクトを用いて、背景画像データ（フォームデータ）が作成される。図３７は、作成されたフォームデータの一例を示す図である。なお、再利用回数がプリントデータに含まれる総ページ数までには達しないが、複数のページで共通して使用される再利用オブジェクト群を用いてフォームデータが作成されてもよい。
【０１９１】
このように、第６の実施形態では、画像処理装置としてのプリンタコントローラ２Ａは、処理すべきプリントデータ内の複数のページで共通して使用されるオブジェクト群を背景画像データ（フォームデータ）として特定する。そして、プリンタコントローラ２Ａは、特定された背景画像データを１つのグループとみなす。
【０１９２】
第６の実施形態によれば、上述した実施形態と同様の作用効果を奏することができることに加えて、複数ページ間で共通に使用されるオブジェクト群が纏めて背景画像データを生成することができ、背景画像データ（フォームデータ）を用いた効率的な処理が可能となる。
【０１９３】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１９４】
上記実施形態では、画像処理装置としてのプリンタコントローラと、画像形成装置としてのプリンタとが別個の装置として分離して設置され、互いにローカル接続された構成の場合について述べたが、プリンタコントローラはプリンタの中に内包されていてもよい。
【０１９５】
また、上記実施形態では、画像形成装置としてプリンタが採用されているが、本発明はこれに限定されるものではない。本発明は、例えばＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、複写機等の画像形成装置にも適用可能である。
【０１９６】
本実施形態の印刷システムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【図面の簡単な説明】
【０１９７】
【図１】本発明の第１の実施形態に係る印刷システムの全体構成図である。
【図２】クライアント端末の概略構成を示すブロック図である。
【図３】プリンタコントローラの概略構成を示すブロック図である。
【図４】グループ化部、スケジューラ、ラスタ画像生成部、および画像合成部を説明するための図である。
【図５】擬似合成画像データ、ページ画像データ、再利用データ、および非再利用データを説明するための図である。
【図６】プリントデータを説明するための図である。
【図７】プリンタの概略構成を示すブロック図である。
【図８】プリンタコントローラにおける処理の手順を示すフローチャートである。
【図９】オブジェクトのグループ化処理の手順を示すフローチャートである。
【図１０】擬似合成画像データ作成処理の手順を示すフローチャートである。
【図１１】グループ分類処理の手順を示すフローチャートである。
【図１２】図１１から続く、グループ分類処理の手順を示すフローチャートである。
【図１３】各グループの処理順番の決定処理の手順を示すフローチャートである。
【図１４】図１３から続く、各グループの処理順番の決定処理の手順を示すフローチャートである。
【図１５】１つのページにおけるオブジェクトのグループ分けを説明するための図である。
【図１６】バリアブルオブジェクト群をラスタライズして生成したラスタ画像データ群の一例を示す図である。
【図１７】合成処理により作成されたページ画像データの一例を示す図である。
【図１８】レイアウト情報（１ページ分）の一例を示す図である。
【図１９】オブジェクト名が出現順番号に変更された後のレイアウト情報（１ページ分）の一例を示す図である。
【図２０】図１９のレイアウト情報に基づいて作成された１ページ分の擬似合成画像データを示す図である。
【図２１】図２０の擬似合成画像データに基づくグループ分類処理の結果を示す図である。
【図２２】図２１のグループ分類処理の結果に基づいてグループごとに並び替えられたレイアウト情報を示す図である。
【図２３】オブジェクト名が元に戻されたレイアウト情報と、当該レイアウト情報に基づいてラスタ画像データが並列的に合成されて作成されたページ画像データを示す図である。
【図２４】擬似合成画像データの一例を示す図である。
【図２５】グループテーブルの一例を示す図である。
【図２６】グループの構成の一例を示す図である。
【図２７】擬似合成画像データの他の例を示す図である。
【図２８】グループテーブルの他の例を示す図である。
【図２９】グループの構成の他の例を示す図である。
【図３０】本発明の第４の実施形態に係るプリンタコントローラにおける背景画像データの分割処理の手順を示すフローチャートである。
【図３１】背景画像データに図形と文字を合成したページ画像データの完成例を示す図である。
【図３２】全グループ分の描画領域が切れ出された後の背景画像データを示す図である。
【図３３】背景画像データから切り出された領域を示す図である。
【図３４】マスクの一例を示す図である。
【図３５】背景画像データが各グループに分割された様子を示す図である。
【図３６】本発明の第６の実施形態に係る管理リストの一例を示す図である。
【図３７】作成されたフォームデータの一例を示す図である。
【符号の説明】
【０１９８】
１Ａ，１Ｂ，１Ｃ  クライアント端末、
１１，２１，３１  ＣＰＵ、
１２，２２，３２  ＲＯＭ、
１３，２３，３３  ＲＡＭ、
１４，２４  ハードディスク、
１５  ディスプレイ、
１６  入力装置、
１７，２５  ネットワークインタフェース、
１８，２７，３７  バス、
２Ａ，２Ｂ  プリンタコントローラ（画像処理装置）、
２１１  グループ化部、
２１２  スケジューラ、
２１３  ラスタ画像生成部、
２１４  画像合成部、
２３１  擬似合成画像データ、
２３２  ページ画像データ、
２３３  再利用データ、
２３４  非再利用データ、
２４１  プリントデータ、
２４２  レイアウト情報、
２４３  バリアブルオブジェクト群、
２６  プリンタインタフェース、
３Ａ，３Ｂ  プリンタ、
３４  操作パネル部、
３５  印刷部、
３６  プリンタコントローラインタフェース、
５  ネットワーク。
【図１】
0004885904.tif 000002
【図２】
0004885904.tif 000003
【図３】
0004885904.tif 000004
【図４】
0004885904.tif 000005
【図５】
0004885904.tif 000006
【図６】
0004885904.tif 000007
【図７】
0004885904.tif 000008
【図８】
0004885904.tif 000009
【図９】
0004885904.tif 000010
【図１０】
0004885904.tif 000011
【図１１】
0004885904.tif 000012
【図１２】
0004885904.tif 000013
【図１３】
0004885904.tif 000014
【図１４】
0004885904.tif 000015
【図１５】
0004885904.tif 000016
【図１６】
0004885904.tif 000017
【図１７】
0004885904.tif 000018
【図１８】
0004885904.tif 000019
【図１９】
0004885904.tif 000020
【図２０】
0004885904.tif 000021
【図２１】
0004885904.tif 000022
【図２２】
0004885904.tif 000023
【図２３】
0004885904.tif 000024
【図２４】
0004885904.tif 000025
【図２５】
0004885904.tif 000026
【図２６】
0004885904.tif 000027
【図２７】
0004885904.tif 000028
【図２８】
0004885904.tif 000029
【図２９】
0004885904.tif 000030
【図３０】
0004885904.tif 000031
【図３１】
0004885904.tif 000032
【図３２】
0004885904.tif 000033
【図３３】
0004885904.tif 000034
【図３４】
0004885904.tif 000035
【図３５】
0004885904.tif 000036
【図３６】
0004885904.tif 000037
【図３７】
0004885904.tif 000038