(57)【要約】    【課題】  描画データから画像データを作成する際に要する処理時間の短縮を図る。    【解決手段】  ブロック分割部１が、描画データによって平面上に描画されるべき描画オブジェクトを該平面上で包含するオブジェクト包含領域（概形）を生成し、このオブジェクト包含領域と、前記描画データが前記平面上で表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける。そして、各ブロックに対応付けられた描画オブジェクトに係わる描画命令をブロックごとに複数の画像処理部２ａ，２ｂに分配し、複数の画像処理部２ａ，２ｂではそれぞれ、ブロックごとの描画命令を受け取り、該描画命令に従って画像データを作成する。【選択図】      図１
2006221567.tif 000002
【特許請求の範囲】
【請求項１】
描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成する領域生成手段と、
前記領域生成手段によって生成されたオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける対応付手段と、
前記対応付手段によって各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する複数の画像作成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記領域生成手段によって生成されるオブジェクト包含領域は、多角形の領域であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記領域生成手段は、前記描画オブジェクトを表す２次元の座標値のうちの最大値及び最小値に基づき得られる矩形の領域を前記オブジェクト包含領域として生成することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成する領域生成ステップと、
前記領域生成ステップにおいて生成されたオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける対応付ステップと、
前記対応付ステップにおいて各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する画像作成ステップと
を有することを特徴とする画像処理方法。
【請求項５】
前記領域生成ステップにおいて生成されるオブジェクト包含領域は、前記多角形の領域であることを特徴とする請求項４記載の画像処理方法。
【請求項６】
前記領域生成ステップでは、前記描画オブジェクトを表す２次元の座標値のうちの最大値及び最小値に基づき得られる矩形の領域を前記オブジェクト包含領域として生成することを特徴とする請求項４または請求項５記載の画像処理方法。
【請求項７】
描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成する領域生成ステップと、
前記領域生成ステップにおいて生成されたオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける対応付ステップと、
前記対応付ステップにおいて各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する画像作成ステップと
を有することを特徴とする、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関し、特に、ページ記述言語（ＰＤＬ）で記述された描画データを解釈し、画像データを生成する画像処理装置、該画像処理装置に適用される画像処理方法、及び該画像処理方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
画像形成装置に対し、ＰｏｓｔＳｃｒｉｐｔ（登録商標）やＰＤＦ等のページ記述言語（ＰＤＬ）で記述された描画データが入力されると、その描画データが画像形成装置において解釈されて各ページの画像データが生成される。入力された描画データは、複数種類のオブジェクト（描画オブジェクト）の集合で構成され、そのオブジェクトとしては図形、テキスト、その他の画像がある。生成される画像データは、１ページのラスタ画像や、圧縮形式の画像等である。画像形成装置で生成された画像データは、必要に応じてページ合成や回転等の画像処理が行われた後、プリンタエンジンに送出されて印刷される。
【０００３】
画像形成装置における描画データの解釈では、その内容の複雑さにもよるが、一般に多くの演算が必要である。
【０００４】
印刷処理を早めるためには、画像生成までの時間をできる限り削減する必要がある。
【０００５】
画像生成にかかる時間を削減するためには、複数の画像生成過程を並列に同時に行う並列化方法が有効であり、複数ページの画像データをページごとに並列に処理する方法や、画像形成装置が出力したラスタ画像をタイル状に分割して並列に処理する方法がある。しかし、これらの方法だけでは、処理負荷の重い画像形成処理を高速化することはできない。
【０００６】
このため、画像形成処理の高速化手法として画像形成処理の各過程を並列化する手法が考えられている。例えば特許文献１には、線または短冊状に描画対象を水平方向に分割し、分割された描画対象に対して並列処理を行う装置が開示されている。また、特許文献２には、描画対象となる二次元領域を複数のブロックに分割する画像処理装置が開示されている。
【０００７】
この他に、特許文献３に示されるように、画像形成処理の各過程をパイプライン化する方法もある。  
【特許文献１】特開平９−１６７２４２号公報
【特許文献２】特開平４−１７０６８６号公報
【特許文献３】特開２０００−１４９０３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、描画対象を線、短冊状に水平方向に分割する上記従来の画像形成装置では、水平方向に分割された描画対象を垂直方向に複数に分割して画像形成処理を並列に行うことはできず、特に横に長い画像をプリントする場合に処理に時間がかかるという問題があった。
【０００９】
また、並列化のためにページ画像をタイル化して処理する場合、横方向に長い分割ではタイル化前に全てのラインが揃うのを待たなければならないという問題があった。
【００１０】
なお、タイル化による並列化に適した方法として、描画データをブロックに分割する方法が考えられる。しかし、従来の画像形成装置では、各ブロックにおけるＰＤＬデータに含まれる描画オブジェクトを正確に判定するため、ページ内に含まれる全ての描画オブジェクトと各ブロックの境界との交点計算を精密に行う必要があった。この交点計算はオブジェクトの描画順を保存するために逐次処理となるので、ブロック分割の計算量が多く、時間がかかるという問題があった。
【００１１】
本発明はこのような問題点に鑑みてなされたものであって、描画データから画像データを作成する際に要する処理時間の短縮を図った画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載の発明によれば、描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成する領域生成手段と、前記領域生成手段によって生成されたオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける対応付手段と、前記対応付手段によって各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する複数の画像作成手段とを有することを特徴とする画像処理装置が提供される。
【００１３】
また、請求項４記載の発明によれば、描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成する領域生成ステップと、前記領域生成ステップにおいて生成されたオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける対応付ステップと、前記対応付ステップにおいて各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する画像作成ステップとを有することを特徴とする画像処理方法が提供される。
【００１４】
さらに、上記画像処理方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、描画データによって描画されるべき描画オブジェクトを包含するオブジェクト包含領域を生成し、このオブジェクト包含領域と、前記描画データが表わす画像の１ページ分を格子状に分割して得られた各ブロックとの位置関係の重複により、各ブロックに前記描画オブジェクトを対応付ける。そして、複数の画像作成手段では、各ブロックに対応付けられた描画オブジェクトに係わる描画命令に従ってブロックごとに画像データを作成する。
【００１６】
これにより、描画データから画像データを作成する際に要する処理時間が短縮される。
【００１７】
すなわち、横長の画像において、横方向の画像を縦方向に複数に分割して並列処理を行うことが可能となり、処理時間の短縮が可能となる。
【００１８】
また、従来の画像形成装置に比べ、描画オブジェクトとブロックとの交点を求める計算に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００２０】
図１は、本発明の一実施の形態に係る画像処理装置の構成を示すブロック図である。
【００２１】
この画像処理装置には、例えばＰｏｓｔＳｃｒｉｐｔやＰＤＦ（Portable Document Format）等のページ記述言語（ＰＤＬ）で記述された描画データ（ＰＤＬデータ）が入力される。この画像処理装置は、入力された描画データに基づき、各ページの画像データを生成する。この画像処理装置は、図示していないソフトウェアによって任意の中間言語形式に変換されたＰＤＬデータを処理する。ここで、中間言語形式に変換されたＰＤＬデータの集合をジョブ、中間言語形式に含まれる操作指示命令を描画コマンド（描画命令）と定義する。例えば、このジョブでは、オリジナルのＰＤＬデータに含まれる描画オブジェクトが、副走査線方向（Ｙ座標方向）の昇順にソートされて記述されており、ジョブは、その他に各描画オブジェクトの辺情報を格納する辺テーブル、各辺と対応づけられたレベル情報と他のレベルの同一座標の画素との関係（演算）を格納するレベルテーブル、および描画オブジェクト内部の色を決定するための情報であるフィルテーブルを含む。
【００２２】
図１に示す本実施の形態の画像処理装置は、入力処理部としてのブロック分割部１と、２つの画像処理部（描画部）２ａ，２ｂと、描画オブジェクト情報やページ画像データ等が書き込まれるメモリ３と、ＣＰＵ４と、バスアクセス調停部５と、システムバス６とによって構成される。画像処理部２ａは、後述する符号７０２ａ〜符号７０７ａで示す各モジュールを備え、画像処理部２ｂは、後述する符号７０２ｂ〜符号７０７ｂで示す各モジュールを備える。なお、符号７０２ａ〜符号７０７ａ、符号７０２ｂ〜符号７０７ｂで示す各モジュールはパイプライン的な動作（後述）を行い、以下、パイプラインモジュールと呼ぶこともある。
【００２３】
描画コマンド生成部７０２ａ、ｂは、システムバス６にアクセスしてジョブを読み込み、後述のパイプラインモジュール７０３ａ〜７０６ａ、７０３ｂ〜７０６ｂに対して描画コマンドを発行する。
【００２４】
エッジ処理部７０３ａ、ｂは、描画コマンド生成部７０２ａ、ｂによって発行された描画コマンドに従ってジョブに含まれる辺レコードを読み取り、走査線単位で描画オブジェクトの辺情報を抽出し、該辺情報を走査線方向（Ｘ座標方向）の昇順にソートした後、レベル優先度判定部７０４ａ、ｂに辺情報をメッセージとして転送する。
【００２５】
レベル優先度判定部７０４ａ、ｂは、描画コマンド生成部７０２ａ、ｂによって発行された描画コマンドに従い、ジョブに含まれるレベルテーブルと、エッジ処理部７０３ａ、ｂから転送された辺情報とを読み取る。続いて、走査線毎に各レベルの優先度と、活性化された（描画に影響する）画素範囲とを決定し、各走査線の該活性化された画素範囲の情報を優先度順にソートして他のレベルの画素との関係情報とともに画素範囲情報とし、色生成部７０５ａ、ｂに該画素範囲情報を転送する。
【００２６】
色生成部７０５ａ、ｂは、描画コマンド生成部７０２ａ、ｂによって発行された描画コマンドに従い、ジョブに含まれるフィルテーブルと、レベル優先度判定部７０４ａ、ｂから転送された画素範囲情報とを読み取る。続いて、レベル毎に活性化された画素の色を決定し、該活性化された画素の色情報を、レベル優先度判定部７０４ａ、ｂから転送されてきた画素範囲情報とともに色合成部７０６ａ、ｂに転送する。
【００２７】
色合成部７０６ａ、ｂは、描画コマンド生成部７０２ａ、ｂによって発行された描画コマンドに従い、レベル優先度判定部７０４ａ、ｂによって生成された各レベルの画素範囲情報と、色生成部７０５ａ、ｂによって決定された画素の色情報とを基にして、画素単位に色を決定する演算を実行し、画素の最終的な色を生成する。
【００２８】
ピクセル展開部７０７ａ、ｂは、色合成部７０６ａ、ｂによって生成された画素の最終的な色のうち、ランレングス形式で表現された画素情報をピクセルに展開し、接続された外部機器に送出する。
【００２９】
なお、ブロック分割部１および画像処理部２ａ，２ｂの各内部モジュール（描画コマンド生成部７０２ａ，７０２ｂ、エッジ処理部７０３ａ，７０３ｂ、レベル優先度判定部７０４ａ，７０４ｂ、色生成部７０５ａ，７０５ｂ、色合成部７０６ａ，７０６ｂ、ピクセル展開部７０７ａ，７０７ｂ）は、それぞれ別のプロセッサまたは専用ハードウェアモジュールとして構成するのが望ましい。ただし、これらの中の複数要素、例えば、エッジ処理部７０３ａ，７０３ｂとレベル優先度判定部７０４ａ，７０４ｂや、画像処理部２ａ，２ｂ全体をソフトウェアや再構成可能なアーキテクチャによる並列実行や並行実行の形式で構成するようにしてもよい。
【００３０】
また図１に示す構成ではブロック分割部１が１つだけ存在するが、これに代わって、複数のブロック分割部を設けて、並列動作させるようにしてもよい。この場合、複数ページの各々を異なるブロック分割部に割り当てても、１ページ分のＰＤＬデータを構成する複数部分の各々を異なるブロック分割部に割り当ててもよい。１ページ分のＰＤＬデータの分割に関しては、例えば図２に例示するような１ページ分のＰＤＬデータにおいて、符号２０６で示す描画命令と符号２０７で示す描画命令との間のような描画オブジェクトの切れ目でＰＤＬデータを区切り、分割された各ＰＤＬデータを複数のブロック分割部にそれぞれ割り当てるようにする。そして、全てのブロック分割部でブロック分割が終了してから、ＰＤＬデータを割り当てた順で、描画オブジェクト情報を関連付けられたブロックの描画コマンドを生成していくことにより、オブジェクトの描画順序を保持することができる。
【００３１】
図１に戻って、ブロック分割部１は、ＰＤＬデータ（描画データ）を受け取り、そのＰＤＬデータをＰＤＬの規約に沿って解釈する。ここで、本実施の形態のブロック分割部１は、非描画命令を実行する機能と、描画オブジェクト毎に描画命令（コマンド群）を切り出す機能と、描画オブジェクトそのものの情報および描画オブジェクトとブロックとの対応情報をメモリ３に格納する機能を有する。ここでブロックとは、１ページ内を格子状に分割して得られる各領域であり、画像処理装置内で予め定義されている値とする。ブロック分割部１は、ＰＤＬデータ内のオブジェクト描画以外の命令を処理する機能と、描画オブジェクト毎の描画命令を抽出し、描画オブジェクトが含まれる可能性のある領域情報を求め、画像処理装置内で定義されるブロックの各領域に描画オブジェクト情報を関連づける機能とを有する。
【００３２】
ブロック分割部１は、ＰＤＬデータで指示されるオブジェクト描画以外の状態の設定や復旧、変数の管理、変数間の演算、分岐や繰り返し、手続き呼び出し等の処理を行う。なお、描画データの入力は、ブロック分割部１に直接行ってもよいし、予め生成されたジョブを呼び出して使用してもよい。ブロック分割部１は、複数のＰＤＬデータを解釈できるようにしてもよい。
【００３３】
一般に、ブロック分割部１に入力される描画データ（ＰＤＬデータ）は、直線や曲線によって囲まれた閉領域の塗り潰し、直線や曲線そのもの、文字などの描画オブジェクトの描画操作に相当する。ブロック分割部１は、このような描画オブジェクトが存在する領域は、描画データに含まれる描画命令から抽出された座標情報によって定義される。処理時間を短縮するため、円や曲線等、交点座標とブロック境界との交点演算が複雑になるものに対しては、描画データから抽出した座標情報から描画オブジェクトの存在する可能性のある領域（以下「概形」という）を求め、各ブロックが描画オブジェクトの概形を含むか否かによって、ブロックに関連づける描画オブジェクトを選択する。例えば、三角形の描画オブジェクトは、その頂点座標のうちＸ，Ｙ値がそれぞれ最大および最小となる座標によって囲まれた矩形領域内に必ず存在する。また、ベジエ曲線では、４点の制御点の座標が得られれば、ベジエ曲線の存在する領域は制御点に囲まれた領域内に限定できる。
【００３４】
以上のように、描画オブジェクト全体が含まれる領域を概形として用いる。なお概形は、描画オブジェクトがはみ出ない形という条件で、他の方法によって決定してもよい。以下、本実施の形態では、概形は描画オブジェクト全体を含む矩形と定義し、ブロック分割部１の動作を説明する。概形を矩形に限定した場合、単純な解釈で描画オブジェクトの概形を含むブロックを判定可能である。
【００３５】
このようにして生成された各ブロックにそれぞれ関連付けられた描画オブジェクト情報を、ＣＰＵ４で画像処理部２ａ，２ｂの要求する中間言語形式に変換することにより、画像形成を行うことができる。なお、図１に示す画像処理装置ではＣＰＵ４が１つだけ設けられているが、複数のＣＰＵを設けるようにしてもよい。また、中間言語作成のための機能をブロック分割部１に持たせてもよい。
【００３６】
描画コマンド生成部７０２ａ，７０２ｂでは、渡された各ブロックの描画オブジェクト情報を用いて、画像処理部２ａ，２ｂが処理する描画コマンド（中間言語形式）を生成する。描画コマンドは、描画オブジェクトの形状、描画オブジェクトの色情報や描画形式、またはそれらに対するポインタ等を持つ。
【００３７】
画像処理部２ａ，２ｂは、ブロック分割部１から出力される描画コマンドを受信し、その描画コマンドに従ってページ画像を生成する。画像処理部２ａ，２ｂで生成された画像データはメモリ３に格納される。この他、画像データをそのまま後段の画像処理装置や出力装置、表示装置等に転送してもよい。
【００３８】
図２は、図１に示す画像処理装置のブロック分割部１に入力されるＰｏｓｔＳｃｉｒｐｔ言語で記述された描画データの一例を示す図である。また、図３は、図２に示す描画データに従って描画される画像を示す図である。
【００３９】
図２の符号２０１、符号２０２、符号２０３は、各描画オブジェクトの描画命令を示し、これらの描画命令によって図３の円オブジェクト３０２、三角形オブジェクト３０４、曲線オブジェクト３０６がそれぞれ描画される。
【００４０】
図４、図５、図６に、ブロック分割部１が生成する描画オブジェクト情報の一例を示す。図４は、円オブジェクト３０２、三角形オブジェクト３０４、曲線オブジェクト３０６の各概形を示すテーブルであり、図５は、各描画オブジェクトの情報を格納する描画オブジェクトテーブルであり、図６は、各ブロックと各描画オブジェクトとの対応関係を示す対応テーブルである。
【００４１】
ブロック分割部１は、描画オブジェクトテーブル（図５）と対応テーブル（図６）を作成し、ＣＰＵ４に作成終了を通知する。ＣＰＵ４は、これらの２つのテーブルを参照し、各ブロックに含まれる描画オブジェクト情報を中間言語形式に変換して画像処理部２ａ，２ｂに分配する。
【００４２】
以下、図２に例示するＰＤＬデータを参照して、ブロック分割部１の動作を説明する。
【００４３】
図２に示す記述部分２０４は、これから描画しようとしている図形の形状を定義している。ここでは、中心の座標が（１６０、３４０）で半径７０の円オブジェクト３０２が定義されている。ブロック分割部１は、円オブジェクト３０２を描画オブジェクトテーブル（図５）に記録する。すなわち、円オブジェクト３０２は、インデックス（ｉｄｘ）０を付与されて描画オブジェクトテーブルのエントリ５０１に記録されるとともに、エントリ５０１に、円オブジェクト３０２の描画命令２０１へのポインタが記録される。なおここでは、描画オブジェクトテーブルに記録される描画オブジェクト情報は、ＰＤＬデータへのポインタであるが、描画オブジェクトの描画データを実際にコピーしてもよいし、描画データを適当な形式に変更したデータを記録してもよい。
【００４４】
ブロック分割部１は、記述部分２０４の解釈終了後、円オブジェクト３０２の中心座標（１６０、３４０）と半径７０とから、記述部分２０４が表わす円オブジェクト３０２が取りうるＸ座標およびＹ座標の範囲を算出する。これは、図３に示す矩形３０１の領域（概形）に相当する。この円オブジェクト３０２のＸ座標の最小値は、（Ｘ，Ｙ）＝（１６０−７０、３４０−７０）＝（９０、２７０）であり、同様に最大値は（Ｘ，Ｙ）＝（１６０＋７０、３４０＋７０）＝（２３０、４１０）であり、これらの値が、円オブジェクト３０２の概形を表わす値として、図４に示すテーブルのエントリ４００に記録される。また、このエントリ４００には、円オブジェクト３０２のインデックス（ｉｄｘ）０に対応する値０がポインタ（ｐｔｒ）４０３に記録される。
【００４５】
矩形３０１が求まると、図３に示す描画領域３００内の全ブロックのうち、矩形３０１を含むブロック（ブロック３０７、３０８、３０９、３１０、３１１、３１２、３１３、３１４、３１５）を座標計算によって求める。これらのブロックは、円オブジェクト３０２を含む可能性があると判定される。
【００４６】
図６の対応テーブルは、描画領域３００内の各ブロックと、該各ブロック内に存在する可能性がある描画オブジェクトとの関係を示す。この対応テーブルに示すブロック番号（Ｂｌｏｃｋ）は、図３に示す描画領域３００内の各ブロックに付与された番号であり、左上から右方向（Ｘ方向）に、さらに下方向（−Ｙ方向）に向かって、０、１、２、３…と付与したものである。
【００４７】
図６において、先に求めた矩形３０１を含む可能性があるブロックとして、ブロック番号０（図３のブロック３０７、図６のエントリ６０１）、１（ブロック３０８、エントリ６０２）、２（ブロック３０９、エントリエントリ６０３）、４（ブロック３１０、エントリ６０５）、５（ブロック３１１、エントリ６０６）、６（ブロック３１２、エントリ６０７）、８（ブロック３１３、エントリ６０９）、９（ブロック３１４、エントリ６１０）、１０（ブロック３１５、エントリ６１１）が挙げられ、それらの各エントリのｉｎｄｅｘ欄に、図４に示す円オブジェクト３０２のエントリ４００のポインタ（ｐｔｒ）４０３に記録された値０がコピーされる。
【００４８】
図２に示す記述部分２０５は、円オブジェクト３０２の描画の際に用いる色の指定であり、ここでは緑（０１０）が指定されている。
【００４９】
記述部分２０６では、円オブジェクト３０２の閉領域内を塗り潰す（ｆｉｌｌ）ことが指令されており、ここでは、記述部分２０５で指定されている緑色で塗り潰す処理が指示されている。
【００５０】
記述部分２０７では、図３に示す三角形オブジェクト３０４の形状が定義されている。最初に、ｍｏｖｅｔｏ命令によってペン座標を（Ｘ，Ｙ）＝（１８０、２８０）に移動させる。ここから、ｌｉｎｅｔｏ命令によって座標（１２０、  ７０）、（３１５、１７０）、（１８０、２８０）に順に直線を引き、三角形を描く。
【００５１】
記述部分２０７では、記述部分２０４と同様に、ブロック分割部１は、三角形オブジェクト３０４を描画オブジェクトテーブル（図５）に記録する。すなわち、三角形オブジェクト３０４は、インデックス（ｉｄｘ）１を付与されて描画オブジェクトテーブルのエントリ５０２に記録されるとともに、エントリ５０２に、三角形オブジェクト３０４の描画命令２０２へのポインタが記録される。
【００５２】
記述部分２０７が表わす三角図形は、直線から構成される図形であるので、ブロック分割部１は、記述部分２０７の解釈終了まで、三角形オブジェクト３０４の各頂点の最大値および最小値を単純に更新しつづけることで、三角形オブジェクト３０４を包含する領域（概形）を特定する。このようにして求まった概形が、図３に示す矩形３０３である。ここでは、３つの頂点の座標から、Ｘ座標およびＹ座標の最小値は（Ｘ，Ｙ）＝（１２０、７０）、最大値は（Ｘ，Ｙ）＝（３１５、２８０）であることが分かる。ブロック分割部１は、これらの値が、三角形オブジェクト３０４の概形を表わす値として、図４に示すテーブルのエントリ４０１に記録する。また、このエントリ４０１には、三角形オブジェクト３０４のインデックス（ｉｄｘ）１に対応する値１がポインタ（ｐｔｒ）４０４に記録される。
【００５３】
三角形オブジェクト３０４の概形が求まると、図６に示す対応テーブルが更新される。図３に示す矩形３０３は、図６に示すブロック番号９（エントリ６１０）、１０（エントリ６１１）、１１（エントリ６１２）、１３（エントリ６１４）、１４（エントリ６１５）、１５（エントリ６１６）、１７（エントリ６１８）、１８（エントリ６１９）、１９（エントリ６２０）にそれぞれ対応するブロックに含まれるため、図６に示す対応テーブルのこれらのエントリのｉｎｄｅｘ欄に、図４に示す三角形オブジェクト３０４のエントリ４０１のポインタ（ｐｔｒ）４０４に記録された値１がコピーされる。
【００５４】
図２に示す記述部分２０８は、三角形オブジェクト３０４の色を定義する。ここでは、赤色（１００）が指定されている。
【００５５】
記述部分２０９では、三角形オブジェクト３０４の閉領域内を塗り潰す（ｆｉｌｌ）ことが指令されており、ここでは、記述部分２０８で指定されている赤色で塗り潰す処理が指示されている。
【００５６】
記述部分２１０は、図３に示すベジエ曲線３０６の描画を指示している。ここでは最初に、ペンの座標を（３０、２０）に移動させ、現在のペン座標と、座標（８５、１２０）、（１６０、６０）、（１４０、２０）との４点で囲まれるベジエ曲線を描く。
【００５７】
記述部分２１０では、記述部分２０４，２０７と同様に、ブロック分割部１が、ベジエ曲線３０６を描画オブジェクトテーブル（図５）に記録する。すなわち、ベジエ曲線３０６は、インデックス（ｉｄｘ）２を付与されて描画オブジェクトテーブルのエントリ５０３に記録されるとともに、エントリ５０３に、ベジエ曲線３０６の描画命令２０３へのポインタが記録される。
【００５８】
記述部分２１０が表わすベジエ曲線３０６では、三角形オブジェクト３０４と同様に、各制御点のＸ座標およびＹ座標の最小値および最大値から、ベジエ曲線３０６を包含する矩形３０５の領域（概形）を判定可能である。すなわち、ベジエ曲線３０６を含む概形は、（Ｘ，Ｙ）＝（３０、１６０）、（２０、１２０）の矩形３０５であり、ブロック分割部１は、これらの値を、ベジエ曲線３０６の概形を表わす値として、図４に示すテーブルのエントリ４０２に記録する。また、このエントリ４０２には、ベジエ曲線３０６のインデックス（ｉｄｘ）２に対応する値２がポインタ（ｐｔｒ）４０５に記録される。
【００５９】
図２に示す記述部分２１１は、描画命令２０１，２０２，２０３で指令した処理によって作成された画像を１ページ分として出力することを指示する命令である。この命令によって、描画ブロック分割部１は１ページ分の描画終了を検知する。
【００６０】
描画が終了すると、ブロック分割部１は、ＣＰＵ４に対してページ終了を通知する。また、作成した描画オブジェクトテーブルおよび対応テーブルをＣＰＵ４に渡す。
【００６１】
ここでは描画オブジェクトの概形（包含領域）を求めることができる場合について述べたが、描画オブジェクトの形状が複雑であって、適切な概形を求めることが困難である場合や、描画オブジェクトの塗り潰し規則が複雑であって、やはり適切な概形を求めることが困難である場合には、概形を用いて描画オブジェクトのブロック分割を行うことが困難となるが、その場合には、描画オブジェクトを含む可能性のある全てのブロックに対して描画オブジェクト情報を無条件で対応付けることにより、複雑な描画オブジェクトの領域判定を省くことも可能である。
【００６２】
以上のように、ＰｏｓｔＳｃｒｉｐｔ言語による図形記述は、描画すべき図形についての定義、色の指定などの描画処理におけるオプションの指示、描画の種類の指定、描画処理の実行指示からなっている。この実行指示をブロック分割部１が解釈し、対応テーブルと描画オブジェクトテーブルとを作成した時点で、各ブロック間の依存関係を解消できる。この時点では、例えば図３に示すブロック３０７のように、実際には描画されない円オブジェクト３０２の描画オブジェクト情報をもつ場合がある。このような余分な描画オブジェクト情報は、画像処理部２ａ，２ｂのエッジ処理部７０３ａ，７０３ｂにおいて、描画オブジェクトとスキャンライン、ブロック境界の正確な交点を求める時点で除外される。また、各ブロックは、描画オブジェクトがブロック内に存在する場合、必ず描画オブジェクト情報をもつため、ブロック全体に描画オブジェクトが覆い被さっているような場合でも正しく描画を行うことができる。
【００６３】
以上のようにして生成されたブロックごとの描画オブジェクト情報を、ＣＰＵ４が画像処理部２ａ，２ｂに渡す。これにより、画像処理部２ａ，２ｂは、ブロックごとに独立してページ情報を生成可能である。
【００６４】
上記の実施の形態では、横長の画像において、横方向の画像を縦方向に複数に分割して並列処理を行うことが可能となる。これにより、処理時間の短縮が可能となる。
【００６５】
また、上記の実施の形態では、画像処理装置外で画像のタイル分割処理が行われる場合に、画像処理装置で、タイル状に分割された画像に識別符号（ＩＤ）を付与することで、画像処理装置が１ページ全ての画像を出力するまで待たずに処理が開始できる。これにより、画像処理装置全体での処理時間を短縮できる。
【００６６】
また、上記の実施の形態では、従来の画像形成装置に比べ、描画オブジェクトとブロックとの交点を求める計算に要する時間を短縮することができる。
【００６７】
また、上記の実施の形態では、ブロック分割に、描画オブジェクトを包含する領域（概形）を用いることにより、描画オブジェクトがブロック全体を覆い隠す場合でも正しく描画ができる。
【００６８】
また、上記の実施の形態では、描画オブジェクトの包含領域（概形）とブロックとの包含関係を、簡単な演算で判定できる。このため、描画オブジェクトの存在判定にかかる時間が短縮され、ＰＤＬデータの解釈と同時に、ブロックに描画オブジェクトを割り当てることが容易になる。
【００６９】
また、上記の実施の形態では、各画像処理部２ａ，２ｂが行うべき描画の範囲が小さくなる。これにより、ブロックに関係しない描画オブジェクトのレイヤ情報を取り扱う必要がなくなり、レンダリング時のメモリの削減も期待できる。
【００７０】
〔他の実施の形態〕
また、本発明の目的は、上記の実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００７１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７２】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００７３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００７４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図１に示す画像処理装置のブロック分割部に入力されるＰｏｓｔＳｃｉｒｐｔ言語で記述された描画データの一例を示す図である。
【図３】図２に示す描画データに従って描画される画像を示す図である。
【図４】円オブジェクト、三角形オブジェクト、曲線オブジェクトの各概形を示すテーブルである。
【図５】各描画オブジェクトの情報を格納する描画オブジェクトテーブルである。
【図６】各ブロックと各描画オブジェクトとの対応関係を示す対応テーブルである。
【符号の説明】
【００７６】
１  ブロック分割部（領域生成手段、対応付手段）
２ａ，２ｂ  画像処理部（画像作成手段）
３  メモリ
４  ＣＰＵ
５  バスアクセス調停部
６  システムバス
２０１−２０３  描画命令
２０４−２１１  記述部分
３００  描画領域
３０１、３０３、３０５  矩形（概形、オブジェクト包含領域）
３０２  円オブジェクト（描画オブジェクト）
３０４  三角形オブジェクト（描画オブジェクト）
３０６  曲線オブジェクト（描画オブジェクト）
３０７−３１５  ブロック
【図１】
2006221567.tif 000003
【図２】
2006221567.tif 000004
【図３】
2006221567.tif 000005
【図４】
2006221567.tif 000006
【図５】
2006221567.tif 000007
【図６】
2006221567.tif 000008