(57)【特許請求の範囲】
【請求項１】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングを行う第２レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記第２レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段と、
を有し、
前記第１グループは他のオブジェクトと重ならないオブジェクトを含み、
前記第１レンダリング手段はペインター法のレンダリング手段を含み、
前記第２グループは他のオブジェクトと重なるオブジェクトを含み、
前記第２レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする画像処理システム。
【請求項２】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段と、
を有し、
前記第２グループは他のオブジェクトと重ならない文字を含み、
前記第１グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
前記第１レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする画像処理システム。
【請求項３】
画像処理システムにおける画像処理方法であって、
グループ化手段が、第１レンダリングステップでレンダリングされる第１グループと第２レンダリングステップでレンダリングされる第２グループとに描画データのグループ化を行うグループ化ステップと、
第１レンダリング手段が、前記グループ化ステップによりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリングステップと、
第２レンダリング手段が、前記グループ化ステップによりグループ化された第２グループの描画データに基づきレンダリングを行う第２レンダリングステップと、
処理手段が、前記第１レンダリングステップによりレンダリングされた画像と前記第２レンダリングステップによりレンダリングされた画像との印刷用の処理を行う処理ステップと、
を有し、
前記第１グループは他のオブジェクトと重ならないオブジェクトを含み、
前記第１レンダリングステップはペインター法のレンダリングステップを含み、
前記第２グループは他のオブジェクトと重なるオブジェクトを含み、
前記第２レンダリングステップはスキャンライン法のレンダリングステップを含むことを特徴とする画像処理方法。
【請求項４】
画像処理システムにおける画像処理方法であって、
グループ化手段が、第１レンダリングステップでレンダリングされる第１グループと第２レンダリングステップでレンダリングされる第２グループとに描画データのグループ化を行うグループ化ステップと、
第１レンダリング手段が、前記グループ化ステップによりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリングステップと、
処理手段が、前記第１レンダリングステップによりレンダリングされた画像と前記グループ化ステップによりグループ化された第２グループの描画データに基づきレンダリングされた画像との印刷用の処理を行う処理ステップと、
を有し、
前記第２グループは他のオブジェクトと重ならない文字を含み、
前記第１グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
前記第１レンダリングステップはスキャンライン法のレンダリングステップを含むことを特徴とする画像処理方法。
【請求項５】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングを行う第２レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記第２レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムであって、
前記第１グループは他のオブジェクトと重ならないオブジェクトを含み、
前記第１レンダリング手段はペインター法のレンダリング手段を含み、
前記第２グループは他のオブジェクトと重なるオブジェクトを含み、
前記第２レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とするプログラム。
【請求項６】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムであって、
前記第２グループは他のオブジェクトと重ならない文字を含み、
前記第１グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
前記第１レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とするプログラム。
【請求項７】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングを行う第２レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記第２レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムを記憶した記憶媒体であって、
前記第１グループは他のオブジェクトと重ならないオブジェクトを含み、
前記第１レンダリング手段はペインター法のレンダリング手段を含み、
前記第２グループは他のオブジェクトと重なるオブジェクトを含み、
前記第２レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする記憶媒体。
【請求項８】
第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、
前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、
前記第１レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段としてコンピュータを機能させるためのプログラムを記憶した記憶媒体であって、
前記第２グループは他のオブジェクトと重ならない文字を含み、
前記第１グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、
前記第１レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータなどの情報処理システムにおける画像処理でのグループ化に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ、ワークステーション等の計算機端末では、近年マルチCPU等を用いた分散処理が利用されつつある。しかし、アプリケーションから渡される描画データは、処理プロセスが考慮されておらず、マルチCPUや複数のモジュールでの分散処理等を効率良く行うことが出来なかった。分散処理のためには、描画データのグループ（Group）化が必要である。
【０００３】
特許文献１では、領域の重なる描画データをひとくくりにするグループ化方法が記載されている。
【０００４】
図１６は、従来の描画データのグループ化方法を示す図である。
【特許文献１】特開２００４−１９３８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のグループ化方法では、領域の重なる描画データをひとくくりにするだけである。このようなグループ化では、生成されたグループに描画の分散処理等でのメリットはあまりなかった。
【０００６】
なお、描画データのレンダリング処理には、大きく２つの方法がある。scanline法とPainter法（ペインタ法）である。
【０００７】
scanline法（スキャンライン法；scanline algorithm）とは、各描画データをスクリーン上の各スキャンライン（横方向のピクセルの集まり）ごとに分割する（これをセグメントと呼ぶ）。そして、同じスキャンラインを共有するセグメント同士の奥行き（Ｚ軸）値を比較して、手前にあるほう（Ｚ軸上位）だけを描画する。これをスクリーン上の全スキャンラインについて行う方法である。
【０００８】
なお、このscanline法は、重なりが多い複雑な描画データをレンダリングするには有効である。しかし、Edge（輪郭）が多い文字等の処理は遅いといった特徴がある。
【０００９】
Painter法（ペインタ法；Painter algorithm）とは、視点から見て，奥（Ｚ軸下位）にあるオブジェクトから順に描画していく方法である。
【００１０】
なお、このPainter法では、重なりが少ない描画データをレンダリングする場合には有効である。しかし、重なりが多い描画データをレンダリングする場合には、処理が遅く、透過等の処理が行えないといった特徴がある。
【００１１】
よって、従来のグループ化方法のように、領域の重なる描画データをひとくくりにしたグループでは、上記いずれのレンダリング方法を用いても、効率良く、また、適切に処理するとができないといった問題点があった。
【００１２】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像処理でメリットがありマルチCPU等での分散処理を有効に使用できるように、描画データをグループ化する仕組を提供することである。
【課題を解決するための手段】
【００１３】
本発明の画像処理システムは、第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングを行う第２レンダリング手段と、前記第１レンダリング手段によりレンダリングされた画像と前記第２レンダリング手段によりレンダリングされた画像との印刷を行う印刷手段と、を有し、前記第１グループは他のオブジェクトと重ならないオブジェクトを含み、前記第１レンダリング手段はペインター法のレンダリング手段を含み、前記第２グループは他のオブジェクトと重なるオブジェクトを含み、前記第２レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする。
また、本発明の画像処理システムは、第１レンダリング手段でレンダリングされる第１グループと第２レンダリング手段でレンダリングされる第２グループとに描画データのグループ化を行うグループ化手段と、前記グループ化手段によりグループ化された第１グループの描画データに基づきレンダリングを行う第１レンダリング手段と、前記第１レンダリング手段によりレンダリングされた画像と前記グループ化手段によりグループ化された第２グループの描画データに基づきレンダリングされた画像との印刷を行う印刷手段と、を有し、前記第２グループは他のオブジェクトと重ならない文字を含み、前記第１グループは他のオブジェクトと重ならない文字以外のオブジェクトを含み、前記第１レンダリング手段はスキャンライン法のレンダリング手段を含むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、描画データの処理をマルチCPUや複数のモジュールで分散処理することが可能なように、描画データをグループ化することができる等の効果を奏する。
【００１５】
また、グループ毎に各描画処理方法の特徴を生かした描画処理（異なる描画処理）を高速に実行可能なように、描画データをグループ化することができる等の効果を奏する。
【００１６】
従って、優れた描画データの処理環境を構築することができる。
【発明を実施するための最良の形態】
【００１７】
〔第１実施形態〕
以下、本発明の実施形態を図面を参照し説明する。
【００１８】
図１は、本発明の一実施形態を示す画像処理装置（画像処理方法）における描画データグループ化処理部の全体構成を示すブロック図である。
【００１９】
図１に示すように、描画データグループ化処理部は、描画データ入力部101と、描画データ処理部102と、描画データ出力部103とから成る。
【００２０】
描画データ入力部101は、描画データを入力する。なお、この描画データには、Text，グラフィック，イメージ等のオブジェクトを描画するための個々の描画データが複数を含まれている。描画データ処理部102は、描画データ入力部101から入力された描画データをグループ（Group）化処理する。描画データ出力部103は、描画データ処理部102によりグループ化処理された描画データを出力する。
【００２１】
図２は、図１に示した描画データ処理部102の構成を詳細を示したブロック図である。
【００２２】
図２において、201はデータ抽出部であり、入力されたデータからText，グラフィック，イメージ等のオブジェクトを描画するための個々の描画データを抽出する。203はデータ外接領域保存部であり、データ抽出部201で抽出された個々の描画データの外接領域データを作成し保存する。
【００２３】
202は特定データ判断部であり、データ抽出部201で抽出された個々の描画データが予め設定されている特定描画データであるか否かをデータ外接領域保存部203で作成される外接領域データを用いて判断する。なお、予め設定されている特定描画データとは、例えば「最上位文字」に対応する描画データ等を示す。この例の場合、特定データ判断部202は、描画データが最上位文字であるかを後述する図３に示すように判断する。
【００２４】
204はデータ結合部であり、特定データ判断部202に判断された特定描画データとそれ以外の描画データ等をそれぞれひとまとめにする（グループ化する）。
【００２５】
図３は、図２に示した特定データ判断部202が外接領域データを用いて特定描画データとしての最上位文字を判断する方法の一例を示す図である。
【００２６】
図３に示す例では、データ抽出部201により、入力された描画データ群300から、円301、Text“Ａ”302、三角形303、長方形304の各オブジェクトを描画する描画データが抽出されたものとする。また、データ外接領域保存部203で作成され保存される円301、Text“Ａ”302、三角形303、長方形304の外接領域データを、301a，302a，303aで示す。
【００２７】
図３に示すように、Text“Ａ”302が最上位であるか否かの判断は、外接領域で重なりのある他のオブジェクト（円301、三角形303、長方形304）とＺ軸の位置を比較して判断する。図３に示した例では、Text“Ａ”302の外接領域302aが、円301の外接領域301a，三角形303外接領域303aと重っている。よって、ここでは、Text“Ａ”302が最上位であるか否かの判断は、Text“Ａ”302と円301，三角形303のＺ軸の位置を比較する。そして、Text“Ａ”302が円301，三角形303に対してＺ軸で上位であれば、特定データ判断部202はText“Ａ”302を最上位文字と判断する。
【００２８】
なお、図３に示した例では、Text“Ａ”302の外接領域302aは、長方形304の外接領域304aと重ならない。よって、Text“Ａ”302と長方形304とのＺ軸の上位関係は比較する必要がない。即ち、ここでは、特定データ判断部202は、Text“Ａ”302と長方形304とのＺ軸の上位関係は比較しない。
【００２９】
即ち、最上位文字とは、該最上位文字の外接領域の上に、他のオブジェクトの外接領域が重ねて描画されることのない文字を示す。
【００３０】
なお、特定描画データは、「最上位文字」の描画データに限られるものではない。例えば、単に「文字（Text）」の描画データを特定描画データとして設定してもよい。また、「円」「長方形」「三角形」等のいずれかの「グラフィック」の描画データを特定描画データとして設定してもよい。さらに、「イメージデータ」の描画データを特定描画データとして設定してもよい。また、「背景」の描画データを特定描画データとして設定してもよい。さらに、上記を組み合わせて特定描画データとして設定してもよい。例えば、「三角形」の描画データ及び「円」の描画データを特定データとして設定してもよい。
【００３１】
次に、図４〜図６を用いて、グループ化方法について説明する。
【００３２】
図４は、図２に示したデータ結合部204によるグループ化方法の一例を示す図である。
【００３３】
図４に示す例では、データ抽出部201により、入力された描画データ群400から、円401、text“Ａ”402、三角形403、長方形404、text“Ｂ”405のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、円401の描画データと長方形404の描画データが特定描画データと判断されたものとする。
【００３４】
図４に示すように、データ結合部204は、特定描画データである円401の描画データと長方形404の描画データを、特定描画データのグループ411としてグループ化している。また、データ結合部204は、text“Ａ”402の描画データ、三角形403の描画データを、特定描画データの上位レイヤー410としてグループ化している。さらに、データ結合部204は、text“Ｂ”405の描画データを、特定描画データの下位レイヤー412としてグループ化している。
【００３５】
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ412に１、グループ411に２、グループ410に３を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ410の描画データ、グループ411の描画データ、グループ412の描画データをそれぞれペインタ法で描画しビットマップイメージを生成する。描画された１番目のグループ412のビットマップに、描画された２番目のグループ411のビットマップを上書きし、次に描画された３番目のグループ410のビットマップを上書きすることにより３つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。
【００３６】
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ412に１、グループ411に２、グループ410に３を付加する。そしてグループ410、グループ411、グループ412の描画データをそれぞれペインタ法でメモリに描画する。そして、描画順の付加されたビットマップ形式の各グループの描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている１番目のグループ412のビットマップに、描画されている２番目のグループ411のビットマップを上書きする。次に描画されている３番目のグループ410のビットマップを上書きすることにより３つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
【００３７】
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ412に１、グループ411に２、グループ410に３を付加する。そしてグループ410、グループ411、グループ412の描画データをそれぞれメモリに描画する。そして描画された１番目のグループ412のビットマップに、描画された２番目のグループ411のビットマップを上書きし、次に描画された３番目のグループ410のビットマップを上書きすることにより３つのグループを合成する。そして描画データ出力部は合成された１ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
【００３８】
図４の例では、描画データ400を特定データのグループ411と特定データの上位レイヤー410と特定データの下位レイヤー412の３層にグループ化する場合について説明したが、上位レイヤーと下位レイヤーの２層にグループ化する例は効果的である。以下、その例について図５，図６を参照して説明する。なお、図５では背景とそれ以外の２層にグループ化する例を示し、図６では最上位文字とそれ以外の２層にグループ化する例を示す。
【００３９】
図５は、図２に示したデータ結合部204によるグループ化方法の一例を示す図である。
【００４０】
図５に示す例では、データ抽出部201により、入力された描画データ群500から、背景501、text“Ａ”502、円503、三角形504、text“Ｂ”505、長方形506のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、背景501の描画データが特定描画データと判断されたものとする。
【００４１】
図５に示すように、データ結合部204は、特定描画データである背景501の描画データを背景グループ510としてグループ化している。また、データ結合部204は、背景501以外の描画データ（text“Ａ”502、円503、三角形504、text“Ｂ”505、長方形506の各描画データ）を背景以外のグループ511としてグループ化している。
【００４２】
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ510に１、グループ511に２を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ510の描画データをペインタ法でメモリに描画し、グループ511の描画データをスキャンライン法でメモリに描画する。描画された１番目のグループ510のビットマップに、描画された２番目のグループ５１１のビットマップを上書きすることにより２つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。
【００４３】
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ510に１、グループ511に２を付加する。そしてグループ510の描画データをペインタ法でメモリに描画し、グループ511の描画データをスキャンライン法でメモリに描画する。そして、描画順の付加されたビットマップ形式の各グループの描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている１番目のグループ510のビットマップに、描画されている２番目のグループ511のビットマップを上書きすることにより２つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
【００４４】
また、別の実施形態として、描画データ結合部は、グループ510の描画データをペインタ法でビットマップに描画し、グループ511の描画データをスキャンライン法でビットマップに描画し、描画された各グループに描画順を示す情報を付加する。たとえば、グループ510に１、グループ511に２を付加する。そして描画された１番目のグループ510のビットマップに、描画された２番目のグループ511のビットマップを上書きすることにより２つのグループを合成する。そして描画データ出力部は合成された１ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
【００４５】
図６は、図２に示したデータ結合部204によるグループ化方法の一例を示す図である。
【００４６】
図６に示す例では、データ抽出部201により、入力された描画データ群600から、text“Ａ”601、円602、長方形603、text“Ｂ”604、三角形605のオブジェクトを描画するための各描画データが抽出されたものとする。また、特定データ判断部202により、最上位文字であるtext“Ａ”601、text“Ｂ”604の各描画データが特定描画データと判断されたものとする。
【００４７】
図６に示すように、データ結合部204は、特定描画データである最上位文字（text“Ａ”601、text“Ｂ”604）の各描画データを最上位文字のグループ610としてグループ化している。また、データ結合部204は、最上位文字以外の描画データ（円602、長方形603、三角形605の各描画データ）を最上位文字以外のグループ611としてグループ化している。
【００４８】
描画データ結合部は、このグループ化された描画データに描画順を示す情報を付加する。たとえば、グループ611に１、グループ610に２を付加する。そして描画順の付加されたコマンド形式の各グループの描画データを出力部によりプリンタに出力する。プリンタのコントローラでは、受信したグループ610の描画データをペインタ法でメモリに描画し、受信したグループ611の描画データをスキャンライン法でメモリに描画する。描画された１番目のグループ611のビットマップに、描画された２番目のグループ610のビットマップを上書きすることにより２つのグループを合成する。そしてメモリ上で合成されたビットマップをプリントエンジンでプリントする。また、プリンタのコントローラでは、受信したグループ611の描画データをスキャンライン法でメモリに描画する。描画された１番目のグループ611のビットマップに、受信した２番目のグループ610の描画データをプリンタのフォントを用いて上書きすることにより印刷すべきビットマップを生成する。そしてメモリ上に生成されたビットマップをプリントエンジンでプリントする構成でも良い。
【００４９】
また、別の実施形態として、描画データ結合部は、各グループに描画順を示す情報を付加する。たとえば、グループ611に１、グループ610に２を付加する。そしてグループ610の描画データをペインタ法でビットマップに描画し、グループ611の描画データをスキャンライン法でビットマップに描画する。そして、描画順の付加された各グループのビットマップ形式の描画データを出力部によりプリンタに出力する。そして、プリンタでは、受信した描画されている１番目のグループ611のビットマップに、描画されている２番目のグループ610のビットマップを上書きすることにより２つのグループを合成する。このメモリ上で合成されたビットマップをプリントエンジンでプリントする。
【００５０】
また、別の実施形態として、描画データ結合部は、描画された各グループに描画順を示す情報を付加する。たとえば、グループ611に１、グループ610に２を付加する。そしてグループ610をペインタ法で描画し、グループ611をスキャンライン法で描画する。描画された１番目のグループ611のビットマップに、描画された２番目のグループ610のビットマップを上書きすることにより２つのグループを合成する。そして描画データ出力部は合成された１ページ分のビットマップイメージを描画データとしてプリンタに出力する。プリンタは受信したビットマップイメージの描画データをプリントエンジンでプリントする。
【００５１】
以下、図７，図８，図９を参照して、図１〜図６に示した本発明の描画データグループ化処理部によるグループ化処理を、印刷処理システム（特にプリンタドライバ内）に適用した場合の実施形態について説明する。
【００５２】
なお、このグループ化処理は、プリンタドライバではなく、印刷装置内で行っても同様に成立する。また、このグループ化処理は、ディスプレイ装置やその他ビットマップ処理を行うアプリケーションで行っても同様に成立する。
【００５３】
図７，図８，図９は、本発明の画像処理装置（画像処理方法）を適用可能な情報処理システムの構成の一例を示すブロック図であり、同一のものには同一の符号を付してある。
【００５４】
なお、図７は情報処理システムのハードウェア構成の一例を示すものに対応する。
【００５５】
図７において、1は中央処理装置である。この中央処理装置1は、複数のプロセッサ（CPU）で構成されていてもよい。即ち、中央処理装置1は、マルチプロセッサ構成であってもよい。マルチプロセッサ構成では、複数の処理を複数のプロセッサで分担して並行して処理することにより、処理性能を向上することが可能となる。
【００５６】
2は主記憶装置（RAM）であり、中央処理装置１の作業領域として使用される。3は補助記憶装置であり、中央処理装置１が実行する各種プログラムやデータ等を格納している。6は媒体読取装置であり、FD，CD-ROM，ICメモリカード等の記憶媒体からデータを読み取るためのものである。
【００５７】
中央処理装置1は、補助記憶装置3から、又は媒体読取装置6を介して記憶媒体からシステムプログラム，アプリケーションプログラム等を主記憶装置2に読み込んで実行する。そして、入力装置4から入力される情報を処理して、出力装置5や印刷装置（プリンタ）７に出力する。なお、プリンタ7は、電子写真方式であっても、インクジェット式、昇華式等の他の印刷方法を用いるものであってもよい。
【００５８】
なお、本実施形態では、出力装置5は、ディスプレイ等の表示装置とし、本来出力装置に含まれるプリンタ7と区別する。また、入力装置4は、キーボード，ポインティングデバイス等で構成されているものとする。さらに、補助記憶装置3は、ハードディスク、光磁気ディスク等で構成されるものであってもよいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていようとも、本発明を制約するものではない。
【００５９】
図８は、記憶媒体から画像処理方法制御プログラムと関連するデータが中央処理演算装置1に読み込まれ、入力装置4から印刷命令が入力されて、プリンタ７へデータを送り印刷するまでの概念を表すものである。
【００６０】
図８において、9はオペレーションシステム（OS）、10はアプリケーションプログラム、11はプリンタドライバである。OS9、アプリケーションプログラム10、及びプリンタドライバ11は、中央処理演算装置1により主記憶装置2上に読み込まれて実行されている。
【００６１】
なお、OS9は、マルチプロセッサ構成をサポートするものであり、中央処理装置1がマルチプロセッサ構成の場合でも動作させることが可能である。
【００６２】
また、アプリケーションプログラム10、及びプリンタドライバ11は、ともにOS9の制御下で機能する。
【００６３】
図９は本発明の特徴を最もよく表す図面である。
【００６４】
図９において、30はホスト装置（本発明の印刷システムにおけるクライアントコンピュータ本体）を示すものであり、プリンタ7とはセントロニクスインタフェースやネットワーク等の所定のインタフェースを介して接続されている。
【００６５】
OS9はホスト装置30を制御している。プリンタドライバ11は、OS9上でプリンタ7を制御するアプリケーションソフトウェアである。
【００６６】
プリンタドライバ11において、12はユーザインタフェース部である。このユーザインタフェース部12は、本発明においてユーザがプリンタ7に対してグループ化処理を行う特定描画データ（例えば、最上位文字を描画するための描画データ）の設定等の各種印刷設定等を入力し、印刷開始指示を行うためのものである。
【００６７】
13は印刷データ制御部であり、アプリケーションプログラム10から指定される描画命令を受け、印刷装置において処理できるデータを作成する。この印刷データ制御部13は、本発明である印刷システムにおけるホスト装置側の重要な処理部（図１に示した描画データ処理部102）を含むものである。
【００６８】
印刷データ制御部13において、14はデータ抽出部で、入力される描画データ群から描画データをひとつひとつ抽出するものである。なお、このデータ抽出部14は、図２に示したデータ抽出部201に対応する。
【００６９】
15はデータ外接領域保存部で、データ抽出部14で抽出された個々の描画データの外接領域データを作成し、外接領域テーブル（後述する図１１）として主記憶装置2内に保存するものである。なお、このデータ外接領域保存部15は、図２に示したデータ外接領域保存部203に対応する。
【００７０】
16は特定データ判断部で、データ抽出部201で抽出された個々の描画データが特定データであるかを判断するものであり、図２に示した特定データ判断部202に対応する。なお、この特定データ判断部16には、初期値により判定基準（例えば、最上位文字）が設定される、或いは、ユーザインタフェース部12にてユーザの指定により判定基準が設定される。
【００７１】
17はデータ結合部であり、特定データ判断部16で特定データと判断されたデータ群とそれ以外のデータ群を初期値又はユーザインタフェース部12にてユーザの指定により指定された方法でひとまとまりにする（グループ化する）。なお、このデータ結合部17は、図２に示したデータ結合部204に対応する。
【００７２】
18は印刷データ生成部であり、データ結合部17でグループ化された描画データのレンダリングを行い、ビットマップデータを作成する。なお、このレンダリング処理の際、印刷データ生成部18は、グループ毎にレンダリング処理を分散して並行処理する。この構成により、中央処理装置1がマルチプロセッサ構成の場合、処理性能を向上させることが可能である。
【００７３】
19は印刷コマンド制御部で、プリンタドライバ11の機能であり、印刷データ生成部18により作成された印刷データをプリンタ7に対応した印刷コマンドに変更する。また、印刷コマンド制御部19は、印刷コマンド全体を制御する。
【００７４】
20はデータ送受信部で、OS9の機能であり、セントロニクス接続やネットワーク接続等によりプリンタ7とのデータ送受信を行う。また、印刷装置（プリンタ）７は、接続されたホスト装置30からの指示に応じた印刷処理等を行う。
【００７５】
なお、プリンタドライバ11（特に、データ抽出部14，データ外接領域保存部15，特定データ判断部16，データ結合部17）によるグループ化処理は、図１０に示されるグループ化処理方法のフローチャートに基づいてプログラム化されたものである。
【００７６】
なお、図１に示した描画データ入力部101，描画データ出力部103については、図示しないがOS9，プリンタドライバ11に含まれる。
【００７７】
以下、図１０のフローチャートを参照しながら本発明に係るグループ化処理方法について説明する。
【００７８】
図１０は、本発明の画像処理装置（画像処理方法）における第１の制御処理手順の一例を示すフローチャートであり、グループ化処理に対応する。なお、このフローチャートの処理は、図７に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム（OS9，アプリケーションプログラム10，プリンタドライバ11等）を主記憶装置2上で実行することにより実現される。また、図１０中、S101〜S109は各ステップを示す。
【００７９】
まず、図７に示した入力装置4から印刷を実行するように命令が入力されると、補助記憶装置3から主記憶装置2上に読み込まれたOS9、プリンタドライバ11やアプリケーションプログラム10のうち、OS9がそのメッセージを受け取る。OS9は現在アクティブであるアプリケーションプログラム10に印刷実行メッセージを送る。
【００８０】
アプリケーションプログラム10は、そのメッセージをOS9が認識できるコマンドに変換して印刷するデータやコマンドのメッセージを送る。OS9はプリンタドライバ11の認識できるコマンドに変換して、メッセージを送る。
【００８１】
プリンタドライバ11に初期化用のメッセージが送られてきたら、プリンタドライバ11は、ユーザインタフェース部12の設定、或いはデフォルト値により、特定描画データを決定する。
【００８２】
まず、データ抽出部14が、OS9からプリンタ11に入力されたデータから個々の描画データを抽出し、主記憶装置2内の所定領域に格納する。そして、プリンタドライバ11は、図１０のフローチャートに示す処理を開始する。
【００８３】
処理が開始されると、まず、ステップS101において、特定データ判断部16が、主記憶装置2内に格納された描画データを所定の順序で１つ読み込む。例えば、最上位文字列が特定データと設定されている場合には、Ｚ軸上位のデータから読み込むものとする。以下、この描画データをカレントの描画データと呼ぶ。
【００８４】
次に、ステップS102において、特定データ判断部16が、カレントの描画データが特定の描画データか否かを判断する。そして、カレントの描画データが特定の描画データであると判断した場合には、特定データ判断部16は、ステップS103において、カレントの描画データがグループ化条件を満たすか否かを判断する。この時、特定データ判断部16は、判断の基準として、既に、後述する図１１に示す主記憶装置2内の外接領域テーブルに格納される描画データの外接領域データを用いる。
【００８５】
例えば、「最上位文字列」を描画するための描画データが特定描画データと設定されている場合には、ステップＳ102で、カレントの描画データが文字（text）を描画するための描画データであるか否かを判断する。そして、ステップS103で、該文字の描画データにより描画される文字の外接領域に、重なる外接領域を有するオブジェクトの描画データが既に外接領域テーブルにあるか判断する。
【００８６】
また、「背景」を描画するための描画データが特定描画データと設定されている場合には、ステップＳ102、S103で、カレントの描画データが「背景」を描画するための描画データであるか否かを判断する。
【００８７】
図１１は、図９に示したデータ外接領域保持部15が生成し主記憶装置2内に保持する外接領域テーブルの構成を示す図である。
【００８８】
図１１に示すように、外接領域テーブルは、少なくとも、描画データを識別するためのＩＤ1101，描画データの外形矩形を特定するデータ（ここでは外形矩形の左上座標1102，外形矩形の右下座標1103）を含む。なお、1104は描画データの種別（Text，グラフィック（円，三角形，長方形等），イメージ等）を示す。
【００８９】
以下、図１０のフローチャートの説明に戻る。
【００９０】
そして、ステップS103で、カレントの描画データがグループ化条件を満たすと判断した場合には、特定データ判断部16は、カレントの描画データに特定描画データの印を付ける。即ち、特定描画データを示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS105に処理を進める。
【００９１】
なお、ステップS102で、特定データ判断部16が、カレントの描画データが特定データでないと判断した場合には、そのままステップS105に処理を進める。
【００９２】
また、ステップS103で、特定データ判断部16が、カレントの描画データがグループ化条件を満たしていないと判断した場合にも、そのままステップS105に処理を進める。
【００９３】
次に、ステップS105において、データ外接領域保持部15が、カレントの描画データの外接領域データ（外形矩形の左上座標，外形矩形の右下座標）を外接領域テーブルに格納する（外接領域テーブルを更新する）。
【００９４】
次に、ステップS106において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS101に処理を戻す。そして、次の描画データを読み込む。
【００９５】
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、ステップS107に処理を進める。
【００９６】
そして、ステップS107において、データ結合部17が、主記憶装置2内に格納された描画データを所定の順序で１つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。そしてステップＳ108において、データ結合部17は、カレントの描画データを、ステップS104で付加した印のついた特定描画データを基準にグループ化する。
【００９７】
例えば、図５，図６に示したように、特定描画データのグループと特定描画データ以外のグループの２層にグループ化する場合には、以下のようにグループ化する。データ結合部17は、カレント描画データが特定データである場合には、特定描画データのグループと決定し、一方、カレント描画データが特定データでない場合には、特定描画データ以外のグループと決定する。そして、決定したグループを識別可能な情報をカレントの描画データに紐付けて主記憶装置2内に格納する。
【００９８】
また、図４に示したように、特定描画データのグループ、特定描画データの上位グループ、特定描画データの下位グループの３層にグループ化する場合には、以下のようにグループ化する。まず、データ結合部17は、カレント描画データが特定データである場合には、特定描画データのグループと決定する。一方、カレント描画データが特定描画データでない場合には、特定描画データよりＺ軸上位か下位を判断して、特定描画データの上位グループ又は特定描画データの下位グループと決定する。そして、決定したグループを識別可能な情報をカレントの描画データに紐付けて主記憶装置2内に格納する。
【００９９】
次に、ステップS109において、データ結合部17が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS107に処理を戻す。そして、次の描画データを読み込む。
【０１００】
一方、データ結合部17が、全ての描画データを読み込み済と判定した場合には、グループ化に関する処理を終了する。
【０１０１】
なお、ここでは、２層，３層にグループ化する場合を例にして説明したが、２層，３層のグループ化に限定されるものではなく、４層以上にグループ化してもよい。
【０１０２】
以下、図１２のフローチャートを参照しながら本発明に係るレンダリング処理方法について説明する。
【０１０３】
図１２は、本発明の画像処理装置（画像処理方法）における第２の制御処理手順の一例を示すフローチャートであり、図１０に示したグループ化処理後に実行されるレンダリング処理に対応する。なお、このフローチャートの処理は、図７に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム（OS9，アプリケーションプログラム10，プリンタドライバ11等）を主記憶装置2上で実行することにより実現される。また、図１０中、S401〜S404は各ステップを示す。
【０１０４】
なお、プリンタドライバ11では前述のグループ化処理を行い、グループ化されたデータをプリンタに出力する実施形態も考えられる。その場合は図１２の処理はプリンタ7のコントローラで実施され、コントローラでレンダリングされた画像はプリンタ7のプリントエンジンによりプリントされる。
【０１０５】
まず、図１０に示したグループ化処理が終了すると、プリンタドライバ11は、図１２のフローチャートに示す処理を開始する。
【０１０６】
処理が開始されると、まず、ステップS401において、印刷データ生成部18が、グループ化されて主記憶装置2内に格納されている描画データを１グループ分読み込む。以下、この１グループの描画データをカレントグループの描画データと呼ぶ。
【０１０７】
次に、ステップS402において、印刷データ生成部18は、カレントグループの描画データを、グループに応じたレンダリング法でレンダリングする処理を並列処理として開始する（スレッド生成）。例えば、下位レイヤーのグループには、重なり等を考慮したScanline法でレンダリング処理する。また、上位レイヤーのグループには速度が速いPainter法を用いてレンダリング処理する。
【０１０８】
以下、より具体的に説明する。図５に示したように、背景のグループ510と背景以外のグループ511にグループ化されている例では、背景のグループ510の描画データはPainter法を用いてレンダリング処理する。一方、背景以外のグループ511の描画データはScanline法でレンダリング処理する。
【０１０９】
また、図６に示したように、最上位文字のグループ610と最上位文字以外のグループ611にグループ化されている例では、最上位文字のグループ610の描画データはPainter法を用いてレンダリング処理する。一方、最上位文字以外のグループ611の描画データはScanline法でレンダリング処理する。
【０１１０】
このように、各グループのレンダリング処理を、各グループに応じたレンダリング法で並列して処理することにより、それぞれのレンダリング法の長所を生かした処理を効率良く行うことができる。
【０１１１】
また、図６に示したように、上位レイヤーのグループを最上位の文字と設定すると、下位レイヤーのグループには圧縮や解像度を下げる等の処理が行え、レンダリング処理速度の向上が見込まれる。
【０１１２】
また、全ての文字が最上位であるなら、DeviceFontを使用することも可能である。このように、DeviceFontを使用することでユーザが望む文字書体を確実に使用することが出来る。なお、デバイスフォント（DeviceFont）とは、デバイス（ここではホスト装置30）に標準的に用意されているフォントを示す。なお、プリンタ7において、レンダリング処理する場合には、プリンタ7に標準的に用意されているフォントを示す。
【０１１３】
次に、ステップS403において、印刷データ生成部18は、主記憶装置2内に格納された全グループの描画データを読み込み済か否かを判定する。そして、まだ全グループの描画データを読み込み済でないと判定した場合には、ステップS401に処理を戻す。そして、次のグループの描画データを読み込む。
【０１１４】
一方、印刷データ生成部18が、全グループの描画データを読み込み済と判定した場合には、ステップS404に進み、ステップS403でグループごとにレンダリングされた画像の合成処理を行い、レンダリング処理を終了する。
【０１１５】
たとえば、図６の例では、ステップS403で最上位文字のグループはペインター法でメモリにレンダリングされ、最上位以外のグループは、スキャンライン法でメモリにレンダリングされる。ステップS404の合成処理では、メモリにレンダリングされた最上位のグループの画像がメモリにレンダリングされた最上位以外のグループの画像に上書きされ合成される。
【０１１６】
なお、本フローチャートのレンダリング処理が終了すると、プリンタドライバ11の印刷コマンド制御部19は、印刷データ生成部18のレンダリング処理により作成された印刷データをプリンタ7に対応した印刷コマンドに変更する。さらに、OS9のデータ送受信部20は、該変更された印刷コマンドをプリンタ7に送信する。そして、プリンタ７では、ホスト装置30から送信された印刷コマンドに応じた印刷処理が実行される。
【０１１７】
なお、上述のように、印刷データ生成部18は、マルチスレッド設計されており、ステップS403でグループ毎に実行開始される各レンダリング処理は、並列処理される。即ち、中央処理装置1がマルチプロセッサ構成の場合、グループ毎にレンダリング処理を複数のプロセッサで分担して並行して処理することができ、レンダリング処理を効率良く行うことが可能となる。
【０１１８】
特に、上位レイヤーと下位レイヤーの２層のグループ化は効果的である。例えば、図５に示したように、背景のグループと背景以外のグループに分けるグループ化や、図６に示したように、最上位文字のグループと最上位文字以外のグループに分けるグループ化等がある。
【０１１９】
以上示したように、描画データから特定描画データを抜き出し、該特定描画データを基準にグループ化することで、マルチCPUや複数のモジュールでの分散処理が可能となり処理の高速化が見込まれる。
【０１２０】
また、描画データから上位レイヤーと下位レイヤーにグループ化し、上位レイヤーにはPainter法、下位レイヤーにはScanline法を適用することで、それぞれのレンダリング法の長所を生かした処理が行える。
【０１２１】
さらに、上位レイヤーのグループを最上位の文字と設定すると、下位レイヤーのグループには圧縮や解像度を下げる等の処理が行え、レンダリング処理速度の向上が見込まれる。
【０１２２】
また、最上位文字にDeviceFontを使用することで、ユーザが望む文字書体を確実に使用することが出来る。
【０１２３】
以上のように、描画データを特定描画データを基準にグループ化することにより、重なりのある描画データを分散レンダリング処理可能に分割することができる。これにより、マルチプロセッサ構成の装置によりレンダリング処理する際の効率を向上することができる。結果として、効率良く印刷処理することができる。
【０１２４】
〔他の実施形態〕
本実施形態では、描画データが最上位文字かどうかの判断方法をＺ軸ソート、Y軸ソートそれぞれで行う構成について説明する。
【０１２５】
以下、図１３，図１４のフローチャートを参照しながら本発明に係る特定描画データとしての最上位文字の判断処理方法について説明する。即ち、図１３，図１４に示す処理は、図１０に示したステップS101〜S106の他の実施形態に対応する。なお、その他の構成に関しては、上記第１実施形態と同様である。
【０１２６】
まず、図１３を用いて、描画データをＺ軸ソートして最上位文字（特定描画データ）か判断する処理について説明する。
【０１２７】
図１３は、本発明の画像処理装置（画像処理方法）における第３の制御処理手順の一例を示すフローチャートであり、描画データをＺ軸ソートして最上位文字（特定描画データ）か判断する処理に対応する。なお、このフローチャートの処理は、図７に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム（OS9，アプリケーションプログラム10，プリンタドライバ11等）を主記憶装置2上で実行することにより実現される。また、図１３中、S201〜S207は各ステップを示す。
【０１２８】
図１３のフローチャートに示す処理が開始されると、まず、ステップS201において、特定データ判断部16は、主記憶装置2内に格納された描画データをＺ軸ソートする。
【０１２９】
次に、ステップS202において、特定データ判断部16は、Ｚ軸ソートされた主記憶装置2内の描画データをＺ軸上位のデータから１つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。
【０１３０】
次に、ステップS203において、特定データ判断部16は、カレントの描画データが文字を描画するための描画データ（文字（text）データ）か否かを判断する。そして、カレントの描画データが文字データであると判断した場合には、ステップS204に処理を以降させる。ステップS204において、特定データ判断部16は、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済みの描画データ内に存在しないか否かを判断する。この判断は、カレントの描画データにより描画される文字の外接領域に重なる外接領域データが外接領域テーブル（図１１）内に既に格納されていないか否かにより判断する。
【０１３１】
そして、ステップS204で、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在しないと判断した場合には、ステップS205に処理を進める。
【０１３２】
そして、ステップS205において、特定データ判断部16は、カレントの描画データに、最上位文字（特定描画データ）の印を付ける。即ち、最上位文字（特定描画データ）を示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS206に処理を進める。
【０１３３】
なお、ステップS203で、特定データ判断部16が、カレントの描画データが文字データでないと判断した場合には、そのままステップS206に処理を進める。
【０１３４】
また、ステップS204で、特定データ判断部16が、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在する場合にも、ステップS206に処理を進める。
【０１３５】
次に、ステップS206において、データ外接領域保持部15が、カレントの描画データの外接領域データ（外形矩形の左上座標，外形矩形の右下座標）を外接領域テーブルに格納する（外接領域テーブルを更新する）。
【０１３６】
次に、ステップS207において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS202に処理を戻す。そして、次の描画データを読み込む。
【０１３７】
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、本フローチャートの処理を終了し、図１３に示したステップS107に処理を進める。
【０１３８】
次に、図１４を用いて、描画データをＹ軸ソートして最上位文字（特定描画データ）か判断する処理について説明する。
【０１３９】
図１４は、本発明の画像処理装置（画像処理方法）における第４の制御処理手順の一例を示すフローチャートであり、描画データをＹ軸ソートして最上位文字（特定描画データ）か判断する処理に対応する。なお、このフローチャートの処理は、図７に示した中央処理装置1が、補助記憶装置3等から読み出したプログラム（OS9，アプリケーションプログラム10，プリンタドライバ11等）を主記憶装置2上で実行することにより実現される。また、図１４中、S301〜S307は各ステップを示す。
【０１４０】
図１４のフローチャートに示す処理が開始されると、まず、ステップS301において、特定データ判断部16は、主記憶装置2内に格納された描画データをＹ軸ソートする。また、データ外接領域保持部15が、各描画データの外接領域データ（外形矩形の左上座標，外形矩形の右下座標）を外接領域テーブルに格納する（外接領域テーブルを作成する）。
【０１４１】
次に、ステップS302において、特定データ判断部16は、Ｙ軸ソートされた主記憶装置2内の描画データをＹ軸上位のデータから１つ読み込む。以下、この描画データをカレントの描画データと呼ぶ。
【０１４２】
次に、ステップS303において、特定データ判断部16は、カレントの描画データが文字を描画するための描画データ（文字（text）データ）か否かを判断する。そして、カレントの描画データが文字データであると判断した場合には、ステップS304に処理を進める。ステップS304において、特定データ判断部16は、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトを描画する他の描画データが既に読み込み済の描画データ内に存在しないか否かを判断する。この判断は、カレントの描画データにより描画される文字の外接領域に重なる外接領域データが既に外接領域テーブル（図１１）内に格納されていないか否かにより判断する。
【０１４３】
そして、ステップS304で、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトを描画する他の描画データが既に読み込み済の描画データ内に存在しないと判断した場合には、ステップS306に処理を進める。
【０１４４】
次に、ステップS306において、特定データ判断部16は、カレントの描画データに最上位文字（特定描画データ）の印を付ける。即ち、最上位文字（特定描画データ）を示す情報をカレントの描画データに紐付けて主記憶装置2内の所定領域に格納する。そして、ステップS307に処理を進める。
【０１４５】
一方、ステップS304で、特定データ判断部16が、カレントの描画データにより描画される文字の外接領域に重なる外接領域を有するオブジェクトの描画データが既に読み込み済の描画データ内に存在する場合には、ステップＳ305に処理を進める。そして、ステップS305において、特定データ判断部16は、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Ｚ軸上位か否かを判断する。そして、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Ｚ軸上位であると判断した場合には、ステップS306に処理を進める。そして、カレントの描画データに最上位文字（特定描画データ）の印を付ける。そして、ステップS307に処理を進める。
【０１４６】
一方、カレントの描画データにより描画される文字が、重なる外接領域を有する他の描画データにより描画されるオブジェクトより、Ｚ軸上位でないと判断した場合には、そのままステップS307に処理を進める。
【０１４７】
また、ステップS303で、特定データ判断部16が、カレントの描画データが文字データでないと判断した場合にも、そのままステップS307に処理を進める。
【０１４８】
次に、ステップS307において、特定データ判断部16が、主記憶装置2内に格納された描画データを全て読み込み済か否かを判定し、まだ全て読み込み済でないと判定した場合には、ステップS302に処理を戻す。そして、次の描画データを読み込む。
【０１４９】
一方、データ抽出部14が、全ての描画データを読み込み済と判定した場合には、本フローチャートの処理を終了し、図１３に示したステップS107に処理を進める。
【０１５０】
以上、図１３，図１４に示したように、描画データから特定描画データとしての「最上位文字」を抜き出し、該特定描画データを基準にグループ化することで、マルチCPUや複数のモジュールでの分散処理が可能となり処理の高速化が見込まれる。
【０１５１】
また、他の実施形態として、図４に示したように、まず、特定データ判断部16が、特定の種別の描画データ（図４では、円の描画データと長方形の描画データ）を特定描画データと決定する。そして、データ結合部17が、データ概説領域保存部に保存される外接矩形領域を判断基準とし、特定データのグループ411、特定データの上位レイヤーのグループ410、特定データの下位レイヤーのグループ412にグループ化する構成がある。そして、印刷データ生成部18が、特定データのグループ411、上位レイヤーのグループ410、下位レイヤーのグループ412にそれぞれに適したレンダリング処理を並列に行う。これにより、処理を高速化できる。
【０１５２】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５３】
なお、上述したグループ化処理，レンダリング処理は、プリンタドライバ11ではなく、プリンタ7内で行っても同様に成立する。また、グループ処理のみをプリンタドライバ11で行い、レンダリング処理をプリンタ7内でおこなってもよい。さらに、このグループ化処理，レンダリング処理は、ディスプレイ装置やその他ビットマップ処理を行うアプリケーション内で行っても同様に成立する。
【０１５４】
また、上記各実施形態では、特定データ判断部１６が、各描画データにより描画されるオブジェクトの外接領域に基づいて特定描画データを決定する構成について説明した。しかし、特定データ判断部１６は、各描画データにより描画されるオブジェクトの描画領域そのものに基づいて特定描画データを決定するように構成してもよい。一例として、最上位文字を描画する描画データを特定描画データとする場合について説明する。この場合、文字の描画領域上に、他のオブジェクトの描画領域そのものが重ねて描画されることのない文字を描画するための描画データを特定データに決定するように構成する。
【０１５５】
なお、本発明の描画データのグループ化処理，レンダリング処理は、３次元グラフィックスにおける描画データに関しても適用可能である。
【０１５６】
以下、図１５に示すメモリマップを参照して、本発明に係る画像処理装置（画像処理方法）を適用可能な装置（コンピュータ）で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
【０１５７】
図１５は、本発明に係る画像処理装置（画像処理方法）を適用可能な装置（コンピュータ）で読み取り可能な各種データ処理プログラムを格納する記憶媒体（記録媒体）のメモリマップを説明する図である。
【０１５８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１６０】
本実施形態における図１０，図１２，図１３，図１４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６１】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１６２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６３】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６４】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【０１６５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
【０１６７】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６９】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１７１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１７２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０１７３】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【０１７４】
上述したグループ化処理，レンダリング処理は、ディスプレイ装置に画像出力するアプリケーション装置やその他ビットマップ処理を行うアプリケーション内で行う用途にも適用可能である。これにより、重なりのある描画データの処理処理効率を向上することができる。
【図面の簡単な説明】
【０１７５】
【図１】本発明の一実施形態を示す画像処理装置（画像処理方法）における描画データグループ化処理部の全体構成を示すブロック図である。
【図２】図１に示した描画データ処理部の構成を詳細を示したブロック図である。
【図３】図２に示した特定データ判断部が外接領域データを用いて特定データとしての最上位文字を判断する方法の一例を示す図である。
【図４】図２に示したデータ結合部によるグループ化方法の一例を示す図である。
【図５】図２に示したデータ結合部によるグループ化方法の一例を示す図である。
【図６】図２に示したデータ結合部によるグループ化方法の一例を示す図である。
【図７】本発明の画像処理装置（画像処理方法）を適用可能な情報処理システムの構成の一例を示すブロック図である。
【図８】本発明の画像処理装置（画像処理方法）を適用可能な情報処理システムの構成の一例を示すブロック図である。
【図９】本発明の画像処理装置（画像処理方法）を適用可能な情報処理システムの構成の一例を示すブロック図である。
【図１０】本発明の画像処理装置（画像処理方法）における第１の制御処理手順の一例を示すフローチャートである。
【図１１】図９に示したデータ外接領域保持部が生成し主記憶装置内に保持する外接領域テーブルの構成を示す図である。
【図１２】本発明の画像処理装置（画像処理方法）における第２の制御処理手順の一例を示すフローチャートである。
【図１３】本発明の画像処理装置（画像処理方法）における第３の制御処理手順の一例を示すフローチャートである。
【図１４】本発明の画像処理装置（画像処理方法）における第４の制御処理手順の一例を示すフローチャートである。
【図１５】本発明に係る画像処理装置（画像処理方法）を適用可能な装置（コンピュータ）で読み取り可能な各種データ処理プログラムを格納する記憶媒体（記録媒体）のメモリマップを説明する図である。
【図１６】図１６は、従来の描画データのグループ化方法を示す図である。
【符号の説明】
【０１７６】
１    中央処理装置
２    主記憶装置
３    補助記憶装置
１    入力装置
５    出力装置
６    媒体読取装置
７    印刷装置（プリンタ）
８    ＲＯＭ
９    ＯＳ
１０    アプリケーションプログラム
１１    プリンタドライバ
１２    ユーザインタフェース部
１３    印刷データ制御部
１４    データ抽出部
１５    データ外接領域保存部
１６    特定データ判断部
１７    データ結合部
１８    印刷データ生成部
１９    印刷コマンド制御部
２０    データ送受信部
【図１】
0004724517.tif 000002
【図２】
0004724517.tif 000003
【図３】
0004724517.tif 000004
【図４】
0004724517.tif 000005
【図５】
0004724517.tif 000006
【図６】
0004724517.tif 000007
【図７】
0004724517.tif 000008
【図８】
0004724517.tif 000009
【図９】
0004724517.tif 000010
【図１０】
0004724517.tif 000011
【図１１】
0004724517.tif 000012
【図１２】
0004724517.tif 000013
【図１３】
0004724517.tif 000014
【図１４】
0004724517.tif 000015
【図１５】
0004724517.tif 000016
【図１６】
0004724517.tif 000017