(57)【特許請求の範囲】
【請求項１】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成装置において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、
上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、
上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、
上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備える画像生成装置。
【請求項２】
請求項１に記載の画像生成装置において、
上記一時保持手段は、複数の上記奥行き値を格納するものであり、
上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたことを特徴とする画像生成装置。
【請求項３】
請求項１に記載の画像生成装置において、
上記一時保持手段は、複数の領域を有するものであり、
上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたことを特徴とする画像生成装置。
【請求項４】
請求項１に記載の画像生成装置において、
上記画像データ演算手段は、上記形状データの単位である表示画素の１個を、縦Ｍ列、横Ｍ行（Ｍ≧２）のサブピクセルに分割し、上記分割により生成した合計Ｍ×Ｍ個のサブピクセルのうち、Ｍ個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものであることを特徴とする画像生成装置。
【請求項５】
請求項４に記載の画像生成装置において、
上記画像データ演算手段は、上記サンプリングするＭ個のサブピクセルを、１画素内における同一の縦の列、及び横の行で重ならないように選択するものであることを特徴とする画像生成装置。
【請求項６】
請求項５に記載の画像生成装置において、
上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものであることを特徴とする画像生成装置。
【請求項７】
請求項２に記載の画像生成装置において、
上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、
上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれＬ個備え、
上記Ｌ個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送することを特徴とする画像生成装置。
【請求項８】
請求項７に記載の画像生成装置において、
上記Ｌ個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものであることを特徴とする画像生成装置。
【請求項９】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成方法において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成方法。
【請求項１０】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録する画像生成プログラム記録媒体。
【請求項１１】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、
上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、
上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、
上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、
上記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備える画像合成装置。
【請求項１２】
請求項１１に記載の画像合成装置において、
上記一時保持手段は、複数の上記奥行き値を格納するものであり、
上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたことを特徴とする画像合成装置。
【請求項１３】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、
上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成方法。
【請求項１４】
３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、
上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、
上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録する画像合成プログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体に関し、特に３次元形状を表現する座標値からなる形状データに基づいて画像を生成する画像生成装置、画像生成方法、および画像生成プログラム記録媒体と、上記生成された画像と、実写画像とを合成する画像合成装置、画像合成方法、および画像合成プログラム記録媒体とに関する。
【０００２】
【従来の技術】
近年、３次元座標で表現された物体の形状データに基づいて、任意の位置からこれを見たときの３次元的な画像を生成する３次元コンピュータグラフィックス技術は、商品設計や物理的事象のシミュレーション等の各種の分野において重要な技術であり、さらに３次元コンピュータグラフィックス技術により生成された画像を、実写画像と合成する技術は、特にテレビ放送や映画等の映像制作の分野において、非常に有効な技術となっている。これらの用途に用いられてきた、従来の技術による画像生成装置、および画像合成装置について以下に説明する。
【０００３】
まず、３次元形状データに基づいて画像を生成する画像生成装置について説明する。ここに示す、従来の技術による一般的な画像生成装置は、表示されるべき物体をポリゴン(polygon) と呼ばれる平面多角形（多くの場合には３角形）として扱い、３次元座標として記述した形状データを用いるものである。
【０００４】
図１７は、従来の技術による画像生成装置の構成を示すブロック図である。図示するように、この画像生成装置は、形状データバッファ１７０１、画素生成部１７０２、Ｚバッファ１７０３、フレームバッファ１７０４、および画像表示装置１７０５を備えたものである。
形状データバッファ１７０１は、当該画像生成装置に入力される形状データを保持する。前述のように形状データは、ポリゴンを表現する３次元座標データとして記述されたものである。画素生成部１７０２は、形状データバッファ１７０１に保持されたポリゴンごとの形状データを順に読み出し、読み出したデータを表示単位である表示画素ごとに分割し、表示画素ごとの表示色を画素値（Ｒ，Ｇ，Ｂ値）として求める。また、画素生成部１７０２は、視点位置を考慮した計算式を用いられる演算処理により、各ポリゴンごとの、表示画面における位置と、視線方向における奥行きとして示す奥行き値（Ｚ値）を求める。
【０００５】
ここで、画素の生成にあたり画素値を決定するアルゴリズムとしては、同一のポリゴンに属するすべての画素が同じ値を有するものとするフラット・シェーディング(flat shading)や、光源等の周囲の環境属性を考慮した計算式を用いて、同一ポリゴンに属する各画素ごとの画素値を算出するスムース・シェーディング(smooth shading)があり、フラット・シェーディングは単純なアルゴリズムであり処理負担が小さなものとはなるが、滑らかで微妙な陰影を有する表示を得ることは困難なので、写実的で高画質な画像を得るためにはスムース・シェーディングによることが一般的に行われる。このような処理については、「Computer Graphics PRINCIPLES AND PRACTICES、Foley, van Dam, Feiner,Hughes 著、ADDISON-WESLEY PUBLISHING COMPANY 、(1990)」等に詳しく記されている。
【０００６】
画素生成部１７０２は、汎用プロセッサを用いてソフトウエアで実現することもできるが、専用のハードウエアを構成して実現することも可能である。さらに、近年では専用ハードウエアを１個のＩＣで実現することが多い。この場合は、後述するフレームバッファ１７０４から読み出し制御や、Ｄ／Ａ変換機能をも合わせて１個のＩＣとする場合もある。
【０００７】
図１７に示すＺバッファ１７０３、およびフレームバッファ１７０４は、それぞれ奥行き値（Ｚ値）と、画素値（Ｒ，Ｇ，Ｂ値）とを保持する。この装置におけるＺバッファ１７０３は表示画素数分のＺ値を、フレームバッファ１７０４は表示画素数分のＲ，Ｇ，Ｂ値を保持するものである。
【０００８】
表示物体をポリゴンとして扱うコンピュータグラフィックス処理においては、ある視点から見た場合に見えなくなる部分、あるいは見えなくなる物体を表示させないように処理する隠面(hidden-surface)処理により写実性を高めることが行われる。この画像生成装置においては、Ｚバッファ法という隠面処理方法を用いるものである。この装置のようにポリゴンごとにＺバッファ法による処理を行う場合は、先に処理したポリゴンのＺ値をＺバッファにおいて保持し、処理対象となるポリゴンのＺ値と比較することにより、処理対象のポリゴンが手前にある（表示すべきである）か否かを判断して、当該ポリゴンを表示するか否かを決定する。図１７に示す画像装置においては、画素生成部１７０２が生成したポリゴンのＺ値を、Ｚバッファ１７０３が保持する対応する画素のＺ値と比較し、ポリゴンのＺ値が小さい場合には、処理対象であるポリゴンのＺ値をもってＺバッファの保持する値を書き換え、Ｚバッファ１７０３において書き換えが発生した場合に、フレームバッファ１７０４の保持する値をポリゴンの画素値をもって書き換える。Ｚ値が小さいことは、奥行きが浅いことを示すものであるので、上記のように処理することで、ある視点から見えるべきポリゴンを表示し、見えないポリゴンを表示せず削除することができる。
【０００９】
なお、隠面処理の方法としては、Ｚバッファ法以外のアルゴリズムも用いられる。他の方法としては、例えば従来より使用されているものとしてデプスソート法がある。デプスソート法では、全てのポリゴンを奥行き順に並べ替えた後に、奥行き順に従って（近い順、又は遠い順となる）ポリゴンの画素値をフレームバッファに書き込むものであって、奥行き値を保持するバッファ（Ｚバッファ）として用いる記憶装置を必要としない点が利点となる。しかし、奥行き順に並べ替えを行う処理量については、ポリゴン数ｎに対するオーダーが、ｎの２乗、またはｎ×ｌｏｇｎとなるので、ポリゴン数が多くなると処理量が大きく増大するものとなる。従って、多数のポリゴンを扱う場合には、デプスソート法よりもＺバッファ法の方が適したものとなる。また、このような処理について、並列処理を行うことによって高速化を図る場合には、ポリゴン単位での独立した処理を並行的に実行し得るＺバッファ法の方が、その効果が大きなものとなる。
【００１０】
画像表示装置１７０５は、一般的には陰極線管(CRT:cathode ray tube)モニタであり、当該画像生成装置が生成した画像を表示する。また、当該画像生成装置の用途によっては、画像表示装置１７０５としてのモニタ等の代替に、ビデオ編集機器等を備えるものとすることも可能である。
【００１１】
このように構成された画像生成装置に、３次元座標として形状データが入力されると、形状データはまず形状データバッファ１７０１において保持される。画素生成部１７０２は、形状データバッファ１７０１からポリゴンごとの形状データを読み出し、前述のように画素値と奥行き値とを生成する。画素生成部１７０２は、生成したＺ値を、Ｚバッファ１７０３が保持する、先に処理されたポリゴンに属する、対応する画素のＺ値と比較し、生成したＺ値の方が小さい場合には、Ｚバッファ１７０３の書き換えを行う。そして、Ｚバッファ１７０３の書き換えを行った場合には、生成した画素値（Ｒ，Ｇ，Ｂ値）をフレームバッファ１７０４に出力し、フレームバッファ１７０４の書き換えを行う。
フレームバッファ１７０４に保持された画素値は、画素順に読み出されて画像表示装置１７０５において表示される。なお、画素値はＤ／Ａ変換処理を施された後に画像表示装置１７０５に出力されるものとしても良い。
【００１２】
次に、３次元コンピュータグラフィックス技術により生成された画像を、実写画像と合成する、従来の技術による画像合成装置について説明する。
図２１は、従来の技術による一般的な画像合成装置の構成を示す図である。図示するように、この画像合成装置は、画像生成部２１０１、奥行き合成部２１０２、画素混合部２１０３、合成キー処理部２１０４、画像合成部２１０５、および画像表示部２１０６を備えており、このうち画像生成部２１０１、奥行き合成部２１０２、および画素混合部２１０３はＣＧ生成部２１１０を構成するものとなっている。
【００１３】
ＣＧ生成部２１１０は、ポリゴンを表現する３次元座標データとして記述された形状データを入力し、コンピュータグラフィックス処理によってＣＧ画像を生成する。ここでは、ＣＧ生成部２１１０は、従来の技術による画像生成装置についての説明で示したように、複数のバッファを備えて、アンチエリアシング処理や半透明処理を行い得るものであるとする。
【００１４】
なお、この例においては、ＣＧ生成部２１１０が、画像生成部、奥行き合成部、および画素混合部を備えて、アンチエリアシング処理等を行うものとしているが、このように構成する場合には、前述のようにメモリ容量を多く必要とすることとなるので、図１７に示した従来の技術による画像生成装置と同様に、形状データバッファ、画素生成部、Ｚバッファ、およびフレームバッファを備えるものとして、アンチエリアシング処理等を行わないものとすることも可能である。
【００１５】
画像生成部２１０１は、入力した形状データを順次処理して、視点位置を考慮した画素ごとの画素値（Ｒ，Ｇ，Ｂ値）と、奥行き値（Ｚ値）とを生成する。ここでは前述のように、アンチエリアシング処理や、半透明処理を行うので、アンチエリアシング処理を行う場合にはサブピクセルへの分割と、混合比率の演算を行い、半透明処理を行う場合には透過度を用いることとなる。
【００１６】
奥行き合成部２１０２は、前述のＺバッファ法により隠面処理を行う。ここでは、アンチエリアシング処理や半透明処理を行うので、Ｚバッファとフレームバッファ、そして必要に応じて混合比率バッファや透過度バッファを複数備え、図２０を用いて説明したのと同様の処理を行う。すなわち、各４個のバッファを備え、半透明処理をする場合には、図２０の例のような処理となる。又、透過度バッファの代替に混合比率バッファを備えるものとすれば、図２０の例と同様にしてアンチエリアシング処理を行うことができる。
【００１７】
画素混合部２１０３は、透過度、又は混合比率に従って、画素値中のＲ，Ｇ，Ｂ値を用いた混合処理を行って、表示すべき画素の画素値を生成し、これをフレームバッファで保持する。また、生成した画像のＺ値としては、Ｚバッファに保持された最小のＺ値を取り出して、これを画像合成部２１０５に出力する。
【００１８】
以上の処理により、ＣＧ生成部２１１０が生成したＣＧ画像と、実写画像との合成については、クロマキー(chroma-key)の手法が用いられる。これは、色相の差を利用して、クロマキー信号、すなわち抜き取り信号を生成し、他の画面をその部分にはめ込むことで合成処理を行うものである。例えば特定の物体（人や車など）をクロマキーブルーという特定の色をバックにして撮影し、得られた画像から所定の処理によってクロマキーブルーの部分を抜き取り、残った特定の物体を背景画面に重ねるような合成処理を行うことが可能である。
【００１９】
合成キー処理部２１０４は、実写画像を入力し、所定の処理を行ってクロマキー信号と、実写画像情報とを生成する。実写画像情報は、実写画像の画素値（Ｒ、Ｇ、Ｂ値）からなるものである。クロマキー信号と、実写画像情報とは、画像合成部２１０５に出力される。また、実写画像の奥行き値（Ｚ値）は、別途画像合成部２１０５に入力される。この実写画像のＺ値は、実写画像とＣＧ画像とのいずれを手前にして合成するかを指定するものとなる。
【００２０】
画像合成部２１０５は、まず、画素混合部２１０３から入力されたＣＧ画像のＺ値と、入力された実写画像のＺ値とを比較する。そして、実写画像のＺ値が小さい場合には、フレームバッファに保持する画素値に代えて、実写画像情報に含まれる画素値が保持されるようにする。これにより、実写画像の方が奥行き値が小さい、つまり手前にある場合に、実写画像をＣＧ画像に重ねて表示することを可能とする。この後、フレームバッファに保持された画素値が読み出されて、Ｄ／Ａ変換処理され、画像表示部２１０６において表示される。
【００２１】
【発明が解決しようとする課題】
上記のように、従来の技術による画像生成装置は、Ｚバッファ１７０３を備え、Ｚバッファ法に従った隠面処理を行うことで、３次元的に表示され得る画像を生成することができる。
しかし、一般に、Ｚバッファ法については、奥行き値をもって単純に決定するアルゴリズムの性質上、アンチエリアシング(anti aliasing) 処理が困難であること、また、透明な物体の表現が行い難いことが欠点であるとされている。従って、Ｚバッファ法を用いる従来の技術による画像生成装置については、以下に述べる「１．アンチエリアシング処理に伴う問題点」と、「２．半透明物体の扱いについての問題点」という二つの問題点が存在していた。
【００２２】
１．アンチエリアシング処理に伴う問題点
上記のような構成を有する従来の技術による画像生成装置において、コンピュータグラフィックス画像を生成すると、すべての表示画素はある特定のポリゴンを表示している、すなわち特定のポリゴンに属するものとなる。従って、ポリゴン同士の境界領域においては、あるポリゴンに属する画素と、その画素に隣接する、他のポリゴンに属する画素とが、大きく異なる画素値を有するものとなることが生じる。例えば通常のテレビ画面程度の解像度(resolution)において、生成した画像の表示が行われるとするならば、１個の画素はその画像を見る人が十分認識できる程度の大きさを有するものとなる。従って、隣接する画素が大きく異なる画素値を有する場合には、ポリゴンの境界で大きく輝度が変化し、この部分が目立ってしまう。従って、斜線や曲線を表現する場合に、その境界部においてはジャギー(jaggy) と呼ばれるギザギザが生じるものとなるので、境界部が滑らかな表示が行い得ない得ず、画質が低下することとなる。
【００２３】
図１８は、かかる現象と、その対応策であるアンチエリアシング処理とを説明するための図である。ジャギーが生じて表示が損なわれる場合の例を、図１８ａ）上に示す。上部の白いポリゴンと下部の黒いポリゴンの境界には、 はっきりとした段差が見られる。これを避けるには同図ｂ）のように、ポリゴンの境界部分で上下のポリゴンの色を混合すればよい。そのときの混合比は各ポリゴンが各画素に占める面積に比例させるようにする。このような処理がアンチエリアシング処理と呼ばれる画質向上のための処理である。
【００２４】
図１９はアンチエリアシング処理を説明するための図である。アンチエリアシング処理に用いる混合比を求めるためには、表示画素をさらに分割した「サブピクセル」と呼ぶ単位を導入し、サブピクセルごとにポリゴンを検出する。図１９において、１画素を４×４の１６個のサブピクセルに分割した例を示す。斜線領域のサブピクセルとそれ以外の領域のサブピクセルには異なったポリゴンが存在する。混合比は１画素に占めるサブピクセルの数の比とすればよい。例えば、図の右下の画素（１６サブピクセル）では、斜線領域のポリゴン（９サブピクセル）の混合比は１６分の９と算出できる。
【００２５】
以上のような方法では１画素をより多くのサブピクセルに分割するほど、算出する混合比はポリゴンの占める面積の比に近くなる。Ｚバッファによる隠面処理法において、サブピクセル分割を伴ってアンチエリアシング処理を実行することには、アルゴリズム上の問題はない。しかしながら、このようにしてアンチエリアシング処理を行うには、表示画面上のすべてのサブピクセル分のＺバッファとフレームバッファが必要となり、多大なメモリ容量が要求されるものとなる。
【００２６】
例えば、Ｚ値を２４ビットとし、Ｒ，Ｇ，Ｂ値を各８ビットとし、表示画面の大きさを、１０２４×５１２画素としてＺバッファとフレームバッファを構成すると、バッファ容量は各１．５メガ（Ｍ）バイト、つまり合計３Ｍバイトのメモリ容量が必要である。これに対して同じ条件で図３のように、１画素を１６個のサブピクセルに分割すると、その１６倍の４８Ｍバイト（３Ｍ×１６）のメモリ容量が必要となる。
メモリ容量の増大は、コスト増大につながるので、従来の技術による画像生成装置においては、滑らかな表示を行い得る画像の生成と、コスト低減との両立を図りがたい点が問題となっていた。
【００２７】
２．半透明物体の扱いについての問題点
コンピュータグラフィックスによる画像生成において、色ガラスのような半透明体を表現する用途は数多くある。このような対象を扱う場合には、形状データ中に透過度と呼ぶパラメータを設定し、ポリゴンごとに透過度の値を付与することで表現が可能となる。透過度としては、例えば、０〜２５５の数値を付与するものとして表現することができ、このような扱いをする場合には、値「２５５」は不透明、値「０」は完全に透明（つまり見えない）、中間値の場合はその値にしたがって透明度が可変的になるものとして設定がなされる。
【００２８】
表示画面におけるある画素について、当該画素を含むこととなる複数のポリゴンのうち、最もＺ値の小さいポリゴンが半透明（透過度が２５５ではない）である場合は、当該画素の表示色は、当該ポリゴンの表示色と２番目にＺ値の小さいポリゴンの表示色を透過度に従って混合したものとなる。また、ここで２番目にＺ値の小さいポリゴンが半透明な場合はさらに３番目のポリゴンの表示色も混合しなければならない。
【００２９】
しかし、Ｚバッファによる隠面処理を行う場合は、視点から最も近い、すなわち奥行きが浅い座標を選択することとなっているため、フレームバッファには最もＺ値の小さいポリゴンの表示色しか保持されない。従って、上述のように複数のポリゴンを対象として混合処理を実現することは、図１７に示す単一のフレームバッファとＺバッファとを備えた構成においては不可能である。
【００３０】
Ｚバッファ法による隠面処理を行い、かつ、半透明物体を表現する混合処理を実現するには、透過度を持ったポリゴンが重なる場合を考慮して、複数のフレームバッファとＺバッファを持つこととするならば実現は可能となる。
【００３１】
図２０は、複数のバッファを用いる処理を説明するための模式図である。図２０に示す例では、フレームバッファ、およびＺバッファのそれぞれに４個のバッファを有するものとして構成した場合を示している。このようなバッファの構成とすることで、Ｚバッファ２０１１には最も小さいＺ値、Ｚバッファ２０１２には２番目に小さいＺ値、Ｚバッファ２０１３には３番目に小さいＺ値、そしてＺバッファ２０１４には４番目に小さいＺ値が保持される。一方、フレームバッファ２０２１〜２０２４には上記Ｚバッファ２０１１〜２０１４に対応するＲ，Ｇ，Ｂ値が保持される。さらに、各画素ごとに前記混合処理を実行するために、各画素ごとの透過度を保持する透過度バッファ２０３１〜２０３４が用いられる。
【００３２】
図２０のようなバッファ構成をとるものとすれば、透過度に対応した処理は可能となるが、このような構成を実現するためには、フレームバッファとＺバッファの数に比例して必要となるメモリ容量の倍増度は増大することになる。
【００３３】
さらに、従来の技術による画像生成装置では、第１の問題点に関するアンチエリアシング処理と、第２の問題点に関する半透明物体の表現とを、同時に実現するためには、必要なメモリ容量は両者で増大する分の積となり、ますますコスト増大を招くこととなる。ここに示した例では、表示画素分のメモリ容量３Ｍバイトの６４倍（＝１６倍×４倍）である１９２Ｍバイトものメモリを必要とすることになる。
このように、良好な画像表示とコスト低減とを両立しがたい場合があることが、従来の技術による画像生成装置における問題点となっていた。
【００３４】
また、上記のように、従来の技術による画像合成装置においては、ＣＧ生成部２１１０の処理によるＣＧ画像については、アンチエリアシング処理を行ってジャギーを目立たなくすることや、半透明処理を行うことが可能である。しかし、このような処理を行ってＣＧ画像を生成し、その後に当該ＣＧ画像と実写画像とを合成するものであるので、以下のような問題点を生ずることとなる。
【００３５】
まず、実写画像や合成画像についてアンチエリアシング処理を行い得ないものとなるので、場合によっては画質が損なわれる点が問題となっていた。すなわち、ＣＧ画像の背後に実写画像を合成するような場合には、その境界で実写画像がＣＧ画像ににじみ出ているように見えるものとなり、画質が低下するものであった。
【００３６】
次に、柔軟な合成処理を行い得ない点が問題となっていた。例えば、ＣＧ処理において半透明処理を行い、不透明物体の手前に半透明物体があるようなＣＧ画像が得られたとする。これに対して実写画像を合成する際には、ＣＧ画像（不透明物体＋半透明物体）の背後になるよう合成するか、手前になるよう合成するかしか行い得ず、実写画像を不透明物体と半透明物体間に合成するようなことはできなかった。すなわち、ＣＧ生成においては、バッファの数だけのレベル数（図２０の例では４レベル）の前後関係を扱い得る柔軟な処理が可能であるのに対して、ＣＧ画像と実写画像との合成処理においてはかかる柔軟な処理が行い得ないものとなっていた。
【００３７】
このような柔軟な合成処理を行うために、画像合成装置が、図２１に示すＣＧ生成部２１１０を複数備える構成をとるものとすれば、ＣＧ画像と実写画像との合成においても、ＣＧ生成部の個数だけ扱い得るレベルを増加させることは可能ではある。すなわち、一方のＣＧ生成部が出力するＣＧ画像を実写画像の背景とし、他方のＣＧ生成部が出力するＣＧ画像を実写画像の手前に重ねるような合成が可能となる。しかし、前述のようにＣＧ生成部２１２０は、従来の技術による画像生成装置の主要部分に相当するものであり、これを複数備える構成とすることは、装置コストを大きく増大させることとなる。特に、アンチエリアシング処理や半透明処理を行う場合には、前述のようにバッファを複数有するため、必要なメモリ量が大きいものとなるため、このようなＣＧ合成部を複数備える画像合成装置の構成は現実的なものとは言えない。
【００３８】
以上に述べてきたように、従来の技術による画像生成装置においては、アンチエリアシングや半透明処理を行って画質の向上を図るならば、必要なバッファの容量が増大するため、装置コストが向上することが問題となっていた。
また、従来の技術による画像合成装置においては、ＣＧ画像と実写画像との合成を行うに際して、アンチエリアシングや半透明処理を応用できず、画質の向上を図ることや柔軟な画像処理を行うことができない点が問題となっていた。
【００３９】
本発明は、かかる事情に鑑みてなされたものであり、装置コストを大きく上昇させることなく、アンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像生成装置を提供することを目的とする。
【００４０】
また、本発明は、コスト増加を抑制しつつ画質の向上を図ることが可能な画像生成方法を提供することを目的とする。
【００４１】
また、本発明は、汎用コンピュータシステム等において実行することにより、低廉なシステムにおいても、画質の良好な画像を生成することが可能な画像生成プログラムを記録したプログラム記録媒体を提供することを目的とする。
【００４２】
また、本発明は、ＣＧ画像と実写画像との合成において、装置コストを大きく上昇させることなく、アンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像合成装置を提供することを目的とする。
【００４３】
また、本発明は、コスト増加を抑制しつつ、ＣＧ画像と実写画像との合成においてアンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像合成方法を提供することを目的とする。
【００４４】
また、本発明は、汎用コンピュータシステム等において実行することにより、低廉なシステムにおいても、画質の良好な画像を生成することが可能な画像合成プログラムを記録したプログラム記録媒体を提供することを目的とする。
【００４５】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１にかかる画像生成装置は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備えるものである。
【００４６】
また、請求項２にかかる画像生成装置は、請求項１の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものである。
【００４７】
また、請求項３にかかる画像生成装置は、請求項１の装置において、上記一時保持手段は、複数の領域を有するものであり、上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたものである。
【００４８】
また、請求項４にかかる画像生成装置は、請求項１の装置において、上記画像データ演算手段は、上記形状データの単位である表示画素の１個を、縦Ｍ列、横Ｍ行（Ｍ≧２）のサブピクセルに分割し、上記分割により生成した合計Ｍ×Ｍ個のサブピクセルのうち、Ｍ個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものである。
【００４９】
また、請求項５にかかる画像生成装置は、請求項４の装置において、上記画像データ演算手段は、上記サンプリングするＭ個のサブピクセルを、１画素内における同一の縦の列、及び横の行で重ならないように選択するものである。
【００５０】
また、請求項６にかかる画像生成装置は、請求項５の装置において、上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものである。
【００５１】
また、請求項７にかかる画像生成装置は、請求項２の装置において、上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれＬ個備え、上記Ｌ個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送するものである。
【００５２】
また、請求項８にかかる画像生成装置は、請求項７の装置において、上記Ｌ個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものである。
【００５３】
また、請求項９にかかる画像生成方法は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含むものである。
【００５４】
また、請求項１０にかかる画像生成プログラム記録媒体は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録するものである。
【００５５】
また、請求項１１にかかる画像合成装置は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、上記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備えるものである。
【００５６】
また、請求項１２にかかる画像合成装置は、請求項１１の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものである。
【００５７】
また、請求項１３にかかる画像合成方法は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含むものである。
【００５８】
また、請求項１４にかかる画像合成プログラム記録媒体は、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録するものである。
【００５９】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態１による画像生成装置は、ポリゴンデータを３分割し、それぞれを独立に並列処理するものであり、ポリゴンが不透明である場合にのみアンチエリアシング処理を行うものである。以下に本実施の形態１による画像生成装置の構成、及び動作を図面を参照しながら説明する。
図１は本実施の形態１における画像生成装置の全体構成を示す図である。図示するように、本実施の形態１による画像生成装置は、形状データ分割手段１０１、形状データバッファ１０２ａ〜１０２ｃ、画像生成部１０３ａ〜１０３ｃ、奥行き合成回路１０４ａ〜１０４ｃ、混合比演算回路１０５、画素混合回路１０６、画像表示装置１０７、および同期信号発生器１０８を備えたものであり、従来の技術による画像生成装置と同様に、表示されるべき物体をポリゴンとして扱い、３次元座標として記述した形状データを用いるものである。
【００６０】
形状データ分割手段１０１は、形状データである全てのポリゴンのデータを、ポリゴン単位で３分割して３個の部分形状データを生成し、それらを３個の形状データバッファ１０２ａ、１０２ｂ、および１０２ｃにそれぞれ出力する。形状データバッファ１０２ａ、１０２ｂ、および１０２ｃは、入力された部分形状データを保持する。
【００６１】
画像生成部１０３ａ、１０３ｂ、１０３ｃは、それぞれが接続された形状データバッファ１０２ａ，１０２ｂ，１０２ｃからそれぞれが保持する部分形状データに含まれる各ポリゴンデータを読み出し、これらを処理することによって、各画素ごとのＺ値とＲ，Ｇ，Ｂ値を求めるとともに、各ポリゴンが画素において占める割合である寄与度を求める。この寄与度は、本実施の形態１において、不透明なポリゴンに対してのみアンチエリアシング処理に用いられ、他のポリゴンには半透明処理のための透過度として用いられるものとなる。また、本実施の形態１では、画像生成部１０３ａ、１０３ｂ、および１０３ｃのそれぞれにおける処理は独立して実行されるものである。
また、画像生成部１０３ａ、１０３ｂ、１０３ｃはその内部に、Ｚバッファ、フレームバッファ、及び寄与度バッファをそれぞれ備え、各バッファは１画素あたり４個ずつのＺ値、Ｒ，Ｇ，Ｂ値、及び寄与度を保持することができる。したがって、最も奥行き値の小さいポリゴンから順に４個のポリゴンのＺ値、Ｒ，Ｇ，Ｂ値、及び寄与度を保持することになる。
【００６２】
奥行き合成回路１０４ａ、１０４ｂ、１０４ｃは互いに線形に接続され、前段（１０４ａ、１０４ｂ、１０４ｃの順）の奥行き合成回路から入力されたＺ値と、当該奥行き合成回路が接続されている画像生成部から入力されたＺ値とを比較し、その比較結果に従ってＺ値、画素値（Ｒ，Ｇ，Ｂ値）、及び寄与度を選択して出力する。それぞれの入力ポートには１画素ごとに４組のＺ値、画素値、及び寄与度が入力されるので、合計８組の値が入力され、その中から奥行きの小さい４組を選択することになる。ただし、最前段となる奥行き合成回路１０４ａについては、画像生成部１０３ａが出力したＺ値、画素値、及び寄与度のみが入力されるものとなり、これをそのまま後段の奥行き合成回路１０４ｂに出力する。本実施の形態１においては、奥行き合成回路１０４ａ〜１０４ｃが奥行き合成手段を実現するものである。
【００６３】
混合比演算回路１０５は、最後段の奥行き合成回路１０４ｃに接続され、寄与度とＺ値から４組の画素値（Ｒ，Ｇ，Ｂ値）の混合比を算出し、該算出した混合比を後述する画素混合回路１０６に出力する。この混合比は、本実施の形態１において、不透明なポリゴンに対してはアンチエリアシング処理のためのものとなり、他のポリゴンに対しては半透明処理のためのものとなる。画素混合回路１０６は、最後段の奥行き合成回路１０４ｃと混合比演算回路１０５とに接続され、奥行き合成回路１０４ｃから入力するＲ，Ｇ，Ｂ値を、混合比演算回路１０５から入力する混合比に従って混合し、表示画素単位の画素値（Ｒ，Ｇ，Ｂ値）を得る。画像表示装置１０７は、画素混合回路１０６において得られた値を用いて、生成した画像を表示する。ここでは、画像表示装置１０７に表示される画像は横（Ｘ方向）は１０２４画素で、縦（Ｙ方向）は５１２画素の大きさとする。本実施の形態１では、混合比演算回路１０５と画素混合回路１０６とによって画像合成手段を実現するものとなっている。
【００６４】
同期信号発生器１０８は外部同期信号が入力された場合はこれに同期して、入力されない場合は独自のタイミングで同期信号を発生する。同期信号は奥行き合成回路１０４ａ，１０４ｂ，１０４ｃを順に通過する。奥行き合成回路１０４ａ，１０４ｂ，１０４ｃ内では、入力された同期信号に従って処理をすることにより、表示画像上の同一の画素に対して奥行き合成処理が実行されるように調整する。
【００６５】
また、後述するように各奥行き合成回路において、同期信号に基づくタイミング制御信号が生成され、このタイミング制御信号は各画像生成部に出力され、画像生成部内で用いられることとなる。
【００６６】
図２から図１３は、本実施の形態１による画像生成装置を構成する各部の内部構成を示す図、または、作用を説明するための図である。以下に、図１を参照しつつ、図２から図１３を用いて、本実施の形態１の画像生成装置における画像生成の際の動作を説明する。
本実施の形態１による画像生成装置に、形状データが入力されると、形状データは形状データ分割手段１０１によって分割され、部分形状データ（１つ以上のポリゴンデータを含む。）がそれぞれ、形状データバッファ１０２ａ、１０２ｂ、および１０２ｃに入力されて保持される。そして、それぞれが保持するポリゴンデータが、画像生成部１０３ａ、１０３ｂ、および１０３ｃにより読み出されて処理される。
【００６７】
図２は、画像生成部１０３ａの内部構成を示す図である。本実施の形態１では、画像生成部１０３ａ〜１０３ｃは同一の内部構成を有するものであり、１０３ｂ、および１０３ｃも図２に示す内部構成を有するものである。図示するように、画像生成部１０３ａ（１０３ｂ、および１０３ｃも同様）は、幾何変換部１０３１、画素生成回路１０３２、ポリゴン識別回路１０３３、画像データ演算回路１０３４、Ｚバッファ制御回路１０３５、ダブルバッファ制御回路１０３６、第１、および第２のバッファ群（Ｚバッファ、フレームバッファ、および寄与度バッファ）１０３７ａ、および１０３７ｂ、フレームアドレス生成回路１０３８を備えたものである。
【００６８】
幾何変換部１０３１は、形状データバッファから読み出されたポリゴンデータに対して、座標系を変換する幾何変換処理を行う。これによりポリゴンデータは、出力画像上の座標系であるスクリーン座標系に変換される。画素生成回路１０３２は、変換されたポリゴンデータをサブピクセル単位に分解し、ポリゴンの内部に存在するサブピクセルを抽出し、サブピクセルごとに画素値とＺ値とを生成する。ポリゴン識別回路１０３３は、画素生成回路１０３２の出力に基づいて、ポリゴンが不透明か半透明かを識別する。画像データ演算回路１０３４は、ポリゴンのサブピクセルのパターンに基づいて、各画素の寄与度を算出する。
【００６９】
Ｚバッファ制御回路１０３５は、入力されたスクリーン座標値（Ｘ，Ｙ）に対応するＺ値を、Ｚバッファから読み出す。ダブルバッファ制御回路１０３７は、第１、および第２のバッファ群１０３７ａ、および１０３７ｂを、Ｚバッファ制御回路１０３５により制御される組と、フレームアドレス生成回路１０３８により制御される組とに振り分ける。
【００７０】
第１、および第２のバッファ群１０３７ａ、および１０３７ｂは、図示するように、ダブルバッファ化されたＺバッファ、フレームバッファ、および寄与度バッファであり、バッファへの書き込みと、バッファからの読み出し処理とは、異なるバッファに対して並行的に実行できるようになっている。また、各バッファは各画素ごとに４組の数値を保持できるように表示画素分の４倍の容量を持つものとしている。したがって、それぞれのバッファ群中のＺバッファは、２４（ビット）×１０２４（画素）×５１２（画素）×４（倍）で６Ｍバイトの容量を持つことになる。同じく、フレームバッファも６Ｍバイトの容量を有し、寄与度バッファは２Ｍバイトの容量を有する。バッファのアドレス空間は２Ｍワード分あり、従ってアドレスのビット幅は２１ビットである。２１ビットのうちの上位１０ビット（ビット２０〜１２）がＹ座標、ビット１１からビット２までがＸ座標、最下位の２ビット（ビット１と０）が４組の数値を保持するためのインデックスである。
【００７１】
フレームアドレス生成回路１０３８は、Ｚバッファ、フレームバッファ、寄与度バッファのアドレスをシリアルに生成する。図１に示す同期信号発生器１０８が出力する同期信号は、奥行き合成回路１０４ａ（１０４ｂ、１０４ｃ）に入力され、後述するように、奥行き合成回路１０４ａ（１０４ｂ、１０４ｃ）においては、同期信号に基づいてタイミング制御信号が生成される。タイミング制御信号は、奥行き合成回路１０４ａ（１０４ｂ、１０４ｃ）から画像生成部１０３ａ（１０３ｂ、１０３ｃ）に入力され、画像生成部１０３ａ内部において、フレームアドレス生成回路１０３８に入力される。フレームアドレス生成回路１０３８におけるアドレス生成処理は、このタイミング制御信号に同期して行われるものとなる。
以上の構成において本実施の形態１では、ポリゴン識別回路１０３３がポリゴン識別手段を実現し、画像データ演算回路１０３４が画像データ演算手段を実現するものとなっている。
【００７２】
図２を用いて、画像生成部１０３ａ（１０３ｂ、１０３ｃ）の動作を説明する。図１において、形状データバッファ１０２ａから読み出されたポリゴンデータは、図２に示す画像生成部１０３ａ内部の幾何変換部１０３１において、出力画像上の座標系であるスクリーン座標系に変換される。座標変換されたポリゴンデータは、図２に示す画素生成回路１０３２に出力される。
【００７３】
画素生成回路１０３２はポリゴンをサブピクセル単位に分解し、ポリゴンの内部に存在するサブピクセルを抽出する。図３は、この処理を説明するための概念図である。同図の左上に「画素」として示した大きさが、１個の表示画素の大きさである。同図においては、全体として横７画素、縦５画素の領域を表示している。また、小さい正方形がサブピクセルを示している。図３では１画素を縦、横方向それぞれ４個の合計１６個のサブピクセルに分割している。ポリゴンは太い線で囲まれた３角形であり、図においてポリゴン内部のサブピクセルを斜線で示している。画素生成回路１０３２では、図示するようなサブピクセルへの分割と、ポリゴン内部のサブピクセルの抽出が行われ、図３において斜線で示されたすべてのサブピクセルについて、Ｚ値と、画素値（Ｒ，Ｇ，Ｂ値）とが求められる。各値のビット幅はＺ値が２４ビット、Ｒ，Ｇ，Ｂ値が各８ビットである。
【００７４】
一方、図１に示す形状データバッファ内には、ポリゴンごとに、当該ポリゴンの透明性を示す透過度があらかじめ設定されている。透過度のビット幅は８ビットで、その値が２５５（１０進）の時に不透明、０の時に完全に透明である。中間の値の場合は値に応じて半透明になる。したがって、透過度が０のポリゴンは実質的に存在しないものとして扱われることになる。
【００７５】
画素生成回路１０３２からは、サブピクセルのＺ値、Ｒ，Ｇ，Ｂ値と透明度とがポリゴン識別回路１０３３に出力され、ポリゴン識別回路１０３３は、ポリゴンの透過度が値２５５であるか否かによって、不透明か半透明かを識別する。ポリゴン識別回路１０３３からは、画像データ演算回路１０３４に対して、「不透明」か「半透明」かを示す識別結果が出力される。
【００７６】
画像データ演算回路１０３４は、ポリゴンのサブピクセルのパターンから各画素の寄与度を算出する。図４は、この処理を説明するための概念図である。同図の左上に「画素」として示した大きさが、１個の表示画素の大きさである。１個の表示画素は１６個のサブピクセルに分割されており、図２を用いて説明したように、画素生成回路１０３２における処理では、すべてのサブピクセルについてポリゴンの内部にあるかどうかを判定するものである。これに対して、画像データ演算回路１０３４では、一部のみを用いて処理を行う。画像データ演算回路１０３４におけるこの処理は、ポリゴン識別手段１０３３から取得する識別結果が「不透明」を示す場合と「半透明」を示す場合とで異なるものとなる。すなわち、本実施の形態１においては、ポリゴンが不透明である場合にのみアンチエリアシング処理を実行するものである。
【００７７】
識別結果が「不透明」を示す場合、画像データ演算回路１０３４は、１個の表示画素に相当する１６個のサブピクセルのうちの４個だけをサンプリングして寄与度を算出する。図４の二重丸印と丸印とは、不透明なポリゴンにおいてサンプリングするサブピクセルの位置を示している。
画像データ演算回路１０３４は、それぞれのサブピクセルにおいてポリゴン内にある場合は「１」、ない場合は「０」とする４ビットの数値を算出し、これからルックアップテーブルを参照することで寄与度を求める。図５は、画像データ演算回路１０３４が用いるルックアップテーブルを示す図である。同図ａ）に示すテーブルは、入力値が２進数表記で１になっているビットの数に応じて０個、１個、２個、３個、４個の場合に寄与度が各々０、６４、１２８、１９２、２５５となるようなものである。
【００７８】
求めた寄与度が０ではない場合は、当該画素のスクリーン座標値（Ｘ，Ｙ）と寄与度とをＺバッファ制御回路１０３５（図２）に出力する。画像データ演算回路１０３４は、また、Ｚ値と画素値（Ｒ，Ｇ，Ｂ値）とをも、Ｚバッファ制御回路１０３５に出力するが、これらはサブピクセルごとに異なるものであるので、画像データ演算回路１０３４は、４個のサブピクセル中のいずれか１個をセレクタにおいて選択する。画像データ演算回路１０３４における選択は、図５ｂ）のようなルックアップテーブルを参照して求める。図５ｂ）に示すテーブルでは、選択するサブピクセルを示す値が、入力値において、２進数表記で１になっているビットのビット位置を示す値となっているものであり、複数のビットが１になっている場合は、より中央に近い位置を示すような値になっている。これは、中央に近い位置の方が適切に当該画素を代表し得る可能性が高いからである。
【００７９】
以上の処理は、図２に示すポリゴン識別回路１０３３から出力された識別結果が「不透明」を示していた場合のものである。これに対して、識別結果が「半透明」を示す場合には、図４における二重丸の位置のサブピクセルだけをサンプリングする。二重丸の位置のサブピクセルがポリゴン内にない場合は（たとえ他のサブピクセルがポリゴン内にある場合でも）入力されたＺ値と画素値とは破棄する。二重丸の位置のサブピクセルがポリゴン内にある場合は、当該画素のスクリーン座標値（Ｘ，Ｙ）と二重丸の位置のサブピクセルのＺ値と画素値（Ｒ，Ｇ，Ｂ値）、及び寄与度をＺバッファ制御回路１０３５に出力する。なお、半透明なポリゴンについてはポリゴンの透過度の値を寄与度とする。
画像データ演算回路１０３４においてサンプリングするサブピクセルの位置は必ずしも図４に従わなくても同様の効果が得られるものであるが、適切な結果を得るためには、縦の列および横の行で重ならないようにサンプリングすべきであり、さらに斜め方向においても重ならない方が望ましいものとなる。
【００８０】
図２においてＺバッファ制御回路１０３５は、入力されたスクリーン座標値（Ｘ，Ｙ）に対応するＺ値とをＺバッファから読み出す。Ｚバッファの読み出しアドレスは２１ビット幅であり、Ｙ座標をビット２０〜１２、Ｘ座標をビット１１〜２に対応させた値である。最下位の２ビットは１画素に対して保持している４組の数値を区別するインデックスであり、０から３まで変化させて４組のＺ値をすべて読み出す。読み出した４個のＺ値は互いに比較され、最も値の大きいＺ値だけが取り出される。そして、取り出されたＺ値は画像データ演算回路１０３４から入力されたポリゴンのＺ値と比較される。この際にポリゴンのＺ値の方が大きいかまたは両者が等しい場合は、以降の処理を行うことなく、入力されたＺ値、Ｒ，Ｇ，Ｂ値と寄与度は破棄される。
一方、ポリゴンのＺ値の方が小さい場合は、最も値の大きいＺ値が保持されていたアドレスにポリゴンのＺ値を書き込む。同時にフレームバッファと寄与度バッファに対しても、Ｚバッファと同じアドレスにポリゴンのＲ，Ｇ，Ｂ値と寄与度を書き込む。
【００８１】
図６は、以上の処理を実現するための、Ｚバッファ制御回路１０３５における回路構成を示す摸式図である。図２に示すようにＺバッファ制御回路１０３５には、画像データ演算回路１０３４からＺ値、画素値（Ｒ，Ｇ，Ｂ値）、および寄与度（計５６ビット）が入力され、また、ダブルバッファ制御回路１０３６を介して、Ｚバッファから順に４個のＺ値（２４ビット）が入力される。Ｚ値レジスタ６９０は、タイミング制御回路６９１からの制御に従って、最初のＺ値が入力されるタイミングにおいてクリアされ、以降は次にクリアされるまでロードされた値を保持する。
【００８２】
Ｚバッファより入力されたＺ値（以下バッファＺ値と表記する。）は、第１の比較回路６９２に入力される。また、Ｚ値レジスタが保持する値（以下レジスタＺ値と表記する。）も第１の比較回路６９２に入力される。第１の比較回路６９２においては、バッファＺ値とレジスタＺ値との比較が行われ、その結果、バッファＺ値の方が大きい場合のみ、第１の比較回路６９２からＺ値レジスタ６９０にバッファＺ値がロードされ、Ｚ値レジスタ６９０は、ロードされた値をレジスタＺ値として保持することとなる。
【００８３】
したがって、Ｚバッファから４個のＺ値が入力され、上記の処理が実行された後には、Ｚ値レジスタ６９０には、当該４個のＺ値のうち、最も大きい値のものが、レジスタＺ値として残ることとなる。このレジスタＺ値を最大レジスタＺ値とする。最大レジスタＺ値は、Ｚ値レジスタ６９０から第２の比較回路６９３に入力される。
【００８４】
一方、画像データ演算回路１０３４から入力されたＺ値（以下演算Ｚ値と表記する。）が第２の比較回路６９３に入力され、第２の比較回路６９３において、演算Ｚ値と最大レジスタＺ値とが比較され、その結果が書き込みアドレス生成回路６９４に出力される。書き込みアドレス生成回路６９４は、第２の比較回路６９３から入力された比較結果が、演算Ｚ値の方が小さい旨を示す場合のみ、書き込みアドレスを生成する。書き込みアドレス生成回路６９４には、第１の比較回路６９２からも比較結果が入力され、書き込みアドレス生成回路６９４は、書き込みアドレスの生成を行う場合に、比較回路６９２の比較結果を用いて最下位の２ビットを制御する。
【００８５】
図６に示す内部構成のＺバッファ制御回路１０３５において、以上のような処理がなされた後、図２において、Ｚバッファ制御回路１０３５からはダブルバッファ制御回路１０３６に対して、書き込みアドレスが出力される。また、画像データ演算回路１０３４からＺバッファ制御回路１０３５に入力されたＺ値、Ｒ，Ｇ，Ｂ値、および寄与度は、書き込みデータとしてダブルバッファ制御回路１０３６に出力される。ダブルバッファ制御回路１０３６は各バッファへの書き込み制御を行い、入力された書き込みアドレスに、入力された書き込みデータを書き込むことで、前述のようにポリゴンのＺ値が小さい場合にのみ各バッファの書き換えがなされることとなる。
【００８６】
図２に示すフレームアドレス生成回路１０３８は、同期信号発生器１０８から奥行き合成回路１０４ａを介して入力されたタイミング制御信号（図１）に同期して、Ｚバッファ、フレームバッファ、寄与度バッファのアドレスをシリアルに生成する。図７は、アドレス生成処理を実現するフレームアドレス生成回路１０３８の構成を示す模式図である。図示するようにフレームアドレス生成回路１０３８は、第１のカウンタ１０３８１と第２のカウンタ１０３８２を備えている。第１のカウンタ１０３８１は、アドレスのビット１１〜０をカウント処理するものであり、水平同期信号でクリアされ、常時カウントアップされるカウンタを用いてアドレスを生成する。なお、アドレスのビット１１〜０をカウントアップする周波数は１画素の表示時間の逆数（ドットクロックサイクル）の４倍である。したがって、第１のカウンタ１０３８１は１画素の表示時間中に４回カウントアップする。
【００８７】
第２のカウンタ１０３８２はアドレスのビット１９〜１２をカウント処理するものであり、垂直同期信号でクリアされ、水平同期信号でカウントアップされるカウンタを用いてアドレスを生成する。第１、及び第２のカウンタがこのようなカウント処理をする結果、同期信号に同期して対象となる画素の４組の数値を順にアクセスすることになり、Ｚバッファ、フレームバッファ、寄与度バッファからは１画素内の４組の数値が順に出力される。
【００８８】
図２に示すダブルバッファ制御回路１０３７は、２組のバッファ群（Ｚバッファ、フレームバッファ、および寄与度バッファ）１０３７ａ、および１０３７ｂを、Ｚバッファ制御回路１０３５によって制御される組と、フレームアドレス生成回路１０３８によって制御される組とに振り分けるために存在する。この振り分けは垂直同期信号ごとに切り替わる。すなわち、フレームごとにバッファが切り替わることになる。
【００８９】
図１に戻り、本実施の形態１の画像生成装置の動作の説明を続ける。画像生成部１０３ａ，１０３ｂ，１０３ｃは、それぞれ奥行き合成回路１０４ａ，１０４ｂ，１０４ｃと接続され、上記の処理によって生成し、その内部に保持しているＺ値、画素値（Ｒ，Ｇ，Ｂ値）、及び寄与度を各奥行き合成回路に出力する。
【００９０】
各奥行き合成回路は前述のように接続されているものであるが、奥行き合成回路間で転送される４組の値は、Ｚ値が小さい順に並べ換えられている。ここで並べ換えた４組の値をそれぞれレベル０，レベル１，レベル２，レベル３と呼ぶこととする。以下に、奥行き合成回路１０４ａ、１０４ｂ、１０４ｃの詳細な構成と、その動作とについて図を参照しながら説明する。
【００９１】
図８は奥行き合成回路１０４ｂの内部構成を示すものである。図示するように、奥行き合成回路１０４ｂは、Ｚソート回路１０４１、Ｚ比較回路１０４２、およびタイミング制御回路１０４３を備えている。
接続されている画像生成部１０３ｂから入力されるＺ値、画素値（Ｒ，Ｇ，Ｂ値）、及び寄与度は、奥行き合成回路１０４ｂ内部のＺソート回路１０４１において処理される。Ｚソート回路１０４１では１画素に対応する４組のＺ値、画素値、および寄与度を、Ｚ値の小さい順に並べ換え、後述するＺ値比較回路１０４２が生成するレベル制御信号に応じた値を出力する。例えば、レベル制御信号として０という値が入力されると、４組の入力順とは無関係に最もＺ値の小さい組の値が出力される。
【００９２】
Ｚ値比較回路１０４２はレベル順に前段の奥行き合成回路１０４ａから入力されるＺ値４個と、Ｚソート回路１０４１内のＺ値４個との合計８個を比較し、よりＺ値の小さい４組のＺ値、画素値、および寄与度を選択して、次段の奥行き合成回路１０４ｃに出力する。この選択は、上述のように、Ｚソート回路１０４１に対してレベル制御信号を出力し、対応する組の値を取得することで行う。
【００９３】
タイミング制御回路１０４３は、同期信号発生器１０８から入力される同期信号（図１）に同期してタイミング制御信号を生成し、これをＺソート回路１０４１と、Ｚ値比較回路１０４２とに出力する。また、画像生成部１０３ｂに対しても、タイミング制御信号を出力する（図１、図８）。
【００９４】
図９は、奥行き合成回路１０４ｂが備えるＺソート回路１０４１の内部構成を示す図である。図示するように、Ｚソート回路１０４１は、第１のＺ値レジスタ１０４１１、第２のＺ値レジスタ１０４１２、第３のＺ値レジスタ１０４１３、第１の比較回路１０４１４、第２の比較回路１０４１５、第３の比較回路１０４１６、アドレス生成回路１０４１７、および２ポートメモリ１０４１８を備えている。
【００９５】
第１から第３のＺ値レジスタ１０４１１〜１０４１３は、それぞれ入力されたＺ値を保持する。第１から第３の比較回路１０４１４〜１０４１６は、それぞれ対応するＺ値レジスタが保持するＺ値と、画像生成部１０３ｂから入力されるＺ値とを比較する。アドレス生成回路１０４１７は、第１から第３の比較回路の比較結果に基づいて、２ポートメモリ１０４１８における読み出しアドレスと書き込みアドレスとを生成する。
【００９６】
このような内部構成を有するＺソート回路１０４１（図８）に、Ｚ値、画素値（Ｒ，Ｇ，Ｂ値）、および寄与度が入力され、これらは、５６ビット×８ワード構成の２ポートメモリ１０４１８に格納される。この際に、後述するアドレス生成回路１０４１７より入力される書き込みアドレスは１づつ加算されたものとなって、１画素内の４組の入力値は、入力された順に異なったアドレスに格納されることとなる。
【００９７】
入力されたＺ値は、Ｚソート回路１０４１内において、Ｚ値レジスタ１０４１１にも格納される。図示する第１から第３のＺ値レジスタ１０４１１、１０４１２、および１０４１３は、全体としてシフトレジスタを構成しており、Ｚ値が入力されるごとに、すなわち１サイクルごとに、第１から第２、第２から第３にと、保持する値がシフトされる。
【００９８】
第１のレジスタの保持する値（第１保持Ｚ値）は、第１の比較回路１０４１４に入力される。第１の比較器１０４１４には、当該サイクルにおいて入力されたＺ値である入力Ｚ値も入力され、第１保持Ｚ値と比較される。第１の比較回路１０４１４は、比較結果を保持するものであり、当該サイクルにおける比較結果と、１サイクル前、および２サイクル前の比較結果を信号ＣＰ１としてアドレス生成回路１０４１７に出力する。
【００９９】
第２の比較器１０４１５は当該サイクルの入力Ｚ値と、第２のＺ値レジスタ１０４１２の保持する値（第２保持Ｚ値）との比較結果と、１サイクル前の比較結果を信号ＣＰ２としてアドレス生成回路１０４１７に出力する。第３の比較器１０４１６は、当該サイクルの入力Ｚ値と、第３のＺ値レジスタ１０４１３の値との比較結果を、信号ＣＰ３として、アドレス生成回路１０４１７に出力する。
【０１００】
アドレス生成回路１０４１７においては、４組の数値の入力が終了すると、第１から第３比較器より出力される信号ＣＰ１〜ＣＰ３が示す値を用いて、４組の数値をＺ値順に並べ換えることが可能になる。アドレス生成回路１０４１７は、後述するＺ値比較回路１０４２（図８）からレベル制御信号を入力するものであり、このレベル制御信号に合わせた読み出しアドレスを生成する。２ポートメモリ１０４１８は前述のように８ワード構成になっているものであり、４ワードを入力し、これをＺ値のレベル順に並べ換えて出力している間に、次の画素のための４ワードを入力することができる。すなわち２ポートメモリ１０４１８はダブルバッファ化されたメモリである。
【０１０１】
上記の処理の結果、図８に示すように、Ｚソート回路１０４１からＺ値比較回路１０４２に出力されるＺ値、画素値（Ｒ，Ｇ，Ｂ値）、および寄与度は、Ｚ値比較回路１０４２が出力したレベル制御信号に対応したレベルのものとなる。
【０１０２】
図１０は、Ｚ値比較回路１０４２の内部構成を示す図である。図示するように、Ｚ値比較回路１０４２は、ＦＩＦＯメモリ１０４２１、制御回路１０４２２、比較器１０４２３、およびセレクタ１０４２４を備えている。
ＦＩＦＯメモリ１０４２１は、図８に示すように奥行き合成回路１０４ａから入力されるＺ値、画素値、および寄与度を保持する。ＦＩＦＯメモリ１０４２１は、データを書き込んだ順に読み出す（ＦＩＦＯ：First In First Out) ことのできるメモリであり、図１０では前段の奥行き合成回路１０４ａと接続する側が書き込みポートであり、比較器１０４２３、およびセレクタ１０４２４と接続する側が読み出しポートである。ＦＩＦＯメモリ１０４２１は、Ｚ値、画素値、及び寄与度の値を２組保持できる容量（２ワード長）を備えている。
【０１０３】
制御回路１０４２２は、入力する同期信号に基づいてレベル制御信号を生成し、当該Ｚ値比較回路１０４２全体を制御する。比較器１０４２３は、ＦＩＦＯメモリ１０４２１が保持するＺ値と、Ｚソート回路１０４１から入力されたＺ値とを比較する。セレクタ１０４２４は、制御回路１０４２２の制御に従って、ＦＩＦＯメモリ１０４２１が保持する値と、Ｚソート回路１０４１から入力された値とのいずれかを選択して出力する。
【０１０４】
図１０に示す構成のＺ値比較回路１０４２に対して、奥行き合成回路１０４ａからは、サイクルごとにレベル０、１、２、３のＺ値、画素値、および寄与度が入力される。制御回路１０４２２は、ＦＩＦＯメモリ１０４２１に対して、レベル０のこれらの値が入力される前にリセットを指示する信号を出力し、ＦＩＦＯメモリ１０４２１はこれによりリセットされる。あるサイクルにおいてレベル０の諸値が入力されると、その値はＦＩＦＯメモリ１０４２１に書き込まれ、次のサイクルにおいてＦＩＦＯメモリ１０４２１から出力される。
【０１０５】
比較器１０４２３には、ＦＩＦＯメモリ４２１からＺ値が出力される（比較器入力Ｂ）。比較器１０４２３には、Ｚソート回路１０４１から出力されるＺ値も入力され（比較器入力Ａ）、比較器１０４２３では、ＦＩＦＯメモリ１０４２１からのＺ値（Ａ）と、Ｚソート回路１０４１からのＺ値（Ｂ）とが比較され、比較結果は制御回路１０４２２に入力される。
【０１０６】
制御回路１０４２２は比較器１０４２３から取得した比較結果に対応し、セレクタ１０４２４の選択を制御する信号（選択制御信号）を生成して、これをセレクタ１０４２４に出力する。選択制御信号は、制御回路１０４２２に入力された比較結果が「Ａ≦Ｂ」を示すものであった場合は、Ｚソート回路４１の出力を選択すべき旨を示すものとなり、比較結果が「Ａ＞Ｂ」を示すものであった場合は、ＦＩＦＯメモリ１０４２１の出力を選択すべき旨を示すものとなる。
【０１０７】
また、制御回路１０４２２が生成するレベル制御信号は、制御回路１０４２２に入力される比較結果が、「Ａ≦Ｂ」を示すものであった場合に、当該サイクルの次のサイクルでカウントアップする。
【０１０８】
また、制御回路１０４２２は、ＦＩＦＯメモリ１０４２１に対してリード制御信号を出力するが、この信号は比較結果が「Ａ＞Ｂ」であった場合、そのサイクルにおいてのみ値「１」となって出力されるものであり、これに対応してＦＩＦＯメモリ１０４２１では、次のサイクルにおいて次の値が読み出せることとなる。一方、ＦＩＦＯメモリ１０４２１に対してのライト制御信号は、奥行き合成回路１０４ａからの入力がある場合当該サイクルで値「１」となり、ＦＩＦＯメモリ１０４２１に書き込みがされることとなる。しかし、書き込みを行うことにより、ＦＩＦＯメモリ１０４２１の内部において、書き込まれて読み出されていないデータが３個以上になる場合は書き込まない。ＦＩＦＯメモリ１０４２１の容量がデータ２組分であるためである。なお、奥行き合成回路１０４ａから入力される４レベルのデータは、前述のようにＺ値の順に並べ換えられているものであるため、ＦＩＦＯメモリ１０４２１において３組以上のデータを保持する必要はない。２組保持された時点で３組目のデータは入力値に関わらず必要とされないことが確定する。従って、このような場合には上記のように書き込みを行わないものとしても支障がないこととなる。
図１１は、Ｚ値比較回路１０４２の動作例を示す図である。同図ａ）、およびｂ）は、比較器１０４２３における比較結果が異なったものとなる２種類の例を示している。
【０１０９】
図１０においてセレクタ１０４２４の出力するＺ値、画素値、および寄与度は、図８に示すＺ値比較回路１０４２の出力になり、また、図１における奥行き合成回路１０４ｂの出力となって、奥行き合成回路１０４ｃに出力される。
奥行き合成回路１０４ｂの内部構成、および動作は以上のようなものである。これに対して、奥行き合成回路１０４ａについては、その接続される画像生成部は１０３ａとなり、前段の奥行き合成回路は存在しない。このため前段からのＺ値の入力ポートには表現できる最大の値が入力されている。また奥行き合成回路１０４ａの後段には奥行き合成回路１０４ｂが接続される。また、奥行き合成回路１０４ｃについては、その接続される画像生成部は１０３ｃとなり、その前段には奥行き合成回路１０４ｂが接続され、その後段には奥行き合成回路ではなく、混合比演算回路１０５と、画素混合回路１０６とが接続される。上記の接続関係を除いて、奥行き合成回路１０４ａ、および１０４ｃは、図８に示す奥行き合成回路１０４ｂと同等の内部構成を有し、その動作も上述の奥行き合成回路１０４ｂの動作と同様のものとなる。
【０１１０】
図１に戻り、本実施の形態１の画像生成装置の動作の説明を続ける。図示するように、奥行き合成回路１０４ｃからは、選択されたＺ値と寄与度とが混合比演算回路１０５に、また、選択された画素値（Ｒ，Ｇ，Ｂ値）が画素混合回路１０６に出力される。そして、奥行き合成回路１０４ａ〜１０４ｃを経由した同期信号が、混合比演算回路１０５と画素混合回路１０６とに出力される。
【０１１１】
混合比演算回路１０５は、寄与度とＺ値とから、４組の画素値（Ｒ，Ｇ，Ｂ値）の混合比を算出し、これを後述する画素混合回路１０６に出力する。以下に、混合比演算回路１０５の詳細な構成と動作について図を参照しながら説明する。図１２は混合比演算回路１０５の内部構成を示すものである。図示するように、混合比演算回路１０５は加算器１０５１、アルファレジスタ１０５２、インバータ１０５３、セレクタ１０５４、ＡＮＤゲート１０５５、および制御回路１０５６を備えている。
【０１１２】
加算器１０５１は、加算処理を行うことにより、入力されたレベルの寄与度を合計した値を取得する。アルファレジスタ１０５２、インバータ１０５３、セレクタ１０５４、およびＡＮＤゲート１０５５は、加算器１０５１が取得した結果に基づいて、画素混合回路１０６に対する出力となる混合比を算出する。制御回路１０５６は、混合比演算回路１０５全体を制御する。
【０１１３】
図１に示すように、混合比演算回路１０５に対しては、奥行き合成回路１０４ｃから、サイクルごとにレベル０、１、２、３の寄与度が入力される。混合比演算回路１０５内部（図１２）において、レベル０の寄与度が入力される前に、制御回路１０５６は、アルファレジスタ１０５２に対してリセットを指示する信号を生成して出力し、この信号によりアルファレジスタ１０５２の保持する値はクリアされる。各レベルの値が入力されると、アルファレジスタ１０５２の値は加算器１０５１により積算され、アルファレジスタ１０５２は、これをアルファ値として保持する。
【０１１４】
加算器１０５１は、レベル０から順に積算していった寄与度の総和が１００％（８ビットの値で２５５）になった場合には、制御回路１０５６に対してキャリーを出力する。制御回路１０５６は、加算器１０５１からのキャリーを検出するまでは、奥行き合成回路１０４ｃから入力された寄与度がそのまま混合比として画素混合回路１０６に出力されるように、セレクタ１０５４とＡＮＤゲート１０５５とを制御する。制御回路１０５６からの制御に従って、セレクタ１０５４はＢ側を選択する。また、制御回路１０５６からＡＮＤゲート１０５５に出力される信号は、すべてのビットが「１」となる。
【０１１５】
加算器１０５１からのキャリーを検出した場合、制御回路１０５６は、当該サイクルではアルファ値の１の補数(one's-compllement) が出力されるように制御する。この制御に従って、セレクタ１０５４はＡ側を選択し、インバータ１０５３において反転されたアルファ値が選択されることから、アルファ値の１の補数が出力されるものとなる。また、制御回路１０５６からＡＮＤゲート１０５５に出力される信号は、すべてのビットが「１」となる。そして、制御回路１０５６は、キャリーを検出したサイクル以後のサイクルでは、常に０が出力されるように制御する。すなわち、ＡＮＤゲート１０５５に対してすべてのビットを「０」として出力する。
【０１１６】
上記の制御を実行することにより、レベル０から順に積算していった寄与度の総和が１００％（８ビットの値で２５５）になった時点で、それ以降のレベルの寄与度が無視されるような回路が実現できる。また、上記の制御により、いかなる数値の組合せが寄与度として入力されても出力された混合比の総和が１００％を越えることはない。このような制御によって、画素混合回路１０６において混合した画素値（Ｒ，Ｇ，Ｂ値）がオーバーフローすることが防止される。
【０１１７】
図１において、混合比演算回路１０５から画素混合回路１０６に混合比が出力される。また、画素混合回路１０６には、最後段の奥行き合成回路１０４ｃから画素値が入力される。画素混合回路１０６は、入力した画素値（Ｒ，Ｇ，Ｂ値）を、混合比演算回路１０５から取得した混合比に従って混合し、表示画素単位の画素値（Ｒ，Ｇ，Ｂ値）を生成する。
【０１１８】
以下に画素混合回路１０６の詳細な構成と動作について図を参照しながら説明する。図１３は画素混合回路１０６の内部構成を示すものである。図示するように、画素混合回路１０６は、第１から第３の乗算器１０６１ｒ，１０６１ｇ，および１０６１ｂと、第１から第３の加算器１０６２ｒ，１０６２ｇ，および１０６２ｂと、第１から第３の積算レジスタ１０６３ｒ，１０６３ｇ，および１０６３ｂと、第１から第３の出力レジスタ１０６４ｒ，１０６４ｇ，および１０６４ｂと、制御回路１０６５とを備えている。
【０１１９】
第１から第３の乗算器１０６１ｒ，１０６１ｇ，および１０６１ｂは、それぞれ混合比と、入力したＲ，Ｇ，Ｂ値とを乗算する。第１から第３の加算器１０６２ｒ，１０６２ｇ，および１０６２ｂは。すべてのレベルのＲ，Ｇ，Ｂ値を積算する。第１から第３の積算レジスタ１０６３ｒ，１０６３ｇ，および１０６３ｂは、積算結果を保持する。第１から第３の出力レジスタ１０６４ｒ，１０６４ｇ，および１０６４ｂは、積算レジスタが保持する出力結果を出力する。制御回路１０６５は、画素混合回路１０６全体を制御する。
【０１２０】
図１に示すように、画素混合回路１０６には、奥行き合成回路１０４ｃから、サイクルごとに、レベル０、１、２、３の画素値（Ｒ，Ｇ，Ｂ値）が入力される。レベル０の値が入力される前に、図１３に示す制御回路１０６５は、第１から第３の積算レジスタ１０６３ｒ，１０６３ｇ，および１０６３ｂに対してリセットを指示する信号を生成して出力し、それぞれの積算レジスタが保持する値は、この信号によりクリアされる。各レベルの値が入力されると、第１から第３の積算レジスタ１０６３ｒ，１０６３ｇ，および１０６３ｂの保持する値は、入力画素値（Ｒ，Ｇ，Ｂ値）に混合比を乗じて得られる値だけ加算される。その結果、レベル３の画素値が入力され、処理が終了すると、すべてのレベルのＲ，Ｇ，Ｂ値を混合比にしたがって混合した値が積算レジスタ１０６３ｒ，１０６３ｇ，１０６３ｂに保持される。
【０１２１】
制御回路１０６５は、レベル３の画素値が入力されたサイクルの次のサイクルにおいて、第１から第３の出力レジスタ１０６４ｒ，１０６４ｇ，および１０６４ｂの値が更新されるように、それぞれの出力レジスタに対してロード信号を出力して制御する。その結果、画像表示装置１０７へ出力されるＲ，Ｇ，Ｂ値は混合比にしたがって各レベルの値が混合されたものとなる。また、図１において画像表示装置１０７へ出力されるＲ，Ｇ，Ｂ値は、画素混合回路１０６において４サイクルに１回だけ更新されることになり、画像表示装置１０７での１画素の表示時間に対応するものとなる。
【０１２２】
このように本実施の形態１の画像生成装置によれば、形状データ分離手段１０１、形状データバッファ１０２ａ〜１０２ｃ、画像生成部１０３ａ〜１０３ｃ、奥行き合成回路１０４ａ〜１０４ｃ、混合比演算回路１０５、画素混合回路１０６、画像表示装置１０７、および同期信号発生器１０８を備えて、アンチエリアシング処理を施すポリゴンを不透明なポリゴンに限定し、半透明なポリゴンはアンチエリアシング処理の対象とはしないようにし、また、半透明なポリゴンについては寄与度は透過度から算出するが、不透明なポリゴンについては画素内でのポリゴンの占める面積から寄与度を算出するようにしたので、バッファメモリの容量増加を抑えつつ、アンチエリアシング処理を施し、かつ半透明物体を表現することができるという効果がある。
【０１２３】
すなわち、本実施の形態１の画像生成装置では、画像生成部１０３ａ〜１０３ｃにおいて、すべてのポリゴン（半透明、不透明にかかわらず）の、構成画素すべてについてＺ値、Ｒ，Ｇ，Ｂ値と寄与度が求められるものとするが、この際に、半透明なポリゴンについては透過度から寄与度を算出し、不透明なポリゴンについては画素内でのポリゴンの占める面積から寄与度を算出するようにしたことによって、透過度を持つポリゴンに対して求めた寄与度は半透明物体の表現に使用され、透過度を持たないポリゴンに対して求めた寄与度はアンチエリアシング処理に使用されることになる。従って、従来の技術による場合、すなわち１画素当たり１６個のサブピクセルに分割した場合（１画素あたり１６個のメモリ）と比べ、透過度を持たないポリゴンを処理するためのメモリ容量が１画素あたり１個となるために、その容量を１／１６に削減することができる。その一方、上記のように半透明なポリゴンをアンチエリアシング処理の対象にしない構成としても、半透明なポリゴンの境界では、輝度は大きく変化しないので、図１８ａ）に示したような不自然さが現れることがなく、従って、フレームバッファとＺバッファの容量の増大を抑えつつ、アンチエリアシング処理を施し、かつ半透明物体を表現することのできる画像生成装置を実現することが可能となる。
【０１２４】
また、形状データ分割手段１０１において、形状データを分割し、画像生成部１０３ａ〜１０３ｃ、および奥行き合成回路１０４ａ〜１０４ｃにおける処理は、分割されたデータに対して実行されるものとしている。その後、混合比演算回路１０５は、寄与度から各フレームバッファのＲ，Ｇ，Ｂ値の混合比を求め、画素混合回路１０６は各フレームバッファのＲ，Ｇ，Ｂ値を混合して出力画像のＲ，Ｇ，Ｂ値を生成する。従って、負担の大きな処理となる、ポリゴンの構成画素すべてについてＺ値、Ｒ，Ｇ，Ｂ値と寄与度を求める処理は、ポリゴン単位で並列化することが可能である。このように、Ｚ値に応じて画素値、および寄与度を合成する奥行き合成回路を備えることにより並列処理した処理結果を合成することができ、処理の効率化と高速化を図ることが可能となる。
【０１２５】
実施の形態２．
本実施の形態２による画像生成装置は、実施の形態１による画像表示装置と同様の処理を行うものであるが、インターレース(interlace) 対応としたものである。インターレースとは、すべての表示画素を１回だけ走査する時間（１フレーム時間）を前半の偶フィールドと、後半の奇フィールドとに２分割するものである。偶フィールドではスクリーン座標のＹ座標が０，２，４，…，２ｎ（ｎは整数）の順に５１０までの走査線を走査し、奇フィールドではＹ座標が１，３，５，…，２ｎ＋１（ｎは整数）の順に５１１までの走査線を走査する。
【０１２６】
インターレース方式では１フレーム時間の半分の時間で走査線が上から下まで走査するために、速い動きに対しての応答性がよいという利点を持つが、Ｙ方向の解像度は半分になっているために、一般的には画質の点では劣るものとなり、動きが遅い動画像や静止した画像等のＹ方向の解像度を確保できる場合には適した方式となる。しかし、インターレース方式による場合、画像におけるＹ方向の空間周波数(spatial frequency) が高い場合には、静止した画像であっても、表示の際に画像がちらついて見えることがある。テレビ放送等で表示される自然画では空間周波数が低いのでこのちらつきが問題となることはないが、コンピュータグラフィックス画像は物体の境界で空間周波数が高くなり、インターレース方式特有のちらつきが無視できなくなる。このちらつきを抑えるためにはＹ方向のフィルタリング処理を実行する必要がある。本実施の形態２においては、寄与度を算出する際に、処理対象となる画素と、当該画素とＹ方向に隣接する画素とを用いることで、このフィルタリング処理を行うものである。
【０１２７】
本実施の形態２の画像生成装置は、基本的な構成は図１に示したものと同一であり、画像生成部１０３ａ〜１０３ｃ（図１）の内部構成も図２に示したのと同様のものとなる。しかし、図２に示す画像データ演算回路１０３４における処理が、図４に示した実施の形態１とは異なるものとなる。
【０１２８】
図１４は、本実施の形態２における画像データ演算回路１０３４（図２）における処理を説明するための概念図である。以下に、図１４を用いて、本実施の形態２における画像データ演算回路１０３４の処理を説明する。
実施の形態１における処理（図４）とは異なり、本実施の形態２では、表示画素を１６分割したサブピクセルと、図において該画素のすぐ下に位置する（Ｙ座標が１大きい）画素を１６分割したサブピクセルとの、合計３２サブピクセルの中から、８個をサンプリングするものである。
【０１２９】
ここでサンプリングされたサブピクセルは実施の形態１と同様に、ルックアップテーブルを参照して寄与度に変換される。ルックアップテーブルは実施の形態１で用いた図５ａ）に示したものを、入力８ビットに拡張したものである。すなわち入力値が２進数表記で１になっているビットの数に応じて、０個，１個，２個，３個，４個，５個，６個，７個，８個の場合に各々０，３２，６４，９６，１２８，１６０，１９２，２２４，２５５となるようなテーブルである。また、サブピクセルの中からＺ値、Ｒ，Ｇ，Ｂ値を選択する処理も同図ｂ）に示したものを拡張したルックアップテーブルを使用することによって行う。
上記のような処理を実行することで、Ｙ座標が０の走査線を表示するために、Ｙ座標が０と１の画素を使用し、Ｙ座標が１の走査線を表示するためにＹ座標が１と２の画素を使用することになる。その結果、Ｙ方向の空間周波数を低く抑えることができ、インターレース特有のちらつきが低減されるようになる。
【０１３０】
このように本実施の形態２によれば、実施の形態１の画像生成装置と同様の構成において、画像データ演算回路における処理が異なるものとしたことで、サブピクセルをサンプリングする際に、Ｙ座標方向に隣接する２画素を単位として所定位置のサブピクセルを選択するようにし、全ての画素でサンプリングするサブピクセルを２画素のうちの１画素側とするようにしたので、Ｙ方向の空間周波数を抑制することによって、インターレース表示特有のチラツキを低減することが可能となる。
【０１３１】
なお、本実施の形態２においては、画素を縦４、横４に１６分割したものとしたサブピクセルを例にとって説明したが、例えば画素を縦６、横６に３６分割してもよい。その場合はサンプリングするサブピクセル数は６または１２（インターレースの場合）となる。この場合も本実施の形態と同様に６個のサンプリング点が縦の列および横の行で重ならないようにしなければならない。
【０１３２】
また、実施の形態１、および２においては、奥行き合成回路間で転送される４組の値について、Ｚ値が小さい順に並べ換えられたレベル０〜レベル３の４レベルとしているものであるが、これ以外のレベル数とすることも可能である。一般に、レベル数を増加させると隠面処理を柔軟に行い得ることにより画質の向上を図り得るものであるが、その反面、必要とするメモリ量が増大し装置コストを上昇させることともなるので、所望される画質とコストとを考慮して適切にレベル数を設定することが望ましい。
【０１３３】
また、実施の形態１、および２においては、画像生成部内の諸回路や奥行き合成回路として専用の回路を用いる専用装置として説明しているものであるが、実施の形態１、および２に示した処理を実行する画像生成プログラムをプログラム記録媒体に記録しておき、当該プログラムを汎用コンピュータシステム等において実行することで、実施の形態１、および２に示した画像生成装置を実現することが可能である。プログラム記録媒体としては、フロッピーディスク等の磁気ディスク媒体、ＣＤ−ＲＯＭ、光磁気ディスク等の光ディスク媒体、磁気テープ等のテープ媒体等、プログラムを記録し得るものであれば使用可能である。
【０１３４】
そして、図１に示す実施の形態１、および２の画像生成装置としては、ＣＰＵやＤＳＰの制御に従って、画像生成プログラムを実行することで、形状データ分離手段、画像生成部、奥行き合成回路、混合比演算回路、画素混合回路を実現し、クロック発生装置、およびクロック同期装置により同期信号発生器を実現し、主記憶や補助記憶（記憶装置）により形状データバッファや、画像生成部内のバッファ、奥行き合成回路内の２ポートメモリを実現し、モニタ、ディスプレイ等により画像表示装置を実現することができる。さらに、モニタ等において表示をする代替に、生成した画像を記憶装置等において記録し、当該コンピュータシステム等を編集装置として用いることも可能であり、生成した画像をネットワークシステム等において伝送し、ネットワークコンピュータ等において表示・編集するものとすることも可能である。
【０１３５】
実施の形態３．
本発明の実施の形態３による画像合成装置は、実写画像とＣＧ画像とを合成するに際して、実写画像データを、ＣＧ生成に用いる形状データと同様に扱うものである。
図１５は本実施の形態３における画像合成装置の構成を示す図である。図示するように、本実施の形態３による画像合成装置は、画像生成部１５０１、実写画像処理部１５０２、奥行きソート部１５０３、混合比演算部１５０４、画像合成部１５０５、および画像表示部１５０６を備えたものであり、実施の形態１、および２の画像生成装置と同様に、表示されるべき物体をポリゴンとして扱い、３次元座標として記述した形状データを用いるものである。形状データはまた、ポリゴンごとの透過度を示す情報を含んでいるものとする。本実施の形態３では、透過度は０から１までの値をとり得るものとし、透過度の値が１である場合にはそのポリゴンは不透明であり、値が０の場合にはポリゴンが透明であることを示すものとする。また、値が０と１の間であれば、そのポリゴンは、透過度の値に対応して半透明であることを示すものである。
【０１３６】
画像生成部１５０１は、入力した形状データを順次処理して、視点位置を考慮した画素ごとの画素値（Ｒ，Ｇ，Ｂ値）と、奥行き値（Ｚ値）とを生成する。また、後述するように、アンチエリアシング処理、または半透明処理に対応して、寄与度を生成する。
【０１３７】
実写画像処理部１５０２は、実写画像を入力し、所定の処理を行ってクロマキー信号と、画素値とＺ値とからなる実写画像情報とを生成する。奥行きソート部１５０３は、画像生成部１５０１から入力するＺ値と、実写画像のＺ値とをその値が小さな順に並べ替え（ソート）する。混合比演算部１５０４は、入力された寄与度に対して加算処理を行い、混合比を生成する。画像合成部１５０５は、ＣＧ画像と、実写画像との画素値を演算処理することで、混合比演算部１５０４が生成した混合比に従った表示すべき画素の画素値を生成する。画像表示部１５０６は、画像合成部１５０５が生成した画素値を用いて画像を表示する。
【０１３８】
このように構成された、本実施の形態３の画像合成装置において、形状データと実写画像とが入力されてから、合成画像が表示されるまでの動作を、以下に説明する。
画像生成部１５０１は、入力した形状データより、ポリゴンごとのデータであるポリゴンデータを処理対象とし、幾何学変換を施すことによりスクリーン座標系に変換されたポリゴンデータを生成する。画像生成部１５０１は処理対象とするポリゴンデータの透過度により、当該ポリゴンに対してアンチエリアシング処理を行うか、半透明処理を行うかを決定する。画像生成部１５０１は、処理対象とするポリゴンの透過度が値１（不透明を示す）である場合には、アンチエリアシング処理を行い、その値が１未満であるならば半透明処理を行う。
【０１３９】
アンチエリアシング処理を行う場合、画像生成部１５０１は、画面上の１画素を縦４個×横４個のサブピクセルに分解し、全てのサブピクセルに対してそのサブピクセルが処理対象となるポリゴンの内部に存在するか否かを調べて、当該画素に対する当該ポリゴンの占める率である寄与度を生成する。なお、画像生成部１５０１による寄与度の生成にあたっては、１画素を分解して得られる１６個のサブピクセルのうち、実施の形態１（図４）と同様に、一部のサブピクセルをサンプリングして寄与度を求めるものとすることもできる。
これに対して半透明処理を行う場合には、かかるサブピクセルへの分割と、ポリゴン内部に存在するサブピクセルの抽出とを行うことなく、当該ポリゴンの透過度の値を寄与度とする。従って、透過度が０（透明）であるポリゴンについては、寄与度が０となることで、事実上表示の対象から除外されるものとなる。
【０１４０】
いずれの処理がなされた場合にも、当該ポリゴンの寄与度が０でない場合のみ、以降の処理が実行されることとなる。画像生成部１５０１は、Ｚバッファから読み出したＺ値と、処理対象となるポリゴンのＺ値とを比較し、処理対象のＺ値の方が小さいならば、そのＺ値をＺバッファに書き込み、また、当該ポリゴンの画素値（Ｒ，Ｇ，Ｂ値）をフレームバッファに、当該ポリゴンの寄与度を寄与度バッファに書き込む。従って、画像生成部１５０１は、Ｚ値が最小であるポリゴンから順に４つのポリゴンのデータを保持するものとなる。
【０１４１】
一方、実写画像処理部１５０２は、実写画像を入力し、クロマキー信号と画素値とを生成する。そして、実写画像処理部１５０２は、生成したクロマキー信号を実写画像の寄与度として奥行きソート部１５０３に出力する。また、実写画像処理部１５０２は、生成した画素値を、画像合成部１５０５に出力する。
【０１４２】
奥行きソート部１５０３は、画像生成部１５０１よりポリゴンデータのＺ値を入力する。また、実写画像の奥行き値としてあらかじめ設定された設定Ｚ値を別途入力する。そして奥行きソート部１５０３は、画像生成部１５０１より入力したＺ値（ここでは４個）と、設定Ｚ値（１個）とを値が小さい（奥行きが浅い）順に並べ替え（ソート）する。奥行きソート部１５０３はまた、画像生成部１５０１よりポリゴンデータの寄与度（４個）を、実写画像処理部１５０２より実写画像の寄与度（１個）を入力しており、以上５個の寄与度を、先にＺ値の順にソートした順番に従って、混合比演算部１５０４に出力する。
【０１４３】
混合比演算部１５０４には、従って、Ｚ値の小さい順にソートされた５個の寄与度が入力されることとなり、混合比演算部１５０４は、これを順次加算処理することによって混合比を生成する。混合比の生成にあたっては、順次加算の過程において、加算結果が１を超えないならば寄与度をそのまま混合比とし、加算結果が１を超えた場合には、当該加算結果の１の補数を混合比とし、以降は加算を行うことなく、混合比を０とするものである。これにより、混合比が１を超えるオーバーフローを防止するものである。混合比演算部１５０４は、生成した５個の混合比を画像合成部１５０５に出力する。
【０１４４】
画像合成部１５０５は、混合比演算部１５０４から入力された５個の混合比を用いて、画像生成部１５０１、および実写画像処理部１５０２から入力される画素値を積算処理する。その結果、画像合成部１５０５においては、ＣＧ画像４レベル分と実写画像１レベル分とが合成された合成画像が生成されることとなり、生成された画像は出力画像として画像合成部１５０５から画像表示部１５０６に出力され、画像表示部１５０６において表示される。
【０１４５】
このように、本実施の形態３の画像合成装置によれば、画像生成部１５０１、実写画像処理部１５０２、奥行きソート部１５０３、混合比演算部１５０４、画像合成部１５０５、および画像表示部１５０６を備えたことで、奥行きソート部１５０３、混合比演算部１５０４、および画像合成部１５０５は、ＣＧ画像４レベル分と実写画像１レベル分とを処理することとなり、半透明な物体と不透明な物体とを有するＣＧ画像に対して、その両者の間に実写画像を合成することが可能となり、アンチエリアシング処理を施した物体の背後に実写画像を合成する場合にも高画質の画像を得ることが可能となる。また、本実施の形態３の画像合成装置は、ＣＧ生成にあたり４レベル分の信号を処理する従来の技術による画像合成装置を５レベル分の信号を処理するように拡張することで得られ、装置コストを大きく増大することなく、上記の効果が得られるものである。
【０１４６】
実施の形態４．
本発明の実施の形態４による画像合成装置は、実施の形態１の画像生成装置と同様に画像を生成するものであり、生成されたＣＧ画像と実写画像との合成を実施の形態３の画像合成装置と同様に合成するものである。
図１６は本実施の形態４による画像合成装置の構成を示す図である。図示するように、本実施の形態４による画像生成装置は、形状データ分離手段１６０１、形状データバッファ１６０２ａ〜１６０２ｃ、画像生成部１６０３ａ〜１６０３ｃ、奥行き合成回路１６０４ａ〜１６０４ｃ、混合比演算回路１６０５、画素混合回路１６０６、画像表示装置１６０７、同期信号発生器１６０８、および実写画像処理部１６０９を備えたものである。
【０１４７】
本実施の形態４の画像合成装置が備える形状データ分離手段１６０１、形状データバッファ１６０２ａ〜１６０２ｃ、画像生成部１６０３ａ〜１６０３ｃ、奥行き合成回路１６０４ａ〜１６０４ｃ、画像表示装置１６０７、および同期信号発生器１６０８は、実施の形態１の１０１、１０２ａ〜１０２ｃ、１０３ａ〜１０３ｃ、１０４ａ〜１０４ｃ、１０７、および１０８と同様であり、実写画像処理部１６０９は、実施の形態３の１５０２と同様である。なお、本実施の形態４の実写画像処理部１６０９は、生成したクロマキー信号を実写画像の寄与度として混合比演算回路１６０５に出力し、生成した実写画像の画素値を画素混合回路１６０６に出力するものである。
【０１４８】
混合比演算回路１６０５は、実施の形態１の混合比演算回路１０５と同様に混合比を生成するが、本実施の形態４では、実施の形態１と同様に４レベル分のＣＧについて寄与度と、奥行き値とを入力し、演算に用いるのに加え、実写画像処理部より１レベル分の寄与度を入力し、また、実写画像の奥行き値として設定されたＺ値を入力し、これらをも演算に用いるものである点が異なる。
【０１４９】
画素混合回路１６０６は、実施の形態１の画素混合回路１０６と同様に、混合比演算回路１６０５が生成した混合比に基づいて、出力画像を生成するが、この際に、奥行き合成回路１６０４ｃから入力されるＣＧ４レベル分の画素値に加え、実写画像処理部１６０９から入力される実写画像１レベル分の画素値をも用いて混合処理を行い、出力画像の画素値を生成するものである。
【０１５０】
本実施の形態４による画像合成装置の動作は、実写画像処理部１６０９の動作と、上記のような混合比演算回路１６０５、および画素混合回路１６０６の動作とを除いて、図２〜図１３を用いて説明した、実施の形態１の画像生成装置と同様のものとなる。
【０１５１】
従って、本実施の形態２の画像合成装置によれば、形状データ分離手段１６０１、形状データバッファ１６０２ａ〜１６０２ｃ、画像生成部１６０３ａ〜１６０３ｃ、奥行き合成回路１６０４ａ〜１６０４ｃ、混合比演算回路１６０５、画素混合回路１６０６、画像表示装置１６０７、同期信号発生器１６０８、および実写画像処理部１６０９を備えたことで、実施の形態１の画像生成装置と同様に、アンチエリアシング処理を半透明処理とを含むＣＧ画像生成を行い、実施の形態３の画像合成装置と同様に、ＣＧ画像４レベル分と実写画像１レベル分との画像合成を行うので、バッファとして必要なメモリ量を抑制しつつ、画質の良好なＣＧ画像を生成することが可能であり、実施の形態１の画像生成装置に若干の拡張を加えるのみで、実写画像との合成においても画質の向上を図ることが可能となる。
【０１５２】
なお、本実施の形態４では、実施の形態１の画像生成装置に対して、実写画像処理部１６０９を追加する構成としているが、実施の形態２の画像生成装置に対して実写画像処理部を追加する構成とすることも可能であり、実施の形態２と同様にインターレース方式に対応したものとなる。
【０１５３】
また、実施の形態３、および本実施の形態４においても、実施の形態１、および２と同様に、ＣＧ生成におけるレベル数を４としているが、これに限定されるものでなく、コストの許容する範囲内でレベル数を増加することにより画質の向上を図り得るものである。
【０１５４】
また、実施の形態３、および本実施の形態４においても、実施の形態１、および２と同様に、専用の回路を用いる専用装置として説明しているものであるが、実施の形態３、および４に示した処理を実行する画像合成プログラムをプログラム記録媒体に記録しておき、当該プログラムを汎用コンピュータシステム等において実行することで、実施の形態３、および４に示した画像生成装置を実現することが可能である。プログラム記録媒体としては、実施の形態１、および２で示したのと同様の媒体が使用可能である。
【０１５５】
そして、図１５に示す実施の形態３、および図１６に示す実施の形態４の画像合成装置としては、ＣＰＵやＤＳＰの制御に従って、画像合成プログラムを実行することで、画像生成部、実写画像処理部、奥行きソート部、混合比演算部、画像合成部（以上、実施の形態３）や、形状データ分離手段、画像生成部、奥行き合成回路、混合比演算回路、画素混合回路（以上、実施の形態４）を実現し、クロック発生装置、およびクロック同期装置により同期信号発生器を実現し、主記憶や補助記憶（記憶装置）により形状データバッファや、画像生成部内のバッファ、奥行き合成回路内の２ポートメモリを実現し、モニタ、ディスプレイ等により画像表示装置を実現することができる。さらに、モニタ等において表示をする代替に、生成した画像を記憶装置等において記録し、当該コンピュータシステム等を編集装置として用いることも可能であり、生成した画像をネットワークシステム等において伝送し、ネットワークコンピュータ等において表示・編集するものとすることも可能である。
【０１５６】
【発明の効果】
本発明の請求項１の画像生成装置によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備えるので、上記ポリゴン識別手段の識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために必要なバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【０１５７】
請求項２の画像生成装置によれば、請求項１の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものとしたことで、柔軟な隠面処理を伴う画像生成を行うことが可能となる。
【０１５８】
請求項３の画像生成装置によれば、請求項１の装置において、上記一時保持手段は、複数の領域を有するものであり、上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたものとしたことで、バッファを効率的に活用することが可能となる。
【０１５９】
請求項４の画像生成装置によれば、請求項１の装置において、上記画像データ演算手段は、上記形状データの単位である表示画素の１個を、縦Ｍ列、横Ｍ行（Ｍ≧２）のサブピクセルに分割し、上記分割により生成した合計Ｍ×Ｍ個のサブピクセルのうち、Ｍ個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものとしたことで、処理負担を軽減し、処理に必要なバッファ容量を低減することが可能となる。
【０１６０】
請求項５の画像生成装置によれば、請求項４の装置において、上記画像データ演算手段は、上記サンプリングするＭ個のサブピクセルを、１画素内における同一の縦の列、及び横の行で重ならないように選択するものとしたことで、適切なサンプリングをすることが可能となる。
【０１６１】
請求項６の画像生成装置によれば、請求項５の装置において、上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものとしたことで、適切なサンプリングを効率的に実行することが可能となる。
【０１６２】
請求項７の画像生成装置によれば、請求項２の装置において、上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれＬ個備え、上記Ｌ個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送するものとしたことで、処理負担の大きな演算処理をポリゴン群ごとに並行処理が可能なものとし、処理の高速化を図ることが可能となる。
【０１６３】
請求項８の画像生成装置によれば、請求項７の装置において、上記Ｌ個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものとしたことで、後段の奥行き合成手段における処理の迅速化を図ることが可能となる。
【０１６４】
請求項９の画像生成方法によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含むものとしたことで、上記ポリゴン識別ステップでの識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために必要なバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【０１６５】
請求項１０の画像生成プログラム記録媒体によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録するものとしたことで、当該プログラムをコンピュータシステム等において実行することで、上記ポリゴン識別ステップでの識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために、コンピュータシステムが備えるべきバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【０１６６】
請求項１１の画像合成装置によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、上記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備えるものとしたことで、実写画像をもＣＧ画像と同様に扱うので、従来のＣＧ装置に若干の拡張を行うことで、合成画像の画質を向上することが可能となる。
【０１６７】
請求項１２の画像合成装置によれば、請求項１１の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものとしたことで、柔軟な隠面処理を伴う画像合成を行うことが可能となる。
【０１６８】
請求項１３の画像合成方法によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含むものとしたことで、実写画像をもＣＧ画像と同様に扱うので、合成画像の画質を向上することが可能となる。
【０１６９】
請求項１４の画像合成プログラム記録媒体によれば、３次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて３次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録するものとしたことで、当該プログラムをコンピュータシステム等において実行することで、実写画像をもＣＧ画像と同様に扱って画像合成をするので、合成画像の画質を向上することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１による画像合成装置の構成を示すブロック図である。
【図２】同実施の形態の画像合成装置が備える画像生成部の内部構成を示すブロック図である。
【図３】同実施の形態の画像合成装置が備える画像生成部内の画素生成回路における、サブピクセルへの分解処理を説明するための図である。
【図４】同実施の形態の画像合成装置が備える画像生成部内の画像データ演算回路における、寄与度生成処理を説明するための図である。
【図５】同実施の形態の画像合成装置が備える画像生成部内の画像データ演算回路が、寄与度生成処理のために用いるルックアップテーブルの一例を示す図である。
【図６】同実施の形態の画像合成装置が備える画像生成部内のＺバッファ制御回路の内部構成を示すブロック図である。
【図７】同実施の形態の画像合成装置が備える画像生成部内のフレームアドレス生成回路の内部構成を示すブロック図である。
【図８】同実施の形態の画像合成装置が備える奥行き合成回路の内部構成を示すブロック図である。
【図９】同実施の形態の画像合成装置が備える奥行き合成回路内のＺソート回路の内部構成を示すブロック図である。
【図１０】同実施の形態の画像合成装置が備える奥行き合成回路内のＺ値比較回路の内部構成を示すブロック図である。
【図１１】同実施の形態の画像合成装置が備える奥行き合成回路内のＺ値比較回路における動作例を示す図である。
【図１２】同実施の形態の画像合成装置が備える混合比演算回路の内部構成を示すブロック図である。
【図１３】同実施の形態の画像合成装置が備える画素混合回路の内部構成を示すブロック図である。
【図１４】本発明の実施の形態２の画像合成装置が備える画像生成部内の画像データ演算回路における、寄与度生成処理を説明するための図である。
【図１５】本発明の実施の形態３による画像合成装置の構成を示すブロック図である。
【図１６】本発明の実施の形態４による画像合成装置の構成を示すブロック図である。
【図１７】従来の技術による画像生成装置の構成を示すブロック図である。
【図１８】アンチエリアシング処理を説明するための図である。
【図１９】アンチエリアシング処理におけるサブピクセルへの分割処理を説明するための図である。
【図２０】複数のバッファを用いる処理を説明するための図である。
【図２１】従来の技術による画像合成装置の構成を示すブロック図である。
【符号の説明】
１０１，１６０１              形状データ分割手段
１０２，１６０２（ａ〜ｃ）    形状データバッファ
１０３，１６０３（ａ〜ｃ）    画像生成部
１０４，１６０４（ａ〜ｃ）    奥行き合成回路
１０５，１６０５              混合比演算回路
１０６，１６０６              画素混合回路
１０７，１６０７              画像表示装置
１０８，１６０８              同期信号発生器
１０３１                      幾何変換部
１０３２                      画素生成回路
１０３３                      ポリゴン識別回路
１０３４                      画像データ演算回路
１０３５                      Ｚバッファ制御回路
１０３６                      ダブルバッファ制御回路
１０３７ａ，１０３７ｂ        バッファ群
１０３８                      フレームアドレス生成回路
６９０                        Ｚ値レジスタ
６９１                        タイミング制御回路
６９２，６９３                比較回路
６９４                        書き込みアドレス生成回路
１０３８１，１０３８２        カウンタ
１０４１                      Ｚソート回路
１０４２                      Ｚ値比較回路
１０４３                      タイミング制御回路
１０４１１，１０４１２，１０４１３    Ｚ値レジスタ
１０４１４，１０４１５，１０４１６    比較回路
１０４１７                    アドレス生成回路
１０４１８                    ２ポートメモリ
１０４２１                    ＦＩＦＯメモリ
１０４２２                    制御回路
１０４２３                    比較器
１０４２４                    セレクタ
１０５１                      加算器
１０５２                      アルファレジスタ
１０５３                      インバータ
１０５４                      セレクタ
１０５５                      ＡＮＤゲート
１０５６                      制御回路
１０６１（ｒ，ｇ，ｂ）        乗算器
１０６２（ｒ，ｇ，ｂ）        加算器
１０６３（ｒ，ｇ，ｂ）        積算レジスタ
１０６４（ｒ，ｇ，ｂ）        出力レジスタ
１０６５                      制御回路
１５０１                      画像生成部
１５０２，１６０９            実写画像処理部
１５０３                      奥行きソート部
１５０４                      混合比演算部
１５０５                      画像合成部
１５０６                      画像表示部
１７０１                      形状データバッファ
１７０２                      画素生成部
１７０３                      Ｚバッファ
１７０４                      フレームバッファ
１７０５                      画像表示装置
２１０１                      画像生成部
２１０２                      奥行き合成部
２１０３                      画素混合部
２１０４                      合成キー処理部
２１０５                      画像合成部
２１０６                      画像表示部
【図１】
0004148377.tif 000002
【図２】
0004148377.tif 000003
【図３】
0004148377.tif 000004
【図４】
0004148377.tif 000005
【図５】
0004148377.tif 000006
【図６】
0004148377.tif 000007
【図７】
0004148377.tif 000008
【図８】
0004148377.tif 000009
【図９】
0004148377.tif 000010
【図１０】
0004148377.tif 000011
【図１１】
0004148377.tif 000012
【図１２】
0004148377.tif 000013
【図１３】
0004148377.tif 000014
【図１４】
0004148377.tif 000015
【図１５】
0004148377.tif 000016
【図１６】
0004148377.tif 000017
【図１７】
0004148377.tif 000018
【図１８】
0004148377.tif 000019
【図１９】
0004148377.tif 000020
【図２０】
0004148377.tif 000021
【図２１】
0004148377.tif 000022