(57)【要約】  処理能力が必ずしも高くない機器において、ポリゴンの簡略化を可能にすると共に、ＣＧ（コンピュータ・グラフィックス）におけるトータル処理時間の短縮を可能にするため、ＣＧに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得部と、実際のＣＧに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得部と、前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、前記頂点が削減されたポリゴンを用いて、ＣＧを実行する描画手段とを備える。
2007125912.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、
前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段と
を備える描画装置。
【請求項２】
前記コンピュータ・グラフィックスに使用され得る描画処理の内容は、
頂点色割り当て、ライティング、陰面消去、アルファブレンド、テクスチャマッピングの少なくとも１つを含む
請求項１記載の描画装置。
【請求項３】
前記基準情報には、前記ポリゴンを構成するある頂点から他の２つの頂点間を結ぶ線分への垂線の長さが、予め定められた閾値よりも短いという条件を含む
請求項１記載の描画装置。
【請求項４】
前記ポリゴンを構成する頂点はその属性データとして、位置座標データ、色データ、テクスチャ座標データ、法線方向データの少なくとも１つを保有し、
前記ポリゴン簡略化手段は、
前記取り出した線分までの距離の最大値は、前記保有する全ての属性データについて求め、当該求めた最大値が全ての属性データに対して所定の閾値よりも大きくないときに前記取り出した線分の間にある各頂点を削除する
請求項３記載の描画装置。
【請求項５】
前記描画情報取得手段は、ＦＡＮ型で定義されたポリゴンを取得し、
前記簡略化判定手段は、前記ＦＡＮ型で定義されたポリゴンについて前記判定を行い、
前記ポリゴン簡略化手段は、前記ＦＡＮ型で定義されたポリゴンについて前記簡略化を行い、
前記描画手段は、前記ＦＡＮ型で定義されたポリゴンを用いて、コンピュータ・グラフィックスを実行する
請求項１記載の描画装置。
【請求項６】
前記描画情報取得手段は、さらに、ＳＴＲＩＰ型で定義されたポリゴンを取得すると、当該ＳＴＲＩＰ型で定義されたポリゴンをＦＡＮ型で定義されたポリゴンに変換する
請求項５記載の描画装置。
【請求項７】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップと
を含む描画方法。
【請求項８】
前記簡略化ステップでは、
（１）前記与えられたポリゴンデータから１つの面を囲む頂点を抽出し、
（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、
（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、
（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、
（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、
（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、
（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返す
請求項７記載の描画方法。
【請求項９】
描画装置に用いる、コンピュータに実行させるためのプログラムであって、
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップと
を含むプログラム。
【請求項１０】
描画装置に用いられるプログラムが記録された、コンピュータが読み取り可能な記録媒体であって、
前記プログラムは、
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップと
を含む記録媒体。
【請求項１１】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、
前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ、各種情報機器、携帯電話機又はゲーム機等におけるコンピュータ・グラフィックス技術に関し、特に曲面又は曲線の近似技術に関するものである。
【背景技術】
【０００２】
３次元のコンピュータ・グラフィクスにおいては、３次元曲面等を多角形のポリゴン等で近似して描画している。【０００３】
従来、多角形のポリゴンを用いた描画処理には膨大な処理時間が必要となるため、ポリゴンの頂点を削減することによって、描画処理の簡素化を図る技術が開示されている（例えば、特許文献１参照）。【０００４】
図１は、上記従来のテクスチャデータ生成装置のブロック図である。従来のテクスチャデータ生成装置は、ポリゴン削減手段１によってポリゴンの数を削減する。また、頂点位置計算手段２は、ポリゴン削減手段１で削除された頂点が、新たな三角形パッチのどの位置に対応するかを計算し、削除された頂点における輝度値を保存する。さらに、多面体展開図作成手段３によって、ポリゴンの展開図を２次元画像領域に作成する。このとき、画素値補間手段４において画像領域の各格子点での輝度値を求めている。
【特許文献１】特開平７−１６０８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ポリゴンの頂点を削除する処理自体にも時間を要するため、従来のポリゴンの頂点を削除する方法においても、トータルの描画時間として考えた場合に、確実に処理時間の短縮ができないという課題がある。【０００６】
つまり、ポリゴン頂点の削除処理を行う効果がない場合（即ち、頂点を削除すると大きく形状が変化して違和感を生じさせてしまうため結局削除しない場合）には、削除処理を実行した分だけ無駄に処理時間を費やしてしまい、トータルの描画時間として遅くなってしまうことがある。【０００７】
さらに、近年、携帯電話機や携帯型ゲーム機等の必ずしも処理性能が高くない機器においても、違和感のない速度で移動する３次元物体を表示したいというニーズが高まっており、このようなニーズに対して、従来のポリゴン頂点削除方法では充分応えることが困難である。【０００８】
そこで、本発明は、処理能力が必ずしも高くない機器であっても、ポリゴンの簡略化を可能にすると共に、コンピュータ・グラフィックスにおけるトータル処理時間の短縮が可能な描画装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は上記のような課題を解決するために行われたものであり、以下のような構成を有する。【００１０】
本発明に係る描画装置は、コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段とを備えることを特徴とする。【００１１】
このような構成によって、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことができるとともに、ポリゴン近似を使った３次元物体の描画を、計算能力が高いＣＰＵを必ずしも有していなくても、高速に実行することが可能な描画装置を提供することができる。【００１２】
また、前記コンピュータ・グラフィックスに使用され得る描画処理の内容は、頂点色割り当て、ライティング、陰面消去、アルファブレンド、テクスチャマッピングの少なくとも１つを含むことを特徴とする。【００１３】
このような構成によって、具体的な画像処理の内容を勘案したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。【００１４】
また、前記基準情報には、前記ポリゴンを構成するある頂点から他の２つの頂点間を結ぶ線分への垂線の長さが、予め定められた閾値よりも短いという条件を含むことを特徴とする。【００１５】
このような構成によって、ポリゴンを構成する重要な要素である頂点の座標値とそのポリゴンの形状とに与える影響を評価したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。【００１６】
また、前記ポリゴンを構成する頂点はその属性データとして、位置座標データ、色データ、テクスチャ座標データ、法線方向データの少なくとも１つを保有し、前記ポリゴン簡略化手段は、前記取り出した線分までの距離の最大値は、前記保有する全ての属性データについて求め、当該求めた最大値が全ての属性データに対して所定の閾値よりも大きくないときに前記取り出した線分の間にある各頂点を削除することを特徴とする。【００１７】
このような構成によって、ポリゴンを構成する要素として頂点の座標値とそのポリゴンの形状だけでなく、色やテクスチャや法線方向に与える影響をも併せて評価したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。【００１８】
さらに、本発明に係る描画方法は、コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップとを含むことを特徴とする。【００１９】
このような構成によって、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことを可能にすると共に、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することが可能になる。【００２０】
また、前記簡略化ステップでは、（１）前記与えられたポリゴンデータから１つの面を囲む頂点を抽出し、（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返すことを特徴とする。【００２１】
このような構成によって、ポリゴンを構成する重要な要素である頂点の座標値とそのポリゴンの形状とに与える影響の評価を具体的なアルゴリズムによって高速に実行したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。【００２２】
なお、本発明は、上記描画装置における特徴的な構成手段を備える集積回路として実現したり、上記描画方法の各々のステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのプログラムをＤＶＤ等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのは云うまでもない。【００２３】
本発明に係る描画装置等を用いることにより、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことができるとともに、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することが可能になり、違和感のない動画像を表示することが可能になる。
【図面の簡単な説明】
【００２４】
【図１】図１は、従来の曲線近似装置によって曲線を近似する手法を説明するための図である。
【図２】図２は、本発明に係る描画装置の構成の概略を示す図である。
【図３】図３は、実施の形態１に係る描画装置の制御部の機能構成を示すブロック図である。
【図４】図４は、本発明に係る簡略化基準表の一例を示す図である。
【図５】図５（ａ）〜（ｄ）は、実施の形態１に係るポリゴンを削減する過程の一例を説明するための図である。
【図６】図６（ａ）〜（ｄ）は、実施の形態１に係るポリゴンを削減する過程のその他の例を説明するための図である。
【図７】図７（ａ）は、描画情報取得部を介して入力したポリゴンの一例を示す図である。図７（ｂ）は、ポリゴンの詳細な態様をまとめた表である。
【図８】図８（ａ）〜（ｆ）は、実施の形態１に係るポリゴンの各頂点の色に着目してポリゴン簡略化処理を実行した過程を示す図である。
【図９】図９は、簡略化を実行したポリゴンの一例を示す図である。
【図１０】図１０は、実施の形態１に係るポリゴンデータを構成する頂点の削減についての判断を行う処理の流れを示すフローチャートである。
【図１１】図１１は、実施の形態１に係るポリゴンを削減する処理の流れを示すフローチャートである。
【図１２】図１２は、図１１における、座標値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。
【図１３】図１３は、図１１における、色値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。
【図１４】図１４は、実施の形態２に係る多角形のポリゴンを定義する場合の２つの形式を示す図である。
【図１５】図１５は、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順の概略を示す図である。
【図１６】図１６は、実施の形態２に係る描画情報取得部におけるＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する処理の流れを示すフローチャートである。
【符号の説明】
【００２５】
１００    描画装置
１０２    制御部
１０３    ＲＡＭ
１０４    ＲＯＭ
１０５    表示部
１０６    操作部
１０７    通信部
１０８    内部バス
１１０    描画情報取得部
１２０    描画種別決定部
１３０    閾値決定部
１４０    初期線分決定部
１５０    簡略化判定部
１６０    ポリゴン簡略化部
【発明を実施するための最良の形態】
【００２６】
以下、本発明に係る実施の形態について、図面を参照しながら説明する。なお、本発明について、以下の実施の形態および添付の図面を用いて説明を行うが、これは例示を目的としており、本発明がこれらに限定されることを意図しない。【００２７】
（実施の形態１）
図２は、本実施の形態に係る描画装置１００の構成の概略を示す図である。本実施の形態に係る描画装置１００は、ポリゴンに含まれる各頂点における属性データである３次元位置座標値、頂点に付属している色値、テクスチャ座標データ、又は法線ベクトルに基づいてポリゴンの簡略化を行う装置である。また、以下に示す描画方法は、この描画装置１００等において用いられる。但し、描画装置１００は、本発明に係る描画装置を説明するための１つの具体例であり、必ずしも描画装置１００に限るものではなく、例えば携帯電話機やパソコンを始めとする、他の電子機器であってもよい。【００２８】
図２に示されるように、描画装置１００は、その主要な構成要素として、制御部１０２、ＲＡＭ１０３、ＲＯＭ１０４、表示部１０５、操作部１０６及び通信部１０７を備える。なお、描画装置１００は、上記の他に電源や筐体等、多くの要素を含んでもよいが、本発明と直接関係ないため省略することとする。【００２９】
上記の主要な構成要素は内部バス１０８を介して接続されており、必要に応じてデータのやり取りを実行する。【００３０】
制御部１０２は、例えばマイクロコンピュータ（以下「マイコン」ともいう。）等を始めとするコンピュータであり、描画装置１００の各部の動作を制御する。なお、制御部１０２は、必ずしも独立したものでなく、システムＬＳＩに含まれるマイコンコア等であっても構わない。また、制御部１０２は、必ずしも汎用的なマイコンでなく、特定の用途や目的に特化したものであっても構わない。【００３１】
ＲＡＭ１０３は、ＤＲＡＭ（Dynamic-RAM）を始めとする読み書き可能な半導体メモリであり、固定式や、ＳＤメモリカードのように着脱可能なものであっても構わない。さらに、ＲＡＭ１０３は、必要に応じて各種のデータ（プログラムも含む）を一時的又は長期的に記憶する。また、電源ＯＦＦ時に記憶内容が消失するタイプのものでも、電源ＯＦＦ時に記憶内容が消失しないタイプのどちらもよいし、両方のタイプが混在していてもよい。【００３２】
ＲＯＭ１０４は、読み出し専用のメモリであり、各種のプログラムや、変更されることのないデータ又は変更されると支障があるデータ（機器ＩＤ番号等を含む。）を記憶する。また、ＲＯＭ１０４は、半導体メモリの他、磁気的な記録方式や光学的な記録方式によるものでもよいし、これらが混在していてもよい。【００３３】
これらのＲＡＭ１０３とＲＯＭ１０４のどちらか一方又は両方に、本発明の一実施の形態であるプログラムが記録されて制御部１０２によって実行され、このＲＡＭ１０３とＲＯＭ１０４のどちらか一方又は両方に、本発明に係る描画方法を実現し得るプログラムが記録されているものとする。【００３４】
表示部１０５は、例えば、液晶表示パネルやＥＬディスプレイパネルであり、画像、文字又は記号等を可視的に表示する機能を有する。【００３５】
操作部１０６は、押しボタン、キースイッチ、タッチパネル、ポインティングデバイス、十字キーなど、各種の情報を入力する機能を有する。【００３６】
通信部１０７は、無線ＬＡＮや有線ＬＡＮ、可視光線や赤外線を使った通信、公衆ネットワークや専用ネットワークとの通信、その他の各種通信を行い、他の機器とデータをやり取りするためのもので、どのようなものであっても構わない。【００３７】
本実施の形態に係る描画装置１００では、ＲＯＭ１０４又はＲＡＭ１０３に記憶されているプログラムに従って、ユーザはゲームを行うことができる。ユーザは、ゲームの操作を操作部１０６で行い、ゲーム画像は表示部１０５に表示される。ゲーム画像の元になるデータは、ＲＯＭ１０４やＲＡＭ１０３に記憶されているデータから与えられるか、ＲＯＭ１０４やＲＡＭ１０３に記憶されているデータに基づいて計算され、ポリゴンデータとして与えられる。そして、このポリゴンデータに基づいて、ゲームの種類やシーンに応じて必要な画像処理、例えば、頂点色割り当て、ライティング、アルファブレンド、陰面消去、テクスチャマッピングが実行され、その結果生成された画像が表示部１０５に表示される。【００３８】
図３は、本実施の形態に係る描画装置１００の制御部１０２の機能構成を示すブロック図である。図３に示されるように、制御部１０２は、描画情報取得部１１０、描画種別決定部１２０、閾値決定部１３０、初期線分決定部１４０、簡略化判定部１５０及びポリゴン簡略化部１６０を備える。【００３９】
描画情報取得部１１０は、内部バス１０８を介して、ポリゴンデータや各種パラメータ等を取得する。この場合のポリゴンデータは、ＦＡＮ型で定義されたポリゴンデータとする。ここで、「ＦＡＮ型」とは、ポリゴンデータを構成する各頂点が、閉ループ状に時計回りで定義されていることをいう。【００４０】
描画種別決定部１２０は、取得されたポリゴンデータ等に基づいて、実行する描画処理の種別を決定する。この描画処理の種別には、頂点色割り当て、ライティング、アルファブレンド、陰面消去、テクスチャマッピング等があり、取得したポリゴンデータや実行中のゲームの種類から一意的に決定したり、ゲーム等のシーンや操作内容等に応じて決定する。さらに、描画種別決定部１２０は、取得したポリゴンデータによって表わされるポリゴンが存在する空間のサイズ（即ち、ポリゴンを表示する際の所定の空間の最大範囲）を決定する（以下「空間サイズ」という）。この空間サイズは、ポリゴンに含まれる各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他必要に応じて決定する。この空間サイズは、後述するポリゴンデータを削減する際の判断において、種々の関連するデータをそのまま絶対値として用いるのではなく、この空間サイズに対する相対値として正規化する際に用いる。【００４１】
以下、３次元座標系および上記の色値（以下では色座標系とも呼ぶ）について、データを正規化して用いる理由を述べる。【００４２】
３次元座標系における空間サイズは、基本的にはディスプレイ全体に対応する位置座標の範囲に相当する。ここで、ディスプレイのサイズは変わらないので、空間サイズが大きいと座標系上では大きいポリゴンでも見かけ上は小さく見えるため、多少ポリゴンの頂点の削減を行っても見かけ上は分かりにくい。したがって、ユーザに見える見かけを重視した評価を行うため、本発明では単純な距離等ではなく、空間サイズで正規化した距離等によってポリゴンを評価している。【００４３】
また、色座標系における空間サイズは、どれだけの幅の色を使用できるかという範囲に相当する。そのため、空間サイズが小さく、少ししか色が使えない場合は、１つの頂点を削除するだけでも大きく印象が変わり、また、空間サイズが大きい場合は、頂点の削除によって多少色が変わってもそれほど見かけ上の印象は変わらない。したがって、ユーザに対する見かけを重視した評価を行うため、本発明では、頂点間の色の単純な差ではなく、色の空間サイズで正規化した差でポリゴンを評価している。【００４４】
なお、テクスチャ座標データおよび法線ベクトルを用いる場合も同様の趣旨により正規化を行う。【００４５】
閾値決定部１３０は、取得したポリゴンデータの簡略化の要否の判断の際に用いる閾値を決定する。この閾値も、各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他必要に応じて決定する。この閾値は、例えば３次元位置座標値に関していうと、ある頂点から、他の２つの頂点を結ぶ線分への垂線の長さに相当する（詳細は、後述のポリゴン削減のアルゴリズムにおいて説明する）。また、この閾値は、上記空間サイズを基準にして決める必要があり、後述するように空間サイズによって正規化した値を、ポリゴンを構成する頂点について削減を行うか否かについて判断する際に使用する。【００４６】
初期線分決定部１４０は、取得したポリゴンデータに基づいて、各ポリゴンに関する初期線分の長さを決定する。この「初期線分の長さ」とは、ポリゴンの始点と終点を結ぶ線分の長さであり、この初期線分の長さもポリゴンデータの削除を行うか否かについての判断に影響を与える。この初期線分の長さも、各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）、その他必要に応じて決定する。また、この初期線分の長さも上記空間サイズを基準にして決める必要があり、後述するように空間サイズによって正規化した値を、ポリゴンを削減する（より具体的にはポリゴンの頂点を削減する）ためのアルゴリズムで使用する。与えられたポリゴンの初期線分の長さを、それぞれ上記決定した空間サイズで割って相対化し、正規化した値を求める。後述するように、この正規化した値をポリゴン削減のアルゴリズムで使用し、この正規化も、頂点の典型的な属性データである、３次元位置座標（Ｘ，Ｙ，Ｚ）値だけでなく、頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他に関しても必要に応じて計算して求める。【００４７】
簡略化判定部１５０は、上記処理で求めた結果が予め規定された簡略化基準表が示す条件に該当する（即ち、ポリゴンの簡略化を実行すべき）か否かを判定し、この判定結果をポリゴン簡略化部１６０に通知する。上記の簡略化基準表の内容を表わすデータは、当該簡略化判定部１５０が有する記憶部（図示せず）に記憶しておいてもよいし、ＲＡＭ１０３又はＲＯＭ１０４に格納されていてもよい。【００４８】
図４は、簡略化判定部１５０における判定の際に用いる簡略化基準表１７０の一例である。この簡略化基準表１７０は、グラフィックスに要するトータルの処理時間が短縮され得る条件を経験的に求めた表である。簡略化基準表１７０における「頂点色割り当て」とは、ポリゴンの各頂点に色の割り当てた場合の各面の色の補間処理をいう。また、「ライティング」は、光源とこれに基づく光の反射に関する処理をいう。また「アルファブレンド」は、二つの画像を係数（α値）により合成する処理をいう。また、「陰面消去」とは、特定の視線で見た場合の隠れた面を見えなくする処理をいう。また、「テクスチャマッピング」とは、物体の表面の質感を表現するために画像を貼り付ける処理をいう。また、簡略化基準表１７０における「正規化された閾値」とは、ポリゴンの頂点を削減する際の線分に対する正規化された基準値である（例えば、画面サイズを用いて正規化を行う。）。また、「正規化された初期線分長」とは、ポリゴン頂点の削減を行う際のポリゴンの基準辺の対する正規化された基準値である。【００４９】
図４の簡略化基準表では、
（１）描画処理の種別が陰面消去だけで他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．６２以上であること
（２）描画処理の種別がアルファブレンドだけで他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．３９以上であること
（３）描画処理の種別がアルファブレンドと陰面消去だけで他の処理がなく、正規化された閾値が０．０５以上で、正規化された初期線分長が０．３７以上であること
（４）描画処理の種別が頂点色割り当てとアルファブレンドだけで他の処理がなく、正規化された閾値が０．０８以上で、正規化された初期線分長が０．３７以上であること
（５）描画処理の種別が頂点色割り当てとアルファブレンドと陰面消去で他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．２８以上であること
の５条件が示されている。【００５０】
また、正規化された閾値と正規化された初期線分長の条件は、頂点の典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）のうち、評価の対象としている少なくとも１つのデータについて満足させる必要がある。もちろん、これらを組合せた条件について満足させることとしてもよい。【００５１】
ポリゴン簡略化部１６０は、上記簡略化判定部１５０において「ポリゴンの簡略化を実行すべき」と判定された場合に、３次元位置座標値や各頂点に付属している色値等に基づいて、実際にポリゴンの簡略化を実行する。例えば、６角形のポリゴンにおいて１つの頂点を削除して５角形のポリゴンにする場合が該当する。さらに、ポリゴン簡略化部１６０は、当該ポリゴン簡略化処理の際に一時的にデータを格納するスタックを備える。この「スタック」とは、ラストイン−ファーストアウト方式のプッシュ−プル（アップ−ダウン）式スタックをいうが、これはあくまでも一例に過ぎず、例えば、ファーストイン−ファーストアウト式のシフトレジスタのようなメモリでも構わないし、必ずしも書き込み順序と読み出し順序が特定されないランダムアクセス可能なメモリ（ＲＡＭ）等であっても構わない。【００５２】
上記の描画装置１００では、現実体感的なイメージを確保する必要があり、動画又は擬似的動画を、リアルタイムに表示しなければならない。しかも、描画装置１００に使用されるＣＰＵは、コスト的な制約や消費電力の制約等によって、必ずしも処理能力が高くないことが多い。また、表示対象となる画像は、ゲームの内容やシーンに応じて、複雑なものとなることもある。【００５３】
このように、必ずしも処理能力が高くないＣＰＵを用いて描画する場合であっても、複雑な動画像又は擬似的動画像をリアルタイムに表示するため、この描画装置１００では、ポリゴン削減を行ったほうが全体としての処理量を削減できるかどうかをまず判断し、その結果、ポリゴン削減を行ったほうが全体としての処理量を削減できると判断したときには、後述するアルゴリズムに従ってポリゴン削減を実行し、全体としての処理量を削減して、複雑な動画像又は擬似的動画像をリアルタイムに表示する。【００５４】
つまり、本発明に係る描画装置１００は、表示部１０５に描画するべきポリゴンデータが与えられたとき、制御部１０２は、ＲＡＭ１０３やＲＯＭ１０４に記録されたプログラムに従って、このポリゴンデータを削除した後に描画を実行したほうが、トータルとして高速化できるか、又はポリゴンデータを削除せずにそのまま描画を実行したほうが、トータルとして高速化できるかの判断を実行する。【００５５】
次に、図５〜図１３を参照しながら、本実施の形態に係る描画装置１００の動作について説明する。以下では、まず、ポリゴンの簡略化を行うべきか否かについての判断を行った後、ポリゴン簡略化処理の代表例として、ポリゴンの３次元位置座標値に基づいてポリゴンの簡略化を実行する実施例について説明する。さらに、ポリゴン簡略化処理の他の例として、ポリゴンの各頂点に割り当てられた色値に基づいてポリゴンの簡略化を実行する実施例について説明する。なお、上述したように、他にテクスチャ座標データや法線ベクトルに基づいて簡略化を実行することが考えられるが、基本的な処理の流れは同様であるので説明を省略する。【００５６】
図１０は、ポリゴン簡略化を行うべきか否かの判断を行う処理の流れを示すフローチャートである。【００５７】
最初に、描画種別決定部１２０は、描画情報取得部１１０において取得したポリゴンデータ等に基づいて、描画しようとするポリゴンに対して適用する描画処理の種別を決定する（Ｓ２０１）。【００５８】
さらに、描画種別決定部１２０は、ポリゴンの表示に関する空間サイズを決定する（Ｓ２０２）。【００５９】
次に、閾値決定部１３０は、処理対象のポリゴンの簡略化を行うために用いる閾値を決定する（Ｓ２０３）。【００６０】
この後、初期線分決定部１４０は、処理対象のポリゴンの初期線分の長さを求める（Ｓ２０４）。【００６１】
さらに、上記ポリゴンデータの簡略化を行うための閾値と、求められたポリゴンの初期線分長とを、それぞれ上記決定した空間サイズで割って相対化し、正規化した値を求める（Ｓ２０５）。【００６２】
最後に、上記処理で求めた結果について、図４に示す簡略化基準表を参照して一致又は不一致について検証し（Ｓ２０６）、一致するときにポリゴンの簡略化を行うと判定し（Ｓ２０７）、一致しなければポリゴン簡略化を行わないと判定する（Ｓ２０８）。【００６３】
このようにして、ポリゴンについて簡略化を行う処理に入る前に、与えられたポリゴンデータが所定の条件を満足するか否かを事前に判断し、この条件を満足するときにのみポリゴンの削減を実行する。これにより、ポリゴンの削減のために却って時間がかかり、トータルとしては高速化にならないという事態を避けることができる。【００６４】
次に、上記簡略化判定部１５０において、「ポリゴンの簡略化を行うべき」と判断された場合に実行される、ポリゴンの頂点を削減するアルゴリズムについて説明する。【００６５】
図５（ａ）〜（ｄ）は、本実施の形態における処理対象のポリゴンの一例を示す図である。また、図１１は、ポリゴンを削減する処理の流れを示すフローチャートである。また、このポリゴン削減の手続きによって実行される他の例を図６に示す。【００６６】
上記図５（ａ）〜（ｄ）の例では、頂点の典型的な属性データである、３次元位置座標値（Ｘ，Ｙ，Ｚ）の一部である２次元座標値（Ｘ，Ｙ）を用いて説明をするが、勿論、３次元位置座標値（Ｘ，Ｙ，Ｚ）によって表現されるポリゴンにも適用が可能である。また、頂点に付属している他の属性データである色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）及び法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等に関しても同様である。【００６７】
最初に、ポリゴン簡略化部１６０は、処理対象のポリゴンから１つの面（多角形）を取り出す（Ｓ４０１）。図５に示す例では、この取り出された１つのポリゴンは、図５（ａ）の多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５に相当する。【００６８】
次に、ポリゴン簡略化部１６０は、上記の取り出した多角形において、１つの基準辺を定める（Ｓ４０２）。図５（ａ）の例では、ポリゴン簡略化部１６０は、取り出した多角形は多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５であり、また、辺Ｖ０Ｖ５を基準辺とする。【００６９】
そして、この定めた基準辺をポリゴン簡略化部１６０のスタックに格納する（Ｓ４０３）。図５（ａ）の例では、辺Ｖ０Ｖ５がスタックに格納する基準辺である。【００７０】
次に、ポリゴン簡略化部１６０は、処理ループにおいて、スタックの中が空か否かを判断する（Ｓ４０４）。初めてこの判断を行うときには、上記基準辺がスタックに格納されているので、この判断結果は「Ｎｏ」になる。つまり、図５（ａ）の例では、辺Ｖ０Ｖ５がスタックに格納されているため、「Ｎｏ」に該当する。但し、これ以降処理が進み、Ｓ４０４における判断結果が「Ｙｅｓ」になると、ポリゴン簡略化の処理は終了する。【００７１】
Ｓ４０４の判断において、スタックが空でないと判断されると（Ｓ４０４でＮｏ）、ポリゴン簡略化部１６０は、このスタックから１つの辺（線分）を取り出す（Ｓ４０５）。図５（ａ）に示す例では、辺Ｖ０Ｖ５がこれに相当する。【００７２】
次に、ポリゴン簡略化部１６０は、取り出された辺の間にある頂点から、スタックから取り出された辺までの距離を計算する（Ｓ４０６）。図５（ａ）に示す例では、スタックから取り出された辺Ｖ０Ｖ５の間にある頂点とは、頂点Ｖ１、頂点Ｖ２、頂点Ｖ３及び頂点Ｖ４であり、各頂点から辺Ｖ０Ｖ５までの距離とは、各頂点（頂点Ｖ１〜Ｖ４）から辺Ｖ０Ｖ５に対して引いた垂線の長さである。【００７３】
次に、ポリゴン簡略化部１６０は、「辺−各頂点間距離計算処理」（Ｓ４０７）を実行する。この「辺−各頂点間距離計算処理」とは、取り出された辺と各頂点間距離のうち最長の距離を計算する処理をいう。さらに、ポリゴン簡略化部１６０は、計算された距離のうち、最長の距離を構成する頂点（Ｖmax）を特定する（Ｓ４０８）。図５（ａ）に示す例では、頂点Ｖ３が、最長の距離を構成する頂点に相当し、辺Ｖ３Ｈ１が、長さが最大となる距離に相当する。【００７４】
次に、ポリゴン簡略化部１６０は、最長の距離を構成する頂点から辺までの距離（図５（ａ）の例では、Ｖ３Ｈ１）が、予め定められた所定の閾値よりも大きいか否かの判断を行う（Ｓ４０９）。この「予め定められた所定の閾値」とは、ポリゴンの削減を行うか否かの判断時に決定した「与えられたポリゴンデータの簡略化を行う閾値（図１０のＳ２０３における閾値）」と同じものである。【００７５】
そして、最長の距離を構成する頂点から辺までの距離が、予め定められた所定の閾値よりも大きくなければ（Ｓ４０９でＮｏ）、この辺の間にある頂点を削除する（Ｓ４１１）。また、最長の距離を構成する頂点から辺までの距離が、予め定められた所定の閾値よりも大きければ（Ｓ４０９でＹｅｓ）、現在の基準辺の両端と、この基準辺までの長さが最大である頂点とを結ぶ線分を新たにスタックに格納する（Ｓ４１０）。図５（ａ）に示す例では、最長の距離を構成する頂点から辺までの距離Ｖ３Ｈ１が、予め定められた所定の閾値よりも大きいので（Ｓ４０９でＹｅｓ）、現在の基準辺である辺Ｖ０Ｖ５の両端と、この基準辺Ｖ０Ｖ５までの長さが最大である頂点Ｖ３とを結ぶ線分Ｖ３Ｖ０と線分Ｖ３Ｖ５を、新たにスタックに格納する（Ｓ４１０）。【００７６】
そして、上記処理ループの最初の処理（Ｓ４０４）に戻る。【００７７】
上記説明した処理ループの第１回目の処理では、図５（ａ）に示すように、簡略化の対象となる多角形は多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５であり、この場合の始点が頂点Ｖ０、終点が頂点Ｖ５として、頂点を削減するための判断を行った。そして、その結果、この処理ループでは頂点の削減が行われなかった。【００７８】
以下に説明する処理ループの第２回目以降の処理では、図５（ｂ）に示すように、簡略化の対象となる多角形が多角形Ｖ０Ｖ１Ｖ２Ｖ３（始点が頂点Ｖ０、終点が頂点Ｖ３）と、多角形Ｖ３Ｖ４Ｖ５（始点はＶ３、終点はＶ５）との２つとし、上記と同様にして頂点削減の判断を行う。【００７９】
第２回目の処理ループの最初においても、スタックの中が空か否かの判断を行う（Ｓ４０４）。以上で説明した例では、スタックに辺Ｖ０Ｖ３と辺Ｖ３Ｖ５の２つの線分が格納されているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【００８０】
そして、スタックから１つの辺（図５（ｃ）に示す例では辺Ｖ０Ｖ３）を取り出し（Ｓ４０５）、この辺の間にある各頂点（頂点Ｖ１、各Ｖ２）から取り出した辺（辺Ｖ０Ｖ３）までの距離を計算する（Ｓ４０７）。この距離は、図５（ｃ）に示す例ではＶ１Ｈ２とＶ２Ｈ３に相当する。【００８１】
次に、これらの計算した距離からその長さが最大となるものを取り出し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図５（ｃ）に示す例では２つの垂線である線分Ｖ１Ｈ２も線分Ｖ２Ｈ３も所定の閾値よりも長くはないと判定され（Ｓ４０９でＮｏ）、この辺（Ｖ０Ｖ３）の間にある頂点Ｖ１と頂点Ｖ２を削除すると判定する（Ｓ４１１）。そして再度、処理ループの最初の処理（Ｓ４０４）に戻る。【００８２】
第３回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上で説明した例では、スタックに未だ辺Ｖ３Ｖ５という１つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【００８３】
そして、スタックから残っている１つの辺（図５（ｃ）に示す例では辺Ｖ３Ｖ５）を取り出し（Ｓ４０５）、この辺の間にある頂点（頂点Ｖ４）から取り出された辺（辺Ｖ３Ｖ５）までの距離を計算する（Ｓ４０７）。この距離は、図５（ｃ）に示す例では線分Ｖ４Ｈ４に相当する。【００８４】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図５（ｃ）に示す例ではこの垂線である線分Ｖ４Ｈ４は所定の閾値よりも長くはないと判定されるため（Ｓ４０９でＮｏ）ので、取り出された辺（辺Ｖ３Ｖ５）の間にある頂点Ｖ４を削除すると判定する（Ｓ４１１）。【００８５】
上記の一連の処理によって、図５（ｄ）に示すように、頂点Ｖ１、頂点Ｖ２及び頂点Ｖ４が削除され、元の多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５が、多角形Ｖ０Ｖ３Ｖ５のように簡略化される。【００８６】
そして再度、処理ループの最初（Ｓ４０４）に戻る。上記説明した例では、これ以上スタックには辺（線分）が残っていない（Ｓ４０４でＹｅｓ）ので、この簡略化の処理を終了する。【００８７】
図１２は、上記図１１における、座標値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。なお、図１２においては、下記の（１）式を用いる。【００８８】
【数１】
2007125912.tif 000003
【００８９】
なお、上記（１）式において、Ｌxyzは、辺Ｖk−Ｖn間にある任意の頂点Ｖpから辺Ｖk−Ｖnまでの垂線の長さ（即ち、頂点Ｖpから辺Ｖk−Ｖnまでのユークリッド距離）を示す。また、Ｘkpは、上記の辺Ｖk−Ｖnの端点である頂点Ｖkと上記頂点Ｖpにおけるｘ座標上の差（即ち、Ｘkp＝Ｘp−Ｘk）を示す。以下同様に、Ｙkpは、頂点Ｖkと頂点Ｖpにおけるｙ座標上の差（即ち、Ｙkp＝Ｙp−Ｙk）を、Ｚkpは、頂点Ｖkと頂点Ｖpにおけるｚ座標上の差（即ち、Ｚkp＝Ｚp−Ｚk）をそれぞれ示す。同様に、Ｘknは、上記の頂点Ｖkと頂点Ｖnにおけるｘ座標上の差（即ち、Ｘkn＝Ｘn−Ｘk）を示す(ＹknおよびＺknのついても同様である。）。さらに、上記（１）式において、「sqrt」は平方根を、「**」はべき乗を、「*」は掛け算をそれぞれ表わしている。【００９０】
次に、上記図５の場合と同様に、図６に示すポリゴンを対象として、ポリゴン簡略化処理を実行した実施例について説明する。【００９１】
最初に、ポリゴン簡略化部１６０は、得られたポリゴンから１つの面（多角形）を取り出す（Ｓ４０１）。図６に示す例では、この取り出された１つのポリゴンは図６（ａ）の多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５に相当する。【００９２】
次に、ポリゴン簡略化部１６０は、取り出された多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５において、１つの基準辺（Ｗ０Ｗ５）を定める（Ｓ４０２）。上記図５の場合と同様に、基準辺を、多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５を描くときの始点Ｗ０と終点Ｗ５とを結ぶ線分として定める。【００９３】
そして、ポリゴン簡略化部１６０は、定められた基準辺Ｗ０Ｗ５をスタックに格納する（Ｓ４０３）。【００９４】
次に、ポリゴン簡略化部１６０は、処理ループに入り、スタックが空になったか否かを判断する（Ｓ４０４）。なお、最初の判断では、上記基準辺がスタックに格納されているので、この判断結果は「Ｎｏ」になる。【００９５】
上記判断において、スタックが空でないと判断されると（Ｓ４０４でＮｏ）、このスタックから１つの辺（線分）を取り出す（Ｓ４０５）。図６（ａ）に示す例では、辺Ｗ０Ｗ５がこの辺に相当する。【００９６】
次に、辺Ｗ０Ｗ５の間にある頂点から、この辺までの距離を計算する（Ｓ４０７）。図６（ａ）に示す例では、辺Ｗ０Ｗ５の間にある頂点とは、頂点Ｗ１、頂点Ｗ２、頂点Ｗ３及び頂点Ｗ４であり、各頂点から辺Ｗ０Ｗ５までの距離とは、各頂点（頂点Ｗ１、頂点Ｗ２、頂点Ｗ３又は頂点Ｗ４）から辺Ｗ０Ｗ５に対して引いた垂線の長さである。【００９７】
次に、ポリゴン簡略化部１６０は、計算された距離の中から長さが最大となる頂点を特定する（Ｓ４０８）。図６（ａ）に示す例では、頂点Ｗ３が、最長の距離を構成する頂点に相当し、線分Ｗ３Ｋ１が最長の距離に相当する。【００９８】
次に、この長さが最大である頂点から辺までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きいか否かの判断を行う（Ｓ４０９）。【００９９】
そして、この長さが最大である頂点から辺までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きくなければ（Ｓ４０９でＮｏ）、この辺の間にある頂点を削除する（Ｓ４１１）。図６（ａ）に示す例では、長さが最大である頂点Ｗ３から辺Ｗ０Ｗ５までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きいので（Ｓ４０９でＹｅｓ）、現在の基準辺Ｗ０Ｗ５の両端と、この基準となる辺までの長さが最大である頂点Ｗ３とを結ぶ線分Ｗ３Ｗ０と線分Ｗ３Ｗ５を、新たにスタックに格納する（Ｓ４０９）。【０１００】
そして、上記処理ループの最初（Ｓ４０４）に戻る。【０１０１】
上記説明した処理ループの第１回目の処理では、図６（ａ）に示すように、簡略化の対象となる多角形を多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５とし、この始点を頂点Ｗ０、終点を頂点Ｗ５として、頂点削減の判断を行った。そして、その結果、この処理ループでは頂点削減を行わなかった。ここまでの処理は、上記図５を使った例の説明と変わらない。【０１０２】
以下に説明する処理ループの第２回目以降の処理では、図６（ｂ）に示すように、簡略化の対象となる多角形を多角形Ｗ０Ｗ１Ｗ２Ｗ３（始点は頂点Ｗ０、終点は頂点Ｗ３）と、多角形Ｗ３Ｗ４Ｗ５（始点は頂点Ｗ３、終点は頂点Ｗ５）との２つとし、上記と同様にして頂点削減の判断を行う。【０１０３】
第２回目の処理ループの最初に、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ３と線分Ｗ３Ｗ５との２つの線分が格納されているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【０１０４】
そして、スタックから１つの辺（図６（ｃ）に示す例では辺Ｗ０Ｗ３）を取り出し（Ｓ４０５）、この辺Ｗ０Ｗ３の間にある頂点Ｗ１及び頂点Ｗ２から辺（Ｗ０Ｗ３）までの距離を計算する（Ｓ４０７）。この距離は、図６（ｃ）に示す例では線分Ｗ１Ｋ２と線分Ｗ２Ｋ３に相当する。【０１０５】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図６（ｃ）に示す例では、線分Ｗ２Ｋ３がこの長さが最大となる距離に相当し、この距離は所定の閾値よりも長い（Ｓ４０９でＹｅｓ）ので、この頂点Ｗ２と現在の基準辺Ｗ０Ｗ３の両端とを結ぶ２つの線分を、スタックに新たに格納する（Ｓ４０９）。即ち、線分Ｗ０Ｗ２と線分Ｗ２Ｗ３との２つの線分が新たにスタックに格納されることになる。そして再度、処理ループの最初（Ｓ４０４）に戻る。【０１０６】
第３回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ２、線分Ｗ２Ｗ３及び線分Ｗ３Ｗ５という３つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【０１０７】
そして、スタックから残っている１つの辺を取り出す（Ｓ４０５）。【０１０８】
このとき、どの辺が取り出されるかは実施の形態によって変わり得るが、実質的にはどの辺を取り出したとしても変わらないので、ここでは仮に線分Ｗ３Ｗ５が取り出されたと仮定する。【０１０９】
そして、この線分Ｗ３Ｗ５の間にある頂点Ｗ４から辺Ｗ３Ｗ５までの距離を計算する（Ｓ４０７）。この距離は、図６（ｃ）に示す例では線分Ｗ４Ｋ４に相当する。【０１１０】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０８）。図６（ｃ）に示す例ではこの垂線である線分Ｗ４Ｋ４は所定の閾値よりも長くはない（Ｓ４０９でＮｏ）ので、この線分Ｗ３Ｗ５の間にある頂点Ｗ４を削除する（Ｓ４１１）。そして再度、処理ループの最初の処理（Ｓ４０４）に戻る。【０１１１】
第４回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ２及び線分Ｗ２Ｗ３という２つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【０１１２】
そして、スタックから残っている１つの辺を取り出す（Ｓ４０５）。【０１１３】
ここでは仮に線分Ｗ０Ｗ２が取り出されたと仮定する。【０１１４】
そして、この線分Ｗ０Ｗ２の間にある頂点Ｗ１から線分Ｗ０Ｗ２までの距離を計算する（Ｓ４０６）。この距離は所定の閾値よりも長くはない（Ｓ４０８でＮｏ）ので、この線分Ｗ０Ｗ２の間にある頂点Ｗ１を削除する（Ｓ４１１）。そして再度、処理ループの最初（Ｓ４０４）に戻る。【０１１５】
第５回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに辺Ｗ２Ｗ３という１つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。【０１１６】
そして、スタックから残っている線分Ｗ２Ｗ３を取り出す（Ｓ４０５）。【０１１７】
そして、この辺の間には頂点が存在しないので以下の処理は行わず、再度、処理ループの最初（Ｓ４０４）に戻る。【０１１８】
この段階ではこれ以上スタックには辺は存在しない（Ｓ４０４でＹｅｓ）ので、この簡略化の処理を終了する（Ｓ４１１）。【０１１９】
これらの一連の処理によって、図６（ｄ）に示すように、頂点Ｗ１及び頂点Ｗ４が削除され、元の多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５が、多角形Ｗ０Ｗ２Ｗ３Ｗ５のように簡略化される。【０１２０】
以上説明したように、本発明の実施の形態では、与えられたポリゴンを構成する１つの多角形に対して、トータルとして高速化が可能かどうかを事前に判断又は予想した上で、ポリゴンの簡略化を行うことができる。また、この簡略化されたポリゴンに対してシェーディング処理等の描画処理を実行することによって、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することを可能にすると共に、違和感のない動画像を表示することができる。【０１２１】
上記では、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例について説明したが、ポリゴンを表示する際の光の３原色（Ｒｅｄ、Ｇｒｅｅｎ及びＢｌｕｅ）に着目してポリゴン簡略化処理を実行することも可能である。ポリゴンの頂点の位置座標のみに基づいて頂点の削減を行うと、例えば、隣り合う色が黒と白など極端に違う時でも一方が削除されてしまい、視覚的に大きく変わってしまうことがある。そこで、ポリゴンの色の変化が激しい場合などには、頂点の位置座標だけではなく、色による評価も加味することにより、視覚的に違和感なくポリゴンの簡略化を可能にすることとする。【０１２２】
以下、図７〜図９、図１１及び図１３を参照しながら、ポリゴンを表示する際の３原色に着目してポリゴン簡略化処理を実行する実施例について説明する。なお、上記ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例と同じ内容については同じ符番を付し、その説明は省略する。【０１２３】
図７（ａ）は、描画情報取得部１１０を介して入力したポリゴンの一例を示す図である。図７（ａ）に示されるポリゴンは、６角形であり、各頂点（頂点Ｖ０〜Ｖ５）に色が定義されている。また、図７（ｂ）は、上記図７（ａ）に示されるポリゴンの詳細な態様をまとめた表であり、各頂点における座標値（ｘ，ｙ，ｚ）と色値（Ｒ，Ｇ，Ｂ）が定義されている。【０１２４】
図８（ａ）〜（ｆ）は、上記図７（ａ）のポリゴンについて、上記のポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する方法と同様の方法で、各頂点の色に着目してポリゴン簡略化処理を実行した過程を示す図である（なお、図８（ａ）〜（ｆ）は、より実際の色空間に合わせて各頂点の配置を行っているため、上記図７（ａ）に示すポリゴンの形状とは異なっている。）。【０１２５】
最初に、図８（ａ）に示すように、辺Ｖ０Ｖ５を基準辺として、頂点Ｖ１〜頂点Ｖ４について削除が可能か否かを判定する。図８（ａ）の場合は、線分Ｖ２Ｈ１が閾値より長いため、頂点Ｖ１〜頂点Ｖ４については削除がされない様子が示されている。【０１２６】
次に、図８（ｂ）には、基準辺として、新たに線分Ｖ０Ｖ２と線分Ｖ２Ｖ５を特定した様子が示されている。【０１２７】
さらに、図８（ｃ）に示されるように、基準辺を辺Ｖ０Ｖ２とした場合の頂点Ｖ１が削除可能か否か、及び基準辺を辺Ｖ２Ｖ５とした場合の頂点Ｖ３と頂点Ｖ４が削除可能か否かを判定する。図８（ｃ）の判定結果は、図８（ｄ）に示されるように、線分Ｖ１Ｈ２は閾値よりも短いため頂点Ｖ１の削除は可能であるが、線分Ｖ３Ｈ３が閾値より長いため、頂点Ｖ３及び頂点Ｖ４については削除がされない様子が示されている。【０１２８】
以下同様に判定した結果、図８（ｅ）に示されるように、基準辺を線分Ｖ３Ｖ５とした場合には線分Ｖ４Ｈ４が閾値よりも短いため、頂点Ｖ４は削除が可能と判定される。【０１２９】
以上の結果、図７（ａ）に示すポリゴンにおける各頂点の色値に着目した場合は、頂点Ｖ１と頂点Ｖ４が削除可能であると判定される。【０１３０】
上述の各頂点の色値に着目して簡略化処理を実行した場合に特定された（頂点Ｖ１及び頂点Ｖ4）と、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行した場合に特定された（頂点Ｖ１、頂点Ｖ１及び頂点Ｖ４）で共通する（頂点Ｖ１及び頂点Ｖ４）のみを削除することで、図７（ａ）に示すポリゴンに対して頂点の位置座標だけではなく、色による評価も加味した簡略化が完了する。簡略化完了後のポリゴンを図９に示す。【０１３１】
図１３は、上記図１１における、色値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。【０１３２】
頂点Ｖｐから色データ（Ｒｐ，Ｇｐ，Ｂｐ）を取り出す処理（Ｓ６０２）並びに端点Ｖｋ及び端点Ｖｎから取り出した色データに基づいて距離Ｌｒｇｂを算出する点以外、上記の図１２の処理と同じである。なお、図１３においては、下記の（２）式及び（３）式を用いる。【０１３３】
【数２】
2007125912.tif 000004
【０１３４】
なお、上記（２）式において、Ｌrgbは、辺Ｖk−Ｖn間にある任意の頂点Ｖpの色から辺Ｖk−Ｖnにおける平均色までの色合い上の遠さを示す。また、Ｒkpは、上記の辺Ｖk−Ｖnの端点である頂点Ｖkにおける赤色と上記頂点Ｖpにおける赤色の強さの差（即ち、Ｒkp＝Ｒp−Ｒk）を示す。以下同様に、Ｇkpは、頂点Ｖkにおける緑色と頂点Ｖpにおける緑色の強さ差（即ち、Ｇkp＝Ｇp−Ｇk）を、Ｂkpは、頂点Ｖkにおける青色と頂点Ｖpにおける青色の強さの差（即ち、Ｂkp＝Ｂp−Ｂk）をそれぞれ示す。同様に、Ｒknは、上記の頂点Ｖkにおける赤色と頂点Ｖnにおける赤色の強さの差（即ち、Ｘkn＝Ｘn−Ｘk）を示す(ＧknおよびＢknのついても同様である。）。さらに、上記（２）式において、「sqrt」は平方根を、「**」はべき乗を、「*」は掛け算をそれぞれ表わしている。【０１３５】
【数３】
2007125912.tif 000005
【０１３６】
なお、上記（３）式において、Ｌrgbは、頂点Ｖｋと頂点Ｖｐの間の色合い上の遠さを示す。ここで、色データを用いる場合には、３次元座標系の場合と異なり、異なる頂点に同一の値が割り当てられることがある。この場合は、頂点Ｖｋ（又はＶｎ）の色と辺Ｖｋ−Ｖｎの平均の色合いとは同じになるので、上記（３）式のような式を用いる。なお、頂点Ｖｋの代わりに頂点ＶｐとＶｎとの遠さを求めたり、上記（２）式と同じ式により頂点Ｖｐと辺Ｖｋ−Ｖｎの平均の色合いとの遠さを求めた場合でも、結果は同一となる。したがって、（３）式の代わりに上記のような遠さを求める式を用いてもよい。【０１３７】
以上で説明したように、本実施の形態に係る描画装置等によれば、ポリゴンにおける各頂点の色値に着目した場合であっても、ポリゴンの２次元又は３次元の座標値に着目した場合と同様の手法で、各頂点を削除の可否について判定することが可能である。【０１３８】
また、上記実施の形態では、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例、及びポリゴンにおける各頂点の２次元又は３次元の座標と色値を組み合わせて簡略化処理を実行する実施例について説明したが、もちろん、頂点の位置や色以外の、例えば法線ベクトルやテクスチャ座標も組み合わせてポリゴンの簡略化の適否について評価を行うこととしてもよい。また、色、法線ベクトル、テクスチャ座標それぞれ単独にのみに着目してポリゴン簡略化の適否について評価を行うこととしてもよい。【０１３９】
（実施の形態２）
上記実施の形態１では、描画情報取得部１１０で取得したポリゴンが「ＦＡＮ型」で定義されている場合の実施例について説明したが、本実施の形態では、「ＳＴＲＩＰ型」で定義されたポリゴンを「ＦＡＮ型」に変換した上でポリゴン簡略化処理を行う実施例について説明する。【０１４０】
本実施の形態に係る描画装置では、上記実施の形態１に係る描画装置１００における描画情報取得部１１０が、さらに、ＳＴＲＩＰ型で定義されたポリゴンをＦＡＮ型に変換する機能を有することを特徴とする。それ以外の機能構成については、上記実施の形態１に係る描画装置１００と同じである。【０１４１】
図１４は、多角形（図１４の場合は６角形）のポリゴンを定義する場合の２つの形式を示す図である。図１４で示されるように、ＳＴＲＩＰ型で定義されたポリゴン（ＳＴＲＩＰ型ポリゴン）は、上から下に（例えば、各頂点のｙ座標の値に沿って）ジグザグ状に定義する方式であり、ＦＡＮ型で定義されたポリゴン（ＦＡＮ型ポリゴン）は、閉ループ状に時計回りに定義する方式である。ここで、ＳＴＲＩＰ型で定義した場合もＦＡＮ型で定義した場合も各頂点の座標自体は同じであるため、ＳＴＲＩＰ型ポリゴンとＦＡＮ型ポリゴンは相互に変換が可能である。【０１４２】
なお、本実施の形態で、「ＳＴＲＩＰ型」で定義されたポリゴンを「ＦＡＮ型」に変換する理由は、以下の通りである。上記実施の形態１においてポリゴンの頂点の削減に用いたアルゴリズムは、線分列の形状をなるべく維持する性質がある。しかしながら、ＳＴＲＩＰ型で定義されたポリゴンは、線分列の形と外周が一致しないので、このアルゴリズムを無理に適用すると不自然な変換がなされしまうことがある。したがって、実施の形態１では、ＦＡＮ型のポリゴンのみを対象としていたが、それでは取り扱うことの出来るポリゴンの種類が限定されてしまうととなり、十分な簡略化が出来ない。そこで、本実施の形態では、その欠点を解消するために当該変換を行っている。【０１４３】
次に、本実施の形態に係る描画情報取得部における、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順について、図１５及び図１６を参照しながら説明する。【０１４４】
図１５は、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順を説明するための図である。また、図１６は、本実施の形態に係る描画情報取得部における処理の流れを示すフローチャートである。【０１４５】
最初に、当該描画情報取得部は、ＳＴＲＩＰ型で定義されたポリゴンの頂点データを入力すると（Ｓ７０１）、ポリゴンの全ての頂点をｘ座標でソートする（Ｓ７０２）。本実施の形態では、ソートした頂点を、ｖｓ’（０）、ｖｓ’（１）・・・ｖｓ’（ｎ−１）と表している。なお、ｎはポリゴンの全頂点数である。【０１４６】
次に、当該描画情報取得部１１０は、初期化処理として「ｖｆ（０）＝ｖｓ’（０）」を定義する（Ｓ７０３）。ここで、ｖｆは、ＦＡＮ型に変換した後の頂点を示す記号であり、ｖｆ（０）、ｖｆ（１）・・・ｖｆ（ｎ−１）と表される。【０１４７】
さらに、当該描画情報取得部は、上記ｖｓ’（０）よりｙ座標で上にある頂点を順次検索（上側を検索）しながら、ｖｆ（１）以降の頂点を順次定義する（Ｓ７０４）。つまり、ｙ座標上で上にある頂点を、ｘ座標が昇順になるよう調べていけば時計回りになる（ｖｓ’のように、ｘ座標の順序でソートした頂点を定義しているのは、この際の検索に使うためである。）。【０１４８】
さらに、当該描画情報取得部は、頂点ｖｓ’（ｎ−１）よりｙ座標で下にある頂点を順次検索（下側を検索）しながら、Ｓ７０４の処理が終わった時点で未定義の頂点ｖｆを順次定義する（Ｓ７０５）。つまり、ｙ座標上で下にある頂点を、ｘ座標が降順になるよう調べていけば時計周りになる。【０１４９】
このような順序で頂点ｖｆを定義することにより、ＳＴＲＩＰ型で定義されているポリゴンデータの頂点の列を時計回りの列に変換できるので、ＦＡＮ型で定義されたポリゴンデータに変換することが出来る。【０１５０】
以上で説明したように、本実施の形態に係る描画装置等は、ＳＴＲＩＰ型で定義されているポリゴンデータをＦＡＮ型のポリゴンデータに変換するので、入力されるポリゴンデータの形式に柔軟に対応することができる。【０１５１】
（変形例）
さらに、上記図１２又は図１３では、ユークリッド距離を用いた算出式を用いたが（（１）式〜（３）式）、８近傍距離を使った算出式を適用することもできる（下記（４）式〜（６）式を参照）。【０１５２】
【数４】
2007125912.tif 000006
【０１５３】
【数５】
2007125912.tif 000007
【０１５４】
【数６】
2007125912.tif 000008
【０１５５】
さらに、４近傍距離を使った算出式を適用することもできる（下記（７）式〜（９）式を参照）。【０１５６】
【数７】
2007125912.tif 000009
【０１５７】
【数８】
2007125912.tif 000010
【０１５８】
【数９】
2007125912.tif 000011
【０１５９】
具体的には、上記（１）式の代わりに（４）式又は（７）式を用いてもよい。また、上記（２）式の代わりに（５）式又は（８）式を用いてもよい。さらに、上記（３）式の代わりに（６）式又は（９）式を用いてもよい。【０１６０】
また、上述したように、実施の形態１又は実施の形態２では、正規化、距離の計測及びポリゴンの頂点の削減等は同じ座標系で行っているが、別々の座標系を使う（例えば、３次元座標で測った距離を色座標の空間サイズで正規化する）ことも可能である。【０１６１】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。【０１６２】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。【０１６３】
（２）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。【０１６４】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。【０１６５】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。【０１６６】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。【０１６７】
（３）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。【０１６８】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。【０１６９】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blue-ray Disc）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。【０１７０】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。【０１７１】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。【０１７２】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム若しくは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。【０１７３】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせることとしてもよい。
【産業上の利用可能性】
【０１７４】
本発明は、携帯電話機、ＰＤＡ（Personal Digital Assistants）又はゲーム機等の必ずしも処理能力は高くないが、コンピュータ・グラフィックスを表示する機器に利用可能であり、その産業上の利用可能性は極めて高い。
【図１】
2007125912.tif 000012
【図２】
2007125912.tif 000013
【図３】
2007125912.tif 000014
【図４】
2007125912.tif 000015
【図５】
2007125912.tif 000016
【図６】
2007125912.tif 000017
【図７】
2007125912.tif 000018
【図８】
2007125912.tif 000019
【図９】
2007125912.tif 000020
【図１０】
2007125912.tif 000021
【図１１】
2007125912.tif 000022
【図１２】
2007125912.tif 000023
【図１３】
2007125912.tif 000024
【図１４】
2007125912.tif 000025
【図１５】
2007125912.tif 000026
【図１６】
2007125912.tif 000027
【手続補正書】
【提出日】平成20年9月30日(2008.9.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、
前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段とを備え、
前記基準情報には、前記ポリゴンを構成するある頂点から他の２つの頂点間を結ぶ線分への垂線の長さが、予め定められた閾値よりも短いという条件を含む
描画装置。
【請求項２】
前記コンピュータ・グラフィックスに使用され得る描画処理の内容は、
頂点色割り当て、ライティング、陰面消去、アルファブレンド、テクスチャマッピングの少なくとも１つを含む
請求項１記載の描画装置。
【請求項３】
前記ポリゴンを構成する頂点はその属性データとして、位置座標データ、色データ、テクスチャ座標データ、法線方向データの少なくとも１つを保有し、
前記ポリゴン簡略化手段は、
前記取り出した線分までの距離の最大値は、前記保有する全ての属性データについて求め、当該求めた最大値が全ての属性データに対して所定の閾値よりも大きくないときに前記取り出した線分の間にある各頂点を削除する
請求項１記載の描画装置。
【請求項４】
前記描画情報取得手段は、ＦＡＮ型で定義されたポリゴンを取得し、
前記簡略化判定手段は、前記ＦＡＮ型で定義されたポリゴンについて前記判定を行い、
前記ポリゴン簡略化手段は、前記ＦＡＮ型で定義されたポリゴンについて前記簡略化を行い、
前記描画手段は、前記ＦＡＮ型で定義されたポリゴンを用いて、コンピュータ・グラフィックスを実行する
請求項１記載の描画装置。
【請求項５】
前記描画情報取得手段は、さらに、ＳＴＲＩＰ型で定義されたポリゴンを取得すると、当該ＳＴＲＩＰ型で定義されたポリゴンをＦＡＮ型で定義されたポリゴンに変換する
請求項４記載の描画装置。
【請求項６】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップとを含み、
前記簡略化ステップでは、
（１）前記ポリゴンから１つの面を囲む頂点を抽出し、
（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、
（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、
（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、
（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、
（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、
（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返す
描画方法。
【請求項７】
描画装置に用いる、コンピュータに実行させるためのプログラムであって、
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップとを含み、
前記簡略化ステップでは、
（１）前記ポリゴンから１つの面を囲む頂点を抽出し、
（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、
（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、
（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、
（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、
（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、
（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返す
プログラム。
【請求項８】
描画装置に用いられるプログラムが記録された、コンピュータが読み取り可能な記録媒体であって、
前記プログラムは、
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、
前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップとを含み、
前記簡略化ステップでは、
（１）前記ポリゴンから１つの面を囲む頂点を抽出し、
（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、
（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、
（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、
（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、
（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、
（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返す
記録媒体。
【請求項９】
コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、
実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、
前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、
前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、
前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段とを備え、
前記基準情報には、前記ポリゴンを構成するある頂点から他の２つの頂点間を結ぶ線分への垂線の長さが、予め定められた閾値よりも短いという条件を含む
集積回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ、各種情報機器、携帯電話機又はゲーム機等におけるコンピュータ・グラフィックス技術に関し、特に曲面又は曲線の近似技術に関するものである。
【背景技術】
【０００２】
３次元のコンピュータ・グラフィックスにおいては、３次元曲面等を多角形のポリゴン等で近似して描画している。
【０００３】
従来、多角形のポリゴンを用いた描画処理には膨大な処理時間が必要となるため、ポリゴンの頂点を削減することによって、描画処理の簡素化を図る技術が開示されている（例えば、特許文献１参照）。
【０００４】
図１は、上記従来のテクスチャデータ生成装置のブロック図である。従来のテクスチャデータ生成装置は、ポリゴン削減手段１によってポリゴンの数を削減する。また、頂点位置計算手段２は、ポリゴン削減手段１で削除された頂点が、新たな三角形パッチのどの位置に対応するかを計算し、削除された頂点における輝度値を保存する。さらに、多面体展開図作成手段３によって、ポリゴンの展開図を２次元画像領域に作成する。このとき、画素値補間手段４において画像領域の各格子点での輝度値を求めている。
【特許文献１】特開平７−１６０８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ポリゴンの頂点を削除する処理自体にも時間を要するため、従来のポリゴンの頂点を削除する方法においても、トータルの描画時間として考えた場合に、確実に処理時間の短縮ができないという課題がある。
【０００６】
つまり、ポリゴン頂点の削除処理を行う効果がない場合（即ち、頂点を削除すると大きく形状が変化して違和感を生じさせてしまうため結局削除しない場合）には、削除処理を実行した分だけ無駄に処理時間を費やしてしまい、トータルの描画時間として遅くなってしまうことがある。
【０００７】
さらに、近年、携帯電話機や携帯型ゲーム機等の必ずしも処理性能が高くない機器においても、違和感のない速度で移動する３次元物体を表示したいというニーズが高まっており、このようなニーズに対して、従来のポリゴン頂点削除方法では充分応えることが困難である。
【０００８】
そこで、本発明は、処理能力が必ずしも高くない機器であっても、ポリゴンの簡略化を可能にすると共に、コンピュータ・グラフィックスにおけるトータル処理時間の短縮が可能な描画装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は上記のような課題を解決するために行われたものであり、以下のような構成を有する。
【００１０】
本発明に係る描画装置は、コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状の特徴とを含む基準情報を取得する基準情報取得手段と、実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得手段と、前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定手段と、前記簡略化判定手段において前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行うポリゴン簡略化手段と、前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画手段とを備えることを特徴とする。
【００１１】
このような構成によって、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことができるとともに、ポリゴン近似を使った３次元物体の描画を、計算能力が高いＣＰＵを必ずしも有していなくても、高速に実行することが可能な描画装置を提供することができる。
【００１２】
また、前記コンピュータ・グラフィックスに使用され得る描画処理の内容は、頂点色割り当て、ライティング、陰面消去、アルファブレンド、テクスチャマッピングの少なくとも１つを含むことを特徴とする。
【００１３】
このような構成によって、具体的な画像処理の内容を勘案したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。
【００１４】
また、前記基準情報には、前記ポリゴンを構成するある頂点から他の２つの頂点間を結ぶ線分への垂線の長さが、予め定められた閾値よりも短いという条件を含むことを特徴とする。
【００１５】
このような構成によって、ポリゴンを構成する重要な要素である頂点の座標値とそのポリゴンの形状とに与える影響を評価したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。
【００１６】
また、前記ポリゴンを構成する頂点はその属性データとして、位置座標データ、色データ、テクスチャ座標データ、法線方向データの少なくとも１つを保有し、前記ポリゴン簡略化手段は、前記取り出した線分までの距離の最大値は、前記保有する全ての属性データについて求め、当該求めた最大値が全ての属性データに対して所定の閾値よりも大きくないときに前記取り出した線分の間にある各頂点を削除することを特徴とする。
【００１７】
このような構成によって、ポリゴンを構成する要素として頂点の座標値とそのポリゴンの形状だけでなく、色やテクスチャや法線方向に与える影響をも併せて評価したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。
【００１８】
さらに、本発明に係る描画方法は、コンピュータ・グラフィックスに使用され得る描画処理の種別とポリゴンの形状上の特徴とを含む基準情報を取得する基準情報取得ステップと、実際のコンピュータ・グラフィックスに使用する描画処理の種別を示す情報とポリゴンの形状を示す情報を含む描画情報を取得する描画情報取得ステップと、前記描画情報によって示される前記描画処理の種別と前記ポリゴンの形状が、前記基準情報によって示される基準を満たすか否かを判定する簡略化判定ステップと、前記簡略化判定ステップにおいて前記基準を満たすと判定された場合に、前記ポリゴンを構成する頂点の削減を行うことによって前記ポリゴンの簡略化を行う簡略化ステップと、前記頂点が削減されたポリゴンを用いて、コンピュータ・グラフィックスを実行する描画ステップとを含むことを特徴とする。
【００１９】
このような構成によって、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことを可能にすると共に、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することが可能になる。
【００２０】
また、前記簡略化ステップでは、（１）前記ポリゴンから１つの面を囲む頂点を抽出し、（２）前記１つの面を囲む頂点の始点と終点を結ぶ線分をメモリに記憶し、（３）前記メモリに記憶している線分の有無を判断し、それが有れば前記メモリから１つの線分を取り出し、（４）取り出した線分の間にある各頂点から前記取り出した線分までの距離の最大値を求め、（５）前記最大値が所定の閾値よりも大きくなければ前記取り出した線分の間にある各頂点を削除し、（６）前記最大値が所定の閾値よりも大きければ前記距離が最大値となる頂点と前記取り出した線分の両端点とを結ぶ２つの線分を前記メモリに記憶し、（７）前記メモリに記憶している線分が無くなるまで前記（３）〜（６）の処理を繰り返すことを特徴とする。
【００２１】
このような構成によって、ポリゴンを構成する重要な要素である頂点の座標値とそのポリゴンの形状とに与える影響の評価を具体的なアルゴリズムによって高速に実行したうえで、トータルとして高速化可能かどうかを事前に判断或いは予想してポリゴンデータの簡略化を行うことができる。
【００２２】
なお、本発明は、上記描画装置における特徴的な構成手段を備える集積回路として実現したり、上記描画方法の各々のステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのプログラムをＤＶＤ等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのは云うまでもない。
【００２３】
本発明に係る描画装置等を用いることにより、トータルとして高速化可能かどうかを事前に判断或いは予想したうえでポリゴンデータの簡略化を行うことができるとともに、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することが可能になり、違和感のない動画像を表示することが可能になる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明に係る実施の形態について、図面を参照しながら説明する。なお、本発明について、以下の実施の形態および添付の図面を用いて説明を行うが、これは例示を目的としており、本発明がこれらに限定されることを意図しない。
【００２５】
（実施の形態１）
図２は、本実施の形態に係る描画装置１００の構成の概略を示す図である。本実施の形態に係る描画装置１００は、ポリゴンに含まれる各頂点における属性データである３次元位置座標値、頂点に付属している色値、テクスチャ座標データ、又は法線ベクトルに基づいてポリゴンの簡略化を行う装置である。また、以下に示す描画方法は、この描画装置１００等において用いられる。但し、描画装置１００は、本発明に係る描画装置を説明するための１つの具体例であり、必ずしも描画装置１００に限るものではなく、例えば携帯電話機やパソコンを始めとする、他の電子機器であってもよい。
【００２６】
図２に示されるように、描画装置１００は、その主要な構成要素として、制御部１０２、ＲＡＭ１０３、ＲＯＭ１０４、表示部１０５、操作部１０６及び通信部１０７を備える。なお、描画装置１００は、上記の他に電源や筐体等、多くの要素を含んでもよいが、本発明と直接関係ないため省略することとする。
【００２７】
上記の主要な構成要素は内部バス１０８を介して接続されており、必要に応じてデータのやり取りを実行する。
【００２８】
制御部１０２は、例えばマイクロコンピュータ（以下「マイコン」ともいう。）等を始めとするコンピュータであり、描画装置１００の各部の動作を制御する。なお、制御部１０２は、必ずしも独立したものでなく、システムＬＳＩに含まれるマイコンコア等であっても構わない。また、制御部１０２は、必ずしも汎用的なマイコンでなく、特定の用途や目的に特化したものであっても構わない。
【００２９】
ＲＡＭ１０３は、ＤＲＡＭ（Ｄｙｎａｍｉｃ−ＲＡＭ）を始めとする読み書き可能な半導体メモリであり、固定式や、ＳＤメモリカードのように着脱可能なものであっても構わない。さらに、ＲＡＭ１０３は、必要に応じて各種のデータ（プログラムも含む）を一時的又は長期的に記憶する。また、電源ＯＦＦ時に記憶内容が消失するタイプのものでも、電源ＯＦＦ時に記憶内容が消失しないタイプのどちらでもよいし、両方のタイプが混在していてもよい。
【００３０】
ＲＯＭ１０４は、読み出し専用のメモリであり、各種のプログラムや、変更されることのないデータ又は変更されると支障があるデータ（機器ＩＤ番号等を含む。）を記憶する。また、ＲＯＭ１０４は、半導体メモリの他、磁気的な記録方式や光学的な記録方式によるものでもよいし、これらが混在していてもよい。
【００３１】
これらのＲＡＭ１０３とＲＯＭ１０４のどちらか一方又は両方に、本発明の一実施の形態であるプログラムが記録されて制御部１０２によって実行され、このＲＡＭ１０３とＲＯＭ１０４のどちらか一方又は両方に、本発明に係る描画方法を実現し得るプログラムが記録されているものとする。
【００３２】
表示部１０５は、例えば、液晶表示パネルやＥＬディスプレイパネルであり、画像、文字又は記号等を可視的に表示する機能を有する。
【００３３】
操作部１０６は、押しボタン、キースイッチ、タッチパネル、ポインティングデバイス、十字キーなど、各種の情報を入力する機能を有する。
【００３４】
通信部１０７は、無線ＬＡＮや有線ＬＡＮ、可視光線や赤外線を使った通信、公衆ネットワークや専用ネットワークとの通信、その他の各種通信を行い、他の機器とデータをやり取りするためのもので、どのようなものであっても構わない。
【００３５】
本実施の形態に係る描画装置１００では、ＲＯＭ１０４又はＲＡＭ１０３に記憶されているプログラムに従って、ユーザはゲームを行うことができる。ユーザは、ゲームの操作を操作部１０６で行い、ゲーム画像は表示部１０５に表示される。ゲーム画像の元になるデータは、ＲＯＭ１０４やＲＡＭ１０３に記憶されているデータから与えられるか、ＲＯＭ１０４やＲＡＭ１０３に記憶されているデータに基づいて計算され、ポリゴンデータとして与えられる。そして、このポリゴンデータに基づいて、ゲームの種類やシーンに応じて必要な画像処理、例えば、頂点色割り当て、ライティング、アルファブレンド、陰面消去、テクスチャマッピングが実行され、その結果生成された画像が表示部１０５に表示される。
【００３６】
図３は、本実施の形態に係る描画装置１００の制御部１０２の機能構成を示すブロック図である。図３に示されるように、制御部１０２は、描画情報取得部１１０、描画種別決定部１２０、閾値決定部１３０、初期線分決定部１４０、簡略化判定部１５０及びポリゴン簡略化部１６０を備える。
【００３７】
描画情報取得部１１０は、内部バス１０８を介して、ポリゴンデータや各種パラメータ等を取得する。この場合のポリゴンデータは、ＦＡＮ型で定義されたポリゴンデータとする。ここで、「ＦＡＮ型」とは、ポリゴンデータを構成する各頂点が、閉ループ状に時計回りで定義されていることをいう。
【００３８】
描画種別決定部１２０は、取得されたポリゴンデータ等に基づいて、実行する描画処理の種別を決定する。この描画処理の種別には、頂点色割り当て、ライティング、アルファブレンド、陰面消去、テクスチャマッピング等があり、取得したポリゴンデータや実行中のゲームの種類から一意的に決定したり、ゲーム等のシーンや操作内容等に応じて決定する。さらに、描画種別決定部１２０は、取得したポリゴンデータによって表わされるポリゴンが存在する空間のサイズ（即ち、ポリゴンを表示する際の所定の空間の最大範囲）を決定する（以下「空間サイズ」という）。この空間サイズは、ポリゴンに含まれる各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他必要に応じて決定する。この空間サイズは、後述するポリゴンデータを削減する際の判断において、種々の関連するデータをそのまま絶対値として用いるのではなく、この空間サイズに対する相対値として正規化する際に用いる。
【００３９】
以下、３次元座標系および上記の色値（以下では色座標系とも呼ぶ）について、データを正規化して用いる理由を述べる。
【００４０】
３次元座標系における空間サイズは、基本的にはディスプレイ全体に対応する位置座標の範囲に相当する。ここで、ディスプレイのサイズは変わらないので、空間サイズが大きいと座標系上では大きいポリゴンでも見かけ上は小さく見えるため、多少ポリゴンの頂点の削減を行っても見かけ上は分かりにくい。したがって、ユーザに見える見かけを重視した評価を行うため、本発明では単純な距離等ではなく、空間サイズで正規化した距離等によってポリゴンを評価している。
【００４１】
また、色座標系における空間サイズは、どれだけの幅の色を使用できるかという範囲に相当する。そのため、空間サイズが小さく、少ししか色が使えない場合は、１つの頂点を削除するだけでも大きく印象が変わり、また、空間サイズが大きい場合は、頂点の削除によって多少色が変わってもそれほど見かけ上の印象は変わらない。したがって、ユーザに対する見かけを重視した評価を行うため、本発明では、頂点間の色の単純な差ではなく、色の空間サイズで正規化した差でポリゴンを評価している。
【００４２】
なお、テクスチャ座標データおよび法線ベクトルを用いる場合も同様の趣旨により正規化を行う。
【００４３】
閾値決定部１３０は、取得したポリゴンデータの簡略化の要否の判断の際に用いる閾値を決定する。この閾値も、各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他必要に応じて決定する。この閾値は、例えば３次元位置座標値に関していうと、ある頂点から、他の２つの頂点を結ぶ線分への垂線の長さに相当する（詳細は、後述のポリゴン削減のアルゴリズムにおいて説明する）。また、この閾値は、上記空間サイズを基準にして決める必要があり、後述するように空間サイズによって正規化した値を、ポリゴンを構成する頂点について削減を行うか否かについて判断する際に使用する。
【００４４】
初期線分決定部１４０は、取得したポリゴンデータに基づいて、各ポリゴンに関する初期線分の長さを決定する。この「初期線分の長さ」とは、ポリゴンの始点と終点を結ぶ線分の長さであり、この初期線分の長さもポリゴンデータの削除を行うか否かについての判断に影響を与える。この初期線分の長さも、各頂点における典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）に限らず、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）、その他必要に応じて決定する。また、この初期線分の長さも上記空間サイズを基準にして決める必要があり、後述するように空間サイズによって正規化した値を、ポリゴンを削減する（より具体的にはポリゴンの頂点を削減する）ためのアルゴリズムで使用する。与えられたポリゴンの初期線分の長さを、それぞれ上記決定した空間サイズで割って相対化し、正規化した値を求める。後述するように、この正規化した値をポリゴン削減のアルゴリズムで使用し、この正規化も、頂点の典型的な属性データである、３次元位置座標（Ｘ，Ｙ，Ｚ）値だけでなく、頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等があり、その他に関しても必要に応じて計算して求める。
【００４５】
簡略化判定部１５０は、上記処理で求めた結果が予め規定された簡略化基準表が示す条件に該当する（即ち、ポリゴンの簡略化を実行すべき）か否かを判定し、この判定結果をポリゴン簡略化部１６０に通知する。上記の簡略化基準表の内容を表わすデータは、当該簡略化判定部１５０が有する記憶部（図示せず）に記憶しておいてもよいし、ＲＡＭ１０３又はＲＯＭ１０４に格納されていてもよい。
【００４６】
図４は、簡略化判定部１５０における判定の際に用いる簡略化基準表１７０の一例である。この簡略化基準表１７０は、グラフィックスに要するトータルの処理時間が短縮され得る条件を経験的に求めた表である。簡略化基準表１７０における「頂点色割り当て」とは、ポリゴンの各頂点に色の割り当てた場合の各面の色の補間処理をいう。また、「ライティング」は、光源とこれに基づく光の反射に関する処理をいう。また「アルファブレンド」は、二つの画像を係数（α値）により合成する処理をいう。また、「陰面消去」とは、特定の視線で見た場合の隠れた面を見えなくする処理をいう。また、「テクスチャマッピング」とは、物体の表面の質感を表現するために画像を貼り付ける処理をいう。また、簡略化基準表１７０における「正規化された閾値」とは、ポリゴンの頂点を削減する際の線分に対する正規化された基準値である（例えば、画面サイズを用いて正規化を行う。）。また、「正規化された初期線分長」とは、ポリゴン頂点の削減を行う際のポリゴンの基準辺に対する正規化された基準値である。
【００４７】
図４の簡略化基準表では、
（１）描画処理の種別が陰面消去だけで他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．６２以上であること
（２）描画処理の種別がアルファブレンドだけで他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．３９以上であること
（３）描画処理の種別がアルファブレンドと陰面消去だけで他の処理がなく、正規化された閾値が０．０５以上で、正規化された初期線分長が０．３７以上であること
（４）描画処理の種別が頂点色割り当てとアルファブレンドだけで他の処理がなく、正規化された閾値が０．０８以上で、正規化された初期線分長が０．３７以上であること
（５）描画処理の種別が頂点色割り当てとアルファブレンドと陰面消去で他の処理がなく、正規化された閾値が０．０６以上で、正規化された初期線分長が０．２８以上であること
の５条件が示されている。
【００４８】
また、正規化された閾値と正規化された初期線分長の条件は、頂点の典型的な属性データである３次元位置座標値（Ｘ，Ｙ，Ｚ）、各頂点に付属している色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）、法線ベクトル（ＮＸ，ＮＹ，ＮＺ）のうち、評価の対象としている少なくとも１つのデータについて満足させる必要がある。もちろん、これらを組合せた条件について満足させることとしてもよい。
【００４９】
ポリゴン簡略化部１６０は、上記簡略化判定部１５０において「ポリゴンの簡略化を実行すべき」と判定された場合に、３次元位置座標値や各頂点に付属している色値等に基づいて、実際にポリゴンの簡略化を実行する。例えば、６角形のポリゴンにおいて１つの頂点を削除して５角形のポリゴンにする場合が該当する。さらに、ポリゴン簡略化部１６０は、当該ポリゴン簡略化処理の際に一時的にデータを格納するスタックを備える。この「スタック」とは、ラストイン−ファーストアウト方式のプッシュ−プル（アップ−ダウン）式スタックをいうが、これはあくまでも一例に過ぎず、例えば、ファーストイン−ファーストアウト式のシフトレジスタのようなメモリでも構わないし、必ずしも書き込み順序と読み出し順序が特定されないランダムアクセス可能なメモリ（ＲＡＭ）等であっても構わない。
【００５０】
上記の描画装置１００では、現実体感的なイメージを確保する必要があり、動画又は擬似的動画を、リアルタイムに表示しなければならない。しかも、描画装置１００に使用されるＣＰＵは、コスト的な制約や消費電力の制約等によって、必ずしも処理能力が高くないことが多い。また、表示対象となる画像は、ゲームの内容やシーンに応じて、複雑なものとなることもある。
【００５１】
このように、必ずしも処理能力が高くないＣＰＵを用いて描画する場合であっても、複雑な動画像又は擬似的動画像をリアルタイムに表示するため、この描画装置１００では、ポリゴン削減を行ったほうが全体としての処理量を削減できるかどうかをまず判断し、その結果、ポリゴン削減を行ったほうが全体としての処理量を削減できると判断したときには、後述するアルゴリズムに従ってポリゴン削減を実行し、全体としての処理量を削減して、複雑な動画像又は擬似的動画像をリアルタイムに表示する。
【００５２】
つまり、本発明に係る描画装置１００は、表示部１０５に描画するべきポリゴンデータが与えられたとき、制御部１０２は、ＲＡＭ１０３やＲＯＭ１０４に記録されたプログラムに従って、このポリゴンデータを削除した後に描画を実行したほうが、トータルとして高速化できるか、又はポリゴンデータを削除せずにそのまま描画を実行したほうが、トータルとして高速化できるかの判断を実行する。
【００５３】
次に、図５〜図１３を参照しながら、本実施の形態に係る描画装置１００の動作について説明する。以下では、まず、ポリゴンの簡略化を行うべきか否かについての判断を行った後、ポリゴン簡略化処理の代表例として、ポリゴンの３次元位置座標値に基づいてポリゴンの簡略化を実行する実施例について説明する。さらに、ポリゴン簡略化処理の他の例として、ポリゴンの各頂点に割り当てられた色値に基づいてポリゴンの簡略化を実行する実施例について説明する。なお、上述したように、他にテクスチャ座標データや法線ベクトルに基づいて簡略化を実行することが考えられるが、基本的な処理の流れは同様であるので説明を省略する。
【００５４】
図１０は、ポリゴン簡略化を行うべきか否かの判断を行う処理の流れを示すフローチャートである。
【００５５】
最初に、描画種別決定部１２０は、描画情報取得部１１０において取得したポリゴンデータ等に基づいて、描画しようとするポリゴンに対して適用する描画処理の種別を決定する（Ｓ２０１）。
【００５６】
さらに、描画種別決定部１２０は、ポリゴンの表示に関する空間サイズを決定する（Ｓ２０２）。
【００５７】
次に、閾値決定部１３０は、処理対象のポリゴンの簡略化を行うために用いる閾値を決定する（Ｓ２０３）。
【００５８】
この後、初期線分決定部１４０は、処理対象のポリゴンの初期線分の長さを求める（Ｓ２０４）。
【００５９】
さらに、上記ポリゴンデータの簡略化を行うための閾値と、求められたポリゴンの初期線分長とを、それぞれ上記決定した空間サイズで割って相対化し、正規化した値を求める（Ｓ２０５）。
【００６０】
最後に、上記処理で求めた結果について、図４に示す簡略化基準表を参照して一致又は不一致について検証し（Ｓ２０６）、一致するときにポリゴンの簡略化を行うと判定し（Ｓ２０７）、一致しなければポリゴン簡略化を行わないと判定する（Ｓ２０８）。
【００６１】
このようにして、ポリゴンについて簡略化を行う処理に入る前に、与えられたポリゴンデータが所定の条件を満足するか否かを事前に判断し、この条件を満足するときにのみポリゴンの削減を実行する。これにより、ポリゴンの削減のために却って時間がかかり、トータルとしては高速化にならないという事態を避けることができる。
【００６２】
次に、上記簡略化判定部１５０において、「ポリゴンの簡略化を行うべき」と判断された場合に実行される、ポリゴンの頂点を削減するアルゴリズムについて説明する。
【００６３】
図５（ａ）〜図５（ｄ）は、本実施の形態における処理対象のポリゴンの一例を示す図である。また、図１１は、ポリゴンを削減する処理の流れを示すフローチャートである。また、このポリゴン削減の手続きによって実行される他の例を図６に示す。
【００６４】
上記図５（ａ）〜図５（ｄ）の例では、頂点の典型的な属性データである、３次元位置座標値（Ｘ，Ｙ，Ｚ）の一部である２次元座標値（Ｘ，Ｙ）を用いて説明をするが、勿論、３次元位置座標値（Ｘ，Ｙ，Ｚ）によって表現されるポリゴンにも適用が可能である。また、頂点に付属している他の属性データである色値（Ｒ，Ｇ，Ｂ）、テクスチャ座標データ（ＴＸ，ＴＹ）及び法線ベクトル（ＮＸ，ＮＹ，ＮＺ）等に関しても同様である。
【００６５】
最初に、ポリゴン簡略化部１６０は、処理対象のポリゴンから１つの面（多角形）を取り出す（Ｓ４０１）。図５に示す例では、この取り出された１つのポリゴンは、図５（ａ）の多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５に相当する。
【００６６】
次に、ポリゴン簡略化部１６０は、上記の取り出した多角形において、１つの基準辺を定める（Ｓ４０２）。図５（ａ）の例では、ポリゴン簡略化部１６０は、取り出した多角形は多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５であり、また、辺Ｖ０Ｖ５を基準辺とする。
【００６７】
そして、この定めた基準辺をポリゴン簡略化部１６０のスタックに格納する（Ｓ４０３）。図５（ａ）の例では、辺Ｖ０Ｖ５がスタックに格納する基準辺である。
【００６８】
次に、ポリゴン簡略化部１６０は、処理ループにおいて、スタックの中が空か否かを判断する（Ｓ４０４）。初めてこの判断を行うときには、上記基準辺がスタックに格納されているので、この判断結果は「Ｎｏ」になる。つまり、図５（ａ）の例では、辺Ｖ０Ｖ５がスタックに格納されているため、「Ｎｏ」に該当する。但し、これ以降処理が進み、Ｓ４０４における判断結果が「Ｙｅｓ」になると、ポリゴン簡略化の処理は終了する。
【００６９】
Ｓ４０４の判断において、スタックが空でないと判断されると（Ｓ４０４でＮｏ）、ポリゴン簡略化部１６０は、このスタックから１つの辺（線分）を取り出す（Ｓ４０５）。図５（ａ）に示す例では、辺Ｖ０Ｖ５がこれに相当する。
【００７０】
次に、ポリゴン簡略化部１６０は、取り出された辺の間にある頂点から、スタックから取り出された辺までの距離を計算する（Ｓ４０６）。図５（ａ）に示す例では、スタックから取り出された辺Ｖ０Ｖ５の間にある頂点とは、頂点Ｖ１、頂点Ｖ２、頂点Ｖ３及び頂点Ｖ４であり、各頂点から辺Ｖ０Ｖ５までの距離とは、各頂点（頂点Ｖ１〜Ｖ４）から辺Ｖ０Ｖ５に対して引いた垂線の長さである。
【００７１】
次に、ポリゴン簡略化部１６０は、「辺−各頂点間距離計算処理」（Ｓ４０７）を実行する。この「辺−各頂点間距離計算処理」とは、取り出された辺と各頂点間距離のうち最長の距離を計算する処理をいう。さらに、ポリゴン簡略化部１６０は、計算された距離のうち、最長の距離を構成する頂点（Ｖmax）を特定する（Ｓ４０８）。図５（ａ）に示す例では、頂点Ｖ３が、最長の距離を構成する頂点に相当し、辺Ｖ３Ｈ１が、長さが最大となる距離に相当する。
【００７２】
次に、ポリゴン簡略化部１６０は、最長の距離を構成する頂点から辺までの距離（図５（ａ）の例では、Ｖ３Ｈ１）が、予め定められた所定の閾値よりも大きいか否かの判断を行う（Ｓ４０９）。この「予め定められた所定の閾値」とは、ポリゴンの削減を行うか否かの判断時に決定した「与えられたポリゴンデータの簡略化を行う閾値（図１０のＳ２０３における閾値）」と同じものである。
【００７３】
そして、最長の距離を構成する頂点から辺までの距離が、予め定められた所定の閾値よりも大きくなければ（Ｓ４０９でＮｏ）、この辺の間にある頂点を削除する（Ｓ４１１）。また、最長の距離を構成する頂点から辺までの距離が、予め定められた所定の閾値よりも大きければ（Ｓ４０９でＹｅｓ）、現在の基準辺の両端と、この基準辺までの長さが最大である頂点とを結ぶ線分を新たにスタックに格納する（Ｓ４１０）。図５（ａ）に示す例では、最長の距離を構成する頂点から辺までの距離Ｖ３Ｈ１が、予め定められた所定の閾値よりも大きいので（Ｓ４０９でＹｅｓ）、現在の基準辺である辺Ｖ０Ｖ５の両端と、この基準辺Ｖ０Ｖ５までの長さが最大である頂点Ｖ３とを結ぶ線分Ｖ３Ｖ０と線分Ｖ３Ｖ５を、新たにスタックに格納する（Ｓ４１０）。
【００７４】
そして、上記処理ループの最初の処理（Ｓ４０４）に戻る。
【００７５】
上記説明した処理ループの第１回目の処理では、図５（ａ）に示すように、簡略化の対象となる多角形は多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５であり、この場合の始点が頂点Ｖ０、終点が頂点Ｖ５として、頂点を削減するための判断を行った。そして、その結果、この処理ループでは頂点の削減が行われなかった。
【００７６】
以下に説明する処理ループの第２回目以降の処理では、図５（ｂ）に示すように、簡略化の対象となる多角形が多角形Ｖ０Ｖ１Ｖ２Ｖ３（始点が頂点Ｖ０、終点が頂点Ｖ３）と、多角形Ｖ３Ｖ４Ｖ５（始点はＶ３、終点はＶ５）との２つとし、上記と同様にして頂点削減の判断を行う。
【００７７】
第２回目の処理ループの最初においても、スタックの中が空か否かの判断を行う（Ｓ４０４）。以上で説明した例では、スタックに辺Ｖ０Ｖ３と辺Ｖ３Ｖ５の２つの線分が格納されているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【００７８】
そして、スタックから１つの辺（図５（ｃ）に示す例では辺Ｖ０Ｖ３）を取り出し（Ｓ４０５）、この辺の間にある各頂点（頂点Ｖ１、各Ｖ２）から取り出した辺（辺Ｖ０Ｖ３）までの距離を計算する（Ｓ４０７）。この距離は、図５（ｃ）に示す例ではＶ１Ｈ２とＶ２Ｈ３に相当する。
【００７９】
次に、これらの計算した距離からその長さが最大となるものを取り出し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図５（ｃ）に示す例では２つの垂線である線分Ｖ１Ｈ２も線分Ｖ２Ｈ３も所定の閾値よりも長くはないと判定され（Ｓ４０９でＮｏ）、この辺（Ｖ０Ｖ３）の間にある頂点Ｖ１と頂点Ｖ２を削除すると判定する（Ｓ４１１）。そして再度、処理ループの最初の処理（Ｓ４０４）に戻る。
【００８０】
第３回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上で説明した例では、スタックに未だ辺Ｖ３Ｖ５という１つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【００８１】
そして、スタックから残っている１つの辺（図５（ｃ）に示す例では辺Ｖ３Ｖ５）を取り出し（Ｓ４０５）、この辺の間にある頂点（頂点Ｖ４）から取り出された辺（辺Ｖ３Ｖ５）までの距離を計算する（Ｓ４０７）。この距離は、図５（ｃ）に示す例では線分Ｖ４Ｈ４に相当する。
【００８２】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図５（ｃ）に示す例ではこの垂線である線分Ｖ４Ｈ４は所定の閾値よりも長くはないと判定されるため（Ｓ４０９でＮｏ）ので、取り出された辺（辺Ｖ３Ｖ５）の間にある頂点Ｖ４を削除すると判定する（Ｓ４１１）。
【００８３】
上記の一連の処理によって、図５（ｄ）に示すように、頂点Ｖ１、頂点Ｖ２及び頂点Ｖ４が削除され、元の多角形Ｖ０Ｖ１Ｖ２Ｖ３Ｖ４Ｖ５が、多角形Ｖ０Ｖ３Ｖ５のように簡略化される。
【００８４】
そして再度、処理ループの最初（Ｓ４０４）に戻る。上記説明した例では、これ以上スタックには辺（線分）が残っていない（Ｓ４０４でＹｅｓ）ので、この簡略化の処理を終了する。
【００８５】
図１２は、上記図１１における、座標値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。なお、図１２においては、下記の（１）式を用いる。
【００８６】
【数１】
2007125912.tif 000028
【００８７】
なお、上記（１）式において、Ｌxyzは、辺Ｖk−Ｖn間にある任意の頂点Ｖpから辺Ｖk−Ｖnまでの垂線の長さ（即ち、頂点Ｖpから辺Ｖk−Ｖnまでのユークリッド距離）を示す。また、Ｘkpは、上記の辺Ｖk−Ｖnの端点である頂点Ｖkと上記頂点Ｖpにおけるｘ座標上の差（即ち、Ｘkp＝Ｘp−Ｘk）を示す。以下同様に、Ｙkpは、頂点Ｖkと頂点Ｖpにおけるｙ座標上の差（即ち、Ｙkp＝Ｙp−Ｙk）を、Ｚkpは、頂点Ｖkと頂点Ｖpにおけるｚ座標上の差（即ち、Ｚkp＝Ｚp−Ｚk）をそれぞれ示す。同様に、Ｘknは、上記の頂点Ｖkと頂点Ｖnにおけるｘ座標上の差（即ち、Ｘkn＝Ｘn−Ｘk）を示す(ＹknおよびＺknのついても同様である。）。さらに、上記（１）式において、「sqrt」は平方根を、「**」はべき乗を、「*」は掛け算をそれぞれ表わしている。
【００８８】
次に、上記図５の場合と同様に、図６に示すポリゴンを対象として、ポリゴン簡略化処理を実行した実施例について説明する。
【００８９】
最初に、ポリゴン簡略化部１６０は、得られたポリゴンから１つの面（多角形）を取り出す（Ｓ４０１）。図６に示す例では、この取り出された１つのポリゴンは図６（ａ）の多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５に相当する。
【００９０】
次に、ポリゴン簡略化部１６０は、取り出された多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５において、１つの基準辺（Ｗ０Ｗ５）を定める（Ｓ４０２）。上記図５の場合と同様に、基準辺を、多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５を描くときの始点Ｗ０と終点Ｗ５とを結ぶ線分として定める。
【００９１】
そして、ポリゴン簡略化部１６０は、定められた基準辺Ｗ０Ｗ５をスタックに格納する（Ｓ４０３）。
【００９２】
次に、ポリゴン簡略化部１６０は、処理ループに入り、スタックが空になったか否かを判断する（Ｓ４０４）。なお、最初の判断では、上記基準辺がスタックに格納されているので、この判断結果は「Ｎｏ」になる。
【００９３】
上記判断において、スタックが空でないと判断されると（Ｓ４０４でＮｏ）、このスタックから１つの辺（線分）を取り出す（Ｓ４０５）。図６（ａ）に示す例では、辺Ｗ０Ｗ５がこの辺に相当する。
【００９４】
次に、辺Ｗ０Ｗ５の間にある頂点から、この辺までの距離を計算する（Ｓ４０７）。図６（ａ）に示す例では、辺Ｗ０Ｗ５の間にある頂点とは、頂点Ｗ１、頂点Ｗ２、頂点Ｗ３及び頂点Ｗ４であり、各頂点から辺Ｗ０Ｗ５までの距離とは、各頂点（頂点Ｗ１、頂点Ｗ２、頂点Ｗ３又は頂点Ｗ４）から辺Ｗ０Ｗ５に対して引いた垂線の長さである。
【００９５】
次に、ポリゴン簡略化部１６０は、計算された距離の中から長さが最大となる頂点を特定する（Ｓ４０８）。図６（ａ）に示す例では、頂点Ｗ３が、最長の距離を構成する頂点に相当し、線分Ｗ３Ｋ１が最長の距離に相当する。
【００９６】
次に、この長さが最大である頂点から辺までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きいか否かの判断を行う（Ｓ４０９）。
【００９７】
そして、この長さが最大である頂点から辺までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きくなければ（Ｓ４０９でＮｏ）、この辺の間にある頂点を削除する（Ｓ４１１）。図６（ａ）に示す例では、長さが最大である頂点Ｗ３から辺Ｗ０Ｗ５までの距離（Ｗ３Ｋ１）が、予め定められた所定の閾値よりも大きいので（Ｓ４０９でＹｅｓ）、現在の基準辺Ｗ０Ｗ５の両端と、この基準となる辺までの長さが最大である頂点Ｗ３とを結ぶ線分Ｗ３Ｗ０と線分Ｗ３Ｗ５を、新たにスタックに格納する（Ｓ４１０）。
【００９８】
そして、上記処理ループの最初（Ｓ４０４）に戻る。
【００９９】
上記説明した処理ループの第１回目の処理では、図６（ａ）に示すように、簡略化の対象となる多角形を多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５とし、この始点を頂点Ｗ０、終点を頂点Ｗ５として、頂点削減の判断を行った。そして、その結果、この処理ループでは頂点削減を行わなかった。ここまでの処理は、上記図５を使った例の説明と変わらない。
【０１００】
以下に説明する処理ループの第２回目以降の処理では、図６（ｂ）に示すように、簡略化の対象となる多角形を多角形Ｗ０Ｗ１Ｗ２Ｗ３（始点は頂点Ｗ０、終点は頂点Ｗ３）と、多角形Ｗ３Ｗ４Ｗ５（始点は頂点Ｗ３、終点は頂点Ｗ５）との２つとし、上記と同様にして頂点削減の判断を行う。
【０１０１】
第２回目の処理ループの最初に、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ３と線分Ｗ３Ｗ５との２つの線分が格納されているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【０１０２】
そして、スタックから１つの辺（図６（ｃ）に示す例では辺Ｗ０Ｗ３）を取り出し（Ｓ４０５）、この辺Ｗ０Ｗ３の間にある頂点Ｗ１及び頂点Ｗ２から辺（Ｗ０Ｗ３）までの距離を計算する（Ｓ４０７）。この距離は、図６（ｃ）に示す例では線分Ｗ１Ｋ２と線分Ｗ２Ｋ３に相当する。
【０１０３】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図６（ｃ）に示す例では、線分Ｗ２Ｋ３がこの長さが最大となる距離に相当し、この距離は所定の閾値よりも長い（Ｓ４０９でＹｅｓ）ので、この頂点Ｗ２と現在の基準辺Ｗ０Ｗ３の両端とを結ぶ２つの線分を、スタックに新たに格納する（Ｓ４０９）。即ち、線分Ｗ０Ｗ２と線分Ｗ２Ｗ３との２つの線分が新たにスタックに格納されることになる。そして再度、処理ループの最初（Ｓ４０４）に戻る。
【０１０４】
第３回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ２、線分Ｗ２Ｗ３及び線分Ｗ３Ｗ５という３つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【０１０５】
そして、スタックから残っている１つの辺を取り出す（Ｓ４０５）。
【０１０６】
このとき、どの辺が取り出されるかは実施の形態によって変わり得るが、実質的にはどの辺を取り出したとしても変わらないので、ここでは仮に線分Ｗ３Ｗ５が取り出されたと仮定する。
【０１０７】
そして、この線分Ｗ３Ｗ５の間にある頂点Ｗ４から辺Ｗ３Ｗ５までの距離を計算する（Ｓ４０７）。この距離は、図６（ｃ）に示す例では線分Ｗ４Ｋ４に相当する。
【０１０８】
次に、これらの計算した距離からその長さが最大となるものを特定し（Ｓ４０８）、その最大値が所定の閾値よりも大きいか否かを判断する（Ｓ４０９）。図６（ｃ）に示す例ではこの垂線である線分Ｗ４Ｋ４は所定の閾値よりも長くはない（Ｓ４０９でＮｏ）ので、この線分Ｗ３Ｗ５の間にある頂点Ｗ４を削除する（Ｓ４１１）。そして再度、処理ループの最初の処理（Ｓ４０４）に戻る。
【０１０９】
第４回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに線分Ｗ０Ｗ２及び線分Ｗ２Ｗ３という２つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【０１１０】
そして、スタックから残っている１つの辺を取り出す（Ｓ４０５）。
【０１１１】
ここでは仮に線分Ｗ０Ｗ２が取り出されたと仮定する。
【０１１２】
そして、この線分Ｗ０Ｗ２の間にある頂点Ｗ１から線分Ｗ０Ｗ２までの距離を計算する（Ｓ４０６）。この距離は所定の閾値よりも長くはない（Ｓ４０８でＮｏ）ので、この線分Ｗ０Ｗ２の間にある頂点Ｗ１を削除する（Ｓ４１１）。そして再度、処理ループの最初（Ｓ４０４）に戻る。
【０１１３】
第５回目の処理ループの最初でも、スタックが空か否かの判断を行う（Ｓ４０４）。以上説明した例では、スタックに辺Ｗ２Ｗ３という１つの線分が残っているので、スタックは空でなく（Ｓ４０４でＮｏ）、次の処理に移る。
【０１１４】
そして、スタックから残っている線分Ｗ２Ｗ３を取り出す（Ｓ４０５）。
【０１１５】
そして、この辺の間には頂点が存在しないので以下の処理は行わず、再度、処理ループの最初（Ｓ４０４）に戻る。
【０１１６】
この段階ではこれ以上スタックには辺は存在しない（Ｓ４０４でＹｅｓ）ので、この簡略化の処理を終了する（Ｓ４１１）。
【０１１７】
これらの一連の処理によって、図６（ｄ）に示すように、頂点Ｗ１及び頂点Ｗ４が削除され、元の多角形Ｗ０Ｗ１Ｗ２Ｗ３Ｗ４Ｗ５が、多角形Ｗ０Ｗ２Ｗ３Ｗ５のように簡略化される。
【０１１８】
以上説明したように、本発明の実施の形態では、与えられたポリゴンを構成する１つの多角形に対して、トータルとして高速化が可能かどうかを事前に判断又は予想した上で、ポリゴンの簡略化を行うことができる。また、この簡略化されたポリゴンに対してシェーディング処理等の描画処理を実行することによって、ポリゴン近似を使った３次元物体の描画を、計算能力が必ずしも高くない機器においても高速に実行することを可能にすると共に、違和感のない動画像を表示することができる。
【０１１９】
上記では、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例について説明したが、ポリゴンを表示する際の光の３原色（Ｒｅｄ、Ｇｒｅｅｎ及びＢｌｕｅ）に着目してポリゴン簡略化処理を実行することも可能である。ポリゴンの頂点の位置座標のみに基づいて頂点の削減を行うと、例えば、隣り合う色が黒と白など極端に違う時でも一方が削除されてしまい、視覚的に大きく変わってしまうことがある。そこで、ポリゴンの色の変化が激しい場合などには、頂点の位置座標だけではなく、色による評価も加味することにより、視覚的に違和感なくポリゴンの簡略化を可能にすることとする。
【０１２０】
以下、図７〜図９、図１１及び図１３を参照しながら、ポリゴンを表示する際の３原色に着目してポリゴン簡略化処理を実行する実施例について説明する。なお、上記ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例と同じ内容については同じ符号を付し、その説明は省略する。
【０１２１】
図７（ａ）は、描画情報取得部１１０を介して入力したポリゴンの一例を示す図である。図７（ａ）に示されるポリゴンは、６角形であり、各頂点（頂点Ｖ０〜Ｖ５）に色が定義されている。また、図７（ｂ）は、上記図７（ａ）に示されるポリゴンの詳細な態様をまとめた表であり、各頂点における座標値（ｘ，ｙ，ｚ）と色値（Ｒ，Ｇ，Ｂ）が定義されている。
【０１２２】
図８（ａ）〜図８（ｆ）は、上記図７（ａ）のポリゴンについて、上記のポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する方法と同様の方法で、各頂点の色に着目してポリゴン簡略化処理を実行した過程を示す図である（なお、図８（ａ）〜図８（ｆ）は、より実際の色空間に合わせて各頂点の配置を行っているため、上記図７（ａ）に示すポリゴンの形状とは異なっている。）。
【０１２３】
最初に、図８（ａ）に示すように、辺Ｖ０Ｖ５を基準辺として、頂点Ｖ１〜頂点Ｖ４について削除が可能か否かを判定する。図８（ａ）の場合は、線分Ｖ２Ｈ１が閾値より長いため、頂点Ｖ１〜頂点Ｖ４については削除がされない様子が示されている。
【０１２４】
次に、図８（ｂ）には、基準辺として、新たに線分Ｖ０Ｖ２と線分Ｖ２Ｖ５を特定した様子が示されている。
【０１２５】
さらに、図８（ｃ）に示されるように、基準辺を辺Ｖ０Ｖ２とした場合の頂点Ｖ１が削除可能か否か、及び基準辺を辺Ｖ２Ｖ５とした場合の頂点Ｖ３と頂点Ｖ４が削除可能か否かを判定する。図８（ｃ）の判定結果は、図８（ｄ）に示されるように、線分Ｖ１Ｈ２は閾値よりも短いため頂点Ｖ１の削除は可能であるが、線分Ｖ３Ｈ３が閾値より長いため、頂点Ｖ３及び頂点Ｖ４については削除がされない様子が示されている。
【０１２６】
以下同様に判定した結果、図８（ｅ）に示されるように、基準辺を線分Ｖ３Ｖ５とした場合には線分Ｖ４Ｈ４が閾値よりも短いため、頂点Ｖ４は削除が可能と判定される。
【０１２７】
以上の結果、図７（ａ）に示すポリゴンにおける各頂点の色値に着目した場合は、頂点Ｖ１と頂点Ｖ４が削除可能であると判定される。
【０１２８】
上述の各頂点の色値に着目して簡略化処理を実行した場合に特定された（頂点Ｖ１及び頂点Ｖ４）と、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行した場合に特定された（頂点Ｖ１、頂点Ｖ２及び頂点Ｖ４）で共通する（頂点Ｖ１及び頂点Ｖ４）のみを削除することで、図７（ａ）に示すポリゴンに対して頂点の位置座標だけではなく、色による評価も加味した簡略化が完了する。簡略化完了後のポリゴンを図９に示す。
【０１２９】
図１３は、上記図１１における、色値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。
【０１３０】
頂点Ｖｐから色データ（Ｒｐ，Ｇｐ，Ｂｐ）を取り出す処理（Ｓ６０２）並びに端点Ｖｋ及び端点Ｖｎから取り出した色データに基づいて距離Ｌｒｇｂを算出する点以外、上記の図１２の処理と同じである。なお、図１３においては、下記の（２）式及び（３）式を用いる。
【０１３１】
【数２】
2007125912.tif 000029
【０１３２】
なお、上記（２）式において、Ｌrgbは、辺Ｖk−Ｖn間にある任意の頂点Ｖpの色から辺Ｖk−Ｖnにおける平均色までの色合い上の遠さを示す。また、Ｒkpは、上記の辺Ｖk−Ｖnの端点である頂点Ｖkにおける赤色と上記頂点Ｖpにおける赤色の強さの差（即ち、Ｒkp＝Ｒp−Ｒk）を示す。以下同様に、Ｇkpは、頂点Ｖkにおける緑色と頂点Ｖpにおける緑色の強さ差（即ち、Ｇkp＝Ｇp−Ｇk）を、Ｂkpは、頂点Ｖkにおける青色と頂点Ｖpにおける青色の強さの差（即ち、Ｂkp＝Ｂp−Ｂk）をそれぞれ示す。同様に、Ｒknは、上記の頂点Ｖkにおける赤色と頂点Ｖnにおける赤色の強さの差（即ち、Ｘkn＝Ｘn−Ｘk）を示す(ＧknおよびＢknのついても同様である。）。さらに、上記（２）式において、「sqrt」は平方根を、「**」はべき乗を、「*」は掛け算をそれぞれ表わしている。
【０１３３】
【数３】
2007125912.tif 000030
【０１３４】
なお、上記（３）式において、Ｌrgbは、頂点Ｖｋと頂点Ｖｐの間の色合い上の遠さを示す。ここで、色データを用いる場合には、３次元座標系の場合と異なり、異なる頂点に同一の値が割り当てられることがある。この場合は、頂点Ｖｋ（又はＶｎ）の色と辺Ｖｋ−Ｖｎの平均の色合いとは同じになるので、上記（３）式のような式を用いる。なお、頂点Ｖｋの代わりに頂点ＶｐとＶｎとの遠さを求めたり、上記（２）式と同じ式により頂点Ｖｐと辺Ｖｋ−Ｖｎの平均の色合いとの遠さを求めた場合でも、結果は同一となる。したがって、（３）式の代わりに上記のような遠さを求める式を用いてもよい。
【０１３５】
以上で説明したように、本実施の形態に係る描画装置等によれば、ポリゴンにおける各頂点の色値に着目した場合であっても、ポリゴンの２次元又は３次元の座標値に着目した場合と同様の手法で、各頂点を削除の可否について判定することが可能である。
【０１３６】
また、上記実施の形態では、ポリゴンの２次元又は３次元の座標に着目してポリゴン簡略化処理を実行する実施例、及びポリゴンにおける各頂点の２次元又は３次元の座標と色値を組み合わせて簡略化処理を実行する実施例について説明したが、もちろん、頂点の位置や色以外の、例えば法線ベクトルやテクスチャ座標も組み合わせてポリゴンの簡略化の適否について評価を行うこととしてもよい。また、色、法線ベクトル、テクスチャ座標それぞれ単独にのみに着目してポリゴン簡略化の適否について評価を行うこととしてもよい。
【０１３７】
（実施の形態２）
上記実施の形態１では、描画情報取得部１１０で取得したポリゴンが「ＦＡＮ型」で定義されている場合の実施例について説明したが、本実施の形態では、「ＳＴＲＩＰ型」で定義されたポリゴンを「ＦＡＮ型」に変換した上でポリゴン簡略化処理を行う実施例について説明する。
【０１３８】
本実施の形態に係る描画装置では、上記実施の形態１に係る描画装置１００における描画情報取得部１１０が、さらに、ＳＴＲＩＰ型で定義されたポリゴンをＦＡＮ型に変換する機能を有することを特徴とする。それ以外の機能構成については、上記実施の形態１に係る描画装置１００と同じである。
【０１３９】
図１４は、多角形（図１４の場合は６角形）のポリゴンを定義する場合の２つの形式を示す図である。図１４で示されるように、ＳＴＲＩＰ型で定義されたポリゴン（ＳＴＲＩＰ型ポリゴン）は、上から下に（例えば、各頂点のｙ座標の値に沿って）ジグザグ状に定義する方式であり、ＦＡＮ型で定義されたポリゴン（ＦＡＮ型ポリゴン）は、閉ループ状に時計回りに定義する方式である。ここで、ＳＴＲＩＰ型で定義した場合もＦＡＮ型で定義した場合も各頂点の座標自体は同じであるため、ＳＴＲＩＰ型ポリゴンとＦＡＮ型ポリゴンは相互に変換が可能である。
【０１４０】
なお、本実施の形態で、「ＳＴＲＩＰ型」で定義されたポリゴンを「ＦＡＮ型」に変換する理由は、以下の通りである。上記実施の形態１においてポリゴンの頂点の削減に用いたアルゴリズムは、線分列の形状をなるべく維持する性質がある。しかしながら、ＳＴＲＩＰ型で定義されたポリゴンは、線分列の形と外周が一致しないので、このアルゴリズムを無理に適用すると不自然な変換がなされしまうことがある。したがって、実施の形態１では、ＦＡＮ型のポリゴンのみを対象としていたが、それでは取り扱うことの出来るポリゴンの種類が限定されてしまうととなり、十分な簡略化が出来ない。そこで、本実施の形態では、その欠点を解消するために当該変換を行っている。
【０１４１】
次に、本実施の形態に係る描画情報取得部における、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順について、図１５及び図１６を参照しながら説明する。
【０１４２】
図１５は、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順を説明するための図である。また、図１６は、本実施の形態に係る描画情報取得部における処理の流れを示すフローチャートである。
【０１４３】
最初に、当該描画情報取得部は、ＳＴＲＩＰ型で定義されたポリゴンの頂点データを入力すると（Ｓ７０１）、ポリゴンの全ての頂点をｘ座標でソートする（Ｓ７０２）。本実施の形態では、ソートした頂点を、ｖｓ’（０）、ｖｓ’（１）・・・ｖｓ’（ｎ−１）と表している。なお、ｎはポリゴンの全頂点数である。
【０１４４】
次に、当該描画情報取得部１１０は、初期化処理として「ｖｆ（０）＝ｖｓ’（０）」を定義する（Ｓ７０３）。ここで、ｖｆは、ＦＡＮ型に変換した後の頂点を示す記号であり、ｖｆ（０）、ｖｆ（１）・・・ｖｆ（ｎ−１）と表される。
【０１４５】
さらに、当該描画情報取得部は、上記ｖｓ’（０）よりｙ座標で上にある頂点を順次検索（上側を検索）しながら、ｖｆ（１）以降の頂点を順次定義する（Ｓ７０４）。つまり、ｙ座標上で上にある頂点を、ｘ座標が昇順になるよう調べていけば時計回りになる（ｖｓ’のように、ｘ座標の順序でソートした頂点を定義しているのは、この際の検索に使うためである。）。
【０１４６】
さらに、当該描画情報取得部は、頂点ｖｓ’（ｎ−１）よりｙ座標で下にある頂点を順次検索（下側を検索）しながら、Ｓ７０４の処理が終わった時点で未定義の頂点ｖｆを順次定義する（Ｓ７０５）。つまり、ｙ座標上で下にある頂点を、ｘ座標が降順になるよう調べていけば時計回りになる。
【０１４７】
このような順序で頂点ｖｆを定義することにより、ＳＴＲＩＰ型で定義されているポリゴンデータの頂点の列を時計回りの列に変換できるので、ＦＡＮ型で定義されたポリゴンデータに変換することが出来る。
【０１４８】
以上で説明したように、本実施の形態に係る描画装置等は、ＳＴＲＩＰ型で定義されているポリゴンデータをＦＡＮ型のポリゴンデータに変換するので、入力されるポリゴンデータの形式に柔軟に対応することができる。
【０１４９】
（変形例）
さらに、上記図１２又は図１３では、ユークリッド距離を用いた算出式を用いたが（（１）式〜（３）式）、８近傍距離を使った算出式を適用することもできる（下記（４）式〜（６）式を参照）。
【０１５０】
【数４】
2007125912.tif 000031
【０１５１】
【数５】
2007125912.tif 000032
【０１５２】
【数６】
2007125912.tif 000033
【０１５３】
さらに、４近傍距離を使った算出式を適用することもできる（下記（７）式〜（９）式を参照）。
【０１５４】
【数７】
2007125912.tif 000034
【０１５５】
【数８】
2007125912.tif 000035
【０１５６】
【数９】
2007125912.tif 000036
【０１５７】
具体的には、上記（１）式の代わりに（４）式又は（７）式を用いてもよい。また、上記（２）式の代わりに（５）式又は（８）式を用いてもよい。さらに、上記（３）式の代わりに（６）式又は（９）式を用いてもよい。
【０１５８】
また、上述したように、実施の形態１又は実施の形態２では、正規化、距離の計測及びポリゴンの頂点の削減等は同じ座標系で行っているが、別々の座標系を使う（例えば、３次元座標で測った距離を色座標の空間サイズで正規化する）ことも可能である。
【０１５９】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１６０】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１６１】
（２）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１６２】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。
【０１６３】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１６４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１６５】
（３）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１６６】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１６７】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blue-ray Disc）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１６８】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１６９】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１７０】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム若しくは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１７１】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせることとしてもよい。
【産業上の利用可能性】
【０１７２】
本発明は、携帯電話機、ＰＤＡ（Personal Digital Assistants）又はゲーム機等の必ずしも処理能力は高くないが、コンピュータ・グラフィックスを表示する機器に利用可能であり、その産業上の利用可能性は極めて高い。
【図面の簡単な説明】
【０１７３】
【図１】図１は、従来の曲線近似装置によって曲線を近似する手法を説明するための図である。
【図２】図２は、本発明に係る描画装置の構成の概略を示す図である。
【図３】図３は、実施の形態１に係る描画装置の制御部の機能構成を示すブロック図である。
【図４】図４は、本発明に係る簡略化基準表の一例を示す図である。
【図５】図５（ａ）〜図５（ｄ）は、実施の形態１に係るポリゴンを削減する過程の一例を説明するための図である。
【図６】図６（ａ）〜図６（ｄ）は、実施の形態１に係るポリゴンを削減する過程のその他の例を説明するための図である。
【図７】図７（ａ）は、描画情報取得部を介して入力したポリゴンの一例を示す図である。図７（ｂ）は、ポリゴンの詳細な態様をまとめた表である。
【図８】図８（ａ）〜図８（ｆ）は、実施の形態１に係るポリゴンの各頂点の色に着目してポリゴン簡略化処理を実行した過程を示す図である。
【図９】図９は、簡略化を実行したポリゴンの一例を示す図である。
【図１０】図１０は、実施の形態１に係るポリゴンデータを構成する頂点の削減についての判断を行う処理の流れを示すフローチャートである。
【図１１】図１１は、実施の形態１に係るポリゴンを削減する処理の流れを示すフローチャートである。
【図１２】図１２は、図１１における、座標値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。
【図１３】図１３は、図１１における、色値に着目した場合の「辺−各頂点間距離計算処理」の詳細なフローチャートである。
【図１４】図１４は、実施の形態２に係る多角形のポリゴンを定義する場合の２つの形式を示す図である。
【図１５】図１５は、ＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する手順の概略を示す図である。
【図１６】図１６は、実施の形態２に係る描画情報取得部におけるＳＴＲＩＰ型ポリゴンからＦＡＮ型ポリゴンに変換する処理の流れを示すフローチャートである。
【符号の説明】
【０１７４】
１００    描画装置
１０２    制御部
１０３    ＲＡＭ
１０４    ＲＯＭ
１０５    表示部
１０６    操作部
１０７    通信部
１０８    内部バス
１１０    描画情報取得部
１２０    描画種別決定部
１３０    閾値決定部
１４０    初期線分決定部
１５０    簡略化判定部
１６０    ポリゴン簡略化部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007125912.tif 000037
【図２】
2007125912.tif 000038
【図３】
2007125912.tif 000039
【図４】
2007125912.tif 000040
【図５】
2007125912.tif 000041
【図６】
2007125912.tif 000042
【図７】
2007125912.tif 000043
【図８】
2007125912.tif 000044
【図９】
2007125912.tif 000045
【図１０】
2007125912.tif 000046
【図１１】
2007125912.tif 000047
【図１２】
2007125912.tif 000048
【図１３】
2007125912.tif 000049
【図１４】
2007125912.tif 000050
【図１５】
2007125912.tif 000051
【図１６】
2007125912.tif 000052
【国際調査報告】
2007125912.tif 000053
2007125912.tif 000054