"オブジェクトの形状を示す開始エッジと終了エッジとが交差せず、開始エッジのエッジ方向と終了エッジのエッジ方向とがそれぞれ一律に揃っている中間データに対して、前記中間データから読み込んだエッジのエッジ方向から開始エッジか終了エッジかを判定する判定手段と、前記判定手段にて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定手段と、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定手段と、を有する画像形成装置。前記判定手段は、前記中間データから読み込んだエッジのエッジ方向が、上向きの場合は、前記エッジを開始エッジと判定し、前記中間データから読み込んだエッジのエッジ方向が、下向きの場合は、前記エッジを終了エッジと判定する請求項1に記載の画像形成装置。オブジェクトの形状を示す開始エッジと終了エッジとが交差しない中間データに対して、前記中間データから読み込んだエッジのエッジ方向と、前記エッジの元となる座標点列の回転方向が時計回りか反時計回りかのどちらになるかと、に基づいて開始エッジか終了エッジかを判定する判定手段と、前記判定手段にて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定手段と、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定手段と、を有する画像形成装置。前記判定手段は、前記中間データから読み込んだエッジのエッジ方向が、上向きで、かつ、前記エッジの元となる座標点列の回転方向が時計回り、或いは、前記中間データから読み込んだエッジのエッジ方向が、下向きで、かつ、前記エッジの元となる座標点列の回転方向が反時計回りの場合は、前記エッジを開始エッジと判定し、前記中間データから読み込んだエッジのエッジ方向が、上向きで、かつ、前記エッジの元となる座標点列の回転方向が反時計回り、或いは、前記中間データから読み込んだエッジのエッジ方向が、下向きで、かつ、前記エッジの元となる座標点列の回転方向が時計回りの場合は、前記エッジを終了エッジと判定する請求項3に記載の画像形成装置。画像形成装置が実行する情報処理方法であって、オブジェクトの形状を示す開始エッジと終了エッジとが交差せず、開始エッジのエッジ方向と終了エッジのエッジ方向とがそれぞれ一律に揃っている中間データに対して、前記中間データから読み込んだエッジのエッジ方向から開始エッジか終了エッジかを判定する判定ステップと、前記判定ステップにて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定ステップと、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定ステップと、を含む情報処理方法。画像形成装置が実行する情報処理方法であって、オブジェクトの形状を示す開始エッジと終了エッジとが交差しない中間データに対して、前記中間データから読み込んだエッジのエッジ方向と、前記エッジの元となる座標点列の回転方向が時計回りか反時計回りかのどちらになるかと、に基づいて開始エッジか終了エッジかを判定する判定ステップと、前記判定ステップにて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定ステップと、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定ステップと、を含む情報処理方法。コンピュータに、オブジェクトの形状を示す開始エッジと終了エッジとが交差せず、開始エッジのエッジ方向と終了エッジのエッジ方向とがそれぞれ一律に揃っている中間データに対して、前記中間データから読み込んだエッジのエッジ方向から開始エッジか終了エッジかを判定する判定ステップと、前記判定ステップにて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定ステップと、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定ステップと、を実行させるためのプログラム。コンピュータに、オブジェクトの形状を示す開始エッジと終了エッジとが交差しない中間データに対して、前記中間データから読み込んだエッジのエッジ方向と、前記エッジの元となる座標点列の回転方向が時計回りか反時計回りかのどちらになるかと、に基づいて開始エッジか終了エッジかを判定する判定ステップと、前記判定ステップにて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定ステップと、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定ステップと、を実行させるためのプログラム。従来技術では、PSエッジ1つに対して内部でエッジを1つ多く生成している。そのため、エッジ数の増加、及びエッジ数が増加することによるレベル数の増加、が発生してしまう。これによって、描画処理部におけるエッジ処理及びレベル処理の負荷が増大してしまう。そのため、細かい細線を大量に含むグラフィックアート系のPSデータをプリンタに投入した際に、描画処理部におけるエッジ処理及びレベル処理おける負荷が増大し、画像形成のパフォーマンスの劣化が発生するという問題がある。本発明はこのような問題点に鑑みなされたもので、画像形成のパフォーマンスの劣化を防止することを目的とする。そこで、本発明は、オブジェクトの形状を示す開始エッジと終了エッジとが交差せず、開始エッジのエッジ方向と終了エッジのエッジ方向とがそれぞれ一律に揃っている中間データに対して、前記中間データから読み込んだエッジのエッジ方向から開始エッジか終了エッジかを判定する判定手段と、前記判定手段にて、開始エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める開始座標決定手段と、前記判定にて、終了エッジと判定された場合に、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める終了座標決定手段と、を有する。本発明によれば、画像形成のパフォーマンスの劣化を防止することができる。以下、本発明の実施形態について図面に基づいて説明する。図1は、プリントシステムの構成の一例を示す図である。プリントシステムは、ホストPCPersonalComputer101、LANLocalAreaNetwork102、プリンタ103で構成されている。ユーザーは、ホストPC101からLAN102経由して印刷指示をプリンタ103に通知する。プリンタ103は、プリントコントローラ104とプリントエンジン105とで構成されている。LAN102経由でホストPC101から通知された印刷指示は、プリントコントローラ104に渡される。プリントコントローラ104では、印刷指示に従って画像データを形成し、その画像データをプリントエンジン105に渡す。プリントエンジン105は、画像データを基に紙媒体に印字出力を行なう。図2は、プリントコントローラ104の一例を示す図である。バス201は、コントローラ内部でのデータ伝送を行っている。ネットワークI/FInterFace202は、プリントコントローラ104とネットワークとのインターフェースである。ホストPC101からLAN102経由で送信されたデータは、ネットワークI/F202を経由することでプリントコントローラが受信することができる。エンジンI/F203は、プリントコントローラ104とプリントエンジン105とのインターフェースである。プリントコントローラ104で生成された画像データは、エンジンI/Fを経由してプリントエンジン105に渡される。CPUCentralProcessorUnit204は、ROMデータ展開部208に展開されたROMデータを実行する役割を持っている。描画処理アクセラレータ205は、描画処理を行う役割を担っている。描画処理アクセラレータ205は、描画処理専用のハードウェアである場合と、CPU204とは別の汎用なCPUである場合とがある。描画処理アクセラレータ205が汎用CPUであるROMデータ展開部208に展開された描画処理部216は、描画処理アクセラレータ205によって実行される。また描画処理アクセラレータ205が無い場合、描画処理部216は、CPU204によって実行される。描画処理アクセラレータ205は、画像処理を行う専用ハードウェアである。RAMRandomAccessMemory207は、ROMデータ展開部208、プリントデータ格納部209、中間データ格納部210、描画処理済み画像データ格納部211、画像処理済み画像データ格納部212に領域が分かれている。ROMReadOnlyMemory213は、プリントデータ解釈処理部214、中間データ生成処理部215、描画処理部216が格納されている。ネットワークI/F202を経由して受信したプリントデータは、プリントデータ格納部209に格納される。プリントデータ格納部209に格納されたプリントデータは、プリントデータ解釈処理部214でPDL種が特定され、PDL種毎の解釈方法に基づいて描画命令と解釈される。その描画命令が中間データ生成処理部215に渡される。中間データ生成処理部215は、描画命令に基づき中間データを生成し、中間データ格納部210に中間データを格納する。描画処理部216描画処理アクセラレータ205が専用ハードウェアの場合は、描画処理アクセラレータ205は、中間データ格納部210に格納された中間データに従って画像データの描画を行う。描画された画像データは、描画処理済み画像データ格納部211に格納される。描画処理アクセラレータ205は、描画処理済み画像データ格納部211に格納された画像データに画像処理を施し、画像処理済み画像データ格納部212に画像データを格納する。画像処理済み画像データは、プリントエンジン105によって、エンジンI/F203経由で読み込まれる。プリントエンジン105は、読み込んだ画像データを紙媒体に印字処理を行い、排紙処理を行う。図3は、描画処理部216の一例を示す図である。描画処理部216は、エッジ処理部301、レベル処理部302、フィル処理部303、コンポジット処理部304で構成されている。エッジ処理部301は、中間データ格納部210に格納された中間データを読み込み各Y座標におけるオブジェクトのエッジ輪郭のX座標を計算し、エッジで区切られる区間であるスパンをレベル処理部302へ送信する。レベル処理部302は、エッジ処理部301から受信したスパン同士が紙面に対して正しい順番レベル番号の降順で重なるように整列処理を行なう。レベル処理部302は、整列処理後が済むとスパン単位で最前面に位置するレベル番号をフィル処理部303に送信する。フィル処理部303は、レベル処理部302から受信した各スパンに対してレベルと紐付けされている色情報の割り当てフィル処理を行なう。フィル処理部303にてフィル処理済みのスパンは、コンポジット処理部304に送信される。コンポジット処理部304は、フィル処理部303から受信したスパンを構成する一つ一つのピクセルに対してコンポジット合成処理を行なう。コンポジット処理の具体的な方法としては、ROPRasterOPerator及びαブレンドの2種類がある。ROPとは、重なり合うスパンのピクセル同士の各色値に対して論理演算を行なうことで、出力するピクセルを計算する方法である。αブレンドとは、重なり合うスパンのピクセル同士の色値を中間データから指定された一定の比率αチャネルに従って配合する方法である。コンポジット処理部304にて計算された出力ピクセルは、描画処理済み画像データ格納部211に送信され格納される。なお、描画処理アクセラレータ205が専用ハードウェアであっても、その処理内容は変わらない。図4A~Dは、プリントデータ解釈処理部214にて、プリントデータのPDL種がPSと判別された後に、中間データ生成処理部215がプリントデータ解釈処理部214から受信したオブジェクトの座標点列を基にPSエッジを生成する流れを示している。図4Aは、プリントデータ解釈処理部214がデータ解釈後に、中間データ生成処理以降の負担を軽減するためにオブジェクトをより単純な図形に置き換える情報処理を示す図である。そのためにプリントデータ解釈処理部214は、オブジェクトの座標点をチェックして、交差の無い図形にオブジェクトの分割を行っている。そして、分割された図形が中間データ生成処理部215に渡される。図4Bは、中間データ生成処理部215が受信する座標点列を示す図である。この図では、座標点P_1を最初に受け取り、その後P_2、P_3、P_4、P_5、P_6とオブジェクトの形状を描く順番に従って受け取っている。図4Cは、エッジデータ生成の様子を示す図である。中間データ生成処理部215は、受け取った座標点間の座標の移動量を計算する。そして、中間データ生成処理部215は、座標点のY方向の移動量がマイナス上向きからプラス下向きに切り替わる座標点がY方向の最小値となるためエッジの開始座標と定める。また一方で、中間データ生成処理部215は、Y方向の移動量がプラス下向きからマイナス上向きに切り替わる座標点が最大値となるためエッジの終了座標と定める。本図の例だと、エッジの開始座標がP_2、終了座標がP_5となる。また、中間データ生成処理部215は、開始座標の前後に渡される座標のX方向の大小関係の比較を行い、後座標点のX座標が大きければ時計回り、後座標点のX座標が小さければ反時計回りに座標点が送信されたと判断する。この例であれば、中間データ生成処理部215は、エッジの開始座標P_2の前座標点P_1、後座標点P_3間でX座標の大小関係を比較する。そして、X_1<X_3のため時計回りと判定される。図4Dは、エッジデータの様子を示す図である。中間データに格納されるエッジデータの詳細なデータフォーマットは、後述するが中間データに格納されるエッジデータは、エッジの開始座標及び、終了座標までの座標の移動量及びエッジ種類、エッジの方向、時計回り反時計回りで構成される。図5は、エッジ処理部301が読み込む中間データの一例を示す図である。Instructionには、エッジ処理部301が実行すべき命令が格納されている。エッジ処理部301が読み込む命令には、描画処理と描画終了とがある。描画処理を読み込んだとき、該当するスキャンラインにおけるエッジデータの展開処理が実施される。LineNumは、次に中間データからInstructionを読み込むまでに処理するスキャンライン数が記載されている。EdgeTotalは、該当するスキャンラインで展開すべきエッジデータの合計データサイズが記載されている。エッジデータには、一つひとつのエッジに関する情報が含まれている。EdgeSizeには、エッジデータには一つひとつのデータサイズが記載されている。EdgeIDには、そのエッジの種別ごとに割り振られたIDが格納されている。PSエッジであれば、PSエッジを示すIDが格納されている。X_0には、エッジの開始X座標が記載されている。UpDownには、エッジの向きが上向きか、下向きかの情報が格納されている。Clockwiseには、エッジの元となる座標点列が時計回り、反時計回りどちらの回転方向で中間データ生成処理部215に渡されたかの情報が格納されている。セグメントデータの部分には、エッジのX方向、Y方向の移動量が記載されている。エッジ処理部301は、セグメントデータに記載されている移動量Dx,Dyを基に各スキャンラインにおけるX座標を決定している。セグメントデータの終端には、終端であることを示すEndOfSegmentという情報が格納されている。エッジ処理部301は、EndOfSegmentが読み込むことでエッジの終端を検知する。なお、描画終了命令の説明については、割愛する。図6は、座標点列からエッジデータを生成する情報処理を説明したフローチャートである。S601でプリントデータ解釈処理部214は、プリントデータ格納部209に格納されているプリントデータを読み込む。S602でプリントデータ解釈処理部214は、読み込んだプリントデータの先頭の記述からPDL種を特定する。PDL種がPSか否かはこの時点で特定される。S603でプリントデータ解釈処理部214は、PDL種毎にある解釈方法でプリントデータの解釈を行う。S604でプリントデータ解釈処理部214がプリントデータから取得したオブジェクトの座標点列を中間データ生成処理部215に渡し、中間データ生成処理部215が該座標点列を読み込む。S605で中間データ生成処理部215は、座標点列から座標間の移動量と移動方向がY軸方向の上向き、下向きかの計算を行う。S606で中間データ生成処理部215は、座標点列間のY軸方向の向きからエッジの始点と終点とを決定する。S607で中間データ生成処理部215は、座標点列を読み込んだ順番とエッジの始点に隣接する座標点列のX座標の大小関係からエッジの回転方向を判定する。S608で中間データ生成処理部215は、中間データ格納部210にエッジデータの書き込みを行う。図7は、エッジ処理部301が使うデータ構造を示した図である。エッジ処理部301では、エッジノード同士が双方向のポインタでリンクしたエッジリストとエッジ種毎に異なる区別されたエッジ種別の更新ノードを一方向のポインタでリンクした更新リストとを使用している。エッジノードは、エッジ種別に依存しないエッジのX座標、エッジ方向等を保持している。また、エッジリストは、エッジの位置関係を正しく管理するために、エッジノード同士をX軸方向に昇順に並ぶようにリンクしている。そのため、エッジのX座標が更新されてエッジノードの位置関係が変わった場合は、双方向のポインタを使ってX軸の昇順に並ぶようにソートが実施される。更新ノードは、エッジ種別に依存したX座標の更新に必要な情報を保持している。更新リストは、エッジ種別に更新ノードをリンクすることで、更新ノードをエッジ種別にまとめて管理している。更新ノード同士の順番が描画処理部216から出力される画像に影響しないため、更新リストにおける更新ノードの並び順番を意識する必要は無い。但し説明の便宜上、更新ノードは、中間データから展開された順番に並んでいるものとする。またエッジリストへアクセスするために、エッジリストには、エッジリストの先頭のエッジノードのアドレスを管理したポインタが用意されている。また、更新リストへアクセスするために、エッジ種毎に先頭となる更新ノードのアドレスを管理したポインタエッジ種管理テーブルを用意する。図8は、各スキャンラインのPSエッジのX座標を決定する方法を示した図である。Y=NにおけるPSエッジのX座標は、N<Y≦N1の区間において、開始エッジであれば最小となるX座標値を整数に丸めた値、終了エッジであれば最大となるX座標値を整数に丸めた値となる。この図においてPSエッジは、Y=NにてX=X_0を開始点として、移動量Dx_1,Dy_1に従って、X=X_2まで移動する。以下同様にしてX=X_3まで移動する。X=X_3から移動量Dx_4,Dy_4に従ってX=X_4となる点まで移動する。しかしながら、X=X_4の点は、Y=N1を超えた点に存在している。そのため、エッジ処理部301は、Y=N1におけるPSエッジのX座標値X_eを計算する。そして、エッジ処理部301は、X={X_1,X_2,X_3,X_e}の中から開始エッジであれば最小値であるX_2、終了エッジであれば最大値であるX_1をそれぞれ選ぶ。なお開始エッジとは、オブジェクトの塗り区間の開始を示すエッジである。一方、終了エッジとは、オブジェクトの塗り区間の終了を示すエッジである。<実施形態1>本実施形態では、中間データ生成処理部215がプリントデータ解釈処理部214から座標点列を受け取る時点にてPSエッジのエッジ回転方向が一律時計回りとした場合の例について述べる。図9は、エッジ処理部301の処理概要を示した図である。S901でエッジ処理部301は、PageEndに0を書き込む。S902はループ制御でPageEnd==1となるまで、エッジ処理部301は、S903からS914までの処理を繰り返し行う。S903でエッジ処理部301は、中間データ格納部210に格納された中間データを読み込む。S904でエッジ処理部301は、S903で読み込んだ中間データに記載のInstruction内容が描画終了であればS905へ、一方でInstruction内容が描画であればS906へ進む。S905でエッジ処理部301は、PageEndに1を書き込む。S906でエッジ処理部301は、EdgeSumに0を書き込む。S907はループ制御でEdgeSumが中間データに記載されている該当するスキャンラインにおけるエッジデータの合計サイズEdgeTotal以上になるまでエッジ処理部301は、S908からS909までの処理を繰り返す。S908でエッジ処理部301は、中間データからエッジデータを読み込んでエッジ展開処理を行う。エッジ展開処理の詳細は、後述する図10を用いて説明する。S909でエッジ処理部301は、S908で読み込んだエッジデータのデータサイズEdgeSizeをEdgeSumに加算する。S910でエッジ処理部301は、LineCntに0を書き込む。S911は、ループ制御でLineCntが中間データに記載されている該当するスキャンライン後に新規エッジの展開が必要となるまでスキャンラインのライン数LineNum以上になるまでエッジ処理部301は、S912からS914までの処理を繰り返す。S912でエッジ処理部301は、エッジの更新処理を行う。エッジの更新処理の詳細は、後述する図11を用いて説明する。S913でエッジ処理部301は、スパンの送信処理を行う。パンの送信処理の詳細は、後述する図12を用いて説明する。S914でエッジ処理部301は、LineCntに1を加算する。図10は、エッジの展開処理を示すフローチャートである。S1001でエッジ処理部301は、中間データからエッジデータを読み込む。S1002でエッジ処理部301は、エッジデータのEdgeIDを参照してエッジ種別を判別する。エッジ処理部301は、EdgeIDより、エッジ種別がPSエッジと判別された場合、S1004へ処理を進める、PSエッジ以外と判別した場合は、S1003へ処理を進める。S1003の処理は、その他のエッジ種別の展開処理で本実施形態の内容にあまり関係が無いため割愛する。S1004でエッジ処理部301は、メモリからエッジノード用の領域を確保する。S1006でエッジ処理部301は、メモリからPSエッジの更新ノード用の領域を確保する。S1007でエッジ処理部301は、エッジデータからエッジノードに必要なデータのコピーを行う。より具体的には、エッジ処理部301は、X_0をCurrentX、DirectionをUpDownにコピーする。S1008でエッジ処理部301は、エッジデータから更新ノードに必要なデータのコピーを行う。より具体的には、X_0をReX、セグメントデータの先頭アドレスをSegPtrにコピーする。S1009でエッジ処理部301は、エッジリストにエッジノードを新規に登録する。S1010でエッジ処理部301は、PSエッジの更新リストに更新ノードを登録する。図11は、エッジの更新処理を示すフローチャートである。S1101でエッジ処理部301は、EdgeTypeCntに0を書き込む。S1102は、ループ制御でEdgeTypeCntがエッジ種別の総数EdgeTypeNum以上になるまで、エッジ処理部301は、S1103からS1114までの処理を繰り返す。S1103からエッジ処理部301は、EdgeTypeCntが指す値に対応するEdgeIDをもつエッジ種別の更新リストにアクセスし、エッジ種別にエッジの更新処理を行う。S1103でエッジ処理部301は、EdgeTypeCntがPSエッジのEdgeIDを指していた場合、S1106へ、それ以外の場合、S1004へ処理を進める。S1104の処理は、その他のエッジ種別の更新処理で本実施形態の内容にあまり関係が無いため割愛する。S1105でエッジ処理部301は、EdgeTypeCntに1を加算する。S1106でエッジ処理部301は、PSエッジの更新リストにアクセスする。S1107は、ループ制御でPSエッジの更新リストにリンクされている更新ノードすべてにアクセスするまで、エッジ処理部301は、S1108からS1114までの処理を繰り返す。S1108でエッジ処理部301は、更新ノードのFinishFlagの値が1か否かを判断する。エッジ処理部301は、FinishFlagの値を1と判断した場合、S1109へ、それ以外と判断した場合、S1113へ処理を進める。S1109でエッジ処理部301は、EdgePtrから対応するエッジノードを参照しUpDownを参照する。エッジ処理部301は、UpDownを参照した結果、エッジの向きが上向きと判断した場合は、開始エッジとみなしてS1110、一方で下向きと判断した場合は、終了エッジと見なしてS1111へ処理を進める。S1110でエッジ処理部301は、PSエッジにおける開始エッジのX座標計算の処理を行う。S1110の処理は、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最小値と定める処理開始座標決定処理の一例である。なお、S1110の処理の詳細は、後述する図12を用いて説明する。S1111でエッジ処理部301は、PSエッジにおける終了エッジのX座標計算の処理を行う。S1111の処理は、スキャンライン毎に決定すべきエッジのX座標を該当するスキャンラインにおける最大値と定める処理終了座標決定処理の一例である。なお、S1111の処理の詳細は、後述する図13を用いて説明する。S1112でエッジ処理部301は、S1110或いはS1111で更新したCurrentXに合わせてエッジノードを適切なリンク位置にするためにエッジリストをCurrentXの値をキー値としたソートを行う。S1113でエッジ処理部301は、エッジリストからエッジノード、更新リストから更新ノードを外し、エッジノード及び更新ノードをメモリから解放する。S1114でエッジ処理部301は、NextPtrを参照して次の更新ノードへアクセスする。図12は、開始エッジのX座標を更新する情報処理を示すフローチャートである。S1201でエッジ処理部301は、ReXの値をMinXに書き込む。S1202でエッジ処理部301は、RemainYが1未満か否かを判定する。エッジ処理部301は、S1202で1未満と判定した場合、S1203へ、1以上と判定した場合は、S1216へ処理を進める。S1203でエッジ処理部301は、RemainYの値をOffsetYに書き込む。S1204はループ制御でRemainYが1以上となるか、FinishFlagに1が書き込まれるまでエッジ処理部301は、S1205からS1214までの処理を繰り返す。S1205でエッジ処理部301は、RemainYの値をOffsetYに書き込む。S1206でエッジ処理部301は、DxをReXに加算する。S1207でエッジ処理部301は、SegPtrを進めてセグメントデータを読み込む。S1208でエッジ処理部301は、S1207でEndOfSegmentが読み込まれた場合にS1209へ、そうでない場合、S1210へ処理を進める。S1209でエッジ処理部301は、FinishFlagの値を1に設定する。S1210でエッジ処理部301は、更新ノードのDx,Dyをセグメントデータに格納されている新しいDx,Dyに更新する。S1211でエッジ処理部301は、ReXの値をTmpXに書き込む。S1212でエッジ処理部301は、MinXとTmpXとの大小比較を行い、MinXが大きいと判定した場合、S1213へ、そうではないと判定した場合、S1214へ処理を進める。S1213でエッジ処理部301は、TmpXの値をMinXに書き込む。S1214でエッジ処理部301は、Dyの値をRemainYに加算する。S1215でエッジ処理部301は、ReXにDxの値を加算する。S1216でエッジ処理部301は、FinishFlagの値が1か、否かを判定する。エッジ処理部301が1と判定した場合、S1221へ、1以外と判定した場合、S1217へ処理を進める。S1217でエッジ処理部301は、RemainYの値を1だけ減算する。S1218でエッジ処理部301は、エッジとスキャンラインとの交点とX座標とを計算しTmpXに書き込む。S1219でエッジ処理部301は、MinXとTmpXとの大小比較を行い、MinXが大きいと判定した場合、S1220へ、そうではないと判定した場合にS1221へ処理を進める。S1220でエッジ処理部301は、TmpXの値をMinXに書き込む。S1221でエッジ処理部301は、MinXの値を整数値に丸めてCurrentXに書き込む。整数に丸める方法は、小数点以下の切り上げ、切り下げ及び四捨五入等の方法で行われる。図13は、終了エッジのX座標を更新する情報処理を示すフローチャートである。S1301でエッジ処理部301は、ReXの値をMaxXに書き込む。S1302でエッジ処理部301は、RemainYが1未満か否かを判定する。エッジ処理部301は、S1302で1未満と判定した場合、S1303へ、1以上と判定した場合、S1316へ処理を進める。S1303でエッジ処理部301は、RemainYの値をOffsetYに書き込む。S1304はループ制御でRemainYが1以上となるか、FinishFlagに1が書き込まれるまでエッジ処理部301は、S1305からS1314までの処理を繰り返す。S1305でエッジ処理部301は、RemainYの値をOffsetYに書き込む。S1306でエッジ処理部301は、DxをReXに加算する。S1307でエッジ処理部301は、SegPtrを進めてセグメントデータを読み込む。S1308でエッジ処理部301は、S1307でEndOfSegmentが読み込まれた場合にS1309へ、そうでない場合、S1310へ処理を進める。S1309でエッジ処理部301は、FinishFlagの値を1に設定する。S1310でエッジ処理部301は、更新ノードのDx,Dyをセグメントデータに格納されている新しいDx,Dyに更新する。S1311でエッジ処理部301は、ReXの値をTmpXに書き込む。S1312でエッジ処理部301は、TmpXとMaxXとの大小比較を行う。エッジ処理部301は、大小比較を行った結果MaxXよりTmpXが大きいと判定された場合、S1313へ、そうではない場合、S1314へ処理を進める。S1313でエッジ処理部301は、TmpXの値をMaxXに書き込む。S1314でエッジ処理部301は、Dyの値をRemainYに加算する。S1315でエッジ処理部301は、ReXにDxの値を加算する。S1316でエッジ処理部301は、FinishFlagの値が1か、否かを判定する。エッジ処理部301が1と判定した場合、S1321へ、1以外と判定した場合、S1317へ処理を進める。S1317でエッジ処理部301は、RemainYの値を1だけ減算する。S1318でエッジ処理部301は、エッジとスキャンラインとの交点とX座標とを計算しTmpXに書き込む。S1319でエッジ処理部301は、MaxXとTmpXとの大小比較を行い、MaxXが小さいと判定された場合、S1320、そうではないと判定された場合にS1321へ処理を進める。S1320でエッジ処理部301は、TmpXの値をMaxXに書き込む。S1321でエッジ処理部301は、MinXの値を整数値に丸めてCurrentXに書き込む。整数に丸める方法は、小数点以下の切り上げ、切り下げ及び四捨五入等の方法で行われる。図14は、スパン送信処理を示すフローチャートである。S1401でエッジ処理部301は、レベル処理部302へ該当するスキャンラインのスパンエッジとエッジとに挟まれた区間を送ることを通知するために描画命令を送信する。S1402でエッジ処理部301は、エッジリストへのポインタを基にエッジリストにアクセスする。S1403はループ制御でエッジリストにリンクされているエッジノードすべてにアクセスするまでエッジ処理部301は、S1404からS1405までを繰り返す。S1404でエッジ処理部301は、エッジノードにて現在注目しているエッジノードと次にリンクされているエッジノードのX座標値CurrentXの差スパンを計算する。S1405でエッジ処理部301は、スパンをレベル処理部302へ送信する。<実施形態2>本実施形態では、中間データ生成処理部215がプリントデータ解釈処理部214から座標点列を受け取る時点にてPSエッジのエッジ回転方向が一律時計回りとしない場合の例について述べる。この場合であってもエッジの更新処理以外に差分は無いため、差分であるエッジの更新処理について述べる。図15は、エッジの更新処理を示すフローチャートである。S1501でエッジ処理部301は、EdgeTypeCntに0を書き込む。S1502は、ループ制御でEdgeTypeCntがエッジ種別の総数EdgeTypeNum以上になるまで、エッジ処理部301はS1503からS1514までの処理を繰り返す。S1503からエッジ処理部301は、EdgeTypeCntが指す値に対応するEdgeIDをもつエッジ種別の更新リストにアクセスし、エッジ種別にエッジの更新処理を行う。S1503でエッジ処理部301は、EdgeTypeCntがPSエッジのEdgeIDを指していた場合、S1506へ、それ以外の場合、S1004へ処理を進める。S1504の処理は、その他のエッジ種別の更新処理で本実施形態の内容にあまり関係が無いため割愛する。S1505でエッジ処理部301は、EdgeTypeCntに1を加算する。S1506でエッジ処理部301は、PSエッジの更新リストにアクセスする。S1507は、ループ制御でPSエッジの更新リストにリンクされている更新ノードすべてにアクセスするまで、エッジ処理部301は、S1508からS1514までの処理を繰り返す。S1508でエッジ処理部301は、更新ノードのFinishFlagの値が1か否かを判断する。エッジ処理部301は、FinishFlagの値を1と判断した場合、S1509へ、それ以外と判断した場合、S1513へ処理を進める。S1509でエッジ処理部301は、ClockとEdgePtrから対応するエッジノードを参照しUpDownを参照する。エッジ処理部301は、Clockより、エッジの回転方向が時計回り、かつ、UpDownより上向きと判断した場合或いは、Clockより、エッジの回転方向が反時計回り、かつ、UpDownより下向きと判断した場合に開始エッジとみなしてS1510へ処理を進める。エッジ処理部301は、そうではないと判断した場合は、終了エッジと見なしてS1511へ処理を進める。S1510でエッジ処理部301は、PSエッジにおける開始エッジのX座標計算の処理を行う。S1511でエッジ処理部301は、PSエッジにおける終了エッジのX座標計算の処理を行う。S1512でエッジ処理部301は、S1510或いはS1511で更新したCurrentXに合わせてエッジノードを適切なリンク位置にするためにエッジリストをCurrentXの値をキー値としたソートを行う。S1513でエッジ処理部301は、エッジリストからエッジノード、更新リストから更新ノードを外し、エッジノード及び更新ノードをメモリから解放する。S1514でエッジ処理部301は、NextPtrを参照して次の更新ノードへアクセスする。図16A、16Bは、本実施形態の効果を示す図である。16Aは、従来のPSエッジにおけるデータ構造の一部を示している。また16Bは、上述した各実施形態によるPSエッジのデータ構造の一部を示している。16Aによれば従来技術で、開始エッジ及び終了エッジにて最大、最小X座標値をもつエッジノードが必要となっている。そのため、他のオブジェクトと重なりがない1つのオブジェクトに対してもエッジ数が4必要であった。一方で16Bによれば上述した各実施形態によって開始エッジ及び終了で1つずつエッジノードが必要となる。そのため他のオブジェクトと重なりがない1つのオブジェクトに対してエッジ数を2しか必要としない。そのためPSエッジしか含まないデータであれば、PSエッジの個数が本提案によって半分に削減される。上述した各実施形態によってあるグラフィックアート系のPSデータでは、描画処理部内部で処理すべきエッジ数が1,487,118本から817,402本に削減され、描画処理にかかる時間も75秒から45秒へと1.6倍の速度に改善が行われた。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ又はCPUやMPU等がプログラムを読み出して実行する処理である。以上、上述した各実施形態によれば、画像形成のパフォーマンスの劣化を防止することができる。以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。"