JP3735325B2 - 画像生成装置 - Google Patents
画像生成装置 Download PDFInfo
- Publication number
- JP3735325B2 JP3735325B2 JP2002232029A JP2002232029A JP3735325B2 JP 3735325 B2 JP3735325 B2 JP 3735325B2 JP 2002232029 A JP2002232029 A JP 2002232029A JP 2002232029 A JP2002232029 A JP 2002232029A JP 3735325 B2 JP3735325 B2 JP 3735325B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- frame buffer
- data
- pixel data
- drawing command
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
【産業上の利用分野】
この発明は、ビデオゲーム機やグラフィックコンピュータなど、コンピュータグラフィックスを応用した機器で、限られたハードウエア資源の中で、高い可視化(ビジュアライゼーション)性能が要求される場合に適用して好適な画像生成装置に関し、特に、いわゆる半透明処理に関する。
【0002】
【従来の技術】
コンピュータグラフィックスにおいて、通常、3D(3ディメンション=3次元)グラフィックスシステムと呼ばれるものは、現実感のある物体(描画対象の物体をオブジェクトと称する)を描画するに際して、まず、オブジェクトの表面を複数のポリゴン(描画装置が扱う図形の最小単位(三角形や四角形)をポリゴンという)に分解し、各ポリゴンを、モニター表示画面に対応したフレームメモリ(以下フレームバッファという)に、順に、描画することで、立体的に見える画像を再構成する。
【0003】
通常のこの種の画像生成装置では、処理を高速に行わせるために、CPUとフレームバッファの間に専用の描画装置を設ける。CPUは、画像を生成する際に、直接フレームバッファをアクセスするのではなく、三角形や四角形の基本的な図形(ポリゴン)を描画する命令(以下、描画命令と略称する)を生成して描画装置に送る。描画装置は、送られた描画命令を解釈して、フレームバッファに図形を描画する。
【0004】
ところで、コンピュータグラフィックスにおいては、前に表示されていた画像の画素データ(例えば3原色データからなる。以下同じ)と、次に描画しようとする画像の画素データとを所定の比率で混合することにより、半透明処理を行うようにしている。この半透明処理は描画装置で行われ、従来は、描画装置の半透明処理部は、図11に示すような構成とされている。
【0005】
図11において、10はフレームバッファであり、20は描画装置を示している。
描画装置20は、半透明処理のための混合回路21と、フレームバッファ10から画素データを読み出す読み出し回路22と、フレームバッファ10に画素データを書き込む書き込み回路23と、描画装置20に転送されてきた描画命令をデコードする描画命令デコード部24と、描画命令デコード部24でデコードされた描画命令にしたがって描画画像を生成する画像生成回路25と、混合比率メモリ26と、半透明処理の全体を制御する制御部27とを備えている。
【0006】
この場合、描画命令は、混合比率のデータを備えており、描画命令デコード部24で、その混合比率のデータが抽出されて、混合比率メモリ26に格納される。混合比率メモリ26は、画像生成部25からの描画画素位置情報に基づいて、画像生成部25で生成される描画画像を構成する各ピクセル(画素)ごとに混合比率を記憶する。
【0007】
半透明処理は、次のように行われる。すなわち、読み出し回路22によりフレームバッファ10から、これから描画しようとする画素位置の前の画素データVmが読み出され、混合回路21に供給される。また、画像生成部25から、これから描画しようとする画素データVcが混合回路21に供給される。そして、混合比率メモリ26から、これから描画しようとする画素についての混合比率αが読み出されて、混合回路21に供給される。
【0008】
混合回路21では、前記混合比率αで、画素データVmと画素データVcとが混合される。すなわち、(1−α)Vm+αVc=Voなる演算が行われて、混合出力画素データVoが得られる。そして、その混合結果の画素データVoが、書き込み回路23により、フレームバッファ10の、前記読み出された画素データVmと同じアドレス位置に書き戻される。
【0009】
この場合、混合比率αに応じて前の画素の色が新たな画素に残り、半透明の色となって表示される。なお、混合比率α=1であれば、完全不透明であり、混合比率α=0であれば、完全透明となる。
【0010】
【発明が解決しようとする課題】
以上のように、従来の半透明処理においては、混合比率αの値は、描画命令が有していて、それに基づいて混合比率メモリ26に、画素ごとに蓄えられようにされている。このため、混合比率を細かく設定しようとすると、混合比率αのビット数が大きくなり、描画命令のデータ量が大きくなると共に、混合比率メモリ26を容量の大きなものにしなければならなくなる。
【0011】
また、描画装置の構成を簡略化するためには、半透明処理を用いて完全透明処理及び完全不透明処理をも行えるようにする方がよいが、上述のように、半透明処理の場合には、1画素ごとに、フレームバッファ10からの読み出し、混合処理、フレームバッファ10への書き戻し処理の3段階の処理が必要となり、比較的処理時間が長くなる欠点がある。
【0012】
この発明の第1の目的は、描画命令のデータ量が大きくならず、また、混合比率メモリとして容量の小さいものを使用可能である画像生成装置を提供することである。
【0013】
また、この発明の第2の目的は、半透明処理を用いて完全透明処理及び完全不透明処理を、高速に行うことができる画像生成装置を提供することである。
【0014】
【課題を解決するための手段】
上記課題を解決するため、請求項1の発明の画像生成装置は、後述の図1の実施例の参照符号を対応させると、
CPU42で生成した描画命令を描画装置部61に転送し、この描画装置部61で、前記描画命令にしたがって描画を順次実行してフレームバッファ63上に画像を生成する装置において、
描画装置部61は、
フレームバッファ63から前に描画された画像の画素データを読み出す手段102と、
フレームバッファ63から読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路101と、
この混合回路101の混合結果の画素データを、フレームバッファ63の対応する画素位置に書き込む書き込み手段103と、
前記混合比率の複数個を記憶する混合比率記憶部106と、
前記描画命令に含まれる混合比率選択情報に応じて混合比率記憶部106から、混合回路101に供給する混合比率を選択する選択手段107と
を備えることを特徴とする。
【0015】
また、請求項2の発明による画像生成装置は、後述の図8の実施例の参照符号を対応させると、
CPU42で生成した描画命令を描画装置部61に転送し、この描画装置部61で、前記描画命令にしたがって描画を順次実行してフレームバッファ上63に画像を生成する装置において、
描画装置部61は、
フレームバッファ63から前に描画された画像の画素データを読み出す読み出し手段102と、
フレームバッファ63から読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路101と、
この混合回路101の混合結果の画素データを、フレームバッファ63の対応する画素位置に書き込む書き込み手段103と、
混合回路101に供給する前記混合比率を記憶する混合比率記憶部106と、
前記描画命令に含まれる混合処理に関するフラグを抽出して、このフラグの状態を判別するフラグ判別手段109と、
フラグ判別手段109の判別結果から、前記フラグが一の状態のときには、読み出し手段102によるフレームバッファ63からの画素データの読み出しを省略すると共に、前記次に描画しようとする対応する位置の画素データを、そのまま書き込み手段103によりフレームバッファ63の対応する画素位置に書き込むように制御し、前記フラグが他の状態のときには、読み出し手段102によるフレームバッファ63からの画素データの読み出し及び書き込み手段103によるフレームバッファ63への書き込みを省略するように制御する制御手段18とを備えることを特徴とする。
【0016】
【作用】
上記の構成の請求項1の発明においては、描画装置部61の混合比率記憶部106には、あらかじめ混合比率の情報が格納されている。描画命令には、この混合比率記憶部106に格納されている混合比率のどれを使用するかの選択情報が含められ、この選択情報により混合回路101に供給する混合比率が決定される。したがって、各画素単位には、この選択情報を用意すればよい。この選択情報は、混合比率記憶部106に格納されている混合比率の個数分を選択可能なビット数でよいので、混合比率をそのまま持たなければならない従来の場合に比べて少ないビット数でよく、描画命令のデータ量を小さくすることができると共に、混合比率の選択のために必要なメモリ容量も小さくすることができる。
【0017】
また、請求項2の発明においては、判別手段109において、描画命令に含まれる1ビットのフラグにより、完全透明処理(混合比率=0)の場合と、完全不透明処理(混合比率=1)の場合とが判別される。
【0018】
そして、完全透明処理の場合には、読み出し回路102によるフレームバッファ63からの画素データの読み出しが行われず、また、書き込み回路103によるフレームバッファ63への書き戻しも行われない。このため、混合回路101と、読み出し回路102と、書き込み回路103とを備える半透明処理装置を使用する場合であっても、読み出し処理と、書き込み処理とを省略した分だけ、完全透明処理を高速に行える。
【0019】
また、完全不透明処理の場合には、読み出し回路102によるフレームバッファ63からの画素データの読み出しは行われず、書き込み回路103による新たな画素データのみがフレームバッファに書き込まれる。したがって、この場合も、フレームバッファ63からの画素データの読み出し処理が省略される分だけ、高速処理になる。
【0020】
【実施例】
以下、この発明の一実施例について図面を参照しながら説明する。図2は、この発明の一実施例の画像生成装置の構成例を示すもので、この例は3Dグラフィック機能と、動画再生機能とを備えるゲーム機の実施例である。
【0021】
図2において、41はシステムバス(メインバス)である。このシステムバス41には、CPU42、メインメモリ43、ソーティングコントローラ45が接続されている。
【0022】
システムバス41には、また、画像伸長装置部51が、入力用のFIFO(First In First Out)バッファメモリ(以下、FIFOバッファメモリをFIFOバッファと略称する)54及び出力用のFIFOバッファ55を介して接続されている。また、CD−ROMデコーダ52がFIFOバッファ56を介して、描画装置部61がFIFOバッファ62を介して、それぞれシステムバス41に接続されている。
【0023】
また、71は操作入力手段としてのコントロールパッドで、インターフェース72を介してシステムバス41に接続されている。さらに、システムバス41には、ゲーム機としての立ち上げを行うためのプログラムが格納されているブートROM73が接続されている。
【0024】
CD−ROMデコーダ52は、CD−ROMドライバ53に接続されており、CD−ROMドライバ53に装着されたCD−ROMディスクに記録されているアプリケーションプログラム(例えばゲームのプログラム)やデータをデコードする。CD−ROMディスクには、例えば離散コサイン変換(DCT)により画像圧縮された動画や静止画の画像データや、ポリゴンを修飾するためのテクスチャー画像の画像データが記録されている。CD−ROMディスクのアプリケーションプログラムには、ポリゴン描画命令が含まれている。FIFOバッファ56は、CD−ROMディスクの記録データの1セクタ分の容量を有する。
【0025】
CPU42は、システム全体の管理を行なう。また、このCPU42は、物体を多数のポリゴンの集まりとして描画する場合の処理の一部を行う。すなわち、CPU42は、後述もするように、描画命令を生成すると共に、制御命令をメインメモリ43上に生成する。そして、後述するようにして、これら描画命令と制御命令との混在したものである描画命令例をメインメモリ43上において作成する。
【0026】
また、このCPU42は、キャッシュメモリ46を有し、CPUインストラクションの一部は、システムバス41からフェッチすることなく実行できる。さらに、CPU42には、描画命令や制御命令を作成する際にポリゴンについての座標変換演算や制御のための座標値の演算を行なうための座標演算装置部44が、CPU内部コプロセッサとして設けられている。座標演算装置部44は、3次元座標変換及び3次元から表示画面上の2次元への変換の演算を行なう。
【0027】
このように、CPU42は、内部に命令キャッシュ46と座標演算装置部44を有しているため、その処理をシステムバス41を使用しなくても、ある程度行うことができるため、システムバス41を開放しやすい。
【0028】
画像伸長装置部51は、CD−ROMディスクから再生された圧縮画像データの伸長処理を行なうもので、ハフマン符号のデコーダと、逆量子化回路と、逆離散コサイン変換回路のハードウエアを備える。ハフマン符号のデコーダの部分は、CPU42がソフトウエアとしてその処理を行うようにしてもよい。
【0029】
この例の場合、画像伸長装置部51は、1枚(1フレーム)の画像を、例えば16×16ピクセル(画素)程度の小領域(これを以下マクロブロックと称する)に分割して、このマクロブロック単位で画像伸長デコードを行う。そして、このマクロブロック単位でメインメモリ43との間でデータ転送が行われる。したがって、FIFOバッファ54及び55は、マクロブロック分の容量を備えるものとされている。
【0030】
描画装置部61には、ローカルバス11を介してフレームメモリ63が接続されている。描画装置部61は、FIFOバッファ62を介してメインメモリ43から転送されてくる描画命令を実行して、その結果をフレームメモリ63に書き込む。FIFOバッファ62は、1命令分のメモリ容量を有する。
【0031】
フレームメモリ63は、描画画像を記憶する画像メモリ領域と、テクスチャー画像を記憶するテクスチャーメモリ領域と、カラールックアップテーブル(色変換テーブルCLUT)が格納されるテーブルメモリ領域とを備える。
【0032】
図3は、フレームメモリ63のメモリ空間を示すものである。フレームメモリ63は、カラムとロウの2次元アドレスでアドレシングされる。この2次元アドレス空間のうち、領域ATがテクスチャーメモリ領域とされる。このテクスチャー領域ATには、複数種類のテクスチャーパターンを配置することができる。ACは色変換テーブルCLUTのテーブルメモリ領域である。
【0033】
後述するように、色変換テーブルCLUTのデータは、CD−ROMディスクからCD−ROMデコーダ52を通じて、ソーティングコントローラ45により、フレームメモリ63に転送される。CD−ROMのテクスチャー画像のデータは、画像伸長装置部51によりデータ伸長され、メインメモリ43を介してフレームメモリ63に転送される。
【0034】
また、図3において、ADは画像メモリ領域であり、描画するエリアと、表示するエリアの2面分のフレームバッファ領域を備えている。この例では、現在表示用として用いているフレームバッファ領域を表示バッファ、描画を行っているフレームバッファ領域を描画バッファと呼ぶこととする。この場合、一方を描画バッファとして描画を行っている間は、他方は表示バッファとして用い、描画が終了したら、両バッファを互いに切り換える。この描画バッファと表示バッファの切り換えは、描画終了時に、垂直同期に合わせて行う。
【0035】
フレームメモリ63の表示バッファから読み出された画像データは、D/Aコンバータ64を介して画像モニター装置65に出力され、その画面に表示される。
【0036】
ソーティングコントローラ45は、いわゆるDMAコントローラと同様の機能を備え、メインメモリ43と画像伸長装置部51との間での画像データの転送を行ったり、メインメモリ43から描画装置部61に描画命令列を転送したりするもので、転送手段を構成している。このソーティングコントローラ45は、CPU42やコントロールパッド71などの他の装置がシステムバス41を開放している間隙をぬって、CPU42の介在なしに前記の転送処理を行う。この場合、CPU42がシステムバス41の開放をソーティングコントローラ45に知らせるようにすることもできるし、ソーティングコントローラ45が強制的にCPU42にバスの開放を要求するようにすることもできる。
【0037】
メインメモリ43は、動画や静止画の画像データに対しては、圧縮された画像データのメモリ領域と、伸長デコード処理された伸長画像データのメモリ領域とを備えている。また、メインメモリ43は、描画命令列などのグラフィックスデータのメモリ領域(これを以下パケットバッファという)を備える。
【0038】
このパケットバッファは、CPU42による描画命令列の設定と、描画命令列の描画装置部への転送とに使用され、CPU42と、描画装置部61とが共有することになる。CPU42と、描画装置部61とで処理を並列に動作するようにするため、この例では、描画命令列の設定用のパケットバッファ(以下、これを設定パケットバッファという)と、転送用のパケットバッファ(以下、これを実行パケットバッファという)との2つのパケットバッファが用意されており、一方を設定パケットバッファとしているときには、他方は実行パケットバッファとして使用し、実行パケットバッファで実行が終了したら、2つのパケットバッファの機能を交換するようにしている。
【0039】
図2の例の装置(ゲーム機)に電源が投入され、CD−ROMディスクが装填されると、ブートROM73のゲームを実行するためのいわゆる初期化処理をするためのプログラムがCPU42により実行される。そして、CD−ROMディスクの記録データが取り込まれる。このとき、CD−ROMディスクの各セクタのユーザーデータ中の識別用情報IDに基づいて各ユーザーデータのデコード処理がなされ、データのチェックが行われる。このチェック結果により、CPU42は、各IDで示される内容の再生データに応じた処理を実行する。
【0040】
すなわち、CD−ROMディスクから、圧縮画像データ、描画命令及びCPU42が実行するプログラムが、CD−ROMドライバ53、CD−ROMデコーダ52を介して読み出され、ソーティングコントローラ45によってメインメモリ43にロードされる。そして、ロードされたデータのうち、色変換テーブルの情報は、フレームメモリ63の領域CLUTに転送される。
【0041】
[圧縮画像データの伸長及び転送]
メインメモリ43の入力データのうち、圧縮画像データは、CPU42がハフマン符号のデコード処理を行った後、再びCPU42によりメインメモリ43に書き込まれる。そして、ソーティングコントローラ45は、このハフマン符号のデコード処理後の画像データをメインメモリ43からFIFOバッファ54を介して画像伸長装置部51に転送する。
【0042】
伸長された画像データは、ソーティングコントローラ45が、FIFOバッファ55を介してメインメモリ43に転送する。この場合、画像伸長装置部51は、前述したように、マクロブロック単位で画像データの伸長処理を行う。このため、メインメモリ43からは前記マクロブロック単位の圧縮データが入力用FIFOバッファ54に、ソーティングコントローラ45により転送される。そして、画像伸長装置部51は、1マクロブロックの伸長デコード処理が終了すると、その結果の伸長画像データを出力用FIFOバッファ55に入れると共に、入力用FIFOバッファ54から次のマクロブロックの圧縮データを取り出して、伸長デコード処理を行う。
【0043】
ソーティングコントローラ45は、システムバス41が開放されていて、かつ、画像伸長装置部51の出力用FIFOバッファ55が空でなければ、1マクロブロックの伸長画像データをメインメモリ43に転送し、次の1マクロブロックの圧縮画像データをメインメモリ43から画像伸長装置部51の入力用FIFOバッファ54に転送する。
【0044】
CPU42は、伸長された画像データのマクロブロックが一定量、メインメモリ43に蓄積された時点で、当該伸長データを描画装置部61を介してフレームメモリ63に転送する。この際に、伸長画像データがフレームメモリ63の画像メモリ領域ADに転送されれば、そのまま背景動画像として画像モニター装置65で表示されることになる。また、フレームメモリ63のテクスチャーメモリ領域ATに転送される場合もある。このテクスチャーメモリ領域ATの画像データは、テクスチャー画像として、ポリゴンの修飾に使用される。
【0045】
[描画命令列についての処理と転送]
物体の面を構成するポリゴンは、3次元的な奥行きの情報であるZデータに従って奥行き方向の深い位置にあるポリゴンから順に描画することにより、2次元画像表示面に立体的に画像を表示することができる。CPU42は、このように奥行き方向の深い位置にあるポリゴンから順に、描画装置部61で描画が行われるようにするための描画命令の列をメインメモリ43上に作成する。
【0046】
図4Aは、この例の命令IPのデータ構造の一例の概略を示すものである。すなわち、このデータ構造は、ヘッダ部と、命令データ部とからなる。
【0047】
ヘッダ部は、タグTGとコマンド識別コードCODEとからなる。タグTGには、次の描画命令あるいは制御命令が格納されているメインメモリ43上のアドレスが書き込まれる。コマンド識別コードCODEは、その命令がどのような命令であるかを示す識別データIDPを備えると共に、必要に応じてその命令にとって必要な他の情報を含む。命令データ部PDには、座標値やその他のパラメータが書き込まれる。この命令データ部PDのパラメータは、命令IPごとに定まっている。
【0048】
タグTGは、次のような役割をする。コンピュータグラフィックスでは、3次元画像を2次元画面に描画するため、奥行きの深い方から順に描画を行う必要がある。このためには、メインメモリ43から、描画順序にしたがった描画命令を、順次に描画装置部61に転送する必要がある。
【0049】
従来のDMAコントローラによりメインメモリ43から描画装置部61にDMA転送する場合には、描画命令を実行順にメインメモリ43上で並べ変える処理、つまり、描画命令の格納アドレス位置を変更する処理を行わなければならない。しかし、それでは、並べ換えの処理のために時間がかかり、リアルタイム処理が困難になる。
【0050】
そこで、この例では、描画命令に前述のようなタグTGを設け、このタグTGをCPU42が描画命令順となるように書き換える。ソーティングコントロール45は、このタグTGを辿って描画命令を描画装置部61に転送する。CPU42は、描画命令自身のメインメモリ43上でのアドレス位置を変更することなく、ポリゴン描画の表示優先順位を決定する処理をメインメモリ43上において行うことができる。
【0051】
図4Bは、ポリゴン描画命令の一例を示すものである。このポリゴン描画命令は三角形ポリゴンの描画命令であり、この場合、コマンド識別コードCODEの識別データIDPは、それを示す内容となっている。また、そのポリゴンの中を1色でマッピングする場合には、コードCODEの、必要な他の情報として、マッピングする3原色の色データ(R,G,B)を含んでいる。そして、命令データのパラメータとして、3頂点の座標(X0,Y0),(X1,Y1),(X2,Y2)が記述されている。さらに、パラメータには、後で詳述するように、半透明処理のためのインデックスデータINDXが含まれている。
【0052】
CPU42は、コントロールパッド71からのユーザーの操作入力に基づいて、物体や視点の動きを計算し、メインメモリ43上に描画命令を作成する。ついで、Zデータによって、描画命令のタグTGを、描画順序の通りに書き換えて、メインメモリ43上において、描画命令列を生成するようにする。このとき、メインメモリ43上の各命令のアドレスは、変更されずに、タグのみが書き換わる。
【0053】
この描画命令列が完成すると、ソーティングコントローラ45は、図5に示すように、各描画命令IP1,IP2,IP3,…,IPnを、そのタグTG1,TG2,TG3,…,TGnに従って順番にたどって、1命令毎に、メインメモリ43から描画装置部61に転送する。このため、FIFOバッファ62は、1命令分の容量を備えていればよい。
【0054】
描画装置部61では、送られてきたデータが、既にソーティングされた状態にあるので、命令IP1,IP2,IP3,…,IPnを、順次実行してフレームメモリ63の描画領域ADに結果を格納する。
【0055】
なお、ポリゴン描画の際、データは、描画装置部61の勾配計算ユニットに送られ、勾配計算が行なわれる。勾配計算は、ポリゴン描画で多角形の内側をマッピングデータで埋めていく際、マッピングデータの平面の傾きを求める計算である。テクスチャーの場合はテクスチャー画像データでポリゴンが埋められ、また、グーローシェーディングの場合は輝度値でポリゴンが埋められる。
【0056】
物体の表面を構成するポリゴンにテクスチャーを貼り付ける場合には、テクスチャー領域ATのテクスチャーデータが2次元写像変換される。例えば、図6Aに示すようなテクスチャーパターンT1,T2,T3は、図6Bに示すような物体の各面のポリゴンに適合するように、2次元スクリーン上の座標に変換される。このように写像変換されたテクスチャーパターンT1,T2,T3が図6Cに示すように、物体OB1の表面に貼り付けられる。そして、これが、画像メモリ領域ADに配置され、画像表示モニター65の表示画面上に表示される。
【0057】
静止画テクスチャーの場合には、メインメモリ43上のテクスチャーパターンが、描画装置部61を介して、フレームメモリ63上のテクスチャー領域ATに転送される。描画装置部61は、これをポリゴンに貼り付ける。これにより、物体に静止画のテクスチャーが実現される。この静止画のテクスチャーパターンのデータは、CD−ROMディスクに記録しておくことができる。
【0058】
更に、動画のテクスチャーが可能である。つまり、動画テクスチャーの場合には、前述したように、CD−ROMディスクからの圧縮された動画データは、一旦、メインメモリ43に読み込まれる。そして、この圧縮画像データは、画像伸長装置部51に送られる。画像伸長装置部51で、画像データが伸長される。
【0059】
そして、伸長された動画データはフレームメモリ63上のテクスチャー領域ATに送られる。テクスチャー領域ATは、フレームメモリ63内に設けられているので、テクスチャーパターン自身も、フレーム毎に書き換えることが可能である。このように、テクスチャー領域ATに動画を送ると、テクスチャーが1フレーム毎に動的に書き換えられて変化する。このテクスチャー領域の動画により、ポリゴンへのテクスチャーマッピングを行えば、動画のテクスチャーが実現される。
【0060】
前述したように、画像伸長装置部51で伸長した画像データを、フレームメモリ63上の画像メモリ領域ADに送れば、背景画の動画を画像モニター装置65のスクリーン上に表示することができるし、CPU42により作成した描画命令により生成される描画画像のみで画像メモリ領域ADを埋めて、画像表示モニター65のスクリーンに描画することもできる。また、画像メモリ領域AD上で、CD−ROMディスクからの画像データを伸長して得た静止画の上に、CPU42によるポリゴン描画により物体を描画することも可能である。
【0061】
[半透明処理の第1の実施例の説明]
図1は、描画装置部61における半透明処理回路部分の第1の実施例のブロック図を示すものである。
【0062】
すなわち、半透明処理のために、描画装置部61は、混合回路101と、フレームバッファ63から画素データを読み出す読み出し回路102と、フレームバッファ63に画素データを書き込む書き込み回路103と、描画装置部61に転送されてきた描画命令をデコードする描画命令デコード部104と、描画命令デコード部104でデコードされた描画命令にしたがって描画画像を生成する画像生成回路105と、混合比率テーブルメモリ106と、混合比率テーブルメモリ106から、いずれの混合比率を選択して混合回路101に供給させるかを指定するインデックスデータを記憶するインデックスメモリ107と、半透明処理の全体を制御する制御部108とを備えている。
【0063】
混合比率テーブルメモリ106には、例えば図7に示すような混合比率βが、あらかじめ格納されている。ここで用意される混合比率βは、半透明処理によく使用される混合比率である。この混合比率テーブルは、あらかじめメモリ106に初めからに設定しておいてもよいが、CD−ROMディスクから転送するようにしてもよい。
【0064】
前述の図3Bに示した描画命令に含まれるインデックスデータは、この混合比率テーブルの各混合比率を選択するための選択情報となる。つまり、描画命令中のインデックスデータは、図7の混合比率テーブルのインデックス番号に対応(メモリ106のアドレスに対応)するものであり、これによりメモリ106から当該インデックス番号の混合比率を選択して読み出すことができる。
【0065】
この描画命令中のインデックスデータは、描画命令デコード部104で抽出され、インデックスメモリ107に供給されて、格納される。この場合、インデックスメモリ107は、画像生成部105からの描画画素位置情報に基づいて、画像生成部105で生成される描画画像を構成する各ピクセル(画素)ごとにインデックスデータを記憶する。
【0066】
この場合、半透明処理は、次のように行われる。すなわち、読み出し回路102によりフレームバッファ63から、これから描画しようとする画素位置の画素データVaが読み出され、混合回路101に供給される。また、画像生成部105から、これから描画しようとする画素データVbが混合回路101に供給される。
【0067】
一方、インデックスメモリ107から、これから描画しようとする画素についてのインデックスデータが読み出され、読み出されたインデックスデータにより混合比率テーブルメモリ106から混合比率βが選択されて、読み出される。
【0068】
そして、この混合比率βが、混合回路101に供給される。混合回路101では、前記混合比率βで、画素データVaと画素データVbとが混合される。すなわち、(1−β)Va+βVb=Veなる演算が行われて、混合出力画像データVeが得られる。そして、その混合結果の画素データVeが、書き込み回路103により、フレームバッファ63の、前記読み出された画素データVaと同じアドレス位置に書き戻される。
【0069】
この場合、混合比率βに応じて前の画素の色が、新たな画素に残り、半透明の色となって表示される。なお、混合比率β=1であれば、完全不透明であり、混合比率β=0であれば、完全透明となる。
【0070】
[半透明処理の第2の実施例の説明]
図8は、描画装置部61における半透明処理回路部分の第2の実施例のブロック図を示すものである。この例の場合には、描画命令のデータには、完全透明処理か、完全不透明処理のためのフラグが含められる。
【0071】
図9は、この例の場合の描画命令の一例を示す。すなわち、この例の場合の描画命令は、命令識別コードCODEの部分に前記フラグFを、1ビットのデータとして有する。命令データのパラメータにインデックスデータINDXを含むのは、前述の第1の実施例と同様である。
【0072】
そして、この例の場合、混合比率テーブルとしては、図10に示すように、混合比率β=0と、β=1とを有しない。
【0073】
そして、図8に示すように、半透明処理のための描画装置部61の構成は、前述の図1の例の各回路ブロックに加えて、フラグ判別回路109が設けられる。そして、描画命令デコード部104は、描画命令中からのフラグFを抽出してこのフラグ判別回路109に供給する。フラグ判別回路109は、フラグFが完全不透明処理を示すときには、完全不透明の処理として認識し、その判別結果を制御部108に供給する。また、フラグFが完全透明処理を示すときには、完全透明の処理として認識し、その判別結果を制御部108に供給する。描画命令デコード部104からのフラグFは、当該描画命令による画像生成が行われている間、常にフラグ判別回路109に供給される。
【0074】
制御部108は、フラグFの判別出力により、完全不透明処理であるときには、読み出し回路102によるフレームバッファ63からの画素データの読み出し処理をさせない。そして、制御部108は、画像生成回路105からの画素データを混合回路101を通じてのそのままフレームバッファ63に供給するように制御し、書き込み回路103を、その画素データを描画しようとする画素位置に書き込むように制御する。これにより、当該画素は、新たな画素データのみとなり、完全に前の画素が新たな画素により隠される。
【0075】
制御部108は、また、フラグFの判別出力により、完全透明処理であるときには、読み出し回路102によるフレームバッファ63からの画素データの読み出し処理と、書き込み回路103による書き込み処理を行わせない。この結果、描画を行おうとする画素位置には、前の画素データがそのまま残り、完全透明の状態となって、表示される。
【0076】
なお、図8の例は、インデックスデータにより混合比率テーブルから混合比率を読み出すようにする発明と、高速処理のための発明とを合わせた実施例であるが、高速処理のためには、従来のような混合比率αを描画命令ごとに備え、この混合比率αを記憶するメモリを使用する半透明処理であってもよい。
【0077】
なお、以上の例では、CD−ROMディスクに画像データやアプリケーションプログラムを記録したが、記録媒体としては、例えば磁気ディスク、メモリカードのような半導体メモリなどの他の記録媒体を使用することもできる。
【0078】
【発明の効果】
以上説明したように、第1の発明によれば、描画命令は、半透明処理のための混合比率そのものを持つ必要はなく、描画装置部が備える混合比率テーブルの内の希望する混合比率を選択するためのインデックスデータを持てばよいので、少ないビット数でよくなる。また、描画装置部は、混合比率テーブルを記憶するメモリと、インデックスデータとを記憶するメモリを備えればよいので、メモリ容量の小さいメモリを使用することができる。
【0079】
また、第2の発明によれば、半透明処理回路を使用する場合であっても、完全不透明処理の場合には、フレームバッファからの画素データの読み出しを省略することができ、また、完全透明処理の場合には、フレームバッファからの画素データの読み出しと、フレームバッファへの画素データの書き戻しを省略することができるので、高速の処理が可能になる。
【図面の簡単な説明】
【図1】この発明による画像生成装置の要部の一実施例のブロック図である。
【図2】この発明による画像生成装置の一実施例の全体の構成のブロック図である。
【図3】この発明の一実施例におけるフレームメモリ領域の説明のための図である。
【図4】この発明の一実施例における命令のデータ構造例を示す図である。
【図5】この発明の一実施例における描画命令の転送例を示す図である。
【図6】テクスチャーマッピングの説明のための図である。
【図7】この発明の第1の実施例における混合比率テーブルの例を示す図である。
【図8】この発明の第2の実施例の要部のブロック図である。
【図9】この発明の第2の実施例の場合の描画命令の例を示す図である。
【図10】この発明の第2の実施例の場合の混合比率テーブルの例を示す図である。
【図11】従来の半透明処理回路を説明するためのブロック図である。
【符号の説明】
41 システムバス
42 CPU
43 メインメモリ
44 座標演算装置部
45 ソーティングコントローラ
46 キャッシュメモリ
51 画像伸長装置部
52 CD−ROMデコーダ
53 CD−ROMドライバ
54、55 FIFOバッファ
61 描画装置部
62 FIFOバッファ
63 フレームメモリ
65 画像表示モニター装置
71 コントロールパッド
AD 画像メモリ領域
AT テクスチャー領域
101 混合回路
102 読み出し回路
103 書き込み回路
104 描画命令デコード部
105 画像生成回路
106 混合比率テーブルメモリ
107 インデックスメモリ
108 制御部
109 フラグ判別回路
Claims (3)
- CPUで生成した描画命令を描画装置部に転送し、この描画装置部で、前記描画命令にしたがって描画を順次実行してフレームバッファ上に画像を生成する装置において、
前記描画装置部は、
前記フレームバッファから前に描画された画像の画素データを読み出す手段と、
前記フレームバッファから読み出された画素データと、次に描画しようとする対応する位置の画素データとを、指定された混合比率で混合する混合回路と、
この混合回路の混合結果の画素データを、前記フレームバッファの対応する画素位置に書き込む書き込み手段と、
前記描画命令に含まれる識別情報を抽出して、この識別情報の状態を判別する識別情報判別手段と、
前記識別情報判別手段の判別結果から、前記識別情報が完全不透明処理を示すときは、前記読み出し手段によるフレームバッファからの画素データの読み出しを省略すると共に、前記次に描画しようとする対応する位置の画素データを、そのまま前記書き込み手段により前記フレームバッファの対応する画素位置に書き込むように制御する制御手段と、を備える画像生成装置。 - 前記制御手段は、
前記識別情報判別手段の判別結果から、前記識別情報が完全透明処理を示すときは、前記読み出し手段によるフレームバッファからの画素データの読み出し及び前記書き込み手段による前記フレームバッファへの書き込みを省略するように制御する請求項1記載の画像生成装置。 - 操作入力手段をさらに備え、
前記CPUは、操作入力手段が受け付けた操作入力に応じて、前記描画命令を生成すると共に、前記描画命令中の識別情報の設定を行う請求項1または2のいずれかに記載の画像生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002232029A JP3735325B2 (ja) | 2002-08-08 | 2002-08-08 | 画像生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002232029A JP3735325B2 (ja) | 2002-08-08 | 2002-08-08 | 画像生成装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09571694A Division JP3462566B2 (ja) | 1994-04-08 | 1994-04-08 | 画像生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003150975A JP2003150975A (ja) | 2003-05-23 |
JP3735325B2 true JP3735325B2 (ja) | 2006-01-18 |
Family
ID=19196300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002232029A Expired - Lifetime JP3735325B2 (ja) | 2002-08-08 | 2002-08-08 | 画像生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3735325B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005107780A (ja) * | 2003-09-30 | 2005-04-21 | Sony Corp | 画像混合方法および混合画像データ生成装置 |
JP4539828B2 (ja) * | 2004-08-30 | 2010-09-08 | 富士ゼロックス株式会社 | 描画処理装置及び描画処理方法 |
JP2009261756A (ja) * | 2008-04-28 | 2009-11-12 | Daito Giken:Kk | 遊技台 |
JP6821924B2 (ja) * | 2016-03-02 | 2021-01-27 | 株式会社リコー | 画像処理装置、画像処理方法 |
-
2002
- 2002-08-08 JP JP2002232029A patent/JP3735325B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003150975A (ja) | 2003-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100380705B1 (ko) | 화상생성방법및장치와,게임재생장치 | |
JP3492761B2 (ja) | 画像生成方法及び装置 | |
KR100411534B1 (ko) | 영상데이터생성방법,생성장치및생성회로,및게임재생장치 | |
JPH07281652A (ja) | 画像処理装置 | |
JP3462566B2 (ja) | 画像生成装置 | |
JP3454914B2 (ja) | 画像生成方法および画像生成装置 | |
JP3735325B2 (ja) | 画像生成装置 | |
JP3238567B2 (ja) | 画像生成方法及び装置 | |
JP4174026B2 (ja) | 画像処理装置 | |
CA2350844C (en) | Method and apparatus for producing a polygonal image representation through operation of plotting commands on image data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
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: 20051018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051021 |
|
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: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121028 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131028 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |