"描画対象とされる図形における頂点間を結ぶ直線とスキャンラインとの交点の座標に基づいてエッジリストを作成するエッジリスト生成部を含み、生成されたエッジリストに従って上記図形の分割描画を行う情報処理装置であって、上記エッジリスト生成部は、上記分割描画のための最大エッジ数が設定される最大エッジ数レジスタと、上記エッジリスト作成のために処理されるエッジの個数と、上記最大エッジ数レジスタに設定されている最大エッジ数とを上記スキャンライン毎に比較し、その比較結果に基づいて、上記図形の分割描画における分割箇所を上記スキャンライン毎に決定する分割描画判定部と、を含むことを特徴とする情報処理装置。上記エッジリスト生成部は、エッジリストオーバーフロー判定レジスタを含み、上記分割描画判定部は、作成中のエッジリストに登録されているエッジ数が、最大エッジ数レジスタに設定されている最大エッジ数に達した状態で、更なるエッジ登録が必要な場合に、オーバーフロー状態と判定して、上記エッジリストオーバーフロー判定レジスタに、オーバーフロー状態を示すフラグをセットする請求項1記載の情報処理装置。上記オーバーフロー状態を示すフラグは、上記エッジリスト又は上記スキャンライン毎に1ビット用意される請求項2記載の情報処理装置。上記エッジリストに登録可能な所定のエッジ数単位で上記分割描画が実行される請求項3記載の情報処理装置。上記オーバーフロー状態を示すフラグが解除されるまで、上記エッジリストの作成と、作成されたエッジリストに従う分割描画が繰返される請求項4記載の情報処理装置。上記エッジリストに登録可能な所定のエッジ数単位で上記分割描画が実行される毎に、描画データを外部画像出力装置に出力するためのビデオディスプレイコントローラを含む請求項5記載の情報処理装置。上記エッジリスト生成部は、座標値の小さい順に上記エッジリストに登録するための並べ替えを行うエッジソーティング部を含む請求項6記載の情報処理装置。上記エッジリスト生成部は、上記エッジソーティング部から出力された座標が、処理再開の座標の初期値以下の場合に、上記エッジリストへの登録のためのデータ書込みをマスクするためのライトマスク部を含む請求項7記載の情報処理装置。上記情報処理装置は、CPUを含み、上記CPUは、上記エッジリストオーバーフロー判定レジスタにセットされたフラグの状態に基づいてエッジリストオーバーフロー状態を判定し、その後のエッジリスト作成の際に、同一入力データの再読込みを指示する請求項8記載の情報処理装置。特許文献1,2にも記載されているように、図形塗潰し処理にはオーダードエッジリスト方式を用いることができる。オーダードエッジリスト方式によれば、先ず図形データの副走査方向の最小値と最大値を求めて有効スキャンラインが初期設定される。次に図形データを参照して、図形の輪郭とスキャンラインの交点の座標を求めて順次エッジリストに登録される。そのときエッジリストがオーバーフローしたか否かが判断され、オーバーフローしなければ全ての交点を登録した後エッジリストを整列化して塗潰しが行われる。一方、オーバーフローした場合には図形が分割され、有効スキャンラインが初期設定の半分の範囲に再設定された後に、再度全ての交点の座標が求められ、再設定された有効スキャンラインの範囲内の交点の座標値のみがエッジリストに登録され、オーバーフローがなければ再設定された有効スキャンラインの範囲のみの分割図形が塗潰される。図形塗潰し処理に必要なメモリの記憶容量を超えるエッジ数を含んだ形状を描画するためには、描画領域を分割して処理を行う手法をとる。描画領域の分割に伴い描画サイズが再設定され、再設定後の描画領域に含まれるエッジがオーバーフローを起こさず、メモリに納まるまで描画領域の分割が繰り返される。しかしながら、描画領域の再設定を行う際、エッジ数が極端に多い場合には、描画領域の再設定とエッジリスト登録を繰り返し行うのみで描画の開始までに大きな時間を費やす可能性がある。また、描画領域の分割を繰り返したとしてもエッジが1ラインに納まり切れない場合には、描画不可能な状態に陥るおそれもある。本発明の目的は、分割描画において、エッジリスト登録時にオーバーフローが発生した場合でもエッジリストに登録されただけの範囲のエッジ情報を使用して描画処理を行うための技術を提供することにある。本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、描画対象とされる図形における頂点間を結ぶ直線とスキャンラインとの交点の座標に基づいてエッジリストを作成するエッジリスト生成部を含んで情報処理装置を構成する。上記エッジリスト生成部は、上記分割描画のための最大エッジ数が設定される最大エッジ数レジスタと、上記エッジリスト作成のために処理されるエッジの個数と、上記最大エッジ数レジスタに設定されている最大エッジ数とを上記スキャンライン毎に比較し、その比較結果に基づいて、上記図形の分割描画における分割箇所を上記スキャンライン毎に決定する分割描画判定部とを含む。本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、分割描画において、エッジリスト登録時にオーバーフローが発生した場合でもエッジリストに登録されただけの範囲のエッジ情報を使用して描画処理を行うことができる。1.実施の形態の概要先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。1本発明の代表的な実施の形態に係る情報処理装置1は、描画対象とされる図形における頂点間を結ぶ直線とスキャンラインとの交点の座標に基づいてエッジリストを作成するエッジリスト生成部163を含み、生成されたエッジリストに従って上記図形の分割描画を行う。上記エッジリスト生成部は、上記分割描画のための最大エッジ数が設定される最大エッジ数レジスタ1640と、上記エッジリスト作成のために処理されるエッジの個数と、上記最大エッジ数レジスタに設定されている最大エッジ数とを上記スキャンライン毎に比較し、その比較結果に基づいて、上記図形の分割描画における分割箇所を上記スキャンライン毎に決定する分割描画判定部1635とを含む。上記の構成によれば、分割描画判定部は、上記エッジリスト作成のために処理されるエッジの個数と、上記最大エッジ数レジスタに設定されている最大エッジ数とを上記スキャンライン毎に比較し、その比較結果に基づいて、上記図形の分割描画における分割箇所を上記スキャンライン毎に決定する。これにより、1つのスキャンラインにおいて全てのエッジについてのリストを1度に揃える必要がなくなるので、様々な形状を描画することが可能であり、しかも、比較的小容量の内蔵RAM21で図形塗潰しを実現することができる。2上記1において、上記エッジリスト生成部163は、エッジリストオーバーフロー判定レジスタ1639を含んで構成することができる。このとき、上記分割描画判定部1635は、作成中のエッジリストに登録されているエッジ数が、最大エッジ数レジスタに設定されている最大エッジ数に達した状態で、更なるエッジ登録が必要な場合に、オーバーフロー状態と判定して、上記エッジリストオーバーフロー判定レジスタ1639に、オーバーフロー状態を示すフラグをセットするように構成することができる。3上記2において、上記オーバーフロー状態を示すフラグは、上記エッジリスト又は上記スキャンライン毎に1ビット用意することができる。4上記3において、上記エッジリストに登録可能な所定のエッジ数単位で上記分割描画を実行することができる。5上記4において、上記オーバーフロー状態を示すフラグが解除されるまで、上記エッジリストの作成と、作成されたエッジリストに従う分割描画が繰返されるように構成することができる。6上記5において、上記エッジリストに登録可能な所定のエッジ数単位で上記分割描画が実行される毎に、描画データを外部画像出力装置に出力するためのビデオディスプレイコントローラ17を設けることができる。7上記6において、上記エッジリスト生成部に、座標値の小さい順に上記エッジリストに登録するための並べ替えを行うエッジソーティング部1633を設けることができる。8上記7において、上記エッジリスト生成部には、上記エッジソーティング部から出力された座標が、処理再開の座標の初期値以下の場合に、上記エッジリストへの登録のためのデータ書込みをマスクするためのライトマスク部1634を設けることができる。9上記8において、上記情報処理装置は、CPU11を含んで構成することができる。この場合において、上記CPUは、上記エッジリストオーバーフロー判定レジスタにセットされたフラグの状態に基づいてエッジリストオーバーフロー状態を判定し、その後のエッジリスト作成の際に、同一入力データの再読込みを指示するように構成することができる。2.実施の形態の詳細実施の形態について更に詳述する。《実施の形態1》図1には、本発明にかかる情報処理装置の一例とされるマイクロコンピュータが示される。図1に示されるマイクロコンピュータ1は、特に制限されないが、速度計やタコメータ等の表示、及び燃費情報などのドライバインフォメーション等の表示を可能にする車載ディスプレイシステムに搭載される。マイクロコンピュータ1は、特に制限されないが、CPU中央処理装置コア11、キャッシュコントローラ13、キャッシュ14、歪み補正エンジン15、ベクタグラフィックプロセッサ16、ビデオディスプレイコントローラ17、SD/MMCインタフェース19、CD-ROMインタフェース20、内蔵RAMランダムアクセスメモリ21、バスステートコントローラ22を含む。マイクロコンピュータ1は、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成することができる。CPUコア11は、予め設定されたプログラムを実行することによって、マイクロコンピュータ全体の動作制御を司る。CPUコア11には、CPUバス12を介してキャッシュコントローラ13及びキャッシュメモリ14が結合される。キャッシュコントローラ14は、使用頻度の高いデータをキャッシュメモリ14に蓄えておくことによりデータアクセスを高速化するために設けられる。歪み補正エンジン15は、トライアングルメッシュと呼ぶレンダリング技術を用いて歪んだ画像を正常な画像に補正するエンジンで、魚眼レンズで撮影した画像を正常な画像へ変換するために設けられる。キャッシュコントローラ13、キャッシュメモリ14、歪み補正エンジン15、ベクタグラフィックプロセッサ16、ビデオディスプレイコントローラ17、SD/MMCインタフェース19、CD-ROMインタフェース20、内蔵RAM21、バスステートコントローラ22は、内部バス18を介して互いに結合されている。ベクタグラフィックプロセッサ16は、描画処理を行う。ビデオディスプレイコントローラ17は、ベクタグラフィックプロセッサ16での描画結果を外部画像出力装置2に表示させる。外部画像出力装置2は、ダッシュボードに設けられた液晶ディスプレイ2とされる。SD/MMCインタフェース19は、SDメモリカード又はマルチメディアカードとの間でデータのやり取りを可能にする。CD-ROMインタフェース20は、外部データ入力装置CD-ROM3との間でデータのやり取りを可能にする。内蔵RAM21は、CPUコア11やベクタグラフィックプロセッサ16によってランダムアクセス可能とされる。内蔵RAM21には、ベクタグラフィックプロセッサ16で実行されるコマンドや、ベクタグラフィックプロセッサ16での描画処理に供される図形データ、さらにはベクタグラフィックプロセッサ16での描画されたデータなどが格納される。バスステートコントローラ22は、内部バス18におけるバスステートを制御する。ベクタグラフィックプロセッサ16は、バスインタフェース160、命令デコーダ161、頂点処理部162、エッジリスト生成部163、塗潰し判定部164、及びピクセル処理部165を含む。バスインタフェース160は、内部バス18を利用したデータのやり取りを可能にする。命令デコーダ161は、内蔵RAM21からフェッチされた命令をデコードする。頂点処理部162は、内蔵RAM21内のベクタデータを線分単位に区切るための二つの頂点を抽出する。エッジリスト生成部163は、分割描画のためのエッジリストを生成する。このエッジリストは、内蔵RAM21に格納される。塗潰し判定部164は、内蔵RAM21内のエッジリストを使用して塗潰し領域を判定する。ピクセル処理部165は、塗潰し判定部164での塗潰し判定結果に基づいてピクセル値を決定する。ピクセル処理部165でのピクセル処理結果は、内蔵RAM21に格納される。図2には、エッジリスト生成部163の構成例が示される。エッジリスト生成部163は、エッジ生成部1630、エッジリード部1631、ヘッダ情報保持部1632、エッジソーティング部1633、ライトマスク部1634、分割描画判定部1635、ライトデータ生成部1636、エッジライト部1637、分割描画カウンタ1638、エッジリストオーバーフロー判定レジスタ1639、及び最大エッジ数レジスタ1640を含む。エッジ生成部1630は、入力された頂点座標を順に結びながら、エッジを形成する直線とスキャンラインとの交点の座標を求める。エッジリード部1631は、作成済みのヘッダデータを内蔵RAM21からリードし読み出し、ヘッダ情報保持部1632から伝達されたエッジ個数分のエッジデータを取り込む。エッジ生成部1630は、ヘッダデータをヘッダ情報保持部1632へ出力し、エッジデータをエッジソーティング部1633へ出力する。ヘッダ情報保持部1632は、ヘッダ情報のエッジ個数を保持し、それをエッジリード部1631と分割描画判定部1635に伝達する。ヘッダ情報保持部1632は、後に詳述するように、ヘッダ情報に各々二つある内外カウンタ及び処理再開x座標から分割回数の偶数又は奇数に応じた値を初期値として選択する。さらにヘッダ情報保持部1632は、ヘッダ情報の内外カウンタの初期値を保持し、それをライトデータ生成部1636へ伝える。そしてヘッダ情報保持部1632は、ヘッダ情報の処理再開x座標の初期値を保持し、それをライトマスク部1634へ伝える。エッジソーティング部1633は、エッジデータをx座標に従って昇順に再整列する並べ替える。ライトマスク部1634は、ライトデータのマスク処理を行う。この処理において、エッジソーティング部1633から出力されたx座標は、それが処理再開x座標の初期値よりも大きい場合に、分割描画判定部1632へ伝達される。分割描画判定部1635は、ライトマスク部1634から伝達されたエッジデータの個数をカウントし、そのカウント値と、最大エッジ数レジスタ1640に保持されている最大エッジ数とを比較することによってオーバーフローの判定を行う。最大エッジ数レジスタ1640に保持されている最大エッジ数:max_nは、ユーザによって予め設定されている。つまり、分割描画判定部1635は、ユーザによって予め設定されている最大エッジ数:max_nと、作成中のエッジリストに登録されているエッジ数nをスキャンライン毎に比較して、max_n<n1が成立した場合n個のエッジが登録されている状態で更なるエッジ登録が必要な場合にエッジリストオーバーフローとなって、n番目以降のエッジデータをライトしないようにライトデータ生成部1636を制御する。これにより分割箇所をスキャンライン毎に決定することができる。尚、オーバーフローしたときはエッジデータ個数のカウントは行われない。また、マスクされたデータを、回数を分けて次回以降に分割描画するために、エッジリストがオーバーフローしたことを、エッジリストオーバーフロー判定レジスタ1639を介してCPU11に通知する。オーバーフローを示すフラグは、エッジスリスト又はスキャンライン毎に1ビット用意すれば十分である。ライトデータ生成部1636は、ヘッダ情報保持部1632から伝達された内外カウンタの初期値に、入力されたエッジデータの向きを加算して内外カウンタの値を更新することでライトデータを生成する。ライトデータ生成部1636は、分割描画判定部1635でのオーバーフロー判定結果がオーバーフローではないとき、入力されたエッジデータのx座標を処理再開x座標として保持する。ライトデータ生成部1636は、分割描画判定部1635でのオーバーフロー判定結果がオーバーフロー時に、入力されたx座標と処理再開x座標が同一の場合には、エッジの向きを計算して保持するとともに、それをエッジライト部1637へ伝え、エッジデータをライトした後にヘッダデータをライトするようにエッジライト部1637に伝える。また、ライトデータ生成部1636は、分割描画判定部1635のオーバーフロー判定結果がオーバーフロー時に、入力されたx座標と処理再開x座標が同一ではない場合は、ヘッダデータをライトするようにエッジライト部1637に伝える。エッジライト部1630は、ヘッダデータをライトする時は、分割描画判定部1635よりエッジ個数、ライトデータ生成部より内外カウンタ値と処理再開x座標を内蔵RAM21へライトする。エッジライト部1630は、エッジデータをライトする時は、ライトデータ生成部から入力されたエッジデータを内蔵RAM21にライトする書き込む。エッジリストは、次のように作成することができる。図3には、ベクトルデータの例が示され、図4には、図3のベクトルデータに対応するエッジリストが示される。図3においてx軸とy軸とは互いに直交する。ベクタグラフィックプロセッサ16では、オーダードエッジリスト方式による塗潰し処理が行われる。つまり、描画処理の対象とされる図形の頂点を順に結びながら、エッジを形成する直線とy=0~8の各スキャンラインとの交点の座標が求められ、それに基づいてエッジリストが作成される。エッジリストは、図3における矢印31~36の順に生成される。3個の頂点37については、二度書き防止のため、エッジリスト生成時にエッジ無しと判断される。図3及び図4に示される例では、y=0~8の各スキャンラインについて、それぞれ対応するエッジ数と、x座標エッジの向きが示される。エッジの向きは、上向きが論理値‘1’で示され、下向きが論理値‘0’で示される。例えばy=0のラインでは、エッジ数n=0であるが、y=1のラインでは、エッジ数n=2である。y=1のラインでの1個目のエッジは、450,1x座標が450でエッジが上向きであることを意味するであり、2個目のエッジは、675,-1x座標が675でエッジが下向きであることを意味するである。同様に、y=2のラインでのエッジ数n=2であり、1個目のエッジは、400,1であり、2個目のエッジは、875,-1である。図3において、エッジで包囲された領域は、塗潰し領域の内側とされ、それ以外の領域は、塗潰し領域の外側とされる。y方向画面縦方向は画面サイズ分のメモリ空間を消費する。1ラインサイズはユーザの判断で適宜変更可能なものとする。図5には、ディスプレイ設定サイズ及びエッジ数の設定と、必要なメモリサイズとの関係が示される。外部画像出力装置2がQVGAの場合とVGAの場合とで必要なメモリサイズが異なる。1ライン当たり128エッジの場合、QVGAでは60Kバイト必要であるのに対して、VGAでは120Kバイト必要となる。1ライン当たり256エッジの場合、QVGAでは120Kバイト必要であるのに対して、VGAでは240Kバイト必要となる。尚、処理の効率化を図るために、ダブルバッファ化する場合は更に2倍の記憶容量が必要となる。図6には、エッジリストの構成が示される。エッジリストはヘッダとエッジデータとを含む。ヘッダは、図6のAに示されるように、エッジ数、塗潰し内外カウンタ値、処理再開x座標を含む。エッジデータは、図6のBに示されるように、最大エッジ数分のx座標エッジの向きが含まれる。エッジの向きは、上向きが論理値‘1’で示され、下向きが論理値‘0’で示される。最大エッジ数は、ユーザが設定可能な最大エッジ数レジスタ1640に設定することができる。本例では、図形の分割描画が行われる。2回目以降の描画で塗潰し内外カウンタ値の情報が必要となる。前回の描画で塗潰し領域の内、外側のどちらで終了したかを知る必要がある。本例では、0以外の整数ならば内側、0は外側で終了したと判断するものとする。処理再開x座標は処理済みのエッジのうち、最大のx座標とされる。このx座標を基準として、より大きいx座標を持ったエッジが、エッジリストに登録される。また、分割描画を行う際には、論理値‘0’と‘1’とを繰り返すトグル方式で描画回数を記憶する。この描画回数の記憶には、分割描画カウンタ1638を利用することができる。ヘッダには、塗潰し内外カウンタ値count0,count1の設定エリア、及び処理再開x座標nxt_x0,nxt_x1の設定エリアが形成される。つまり、塗潰し内外カウンタ値count0,count1のうち、一方が初期値生成エッジリストの前回情報とされる以降、これをcountaとし、初期値としない方をcountbとする。また、同様に処理再開x座標nxt_x0,nxt_x1のうち、一方が初期値とされる以降、これをnxt_xaとし、初期値としない方をnxt_xbとする。何れが初期値として選択されるかは、分割回数が奇数1か、偶数0かによって決定される。尚、初回1回目の通常描画においては、分割回数=0となる。次に、エッジリストへのエッジデータの登録方法について説明する。エッジデータは、例えば図7のAに示されるように、x座標エッジの向きを単位として、最大エッジの数だけ登録される。ここで、座標x、yエッジの向き=5,21,10,20,10,21,15,20,15,21,15,20,15,21とし、最大エッジ数=5としたとき、エッジリストへの登録は以下のように行われる。エッジリストへの登録処理は、データの左側から順番に行われる。この場合、x=5と、2個あるx=10に関しては、図7のBに示されるように、エッジリストに1データずつ登録が行われる。2個あるx=10は、それぞれ別領域に登録することができる。しかし、図7のBの状態で、空きは残り2個であることから、4個あるx=15についての登録は上記の場合と異なる。すなわち、図7のCに示されるように、先ず、4個あるx=15のうち、最初に処理される15,20については、他のデータと同様にエッジリストに登録される。残り3個のx=15のデータは、エッジリストに登録するときに、エッジの向きではなく、エッジの向きの合計値をエッジリストにおける一つの登録エリアに登録される。本例では、エッジの向きの合計値は、1-11=1であるから、最後の登録エリアには、15,1が登録される。図8には、図1におけるピクセル処理部165の構成例が示される。ピクセル処理部165は、エッジリード/ライト部1650、塗潰しx座標生成部1651、内外判定部1652、塗潰し部1653、及び描画結果ライト部1654を含む。エッジリード/ライト部1650は、描画する図形に対して最小y座標と最大y座標を設定し、設定したy座標に対応する範囲内のヘッダデータを内蔵RAM21からリードして塗潰しx座標生成部1651に伝えてリードしたエッジ個数nを0にライトし、エッジデータを内蔵RAM21からリードして内外判定部1652に伝える。また、エッジリード/ライト部1650は、リードしたエッジ個数nを0にライトする前のヘッダデータのエッジ個数nを保持し、エッジデータを内蔵RAM21からn回リードする。エッジリード/ライト部1650は、設定された最大エッジ数max_nを保持し、エッジリード/ライト部1650は、エッジ個数nに従ってリードされたエッジの数がmax_nと等しい場合に、内外判定部1652に対して計算方法の変更を伝える。エッジリード/ライト部1650は、エッジ個数nが0の場合、塗潰しx座標生成部にヘッダデータを伝えない。エッジリード/ライト部1650は、ヘッダデータにある2個の処理再開x座標のうち、分割回数の偶数又は奇数によって計算の初期値に使用する値を決めて、それを塗潰しx座標生成部へ伝える。そしてエッジリード/ライト部1650は、ヘッダデータにある2個の内外カウンタのうち、分割回数の偶数又は奇数によって計算の初期値に使用する値を決めて内外判定部1652へ伝える。塗潰しx座標生成部1651は、設定された描画する図形に対して最大のx座標を保持する。エッジリード/ライト部1650からヘッダデータが入力された時、上記塗潰し開始x座標から上記最大のx座標まで1づつインクリメントして、それを内外判定部1652へ伝える。また、塗潰しx座標生成部1651は、内外判定部1652からのインクリメント打ち切り要求に従い、インクリメントを停止する。内外判定部1652は、塗潰しx座標生成部1651で決められた内外カウンタの初期値を使用してエッジデータの向きを計算し、処理を行うx座標が塗潰し領域内であるか、塗潰し領域外であるかの判定を行う。エッジリード/ライト部1650によって計算方法が変更された場合、エッジの向きの代わりにエッジの内外計算値を使用し、内外判定の値を更新する。内外判定部1652は、エッジリード/ライト部1650によって計算方法が変更された場合、塗潰し部へデータを伝えた後、塗潰しx座標生成部の処理を打ち切る。そして内外判定部1652は、エッジリード/ライト部1650から入力されたx座標と塗潰しx座標生成部から入力されたx座標を比較する。この比較の結果、x座標生成部から入力されたx座標が小さい場合、内外判定の値とx座標を塗潰し部1653へ伝える。エッジリード/ライト部1650から入力されたx座標と塗潰しx座標生成部から入力されたx座標との比較の結果、x座標生成部から入力されたx座標が大きい場合、又はそれらが互いに等しい場合、エッジリード/ライト部1650のからエッジデータを受け取り、内外判定を更新する。塗潰し部1653は、内外判定部1652から入力されたx座標と内外判定の値を使用して塗潰しを行い、描画結果ライト部1654へ結果を伝える。描画結果ライト部1654は、塗潰し部1653から入力された塗潰し結果を内蔵RAM21へライトする。図9には、上記マイクロコンピュータ1によるエッジリスト生成及び描画処理の流れが示される。先ず、CPUコア11によって各種レジスタ等の初期設定が行われるS1。この初期設定においては、最大エッジ数レジスタ1640における最大エッジ数max_nがユーザの指定値に設定される。エッジリストオーバーフロー判定レジスタ1639は、論理値‘0’非オーバーフロー状態を意味するに設定される。分割描画カウンタ1638が0に設定される。また、エッジリストがクリアされて初期状態にされる。次に、エッジリストの作成が行われS2、作成されたエッジリストに従って塗潰し描画処理が行われるS3。また、この塗潰し処理において、読み込んだヘッダ内のエッジ数を示すnの値が0にクリアされる。そして、CPUコア11によってエッジリストオーバーフロー判定レジスタ1639が参照され、それに基づいてエッジリストがオーバーフローしたか否かの判別が行われるS4。上記ステップS4の判別において、エッジリストがオーバーフローしたYesと判断された場合には、2回目の描画用のエッジリストを作るために、同一データの再読込みが行われて再設定が行われた後にS5、上記ステップS2のエッジリスト作成に戻る。上記ステップS5の再設定では、エッジリストオーバーフロー判定レジスタ1639は、論理値‘0’非オーバーフロー状態を意味するに設定され、分割描画カウンタ1638に対して1のインクリメントが行われる。また、上記ステップS4の判別において、エッジリストがオーバーフローしていないNoと判断された場合には処理が終了される。図10のAには、図9におけるエッジリスト作成S2の処理の詳細な流れが示される。また、図10のBには、同図Aにおけるライトデータ生成処理JUDGEの詳細な流れが示される。エッジ生成部1630は、入力された2頂点を結ぶエッジとスキャンラインとの交点のx,y座標を例えばブレゼンハムの直線補間方法を用いて求めるS21。エッジリード部1631は、上記ステップS21で求められたx,y座標から内蔵RAM21のアドレス信号を生成し、内蔵RAM21内のエッジリストからヘッダデータをリードするS22。そして、ヘッダデータにあるエッジリスト内のエッジ登録数nをアドレス生成回数として適宜の内部レジスタに設定し図10AではRに相当、エッジを書き戻す回数として適宜の内部レジスタを0に初期化し図10AではNに相当、塗潰し内外カウンタ値及び処理再開x座標を初期化するS23。つまり、ヘッダデータにある初期値として使用しない方のcountb、nxt_xbを、初期値として使用する方のcounta、countaの値に初期化する図6参照。尚、エッジリストのオーバーフロー判定のために、分割描画判定部1635においてもエッジ登録数Nの値が参照される。そして、R=0が成立するか否かの判別が行われるS24。ここで、既に登録済みのエッジが内蔵RAM21に存在する場合R>0には、エッジリード部1631によって、内蔵RAM21内から対応するエッジのx座標がリードされるS25。このエッジリードが行われる度に、リード回数Rは1引かれるS26。次に、エッジソーティング部1633によってエッジソーティング並べ替えが行われるS27。つまり、登録済みのエッジがある場合n>0に、新たに追加するエッジを含めてx座標の小さいものから順番に再整列が行われる。その後、ライトデータ生成処理JUDGEが行われる。また、上記ステップS24の判別で、R=0が成立しない場合には、ライトデータ生成処理JUDGEが行われ、その後、ヘッダライト処理が行われるS37。次に、ライトデータ生成処理JUDGEについて、図10のBを参照しなが説明する。ステップS27で得られる出力頂点のx座標をsxとする。このライトデータ生成処理においては、ステップS27で得られる出力頂点の条件に従ってライトマスク処理が行われるS28,S29,S30,S31,S32,S33,S34。例えばsx≦nxt_xaが成立するか否かの判別が行われるS28。この判別において、sx≦nxt_xaが成立しない場合には、分割描画判定部1635内において、最大エッジ数レジスタ1640に設定されている最大エッジ数:max_nと、エッジを書き戻した回数Nに1を加えたものとが比較されるS30。この比較において、N1>max_nが成立しない場合には、ライトマスクが無効とされるS34。このとき、Nは更新1されるが、オーバーフローとはされない。また、上記ステップS30の判別において、N1>max_nが成立する場合には、sx=nxt_xbが成立するか否かの判別が行われるS31。この判別において、sx=nxt_xbが成立しない場合には、分割描画が必要と判断され、エッジリストはオーバーフロー状態とされるS33。このとき、ステップS27のエッジソーティング後のエッジデータについて、番目以降のエッジがエッジリストに登録されないようにマスクされる。つまり、ライトマスク部1634の出力に基づいて、ライトデータ生成部1636でのライトデータ生成が制限される。ただし、リストに登録済みの最大のx座標nxt_xbと等しいx座標の場合は、上記ステップS31でYesと判断されるため、マスクされないS32。このとき、Nは更新されない。また、オーバーフローとはされないが、エッジの向きの計算方法が変更される。尚、nxt_xaの値以下のx座標を持ったエッジの場合には、上記ステップS28の判別で、Yesと判断されるため、マスクされるS29。このとき、Nは更新されない。また、オーバーフローとはされない。上記ステップS32やS34でライトマスクが無効とされた場合には、ライトデータ生成部1636により、ヘッダ情報が更新されるS35。つまり、エッジ登録数を示すn、描画再開時に必要となる内外カウンタcount、処理再開x座標nxt_xが更新される。それらの生成に必要なデータは、ライトマスク部1634から出力されるエッジの個数、向き、座標が使用される。エッジ登録数を示すnは、出力エッジの数をカウントすることで得られるNとする。ただしmax_n個登録時に、リストに登録済みの最大のx座標nxt_x個目のエッジの座標がn個目のエッジの座標と同一の場合、エッジの向きを計算してライトされる。上記ステップS24の判別において、エッジリードがn回行われたYesと判断された場合には、n1個目のエッジについて処理を行うために、S28からS36の該当する処理を行う。そして、上記ステップS35のヘッダ情報がエッジリストに登録されるS37。次に、以下の6個の座標x、yがエッジリスト生成部163に入力され、最大エッジ数max_n=3の場合のエッジリスト作成について詳述する例えばy座標が2の場合のエッジリストを示す。x,y=5,2,15,2,10,2,15,2,20,2,10,2エッジの向き=上1,上1,下0,上1,下0,上1先ず、図11~16に基づいてエッジリストへの初回登録について説明する。図11には、初回のエッジリスト作成における1個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における1個目のx座標は5であり、エッジの向きは上1である。初回のエッジリスト作成における1個目のエッジリスト登録において、ステップS22のヘッダリードは、n=0、count0=0、count1=0、nxt_x0=0、nxt_x1=0となる。初回のエッジリスト作成における1個目のエッジリスト登録の場合、ステップS23におけるリード回数登録数Rは0とされ、エッジライト数Nは0とされ、内外カウンタcount1=count0に初期化され、処理再開x座標nxt_x1=nxt_0に初期化される。初回のエッジリスト作成における1個目のエッジリスト登録において、ステップS24で、R=0が成立し、エッジリードを行わず、ステップS28に移る。ここで、ソート後のx座標sx=5であるから、ステップS28の判別ではsx=5≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=1>max_n=3が成立せず、ステップS34に移る。ステップS34の処理ではライトマスクは無効となり、N=N1=1とし、オーバーフローとしない。初回のエッジリスト作成における1個目のエッジリスト登録の場合、ステップS35のヘッダ情報の更新では、n=N、count1=count11、nxt_x1=x=5とされる。これにより、ステップS36でのエッジライトによって、x座標エッジの向きは、5,1とされ、1個目のエッジ登録がなされる。また、ステップS38のヘッダライトによって、n=1、count0=0、count1=1、nxt_x0=0、nxt_x1=5とされる。図12には、初回のエッジリスト作成における2個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における2個目のx座標は15であり、エッジの向きは上1である。初回のエッジリスト作成における2個目のエッジリスト登録において、ステップS22のヘッダリードは、初回のエッジリスト作成における1個目のヘッダライト結果がそのままリードされるため、n=1、count0=0、count1=1、nxt_x0=0、nxt_x1=5となる。初回のエッジリスト作成における2個目のエッジリスト登録の場合、ステップS23におけるリード回数Rは1とされ、エッジライト数Nは0とされ、内外カウンタcount1=count0に初期化され、処理再開x座標nxt_x1=nxt_0に初期化される。初回のエッジリスト作成における2個目のエッジリスト登録において、ステップS24で、R=0が成立しないため、ステップS25のエッジリードでは、初回1個目のエッジライト結果がそのままリードされ、1個のx座標エッジの向きは、5,1となる。ステップS26の処理では、リード回数R=R-1=0とする。ステップS27の処理では、エッジソーティングが行われ、エッジの値の小さい5,1が出力される。ステップS28判別ではsx=5≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=1>max_n=3が成立せず、ステップS34に移る。ステップS34の判別ではライトマスクは無効となり、N=N1=1とし、オーバーフローとしない。ステップS35のヘッダ情報の更新では、n=N、count1=count11、nxt_x1=x=5とされる。これにより、ステップS36でのエッジライトによって、x座標エッジの向きは、5,1とされ、1個目のエッジ登録がなされる。次に、ステップS24の処理に戻り、R=0が成立するためエッジリードを行わず、ステップS28に移る。ステップS28の判別ではsx=15≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=2>max_n=3が成立せず、ステップS34に移る。ステップS34の判別ではライトマスクは無効となり、N=N1=2とし、オーバーフローとしない。初回のエッジリスト作成における2個目のエッジリスト登録の場合、ステップS35のヘッダ情報の更新では、n=N、count1=count111、nxt_x1=x=15とされる。これにより、ステップS36でのエッジライトによって、x座標エッジの向きは、5,115,1とされ、1個目のエッジ登録に加えて2個目のエッジ登録がなされる。また、ステップS37のヘッダライトによって、n=2、count0=0、count1=2、nxt_x0=0、nxt_x1=15とされる。図13には、初回のエッジリスト作成における3個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における3個目のx座標は10であり、エッジの向きは下0である。初回のエッジリスト作成における3個目のエッジリスト登録において、2個目のエッジリスト登録と同様にステップS21からステップS36の処理を行うことにより、x座標エッジの向き5,110,015,1のエッジリストが生成され、ヘッダはn=0111=3、count0=0、count1=count11-11=1、nxt_x0=0、nxt_x1=15となる。図14には、初回のエッジリスト作成における4個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における4個目のx座標は15であり、エッジの向きは上1である。初回のエッジリスト作成における4個目のエッジリスト登録において、3個目のエッジリスト登録と同様にステップS21からステップS36の処理を行うことにより、x座標エッジの向き5,110,015,1のエッジリストが生成された後、ステップS28の処理に移る。ステップS28の判別ではsx=15≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=4>max_n=3が成立し、ステップS31に移る。ステップS31の判別ではsx=15=nxt_xb=15が成立し、ステップS32に移る。ステップS32処理ではライトマスクは無効となり、N=3は更新せず、オーバーフローともしない。ステップS35のヘッダ情報の更新では、n=N、count1=count11-111、nxt_x1=x=15とされる。ステップS36のエッジライトでは、x座標エッジの向きは、5,110,015,2とされる。ここで、15,2がライトされるのは、2個あるx=15についての扱いでエッジの向きの合計値が11=2となることに起因するS32,図7C参照。また、ステップS38のヘッダライトによって、n=3、count0=0、count1=2、nxt_x0=0、nxt_x1=15とされる。図15には、初回のエッジリスト作成における5個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における5個目のx座標は20であり、エッジの向きは下0である。初回のエッジリスト作成における5個目のエッジリスト登録において、4個目のエッジリスト登録と同様にステップS21からステップS36の処理を行うことにより、x座標エッジの向き5,110,015,2のエッジリストが生成された後、ステップS28の処理に移る。ステップS28ではsx=20≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30ではN1=4>max_n=3が成立し、ステップS31に移る。ステップS31ではsx=20=nxt_xb=15が成立せず、ステップS33に移る。ステップS33ではライトマスクを有効とし、Nは更新せず、新規エッジを加えることができずに分割描画判定部1635において、分割描画が必要と判断され、エッジリストオーバーフローとされる。このため生成されるエッジリストは4個目のエッジリスト登録時と同様に、x座標エッジの向き5,110,015,2である。また、エッジリストオーバーフロー判定レジスタ1639が‘1’オーバーフロー状態に設定される。ステップ37のヘッダライトも4個目のエッジリスト登録時と同様で、n=3、count0=0、count1=2、nxt_x0=0、nxt_x1=15とされる。図16には、初回のエッジリスト作成における6個目のエッジリスト登録の様子が示される。初回のエッジリスト作成における6個目のx座標は10であり、エッジの向きは上1である。初回のエッジリスト作成における6個目のエッジリスト登録において、ステップS21からステップS36の処理を行うことにより、x座標エッジの向き5,110,0エッジリストが生成された後、ステップS24の判別に移る。この時、エッジ101と152は未処理であり、R=1である。ステップS24の判別では条件不成立のためステップS25に移り、ステップS25~S27の処理を行った後、ステップS28に移る。ステップS28の判別ではsx=10≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=3>max_n=3が成立せず、ステップS34に移る。ステップS34の処理ではライトマスクは無効となり、N=N1=2とし、オーバーフローとしない。処理を進め再びステップS24に戻った時、R=0=0が成立するため、ステップS28に移る。ステップS28の判別ではsx=15≦nxt_x0=0が成立せず、ステップS30に移る。ステップS30の判別ではN1=4>max_n=3が成立し、ステップS31に移る。ステップS31の判別ではsx=15=nxt_xb=10が成立せず、ステップS33に移る。ステップS33の処理ではライトマスクを有効とし、Nは更新せず、x座標エッジの向き5,110,010,1である。ステップ37のヘッダライトでは、n=3、count0=0、count1=count11-111、nxt_x0=0、nxt_x1=10とされる。そしてこのようにして得られたエッジリストに従って、1度目の描画が行われるS3。この描画では、count0のため、nxt_x0=0から1個目のエッジまでは塗潰しが行われない。1個目のエッジのx座標=5は上向きのエッジ1で、count01=1であるため、塗潰しが開始される。2個目のエッジのx座標=10は下向きのエッジ0で、count01-1=0であるため、塗潰しが停止される。3個目のエッジのx座標=10は上向き1のエッジで、count01=1であるため、塗潰しが開始される。CPUコア11によってエッジリストオーバーフロー判定レジスタ1639が参照され、それに基づいてエッジリストがオーバーフローしたか否かの判別が行われる。この判別でエッジリストがオーバーフローしたYesと判断された場合には、同一データの再読込みが行われて再設定が行われた後にS5、上記ステップS2のエッジリスト作成に戻る。すなわち、初回のエッジリスト作成におけるエッジリスト作成の場合と同様に、以下の6個の座標x、yがエッジリスト生成部163に入力され、最大エッジ数max_n=3の場合のエッジリスト作成が再び行われる。尚、ステップS5の再設定では、エッジリストオーバーフロー判定レジスタ1639は、論理値‘0’非オーバーフロー状態を意味するに設定され、分割描画カウンタ1638に対して1のインクリメントが行われる。x,y=5,2,15,2,10,2,15,2,20,2,10,2エッジの向き=上1,上1,下0,上1,下0,上1ただし、2回目以降のエッジリスト作成において初期設定S1は省略される。図17には、2回目のエッジリスト作成における1個目のエッジリスト登録の様子が示される。2回目のエッジリスト作成における1個目のx座標は5であり、エッジの向きは上1である。2回目のエッジリスト作成における1個目のエッジリスト登録の場合、ステップS23におけるリード回数登録数Rは0とされ、エッジライト数Nは0とされ、分割カウンタが論理値‘1’とされることにより、内外カウンタcount0=count1に初期化され、処理再開x座標nxt_x0=nxt_x1に初期化される。2回目のエッジリスト作成における1個目のエッジリスト登録において、ステップS24で、R=0が成立し、エッジリードを行わず、ステップS28に移る。ステップS28の判別ではsx=5≦nxt_x1=10が成立し、ステップS29に移る。ステップS29の判別ではライトマスクを有効として、N=0は更新せず、オーバーフローとはしない。図18には、2回目のエッジリスト作成における2個目のエッジリスト登録の様子が示される。2回目のエッジリスト作成における2個目のx座標は15であり、エッジの向きは上1である。2回目のエッジリスト作成における2個目のエッジリスト登録において、ステップS24で、R=0が成立し、エッジリードを行わず、ステップS28に移る。ステップS28の判別ではsx=15≦nxt_x1=10が成立せず、ステップS30に移る。ステップS30の判別ではN1=1>max_n=3が成立せず、ステップS34に移る。ステップS34の処理ではライトマスクは無効となり、N=N1=1とし、オーバーフローとしない。2回目のエッジリスト作成における2個目のエッジリスト登録の場合、ステップS35のヘッダ情報の更新では、n=N、count0=count01、nxt_x0=x=15とされる。これにより、ステップS36でのエッジライトによって、x座標エッジの向きは、15,1とされ、1個目のエッジ登録がなされる。また、ステップS37のヘッダライトによって、n=1、count0=2、count1=1、nxt_x0=15、nxt_x1=10とされる。図19には、2回目のエッジリスト作成における3個目のエッジリスト登録の様子が示される。これまでと同様の処理を繰り返すことにより、2回目のエッジリスト作成における3個目のエッジリスト登録では、x座標エッジの向きは、15,1、ヘッダ情報、n=1、count0=2、count1=1、nxt_x0=15、nxt_x1=10のエッジリストが生成される。図20には、2回目のエッジリスト作成における4個目のエッジリスト登録の様子が示される。これまでと同様の処理を繰り返すことにより、2回目のエッジリスト作成における4個目のエッジリスト登録では、x座標エッジの向きは、15,115,1、ヘッダ情報、n=2、count0=3、count1=1、nxt_x0=15、nxt_x1=10のエッジリストが生成される。図21には、2回目のエッジリスト作成における5個目のエッジリスト登録の様子が示される。これまでと同様の処理を繰り返すことにより、2回目のエッジリスト作成における5個目のエッジリスト登録では、x座標エッジの向きは、15,115,120,0、ヘッダ情報、n=3、count0=2、count1=1、nxt_x0=20、nxt_x1=10のエッジリストが生成される。図22には、2回目のエッジリスト作成における3個目のエッジリスト登録の様子が示される。これまでと同様の処理を繰り返すことにより、2回目のエッジリスト作成における3個目のエッジリスト登録では、x座標エッジの向きは、15,115,120,0、ヘッダ情報、n=3、count0=2、count1=1、nxt_x0=20、nxt_x1=10のエッジリストが生成される。このエッジリストに従って2度目の描画が行われる。このような分割描画処理によれば、例えば最大エッジ数=2とした場合の1回目の描画処理で、図25のAに示されるような図形250が形成された場合、2回目の描画処理では、1回目で処理されたy座標上に対して処理が追加されて図形251~253が形成されることにより、描画対象とされる図形の描画処理が完了する。尚、図25に示される例では、描画対象とされる図形の描画が2回の分割描画で完了しているが、図26のA~Fに示されるように、描画対象とされる図形の描画が6回の分割描画で完了する場合もあり得る。ここで、従来のオーダードエッジリスト方式による図形塗潰しにおいては、例えば図23に示されるように、読み込んだエッジリストを使用して、最左のx座標から描画が開始される。つまり、描画対象とされる図形を囲む外接四角形231が設定され、最小座標点232、最大座標点233が定義され、最小座標点232から塗潰しが開始される。このような図形塗潰しにおいては、図形の輪郭とスキャンラインの交点の座標データ量がエッジリストを格納するメモリ容量を越えた場合に図形の塗潰しができないおそれがある。またエッジリストサイズが図形形状に依存するため、多様な図形描画に対応するためには大きなメモリが必要となるが、そのような大容量メモリを内蔵するとコストが非常に高くなる。これに対して、この実施の形態による図形塗潰しにおいては、初回1回目の描画処理を除いて、エッジ数を基準にエッジリスト生成が行われるため、塗潰し開始x座標が全てのy座標で同一とは限らない。例えば図24に示されるように、最大エッジ数max_n=3、2回目の描画分割描画カウンタ1638=1の場合、座標点241、242、243、244のx座標から描画が開始再開される。このようにエッジ数を基準にしてエッジリストを複数回に分けて作成して利用することにより、1つのスキャンラインy座標について全てのエッジについてのリストを1度に揃える必要はなくなるので、様々な形状を描画することが可能であり、しかも、小容量の内蔵RAM21で図形塗潰しを実現することができる。また、この実施の形態ではy座標が2の場合を例に説明したが、もちろん全てのy座標スキャンラインに対応したエッジリストが同様に作成され、処理された後、描画される。それにより、複数回の描画処理を行う場合には、y座標毎に異なるx座標から描画が再開され、例えば図25や図26に示されるように、複雑な形状のパズルのピースを組合せるような描画パズル描画、部分描画、分割描画を実現することが可能となる。これにより、複雑な形状の描画を小容量の内蔵RAMで実現することができるようになり、コスト削減にも寄与できる。以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。"