JP4148377B2 - 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体 - Google Patents

画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体 Download PDF

Info

Publication number
JP4148377B2
JP4148377B2 JP30589198A JP30589198A JP4148377B2 JP 4148377 B2 JP4148377 B2 JP 4148377B2 JP 30589198 A JP30589198 A JP 30589198A JP 30589198 A JP30589198 A JP 30589198A JP 4148377 B2 JP4148377 B2 JP 4148377B2
Authority
JP
Japan
Prior art keywords
image
polygon
pixel
contribution
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP30589198A
Other languages
English (en)
Other versions
JPH11283047A (ja
Inventor
満輝 喜田
忠司 小林
明夫 西村
美乃夫 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP30589198A priority Critical patent/JP4148377B2/ja
Publication of JPH11283047A publication Critical patent/JPH11283047A/ja
Application granted granted Critical
Publication of JP4148377B2 publication Critical patent/JP4148377B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体に関し、特に3次元形状を表現する座標値からなる形状データに基づいて画像を生成する画像生成装置、画像生成方法、および画像生成プログラム記録媒体と、上記生成された画像と、実写画像とを合成する画像合成装置、画像合成方法、および画像合成プログラム記録媒体とに関する。
【0002】
【従来の技術】
近年、3次元座標で表現された物体の形状データに基づいて、任意の位置からこれを見たときの3次元的な画像を生成する3次元コンピュータグラフィックス技術は、商品設計や物理的事象のシミュレーション等の各種の分野において重要な技術であり、さらに3次元コンピュータグラフィックス技術により生成された画像を、実写画像と合成する技術は、特にテレビ放送や映画等の映像制作の分野において、非常に有効な技術となっている。これらの用途に用いられてきた、従来の技術による画像生成装置、および画像合成装置について以下に説明する。
【0003】
まず、3次元形状データに基づいて画像を生成する画像生成装置について説明する。ここに示す、従来の技術による一般的な画像生成装置は、表示されるべき物体をポリゴン(polygon) と呼ばれる平面多角形(多くの場合には3角形)として扱い、3次元座標として記述した形状データを用いるものである。
【0004】
図17は、従来の技術による画像生成装置の構成を示すブロック図である。図示するように、この画像生成装置は、形状データバッファ1701、画素生成部1702、Zバッファ1703、フレームバッファ1704、および画像表示装置1705を備えたものである。
形状データバッファ1701は、当該画像生成装置に入力される形状データを保持する。前述のように形状データは、ポリゴンを表現する3次元座標データとして記述されたものである。画素生成部1702は、形状データバッファ1701に保持されたポリゴンごとの形状データを順に読み出し、読み出したデータを表示単位である表示画素ごとに分割し、表示画素ごとの表示色を画素値(R,G,B値)として求める。また、画素生成部1702は、視点位置を考慮した計算式を用いられる演算処理により、各ポリゴンごとの、表示画面における位置と、視線方向における奥行きとして示す奥行き値(Z値)を求める。
【0005】
ここで、画素の生成にあたり画素値を決定するアルゴリズムとしては、同一のポリゴンに属するすべての画素が同じ値を有するものとするフラット・シェーディング(flat shading)や、光源等の周囲の環境属性を考慮した計算式を用いて、同一ポリゴンに属する各画素ごとの画素値を算出するスムース・シェーディング(smooth shading)があり、フラット・シェーディングは単純なアルゴリズムであり処理負担が小さなものとはなるが、滑らかで微妙な陰影を有する表示を得ることは困難なので、写実的で高画質な画像を得るためにはスムース・シェーディングによることが一般的に行われる。このような処理については、「Computer Graphics PRINCIPLES AND PRACTICES、Foley, van Dam, Feiner,Hughes 著、ADDISON-WESLEY PUBLISHING COMPANY 、(1990)」等に詳しく記されている。
【0006】
画素生成部1702は、汎用プロセッサを用いてソフトウエアで実現することもできるが、専用のハードウエアを構成して実現することも可能である。さらに、近年では専用ハードウエアを1個のICで実現することが多い。この場合は、後述するフレームバッファ1704から読み出し制御や、D/A変換機能をも合わせて1個のICとする場合もある。
【0007】
図17に示すZバッファ1703、およびフレームバッファ1704は、それぞれ奥行き値(Z値)と、画素値(R,G,B値)とを保持する。この装置におけるZバッファ1703は表示画素数分のZ値を、フレームバッファ1704は表示画素数分のR,G,B値を保持するものである。
【0008】
表示物体をポリゴンとして扱うコンピュータグラフィックス処理においては、ある視点から見た場合に見えなくなる部分、あるいは見えなくなる物体を表示させないように処理する隠面(hidden-surface)処理により写実性を高めることが行われる。この画像生成装置においては、Zバッファ法という隠面処理方法を用いるものである。この装置のようにポリゴンごとにZバッファ法による処理を行う場合は、先に処理したポリゴンのZ値をZバッファにおいて保持し、処理対象となるポリゴンのZ値と比較することにより、処理対象のポリゴンが手前にある(表示すべきである)か否かを判断して、当該ポリゴンを表示するか否かを決定する。図17に示す画像装置においては、画素生成部1702が生成したポリゴンのZ値を、Zバッファ1703が保持する対応する画素のZ値と比較し、ポリゴンのZ値が小さい場合には、処理対象であるポリゴンのZ値をもってZバッファの保持する値を書き換え、Zバッファ1703において書き換えが発生した場合に、フレームバッファ1704の保持する値をポリゴンの画素値をもって書き換える。Z値が小さいことは、奥行きが浅いことを示すものであるので、上記のように処理することで、ある視点から見えるべきポリゴンを表示し、見えないポリゴンを表示せず削除することができる。
【0009】
なお、隠面処理の方法としては、Zバッファ法以外のアルゴリズムも用いられる。他の方法としては、例えば従来より使用されているものとしてデプスソート法がある。デプスソート法では、全てのポリゴンを奥行き順に並べ替えた後に、奥行き順に従って(近い順、又は遠い順となる)ポリゴンの画素値をフレームバッファに書き込むものであって、奥行き値を保持するバッファ(Zバッファ)として用いる記憶装置を必要としない点が利点となる。しかし、奥行き順に並べ替えを行う処理量については、ポリゴン数nに対するオーダーが、nの2乗、またはn×lognとなるので、ポリゴン数が多くなると処理量が大きく増大するものとなる。従って、多数のポリゴンを扱う場合には、デプスソート法よりもZバッファ法の方が適したものとなる。また、このような処理について、並列処理を行うことによって高速化を図る場合には、ポリゴン単位での独立した処理を並行的に実行し得るZバッファ法の方が、その効果が大きなものとなる。
【0010】
画像表示装置1705は、一般的には陰極線管(CRT:cathode ray tube)モニタであり、当該画像生成装置が生成した画像を表示する。また、当該画像生成装置の用途によっては、画像表示装置1705としてのモニタ等の代替に、ビデオ編集機器等を備えるものとすることも可能である。
【0011】
このように構成された画像生成装置に、3次元座標として形状データが入力されると、形状データはまず形状データバッファ1701において保持される。画素生成部1702は、形状データバッファ1701からポリゴンごとの形状データを読み出し、前述のように画素値と奥行き値とを生成する。画素生成部1702は、生成したZ値を、Zバッファ1703が保持する、先に処理されたポリゴンに属する、対応する画素のZ値と比較し、生成したZ値の方が小さい場合には、Zバッファ1703の書き換えを行う。そして、Zバッファ1703の書き換えを行った場合には、生成した画素値(R,G,B値)をフレームバッファ1704に出力し、フレームバッファ1704の書き換えを行う。
フレームバッファ1704に保持された画素値は、画素順に読み出されて画像表示装置1705において表示される。なお、画素値はD/A変換処理を施された後に画像表示装置1705に出力されるものとしても良い。
【0012】
次に、3次元コンピュータグラフィックス技術により生成された画像を、実写画像と合成する、従来の技術による画像合成装置について説明する。
図21は、従来の技術による一般的な画像合成装置の構成を示す図である。図示するように、この画像合成装置は、画像生成部2101、奥行き合成部2102、画素混合部2103、合成キー処理部2104、画像合成部2105、および画像表示部2106を備えており、このうち画像生成部2101、奥行き合成部2102、および画素混合部2103はCG生成部2110を構成するものとなっている。
【0013】
CG生成部2110は、ポリゴンを表現する3次元座標データとして記述された形状データを入力し、コンピュータグラフィックス処理によってCG画像を生成する。ここでは、CG生成部2110は、従来の技術による画像生成装置についての説明で示したように、複数のバッファを備えて、アンチエリアシング処理や半透明処理を行い得るものであるとする。
【0014】
なお、この例においては、CG生成部2110が、画像生成部、奥行き合成部、および画素混合部を備えて、アンチエリアシング処理等を行うものとしているが、このように構成する場合には、前述のようにメモリ容量を多く必要とすることとなるので、図17に示した従来の技術による画像生成装置と同様に、形状データバッファ、画素生成部、Zバッファ、およびフレームバッファを備えるものとして、アンチエリアシング処理等を行わないものとすることも可能である。
【0015】
画像生成部2101は、入力した形状データを順次処理して、視点位置を考慮した画素ごとの画素値(R,G,B値)と、奥行き値(Z値)とを生成する。ここでは前述のように、アンチエリアシング処理や、半透明処理を行うので、アンチエリアシング処理を行う場合にはサブピクセルへの分割と、混合比率の演算を行い、半透明処理を行う場合には透過度を用いることとなる。
【0016】
奥行き合成部2102は、前述のZバッファ法により隠面処理を行う。ここでは、アンチエリアシング処理や半透明処理を行うので、Zバッファとフレームバッファ、そして必要に応じて混合比率バッファや透過度バッファを複数備え、図20を用いて説明したのと同様の処理を行う。すなわち、各4個のバッファを備え、半透明処理をする場合には、図20の例のような処理となる。又、透過度バッファの代替に混合比率バッファを備えるものとすれば、図20の例と同様にしてアンチエリアシング処理を行うことができる。
【0017】
画素混合部2103は、透過度、又は混合比率に従って、画素値中のR,G,B値を用いた混合処理を行って、表示すべき画素の画素値を生成し、これをフレームバッファで保持する。また、生成した画像のZ値としては、Zバッファに保持された最小のZ値を取り出して、これを画像合成部2105に出力する。
【0018】
以上の処理により、CG生成部2110が生成したCG画像と、実写画像との合成については、クロマキー(chroma-key)の手法が用いられる。これは、色相の差を利用して、クロマキー信号、すなわち抜き取り信号を生成し、他の画面をその部分にはめ込むことで合成処理を行うものである。例えば特定の物体(人や車など)をクロマキーブルーという特定の色をバックにして撮影し、得られた画像から所定の処理によってクロマキーブルーの部分を抜き取り、残った特定の物体を背景画面に重ねるような合成処理を行うことが可能である。
【0019】
合成キー処理部2104は、実写画像を入力し、所定の処理を行ってクロマキー信号と、実写画像情報とを生成する。実写画像情報は、実写画像の画素値(R、G、B値)からなるものである。クロマキー信号と、実写画像情報とは、画像合成部2105に出力される。また、実写画像の奥行き値(Z値)は、別途画像合成部2105に入力される。この実写画像のZ値は、実写画像とCG画像とのいずれを手前にして合成するかを指定するものとなる。
【0020】
画像合成部2105は、まず、画素混合部2103から入力されたCG画像のZ値と、入力された実写画像のZ値とを比較する。そして、実写画像のZ値が小さい場合には、フレームバッファに保持する画素値に代えて、実写画像情報に含まれる画素値が保持されるようにする。これにより、実写画像の方が奥行き値が小さい、つまり手前にある場合に、実写画像をCG画像に重ねて表示することを可能とする。この後、フレームバッファに保持された画素値が読み出されて、D/A変換処理され、画像表示部2106において表示される。
【0021】
【発明が解決しようとする課題】
上記のように、従来の技術による画像生成装置は、Zバッファ1703を備え、Zバッファ法に従った隠面処理を行うことで、3次元的に表示され得る画像を生成することができる。
しかし、一般に、Zバッファ法については、奥行き値をもって単純に決定するアルゴリズムの性質上、アンチエリアシング(anti aliasing) 処理が困難であること、また、透明な物体の表現が行い難いことが欠点であるとされている。従って、Zバッファ法を用いる従来の技術による画像生成装置については、以下に述べる「1.アンチエリアシング処理に伴う問題点」と、「2.半透明物体の扱いについての問題点」という二つの問題点が存在していた。
【0022】
1.アンチエリアシング処理に伴う問題点
上記のような構成を有する従来の技術による画像生成装置において、コンピュータグラフィックス画像を生成すると、すべての表示画素はある特定のポリゴンを表示している、すなわち特定のポリゴンに属するものとなる。従って、ポリゴン同士の境界領域においては、あるポリゴンに属する画素と、その画素に隣接する、他のポリゴンに属する画素とが、大きく異なる画素値を有するものとなることが生じる。例えば通常のテレビ画面程度の解像度(resolution)において、生成した画像の表示が行われるとするならば、1個の画素はその画像を見る人が十分認識できる程度の大きさを有するものとなる。従って、隣接する画素が大きく異なる画素値を有する場合には、ポリゴンの境界で大きく輝度が変化し、この部分が目立ってしまう。従って、斜線や曲線を表現する場合に、その境界部においてはジャギー(jaggy) と呼ばれるギザギザが生じるものとなるので、境界部が滑らかな表示が行い得ない得ず、画質が低下することとなる。
【0023】
図18は、かかる現象と、その対応策であるアンチエリアシング処理とを説明するための図である。ジャギーが生じて表示が損なわれる場合の例を、図18a)上に示す。上部の白いポリゴンと下部の黒いポリゴンの境界には、 はっきりとした段差が見られる。これを避けるには同図b)のように、ポリゴンの境界部分で上下のポリゴンの色を混合すればよい。そのときの混合比は各ポリゴンが各画素に占める面積に比例させるようにする。このような処理がアンチエリアシング処理と呼ばれる画質向上のための処理である。
【0024】
図19はアンチエリアシング処理を説明するための図である。アンチエリアシング処理に用いる混合比を求めるためには、表示画素をさらに分割した「サブピクセル」と呼ぶ単位を導入し、サブピクセルごとにポリゴンを検出する。図19において、1画素を4×4の16個のサブピクセルに分割した例を示す。斜線領域のサブピクセルとそれ以外の領域のサブピクセルには異なったポリゴンが存在する。混合比は1画素に占めるサブピクセルの数の比とすればよい。例えば、図の右下の画素(16サブピクセル)では、斜線領域のポリゴン(9サブピクセル)の混合比は16分の9と算出できる。
【0025】
以上のような方法では1画素をより多くのサブピクセルに分割するほど、算出する混合比はポリゴンの占める面積の比に近くなる。Zバッファによる隠面処理法において、サブピクセル分割を伴ってアンチエリアシング処理を実行することには、アルゴリズム上の問題はない。しかしながら、このようにしてアンチエリアシング処理を行うには、表示画面上のすべてのサブピクセル分のZバッファとフレームバッファが必要となり、多大なメモリ容量が要求されるものとなる。
【0026】
例えば、Z値を24ビットとし、R,G,B値を各8ビットとし、表示画面の大きさを、1024×512画素としてZバッファとフレームバッファを構成すると、バッファ容量は各1.5メガ(M)バイト、つまり合計3Mバイトのメモリ容量が必要である。これに対して同じ条件で図3のように、1画素を16個のサブピクセルに分割すると、その16倍の48Mバイト(3M×16)のメモリ容量が必要となる。
メモリ容量の増大は、コスト増大につながるので、従来の技術による画像生成装置においては、滑らかな表示を行い得る画像の生成と、コスト低減との両立を図りがたい点が問題となっていた。
【0027】
2.半透明物体の扱いについての問題点
コンピュータグラフィックスによる画像生成において、色ガラスのような半透明体を表現する用途は数多くある。このような対象を扱う場合には、形状データ中に透過度と呼ぶパラメータを設定し、ポリゴンごとに透過度の値を付与することで表現が可能となる。透過度としては、例えば、0〜255の数値を付与するものとして表現することができ、このような扱いをする場合には、値「255」は不透明、値「0」は完全に透明(つまり見えない)、中間値の場合はその値にしたがって透明度が可変的になるものとして設定がなされる。
【0028】
表示画面におけるある画素について、当該画素を含むこととなる複数のポリゴンのうち、最もZ値の小さいポリゴンが半透明(透過度が255ではない)である場合は、当該画素の表示色は、当該ポリゴンの表示色と2番目にZ値の小さいポリゴンの表示色を透過度に従って混合したものとなる。また、ここで2番目にZ値の小さいポリゴンが半透明な場合はさらに3番目のポリゴンの表示色も混合しなければならない。
【0029】
しかし、Zバッファによる隠面処理を行う場合は、視点から最も近い、すなわち奥行きが浅い座標を選択することとなっているため、フレームバッファには最もZ値の小さいポリゴンの表示色しか保持されない。従って、上述のように複数のポリゴンを対象として混合処理を実現することは、図17に示す単一のフレームバッファとZバッファとを備えた構成においては不可能である。
【0030】
Zバッファ法による隠面処理を行い、かつ、半透明物体を表現する混合処理を実現するには、透過度を持ったポリゴンが重なる場合を考慮して、複数のフレームバッファとZバッファを持つこととするならば実現は可能となる。
【0031】
図20は、複数のバッファを用いる処理を説明するための模式図である。図20に示す例では、フレームバッファ、およびZバッファのそれぞれに4個のバッファを有するものとして構成した場合を示している。このようなバッファの構成とすることで、Zバッファ2011には最も小さいZ値、Zバッファ2012には2番目に小さいZ値、Zバッファ2013には3番目に小さいZ値、そしてZバッファ2014には4番目に小さいZ値が保持される。一方、フレームバッファ2021〜2024には上記Zバッファ2011〜2014に対応するR,G,B値が保持される。さらに、各画素ごとに前記混合処理を実行するために、各画素ごとの透過度を保持する透過度バッファ2031〜2034が用いられる。
【0032】
図20のようなバッファ構成をとるものとすれば、透過度に対応した処理は可能となるが、このような構成を実現するためには、フレームバッファとZバッファの数に比例して必要となるメモリ容量の倍増度は増大することになる。
【0033】
さらに、従来の技術による画像生成装置では、第1の問題点に関するアンチエリアシング処理と、第2の問題点に関する半透明物体の表現とを、同時に実現するためには、必要なメモリ容量は両者で増大する分の積となり、ますますコスト増大を招くこととなる。ここに示した例では、表示画素分のメモリ容量3Mバイトの64倍(=16倍×4倍)である192Mバイトものメモリを必要とすることになる。
このように、良好な画像表示とコスト低減とを両立しがたい場合があることが、従来の技術による画像生成装置における問題点となっていた。
【0034】
また、上記のように、従来の技術による画像合成装置においては、CG生成部2110の処理によるCG画像については、アンチエリアシング処理を行ってジャギーを目立たなくすることや、半透明処理を行うことが可能である。しかし、このような処理を行ってCG画像を生成し、その後に当該CG画像と実写画像とを合成するものであるので、以下のような問題点を生ずることとなる。
【0035】
まず、実写画像や合成画像についてアンチエリアシング処理を行い得ないものとなるので、場合によっては画質が損なわれる点が問題となっていた。すなわち、CG画像の背後に実写画像を合成するような場合には、その境界で実写画像がCG画像ににじみ出ているように見えるものとなり、画質が低下するものであった。
【0036】
次に、柔軟な合成処理を行い得ない点が問題となっていた。例えば、CG処理において半透明処理を行い、不透明物体の手前に半透明物体があるようなCG画像が得られたとする。これに対して実写画像を合成する際には、CG画像(不透明物体+半透明物体)の背後になるよう合成するか、手前になるよう合成するかしか行い得ず、実写画像を不透明物体と半透明物体間に合成するようなことはできなかった。すなわち、CG生成においては、バッファの数だけのレベル数(図20の例では4レベル)の前後関係を扱い得る柔軟な処理が可能であるのに対して、CG画像と実写画像との合成処理においてはかかる柔軟な処理が行い得ないものとなっていた。
【0037】
このような柔軟な合成処理を行うために、画像合成装置が、図21に示すCG生成部2110を複数備える構成をとるものとすれば、CG画像と実写画像との合成においても、CG生成部の個数だけ扱い得るレベルを増加させることは可能ではある。すなわち、一方のCG生成部が出力するCG画像を実写画像の背景とし、他方のCG生成部が出力するCG画像を実写画像の手前に重ねるような合成が可能となる。しかし、前述のようにCG生成部2120は、従来の技術による画像生成装置の主要部分に相当するものであり、これを複数備える構成とすることは、装置コストを大きく増大させることとなる。特に、アンチエリアシング処理や半透明処理を行う場合には、前述のようにバッファを複数有するため、必要なメモリ量が大きいものとなるため、このようなCG合成部を複数備える画像合成装置の構成は現実的なものとは言えない。
【0038】
以上に述べてきたように、従来の技術による画像生成装置においては、アンチエリアシングや半透明処理を行って画質の向上を図るならば、必要なバッファの容量が増大するため、装置コストが向上することが問題となっていた。
また、従来の技術による画像合成装置においては、CG画像と実写画像との合成を行うに際して、アンチエリアシングや半透明処理を応用できず、画質の向上を図ることや柔軟な画像処理を行うことができない点が問題となっていた。
【0039】
本発明は、かかる事情に鑑みてなされたものであり、装置コストを大きく上昇させることなく、アンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像生成装置を提供することを目的とする。
【0040】
また、本発明は、コスト増加を抑制しつつ画質の向上を図ることが可能な画像生成方法を提供することを目的とする。
【0041】
また、本発明は、汎用コンピュータシステム等において実行することにより、低廉なシステムにおいても、画質の良好な画像を生成することが可能な画像生成プログラムを記録したプログラム記録媒体を提供することを目的とする。
【0042】
また、本発明は、CG画像と実写画像との合成において、装置コストを大きく上昇させることなく、アンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像合成装置を提供することを目的とする。
【0043】
また、本発明は、コスト増加を抑制しつつ、CG画像と実写画像との合成においてアンチエリアシング処理や半透明処理を実行し、良好な画質の画像を得ることができる画像合成方法を提供することを目的とする。
【0044】
また、本発明は、汎用コンピュータシステム等において実行することにより、低廉なシステムにおいても、画質の良好な画像を生成することが可能な画像合成プログラムを記録したプログラム記録媒体を提供することを目的とする。
【0045】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項1にかかる画像生成装置は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備えものである。
【0046】
また、請求項2にかかる画像生成装置は、請求項1の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものである。
【0047】
また、請求項3にかかる画像生成装置は、請求項1の装置において、上記一時保持手段は、複数の領域を有するものであり、上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたものである。
【0048】
また、請求項4にかかる画像生成装置は、請求項1の装置において、上記画像データ演算手段は、上記形状データの単位である表示画素の1個を、縦M列、横M行(M≧2)のサブピクセルに分割し、上記分割により生成した合計M×M個のサブピクセルのうち、M個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものである。
【0049】
また、請求項5にかかる画像生成装置は、請求項4の装置において、上記画像データ演算手段は、上記サンプリングするM個のサブピクセルを、1画素内における同一の縦の列、及び横の行で重ならないように選択するものである。
【0050】
また、請求項6にかかる画像生成装置は、請求項5の装置において、上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものである。
【0051】
また、請求項7にかかる画像生成装置は、請求項2の装置において、上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれL個備え、上記L個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送するものである。
【0052】
また、請求項8にかかる画像生成装置は、請求項7の装置において、上記L個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものである。
【0053】
また、請求項9にかかる画像生成方法は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含むものである。
【0054】
また、請求項10にかかる画像生成プログラム記録媒体は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録するものである。
【0055】
また、請求項11にかかる画像合成装置は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、上記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備えものである。
【0056】
また、請求項12にかかる画像合成装置は、請求項11の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものである。
【0057】
また、請求項13にかかる画像合成方法は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含むものである。
【0058】
また、請求項14にかかる画像合成プログラム記録媒体は、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録するものである。
【0059】
【発明の実施の形態】
実施の形態1.
本発明の実施の形態1による画像生成装置は、ポリゴンデータを3分割し、それぞれを独立に並列処理するものであり、ポリゴンが不透明である場合にのみアンチエリアシング処理を行うものである。以下に本実施の形態1による画像生成装置の構成、及び動作を図面を参照しながら説明する。
図1は本実施の形態1における画像生成装置の全体構成を示す図である。図示するように、本実施の形態1による画像生成装置は、形状データ分割手段101、形状データバッファ102a〜102c、画像生成部103a〜103c、奥行き合成回路104a〜104c、混合比演算回路105、画素混合回路106、画像表示装置107、および同期信号発生器108を備えたものであり、従来の技術による画像生成装置と同様に、表示されるべき物体をポリゴンとして扱い、3次元座標として記述した形状データを用いるものである。
【0060】
形状データ分割手段101は、形状データである全てのポリゴンのデータを、ポリゴン単位で3分割して3個の部分形状データを生成し、それらを3個の形状データバッファ102a、102b、および102cにそれぞれ出力する。形状データバッファ102a、102b、および102cは、入力された部分形状データを保持す
【0061】
画像生成部103a、103b、103cは、それぞれが接続された形状データバッファ102a,102b,102cからそれぞれが保持する部分形状データに含まれる各ポリゴンデータを読み出し、これらを処理することによって、各画素ごとのZ値とR,G,B値を求めるとともに、各ポリゴンが画素において占める割合である寄与度を求める。この寄与度は、本実施の形態1において、不透明なポリゴンに対してのみアンチエリアシング処理に用いられ、他のポリゴンには半透明処理のための透過度として用いられるものとなる。また、本実施の形態1では、画像生成部103a、103b、および103cのそれぞれにおける処理は独立して実行されるものである。
また、画像生成部103a、103b、103cはその内部に、Zバッファ、フレームバッファ、及び寄与度バッファをそれぞれ備え、各バッファは1画素あたり4個ずつのZ値、R,G,B値、及び寄与度を保持することができる。したがって、最も奥行き値の小さいポリゴンから順に4個のポリゴンのZ値、R,G,B値、及び寄与度を保持することになる。
【0062】
奥行き合成回路104a、104b、104cは互いに線形に接続され、前段(104a、104b、104cの順)の奥行き合成回路から入力されたZ値と、当該奥行き合成回路が接続されている画像生成部から入力されたZ値とを比較し、その比較結果に従ってZ値、画素値(R,G,B値)、及び寄与度を選択して出力する。それぞれの入力ポートには1画素ごとに4組のZ値、画素値、及び寄与度が入力されるので、合計8組の値が入力され、その中から奥行きの小さい4組を選択することになる。ただし、最前段となる奥行き合成回路104aについては、画像生成部103aが出力したZ値、画素値、及び寄与度のみが入力されるものとなり、これをそのまま後段の奥行き合成回路104bに出力する。本実施の形態1においては、奥行き合成回路104a〜104cが奥行き合成手段を実現するものである。
【0063】
混合比演算回路105は、最後段の奥行き合成回路104cに接続され、寄与度とZ値から4組の画素値(R,G,B値)の混合比を算出し、該算出した混合比を後述する画素混合回路106に出力する。この混合比は、本実施の形態1において、不透明なポリゴンに対してはアンチエリアシング処理のためのものとなり、他のポリゴンに対しては半透明処理のためのものとなる。画素混合回路106は、最後段の奥行き合成回路104cと混合比演算回路105とに接続され、奥行き合成回路104cから入力するR,G,B値を、混合比演算回路105から入力する混合比に従って混合し、表示画素単位の画素値(R,G,B値)を得る。画像表示装置107は、画素混合回路106において得られた値を用いて、生成した画像を表示する。ここでは、画像表示装置107に表示される画像は横(X方向)は1024画素で、縦(Y方向)は512画素の大きさとする。本実施の形態1では、混合比演算回路105と画素混合回路106とによって画像合成手段を実現するものとなっている。
【0064】
同期信号発生器108は外部同期信号が入力された場合はこれに同期して、入力されない場合は独自のタイミングで同期信号を発生する。同期信号は奥行き合成回路104a,104b,104cを順に通過する。奥行き合成回路104a,104b,104c内では、入力された同期信号に従って処理をすることにより、表示画像上の同一の画素に対して奥行き合成処理が実行されるように調整する。
【0065】
また、後述するように各奥行き合成回路において、同期信号に基づくタイミング制御信号が生成され、このタイミング制御信号は各画像生成部に出力され、画像生成部内で用いられることとなる。
【0066】
図2から図13は、本実施の形態1による画像生成装置を構成する各部の内部構成を示す図、または、作用を説明するための図である。以下に、図1を参照しつつ、図2から図13を用いて、本実施の形態1の画像生成装置における画像生成の際の動作を説明する。
本実施の形態1による画像生成装置に、形状データが入力されると、形状データは形状データ分割手段101によって分割され、部分形状データ(1つ以上のポリゴンデータを含む。)がそれぞれ、形状データバッファ102a、102b、および102cに入力されて保持される。そして、それぞれが保持するポリゴンデータが、画像生成部103a、103b、および103cにより読み出されて処理される。
【0067】
図2は、画像生成部103aの内部構成を示す図である。本実施の形態1では、画像生成部103a〜103cは同一の内部構成を有するものであり、103b、および103cも図2に示す内部構成を有するものである。図示するように、画像生成部103a(103b、および103cも同様)は、幾何変換部1031、画素生成回路1032、ポリゴン識別回路1033、画像データ演算回路1034、Zバッファ制御回路1035、ダブルバッファ制御回路1036、第1、および第2のバッファ群(Zバッファ、フレームバッファ、および寄与度バッファ)1037a、および1037b、フレームアドレス生成回路1038を備えたものである。
【0068】
幾何変換部1031は、形状データバッファから読み出されたポリゴンデータに対して、座標系を変換する幾何変換処理を行う。これによりポリゴンデータは、出力画像上の座標系であるスクリーン座標系に変換される。画素生成回路1032は、変換されたポリゴンデータをサブピクセル単位に分解し、ポリゴンの内部に存在するサブピクセルを抽出し、サブピクセルごとに画素値とZ値とを生成する。ポリゴン識別回路1033は、画素生成回路1032の出力に基づいて、ポリゴンが不透明か半透明かを識別する。画像データ演算回路1034は、ポリゴンのサブピクセルのパターンに基づいて、各画素の寄与度を算出する。
【0069】
Zバッファ制御回路1035は、入力されたスクリーン座標値(X,Y)に対応するZ値を、Zバッファから読み出す。ダブルバッファ制御回路1037は、第1、および第2のバッファ群1037a、および1037bを、Zバッファ制御回路1035により制御される組と、フレームアドレス生成回路1038により制御される組とに振り分ける。
【0070】
第1、および第2のバッファ群1037a、および1037bは、図示するように、ダブルバッファ化されたZバッファ、フレームバッファ、および寄与度バッファであり、バッファへの書き込みと、バッファからの読み出し処理とは、異なるバッファに対して並行的に実行できるようになっている。また、各バッファは各画素ごとに4組の数値を保持できるように表示画素分の4倍の容量を持つものとしている。したがって、それぞれのバッファ群中のZバッファは、24(ビット)×1024(画素)×512(画素)×4(倍)で6Mバイトの容量を持つことになる。同じく、フレームバッファも6Mバイトの容量を有し、寄与度バッファは2Mバイトの容量を有する。バッファのアドレス空間は2Mワード分あり、従ってアドレスのビット幅は21ビットである。21ビットのうちの上位10ビット(ビット20〜12)がY座標、ビット11からビット2までがX座標、最下位の2ビット(ビット1と0)が4組の数値を保持するためのインデックスである。
【0071】
フレームアドレス生成回路1038は、Zバッファ、フレームバッファ、寄与度バッファのアドレスをシリアルに生成する。図1に示す同期信号発生器108が出力する同期信号は、奥行き合成回路104a(104b、104c)に入力され、後述するように、奥行き合成回路104a(104b、104c)においては、同期信号に基づいてタイミング制御信号が生成される。タイミング制御信号は、奥行き合成回路104a(104b、104c)から画像生成部103a(103b、103c)に入力され、画像生成部103a内部において、フレームアドレス生成回路1038に入力される。フレームアドレス生成回路1038におけるアドレス生成処理は、このタイミング制御信号に同期して行われるものとなる。
以上の構成において本実施の形態1ではポリゴン識別回路1033がポリゴン識別手段を実現し、画像データ演算回路1034が画像データ演算手段を実現するものとなっている。
【0072】
図2を用いて、画像生成部103a(103b、103c)の動作を説明する。図1において、形状データバッファ102aから読み出されたポリゴンデータは、図2に示す画像生成部103a内部の幾何変換部1031において、出力画像上の座標系であるスクリーン座標系に変換される。座標変換されたポリゴンデータは、図2に示す画素生成回路1032に出力される。
【0073】
画素生成回路1032はポリゴンをサブピクセル単位に分解し、ポリゴンの内部に存在するサブピクセルを抽出する。図3は、この処理を説明するための概念図である。同図の左上に「画素」として示した大きさが、1個の表示画素の大きさである。同図においては、全体として横7画素、縦5画素の領域を表示している。また、小さい正方形がサブピクセルを示している。図3では1画素を縦、横方向それぞれ4個の合計16個のサブピクセルに分割している。ポリゴンは太い線で囲まれた3角形であり、図においてポリゴン内部のサブピクセルを斜線で示している。画素生成回路1032では、図示するようなサブピクセルへの分割と、ポリゴン内部のサブピクセルの抽出が行われ、図3において斜線で示されたすべてのサブピクセルについて、Z値と、画素値(R,G,B値)とが求められる。各値のビット幅はZ値が24ビット、R,G,B値が各8ビットである。
【0074】
一方、図1に示す形状データバッファ内には、ポリゴンごとに、当該ポリゴンの透明性を示す透過度があらかじめ設定されている。透過度のビット幅は8ビットで、その値が255(10進)の時に不透明、0の時に完全に透明である。中間の値の場合は値に応じて半透明になる。したがって、透過度が0のポリゴンは実質的に存在しないものとして扱われることになる。
【0075】
画素生成回路1032からは、サブピクセルのZ値、R,G,B値と透明度とがポリゴン識別回路1033に出力され、ポリゴン識別回路1033は、ポリゴンの透過度が値255であるか否かによって、不透明か半透明かを識別する。ポリゴン識別回路1033からは、画像データ演算回路1034に対して、「不透明」か「半透明」かを示す識別結果が出力される。
【0076】
画像データ演算回路1034は、ポリゴンのサブピクセルのパターンから各画素の寄与度を算出する。図4は、この処理を説明するための概念図である。同図の左上に「画素」として示した大きさが、1個の表示画素の大きさである。1個の表示画素は16個のサブピクセルに分割されており、図2を用いて説明したように、画素生成回路1032における処理では、すべてのサブピクセルについてポリゴンの内部にあるかどうかを判定するものである。これに対して、画像データ演算回路1034では、一部のみを用いて処理を行う。画像データ演算回路1034におけるこの処理は、ポリゴン識別手段1033から取得する識別結果が「不透明」を示す場合と「半透明」を示す場合とで異なるものとなる。すなわち、本実施の形態1においては、ポリゴンが不透明である場合にのみアンチエリアシング処理を実行するものである。
【0077】
識別結果が「不透明」を示す場合、画像データ演算回路1034は、1個の表示画素に相当する16個のサブピクセルのうちの4個だけをサンプリングして寄与度を算出する。図4の二重丸印と丸印とは、不透明なポリゴンにおいてサンプリングするサブピクセルの位置を示している。
画像データ演算回路1034は、それぞれのサブピクセルにおいてポリゴン内にある場合は「1」、ない場合は「0」とする4ビットの数値を算出し、これからルックアップテーブルを参照することで寄与度を求める。図5は、画像データ演算回路1034が用いるルックアップテーブルを示す図である。同図a)に示すテーブルは、入力値が2進数表記で1になっているビットの数に応じて0個、1個、2個、3個、4個の場合に寄与度が各々0、64、128、192、255となるようなものである。
【0078】
求めた寄与度が0ではない場合は、当該画素のスクリーン座標値(X,Y)と寄与度とをZバッファ制御回路1035(図2)に出力する。画像データ演算回路1034は、また、Z値と画素値(R,G,B値)とをも、Zバッファ制御回路1035に出力するが、これらはサブピクセルごとに異なるものであるので、画像データ演算回路1034は、4個のサブピクセル中のいずれか1個をセレクタにおいて選択する。画像データ演算回路1034における選択は、図5b)のようなルックアップテーブルを参照して求める。図5b)に示すテーブルでは、選択するサブピクセルを示す値が、入力値において、2進数表記で1になっているビットのビット位置を示す値となっているものであり、複数のビットが1になっている場合は、より中央に近い位置を示すような値になっている。これは、中央に近い位置の方が適切に当該画素を代表し得る可能性が高いからである。
【0079】
以上の処理は、図2に示すポリゴン識別回路1033から出力された識別結果が「不透明」を示していた場合のものである。これに対して、識別結果が「半透明」を示す場合には、図4における二重丸の位置のサブピクセルだけをサンプリングする。二重丸の位置のサブピクセルがポリゴン内にない場合は(たとえ他のサブピクセルがポリゴン内にある場合でも)入力されたZ値と画素値とは破棄する。二重丸の位置のサブピクセルがポリゴン内にある場合は、当該画素のスクリーン座標値(X,Y)と二重丸の位置のサブピクセルのZ値と画素値(R,G,B値)、及び寄与度をZバッファ制御回路1035に出力する。なお、半透明なポリゴンについてはポリゴンの透過度の値を寄与度とする。
画像データ演算回路1034においてサンプリングするサブピクセルの位置は必ずしも図4に従わなくても同様の効果が得られるものであるが、適切な結果を得るためには、縦の列および横の行で重ならないようにサンプリングすべきであり、さらに斜め方向においても重ならない方が望ましいものとなる。
【0080】
図2においてZバッファ制御回路1035は、入力されたスクリーン座標値(X,Y)に対応するZ値とをZバッファから読み出す。Zバッファの読み出しアドレスは21ビット幅であり、Y座標をビット20〜12、X座標をビット11〜2に対応させた値である。最下位の2ビットは1画素に対して保持している4組の数値を区別するインデックスであり、0から3まで変化させて4組のZ値をすべて読み出す。読み出した4個のZ値は互いに比較され、最も値の大きいZ値だけが取り出される。そして、取り出されたZ値は画像データ演算回路1034から入力されたポリゴンのZ値と比較される。この際にポリゴンのZ値の方が大きいかまたは両者が等しい場合は、以降の処理を行うことなく、入力されたZ値、R,G,B値と寄与度は破棄される。
一方、ポリゴンのZ値の方が小さい場合は、最も値の大きいZ値が保持されていたアドレスにポリゴンのZ値を書き込む。同時にフレームバッファと寄与度バッファに対しても、Zバッファと同じアドレスにポリゴンのR,G,B値と寄与度を書き込む。
【0081】
図6は、以上の処理を実現するための、Zバッファ制御回路1035における回路構成を示す摸式図である。図2に示すようにZバッファ制御回路1035には、画像データ演算回路1034からZ値、画素値(R,G,B値)、および寄与度(計56ビット)が入力され、また、ダブルバッファ制御回路1036を介して、Zバッファから順に4個のZ値(24ビット)が入力される。Z値レジスタ690は、タイミング制御回路691からの制御に従って、最初のZ値が入力されるタイミングにおいてクリアされ、以降は次にクリアされるまでロードされた値を保持する。
【0082】
Zバッファより入力されたZ値(以下バッファZ値と表記する。)は、第1の比較回路692に入力される。また、Z値レジスタが保持する値(以下レジスタZ値と表記する。)も第1の比較回路692に入力される。第1の比較回路692においては、バッファZ値とレジスタZ値との比較が行われ、その結果、バッファZ値の方が大きい場合のみ、第1の比較回路692からZ値レジスタ690にバッファZ値がロードされ、Z値レジスタ690は、ロードされた値をレジスタZ値として保持することとなる。
【0083】
したがって、Zバッファから4個のZ値が入力され、上記の処理が実行された後には、Z値レジスタ690には、当該4個のZ値のうち、最も大きい値のものが、レジスタZ値として残ることとなる。このレジスタZ値を最大レジスタZ値とする。最大レジスタZ値は、Z値レジスタ690から第2の比較回路693に入力される。
【0084】
一方、画像データ演算回路1034から入力されたZ値(以下演算Z値と表記する。)が第2の比較回路693に入力され、第2の比較回路693において、演算Z値と最大レジスタZ値とが比較され、その結果が書き込みアドレス生成回路694に出力される。書き込みアドレス生成回路694は、第2の比較回路693から入力された比較結果が、演算Z値の方が小さい旨を示す場合のみ、書き込みアドレスを生成する。書き込みアドレス生成回路694には、第1の比較回路692からも比較結果が入力され、書き込みアドレス生成回路694は、書き込みアドレスの生成を行う場合に、比較回路692の比較結果を用いて最下位の2ビットを制御する。
【0085】
図6に示す内部構成のZバッファ制御回路1035において、以上のような処理がなされた後、図2において、Zバッファ制御回路1035からはダブルバッファ制御回路1036に対して、書き込みアドレスが出力される。また、画像データ演算回路1034からZバッファ制御回路1035に入力されたZ値、R,G,B値、および寄与度は、書き込みデータとしてダブルバッファ制御回路1036に出力される。ダブルバッファ制御回路1036は各バッファへの書き込み制御を行い、入力された書き込みアドレスに、入力された書き込みデータを書き込むことで、前述のようにポリゴンのZ値が小さい場合にのみ各バッファの書き換えがなされることとなる。
【0086】
図2に示すフレームアドレス生成回路1038は、同期信号発生器108から奥行き合成回路104aを介して入力されたタイミング制御信号(図1)に同期して、Zバッファ、フレームバッファ、寄与度バッファのアドレスをシリアルに生成する。図7は、アドレス生成処理を実現するフレームアドレス生成回路1038の構成を示す模式図である。図示するようにフレームアドレス生成回路1038は、第1のカウンタ10381と第2のカウンタ10382を備えている。第1のカウンタ10381は、アドレスのビット11〜0をカウント処理するものであり、水平同期信号でクリアされ、常時カウントアップされるカウンタを用いてアドレスを生成する。なお、アドレスのビット11〜0をカウントアップする周波数は1画素の表示時間の逆数(ドットクロックサイクル)の4倍である。したがって、第1のカウンタ10381は1画素の表示時間中に4回カウントアップする。
【0087】
第2のカウンタ10382はアドレスのビット19〜12をカウント処理するものであり、垂直同期信号でクリアされ、水平同期信号でカウントアップされるカウンタを用いてアドレスを生成する。第1、及び第2のカウンタがこのようなカウント処理をする結果、同期信号に同期して対象となる画素の4組の数値を順にアクセスすることになり、Zバッファ、フレームバッファ、寄与度バッファからは1画素内の4組の数値が順に出力される。
【0088】
図2に示すダブルバッファ制御回路1037は、2組のバッファ群(Zバッファ、フレームバッファ、および寄与度バッファ)1037a、および1037bを、Zバッファ制御回路1035によって制御される組と、フレームアドレス生成回路1038によって制御される組とに振り分けるために存在する。この振り分けは垂直同期信号ごとに切り替わる。すなわち、フレームごとにバッファが切り替わることになる。
【0089】
図1に戻り、本実施の形態1の画像生成装置の動作の説明を続ける。画像生成部103a,103b,103cは、それぞれ奥行き合成回路104a,104b,104cと接続され、上記の処理によって生成し、その内部に保持しているZ値、画素値(R,G,B値)、及び寄与度を各奥行き合成回路に出力する。
【0090】
各奥行き合成回路は前述のように接続されているものであるが、奥行き合成回路間で転送される4組の値は、Z値が小さい順に並べ換えられている。ここで並べ換えた4組の値をそれぞれレベル0,レベル1,レベル2,レベル3と呼ぶこととする。以下に、奥行き合成回路104a、104b、104cの詳細な構成と、その動作とについて図を参照しながら説明する。
【0091】
図8は奥行き合成回路104bの内部構成を示すものである。図示するように、奥行き合成回路104bは、Zソート回路1041、Z比較回路1042、およびタイミング制御回路1043を備えている。
接続されている画像生成部103bから入力されるZ値、画素値(R,G,B値)、及び寄与度は、奥行き合成回路104b内部のZソート回路1041において処理される。Zソート回路1041では1画素に対応する4組のZ値、画素値、および寄与度を、Z値の小さい順に並べ換え、後述するZ値比較回路1042が生成するレベル制御信号に応じた値を出力する。例えば、レベル制御信号として0という値が入力されると、4組の入力順とは無関係に最もZ値の小さい組の値が出力される。
【0092】
Z値比較回路1042はレベル順に前段の奥行き合成回路104aから入力されるZ値4個と、Zソート回路1041内のZ値4個との合計8個を比較し、よりZ値の小さい4組のZ値、画素値、および寄与度を選択して、次段の奥行き合成回路104cに出力する。この選択は、上述のように、Zソート回路1041に対してレベル制御信号を出力し、対応する組の値を取得することで行う。
【0093】
タイミング制御回路1043は、同期信号発生器108から入力される同期信号(図1)に同期してタイミング制御信号を生成し、これをZソート回路1041と、Z値比較回路1042とに出力する。また、画像生成部103bに対しても、タイミング制御信号を出力する(図1、図8)。
【0094】
図9は、奥行き合成回路104bが備えるZソート回路1041の内部構成を示す図である。図示するように、Zソート回路1041は、第1のZ値レジスタ10411、第2のZ値レジスタ10412、第3のZ値レジスタ10413、第1の比較回路10414、第2の比較回路10415、第3の比較回路10416、アドレス生成回路10417、および2ポートメモリ10418を備えている。
【0095】
第1から第3のZ値レジスタ10411〜10413は、それぞれ入力されたZ値を保持する。第1から第3の比較回路10414〜10416は、それぞれ対応するZ値レジスタが保持するZ値と、画像生成部103bから入力されるZ値とを比較する。アドレス生成回路10417は、第1から第3の比較回路の比較結果に基づいて、2ポートメモリ10418における読み出しアドレスと書き込みアドレスとを生成する。
【0096】
このような内部構成を有するZソート回路1041(図8)に、Z値、画素値(R,G,B値)、および寄与度が入力され、これらは、56ビット×8ワード構成の2ポートメモリ10418に格納される。この際に、後述するアドレス生成回路10417より入力される書き込みアドレスは1づつ加算されたものとなって、1画素内の4組の入力値は、入力された順に異なったアドレスに格納されることとなる。
【0097】
入力されたZ値は、Zソート回路1041内において、Z値レジスタ10411にも格納される。図示する第1から第3のZ値レジスタ10411、10412、および10413は、全体としてシフトレジスタを構成しており、Z値が入力されるごとに、すなわち1サイクルごとに、第1から第2、第2から第3にと、保持する値がシフトされる。
【0098】
第1のレジスタの保持する値(第1保持Z値)は、第1の比較回路10414に入力される。第1の比較器10414には、当該サイクルにおいて入力されたZ値である入力Z値も入力され、第1保持Z値と比較される。第1の比較回路10414は、比較結果を保持するものであり、当該サイクルにおける比較結果と、1サイクル前、および2サイクル前の比較結果を信号CP1としてアドレス生成回路10417に出力する。
【0099】
第2の比較器10415は当該サイクルの入力Z値と、第2のZ値レジスタ10412の保持する値(第2保持Z値)との比較結果と、1サイクル前の比較結果を信号CP2としてアドレス生成回路10417に出力する。第3の比較器10416は、当該サイクルの入力Z値と、第3のZ値レジスタ10413の値との比較結果を、信号CP3として、アドレス生成回路10417に出力する。
【0100】
アドレス生成回路10417においては、4組の数値の入力が終了すると、第1から第3比較器より出力される信号CP1〜CP3が示す値を用いて、4組の数値をZ値順に並べ換えることが可能になる。アドレス生成回路10417は、後述するZ値比較回路1042(図8)からレベル制御信号を入力するものであり、このレベル制御信号に合わせた読み出しアドレスを生成する。2ポートメモリ10418は前述のように8ワード構成になっているものであり、4ワードを入力し、これをZ値のレベル順に並べ換えて出力している間に、次の画素のための4ワードを入力することができる。すなわち2ポートメモリ10418はダブルバッファ化されたメモリである。
【0101】
上記の処理の結果、図8に示すように、Zソート回路1041からZ値比較回路1042に出力されるZ値、画素値(R,G,B値)、および寄与度は、Z値比較回路1042が出力したレベル制御信号に対応したレベルのものとなる。
【0102】
図10は、Z値比較回路1042の内部構成を示す図である。図示するように、Z値比較回路1042は、FIFOメモリ10421、制御回路10422、比較器10423、およびセレクタ10424を備えている。
FIFOメモリ10421は、図8に示すように奥行き合成回路104aから入力されるZ値、画素値、および寄与度を保持する。FIFOメモリ10421は、データを書き込んだ順に読み出す(FIFO:First In First Out) ことのできるメモリであり、図10では前段の奥行き合成回路104aと接続する側が書き込みポートであり、比較器10423、およびセレクタ10424と接続する側が読み出しポートである。FIFOメモリ10421は、Z値、画素値、及び寄与度の値を2組保持できる容量(2ワード長)を備えている。
【0103】
制御回路10422は、入力する同期信号に基づいてレベル制御信号を生成し、当該Z値比較回路1042全体を制御する。比較器10423は、FIFOメモリ10421が保持するZ値と、Zソート回路1041から入力されたZ値とを比較する。セレクタ10424は、制御回路10422の制御に従って、FIFOメモリ10421が保持する値と、Zソート回路1041から入力された値とのいずれかを選択して出力する。
【0104】
図10に示す構成のZ値比較回路1042に対して、奥行き合成回路104aからは、サイクルごとにレベル0、1、2、3のZ値、画素値、および寄与度が入力される。制御回路10422は、FIFOメモリ10421に対して、レベル0のこれらの値が入力される前にリセットを指示する信号を出力し、FIFOメモリ10421はこれによりリセットされる。あるサイクルにおいてレベル0の諸値が入力されると、その値はFIFOメモリ10421に書き込まれ、次のサイクルにおいてFIFOメモリ10421から出力される。
【0105】
比較器10423には、FIFOメモリ421からZ値が出力される(比較器入力B)。比較器10423には、Zソート回路1041から出力されるZ値も入力され(比較器入力A)、比較器10423では、FIFOメモリ10421からのZ値(A)と、Zソート回路1041からのZ値(B)とが比較され、比較結果は制御回路10422に入力される。
【0106】
制御回路10422は比較器10423から取得した比較結果に対応し、セレクタ10424の選択を制御する信号(選択制御信号)を生成して、これをセレクタ10424に出力する。選択制御信号は、制御回路10422に入力された比較結果が「A≦B」を示すものであった場合は、Zソート回路41の出力を選択すべき旨を示すものとなり、比較結果が「A>B」を示すものであった場合は、FIFOメモリ10421の出力を選択すべき旨を示すものとなる。
【0107】
また、制御回路10422が生成するレベル制御信号は、制御回路10422に入力される比較結果が、「A≦B」を示すものであった場合に、当該サイクルの次のサイクルでカウントアップする。
【0108】
また、制御回路10422は、FIFOメモリ10421に対してリード制御信号を出力するが、この信号は比較結果が「A>B」であった場合、そのサイクルにおいてのみ値「1」となって出力されるものであり、これに対応してFIFOメモリ10421では、次のサイクルにおいて次の値が読み出せることとなる。一方、FIFOメモリ10421に対してのライト制御信号は、奥行き合成回路104aからの入力がある場合当該サイクルで値「1」となり、FIFOメモリ10421に書き込みがされることとなる。しかし、書き込みを行うことにより、FIFOメモリ10421の内部において、書き込まれて読み出されていないデータが3個以上になる場合は書き込まない。FIFOメモリ10421の容量がデータ2組分であるためである。なお、奥行き合成回路104aから入力される4レベルのデータは、前述のようにZ値の順に並べ換えられているものであるため、FIFOメモリ10421において3組以上のデータを保持する必要はない。2組保持された時点で3組目のデータは入力値に関わらず必要とされないことが確定する。従って、このような場合には上記のように書き込みを行わないものとしても支障がないこととなる。
図11は、Z値比較回路1042の動作例を示す図である。同図a)、およびb)は、比較器10423における比較結果が異なったものとなる2種類の例を示している。
【0109】
図10においてセレクタ10424の出力するZ値、画素値、および寄与度は、図8に示すZ値比較回路1042の出力になり、また、図1における奥行き合成回路104bの出力となって、奥行き合成回路104cに出力される。
奥行き合成回路104bの内部構成、および動作は以上のようなものである。これに対して、奥行き合成回路104aについては、その接続される画像生成部は103aとなり、前段の奥行き合成回路は存在しない。このため前段からのZ値の入力ポートには表現できる最大の値が入力されている。また奥行き合成回路104aの後段には奥行き合成回路104bが接続される。また、奥行き合成回路104cについては、その接続される画像生成部は103cとなり、その前段には奥行き合成回路104bが接続され、その後段には奥行き合成回路ではなく、混合比演算回路105と、画素混合回路106とが接続される。上記の接続関係を除いて、奥行き合成回路104a、および104cは、図8に示す奥行き合成回路104bと同等の内部構成を有し、その動作も上述の奥行き合成回路104bの動作と同様のものとなる。
【0110】
図1に戻り、本実施の形態1の画像生成装置の動作の説明を続ける。図示するように、奥行き合成回路104cからは、選択されたZ値と寄与度とが混合比演算回路105に、また、選択された画素値(R,G,B値)が画素混合回路106に出力される。そして、奥行き合成回路104a〜104cを経由した同期信号が、混合比演算回路105と画素混合回路106とに出力される。
【0111】
混合比演算回路105は、寄与度とZ値とから、4組の画素値(R,G,B値)の混合比を算出し、これを後述する画素混合回路106に出力する。以下に、混合比演算回路105の詳細な構成と動作について図を参照しながら説明する。図12は混合比演算回路105の内部構成を示すものである。図示するように、混合比演算回路105は加算器1051、アルファレジスタ1052、インバータ1053、セレクタ1054、ANDゲート1055、および制御回路1056を備えている。
【0112】
加算器1051は、加算処理を行うことにより、入力されたレベルの寄与度を合計した値を取得する。アルファレジスタ1052、インバータ1053、セレクタ1054、およびANDゲート1055は、加算器1051が取得した結果に基づいて、画素混合回路106に対する出力となる混合比を算出する。制御回路1056は、混合比演算回路105全体を制御する。
【0113】
図1に示すように、混合比演算回路105に対しては、奥行き合成回路104cから、サイクルごとにレベル0、1、2、3の寄与度が入力される。混合比演算回路105内部(図12)において、レベル0の寄与度が入力される前に、制御回路1056は、アルファレジスタ1052に対してリセットを指示する信号を生成して出力し、この信号によりアルファレジスタ1052の保持する値はクリアされる。各レベルの値が入力されると、アルファレジスタ1052の値は加算器1051により積算され、アルファレジスタ1052は、これをアルファ値として保持する。
【0114】
加算器1051は、レベル0から順に積算していった寄与度の総和が100%(8ビットの値で255)になった場合には、制御回路1056に対してキャリーを出力する。制御回路1056は、加算器1051からのキャリーを検出するまでは、奥行き合成回路104cから入力された寄与度がそのまま混合比として画素混合回路106に出力されるように、セレクタ1054とANDゲート1055とを制御する。制御回路1056からの制御に従って、セレクタ1054はB側を選択する。また、制御回路1056からANDゲート1055に出力される信号は、すべてのビットが「1」となる。
【0115】
加算器1051からのキャリーを検出した場合、制御回路1056は、当該サイクルではアルファ値の1の補数(one's-compllement) が出力されるように制御する。この制御に従って、セレクタ1054はA側を選択し、インバータ1053において反転されたアルファ値が選択されることから、アルファ値の1の補数が出力されるものとなる。また、制御回路1056からANDゲート1055に出力される信号は、すべてのビットが「1」となる。そして、制御回路1056は、キャリーを検出したサイクル以後のサイクルでは、常に0が出力されるように制御する。すなわち、ANDゲート1055に対してすべてのビットを「0」として出力する。
【0116】
上記の制御を実行することにより、レベル0から順に積算していった寄与度の総和が100%(8ビットの値で255)になった時点で、それ以降のレベルの寄与度が無視されるような回路が実現できる。また、上記の制御により、いかなる数値の組合せが寄与度として入力されても出力された混合比の総和が100%を越えることはない。このような制御によって、画素混合回路106において混合した画素値(R,G,B値)がオーバーフローすることが防止される。
【0117】
図1において、混合比演算回路105から画素混合回路106に混合比が出力される。また、画素混合回路106には、最後段の奥行き合成回路104cから画素値が入力される。画素混合回路106は、入力した画素値(R,G,B値)を、混合比演算回路105から取得した混合比に従って混合し、表示画素単位の画素値(R,G,B値)を生成する。
【0118】
以下に画素混合回路106の詳細な構成と動作について図を参照しながら説明する。図13は画素混合回路106の内部構成を示すものである。図示するように、画素混合回路106は、第1から第3の乗算器1061r,1061g,および1061bと、第1から第3の加算器1062r,1062g,および1062bと、第1から第3の積算レジスタ1063r,1063g,および1063bと、第1から第3の出力レジスタ1064r,1064g,および1064bと、制御回路1065とを備えている。
【0119】
第1から第3の乗算器1061r,1061g,および1061bは、それぞれ混合比と、入力したR,G,B値とを乗算する。第1から第3の加算器1062r,1062g,および1062bは。すべてのレベルのR,G,B値を積算する。第1から第3の積算レジスタ1063r,1063g,および1063bは積算結果を保持する。第1から第3の出力レジスタ1064r,1064g,および1064bは、積算レジスタが保持する出力結果を出力する。制御回路1065は、画素混合回路106全体を制御する。
【0120】
図1に示すように、画素混合回路106には、奥行き合成回路104cから、サイクルごとに、レベル0、1、2、3の画素値(R,G,B値)が入力される。レベル0の値が入力される前に、図13に示す制御回路1065は、第1から第3の積算レジスタ1063r,1063g,および1063bに対してリセットを指示する信号を生成して出力し、それぞれの積算レジスタが保持する値は、この信号によりクリアされる。各レベルの値が入力されると、第1から第3の積算レジスタ1063r,1063g,および1063bの保持する値は、入力画素値(R,G,B値)に混合比を乗じて得られる値だけ加算される。その結果、レベル3の画素値が入力され、処理が終了すると、すべてのレベルのR,G,B値を混合比にしたがって混合した値が積算レジスタ1063r,1063g,1063bに保持される。
【0121】
制御回路1065は、レベル3の画素値が入力されたサイクルの次のサイクルにおいて、第1から第3の出力レジスタ1064r,1064g,および1064bの値が更新されるように、それぞれの出力レジスタに対してロード信号を出力して制御する。その結果、画像表示装置107へ出力されるR,G,B値は混合比にしたがって各レベルの値が混合されたものとなる。また、図1において画像表示装置107へ出力されるR,G,B値は、画素混合回路106において4サイクルに1回だけ更新されることになり、画像表示装置107での1画素の表示時間に対応するものとなる。
【0122】
このように本実施の形態1の画像生成装置によれば、形状データ分離手段101、形状データバッファ102a〜102c、画像生成部103a〜103c、奥行き合成回路104a〜104c、混合比演算回路105、画素混合回路106、画像表示装置107、および同期信号発生器108を備えて、アンチエリアシング処理を施すポリゴンを不透明なポリゴンに限定し、半透明なポリゴンはアンチエリアシング処理の対象とはしないようにし、また、半透明なポリゴンについては寄与度は透過度から算出するが、不透明なポリゴンについては画素内でのポリゴンの占める面積から寄与度を算出するようにしたので、バッファメモリの容量増加を抑えつつ、アンチエリアシング処理を施し、かつ半透明物体を表現することができるという効果がある。
【0123】
すなわち、本実施の形態1の画像生成装置では、画像生成部103a〜103cにおいて、すべてのポリゴン(半透明、不透明にかかわらず)の、構成画素すべてについてZ値、R,G,B値と寄与度が求められるものとするが、この際に、半透明なポリゴンについては透過度から寄与度を算出し、不透明なポリゴンについては画素内でのポリゴンの占める面積から寄与度を算出するようにしたことによって、透過度を持つポリゴンに対して求めた寄与度は半透明物体の表現に使用され、透過度を持たないポリゴンに対して求めた寄与度はアンチエリアシング処理に使用されることになる。従って、従来の技術による場合、すなわち1画素当たり16個のサブピクセルに分割した場合(1画素あたり16個のメモリ)と比べ、透過度を持たないポリゴンを処理するためのメモリ容量が1画素あたり1個となるために、その容量を1/16に削減することができる。その一方、上記のように半透明なポリゴンをアンチエリアシング処理の対象にしない構成としても、半透明なポリゴンの境界では、輝度は大きく変化しないので、図18a)に示したような不自然さが現れることがなく、従って、フレームバッファとZバッファの容量の増大を抑えつつ、アンチエリアシング処理を施し、かつ半透明物体を表現することのできる画像生成装置を実現することが可能となる。
【0124】
また、形状データ分割手段101において、形状データを分割し、画像生成部103a〜103c、および奥行き合成回路104a〜104cにおける処理は、分割されたデータに対して実行されるものとしている。その後、混合比演算回路105は、寄与度から各フレームバッファのR,G,B値の混合比を求め、画素混合回路106は各フレームバッファのR,G,B値を混合して出力画像のR,G,B値を生成する。従って、負担の大きな処理となる、ポリゴンの構成画素すべてについてZ値、R,G,B値と寄与度を求める処理は、ポリゴン単位で並列化することが可能である。このように、Z値に応じて画素値、および寄与度を合成する奥行き合成回路を備えることにより並列処理した処理結果を合成することができ、処理の効率化と高速化を図ることが可能となる。
【0125】
実施の形態2.
本実施の形態2による画像生成装置は、実施の形態1による画像表示装置と同様の処理を行うものであるが、インターレース(interlace) 対応としたものである。インターレースとは、すべての表示画素を1回だけ走査する時間(1フレーム時間)を前半の偶フィールドと、後半の奇フィールドとに2分割するものである。偶フィールドではスクリーン座標のY座標が0,2,4,…,2n(nは整数)の順に510までの走査線を走査し、奇フィールドではY座標が1,3,5,…,2n+1(nは整数)の順に511までの走査線を走査する。
【0126】
インターレース方式では1フレーム時間の半分の時間で走査線が上から下まで走査するために、速い動きに対しての応答性がよいという利点を持つが、Y方向の解像度は半分になっているために、一般的には画質の点では劣るものとなり、動きが遅い動画像や静止した画像等のY方向の解像度を確保できる場合には適した方式となる。しかし、インターレース方式による場合、画像におけるY方向の空間周波数(spatial frequency) が高い場合には、静止した画像であっても、表示の際に画像がちらついて見えることがある。テレビ放送等で表示される自然画では空間周波数が低いのでこのちらつきが問題となることはないが、コンピュータグラフィックス画像は物体の境界で空間周波数が高くなり、インターレース方式特有のちらつきが無視できなくなる。このちらつきを抑えるためにはY方向のフィルタリング処理を実行する必要がある。本実施の形態2においては、寄与度を算出する際に、処理対象となる画素と、当該画素とY方向に隣接する画素とを用いることで、このフィルタリング処理を行うものである。
【0127】
本実施の形態2の画像生成装置は、基本的な構成は図1に示したものと同一であり、画像生成部103a〜103c(図1)の内部構成も図2に示したのと同様のものとなる。しかし、図2に示す画像データ演算回路1034における処理が、図4に示した実施の形態1とは異なるものとなる。
【0128】
図14は、本実施の形態2における画像データ演算回路1034(図2)における処理を説明するための概念図である。以下に、図14を用いて、本実施の形態2における画像データ演算回路1034の処理を説明する。
実施の形態1における処理(図4)とは異なり、本実施の形態2では、表示画素を16分割したサブピクセルと、図において該画素のすぐ下に位置する(Y座標が1大きい)画素を16分割したサブピクセルとの、合計32サブピクセルの中から、8個をサンプリングするものである。
【0129】
ここでサンプリングされたサブピクセルは実施の形態1と同様に、ルックアップテーブルを参照して寄与度に変換される。ルックアップテーブルは実施の形態1で用いた図5a)に示したものを、入力8ビットに拡張したものである。すなわち入力値が2進数表記で1になっているビットの数に応じて、0個,1個,2個,3個,4個,5個,6個,7個,8個の場合に各々0,32,64,96,128,160,192,224,255となるようなテーブルである。また、サブピクセルの中からZ値、R,G,B値を選択する処理も同図b)に示したものを拡張したルックアップテーブルを使用することによって行う。
上記のような処理を実行することで、Y座標が0の走査線を表示するために、Y座標が0と1の画素を使用し、Y座標が1の走査線を表示するためにY座標が1と2の画素を使用することになる。その結果、Y方向の空間周波数を低く抑えることができ、インターレース特有のちらつきが低減されるようになる。
【0130】
このように本実施の形態2によれば、実施の形態1の画像生成装置と同様の構成において、画像データ演算回路における処理が異なるものとしたことで、サブピクセルをサンプリングする際に、Y座標方向に隣接する2画素を単位として所定位置のサブピクセルを選択するようにし、全ての画素でサンプリングするサブピクセルを2画素のうちの1画素側とするようにしたので、Y方向の空間周波数を抑制することによって、インターレース表示特有のチラツキを低減することが可能となる。
【0131】
なお、本実施の形態2においては、画素を縦4、横4に16分割したものとしたサブピクセルを例にとって説明したが、例えば画素を縦6、横6に36分割してもよい。その場合はサンプリングするサブピクセル数は6または12(インターレースの場合)となる。この場合も本実施の形態と同様に6個のサンプリング点が縦の列および横の行で重ならないようにしなければならない。
【0132】
また、実施の形態1、および2においては、奥行き合成回路間で転送される4組の値について、Z値が小さい順に並べ換えられたレベル0〜レベル3の4レベルとしているものであるが、これ以外のレベル数とすることも可能である。一般に、レベル数を増加させると隠面処理を柔軟に行い得ることにより画質の向上を図り得るものであるが、その反面、必要とするメモリ量が増大し装置コストを上昇させることともなるので、所望される画質とコストとを考慮して適切にレベル数を設定することが望ましい。
【0133】
また、実施の形態1、および2においては、画像生成部内の諸回路や奥行き合成回路として専用の回路を用いる専用装置として説明しているものであるが、実施の形態1、および2に示した処理を実行する画像生成プログラムをプログラム記録媒体に記録しておき、当該プログラムを汎用コンピュータシステム等において実行することで、実施の形態1、および2に示した画像生成装置を実現することが可能である。プログラム記録媒体としては、フロッピーディスク等の磁気ディスク媒体、CD−ROM、光磁気ディスク等の光ディスク媒体、磁気テープ等のテープ媒体等、プログラムを記録し得るものであれば使用可能である。
【0134】
そして、図1に示す実施の形態1、および2の画像生成装置としては、CPUやDSPの制御に従って、画像生成プログラムを実行することで、形状データ分離手段、画像生成部、奥行き合成回路、混合比演算回路、画素混合回路を実現し、クロック発生装置、およびクロック同期装置により同期信号発生器を実現し、主記憶や補助記憶(記憶装置)により形状データバッファや、画像生成部内のバッファ、奥行き合成回路内の2ポートメモリを実現し、モニタ、ディスプレイ等により画像表示装置を実現することができる。さらに、モニタ等において表示をする代替に、生成した画像を記憶装置等において記録し、当該コンピュータシステム等を編集装置として用いることも可能であり、生成した画像をネットワークシステム等において伝送し、ネットワークコンピュータ等において表示・編集するものとすることも可能である。
【0135】
実施の形態3.
本発明の実施の形態3による画像合成装置は、実写画像とCG画像とを合成するに際して、実写画像データを、CG生成に用いる形状データと同様に扱うものである。
図15は本実施の形態3における画像合成装置の構成を示す図である。図示するように、本実施の形態3による画像合成装置は、画像生成部1501、実写画像処理部1502、奥行きソート部1503、混合比演算部1504、画像合成部1505、および画像表示部1506を備えたものであり、実施の形態1、および2の画像生成装置と同様に、表示されるべき物体をポリゴンとして扱い、3次元座標として記述した形状データを用いるものである。形状データはまた、ポリゴンごとの透過度を示す情報を含んでいるものとする。本実施の形態3では、透過度は0から1までの値をとり得るものとし、透過度の値が1である場合にはそのポリゴンは不透明であり、値が0の場合にはポリゴンが透明であることを示すものとする。また、値が0と1の間であれば、そのポリゴンは、透過度の値に対応して半透明であることを示すものである。
【0136】
画像生成部1501は、入力した形状データを順次処理して、視点位置を考慮した画素ごとの画素値(R,G,B値)と、奥行き値(Z値)とを生成する。また、後述するように、アンチエリアシング処理、または半透明処理に対応して、寄与度を生成する。
【0137】
実写画像処理部1502は、実写画像を入力し、所定の処理を行ってクロマキー信号と、画素値とZ値とからなる実写画像情報とを生成する。奥行きソート部1503は、画像生成部1501から入力するZ値と、実写画像のZ値とをその値が小さな順に並べ替え(ソート)する。混合比演算部1504は、入力された寄与度に対して加算処理を行い、混合比を生成する。画像合成部1505は、CG画像と、実写画像との画素値を演算処理することで、混合比演算部1504が生成した混合比に従った表示すべき画素の画素値を生成する。画像表示部1506は、画像合成部1505が生成した画素値を用いて画像を表示する。
【0138】
このように構成された、本実施の形態3の画像合成装置において、形状データと実写画像とが入力されてから、合成画像が表示されるまでの動作を、以下に説明する。
画像生成部1501は、入力した形状データより、ポリゴンごとのデータであるポリゴンデータを処理対象とし、幾何学変換を施すことによりスクリーン座標系に変換されたポリゴンデータを生成する。画像生成部1501は処理対象とするポリゴンデータの透過度により、当該ポリゴンに対してアンチエリアシング処理を行うか、半透明処理を行うかを決定する。画像生成部1501は、処理対象とするポリゴンの透過度が値1(不透明を示す)である場合には、アンチエリアシング処理を行い、その値が1未満であるならば半透明処理を行う。
【0139】
アンチエリアシング処理を行う場合、画像生成部1501は、画面上の1画素を縦4個×横4個のサブピクセルに分解し、全てのサブピクセルに対してそのサブピクセルが処理対象となるポリゴンの内部に存在するか否かを調べて、当該画素に対する当該ポリゴンの占める率である寄与度を生成する。なお、画像生成部1501による寄与度の生成にあたっては、1画素を分解して得られる16個のサブピクセルのうち、実施の形態1(図4)と同様に、一部のサブピクセルをサンプリングして寄与度を求めるものとすることもできる。
これに対して半透明処理を行う場合には、かかるサブピクセルへの分割と、ポリゴン内部に存在するサブピクセルの抽出とを行うことなく、当該ポリゴンの透過度の値を寄与度とする。従って、透過度が0(透明)であるポリゴンについては、寄与度が0となることで、事実上表示の対象から除外されるものとなる。
【0140】
いずれの処理がなされた場合にも、当該ポリゴンの寄与度が0でない場合のみ、以降の処理が実行されることとなる。画像生成部1501は、Zバッファから読み出したZ値と、処理対象となるポリゴンのZ値とを比較し、処理対象のZ値の方が小さいならば、そのZ値をZバッファに書き込み、また、当該ポリゴンの画素値(R,G,B値)をフレームバッファに、当該ポリゴンの寄与度を寄与度バッファに書き込む。従って、画像生成部1501は、Z値が最小であるポリゴンから順に4つのポリゴンのデータを保持するものとなる。
【0141】
一方、実写画像処理部1502は、実写画像を入力し、クロマキー信号と画素値とを生成する。そして、実写画像処理部1502は、生成したクロマキー信号を実写画像の寄与度として奥行きソート部1503に出力する。また、実写画像処理部1502は、生成した画素値を、画像合成部1505に出力する。
【0142】
奥行きソート部1503は、画像生成部1501よりポリゴンデータのZ値を入力する。また、実写画像の奥行き値としてあらかじめ設定された設定Z値を別途入力する。そして奥行きソート部1503は、画像生成部1501より入力したZ値(ここでは4個)と、設定Z値(1個)とを値が小さい(奥行きが浅い)順に並べ替え(ソート)する。奥行きソート部1503はまた、画像生成部1501よりポリゴンデータの寄与度(4個)を、実写画像処理部1502より実写画像の寄与度(1個)を入力しており、以上5個の寄与度を、先にZ値の順にソートした順番に従って、混合比演算部1504に出力する。
【0143】
混合比演算部1504には、従って、Z値の小さい順にソートされた5個の寄与度が入力されることとなり、混合比演算部1504は、これを順次加算処理することによって混合比を生成する。混合比の生成にあたっては、順次加算の過程において、加算結果が1を超えないならば寄与度をそのまま混合比とし、加算結果が1を超えた場合には、当該加算結果の1の補数を混合比とし、以降は加算を行うことなく、混合比を0とするものである。これにより、混合比が1を超えるオーバーフローを防止するものである。混合比演算部1504は、生成した5個の混合比を画像合成部1505に出力する。
【0144】
画像合成部1505は、混合比演算部1504から入力された5個の混合比を用いて、画像生成部1501、および実写画像処理部1502から入力される画素値を積算処理する。その結果、画像合成部1505においては、CG画像4レベル分と実写画像1レベル分とが合成された合成画像が生成されることとなり、生成された画像は出力画像として画像合成部1505から画像表示部1506に出力され、画像表示部1506において表示される。
【0145】
このように、本実施の形態3の画像合成装置によれば、画像生成部1501、実写画像処理部1502、奥行きソート部1503、混合比演算部1504、画像合成部1505、および画像表示部1506を備えたことで、奥行きソート部1503、混合比演算部1504、および画像合成部1505は、CG画像4レベル分と実写画像1レベル分とを処理することとなり、半透明な物体と不透明な物体とを有するCG画像に対して、その両者の間に実写画像を合成することが可能となり、アンチエリアシング処理を施した物体の背後に実写画像を合成する場合にも高画質の画像を得ることが可能となる。また、本実施の形態3の画像合成装置は、CG生成にあたり4レベル分の信号を処理する従来の技術による画像合成装置を5レベル分の信号を処理するように拡張することで得られ、装置コストを大きく増大することなく、上記の効果が得られるものである。
【0146】
実施の形態4.
本発明の実施の形態4による画像合成装置は、実施の形態1の画像生成装置と同様に画像を生成するものであり、生成されたCG画像と実写画像との合成を実施の形態3の画像合成装置と同様に合成するものである。
図16は本実施の形態4による画像合成装置の構成を示す図である。図示するように、本実施の形態4による画像生成装置は、形状データ分離手段1601、形状データバッファ1602a〜1602c、画像生成部1603a〜1603c、奥行き合成回路1604a〜1604c、混合比演算回路1605、画素混合回路1606、画像表示装置1607、同期信号発生器1608、および実写画像処理部1609を備えたものである。
【0147】
本実施の形態4の画像合成装置が備える形状データ分離手段1601、形状データバッファ1602a〜1602c、画像生成部1603a〜1603c、奥行き合成回路1604a〜1604c、画像表示装置1607、および同期信号発生器1608は、実施の形態1の101、102a〜102c、103a〜103c、104a〜104c、107、および108と同様であり、実写画像処理部1609は、実施の形態3の1502と同様である。なお、本実施の形態4の実写画像処理部1609は、生成したクロマキー信号を実写画像の寄与度として混合比演算回路1605に出力し、生成した実写画像の画素値を画素混合回路1606に出力するものである。
【0148】
混合比演算回路1605は、実施の形態1の混合比演算回路105と同様に混合比を生成するが、本実施の形態4では、実施の形態1と同様に4レベル分のCGについて寄与度と、奥行き値とを入力し、演算に用いるのに加え、実写画像処理部より1レベル分の寄与度を入力し、また、実写画像の奥行き値として設定されたZ値を入力し、これらをも演算に用いるものである点が異なる。
【0149】
画素混合回路1606は、実施の形態1の画素混合回路106と同様に、混合比演算回路1605が生成した混合比に基づいて、出力画像を生成するが、この際に、奥行き合成回路1604cから入力されるCG4レベル分の画素値に加え、実写画像処理部1609から入力される実写画像1レベル分の画素値をも用いて混合処理を行い、出力画像の画素値を生成するものである。
【0150】
本実施の形態4による画像合成装置の動作は、実写画像処理部1609の動作と、上記のような混合比演算回路1605、および画素混合回路1606の動作とを除いて、図2〜図13を用いて説明した、実施の形態1の画像生成装置と同様のものとなる。
【0151】
従って、本実施の形態2の画像合成装置によれば、形状データ分離手段1601、形状データバッファ1602a〜1602c、画像生成部1603a〜1603c、奥行き合成回路1604a〜1604c、混合比演算回路1605、画素混合回路1606、画像表示装置1607、同期信号発生器1608、および実写画像処理部1609を備えたことで、実施の形態1の画像生成装置と同様に、アンチエリアシング処理を半透明処理とを含むCG画像生成を行い、実施の形態3の画像合成装置と同様に、CG画像4レベル分と実写画像1レベル分との画像合成を行うので、バッファとして必要なメモリ量を抑制しつつ、画質の良好なCG画像を生成することが可能であり、実施の形態1の画像生成装置に若干の拡張を加えるのみで、実写画像との合成においても画質の向上を図ることが可能となる。
【0152】
なお、本実施の形態4では、実施の形態1の画像生成装置に対して、実写画像処理部1609を追加する構成としているが、実施の形態2の画像生成装置に対して実写画像処理部を追加する構成とすることも可能であり、実施の形態2と同様にインターレース方式に対応したものとなる。
【0153】
また、実施の形態3、および本実施の形態4においても、実施の形態1、および2と同様に、CG生成におけるレベル数を4としているが、これに限定されるものでなく、コストの許容する範囲内でレベル数を増加することにより画質の向上を図り得るものである。
【0154】
また、実施の形態3、および本実施の形態4においても、実施の形態1、および2と同様に、専用の回路を用いる専用装置として説明しているものであるが、実施の形態3、および4に示した処理を実行する画像合成プログラムをプログラム記録媒体に記録しておき、当該プログラムを汎用コンピュータシステム等において実行することで、実施の形態3、および4に示した画像生成装置を実現することが可能である。プログラム記録媒体としては、実施の形態1、および2で示したのと同様の媒体が使用可能である。
【0155】
そして、図15に示す実施の形態3、および図16に示す実施の形態4の画像合成装置としては、CPUやDSPの制御に従って、画像合成プログラムを実行することで、画像生成部、実写画像処理部、奥行きソート部、混合比演算部、画像合成部(以上、実施の形態3)や、形状データ分離手段、画像生成部、奥行き合成回路、混合比演算回路、画素混合回路(以上、実施の形態4)を実現し、クロック発生装置、およびクロック同期装置により同期信号発生器を実現し、主記憶や補助記憶(記憶装置)により形状データバッファや、画像生成部内のバッファ、奥行き合成回路内の2ポートメモリを実現し、モニタ、ディスプレイ等により画像表示装置を実現することができる。さらに、モニタ等において表示をする代替に、生成した画像を記憶装置等において記録し、当該コンピュータシステム等を編集装置として用いることも可能であり、生成した画像をネットワークシステム等において伝送し、ネットワークコンピュータ等において表示・編集するものとすることも可能である。
【0156】
【発明の効果】
本発明の請求項1の画像生成装置によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備えので、上記ポリゴン識別手段の識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために必要なバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【0157】
請求項2の画像生成装置によれば、請求項1の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものとしたことで、柔軟な隠面処理を伴う画像生成を行うことが可能となる。
【0158】
請求項3の画像生成装置によれば、請求項1の装置において、上記一時保持手段は、複数の領域を有するものであり、上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたものとしたことで、バッファを効率的に活用することが可能となる。
【0159】
請求項4の画像生成装置によれば、請求項1の装置において、上記画像データ演算手段は、上記形状データの単位である表示画素の1個を、縦M列、横M行(M≧2)のサブピクセルに分割し、上記分割により生成した合計M×M個のサブピクセルのうち、M個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものとしたことで、処理負担を軽減し、処理に必要なバッファ容量を低減することが可能となる。
【0160】
請求項5の画像生成装置によれば、請求項4の装置において、上記画像データ演算手段は、上記サンプリングするM個のサブピクセルを、1画素内における同一の縦の列、及び横の行で重ならないように選択するものとしたことで、適切なサンプリングをすることが可能となる。
【0161】
請求項6の画像生成装置によれば、請求項5の装置において、上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものとしたことで、適切なサンプリングを効率的に実行することが可能となる。
【0162】
請求項7の画像生成装置によれば、請求項2の装置において、上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれL個備え、上記L個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送するものとしたことで、処理負担の大きな演算処理をポリゴン群ごとに並行処理が可能なものとし、処理の高速化を図ることが可能となる。
【0163】
請求項8の画像生成装置によれば、請求項7の装置において、上記L個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものとしたことで、後段の奥行き合成手段における処理の迅速化を図ることが可能となる。
【0164】
請求項9の画像生成方法によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含むものとしたことで、上記ポリゴン識別ステップでの識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために必要なバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【0165】
請求項10の画像生成プログラム記録媒体によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録するものとしたことで、当該プログラムをコンピュータシステム等において実行することで、上記ポリゴン識別ステップでの識別結果に従って、不透明なポリゴンに対しては寄与度を用いてアンチエリアシング処理を行い、それ以外のポリゴンに対しては、寄与度を透過度として用いて半透明処理を行い、アンチエリアシング処理を半透明処理とを行うために、コンピュータシステムが備えるべきバッファの容量を抑制しつつ、画質の向上を図ることが可能となる。
【0166】
請求項11の画像合成装置によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、上記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備えものとしたことで、実写画像をもCG画像と同様に扱うので、従来のCG装置に若干の拡張を行うことで、合成画像の画質を向上することが可能となる。
【0167】
請求項12の画像合成装置によれば、請求項11の装置において、上記一時保持手段は、複数の上記奥行き値を格納するものであり、上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたものとしたことで、柔軟な隠面処理を伴う画像合成を行うことが可能となる。
【0168】
請求項13の画像合成方法によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含むものとしたことで、実写画像をもCG画像と同様に扱うので、合成画像の画質を向上することが可能となる。
【0169】
請求項14の画像合成プログラム記録媒体によれば、3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、上記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、上記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、上記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録するものとしたことで、当該プログラムをコンピュータシステム等において実行することで、実写画像をもCG画像と同様に扱って画像合成をするので、合成画像の画質を向上することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1による画像合成装置の構成を示すブロック図である。
【図2】同実施の形態の画像合成装置が備える画像生成部の内部構成を示すブロック図である。
【図3】同実施の形態の画像合成装置が備える画像生成部内の画素生成回路における、サブピクセルへの分解処理を説明するための図である。
【図4】同実施の形態の画像合成装置が備える画像生成部内の画像データ演算回路における、寄与度生成処理を説明するための図である。
【図5】同実施の形態の画像合成装置が備える画像生成部内の画像データ演算回路が、寄与度生成処理のために用いるルックアップテーブルの一例を示す図である。
【図6】同実施の形態の画像合成装置が備える画像生成部内のZバッファ制御回路の内部構成を示すブロック図である。
【図7】同実施の形態の画像合成装置が備える画像生成部内のフレームアドレス生成回路の内部構成を示すブロック図である。
【図8】同実施の形態の画像合成装置が備える奥行き合成回路の内部構成を示すブロック図である。
【図9】同実施の形態の画像合成装置が備える奥行き合成回路内のZソート回路の内部構成を示すブロック図である。
【図10】同実施の形態の画像合成装置が備える奥行き合成回路内のZ値比較回路の内部構成を示すブロック図である。
【図11】同実施の形態の画像合成装置が備える奥行き合成回路内のZ値比較回路における動作例を示す図である。
【図12】同実施の形態の画像合成装置が備える混合比演算回路の内部構成を示すブロック図である。
【図13】同実施の形態の画像合成装置が備える画素混合回路の内部構成を示すブロック図である。
【図14】本発明の実施の形態2の画像合成装置が備える画像生成部内の画像データ演算回路における、寄与度生成処理を説明するための図である。
【図15】本発明の実施の形態3による画像合成装置の構成を示すブロック図である。
【図16】本発明の実施の形態4による画像合成装置の構成を示すブロック図である。
【図17】従来の技術による画像生成装置の構成を示すブロック図である。
【図18】アンチエリアシング処理を説明するための図である。
【図19】アンチエリアシング処理におけるサブピクセルへの分割処理を説明するための図である。
【図20】複数のバッファを用いる処理を説明するための図である。
【図21】従来の技術による画像合成装置の構成を示すブロック図である。
【符号の説明】
101,1601 形状データ分割手段
102,1602(a〜c) 形状データバッファ
103,1603(a〜c) 画像生成部
104,1604(a〜c) 奥行き合成回路
105,1605 混合比演算回路
106,1606 画素混合回路
107,1607 画像表示装置
108,1608 同期信号発生器
1031 幾何変換部
1032 画素生成回路
1033 ポリゴン識別回路
1034 画像データ演算回路
1035 Zバッファ制御回路
1036 ダブルバッファ制御回路
1037a,1037b バッファ群
1038 フレームアドレス生成回路
690 Z値レジスタ
691 タイミング制御回路
692,693 比較回路
694 書き込みアドレス生成回路
10381,10382 カウンタ
1041 Zソート回路
1042 Z値比較回路
1043 タイミング制御回路
10411,10412,10413 Z値レジスタ
10414,10415,10416 比較回路
10417 アドレス生成回路
10418 2ポートメモリ
10421 FIFOメモリ
10422 制御回路
10423 比較器
10424 セレクタ
1051 加算器
1052 アルファレジスタ
1053 インバータ
1054 セレクタ
1055 ANDゲート
1056 制御回路
1061(r,g,b) 乗算器
1062(r,g,b) 加算器
1063(r,g,b) 積算レジスタ
1064(r,g,b) 出力レジスタ
1065 制御回路
1501 画像生成部
1502,1609 実写画像処理部
1503 奥行きソート部
1504 混合比演算部
1505 画像合成部
1506 画像表示部
1701 形状データバッファ
1702 画素生成部
1703 Zバッファ
1704 フレームバッファ
1705 画像表示装置
2101 画像生成部
2102 奥行き合成部
2103 画素混合部
2104 合成キー処理部
2105 画像合成部
2106 画像表示部

Claims (14)

  1. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成装置において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、
    上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、
    上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、
    記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成手段とを備え画像生成装置。
  2. 請求項1に記載の画像生成装置において、
    上記一時保持手段は、複数の上記奥行き値を格納するものであり、
    上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたことを特徴とする画像生成装置。
  3. 請求項1に記載の画像生成装置において、
    上記一時保持手段は、複数の領域を有するものであり、
    上記一時保持手段が有する複数の領域に対するデータの入出力を制御するバッファ制御手段をさらに備えたことを特徴とする画像生成装置。
  4. 請求項1に記載の画像生成装置において、
    上記画像データ演算手段は、上記形状データの単位である表示画素の1個を、縦M列、横M行(M≧2)のサブピクセルに分割し、上記分割により生成した合計M×M個のサブピクセルのうち、M個のサブピクセルをサンプリングして、上記サンプリングしたサブピクセルが、処理対象とするポリゴンに含まれるか否かを判定することによって、上記寄与度を生成するものであることを特徴とする画像生成装置。
  5. 請求項4に記載の画像生成装置において、
    上記画像データ演算手段は、上記サンプリングするM個のサブピクセルを、1画素内における同一の縦の列、及び横の行で重ならないように選択するものであることを特徴とする画像生成装置。
  6. 請求項5に記載の画像生成装置において、
    上記画像データ演算手段は、上記サブピクセルの選択において、特定の位置のサブピクセルを、当該ポリゴンが不透明か否かにかかわらず、全てのポリゴンにおいてサンプリングするものであることを特徴とする画像生成装置。
  7. 請求項2に記載の画像生成装置において、
    上記形状データを、複数のポリゴン群に分割し、各ポリゴン群を部分形状データとして出力する形状データ分割手段をさらに備え、
    上記ポリゴン判定手段、上記画像データ演算手段、および上記奥行き合成手段をそれぞれL個備え、
    上記L個の奥行き合成手段は、直列に接続され、前段の奥行き合成手段からの出力を後段の奥行き合成手段に順次転送することを特徴とする画像生成装置。
  8. 請求項7に記載の画像生成装置において、
    上記L個の奥行き合成手段は、後段に転送する出力を、奥行きの順に並べるものであることを特徴とする画像生成装置。
  9. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成方法において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
    上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
    上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
    記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成方法。
  10. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成する画像生成プログラムを記録したプログラム記録媒体において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
    上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
    上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
    記格納された寄与度と奥行き値とに基づいて、上記格納された画素値を用いて表示画像を生成する画像合成ステップとを含む画像生成プログラムを記録する画像生成プログラム記録媒体。
  11. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成装置において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定手段と、
    上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算手段と、
    上記ポリゴン判定手段が、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成手段と、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持手段と、
    上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理手段と、
    記格納された寄与度と奥行き値と、上記実写画像処理手段が生成する実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理手段が生成する実写画像画素値とを用いて、表示画像を生成する画像合成手段とを備え画像合成装置。
  12. 請求項11に記載の画像合成装置において、
    上記一時保持手段は、複数の上記奥行き値を格納するものであり、
    上記一時保持手段に格納された複数の奥行き値のうち、最大の値を有するものと、処理対象とするポリゴンの奥行き値とを比較し、その比較の結果に基づいて、処理対象とするポリゴンの表示を行うか否かを決定する奥行き合成手段をさらに備えたことを特徴とする画像合成装置。
  13. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成方法において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
    上記形状データから、画像の表示単位である画素ごとの輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
    上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
    上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、
    記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成方法。
  14. 3次元座標で表現され、多角形であるポリゴンの集合である形状データに基づいて3次元的な画像を生成し、上記生成した画像を実写画像と合成し、合成画像を生成する画像合成プログラムを記録したプログラム記録媒体において、
    記形状データに基づいて、ポリゴンごとにポリゴンが不透明であるか否かを判定するポリゴン判定ステップと、
    画素を単位とする上記形状データに対して、輝度と色とを示す画素値と、上記ポリゴンを表示すべき奥行きを示す奥行き値とを生成する画像データ演算ステップと、
    上記ポリゴン判定ステップにおいて、不透明であると判断した場合には上記画素に占める上記ポリゴン内である面積の割合を寄与度とし、不透明ではないと判定した場合には上記ポリゴンの透過度を寄与度とする寄与度生成ステップと、
    記画素値、上記奥行き値、および上記寄与度を格納する一時保持ステップと、
    上記実写画像を処理して、輝度と色とを示す実写画像画素値と、上記実写画像が表示単位である画素において占める割合を示す実写画像寄与度とを生成する実写画像処理ステップと、
    記格納された寄与度と奥行き値と、上記実写画像処理ステップにおいて生成された実写画像寄与度と、あらかじめ設定された実写画像奥行き値とに基づいて、上記格納された画素値と、上記実写画像処理ステップにおいて生成する実写画像画素値とを用いて、表示画像を生成する画像合成ステップとを含む画像合成プログラムを記録する画像合成プログラム記録媒体。
JP30589198A 1997-10-28 1998-10-27 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体 Expired - Lifetime JP4148377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30589198A JP4148377B2 (ja) 1997-10-28 1998-10-27 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9-295123 1997-10-28
JP29512397 1997-10-28
JP10-14408 1998-01-27
JP1440898 1998-01-27
JP30589198A JP4148377B2 (ja) 1997-10-28 1998-10-27 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体

Publications (2)

Publication Number Publication Date
JPH11283047A JPH11283047A (ja) 1999-10-15
JP4148377B2 true JP4148377B2 (ja) 2008-09-10

Family

ID=27280626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30589198A Expired - Lifetime JP4148377B2 (ja) 1997-10-28 1998-10-27 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体

Country Status (1)

Country Link
JP (1) JP4148377B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3635051B2 (ja) 2001-02-01 2005-03-30 株式会社ソニー・コンピュータエンタテインメント 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
AU2003903445A0 (en) 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
GB0426170D0 (en) * 2004-11-29 2004-12-29 Falanx Microsystems As Processing of computer graphics
JP5808407B2 (ja) * 2010-07-19 2015-11-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated アンチエイリアシングされたサンプルの分割ストレージ
JP5234096B2 (ja) * 2010-12-15 2013-07-10 株式会社三洋物産 遊技機
JP5857608B2 (ja) * 2011-10-12 2016-02-10 株式会社ソシオネクスト 画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システム
JP5661134B2 (ja) * 2013-03-12 2015-01-28 株式会社Takumi 画像処理装置及び画像処理方法
JP5967268B2 (ja) * 2015-06-10 2016-08-10 株式会社三洋物産 遊技機
JP2016172137A (ja) * 2016-07-06 2016-09-29 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
JPH11283047A (ja) 1999-10-15

