(57)【要約】  座標データ読込部１０２は、メモリ１１０に格納された、３次元オブジェクトの各頂点の座標データを内部記憶部１０６に読み込み、座標変換部１０３は、内部記憶部１０６に格納された各頂点の座標データに対して座標変換を施し、頂点消去部１０４は、内部記憶部１０６に格納された各頂点の座標変換後の座標データに基づいて、各頂点の形態データを読み込むか否かを判定し、形態データ読込部１０５は、頂点消去部１０４が読み込むと判定した各頂点の形態データをメモリ１１０から内部記憶部１０６に読み込み、表示制御部１０７は、内部記憶部１０６に格納された座標データと形態データとに基づいて、描画処理を行う。
2008032603.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、
前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記オブジェクトは、１又は複数の多角形により構成されるものであり、
前記点は、各多角形の頂点であり、
前記座標データは、各頂点について、当該頂点が含まれる多角形の他の頂点を特定できるよう構成されており、
前記判定部は、各頂点について、当該頂点と他の頂点とから特定される多角形が前記表示座標範囲に含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、
前記表示制御部は、前記内部記憶部に格納されている座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行う
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記座標データ読込部が前記内部記憶部に読み込んだ各座標データに対して、ワールド座標系への座標変換を施し、座標変換後の各座標データを前記内部記憶部に格納する座標変換部を備え、
前記オブジェクトは、３次元オブジェクトであり、
前記表示座標範囲は、ビューボリュームであり、
前記判定部は、座標変換後の各座標データに基づいて、各頂点について、当該頂点と他の頂点とから特定される多角形が前記ビューボリュームに含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、
前記表示制御部は、前記内部記憶部に格納されている座標変換後の座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行う
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記オブジェクトデータを構成する各座標データ同士は、前記外部メモリに連続して格納されている
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記形態データは、色データを含む
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
請求項１記載の画像処理装置と制御装置とからなる画像処理システムであって、
前記制御装置は、前記外部メモリに各点の座標データ同士を連続させて格納する
ことを特徴とする画像処理システム。
【請求項７】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理用集積回路であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、
前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備える
ことを特徴とする画像処理用集積回路。
【請求項８】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブラ装置であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備える
ことを特徴とするインプットアセンブラ装置。
【請求項９】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブル用集積回路であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備える
ことを特徴とするインプットアセンブル用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックスに関し、特にオブジェクトを表示する際のクリッピング処理を含む画像処理技術に関する。
【背景技術】
【０００２】
オブジェクトをディスプレイに表示させるための画像処理を行う画像処理装置は、一般的に、画像処理装置全体の制御等を行うメインプロセッサとは別に専用のプロセッサ（以下、「グラフィックアクセラレータ」という）を備え、このグラフィックアクセラレータにオブジェクトの描画処理等の画像処理を行わせることによって、メインプロセッサが画像処理を行う場合と比較し、より高速な画像処理を実現している。【０００３】
グラフィックアクセラレータによる画像処理には、オブジェクトのうち、ディスプレイ上の所定の表示領域内に存在する部分のみを表示させるようにするクリッピングと呼ばれる処理が含まれる（例えば、特許文献１参照）。このクリッピング処理を含む、グラフィックアクセラレータによる一般的な画像処理の流れを、図９を用いて説明する。
同図に示すように、グラフィックアクセラレータは、オブジェクトの各頂点についてのローカル座標系で表された座標値をメモリから読み込み（ステップＳ９０１）、読み込んだ各頂点の座標値に対し、ワールド座標系への座標変換を行い（ステップＳ９０２）、メモリから各頂点の色（Ｒ，Ｇ，Ｂ）、透過率（α）、テクスチャ座標（Ｕ，Ｖ）等のデータ（以下、これらのデータをまとめて「形態データ」という）を読み込み、読み込んだ各頂点の形態データとワールド座標系で表された各座標値とに基づいて光源計算処理を行い（ステップＳ９０３）、視点座標系への座標変換であるビューポート変換を行い（ステップＳ９０４）、ディスプレイ座標系への座標変換である透視変換を行い（ステップＳ９０５）、表示領域からはみ出すデータを削除するクリッピング処理を行う（ステップＳ９０６）。
【特許文献１】日本国特許公開２００１−２０９３６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ゲームのグラフィックス等にみられるように、近年、より複雑なオブジェクトの表示が求められており、更に高速な画像処理の実現が望まれる。
そこで、本発明はかかる問題に鑑みてなされたものであり、より高速な画像処理が可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備えることを特徴とする。【０００６】
また、上記課題を解決するために、画像処理装置に用いられる本発明にかかる画像処理用集積回路は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理用集積回路であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備えることを特徴とする。【０００７】
また、上記課題を解決するために、画像処理装置に用いられる本発明にかかるインプットアセンブラ装置は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブラ装置であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備えることを特徴とする。【０００８】
また、上記課題を解決するために、インプットアセンブラ装置に用いられる本発明にかかるインプットアセンブル用集積回路は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブル用集積回路であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備えることを特徴とする。【０００９】
ここで、形態データとは、各点における色や模様を表すためのデータをいい、各点についての、赤（Ｒｅｄ）、緑（Ｇｒｅｅｎ）、青（Ｂｌｕｅ）の光の３原色で表わした場合の色データや光源からの光の透過度合いを示す透過率データや２次元の固有の座標系で表現されているテクスチャをオブジェクトの表面に貼付する場合の、そのテクスチャ上の座標値であるテクスチャ座標データ等が一例として挙げられる。各点についての形態データに基づいて演算が行われ、オブジェクト全体の色や模様が決定される。
【発明の効果】
【００１０】
上述の構成を備える本発明に係る画像処理装置、画像処理用集積回路、インプットアセンブラ装置、及びインプットアセンブル用集積回路において、形態データ読込部は、判定部が形態データを読み込む必要がないと判定した各点の形態データを読み込まない。よって、本発明に係る各装置及び各回路において、オブジェクトに含まれる各点のうち、判定部により形態データを読み込む必要がないと判定された点がある場合には、外部メモリから内部記憶部への形態データの転送量を減らし、より高速に画像処理を行うことができる。【００１１】
例えば、オブジェクトが複数のポリゴンから構成され、各点がポリゴンにおける頂点である場合に、判定部は、表示座標範囲に含まれる頂点について形態データを読み込む必要があると判定し、表示座標範囲に含まれない頂点について形態データを読み込む必要がないと判定するものとすると、表示制御部は、頂点の一部が表示座標範囲に含まれるポリゴンを、内部記憶部に格納されている、そのポリゴンの各頂点の座標データと表示座標範囲に含まれる頂点のみの形態データとに基づいて表示させることになるため、そのポリゴンの全頂点の形態データを読み込む場合と比較し、表示させるポリゴンの画像の精度は多少低くなる。従って、全頂点が表示座標範囲に含まれるポリゴンの描画が正確にできればよく、高速な画像処理が必要とされるような仕様の各装置又は各集積回路に本発明に係る各装置、各集積回路を適用することによって、特に効果を奏する。【００１２】
また、前記オブジェクトは、１又は複数の多角形により構成されるものであり、前記点は、各多角形の頂点であり、前記座標データは、各頂点について、当該頂点が含まれる多角形の他の頂点を特定できるよう構成されており、前記判定部は、各頂点について、当該頂点と他の頂点とから特定される多角形が前記表示座標範囲に含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、前記表示制御部は、前記内部記憶部に格納されている座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行うこととしてもよい。【００１３】
これにより、判定部は、各頂点について、その頂点と他の頂点とから特定される多角形が表示座標範囲に含まれていない場合に、その頂点の形態データを読み込む必要がないと判定するため、画像処理装置は、全体が表示座標範囲外にある多角形のみに含まれる各頂点の形態データについての外部メモリから内部記憶部への転送量を減らし、より高速に画像処理を行うことができる。【００１４】
また、判定部は、ある頂点の座標データが示す座標が表示座標範囲に含まれていない場合でも、その頂点と他の頂点とから特定される多角形の一部が表示座標範囲に含まれている場合には、その頂点の形態データを読み込む必要があると判定するため、表示制御部は、多角形の頂点の一部が表示座標範囲に含まれている場合にも、その多角形に含まれる全頂点の座標データと形態データとに基づいて、その多角形の一部をより正確に表示させることができる。【００１５】
また、前記画像処理装置は、前記座標データ読込部が前記内部記憶部に読み込んだ各座標データに対して、ワールド座標系への座標変換を施し、座標変換後の各座標データを前記内部記憶部に格納する座標変換部を備え、前記オブジェクトは、３次元オブジェクトであり、前記表示座標範囲は、ビューボリュームであり、前記判定部は、座標変換後の各座標データに基づいて、各頂点について、当該頂点と他の頂点とから特定される多角形が前記ビューボリュームに含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、前記表示制御部は、前記内部記憶部に格納されている座標変換後の座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行うこととしてもよい。【００１６】
ここで、ビューボリュームとは、詳細は後述するが、所定の視点を基準とした視野に対応する空間をいう。
これにより、例えば、各座標データがローカル座標系で表されている場合に、座標変換部は、各座標データに対して、ワールド座標系への座標変換を施す。判定部は、座標変換部による座標変換後の各頂点の座標データに基づいて、各頂点について、その頂点と他の頂点とから特定される多角形がビューボリュームに含まれていない場合に、その頂点の形態データを読み込む必要がないと判定する。従って、画像処理装置は、全体がビューボリューム外にある多角形のみに含まれる各頂点の形態データについての外部メモリから内部記憶部への転送量を減らし、より高速に画像処理を行うことができる。【００１７】
また、前記オブジェクトデータを構成する各座標データ同士は、前記外部メモリに連続して格納されていることとしてもよい。
これにより、各座標データ同士は、外部メモリに連続して格納されているため、座標データ読込部は、外部メモリから連続して各座標データを内部記憶部に読み込むことが可能となり、非連続に格納されている場合と比較し高速な読み込みが可能となり、画像処理装置は、より高速な画像処理を実現できる。【００１８】
また、前記形態データは、色データを含むこととしてもよい。
これにより、形態データ読込部は、判定部が形態データを読み込む必要がないと判定した各点の色データを含む形態データを読み込まないため、オブジェクトに含まれる各点のうち、判定部により形態データを読み込む必要がないと判定された点がある場合には、画像処理装置は、外部メモリから内部記憶部への色データを含む形態データの転送量を減らし、より高速に画像処理を行うことができる。【００１９】
また、本発明に係る画像処理システムは、請求項１記載の画像処理装置と制御装置とからなる画像処理システムであって、前記制御装置は、前記外部メモリに各点の座標データ同士を連続させて格納することを特徴とする。
これにより、制御装置は、外部メモリに各点の座標データ同士を連続して格納するため、画像処理装置の座標データ読込部は、外部メモリから連続して各座標データを画像処理装置の内部記憶部に読み込むことが可能となり、非連続に格納されている場合と比較し高速な読み込みが可能となり、画像処理装置は、高速な画像処理を実現できる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る画像処理装置１００の機能構成図である。
【図２】ビューボリュームを説明するための図である。
【図３】座標データ３００のデータ構成と内容例を示す図である。
【図４】形態データ４００のデータ構成と内容例を示す図である。
【図５】ディスプレイリスト５００のデータ構成を示す図である。
【図６】画像処理装置１００による３次元オブジェクトを表示させる処理を示すフローチャートである。
【図７】頂点消去部１０４による判定処理を示すフローチャートである。
【図８】画像処理装置１００の動作を具体的に説明するための図である。
【図９】従来のクリッピング処理を含む画像処理を示すフローチャートである。
【符号の説明】
【００２１】
１００    画像処理装置
１０１    インプットアセンブラ部
１０２    座標データ読込部
１０３    座標変換部
１０４    頂点消去部
１０５    形態データ読込部
１０６    内部記憶部
１０７    表示制御部
１１０    メモリ
１２０    制御装置
１３０    表示装置
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態について、図面を参照しながら説明する。
＜概要＞
実施形態に係る画像処理装置は、複数のポリゴンから構成される３次元オブジェクトを表示させるための画像処理を行う際に、自装置外部にあるメモリからの形態データの読み込み回数を抑え、高速な処理を実現可能な画像処理装置である。具体的には、画像処理装置は、自装置に対し３次元オブジェクトを表示させるための画像処理を行わせる制御装置からの指示に基づいて、以下の処理を行う。なお、以下では、単にポリゴンという場合には、三角形ポリゴンを示すものとする。【００２３】
画像処理装置は、メモリから３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データを自装置内部の記憶領域に読み込み、読み込んだ各頂点の座標データに対し座標変換を施す。また、座標変換後の各頂点の座標データに基づき、各頂点の形態データを読み込む必要があるか否かを判定する。
具体的には、各頂点について、その頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれる場合に、その頂点の形態データを読み込む必要があると判定する。つまり、各頂点について、その頂点を含むポリゴンの全体がビューボリュームに含まれない場合には、その頂点の形態データを読み込む必要がないと判定する。【００２４】
また、画像処理装置は、判定結果に従って、読み込む必要があると判定した頂点のみの形態データをメモリから自装置内部の記憶領域に読み込み、この記憶領域に格納されている座標データと形態データとに基づいて３次元オブジェクトの描画処理を行う。
このように、画像処理装置は、各頂点について、その頂点を含むポリゴンの全体がビューボリュームに含まれない場合には、その頂点の形態データをメモリから読み込まないため、読み込む必要がないと判定される頂点がある場合には、無条件に３次元オブジェクトの全頂点の形態データを読み込む場合と比較し、メモリからの形態データの読み込み回数を抑え、形態データを読み出すための処理時間を短縮できるため、高速な画像処理を実現することができる。【００２５】
また、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとのメモリへの格納は、上述の制御装置によって行われる。例えば、制御装置が複数の３次元オブジェクトについての座標データと形態データとを順次メモリに格納するような場合には、画像処理装置による形態データの読み出し回数が多いほど、制御装置と画像処理装置とのメモリアクセス競合が発生しやすくなり、制御装置と画像処理装置とそれぞれにおいて、メモリへのアクセス遅延が発生する恐れがある。上述のように、画像処理装置は、メモリからの形態データの読み込み回数を抑えることができるため、制御装置とのメモリアクセス競合の発生に伴うアクセス遅延の発生を軽減し、制御装置と画像処理装置とそれぞれの処理速度の低下を抑えることができる。
＜構成＞
まず、実施形態に係る画像処理装置の構成について説明する。【００２６】
図１は、実施形態に係る画像処理装置１００の機能構成図である。
画像処理装置１００は、集積回路を構成する回路ブロック、いわゆるグラフィックアクセラレータを含み、メモリ１１０と制御装置１２０と表示装置１３０とに信号線群、即ちバスを介して接続している。画像処理装置１００とメモリ１１０と制御装置１２０と表示装置１３０とキーボード等の入力装置（図示しない）とハードディスク等の記憶装置（図示しない）とで、いわゆるコンピュータを構成する。【００２７】
以下、画像処理装置１００が接続する各要素について簡単に説明する。
メモリ１１０は、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとを記憶するメモリであり、各頂点の座標データ同士がそれぞれ連続するように、また各頂点の形態データ同士がそれぞれ連続するように、制御装置１２０により格納される。なお、座標データは、ローカル座標系、つまりオブジェクト毎に定義される、一般的には物体の中心を原点とする座標系で表された、各頂点の座標値を示すデータであり、形態データは、各頂点の色等を示すデータである。座標データと形態データとについては、後述する。【００２８】
制御装置１２０は、画像処理装置１００に対し、メモリ１１０上の座標データと形態データとのそれぞれの格納領域の各先頭アドレス値等を含むディスプレイリストを送出し、ディスプレイリストに基づいて画像処理装置１００に３次元オブジェクトを表示させるための画像処理を行わせる回路ブロック（メインプロセッサ）である。
詳細には、制御装置１２０は、ユーザ入力や時刻変化その他のイベントに応じて、表示する３次元オブジェクトを生成、又は変化（変形、変色等）させるため、逐次、表示すべき３次元オブジェクトの構成を定義するディスプレイリストを生成し、生成したディスプレイリストを画像処理装置１００に送出し、また、表示する３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとをメモリ１１０に格納する。【００２９】
表示装置１３０は、画像処理装置１００が３次元オブジェクトを表示させるためのディスプレイ等の表示装置である。
また、画像処理装置１００は、同図に示すとおり、インプットアセンブラ部１０１と表示制御部１０７とを含んで構成されている。以下、画像処理装置１００の構成要素について説明する。【００３０】
インプットアセンブラ部１０１は、制御装置１２０から受領したディスプレイリストに基づき、メモリ１１０に格納された、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと３次元オブジェクトを構成するポリゴンのうち、少なくとも一部がビューボリュームに含まれるポリゴンについての各頂点の形態データとを内部の記憶領域に読み込む機能を有する。【００３１】
インプットアセンブラ部１０１は、座標データ読込部１０２、座標変換部１０３、頂点消去部１０４、形態データ読込部１０５、内部記憶部１０６を含んで構成される。座標データ読込部１０２、座標変換部１０３、頂点消去部１０４、形態データ読込部１０５の各機能は、内部記憶部１０６に記憶されているプログラムをグラフィックアクセラレータが実行することにより実現される。なお、本発明における判定部は、頂点消去部１０４に相当する。【００３２】
ここで、座標データ読込部１０２は、ディスプレイリストに含まれる、メモリ１１０上の座標データの格納領域の先頭アドレス値に基づいて、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データをメモリ１１０から内部記憶部１０６に読み込む機能を有する。
座標変換部１０３は、座標データ読込部１０２により内部記憶部１０６に格納された各頂点のローカル座標系で表された座標データを、ワールド座標系、つまり３次元オブジェクトが配置される３次元空間における座標系で表された座標データに座標変換するための行列演算を行い、座標変換後の各頂点の座標データを内部記憶部１０６に格納する機能を有する。なお、座標変換部１０３は、ワールド座標系に座標変換するための変換行列のデータが格納されたレジスタ（図示しない）を用いて演算を行う。【００３３】
頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、各頂点についての判定結果を内部記憶部１０６に格納する機能を有する。
判定に関して具体的には、各頂点について、その頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれる場合に、その頂点の形態データを読み込む必要があると判定し、その頂点を含むポリゴン全体がビューボリュームに含まれない場合には、その頂点の形態データを読み込む必要がないと判定する。【００３４】
ビューボリュームは、ワールド座標系において、視野に対応する空間を定義したものであり、図２に示すとおり、視点２０１を基準に、所定の視線方向を中心軸とし、所定の視野角を広がり角度として定義される四角錐状の空間を前方クリップ面２０２と後方クリップ面２０３とで区切った四角錐台状の空間である。ビューボリュームを前方クリップ面２０２と後方クリップ面２０３とで区切った空間として定義することによって、視点から近すぎる空間にあるポリゴン及び視点から遠すぎる空間にあるポリゴンの表示を行わず、描画に係る処理を高速に行うことができる。【００３５】
なお、ポリゴンがビューボリュームに含まれるか否かの判断手法は、従来技術であるため詳細は説明しないが、例えば、各頂点の座標がビューボリュームに含まれるか否かにより、ポリゴン全体、又はポリゴンの一部の頂点がビューボリュームに含まれるか否かを判断できる。また、ビューボリュームを構成する、前方クリップ面２０２と後方クリップ面２０３とを含む各面とポリゴンとの交線があるかを計算することにより、頂点を含まない、ポリゴンの一部分がビューボリュームに含まれるか否かを判断できる。【００３６】
形態データ読込部１０５は、頂点消去部１０４が内部記憶部１０６に格納した、各頂点についての判定結果と、ディスプレイリストに含まれる、メモリ１１０上の形態データの格納領域の先頭アドレス値とに基づいて、頂点消去部１０４が読み込む必要があると判定した各頂点の形態データを、メモリ１１０から内部記憶部１０６に読み込む機能を有する。【００３７】
内部記憶部１０６は、メモリ１１０から読み込まれた座標データと形態データと、座標変換後の座標データと、頂点消去部１０４による判定結果とを記憶するＲＡＭ（Random Access Memory）である。
また、表示制御部１０７は、インプットアセンブラ部１０１の内部記憶部１０６に格納された判定結果に基づき、内部記憶部１０６に格納された、各頂点の座標変換後の座標データと形態データとを用いて、表示装置１３０に３次元オブジェクトを表示させるための描画処理を行う機能を有する。描画処理は、ディスプレイリストに含まれる、後述する描画コマンド（例えば、三角形を描画するコマンド等）に従って行う。描画コマンドに従った描画処理方法は従来技術であるため、説明は省略する。
＜データ＞
以下、インプットアセンブラ部１０１が使用する各データについて説明する。【００３８】
＜座標データ＞
まず、メモリ１１０に格納される各頂点の座標データについて説明する。
図３は、座標データ３００のデータ構成と内容例を示す図である。
座標データ３００は、３次元オブジェクトを構成する各ポリゴンについての各頂点のローカル座標系で表された座標データであり、同図は、３次元オブジェクトを構成する各ポリゴンが頂点１〜頂点４を含む場合に、座標データ３００が頂点１の座標データ３１０と頂点２の座標データ３２０と頂点３の座標データ３３０と頂点４の座標データ３４０とで構成される例を示している。【００３９】
各頂点の座標データ同士は、メモリ１１０上の連続領域に連続して格納されており、この格納順により、３次元オブジェクトを構成する各ポリゴンに含まれる頂点を特定することができる。つまり、同図では、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成することを示している。
頂点１の座標データ３１０は、頂点１の３次元座標値を示すデータであり、頂点１のＸ座標値３１１と頂点１のＹ座標値３１２と頂点１のＺ座標値３１３とで構成される。これらの３次元座標値同士は、メモリ１１０上の連続領域に連続して格納されている。なお、他の頂点（頂点２〜頂点４）の座標データも頂点１の座標データ３１０と同様の構成を有するため説明は省略する。【００４０】
上述したように、各頂点の座標データ同士及び各頂点の３次元座標値同士は、メモリ１１０上の連続領域に連続して格納されており、インプットアセンブラ部１０１の座標データ読込部１０２がメモリ１１０から各頂点の座標データを内部記憶部１０６に読み込む際に連続的に読み込むことができるため、非連続に格納する場合と比較し、座標データの読み込み効率を向上させることができる。また、画像処理装置１００とメモリ１１０とを接続するバスの幅によっては、座標データ読込部１０２が１回に複数頂点分の座標データを読み込むことが可能であり、そのような場合に、読み込まれるデータは座標データだけであるため、非連続に格納する場合と比較し、座標データの読み込み効率を向上させることができる。【００４１】
なお、座標データ３００は、上述したように各頂点についてのローカル座標系で表された座標データであるが、インプットアセンブラ部１０１の座標変換部１０３により内部記憶部１０６に格納される座標変換後の各頂点の座標データについても、同様のデータ構成であるため、説明は省略する。
＜形態データ＞
次に、メモリ１１０に格納される各頂点の形態データについて説明する。【００４２】
図４は、形態データ４００のデータ構成と内容例を示す図である。
形態データ４００は、３次元オブジェクトを構成する各ポリゴンについての各頂点の形態データであり、同図は、３次元オブジェクトを構成する各ポリゴンが頂点１〜頂点４を含む場合に、形態データ４００が、頂点１の形態データ４１０と頂点２の形態データ４２０と頂点３の形態データ４３０と頂点４の形態データ４４０とで構成される例を示している。各頂点の形態データ同士は、メモリ１１０上の連続領域に連続して格納されている。【００４３】
頂点１の形態データ４１０は、頂点１のＲｅｄ値４１１、頂点１のＧｒｅｅｎ値４１２、頂点１のＢｌｕｅ値４１３、頂点１のα値４１４、頂点１のＵ座標値４１５、頂点１のＶ座標値４１６で構成される。
ここで、頂点１のＲｅｄ値４１１と頂点１のＧｒｅｅｎ値４１２と頂点１のＢｌｕｅ値４１３とは、赤（Ｒｅｄ）、緑（Ｇｒｅｅｎ）、青（Ｂｌｕｅ）の光の３原色により表わした場合の頂点１の色を示す値であり、頂点１のα値４１４は、頂点１についての光源からの光の透過度合いを示す透過率を示す値である。また、頂点１のＵ座標値４１５と頂点１のＶ座標値４１６とは、２次元の固有の座標系（ＵＶ座標系）で表現されているテクスチャを３次元オブジェクトの表面に貼付する場合に、頂点１に対応させるテクスチャ上のテクスチャ座標値である。これらのデータは、メモリ１１０上の連続領域に連続して格納されている。なお、他の頂点（頂点２〜頂点４）の形態データも頂点１の形態データ４１０と同様の構成を有するため説明は省略する。【００４４】
＜ディスプレイリスト＞
次に、ディスプレイリストについて説明する。
図５は、ディスプレイリスト５００のデータ構成を示す図である。
ディスプレイリスト５００は、同図に示すように、座標データ先頭アドレス５０１、形態データ先頭アドレス５０２、カウント値５０３、描画コマンド５０４で構成される。【００４５】
座標データ先頭アドレス５０１は、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データが連続して格納された、メモリ１１０上の領域の先頭アドレス値であり、具体的には、図３に示す座標データ３００の頂点１のＸ座標値３１１が格納されている領域の先頭アドレス値である。
形態データ先頭アドレス５０２は、３次元オブジェクトを構成する各ポリゴンについての各頂点の形態データが連続して格納された、メモリ１１０上の領域の先頭アドレス値であり、具体的には、図４に示す形態データ４００の頂点１のＲｅｄ値４１１が格納されている領域の先頭アドレス値である。【００４６】
カウント値５０３は、３次元オブジェクトを構成するポリゴンの数を示すデータである。カウント値５０３が示すポリゴンの数に２を加えた値が３次元オブジェクトの頂点数となるため、座標データ読込部１０２は、カウント値５０３に基づいて、座標データ先頭アドレス５０１が示すメモリ１１０上のアドレス値から、頂点数分の座標データを読み込むことができる。【００４７】
描画コマンド５０４は、画像処理装置１００の表示制御部１０７に対し、インプットアセンブラ部１０１の内部記憶部１０６に格納された、座標変換後の座標データと形態データとを用いて、表示装置１３０にオブジェクトを描画させるためのコマンドである。例えば、ＯｐｅｎＧＬ（Open Graphics Library）に準拠した描画コマンドとして「ＤｒａｗＡｒｒａｙｓ」がある。「ＤｒａｗＡｒｒａｙｓ」コマンドにより、座標変換後の座標データと形態データとを用いて、カウント値５０３が示すポリゴンの数のポリゴンを描画させることができる。
＜動作＞
以下、上記構成を備え、上記データを扱う画像処理装置１００の動作を、図６と図７を用いて説明する。【００４８】
まず、図６は、画像処理装置１００による３次元オブジェクトを表示させる処理を示すフローチャートである。
画像処理装置１００におけるインプットアセンブラ部１０１の座標データ読込部１０２は、制御装置１２０から受領したディスプレイリスト５００の座標データ先頭アドレス５０１とカウント値５０３とに基づき、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データをメモリ１１０からインプットアセンブラ部１０１の内部記憶部１０６に読み込む（ステップＳ６０１）。【００４９】
インプットアセンブラ部１０１の座標変換部１０３は、内部記憶部１０６に格納された各頂点のローカル座標系で表された座標データをワールド座標に座標変換し、変換後の座標データを内部記憶部１０６に格納する（ステップＳ６０２）。
インプットアセンブラ部１０１の頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、判定結果を内部記憶部１０６に格納する（ステップＳ６０３）。【００５０】
インプットアセンブラ部１０１の形態データ読込部１０５は、内部記憶部１０６に格納された判定結果と、ディスプレイリストに含まれる、メモリ１１０の形態データの格納領域の先頭アドレス値とに基づいて、読み込む必要があると判定された各頂点の形態データを、メモリ１１０から内部記憶部１０６に読み込む（ステップＳ６０４）。
画像処理装置１００の表示制御部１０７は、内部記憶部１０６に格納された、各頂点の判定結果と座標変換後の座標データと形態データとに基づいて、ビューボリュームに含まれる各ポリゴンの全部又は一部を表示装置１３０に表示させるための描画処理を行う（ステップＳ６０５）。【００５１】
次に、図７を用いて、頂点消去部１０４による判定処理（ステップＳ６０３）について説明する。
図７は、頂点消去部１０４による判定処理を示すフローチャートである。
頂点消去部１０４は、全ての頂点について判定処理が完了していない場合に（ステップＳ７０１：Ｎ）、判定対象の頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれているか否かを判断する（ステップＳ７０２）。【００５２】
頂点消去部１０４は、判定対象の頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれている場合には（ステップＳ７０２：Ｙ）、判定対象の頂点の形態データを読み込む必要があると判定し、判定結果を内部記憶部１０６に格納する（ステップＳ７０３）。
頂点消去部１０４は、判定対象の頂点を含むポリゴン全体がビューボリュームに含まれていない場合には（ステップＳ７０２：Ｎ）、判定対象の頂点の形態データを読み込む必要がないと判定し、判定結果を内部記憶部１０６に格納する（ステップＳ７０４）。【００５３】
頂点消去部１０４は、ステップＳ７０３又はステップＳ７０４において判定を行うと、ステップＳ７０１に戻り、全ての頂点について判定処理が完了している場合には（ステップＳ７０１：Ｙ）、判定処理を終了する。
なお、判定結果は、判定対象の頂点の形態データを読み込む必要があるか否かを識別可能なだけでなく、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定対象の頂点自体がビューボリュームに含まれるか否かを識別可能に記録するものとする。例えば、判定対象の頂点自体がビューボリュームに含まれるため、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定結果として「１」を記録する。また、判定対象の頂点はビューボリュームに含まれないが、判定対象の頂点を含むポリゴンがビューボリュームに含まれるため、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定結果として「２」を記録する。また、判定対象の頂点の形態データを読み込む必要がないと判定された場合には、判定結果として「０」を記録する。
＜具体例＞
以下、図に示す例を用いて、図６と図７に示す各フローチャートに即して、画像処理装置１００の動作を具体的に説明する。【００５４】
図８は、画像処理装置１００の動作を具体的に説明するための図である。同図は、ビューボリュームを視点から視線方向に見た場合に、３次元オブジェクトを構成するポリゴン８０１とポリゴン８０２のうち、ポリゴン８０１の一部がビューボリュームに含まれ、ポリゴン８０２全体がビューボリュームに含まれない例を示している。なお、ビューボリュームに含まれるポリゴン８０１の一部には、頂点１が含まれ、頂点２と頂点３とは含まれていないものとする。【００５５】
画像処理装置１００におけるインプットアセンブラ部１０１の座標データ読込部１０２は、制御装置１２０から受領したディスプレイリスト５００の座標データ先頭アドレス５０１とカウント値５０３とに基づき、３次元オブジェクトを構成する各ポリゴンについての各頂点（頂点１〜頂点４）の座標データをメモリ１１０からインプットアセンブラ部１０１の内部記憶部１０６に読み込む（図６におけるステップＳ６０１）。【００５６】
インプットアセンブラ部１０１の座標変換部１０３は、内部記憶部１０６に格納された各頂点（頂点１〜頂点４）のローカル座標系で表された座標データをワールド座標に座標変換し、変換後の座標データを内部記憶部１０６に格納する（ステップＳ６０２）。
インプットアセンブラ部１０１の頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点（頂点１〜頂点４）の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、判定結果を内部記憶部１０６に格納する（ステップＳ６０３）。【００５７】
具体的には、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（図７におけるステップＳ７０１：Ｎ）、まず、頂点１を判定対象の頂点として判定処理を行う。頂点１の座標データが示す座標がビューボリュームに含まれているため（ステップＳ７０２：Ｙ）、頂点１の形態データを読み込む必要があると判定し、判定結果として、例えば「１」を内部記憶部１０６に格納する（ステップＳ７０３）。【００５８】
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点２を判定対象の頂点として判定処理を行う。頂点２を含むポリゴン８０１の一部がビューボリュームに含まれているため、頂点２の形態データを読み込む必要があると判定し、判定結果として、例えば「２」を内部記憶部１０６に格納する（ステップＳ７０３）。【００５９】
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点３を判定対象の頂点として判定処理を行い、頂点２と同様、頂点３の形態データを読み込む必要があると判定し、判定結果として、例えば「２」を内部記憶部１０６に格納する（ステップＳ７０３）。
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点４を判定対象の頂点として判定処理を行う。頂点４を含むポリゴン８０２全体がビューボリュームに含まれていないため（ステップＳ７０２：Ｎ）、頂点４の形態データを読み込む必要がないと判定し、判定結果として、例えば「０」を内部記憶部１０６に格納する（ステップＳ７０４）。頂点消去部１０４は、全ての頂点について判定処理が完了したため（ステップＳ７０１：Ｙ）、判定処理を終了する。【００６０】
インプットアセンブラ部１０１の形態データ読込部１０５は、内部記憶部１０６に格納された判定結果と、ディスプレイリストに含まれる、メモリ１１０の形態データの格納領域の先頭アドレス値とに基づいて、読み込む必要があると判定された各頂点（頂点１〜頂点３）の形態データを、メモリ１１０から内部記憶部１０６に読み込む（図６におけるステップＳ６０４）。【００６１】
画像処理装置１００の表示制御部１０７は、内部記憶部１０６に格納された、各頂点の判定結果と座標変換後の座標データと形態データとに基づいて、ビューボリュームに含まれる、ポリゴン８０１の一部を表示装置１３０に表示させるための描画処理を行う（ステップＳ６０５）。
上述のように、インプットアセンブラ部１０１の形態データ読込部１０５は、頂点１〜頂点３の形態データをメモリ１１０から読み込み、頂点４の形態データを読み込まないため、無条件に頂点１〜頂点４をメモリ１１０から読み込む場合と比較し、高速な画像処理を実現することができる。
＜補足＞
以上、本発明に係る画像処理装置について、実施形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施形態に示したとおりの画像処理装置に限られないことは勿論である。【００６２】
（１）実施形態において、画像処理装置１００は、複数のポリゴンから構成される３次元オブジェクトを画像処理対象とするものとして説明したが、ポリゴンに限らず、点や、線分等からなる２次元又は３次元のオブジェクトを画像処理対象としてもよい。
（２）実施形態において、座標変換部１０３は、ローカル座標系で表された各頂点の座標データをワールド座標系で表された座標データに座標変換するものとして説明したが、ディスプレイ表示のための２次元座標系であるディスプレイ座標系で表された座標データに座標変換するものとしてもよい。この場合、頂点消去部１０４は、各ポリゴンについて、少なくとも一部がビューボリュームに含まれるか否かに代えて、各ポリゴンについて、少なくとも一部が２次元の表示領域であるビューポートに含まれるか否かにより各頂点の形態データを読み込む必要があるか否かを判定する。【００６３】
（３）実施形態では、座標データ３００において、各頂点の座標データの格納順序により、３次元オブジェクトを構成する各ポリゴンに含まれる各頂点を特定する例を説明したが、例えば、頂点毎にその頂点が含まれるポリゴンを示すデータを座標データ３００に追加してもよく、また、座標データ３００とは別に、ポリゴン毎に含まれる各頂点を定義したデータを保持することとしてもよい。【００６４】
また、実施形態において、座標データ３００は、頂点１〜頂点４の４つの座標データからなり、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成し、つまり、２つのポリゴンに共通する頂点２と頂点３との座標データは、座標データ３００に重複して登録しないものとして説明したが、座標データ３００にポリゴン毎に含まれる３つの頂点を全て登録することによって、ポリゴンを構成する頂点を特定できるようにしてもよい。例えば、実施形態と同じように、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成する場合に、座標データ３００には、頂点１、頂点２、頂点３、頂点２、頂点３、頂点４の順序で座標データを登録するようにしてもよい。このように座標データ３００のデータ構造を変更することによって、共通の頂点を有さない複数のポリゴンから構成されるオブジェクトについても、本発明に係る画像処理装置により画像処理することができる。【００６５】
（４）実施形態の形態データ読込部１０５は、ポリゴンの少なくとも一部がビューボリュームに含まれる場合に、そのポリゴンの各頂点の形態データ全体を読み込むものとして説明したが、形態データの読み込みを段階的に行うこととしてもよい。具体的には、まず、そのポリゴンの各頂点のα値（透過率）だけを読み込み、そのポリゴンの全頂点のα値が０％、つまり、そのポリゴンが全く光を透過しない場合には、そのポリゴンの背後に隠れるポリゴン以外のポリゴンのみの色（Ｒｅｄ値、Ｇｒｅｅｎ値、Ｂｌｕｅ値）とテクスチャ座標（Ｕ座標値、Ｖ座標値）とを読み出すこととしてもよい。これにより、視点から視線方向に見た場合に、まったく光を透過しないポリゴンの背後に隠れる他のポリゴンの色とテクスチャ座標とを読み出さないため、さらに高速な画像処理が実現できる。【００６６】
（５）実施形態では、座標データ３００において各頂点の座標データのデータ構成の一例を示したが、これに限られるものではなく、例えば、各頂点について、奥行きの縮小率Ｗを含むものとしてもよい。
（６）実施形態では、形態データ４００において各頂点の形態データのデータ構成の一例を示したが、これに限られるものではなく、例えば、各頂点に対応させるテクスチャが複数ある場合には、複数のテクスチャ座標値（Ｕ座標値とＶ座標値）を含むものとしてもよく、また、例えば、頂点の向きを示す頂点法線ベクトル（Ｘ成分値、Ｙ成分値、Ｚ成分値）を含むものとしてもよい。
【産業上の利用可能性】
【００６７】
本発明に係る画像処理装置は、オブジェクトを表示させるための画像処理を行う際に利用されるものである。
【図１】
2008032603.tif 000003
【図２】
2008032603.tif 000004
【図３】
2008032603.tif 000005
【図４】
2008032603.tif 000006
【図５】
2008032603.tif 000007
【図６】
2008032603.tif 000008
【図７】
2008032603.tif 000009
【図８】
2008032603.tif 000010
【図９】
2008032603.tif 000011
【手続補正書】
【提出日】平成21年1月23日(2009.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、
前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記オブジェクトは、１又は複数の多角形により構成されるものであり、
前記点は、各多角形の頂点であり、
前記座標データは、各頂点について、当該頂点が含まれる多角形の他の頂点を特定できるよう構成されており、
前記判定部は、各頂点について、当該頂点と他の頂点とから特定される多角形が前記表示座標範囲に含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、
前記表示制御部は、前記内部記憶部に格納されている座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行う
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記座標データ読込部が前記内部記憶部に読み込んだ各座標データに対して、ワールド座標系への座標変換を施し、座標変換後の各座標データを前記内部記憶部に格納する座標変換部を備え、
前記オブジェクトは、３次元オブジェクトであり、
前記表示座標範囲は、ビューボリュームであり、
前記判定部は、座標変換後の各座標データに基づいて、各頂点について、当該頂点と他の頂点とから特定される多角形が前記ビューボリュームに含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、
前記表示制御部は、前記内部記憶部に格納されている座標変換後の座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行う
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記オブジェクトデータを構成する各座標データ同士は、前記外部メモリに連続して格納されている
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記形態データは、色データを含む
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
請求項１記載の画像処理装置と制御装置とからなる画像処理システムであって、
前記制御装置は、前記外部メモリに各点の座標データ同士を連続させて格納する
ことを特徴とする画像処理システム。
【請求項７】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理用集積回路であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、
前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備える
ことを特徴とする画像処理用集積回路。
【請求項８】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブラ装置であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備える
ことを特徴とするインプットアセンブラ装置。
【請求項９】
コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブル用集積回路であって、
前記オブジェクトデータを格納するための内部記憶部と、
各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、
各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、
前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備える
ことを特徴とするインプットアセンブル用集積回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックスに関し、特にオブジェクトを表示する際のクリッピング処理を含む画像処理技術に関する。
【背景技術】
【０００２】
オブジェクトをディスプレイに表示させるための画像処理を行う画像処理装置は、一般的に、画像処理装置全体の制御等を行うメインプロセッサとは別に専用のプロセッサ（以下、「グラフィックアクセラレータ」という）を備え、このグラフィックアクセラレータにオブジェクトの描画処理等の画像処理を行わせることによって、メインプロセッサが画像処理を行う場合と比較し、より高速な画像処理を実現している。
【０００３】
グラフィックアクセラレータによる画像処理には、オブジェクトのうち、ディスプレイ上の所定の表示領域内に存在する部分のみを表示させるようにするクリッピングと呼ばれる処理が含まれる（例えば、特許文献１参照）。このクリッピング処理を含む、グラフィックアクセラレータによる一般的な画像処理の流れを、図９を用いて説明する。
同図に示すように、グラフィックアクセラレータは、オブジェクトの各頂点についてのローカル座標系で表された座標値をメモリから読み込み（ステップＳ９０１）、読み込んだ各頂点の座標値に対し、ワールド座標系への座標変換を行い（ステップＳ９０２）、メモリから各頂点の色（Ｒ，Ｇ，Ｂ）、透過率（α）、テクスチャ座標（Ｕ，Ｖ）等のデータ（以下、これらのデータをまとめて「形態データ」という）を読み込み、読み込んだ各頂点の形態データとワールド座標系で表された各座標値とに基づいて光源計算処理を行い（ステップＳ９０３）、視点座標系への座標変換であるビューポート変換を行い（ステップＳ９０４）、ディスプレイ座標系への座標変換である透視変換を行い（ステップＳ９０５）、表示領域からはみ出すデータを削除するクリッピング処理を行う（ステップＳ９０６）。
【特許文献１】日本国特許公開２００１−２０９３６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ゲームのグラフィックス等にみられるように、近年、より複雑なオブジェクトの表示が求められており、更に高速な画像処理の実現が望まれる。
そこで、本発明はかかる問題に鑑みてなされたものであり、より高速な画像処理が可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備えることを特徴とする。
【０００６】
また、上記課題を解決するために、画像処理装置に用いられる本発明にかかる画像処理用集積回路は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理用集積回路であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部と、前記内部記憶部に格納されている座標データと形態データとに基づいて、オブジェクトを前記表示領域に表示させる表示制御部とを備えることを特徴とする。
【０００７】
また、上記課題を解決するために、画像処理装置に用いられる本発明にかかるインプットアセンブラ装置は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブラ装置であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備えることを特徴とする。
【０００８】
また、上記課題を解決するために、インプットアセンブラ装置に用いられる本発明にかかるインプットアセンブル用集積回路は、コンピュータグラフィックスでオブジェクトを所定の表示領域に表示するために用いられ、当該オブジェクトに含まれる複数の点についての座標データと形態データとを含み、外部メモリに格納されたオブジェクトデータに基づいて、当該オブジェクトの表示に係る処理を行う画像処理装置に用いられるインプットアセンブル用集積回路であって、前記オブジェクトデータを格納するための内部記憶部と、各点の座標データを、前記外部メモリから前記内部記憶部に読み込む座標データ読込部と、各点について、当該点の座標データが示す座標が、前記表示領域に表示されるべき座標の範囲を定義する所定の表示座標範囲に含まれるか否かには少なくとも基づいて、当該点の形態データを読み込む必要があるか否かを判定する判定部と、前記判定部が読み込む必要があると判定した各点の形態データを、前記内部記憶部に読み込み、前記判定部が読み込む必要がないと判定した各点の形態データを読み込まない形態データ読込部とを備えることを特徴とする。
【０００９】
ここで、形態データとは、各点における色や模様を表すためのデータをいい、各点についての、赤（Ｒｅｄ）、緑（Ｇｒｅｅｎ）、青（Ｂｌｕｅ）の光の３原色で表わした場合の色データや光源からの光の透過度合いを示す透過率データや２次元の固有の座標系で表現されているテクスチャをオブジェクトの表面に貼付する場合の、そのテクスチャ上の座標値であるテクスチャ座標データ等が一例として挙げられる。各点についての形態データに基づいて演算が行われ、オブジェクト全体の色や模様が決定される。
【発明の効果】
【００１０】
上述の構成を備える本発明に係る画像処理装置、画像処理用集積回路、インプットアセンブラ装置、及びインプットアセンブル用集積回路において、形態データ読込部は、判定部が形態データを読み込む必要がないと判定した各点の形態データを読み込まない。よって、本発明に係る各装置及び各回路において、オブジェクトに含まれる各点のうち、判定部により形態データを読み込む必要がないと判定された点がある場合には、外部メモリから内部記憶部への形態データの転送量を減らし、より高速に画像処理を行うことができる。
【００１１】
例えば、オブジェクトが複数のポリゴンから構成され、各点がポリゴンにおける頂点である場合に、判定部は、表示座標範囲に含まれる頂点について形態データを読み込む必要があると判定し、表示座標範囲に含まれない頂点について形態データを読み込む必要がないと判定するものとすると、表示制御部は、頂点の一部が表示座標範囲に含まれるポリゴンを、内部記憶部に格納されている、そのポリゴンの各頂点の座標データと表示座標範囲に含まれる頂点のみの形態データとに基づいて表示させることになるため、そのポリゴンの全頂点の形態データを読み込む場合と比較し、表示させるポリゴンの画像の精度は多少低くなる。従って、全頂点が表示座標範囲に含まれるポリゴンの描画が正確にできればよく、高速な画像処理が必要とされるような仕様の各装置又は各集積回路に本発明に係る各装置、各集積回路を適用することによって、特に効果を奏する。
【００１２】
また、前記オブジェクトは、１又は複数の多角形により構成されるものであり、前記点は、各多角形の頂点であり、前記座標データは、各頂点について、当該頂点が含まれる多角形の他の頂点を特定できるよう構成されており、前記判定部は、各頂点について、当該頂点と他の頂点とから特定される多角形が前記表示座標範囲に含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、前記表示制御部は、前記内部記憶部に格納されている座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行うこととしてもよい。
【００１３】
これにより、判定部は、各頂点について、その頂点と他の頂点とから特定される多角形が表示座標範囲に含まれていない場合に、その頂点の形態データを読み込む必要がないと判定するため、画像処理装置は、全体が表示座標範囲外にある多角形のみに含まれる各頂点の形態データについての外部メモリから内部記憶部への転送量を減らし、より高速に画像処理を行うことができる。
【００１４】
また、判定部は、ある頂点の座標データが示す座標が表示座標範囲に含まれていない場合でも、その頂点と他の頂点とから特定される多角形の一部が表示座標範囲に含まれている場合には、その頂点の形態データを読み込む必要があると判定するため、表示制御部は、多角形の頂点の一部が表示座標範囲に含まれている場合にも、その多角形に含まれる全頂点の座標データと形態データとに基づいて、その多角形の一部をより正確に表示させることができる。
【００１５】
また、前記画像処理装置は、前記座標データ読込部が前記内部記憶部に読み込んだ各座標データに対して、ワールド座標系への座標変換を施し、座標変換後の各座標データを前記内部記憶部に格納する座標変換部を備え、前記オブジェクトは、３次元オブジェクトであり、前記表示座標範囲は、ビューボリュームであり、前記判定部は、座標変換後の各座標データに基づいて、各頂点について、当該頂点と他の頂点とから特定される多角形が前記ビューボリュームに含まれていない場合に、当該頂点の形態データを読み込む必要がないと判定し、前記表示制御部は、前記内部記憶部に格納されている座標変換後の座標データと形態データとに基づいて、各多角形の少なくとも一部を前記表示領域に表示させるための処理を行うこととしてもよい。
【００１６】
ここで、ビューボリュームとは、詳細は後述するが、所定の視点を基準とした視野に対応する空間をいう。
これにより、例えば、各座標データがローカル座標系で表されている場合に、座標変換部は、各座標データに対して、ワールド座標系への座標変換を施す。判定部は、座標変換部による座標変換後の各頂点の座標データに基づいて、各頂点について、その頂点と他の頂点とから特定される多角形がビューボリュームに含まれていない場合に、その頂点の形態データを読み込む必要がないと判定する。従って、画像処理装置は、全体がビューボリューム外にある多角形のみに含まれる各頂点の形態データについての外部メモリから内部記憶部への転送量を減らし、より高速に画像処理を行うことができる。
【００１７】
また、前記オブジェクトデータを構成する各座標データ同士は、前記外部メモリに連続して格納されていることとしてもよい。
これにより、各座標データ同士は、外部メモリに連続して格納されているため、座標データ読込部は、外部メモリから連続して各座標データを内部記憶部に読み込むことが可能となり、非連続に格納されている場合と比較し高速な読み込みが可能となり、画像処理装置は、より高速な画像処理を実現できる。
【００１８】
また、前記形態データは、色データを含むこととしてもよい。
これにより、形態データ読込部は、判定部が形態データを読み込む必要がないと判定した各点の色データを含む形態データを読み込まないため、オブジェクトに含まれる各点のうち、判定部により形態データを読み込む必要がないと判定された点がある場合には、画像処理装置は、外部メモリから内部記憶部への色データを含む形態データの転送量を減らし、より高速に画像処理を行うことができる。
【００１９】
また、本発明に係る画像処理システムは、請求項１記載の画像処理装置と制御装置とからなる画像処理システムであって、前記制御装置は、前記外部メモリに各点の座標データ同士を連続させて格納することを特徴とする。
これにより、制御装置は、外部メモリに各点の座標データ同士を連続して格納するため、画像処理装置の座標データ読込部は、外部メモリから連続して各座標データを画像処理装置の内部記憶部に読み込むことが可能となり、非連続に格納されている場合と比較し高速な読み込みが可能となり、画像処理装置は、高速な画像処理を実現できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について、図面を参照しながら説明する。
＜概要＞
実施形態に係る画像処理装置は、複数のポリゴンから構成される３次元オブジェクトを表示させるための画像処理を行う際に、自装置外部にあるメモリからの形態データの読み込み回数を抑え、高速な処理を実現可能な画像処理装置である。具体的には、画像処理装置は、自装置に対し３次元オブジェクトを表示させるための画像処理を行わせる制御装置からの指示に基づいて、以下の処理を行う。なお、以下では、単にポリゴンという場合には、三角形ポリゴンを示すものとする。
【００２１】
画像処理装置は、メモリから３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データを自装置内部の記憶領域に読み込み、読み込んだ各頂点の座標データに対し座標変換を施す。また、座標変換後の各頂点の座標データに基づき、各頂点の形態データを読み込む必要があるか否かを判定する。
具体的には、各頂点について、その頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれる場合に、その頂点の形態データを読み込む必要があると判定する。つまり、各頂点について、その頂点を含むポリゴンの全体がビューボリュームに含まれない場合には、その頂点の形態データを読み込む必要がないと判定する。
【００２２】
また、画像処理装置は、判定結果に従って、読み込む必要があると判定した頂点のみの形態データをメモリから自装置内部の記憶領域に読み込み、この記憶領域に格納されている座標データと形態データとに基づいて３次元オブジェクトの描画処理を行う。
このように、画像処理装置は、各頂点について、その頂点を含むポリゴンの全体がビューボリュームに含まれない場合には、その頂点の形態データをメモリから読み込まないため、読み込む必要がないと判定される頂点がある場合には、無条件に３次元オブジェクトの全頂点の形態データを読み込む場合と比較し、メモリからの形態データの読み込み回数を抑え、形態データを読み出すための処理時間を短縮できるため、高速な画像処理を実現することができる。
【００２３】
また、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとのメモリへの格納は、上述の制御装置によって行われる。例えば、制御装置が複数の３次元オブジェクトについての座標データと形態データとを順次メモリに格納するような場合には、画像処理装置による形態データの読み出し回数が多いほど、制御装置と画像処理装置とのメモリアクセス競合が発生しやすくなり、制御装置と画像処理装置とそれぞれにおいて、メモリへのアクセス遅延が発生する恐れがある。上述のように、画像処理装置は、メモリからの形態データの読み込み回数を抑えることができるため、制御装置とのメモリアクセス競合の発生に伴うアクセス遅延の発生を軽減し、制御装置と画像処理装置とそれぞれの処理速度の低下を抑えることができる。
＜構成＞
まず、実施形態に係る画像処理装置の構成について説明する。
【００２４】
図１は、実施形態に係る画像処理装置１００の機能構成図である。
画像処理装置１００は、集積回路を構成する回路ブロック、いわゆるグラフィックアクセラレータを含み、メモリ１１０と制御装置１２０と表示装置１３０とに信号線群、即ちバスを介して接続している。画像処理装置１００とメモリ１１０と制御装置１２０と表示装置１３０とキーボード等の入力装置（図示しない）とハードディスク等の記憶装置（図示しない）とで、いわゆるコンピュータを構成する。
【００２５】
以下、画像処理装置１００が接続する各要素について簡単に説明する。
メモリ１１０は、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとを記憶するメモリであり、各頂点の座標データ同士がそれぞれ連続するように、また各頂点の形態データ同士がそれぞれ連続するように、制御装置１２０により格納される。なお、座標データは、ローカル座標系、つまりオブジェクト毎に定義される、一般的には物体の中心を原点とする座標系で表された、各頂点の座標値を示すデータであり、形態データは、各頂点の色等を示すデータである。座標データと形態データとについては、後述する。
【００２６】
制御装置１２０は、画像処理装置１００に対し、メモリ１１０上の座標データと形態データとのそれぞれの格納領域の各先頭アドレス値等を含むディスプレイリストを送出し、ディスプレイリストに基づいて画像処理装置１００に３次元オブジェクトを表示させるための画像処理を行わせる回路ブロック（メインプロセッサ）である。
詳細には、制御装置１２０は、ユーザ入力や時刻変化その他のイベントに応じて、表示する３次元オブジェクトを生成、又は変化（変形、変色等）させるため、逐次、表示すべき３次元オブジェクトの構成を定義するディスプレイリストを生成し、生成したディスプレイリストを画像処理装置１００に送出し、また、表示する３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと形態データとをメモリ１１０に格納する。
【００２７】
表示装置１３０は、画像処理装置１００が３次元オブジェクトを表示させるためのディスプレイ等の表示装置である。
また、画像処理装置１００は、同図に示すとおり、インプットアセンブラ部１０１と表示制御部１０７とを含んで構成されている。以下、画像処理装置１００の構成要素について説明する。
【００２８】
インプットアセンブラ部１０１は、制御装置１２０から受領したディスプレイリストに基づき、メモリ１１０に格納された、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データと３次元オブジェクトを構成するポリゴンのうち、少なくとも一部がビューボリュームに含まれるポリゴンについての各頂点の形態データとを内部の記憶領域に読み込む機能を有する。
【００２９】
インプットアセンブラ部１０１は、座標データ読込部１０２、座標変換部１０３、頂点消去部１０４、形態データ読込部１０５、内部記憶部１０６を含んで構成される。座標データ読込部１０２、座標変換部１０３、頂点消去部１０４、形態データ読込部１０５の各機能は、内部記憶部１０６に記憶されているプログラムをグラフィックアクセラレータが実行することにより実現される。なお、本発明における判定部は、頂点消去部１０４に相当する。
【００３０】
ここで、座標データ読込部１０２は、ディスプレイリストに含まれる、メモリ１１０上の座標データの格納領域の先頭アドレス値に基づいて、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データをメモリ１１０から内部記憶部１０６に読み込む機能を有する。
座標変換部１０３は、座標データ読込部１０２により内部記憶部１０６に格納された各頂点のローカル座標系で表された座標データを、ワールド座標系、つまり３次元オブジェクトが配置される３次元空間における座標系で表された座標データに座標変換するための行列演算を行い、座標変換後の各頂点の座標データを内部記憶部１０６に格納する機能を有する。なお、座標変換部１０３は、ワールド座標系に座標変換するための変換行列のデータが格納されたレジスタ（図示しない）を用いて演算を行う。
【００３１】
頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、各頂点についての判定結果を内部記憶部１０６に格納する機能を有する。
判定に関して具体的には、各頂点について、その頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれる場合に、その頂点の形態データを読み込む必要があると判定し、その頂点を含むポリゴン全体がビューボリュームに含まれない場合には、その頂点の形態データを読み込む必要がないと判定する。
【００３２】
ビューボリュームは、ワールド座標系において、視野に対応する空間を定義したものであり、図２に示すとおり、視点２０１を基準に、所定の視線方向を中心軸とし、所定の視野角を広がり角度として定義される四角錐状の空間を前方クリップ面２０２と後方クリップ面２０３とで区切った四角錐台状の空間である。ビューボリュームを前方クリップ面２０２と後方クリップ面２０３とで区切った空間として定義することによって、視点から近すぎる空間にあるポリゴン及び視点から遠すぎる空間にあるポリゴンの表示を行わず、描画に係る処理を高速に行うことができる。
【００３３】
なお、ポリゴンがビューボリュームに含まれるか否かの判断手法は、従来技術であるため詳細は説明しないが、例えば、各頂点の座標がビューボリュームに含まれるか否かにより、ポリゴン全体、又はポリゴンの一部の頂点がビューボリュームに含まれるか否かを判断できる。また、ビューボリュームを構成する、前方クリップ面２０２と後方クリップ面２０３とを含む各面とポリゴンとの交線があるかを計算することにより、頂点を含まない、ポリゴンの一部分がビューボリュームに含まれるか否かを判断できる。
【００３４】
形態データ読込部１０５は、頂点消去部１０４が内部記憶部１０６に格納した、各頂点についての判定結果と、ディスプレイリストに含まれる、メモリ１１０上の形態データの格納領域の先頭アドレス値とに基づいて、頂点消去部１０４が読み込む必要があると判定した各頂点の形態データを、メモリ１１０から内部記憶部１０６に読み込む機能を有する。
【００３５】
内部記憶部１０６は、メモリ１１０から読み込まれた座標データと形態データと、座標変換後の座標データと、頂点消去部１０４による判定結果とを記憶するＲＡＭ（RandomAccess Memory）である。
また、表示制御部１０７は、インプットアセンブラ部１０１の内部記憶部１０６に格納された判定結果に基づき、内部記憶部１０６に格納された、各頂点の座標変換後の座標データと形態データとを用いて、表示装置１３０に３次元オブジェクトを表示させるための描画処理を行う機能を有する。描画処理は、ディスプレイリストに含まれる、後述する描画コマンド（例えば、三角形を描画するコマンド等）に従って行う。描画コマンドに従った描画処理方法は従来技術であるため、説明は省略する。
＜データ＞
以下、インプットアセンブラ部１０１が使用する各データについて説明する。
【００３６】
＜座標データ＞
まず、メモリ１１０に格納される各頂点の座標データについて説明する。
図３は、座標データ３００のデータ構成と内容例を示す図である。
座標データ３００は、３次元オブジェクトを構成する各ポリゴンについての各頂点のローカル座標系で表された座標データであり、同図は、３次元オブジェクトを構成する各ポリゴンが頂点１〜頂点４を含む場合に、座標データ３００が頂点１の座標データ３１０と頂点２の座標データ３２０と頂点３の座標データ３３０と頂点４の座標データ３４０とで構成される例を示している。
【００３７】
各頂点の座標データ同士は、メモリ１１０上の連続領域に連続して格納されており、この格納順により、３次元オブジェクトを構成する各ポリゴンに含まれる頂点を特定することができる。つまり、同図では、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成することを示している。
頂点１の座標データ３１０は、頂点１の３次元座標値を示すデータであり、頂点１のＸ座標値３１１と頂点１のＹ座標値３１２と頂点１のＺ座標値３１３とで構成される。これらの３次元座標値同士は、メモリ１１０上の連続領域に連続して格納されている。なお、他の頂点（頂点２〜頂点４）の座標データも頂点１の座標データ３１０と同様の構成を有するため説明は省略する。
【００３８】
上述したように、各頂点の座標データ同士及び各頂点の３次元座標値同士は、メモリ１１０上の連続領域に連続して格納されており、インプットアセンブラ部１０１の座標データ読込部１０２がメモリ１１０から各頂点の座標データを内部記憶部１０６に読み込む際に連続的に読み込むことができるため、非連続に格納する場合と比較し、座標データの読み込み効率を向上させることができる。また、画像処理装置１００とメモリ１１０とを接続するバスの幅によっては、座標データ読込部１０２が１回に複数頂点分の座標データを読み込むことが可能であり、そのような場合に、読み込まれるデータは座標データだけであるため、非連続に格納する場合と比較し、座標データの読み込み効率を向上させることができる。
【００３９】
なお、座標データ３００は、上述したように各頂点についてのローカル座標系で表された座標データであるが、インプットアセンブラ部１０１の座標変換部１０３により内部記憶部１０６に格納される座標変換後の各頂点の座標データについても、同様のデータ構成であるため、説明は省略する。
＜形態データ＞
次に、メモリ１１０に格納される各頂点の形態データについて説明する。
【００４０】
図４は、形態データ４００のデータ構成と内容例を示す図である。
形態データ４００は、３次元オブジェクトを構成する各ポリゴンについての各頂点の形態データであり、同図は、３次元オブジェクトを構成する各ポリゴンが頂点１〜頂点４を含む場合に、形態データ４００が、頂点１の形態データ４１０と頂点２の形態データ４２０と頂点３の形態データ４３０と頂点４の形態データ４４０とで構成される例を示している。各頂点の形態データ同士は、メモリ１１０上の連続領域に連続して格納されている。
【００４１】
頂点１の形態データ４１０は、頂点１のＲｅｄ値４１１、頂点１のＧｒｅｅｎ値４１２、頂点１のＢｌｕｅ値４１３、頂点１のα値４１４、頂点１のＵ座標値４１５、頂点１のＶ座標値４１６で構成される。
ここで、頂点１のＲｅｄ値４１１と頂点１のＧｒｅｅｎ値４１２と頂点１のＢｌｕｅ値４１３とは、赤（Ｒｅｄ）、緑（Ｇｒｅｅｎ）、青（Ｂｌｕｅ）の光の３原色により表わした場合の頂点１の色を示す値であり、頂点１のα値４１４は、頂点１についての光源からの光の透過度合いを示す透過率を示す値である。また、頂点１のＵ座標値４１５と頂点１のＶ座標値４１６とは、２次元の固有の座標系（ＵＶ座標系）で表現されているテクスチャを３次元オブジェクトの表面に貼付する場合に、頂点１に対応させるテクスチャ上のテクスチャ座標値である。これらのデータは、メモリ１１０上の連続領域に連続して格納されている。なお、他の頂点（頂点２〜頂点４）の形態データも頂点１の形態データ４１０と同様の構成を有するため説明は省略する。
【００４２】
＜ディスプレイリスト＞
次に、ディスプレイリストについて説明する。
図５は、ディスプレイリスト５００のデータ構成を示す図である。
ディスプレイリスト５００は、同図に示すように、座標データ先頭アドレス５０１、形態データ先頭アドレス５０２、カウント値５０３、描画コマンド５０４で構成される。
【００４３】
座標データ先頭アドレス５０１は、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データが連続して格納された、メモリ１１０上の領域の先頭アドレス値であり、具体的には、図３に示す座標データ３００の頂点１のＸ座標値３１１が格納されている領域の先頭アドレス値である。
形態データ先頭アドレス５０２は、３次元オブジェクトを構成する各ポリゴンについての各頂点の形態データが連続して格納された、メモリ１１０上の領域の先頭アドレス値であり、具体的には、図４に示す形態データ４００の頂点１のＲｅｄ値４１１が格納されている領域の先頭アドレス値である。
【００４４】
カウント値５０３は、３次元オブジェクトを構成するポリゴンの数を示すデータである。カウント値５０３が示すポリゴンの数に２を加えた値が３次元オブジェクトの頂点数となるため、座標データ読込部１０２は、カウント値５０３に基づいて、座標データ先頭アドレス５０１が示すメモリ１１０上のアドレス値から、頂点数分の座標データを読み込むことができる。
【００４５】
描画コマンド５０４は、画像処理装置１００の表示制御部１０７に対し、インプットアセンブラ部１０１の内部記憶部１０６に格納された、座標変換後の座標データと形態データとを用いて、表示装置１３０にオブジェクトを描画させるためのコマンドである。例えば、ＯｐｅｎＧＬ（OpenGraphics Library）に準拠した描画コマンドとして「ＤｒａｗＡｒｒａｙｓ」がある。「ＤｒａｗＡｒｒａｙｓ」コマンドにより、座標変換後の座標データと形態データとを用いて、カウント値５０３が示すポリゴンの数のポリゴンを描画させることができる。
＜動作＞
以下、上記構成を備え、上記データを扱う画像処理装置１００の動作を、図６と図７を用いて説明する。
【００４６】
まず、図６は、画像処理装置１００による３次元オブジェクトを表示させる処理を示すフローチャートである。
画像処理装置１００におけるインプットアセンブラ部１０１の座標データ読込部１０２は、制御装置１２０から受領したディスプレイリスト５００の座標データ先頭アドレス５０１とカウント値５０３とに基づき、３次元オブジェクトを構成する各ポリゴンについての各頂点の座標データをメモリ１１０からインプットアセンブラ部１０１の内部記憶部１０６に読み込む（ステップＳ６０１）。
【００４７】
インプットアセンブラ部１０１の座標変換部１０３は、内部記憶部１０６に格納された各頂点のローカル座標系で表された座標データをワールド座標に座標変換し、変換後の座標データを内部記憶部１０６に格納する（ステップＳ６０２）。
インプットアセンブラ部１０１の頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、判定結果を内部記憶部１０６に格納する（ステップＳ６０３）。
【００４８】
インプットアセンブラ部１０１の形態データ読込部１０５は、内部記憶部１０６に格納された判定結果と、ディスプレイリストに含まれる、メモリ１１０の形態データの格納領域の先頭アドレス値とに基づいて、読み込む必要があると判定された各頂点の形態データを、メモリ１１０から内部記憶部１０６に読み込む（ステップＳ６０４）。
画像処理装置１００の表示制御部１０７は、内部記憶部１０６に格納された、各頂点の判定結果と座標変換後の座標データと形態データとに基づいて、ビューボリュームに含まれる各ポリゴンの全部又は一部を表示装置１３０に表示させるための描画処理を行う（ステップＳ６０５）。
【００４９】
次に、図７を用いて、頂点消去部１０４による判定処理（ステップＳ６０３）について説明する。
図７は、頂点消去部１０４による判定処理を示すフローチャートである。
頂点消去部１０４は、全ての頂点について判定処理が完了していない場合に（ステップＳ７０１：Ｎ）、判定対象の頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれているか否かを判断する（ステップＳ７０２）。
【００５０】
頂点消去部１０４は、判定対象の頂点を含むポリゴンの少なくとも一部がビューボリュームに含まれている場合には（ステップＳ７０２：Ｙ）、判定対象の頂点の形態データを読み込む必要があると判定し、判定結果を内部記憶部１０６に格納する（ステップＳ７０３）。
頂点消去部１０４は、判定対象の頂点を含むポリゴン全体がビューボリュームに含まれていない場合には（ステップＳ７０２：Ｎ）、判定対象の頂点の形態データを読み込む必要がないと判定し、判定結果を内部記憶部１０６に格納する（ステップＳ７０４）。
【００５１】
頂点消去部１０４は、ステップＳ７０３又はステップＳ７０４において判定を行うと、ステップＳ７０１に戻り、全ての頂点について判定処理が完了している場合には（ステップＳ７０１：Ｙ）、判定処理を終了する。
なお、判定結果は、判定対象の頂点の形態データを読み込む必要があるか否かを識別可能なだけでなく、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定対象の頂点自体がビューボリュームに含まれるか否かを識別可能に記録するものとする。例えば、判定対象の頂点自体がビューボリュームに含まれるため、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定結果として「１」を記録する。また、判定対象の頂点はビューボリュームに含まれないが、判定対象の頂点を含むポリゴンがビューボリュームに含まれるため、判定対象の頂点の形態データを読み込む必要があると判定された場合には、判定結果として「２」を記録する。また、判定対象の頂点の形態データを読み込む必要がないと判定された場合には、判定結果として「０」を記録する。
＜具体例＞
以下、図に示す例を用いて、図６と図７に示す各フローチャートに即して、画像処理装置１００の動作を具体的に説明する。
【００５２】
図８は、画像処理装置１００の動作を具体的に説明するための図である。同図は、ビューボリュームを視点から視線方向に見た場合に、３次元オブジェクトを構成するポリゴン８０１とポリゴン８０２のうち、ポリゴン８０１の一部がビューボリュームに含まれ、ポリゴン８０２全体がビューボリュームに含まれない例を示している。なお、ビューボリュームに含まれるポリゴン８０１の一部には、頂点１が含まれ、頂点２と頂点３とは含まれていないものとする。
【００５３】
画像処理装置１００におけるインプットアセンブラ部１０１の座標データ読込部１０２は、制御装置１２０から受領したディスプレイリスト５００の座標データ先頭アドレス５０１とカウント値５０３とに基づき、３次元オブジェクトを構成する各ポリゴンについての各頂点（頂点１〜頂点４）の座標データをメモリ１１０からインプットアセンブラ部１０１の内部記憶部１０６に読み込む（図６におけるステップＳ６０１）。
【００５４】
インプットアセンブラ部１０１の座標変換部１０３は、内部記憶部１０６に格納された各頂点（頂点１〜頂点４）のローカル座標系で表された座標データをワールド座標に座標変換し、変換後の座標データを内部記憶部１０６に格納する（ステップＳ６０２）。
インプットアセンブラ部１０１の頂点消去部１０４は、座標変換部１０３により内部記憶部１０６に格納された、座標変換後の各頂点（頂点１〜頂点４）の座標データに基づいて、各頂点の形態データを読み込む必要があるか否かを判定し、判定結果を内部記憶部１０６に格納する（ステップＳ６０３）。
【００５５】
具体的には、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（図７におけるステップＳ７０１：Ｎ）、まず、頂点１を判定対象の頂点として判定処理を行う。頂点１の座標データが示す座標がビューボリュームに含まれているため（ステップＳ７０２：Ｙ）、頂点１の形態データを読み込む必要があると判定し、判定結果として、例えば「１」を内部記憶部１０６に格納する（ステップＳ７０３）。
【００５６】
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点２を判定対象の頂点として判定処理を行う。頂点２を含むポリゴン８０１の一部がビューボリュームに含まれているため、頂点２の形態データを読み込む必要があると判定し、判定結果として、例えば「２」を内部記憶部１０６に格納する（ステップＳ７０３）。
【００５７】
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点３を判定対象の頂点として判定処理を行い、頂点２と同様、頂点３の形態データを読み込む必要があると判定し、判定結果として、例えば「２」を内部記憶部１０６に格納する（ステップＳ７０３）。
次に、頂点消去部１０４は、全ての頂点について判定処理が完了していないため（ステップＳ７０１：Ｎ）、頂点４を判定対象の頂点として判定処理を行う。頂点４を含むポリゴン８０２全体がビューボリュームに含まれていないため（ステップＳ７０２：Ｎ）、頂点４の形態データを読み込む必要がないと判定し、判定結果として、例えば「０」を内部記憶部１０６に格納する（ステップＳ７０４）。頂点消去部１０４は、全ての頂点について判定処理が完了したため（ステップＳ７０１：Ｙ）、判定処理を終了する。
【００５８】
インプットアセンブラ部１０１の形態データ読込部１０５は、内部記憶部１０６に格納された判定結果と、ディスプレイリストに含まれる、メモリ１１０の形態データの格納領域の先頭アドレス値とに基づいて、読み込む必要があると判定された各頂点（頂点１〜頂点３）の形態データを、メモリ１１０から内部記憶部１０６に読み込む（図６におけるステップＳ６０４）。
【００５９】
画像処理装置１００の表示制御部１０７は、内部記憶部１０６に格納された、各頂点の判定結果と座標変換後の座標データと形態データとに基づいて、ビューボリュームに含まれる、ポリゴン８０１の一部を表示装置１３０に表示させるための描画処理を行う（ステップＳ６０５）。
上述のように、インプットアセンブラ部１０１の形態データ読込部１０５は、頂点１〜頂点３の形態データをメモリ１１０から読み込み、頂点４の形態データを読み込まないため、無条件に頂点１〜頂点４をメモリ１１０から読み込む場合と比較し、高速な画像処理を実現することができる。
＜補足＞
以上、本発明に係る画像処理装置について、実施形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施形態に示したとおりの画像処理装置に限られないことは勿論である。
【００６０】
（１）実施形態において、画像処理装置１００は、複数のポリゴンから構成される３次元オブジェクトを画像処理対象とするものとして説明したが、ポリゴンに限らず、点や、線分等からなる２次元又は３次元のオブジェクトを画像処理対象としてもよい。
（２）実施形態において、座標変換部１０３は、ローカル座標系で表された各頂点の座標データをワールド座標系で表された座標データに座標変換するものとして説明したが、ディスプレイ表示のための２次元座標系であるディスプレイ座標系で表された座標データに座標変換するものとしてもよい。この場合、頂点消去部１０４は、各ポリゴンについて、少なくとも一部がビューボリュームに含まれるか否かに代えて、各ポリゴンについて、少なくとも一部が２次元の表示領域であるビューポートに含まれるか否かにより各頂点の形態データを読み込む必要があるか否かを判定する。
【００６１】
（３）実施形態では、座標データ３００において、各頂点の座標データの格納順序により、３次元オブジェクトを構成する各ポリゴンに含まれる各頂点を特定する例を説明したが、例えば、頂点毎にその頂点が含まれるポリゴンを示すデータを座標データ３００に追加してもよく、また、座標データ３００とは別に、ポリゴン毎に含まれる各頂点を定義したデータを保持することとしてもよい。
【００６２】
また、実施形態において、座標データ３００は、頂点１〜頂点４の４つの座標データからなり、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成し、つまり、２つのポリゴンに共通する頂点２と頂点３との座標データは、座標データ３００に重複して登録しないものとして説明したが、座標データ３００にポリゴン毎に含まれる３つの頂点を全て登録することによって、ポリゴンを構成する頂点を特定できるようにしてもよい。例えば、実施形態と同じように、頂点１と頂点２と頂点３とで１つのポリゴンを構成し、頂点２と頂点３と頂点４とでまた別の１つのポリゴンを構成する場合に、座標データ３００には、頂点１、頂点２、頂点３、頂点２、頂点３、頂点４の順序で座標データを登録するようにしてもよい。このように座標データ３００のデータ構造を変更することによって、共通の頂点を有さない複数のポリゴンから構成されるオブジェクトについても、本発明に係る画像処理装置により画像処理することができる。
【００６３】
（４）実施形態の形態データ読込部１０５は、ポリゴンの少なくとも一部がビューボリュームに含まれる場合に、そのポリゴンの各頂点の形態データ全体を読み込むものとして説明したが、形態データの読み込みを段階的に行うこととしてもよい。具体的には、まず、そのポリゴンの各頂点のα値（透過率）だけを読み込み、そのポリゴンの全頂点のα値が０％、つまり、そのポリゴンが全く光を透過しない場合には、そのポリゴンの背後に隠れるポリゴン以外のポリゴンのみの色（Ｒｅｄ値、Ｇｒｅｅｎ値、Ｂｌｕｅ値）とテクスチャ座標（Ｕ座標値、Ｖ座標値）とを読み出すこととしてもよい。これにより、視点から視線方向に見た場合に、まったく光を透過しないポリゴンの背後に隠れる他のポリゴンの色とテクスチャ座標とを読み出さないため、さらに高速な画像処理が実現できる。
【００６４】
（５）実施形態では、座標データ３００において各頂点の座標データのデータ構成の一例を示したが、これに限られるものではなく、例えば、各頂点について、奥行きの縮小率Ｗを含むものとしてもよい。
（６）実施形態では、形態データ４００において各頂点の形態データのデータ構成の一例を示したが、これに限られるものではなく、例えば、各頂点に対応させるテクスチャが複数ある場合には、複数のテクスチャ座標値（Ｕ座標値とＶ座標値）を含むものとしてもよく、また、例えば、頂点の向きを示す頂点法線ベクトル（Ｘ成分値、Ｙ成分値、Ｚ成分値）を含むものとしてもよい。
【産業上の利用可能性】
【００６５】
本発明に係る画像処理装置は、オブジェクトを表示させるための画像処理を行う際に利用されるものである。
【図面の簡単な説明】
【００６６】
【図１】実施形態に係る画像処理装置１００の機能構成図である。
【図２】ビューボリュームを説明するための図である。
【図３】座標データ３００のデータ構成と内容例を示す図である。
【図４】形態データ４００のデータ構成と内容例を示す図である。
【図５】ディスプレイリスト５００のデータ構成を示す図である。
【図６】画像処理装置１００による３次元オブジェクトを表示させる処理を示すフローチャートである。
【図７】頂点消去部１０４による判定処理を示すフローチャートである。
【図８】画像処理装置１００の動作を具体的に説明するための図である。
【図９】従来のクリッピング処理を含む画像処理を示すフローチャートである。
【符号の説明】
【００６７】
１００    画像処理装置
１０１    インプットアセンブラ部
１０２    座標データ読込部
１０３    座標変換部
１０４    頂点消去部
１０５    形態データ読込部
１０６    内部記憶部
１０７    表示制御部
１１０    メモリ
１２０    制御装置
１３０    表示装置
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008032603.tif 000012
【図２】
2008032603.tif 000013
【図３】
2008032603.tif 000014
【図４】
2008032603.tif 000015
【図５】
2008032603.tif 000016
【図６】
2008032603.tif 000017
【図７】
2008032603.tif 000018
【図８】
2008032603.tif 000019
【図９】
2008032603.tif 000020
【国際調査報告】
2008032603.tif 000021
2008032603.tif 000022