(57)【要約】【課題】本発明は、３次元多面体を構成する多角形を２次元スクリーン上に表示する３次元画像表示装置に関する。【解決手段】３次元多面体物体（ポリゴン）を２次元スクリーン上に表示する３次元画像表示装置において、ポリゴンデータ記憶部１０と、クリッピングが必要なポリゴンであるかどうかを判定するクリッピング判定手段１２と、前記クリッピング判定手段１２の出力が供給され、クリッピングされたポリゴンを算出するための、独立処理が可能な１つ以上のクリッピング処理手段１３と、前記１つ以上のクリッピング処理手段１３からの終了信号を検知し、終了しているクリッピング処理手段にて算出されたポリゴンデータを受け取るクリッピング処理検知手段１４と、前記クリッピング処理検知手段の出力が供給される描画手段１５とを設けた。【選択図】　　　図１
2004118499.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を３次元多面体を構成する多角形（ポリゴン）の頂点列データとしてポリゴンデータ記憶手段に取り込み、取り込んだ前記ポリゴンの頂点列データを処理して２次元スクリーン上に描画する３次元画像表示装置において、
前記ポリゴンの各頂点データが所定の画像表示領域に対して何処にあるかを決定するコード決定手段と、
前記コード決定手段で決定されたポリゴンの頂点列データ出力が供給され、前記所定の画像表示領域の外にはみ出る前記ポリゴンの頂点をクリップするクリッピング処理が必要なポリゴンかどうかを判定するクリッピング判定手段と、
前記クリッピング判定手段の出力のうちクリッピング処理が必要なポリゴンが供給され、前記クリッピング判定手段と独立して前記クリッピング処理を行う１つ以上のクリッピング処理手段と、
前記クリッピング判定手段の出力のうちクリッピング処理が必要でないポリゴンが供給されると共に前記１つ以上のクリッピング処理手段から出力されるクリッピング処理終了信号を検知して、終了している前記クリッピング処理手段によりクリッピング処理がなされたポリゴン頂点データを取り込むクリッピング処理検知手段と、
前記クリッピング処理検知手段の出力が供給される描画手段と
を備えたことを特徴とする３次元画像表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元多面体を構成する多角形（以下ポリゴン）を２次元スクリーン上に描画を行う３次元画像表示装置に係り、特にクリッピング処理の高速化を可能とした３次元画像表示装置を提供する。
【０００２】
【従来の技術】
３次元上にポリゴンにより定義された物体を座標変換して２次元スクリーン上に表示するグラフィック表示装置では、３次元座標上のポリゴンを２次元スクリーン上の全面あるいは矩形ウィンドウに表示する場合、表示領域からはみ出る部分を表示させないためにクリッピングと呼ばれる処理が必要である（クリッピング処理）。
【０００３】
クリッピング処理とは、ポリゴンの頂点列（図３のＰ０、Ｐ１、Ｐ２）を順次入力したとき、例えば頂点Ｐ１のように表示領域外の頂点がある場合、この部分をクリップし、その結果の頂点列（Ｐ０、Ｐａ、Ｐｂ、Ｐ２）を出力するようにしたものである。
クリッピング装置については、例えば、非特許文献１の第３章クリッピングに詳しく解説がなされている。
【０００４】
【非特許文献１】
山口富士夫著「実践コンピュータグラフィックス基礎手続きと応用」
（昭和６２年）日刊工業新聞社出版　第３章
【０００５】
図５は従来の３次元画像表示装置の一例のブロック構成を示した図である。
従来の３次元画像表示装置は、ポリゴンデータ記憶部５０、コード決定部５１、コード（クリッピング）判定部５２、クリッピング処理部５３、描画部５５、及び画像表示部５６より構成される。
ポリゴンデータ記憶手段５０には、例えばゲーム用機器で使用される、レーシングカー操縦ゲームのシュミレーション画像が、そのシュミレーション画像を複数のポリゴンデータとして、３次元多面体を構成する多角形（ポリゴン）の頂点列のデータ等が供給され、記憶される。
ポリゴンデータ記憶部５０に供給されたポリゴンの頂点列のデータは、コード決定部５１に供給され、まず頂点データ毎に表示領域の内外のうち何処にあるかを示す判定コードがこのコード決定部５１により決定される。
【０００６】
以下にこのコード決定部５１における判定コードの決定方法について説明する。
３次元空間上に２７に区分された領域とその領域毎に６ビットの判定コードを設定し、それぞれの領域に頂点が含まれる場合、その領域に設定されたコードがその頂点の判定コードとなる。
判定コードのそれぞれのビットは、以下の条件に従って１にセットされる（図４参照）。
【０００７】
第１ビット　．．．頂点が表示領域より左側の領域にある場合
例えば図４の“ｘｘ０００１”
第２ビット　．．．頂点が表示領域より右側の領域にある場合
例えば図４の“ｘｘ００１０”
第３ビット　．．．頂点が表示領域より下側の領域にある場合
例えば図４の“ｘｘ０１００”
第４ビット　．．．頂点が表示領域より上側の領域にある場合
例えば図４の“ｘｘ１０００”
第５ビット　．．．頂点が表示領域より手前側の領域にある場合
例えば図４の“０１００００”
第６ビット　．．．頂点が表示領域より奥側の領域にある場合
例えば図４の“１０００００”
ただし、上記以外ではビットは０にセットされる。
【０００８】
次にコード決定部５１の出力はコード判定部（クリッピング判定部）５２に供給され、このクリッピング判定部５２においてコード決定部５１により決定されたコードを元に、ポリゴンが表示領域の内にあるのか、表示領域の外にあるのか、クリッピングされる可能性があるのかを判定する。
【０００９】
次にコード判定部５２における判定する方法について説明する。
コード判定部５２では、最初に、頂点毎に決定されたコードを図示せぬ“ａｎｄ”（アンド回路）により計算し、その値が０以外である場合、ポリゴンは表示領域の外にあると判断する。
次に頂点毎に決定されたコードを図示せぬ“ｏｒ”　（オア回路）により計算し、その値が０と等しい場合、ポリゴンは表示領域の内にあり、０以外である場合は、ポリゴンがクリップされているか表示領域の外にあるとそれぞれ判定する。
【００１０】
ポリゴンが表示領域の外にある場合、そのポリゴンデータは使用されないので、破棄される。
そして、クリッピングされる可能性があるポリゴンが供給された場合は、クリッピング処理を行う必要があり、コード判定部５２の出力をクリッピング処理部２３に供給してクリッピング処理部５３にてクリッピングされた表示領域内の新しいポリゴンデータが算出され、出力される。
ポリゴンが表示領域内にある場合は、クリッピング処理は必要ないので、ポリゴンデータはそのクリッピング処理部５３にて何も処理されずにそのまま出力される。
【００１１】
クリッピング装置より出力されたポリゴンデータは描画処理を行う描画部５５に送られ、描画部５５の描画処理出力は、例えばＣＲＴ等の画像表示部５６に表示されることになる。
この逐次処理ではクリッピング処理がない場合はクリッピング判定の間隔は一定であるが、クリッピング処理が入るとクリッピング処理の度にクリッピング判定の間隔は広がることになる。
【００１２】
これまでのクリッピング装置を備えたグラフィック表示装置は、ポリゴンの入力の配列がきびしくなると、例えば１秒間に画面の切り換わるレートが決まっている場合の表示ではクリッピング処理データが完全に表示されないうちに次の画面に切り換わってしまったりする不自然な画面の表示がなされることが起こる。また、画面の切り換わるレートが決まっていない場合の表示ではデータの表示フレームレートが落ちてしまったりする不自然な画面の表示がなされることが起こる。
【００１３】
【発明が解決しようとする問題点】
３次元画像表示装置においては、例外的な処理であるクリッピング処理は、他の処理と比較して演算量も多く非常に時間のかかる処理であり、これまでの逐次処理では、処理の度にクリッピング判定の時間間隔が広がってしまい、クリッピング処理部の処理速度が遅くなり、画面表示部に表示させる際に、データの表示フレームレートが落ちてしまったり、クリッピング処理データが完全に表示されないうちに次の画面に切り換わってしまったりする等の不自然な画面表示になることが課題であった。
【００１４】
そこで、この課題を解決するために本発明はなされたものであり、ポリゴンデータは基本的にはそれぞれが独立であり、多少のポリゴンデータの順番が前後しても問題がなく許容されることから、１つ以上のクリッピング処理部にて並列に新しいポリゴンデータを演算している間に、次のポリゴンデータのクリッピング判定を行って、また、クリッピング判定と独立して複数のクリッピング処理部により並列にクリッピング処理を行って、３次元画像表示装置のクリッピング処理の高速化を計ることを目的とするものである。
【００１５】
【問題点を解決するための手段】
上記課題を解決するために、
請求項１に記載された発明は、
入力画像を３次元多面体を構成する多角形（ポリゴン）の頂点列データとしてポリゴンデータ記憶手段１０に取り込み、取り込んだ前記ポリゴンの頂点列データを処理して２次元スクリーン上に描画する３次元画像表示装置において、
前記ポリゴンの各頂点データが所定の画像表示領域に対して何処にあるかを決定するコード決定手段１１と、
前記コード決定手段で決定されたポリゴンの頂点列データ出力が供給され、前記所定の画像表示領域の外にはみ出る前記ポリゴンの頂点をクリップするクリッピング処理が必要なポリゴンかどうかを判定するクリッピング判定手段１２と、前記クリッピング判定手段の出力のうちクリッピング処理が必要なポリゴンが供給され、前記クリッピング判定手段と独立して前記クリッピング処理を行う１つ以上のクリッピング処理手段１３（１３ａ，１３ｂ，１３ｃ）と、
前記クリッピング判定手段の出力のうちクリッピング処理が必要でないポリゴンが供給されると共に前記１つ以上のクリッピング処理手段から出力されるクリッピング処理終了信号を検知して、終了している前記クリッピング処理手段によりクリッピング処理がなされたポリゴン頂点データを取り込むクリッピング処理検知手段１４と、
前記クリッピング処理検知手段１４の出力が供給される描画手段１５と
を備えたことを特徴とする３次元画像表示装置を提供するものである。
【００１６】
【発明の実施の形態】
本発明の３次元画像表示装置の実施の形態につき、好ましい実施例により、以下に図と共に説明する。
図１は本発明の３次元画像表示装置の第１の実施例のブロック構成を示した図である。
本発明の３次元画像表示装置の第１の実施例は、ポリゴンデータ記憶部１０、コード決定部１１、コード判定部（クリッピング判定部）１２、クリッピング処理部１３、クリッピング処理検知部１４、描画部１５、及び画像表示部１６より構成される。
【００１７】
本実施例の３次元画像表示装置について、以下にその動作を説明する。
ポリゴンデータ記憶手段１０には、種々の画像、例えばゲーム用機器で使用されるレーシングカー操縦ゲームのシュミレーション画像等が供給される。
そのシュミレーション画像等は複数のポリゴンデータとして供給され、記憶される。
【００１８】
各多角形（ポリゴン）の頂点列のデータが記憶されている頂点データ記憶手段１０から出力されたポリゴンの頂点列のデータは、コード決定部１１に供給され、まず頂点毎に表示領域の内外のうち何処にあるかを判定する判定コードがこのコード決定部１１により決定される。
【００１９】
既に従来例で説明したように、３次元空間上に２７に区分された領域とその領域毎に６ビットの判定コードを設定し、それぞれの領域に頂点が含まれる場合、その領域に設定されたコードがその頂点の判定コードとなる（図４参照）。
【００２０】
次にコード決定部１１の出力はコード判定部（クリッピング判定部）１２に供給される。
このクリッピング判定部１２において、コード決定部１１により決定されたコードを元にして、供給されたポリゴンが表示領域内にあるのか、表示領域外にあるのか、クリッピングされる可能性があるのかを判定する。
【００２１】
クリッピング判定部１２では、最初に、頂点毎に決定されたコードを図示せぬアンド回路を通して計算し、その計算値が０以外である場合、ポリゴンは表示領域外にあると判定する。
【００２２】
次に頂点毎に決定されたコードを図示せぬオア回路を通して計算し、その計算値が０と等しい場合、ポリゴンは表示領域内にあると判定し、０以外である場合は、ポリゴンがクリップされているか表示領域外にあると判定する。
クリッピング判定部１２までの処理は従来例と同様であるので、ここでの詳細な説明は省略する。
【００２３】
クリッピング判定部１２によりクリッピングの可能性があると判定されたポリゴンデータは、別プロセスにて動作しているクリッピング処理部１３に供給され、ここでクリッピング処理の演算等が行われる。
【００２４】
クリッピング処理部１３にて、供給されたポリゴンデータからクリッピングされた表示領域内の新しいポリゴンデータが算出される。
新しいポリゴンデータが算出され、クリッピング処理が終了すると、その処理が終了したことがクリッピング処理検知部１４に検知されて、クリッピング処理部１３にて新しく算出されポリゴンデータはクリッピング処理検知検知部１４に取り込まれる。
【００２５】
上記の図１の実施例のクリッピング装置のクリッピング処理の仕方は、下記の手順のようになされる。
コード決定部１１には入力として、ポリゴンデータ記憶部１０より、例えばポリゴン１、ポリゴン２、ポリゴン３、ポリゴン４の各データが順番に供給されるものとする。
【００２６】
（ａ）ポリゴン１のデータ入力
コード決定部１１：ポリゴン１のデータが入力され、ポリゴン１の各頂点データのコードを決定する。
コード判定部１２：ポリゴン１の各頂点データのコードを判定しクリッピング処理と判定されたデータはクリッピング処理部１３に供給される。
クリッピング処理部１３が空いているか確認し、空いていればポリゴン１のデータのクリッピング処理を行う。
【００２７】
クリッピング処理検知部（クリッピング処理終了検知部）１４：クリッピング処理が終了しているかどうかをクリッピング処理手段１３から出力されるクリッピング処理終了信号を検知する。
ポリゴン１のデータが入力されたばかりで未だクリッピング処理が終了していなければ、空のポリゴンデータを次の描画部１５に出力する。
【００２８】
（ｂ）ポリゴン２のデータ入力
コード決定部１１：ポリゴン２のデータが入力され、入力ポリゴン２のデータのコードを決定する。
コード判定部１２：コード決定部１１の出力が供給され、ポリゴン２のデータのコードを判定する。
【００２９】
クリッピング処理検知部１４：クリッピング処理が終了しているかどうかを検知する。
クリッピング処理が未だ終了していなければ、ポリゴン２のデータを出力する。
【００３０】
（ｃ）ポリゴン３のデータ入力
コード決定部１１：ポリゴン３のデータが入力され、ポリゴン３のデータのコードを決定する。
コード判定部１２：コード決定部１１の出力が供給され、ポリゴン３のデータのコードを判定する。
【００３１】
クリッピング処理検知部１４：クリッピング処理が終了しているかどうかを検知する。
クリッピング処理が未だ終了していなければ、ポリゴン３のデータを出力する。
【００３２】
（ｄ）ポリゴン４のデータ入力
コード決定部１１：ポリゴン４のデータが入力され、ポリゴン４のデータのコードを決定する。
コード判定部１２：コード決定部１１の出力が供給され、ポリゴン４のデータのコードを判定する。
【００３３】
クリッピング処理検知部１４：クリッピング処理検知部１４は最終ポリゴンの場合、クリッピング処理部１３の処理終了を待ち、ポリゴン１及びポリゴン４のデータを次の描画部１５に出力する。
【００３４】
このクリッピング処理部１３のクリッピング処理は、演算量が多く演算時間の掛かる処理である。
クリッピング処理部１３にて、既にクリッピング処理が行われている途中の場合は、そのクリッピング処理が終了するのを待ってポリゴン頂点データをそのクリッピング処理部１３に供給するようにしている。
【００３５】
クリッピング判定部１２にてクリッピング処理が必要と判断されたポリゴン頂点データを、別プロセスにて動作するクリッピング処理部１３に送り、クリッピング処理が終了するまでの間に、次ポリゴン以降のクリッピング判定をクリッピング判定部１２にて継続してクリッピング処理部１３の処理と並行して独立に行う。
【００３６】
よって、クリッピング処理部１３の処理と並行して、次ポリゴン以降の、クリッピング必要なしと判断されたポリゴン頂点データはクリッピング処理検知部１４に順番に供給される。
【００３７】
このようにしてクリッピング処理部１３の処理とクリッピング判定部１２の判定処理とを独立して並行に処理をすることにより、待ち時間なくクリッピング処理を高速化して行うことが可能になる。
【００３８】
クリッピング処理検知部１４では、クリッピング処理部１３の終了信号を検知し、もし、入力されたポリゴンデータに対し、クリッピング処理の終了信号を検知した場合は、クリッピング処理された新しいポリゴン頂点データを受け取り、ポリゴンデータの出力処理を行う。
【００３９】
なお、クリッピング判定すべきポリゴンが存在しない場合は、クリッピング処理検知部１４にて、全てのクリッピング処理が終了するまで待つ。
クリッピング処理検知部１４に取り込まれたポリゴン頂点データは描画部１５に供給される。
【００４０】
描画部１５では、クリッピング処理検知部１４より供給されるポリゴン頂点データと輝度情報をもとに各画素の色を補間計算し、図示せぬＺバツファにより隠面処理して、図示せぬフレームバツファに書き込む。
フレームバツファの出力は、２次元スクリーンであるＣＲＴ等の画像表示部１６に表示される。
【００４１】
また、図１の第１の実施例ではクリッピング処理部１３が１つの場合について説明したが、クリッピング処理部１３は必ずしも１つである必要はなく、図２に示されるように、２つ以上の複数のクリッピング処理部１３ａ，１３ｂ，１３ｃを備えることにより、クリッピング処理による遅延の発生をより少なくした３次元画像表示装置を実現させることが可能になる。
【００４２】
次に、本発明の３次元画像表示装置の第２の実施例のブロック構成について図２と共に説明する。
第２の実施例は、頂点データ記憶部１０、コード決定部１１、コード判定部（クリッピング判定部）１２、クリッピング処理部１３ａ、クリッピング処理部１３ｂ、クリッピング処理部１３ｃ、クリッピング処理検知部１４、描画部１５、及び画像表示部１６より構成される。
【００４３】
第２の実施例の、クリッピング処理部１３ａ、クリッピング処理部１３ｂ、クリッピング処理部１３ｃ及びクリッピング処理検知部１４以外の構成部の各動作は第１の実施例のものと同じであり、その説明は省略する。
【００４４】
図２に示す第２の実施例は、図１の第１の実施例とは異なり、クリッピング処理部１３ａ，１３ｂ，１３ｃを３個並列に備えた構成としたものである。
【００４５】
コード判定部１２によりクリッピングの可能性があると判定されたポリゴン頂点データは、別プロセスにて動作している、クリッピング処理部１３ａ，１３ｂ，１３ｃの何れかに供給される。
クリッピング処理検知部１４はクリッピング処理が終了しているかどうかをクリッピング部１３ａ，１３ｂ，１３ｃから出力されるクリッピング処理終了信号を検知する。
【００４６】
クリッピング処理終了信号が検知されたクリッピング処理部があれば、各クリッピング処理部への入力順番に関係なく、クリッピング処理が終了しているクリッピング処理部のポリゴンデータをクリッピング処理検知部１４に取り込むようにすればそれでよく、ポリゴンデータは基本的にはそれぞれが独立であり、多少のポリゴンデータの順番が前後しても問題がなく許容される。
【００４７】
図１、図２の各クリッピング処理部１３，１３ａ，１３ｂ，１３ｃの処理能力は同じであるとすると、図２の第２の実施例は、図１の第１の実施例に対して３倍の処理能力となり、並列に処理することでクリッピング処理部での待ち時間をより少なく出来、従ってクリッピング処理による遅延時間をより短縮化することが出来る。
【００４８】
よって、クリッピング判定部１２にてクリッピング処理が必要と判断されたポリゴン頂点データを、別プロセスにて互いに独立に動作するクリッピング処理部１３ａ，１３ｂ，１３ｃの何れかに送り、クリッピング処理が終了するまでに、次ポリゴン以降のクリッピング判定をクリッピング判定部１２にて継続して行うようにして、待ち時間をより少なくしてクリッピング処理を高速化して行うことが出来る。
【００４９】
従って、このクリッピング装置を有する３次元画像表示装置は、これまでのようにデータの表示フレームレートが落ちてしまったり、クリッピング処理データが完全に表示されないうちに次の表示画面に切り換わってしまう等の不自然な画面表示の発生回数を、より少なく出来る。
【００５０】
【発明の効果】
以上に説明したように、本発明は、入力画像を３次元多面体を構成する多角形（ポリゴン）の頂点列データとしてポリゴンデータ記憶手段に取り込み、取り込んだ前記ポリゴンの頂点列データを処理して２次元スクリーン上に描画する３次元画像表示装置において、前記ポリゴンの各頂点データが所定の画像表示領域に対して何処にあるかを決定するコード決定手段と、前記コード決定手段で決定されたポリゴンの頂点列データ出力が供給され、前記所定の画像表示領域の外にはみ出る前記ポリゴンの頂点をクリップするクリッピング処理が必要なポリゴンかどうかを判定するクリッピング判定手段と、前記クリッピング判定手段の出力のうちクリッピング処理が必要なポリゴンが供給され、前記クリッピング判定手段と独立して前記クリッピング処理を行う１つ以上のクリッピング処理手段と、前記クリッピング判定手段の出力のうちクリッピング処理が必要でないポリゴンが供給されると共に前記１つ以上のクリッピング処理手段から出力されるクリッピング処理終了信号を検知して、終了している前記クリッピング処理手段によりクリッピング処理がなされたポリゴン頂点データを取り込むクリッピング処理検知手段と、前記クリッピング処理検知手段の出力が供給される描画手段とを備えているので、クリッピング判定部とクリッピング処理部とを並列に同時に処理し、クリッピング処理を待たずに次のポリゴンのクリッピング判定が出来る高速表示処理が可能な３次元画像表示装置を提供することが出来る。
【００５１】
本発明の３次元画像表示装置は、クリッピング判定手段と独立して並列に前記クリッピング処理を行う１つ以上のクリッピング処理手段を有しているので、処理をするまでの待ち時間をより少なくすることが出来、高速に画像表示が可能な３次元画像表示装置を提供することが出来る。
【００５２】
本発明の３次元画像表示装置は、どんなポリゴンの頂点列のデータが入力されても、高速なクリッピング処理が可能なので、データの表示フレームレートが落ちてしまったり、クリッピング処理データが完全に表示されないうちに次の画面に切り換わってしまう等の不自然な画面になる回数が従来よりも少なくなる。
【図面の簡単な説明】
【図１】本発明の３次元画像表示装置の第１の実施例のブロック構成を示した図である。
【図２】本発明の３次元画像表示装置の第２の実施例のブロック構成を示した図である。
【図３】クリッピングの説明用の概念図を示したものである。
【図４】クリッピングのために表示領域に対応した位置付けのコード設定の一例を示した図である。
【図５】従来の３次元画像表示装置の一例のブロック構成を示した図である。
【符号の説明】
１０，５０　ポリゴンデータ記憶部（ポリゴンデータ記憶手段）
１１，５１　コード決定部（コード決定手段）
１２，５２　コード判定部、クリッピング判定部（コード判定手段、クリッピング判定手段）
１３，１３ａ，１３ｂ，１３ｃ，５３　クリッピング処理部（クリッピング処理手段）
１４　クリッピング処理検知部（クリッピング処理終了検知部、クリッピング処理検知手段）
１５，５５　描画部（描画手段）
１６，５６　画像表示部（画像表示手段）
Ｐ０，Ｐ１，Ｐ２　ポリゴンの各頂点
Ｐａ，Ｐｂ　クリッピング処理後の各頂点
【図１】
2004118499.tif 000003
【図２】
2004118499.tif 000004
【図３】
2004118499.tif 000005
【図４】
2004118499.tif 000006
【図５】
2004118499.tif 000007