Similar Documents

Publication Publication Date Title
US5408606A (en) Computer graphics system with parallel processing using a switch structure
EP0582875B1 (en) Apparatus for parallel image generation
US6456284B1 (en) Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
JP2675339B2 (ja) 色画像情報を決定する方法
US4808988A (en) Digital vector generator for a graphic display system
US4992780A (en) Method and apparatus for storing a two-dimensional image representing a three-dimensional scene
US4225861A (en) Method and means for texture display in raster scanned color graphic
EP0404911B1 (en) Vertical filtering apparatus for raster scanned display
US6005580A (en) Method and apparatus for performing post-process antialiasing of polygon edges
JP4332934B2 (ja) アンチエイリアシング方法及びこれを用いた画像処理装置
JP2001195050A (ja) グラフィックアクセラレータ
JPH04233086A (ja) 画像生成方法
EP0913795B1 (en) Image generation apparatus, image generation method, image generation program recording medium, image composition apparatus, image composition method, and image composition program recording medium
KR910009102B1 (ko) 화상합성 장치
JP4148377B2 (ja) 画像生成装置、画像生成方法、画像生成プログラム記録媒体、画像合成装置、画像合成方法、および画像合成プログラム記録媒体
US5719598A (en) Graphics processor for parallel processing a plurality of fields of view for multiple video displays
US5920495A (en) Programmable four-tap texture filter
KR20060007054A (ko) 이미지 데이터의 래스터화를 슈퍼샘플링하는 방법 및시스템
EP1026636A2 (en) Image processing
US5740344A (en) Texture filter apparatus for computer graphics system
US5815143A (en) Video picture display device and method for controlling video picture display
WO1992003815A1 (en) Video image formation
JP3696584B2 (ja) 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体
JPH0644382A (ja) 並列画像生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080527

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080619

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130704

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term