JPH09282486A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPH09282486A
JPH09282486A JP8090740A JP9074096A JPH09282486A JP H09282486 A JPH09282486 A JP H09282486A JP 8090740 A JP8090740 A JP 8090740A JP 9074096 A JP9074096 A JP 9074096A JP H09282486 A JPH09282486 A JP H09282486A
Authority
JP
Japan
Prior art keywords
data
memory
dimensional
pixel
empty
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.)
Pending
Application number
JP8090740A
Other languages
English (en)
Inventor
Yoshifumi Furuta
好史 古田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8090740A priority Critical patent/JPH09282486A/ja
Publication of JPH09282486A publication Critical patent/JPH09282486A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 論理演算機能のハードウエア化を容易とし、
画像処理の高速化を図る。また、より多種類の立体を表
現する。 【解決手段】 複数の立体要素を組み合わせて新たな立
体をつくる画像処理装置であって、各立体要素に関して
画素値データ、深さデータ、空/実データおよび作業デ
ータを組として記憶可能な立体データメモリを備える。
入力手段が各データを上記メモリに書き込み、配列手段
が各データ組を深さデータの順に配列する。演算手段が
空/実データおよび作業データに対して立体要素の組み
合わせに対応する空/実演算を行い、データ更新手段が
空/実演算結果を各データ組の空/実データとして書き
換える。深さデータ、画素データおよび書換後の空/実
データにより生成された立体が表現され、これらのデー
タを用いてZバッファ処理が行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像処理装置、特に
複数の立体要素を組み合わせて新たな立体をつくる画像
処理装置に関する。
【0002】
【従来の技術】
「従来技術1」3次元情報として記憶された物体(立
体)をディスプレイ等の2次元投影面上に投影して描く
際に、「遠くにある物体は、近くの重なって見える位置
にある物体に遮られて見えない」という処理(陰面処
理)をしなければならない。この陰面処理のアルゴリズ
ムの一つに、以下に説明するZバッファ法がある。
【0003】Zバッファ法では、画像データとして投影
面に表示されている画素値(輝度、色等、以下同じ)を
格納するフレームバッファとは別に、各画素に対応する
物体表面のZ座標値(奥行き情報、すなわち視線方向の
深さ)を格納するデプスバッファが設けられる。そし
て、新しく入力された物体表面のZ座標値がデプスバッ
ファに格納されているZ座標値と比較される。比較の結
果、新しく入力された物体の方が前面にある場合は、フ
レームバッファのデータ及びデプスバッファのデータを
新しく入力された物体に係るデータに更新する。このよ
うにして、常に前面にある物体のみが表示される。
【0004】上記のように、Zバッファ法のデータ処理
は単純であるので、このデータ処理機能はハードウエア
装置にて容易に構成することができる。そこで、従来、
Zバッファ法による陰面処理を行う専用画像処理装置が
実用化され、グラフィックワークステーション(以下G
WS)等に設けられている。この専用画像処理装置に
は、中央演算処理装置から立体の情報が入力される。そ
して、上記のZバッファ法により投影面の画素値が決定
されてディスプレイ等の表示装置に出力される。このよ
うな専用処理装置を設けることにより中央演算処理装置
の負担が軽減する。またハードウエア構成とすることに
よりZバッファ法のデータ処理が高速に行われる。従っ
て、描画速度を向上することができる。
【0005】「従来技術2」画面に描かれる画像は複数
の物体から構成され、各々の物体は複数の基本図形を組
み合わせて結合したものであると考えることができる。
このような考えに基づき、複数の基本図形を組み合わせ
て物体を表現することが行われている。この基本図形を
組み合わせる技術としては、和、積、差の論理演算を行
うことが知られている。
【0006】従来、GWS等の画像処理システムでは、
一般に、上記の基本図形の論理演算は、画像処理システ
ムの中央演算処理装置にて行われる。すなわち、中央演
算処理装置に組み込まれたソフトウエア上に、基本図形
を論理演算する機能が設けられている。組み合わせにて
生成された物体の情報は、例えば従来技術1に示した画
像処理装置に送られる。
【0007】「従来技術3」特開昭63−10287号
公報には、従来技術1のデプスバッファを複数にして、
複数の基本図形を組み合わせる論理演算と、Zバッファ
処理の両機能を備える画像処理装置が開示されている。
同公報の装置では、二つの距離パラメータと輝度をセッ
トにしたデプスバッファが一つの画素に対して複数設け
られていて、各デプスバッファには一つの基本図形が格
納される。この際、基本図形上の近い側と遠い側の点
が、上記二つの距離パラメータとして格納される。そし
て、デプスバッファに格納された複数の基本図形が論理
演算により組み合わされ、演算により生成された物体が
さらに他のデプスバッファに格納される。
【0008】
【発明が解決しようとする課題】画像処理システムの処
理速度を高速化するため、中央演算処理装置のソフトウ
エアに組み込まれている処理機能の一部を備えたハード
ウエアを別体に設け、この別体のハードウエアに中央演
算処理装置の一部機能を負担させることが考えられてい
る。その一つが前述の従来技術1であり、Zバッファ処
理をハードウエア構成の専用画像処理装置にて行うよう
に構成されている。ここで、データ処理機能をハードウ
エア化する場合には、対象とするデータ処理が単純であ
り、データ処理量が少ないことが求められる。ハードウ
エア構成では、ソフトウエアの場合の如く複雑なデータ
処理を行うように構成することが困難だからである。
【0009】本発明の目的は、中央演算処理装置のソフ
トウエアにて行われているデータ処理として、従来技術
2に説明した如く複数の基本図形を組み合わせて物体を
作る処理を行うことが可能であって、ハードウエアにて
容易に構成できる画像処理装置を提供することにある。
そのために、本発明では、上記複数の基本図形を組み合
わせるデータ処理を単純かつ小量のデータ処理にて行う
画像処理装置を提供する。そしてこのような装置の提供
により、画像処理速度を高速化することを目的とする。
【0010】さらに本発明の目的は、上記複数の基本図
形を組み合わせて物体を作るデータ処理と、作った物体
を用いてのZバッファ処理を併せて行うことが可能であ
り、両機能を一体化することによりさらに処理速度を高
速化できる画像処理装置を提供することにある。
【0011】さらに本発明は、下記のような各種機能を
備え、より多機能化した画像処理装置を提供することを
目的とする。; (1)視点が処理対象の立体の内部/外部のどちらにあ
るときにも論理演算を行うことができる画像処理装置 (2)括弧付きの論理演算式をそのまま容易に実行する
ことができる画像処理装置 (3)演算途中に発生する冗長データを除去することに
より、さらに画像処理速度を向上することが可能な画像
処理装置 (4)3次元空間内に設定した光源との位置関係を基
に、着目する物体が他の物体の影になっているか否かを
判断することが可能な画像処理装置 (5)入力された物体の物質の種類を区別することが可
能であり、例えば、流体解析などのシミュレーションの
入力データ提供といったニーズに対応可能な画像処理装
置 (6)透明、半透明の物体を表現することが可能な画像
処理装置 (7)多角形の代表データを基に多角形内各部の情報を
発生させる回路を内蔵することにより、多角形の描画を
高速化することが可能な画像処理装置。
【0012】「従来技術3と本発明の関係」なお、従来
技術3では、前述の如く、複数の立体の論理演算とZバ
ッファ処理機能を備えた画像処理装置が開示されている
が、同装置の特徴はデプスバッファを複数化したことに
とどまる。しかし、このような装置をハードウエアにて
構成するためには、データ処理内容を極力単純化し、か
つデータ処理量を最小限とするように構成することが要
求される。本発明は、このような要求に応え、ハードウ
エアにて容易に構成することができる画像処理装置を提
供するものである。
【0013】さらに従来技術3では、各デプスバッファ
に二つの距離パラメータ用メモリのみが設けられてい
る。従って、視線上において演算結果が2つ以上の領域
に分かれるような状況(例えば中空円筒形状)には対応
することができない。このように従来技術3では、表現
可能な形状が制限されている。本発明は、上記のような
演算結果が2つ以上の領域に分かれる場合も表現可能で
あり、より多種類の形状を表現可能な画像処理装置を提
供するものである。
【0014】
【課題を解決するための手段】本発明は、複数の立体要
素を組み合わせて新たな立体をつくる画像処理装置であ
って、各立体要素に関して少なくとも画素値データ、深
さデータ、空/実データおよび作業データを組として記
憶可能な立体データメモリと、所望の立体要素に関する
各データを順次前記立体データメモリに書き込む入力手
段と、前記立体データメモリに書き込まれた各データ組
を深さデータのデータ順に配列する配列手段と、前記空
/実データおよび前記作業データに対して、立体要素の
所望の組合わせに対応した空/実演算を行う演算手段
と、前記空/実演算結果を各データ組の空/実データと
して書き換えるデータ更新手段とを備える。
【0015】ここで、「立体要素」は、従来技術に説明
した基本図形に相当し、「立体」は従来技術において複
数の基本図形を組み合わせた物体に相当する。また「画
素値データ」とは、画面上の各画素に表示する情報を表
す値をいい、例えば輝度や色などである。また「深さデ
ータ」とは、視線上における立体要素の深さをいう。ま
た「空/実データ」とは、視線上における立体の空/実
状態を表すデータである。また「空/実演算」とは、立
体要素を組み合わせた立体における空/実データを得る
ための演算であり、例えば和、積または差の論理演算で
ある。また「作業データ」とは、空/実演算を行うため
に書き込まれるデータであり、「空/実データ」の他に
「作業データ」を書き込むことにより、各立体要素に組
み合わせ相手の立体要素の空/実データが与えられる。
【0016】上記構成によれば、立体要素に関する各デ
ータが立体データメモリに書き込まれるとともに、各デ
ータ組が深さデータのデータ順に配列される。配列され
たデータ組に書き込まれた空/実データおよび作業デー
タに対して空/実演算が行われる。そして、空/実演算
結果を各データ組の空/実データとして書き換える。画
素値データおよび深さデータと書換後の空/実データに
より、立体要素を組み合わせて作られた新たな立体が表
現される。なお、上記において、各データ組の配列後に
空/実データおよび作業データを空/実演算可能な状態
に書き換えるように構成することができる。
【0017】また本発明の好適な態様では、さらに、画
面上の画素値データを記憶する画素メモリと、この画素
メモリに記憶された画素値データに対応する立体の深さ
データを記憶する深度メモリと、を備え、前記立体デー
タメモリの深さデータ、画素値データおよび前記データ
更新手段による書換後の空/実データに基づいて、前記
深度メモリおよび前記画素メモリを書き換える。
【0018】上記構成によれば、深さデータ、画素値デ
ータおよびデータ更新手段による書換後の空/実データ
により組み合わせ後の新たな立体が表現され、この立体
のデータに基づいて画素メモリおよび深度メモリが書き
換えられる。この書換は、Zバッファ法のデータ処理に
従って行うことができる。
【0019】また本発明の一態様では、前記立体データ
メモリには、視点が各立体要素の内部または外部にある
こと示す視点情報を書き込み可能であり、該視点情報に
基づいて視点が各立体要素の内部または外部にあるとき
の前記空/実演算を行う。
【0020】この構成によれば、視点が各立体要素の内
部または外部のどちらにある場合にも、立体要素を組み
合わせた新たな立体を表現する情報を求めることができ
る。
【0021】また本発明の一態様では、前記立体データ
メモリに記憶される各データ組から、前記空/実演算対
象以外のデータ組を検出して前記立体データメモリ内で
待避させるデータ待避手段を備え、前記演算手段は、前
記データ待避手段により待避されていないデータ組を前
記空/実演算対象のデータ組として前記空/実演算を行
う。
【0022】この構成は、括弧付き演算式のような組み
合わせ処理を行う場合に対応するものである。すなわ
ち、上記構成によれば、空/実演算対象以外のデータ組
(括弧外)を待避させておき、空/実演算対象のデータ
組(括弧内)の演算を行うことができる。
【0023】また本発明の一態様では、前記データ更新
手段により空/実演算結果にて前記各データ組の空/実
データが書き換えられた状態で、空/実データの内容が
同一であり連続配置されたデータ組を冗長データとして
検出し、この冗長データを一つのデータ組にまとめる冗
長データ処理手段を備えたことを特徴とする。
【0024】ここで冗長データが発生する場合として
は、例えば、ある立体要素に他の立体要素が完全に埋め
込まれてしまう場合や、立体要素の存在しない空間から
ある立体要素を引き算した場合が想定される。上記の構
成によれば、冗長データを一つにまとめることによりデ
ータ量を削減することができる。
【0025】さらにまた本発明は、3次元空間内の所定
光源位置に光源を設定する光源設定手段と、画面上への
前記光源位置の投影と該画面上の着目画素の間に介在す
る介在画素を抽出する介在画素抽出手段と、前記立体デ
ータメモリに記憶された前記深さデータを基に、前記着
目画素および前記介在画素に対応する視線上の立体と前
記光源位置の位置関係を求め、前記着目画素に対応する
視線上の立体が影になっていることを検出する影画素検
出手段とを備える。この構成によれば、立体データメモ
リに記憶された各立体が影になっていることを検出でき
るので、画面上に影を表現することができる。
【0026】さらにまた本発明では、前記立体データメ
モリは、さらに、各立体要素の物質の種類の情報を記憶
可能である。この構成によれば、入力された立体の物質
の種類を区別することができる。
【0027】さらにまた本発明では、前記立体データメ
モリは、さらに、各立体要素に関する透明度情報を記憶
可能であり、前記所望の組み合わせにて生成された立体
の画素値を前記透明度情報に基づいて調整する。この構
成によれば、透明度情報に基づいて画素値を調整するこ
とにより、画面上に透明、半透明の物体を表現すること
ができる。
【0028】さらにまた本発明では、計算機から入力さ
れた多角形の代表データを基に、該多角形内の各点に対
応して、前記立体データメモリに書き込むデータ組を作
成する多角形内部データ生成手段を備え、前記入力手段
が、この多角形内部データ生成手段にて生成されたデー
タ組を前記立体データメモリに書き込む。この構成によ
れば、多角形内部データ生成手段を本発明の画像処理装
置に内蔵することにより、多角形の描画を高速化するこ
とができる。
【0029】
【発明の実施の形態】以下、本発明の好適な実施の形態
について図面に基づき説明する。
【0030】[実施形態1]一般に、画面上に描かれる
絵は、複数の物体(立体)から構成され、さらに、その
物体は複数の基本図形を結合したものである。本装置
は、計算機から送られてきた基本図形の3次元形状を論
理演算にて結合し、さらに陰面処理を行い、これらの処
理により画面上に表示すべき画素値を決定して表示装置
に出力する。
【0031】図1は、実施形態1の画像処理装置の機能
ブロック図である。同図に示すように、本画像処理装置
は、データ処理対象の基本図形等を格納する表示記憶部
1と、表示記憶部1に格納されたデータの処理を行う表
示演算部2と、表示記憶部1から表示装置の画面に表示
すべきデータを読みとって出力する表示処理部3とを備
える。
【0032】図2は、表示記憶部1に設けられたメモリ
の構成を示している。同図(a)に示すように、表示記
憶部1は、画面上の画素の色値を格納するフレームバッ
ファ5と、この画素が表示している物体の視線上の深さ
位置として深さデータ(深度)を格納するデプスバッフ
ァ6と、この画像処理装置に計算機から入力された基本
図形を表すデータが書き込まれる記憶単位7とを備えて
いる。同図に示すように、フレームバッファ5、デプス
バッファ6および記憶単位7は、画素毎に設けられてい
る。
【0033】次に、記憶単位7の構成を説明する。記憶
単位7は、複数の記憶要素8を配列して構成されてい
る。各記憶要素8には、視線上の基本図形のデータ、す
なわち視線と基本図形が交わる箇所における基本図形に
関するデータが格納される。例として、基本図形が円柱
の場合を考える。円柱の形状は、その外表面(円筒面)
により表現され、そして、この外表面と視線は2箇所で
交わる。従って記憶単位7中の2つの記憶要素8にデー
タが格納される。なお、入力された基本図形は、原則と
して、深さ位置の小さいものから順に配列するように記
憶単位7の記憶要素8に書き込まれる。この配列は、複
数の基本図形が入力された場合にも同様に行われる。
【0034】図2(b)は、記憶要素8のメモリ構成を
示している。同図において、色情報記憶部9は、赤
(R)、緑(G)、青(B)各8ビットの合計24ビッ
トからなり、基本図形の色値を格納する。また深度記憶
部10は、16ビットからなり、基本図形の視線上の深
さ位置として深さデータ(深度)を格納する。さらに状
態記憶部11は、1ビットであり、視線上の基本図形の
深層側の空/実を表す状態値を格納する。状態値は、そ
の記憶要素8に書かれている深さ位置から深い方向に向
かって実状態(ものがつまっている)の場合に1、空状
態の場合に0とするように設定されている。例えば円柱
形状の場合、視点に近い側の表面では状態値が1であ
り、視点から遠い側の表面では状態値が0である。さら
に記憶要素8には、1ビットからなる作業領域12が設
けられている。この作業領域12は、記憶単位7に書き
込まれた基本図形の論理演算を行うために使用される。
作業領域12の記憶内容は、後述するデータ処理におい
て説明する。以上、記憶要素8は、24ビットの色情報
記憶部9と、16ビットの深度記憶部10と、1ビット
の状態記憶部11と、1ビットの作業領域12の合計4
2ビットからなる。なお、記憶単位7中の記憶要素8は
42ビツト巾のバスで連結されており、記憶要素8のデ
ータをひとまとめにして同一記憶単位7内で高速転送で
きるようになっている。
【0035】次に、表示演算部2の構成について説明す
る。表示演算部2は、図1に示すように、バッファメモ
リ15、比較演算回路16、メモリ転送回路17、論理
演算回路18およびデプスカウンタ19とを備える。
【0036】バッファメモリ15は、表示記憶部1の記
憶要素8と同じ構造(図2(b))であり、42ビット
からなる。バッファメモリ15には、計算機から送られ
てきた基本図形のデータが一時的に貯えられる。計算機
からは、基本図形のデータとして、上記の色値、深度、
状態値が送られてくる。なお、その他の形態のデータを
計算機から入力し、上記の色値、深度、状態値に変換す
るように構成してもよい。
【0037】比較演算回路16は、表示演算部2内でバ
ッファメモリ15およびデプスカウンタ19とつながっ
ており、また、深度記憶部10に対応する16ビット幅
のバスで表示記憶部1とつながっている。比較演算回路
16は、バッファメモリ15に入れられた深さデータ
と、表示記憶部1の記憶要素8に格納されている深さデ
ータを比較する。そして、バッファメモリ15に入れら
れたデータを書き込むべき記憶単位7内の記憶要素8の
位置を検出し、この位置をデプスカウンタ19に入れ
る。この際、デプスカウンタ19のデータを記憶要素8
に書き込んだときに、深さデータの小さい基本図形デー
タから順に配列されるように書込み位置を設定する。
【0038】メモリ転送回路17は、表示演算部2内で
バッファメモリ15およびデプスカウンタ19とつなが
っており、また、記憶要素8に対応する42ビット幅の
バスで表示記憶部1とつながっている。メモリ転送回路
17は、デプスカウンタ1に格納された書込み位置のデ
ータを参照し、記憶単位7内でこの書込み位置より後ろ
側にある記憶要素8のデータを一段後ろ側に転送すると
ともに、バッファメモリ15の中のデータを書込み位置
データの示す記憶要素8に転送する。なお、上記の比較
演算回路16とメモリ転送回路17は、本実施形態およ
び後述する他の実施形態において、データ処理に必要な
記憶単位7内のメモリ転送を適宜行う。このメモリ転送
も、上記と同様の機能により、メモリバッファ15、デ
プスカウンタ19を利用して行われる。
【0039】論理演算回路18は、後述するデータ処理
に従って、記憶要素8の状態記憶部11と作業領域12
のデータを操作する。この操作には、データの論理演
算、コピー、書換等が含まれる。
【0040】以上説明したように、表示演算部2は、表
示記憶部1へのデータの入力手段および配列手段であ
り、さらに入力したデータの論理演算や書換等を行うデ
ータ処理手段である。
【0041】表示処理部3は、表示演算部2による後述
のデータ処理の後に、表示記憶部1のフレームバッファ
5に格納された画素値を読みとって表示装置へ出力す
る。
【0042】次に、本画像処理装置の動作とともに、デ
ータ処理内容を説明する。ここでは、例として、図3〜
5に示す基本図形1および基本図形2が計算機から入力
された場合のデータ処理を説明する。同図は、本装置で
想定される3次元空間を、視線を含む面で切った断面を
示している。同図において、画面上の各点は画素であ
る。画素a、bから画面に対して垂直にのびる線は視線
である。図面下方の横軸には、視線上の深さ位置が示さ
れている。基本図形1、2は各々中実円柱であり、その
断面が図示されている。画素aを通る視線が基本図形1
と交わる点をA、B、基本図形2と交わる点をC、Dと
する。また、画素bを通る視線が基本図形1と交わる点
をE、F、基本図形2と交わる点をG、Hとする。基本
図形1はE、A、B、Fの順に、基本図形2はG、C、
D、Hの順に描いていくものとする。
【0043】また、以下においては、下記式、すなわち
基本図形1、2の和、積、差の論理演算を行った物体を
生成する場合について説明する。
【0044】
【数1】基本図形2+基本図形1 基本図形2*基本図形1 基本図形2−基本図形1 図3には上記の和演算の結果が、図4には積演算の結果
が、図5には差演算の結果が示されている。ここで論理
演算式の演算子(+、*、−)の前に位置する図形およ
びこれに関するデータを被オペランド、演算子の後に位
置する図形およびこれに関するデータをオペランドと定
義する。本例では、基本図形2が被オペランド、基本図
形1がオペランドである。
【0045】以後説明するデータ処理は、大別して「基
本図形の書込み」「論理演算前処理」「論理演算」およ
び「出力処理」とからなる。ここでは、まず、図3〜5
における画素aに対応するデータに着目してデータ処理
内容を説明する。
【0046】「基本図形の書込み」この処理では、基本
図形1、2のデータが記憶単位7の記憶要素8に書き込
まれる。この書込み処理は、比較演算回路16とメモリ
転送回路17により、前述した各構成の機能に従って行
われる。また、書込みの際の状態記憶部11および作業
領域12のデータの操作は論理演算回路18により行わ
れる。
【0047】なお、和演算と積演算の場合は、演算に係
る基本図形を演算子の前後で入れ替えても結果には影響
しないが、差演算の場合は影響する。今、「基本図形2
−基本図形1」という演算を行おうとしているから、基
本図形2(すなわち被オペランド)から描かねばならな
い。
【0048】まず、すべての記憶要素8において、状態
記憶部11が0、深度記憶部10が無限大に初期化され
ている。また、作業領域12も0に初期化されている。
【0049】この初期状態から、被オペランドである基
本図形2が書き込まれる。被オペランドを書き込む場
合、状態記憶部11には、当該被オペランドの状態値が
書き込まれる。図6(a)は、基本図形2を描き終えた
時点での記憶単位7の内容を示している。同図におい
て、Zc、Zdは、図3の点C、Dの深度であり、図3
に示した横軸上の深さ位置に対応している。また、C
c、Cdは、点C、Dの色値である。図3に示されるよ
うにZc<Zdであるから、図6(a)の最上段に点C
のデータが、その次に点Dのデータが書き込まれてい
る。また、図3から明らかなように、点Cにおける状態
値は1(深層側が実状態)であり、点Dにおける状態値
は0(深層側が空状態)である。
【0050】次に、オペランドである基本図形1が書き
込まれる。図6(b)は、基本図形1として点A、Bを
書き込んだ状態を示している。図3に示されるようにZ
a<Zb<Zc<Zdである。従って、図(b)では、
図(a)の状態から点C、Dのデータが3、4段目に転
送され、点A、Bのデータが1、2段目に書き込まれ、
その結果、各データが深さ位置の順に配列されている。
【0051】本装置においてオペランドは以下の規則に
従って書き込まれる。図6(b)もこの規則に従って書
込みが行われた状態となっている。
【0052】(1)まず、状態記憶部11にはなにも書
かず、作業領域12にオペランドのデータであることを
示す値として1を書き込む (2)上記(1)によりなにも書かれなかった空欄の状
態記憶部11に、一つ表層側にある状態記憶部11のデ
ータをコピーする。ただし、最表層側(図中の1段目)
の記憶要素8に書き込まれたオペランドデータの場合
は、状態記憶部11を0で埋める。
【0053】以上の規則に従った結果、図6(b)にお
いて、点C、Dの作業領域12はともに1であり、状態
記憶部11は0となっている。
【0054】「論理演算前処理」基本図形1、2の書込
み後に、論理演算回路18が下記の規則に従って前処理
を行う。図6(c)は、この前処理を行った結果を示し
ている。
【0055】(1)記憶単位7を表層側から捜査して、
記憶要素8の作業領域12に最初に1が現れる層から、
次に1が現れる層までの作業領域12を1で埋める(図
6(c)では、作業領域12のデータ1が連続している
ので、この操作によるデータの書換はない) (2)上記(1)の操作の後、作業領域12において連
続している最後の1を0に書き換える。この最後の1
は、前処理を行う前においてオペランドを示す値として
書いてあった1である。図6(c)では、点Bのデータ
(表層側から捜査しているので点Bのデータが最後の1
となる。)が1から0に反転している。この操作は、元
々データがオペランドであることを示すための符号が書
かれていた作業領域12のデ一タを、オペランドの状態
値(奥にものがある場合は1、空の場合は0)に置き換
えることを意味する。
【0056】なお、図形が複雑で3個以上のオペランド
が挿入される場合、0の領域と1の領域が交互に現れ
る。
【0057】以上の前処理の結果、図6(c)に示すよ
うに、作業領域12にはオペランドの状態値、状態記憶
部11には波オペランドの状態値が入ったことになる。
つまり、作業領域12には、基本図形1に関する深さ位
置Za〜Zdにおける状態値が入っている。すなわち、
図3に示されるように、基本図形1にとって深さZaに
ある点Aの状態値は1であり、深さZb、Zc、Zdに
ある点B、C、Dの状態値は0である。また、状態記憶
部11には、基本図形2に関する深さ位置Za〜Zdに
おける状態値が入っている。すなわち、基本図形2にと
って点Cの状態値は1であり、点A、B、Dの状態値は
0である。図6(c)の作業領域12、状態記憶部11
には、このことが示されている。
【0058】「論理演算」論理演算は、論理演算回路1
8により、図8の規則に従って行われる。論理演算は、
記憶要素8毎に、上記の前処理後に作業領域12と状態
記憶部11に書かれたデータを対象として行われる。図
5中、オペランドの欄は作業領域12に書かれたデータ
であり、また、被オペランドの欄は状態記憶部11に書
かれたデータである。論理演算結果は、更新状態値とし
て、当該記憶要素8の状態記憶部11を更新して書き込
まれる。
【0059】演算結果は、図6(d)(和演算)、図6
(e)(積演算)、図6(f)(差演算)に各々示され
ている。この例では、合成される図形は、基本図形1と
基本図形2のみから形作られるから、行われる論理演算
はこれで全てである。図6(d)〜(f)と図3〜5を
参照すると明らかなように、論理演算結果の更新状態値
は、論理演算により生成された物体における点A〜Dの
状態値を示している。例えば図3において点A、Cは深
層側に実状態であり、図6(d)において更新状態値は
1である。また図3において点B、Dは深層側に空状態
であり、図6(d)において更新状態値は0である。
【0060】「出力処理」更新状態値を書き込んだ後、
表層側からみて状態記憶部11の値が初めて1となる記
憶要素8が書換対象として検出される。この記憶要素8
のデータは、更新状態値が深層側に実状態であり、かつ
最も深度が小さい(表層側)データである。すなわち、
この記憶要素8は、論理演算により形成された物体にお
いて視点から見える点に関するデータを格納している。
検出した記憶要素8に格納された深度と色値がデプスバ
ッファ6およびフレームバッファ5に送られる。図示の
例では、和演算の場合はZaとCa、差演算の場合はZ
cとCcが送られる。ただし、積演算の場合は、最後ま
で状態値が1となる記憶要素8はないので、デプスバッ
ファ6等へは何も送り出されない。
【0061】次に、上記の検出した記憶要素8から送ら
れた深度が、デプスバッファ6に格納されている深度と
比較される。そして、記憶要素8からの深度の方が小さ
い(表層側)の場合には、デプスバッファ6が記憶要素
8からの深度にて書き換えられる。この書換とともに、
フレームバッファ5が、上記に検出した記憶要素8の色
情報記憶部9の色値にて書き換えられる。
【0062】表示処理部3は、フレームバッファ5に格
納された色値を読みとって表示装置へと出力する。以上
が本画像処理装置によるデータ処理の内容である。
【0063】次に、画素bに対応するデータの処理内容
を説明する。図8は、画素bのデータ処理の内容を前述
の図6と同様の形式で示している。
【0064】「基本図形の書込み」では、まず画素aの
場合と同様に、基本図形2の点G、Hのデータが書き込
まれる(図8(a))。次に基本図形1の点E、Fのデ
ータが書き込まれる(図8(b))。ここでは、点G、
Hのデータが順次一つづつ奥に送られ、点Eに関するデ
ータが先頭に書き込まれる。さらに点Hのデータが一つ
奥に送られ、点Fのデータが書き込まれる。こうして、
各データが深さ位置の順に配列される。また点Eは最表
層側のデータであるので、前述の規則に従い状態記憶部
11に0が書き込まれる。また点Fの状態記憶部11に
は、点Gの状態値1がコピーされている。
【0065】「論理演算前処理」では、前述の規則に従
い作業領域12に最初に1が現れる点Eから、次に1が
現れる点Fまでの層(すなわち点Gの層)の作業領域1
2が1で埋められる。そして作業領域12で連続してい
る最後の1、すなわち点Fのデータの作業領域12の1
が0に反転される(図8(c))。
【0066】「論理演算」および「出力処理」は、前述
の画素aの場合と同様に行われる。図8(d)〜(f)
は、論理演算結果を示している。
【0067】次に、図9に示すように、同軸上に位置す
る2つの円柱形状が基本図形として入力された場合のデ
ータ処理を説明する。ここで、大きい円柱である基本図
形2を被オペランドとし、小さい円柱である基本図形1
をオペランドとし、差演算(基本図形2−基本図形1)
を行うものとする。この場合、差演算により中空の円筒
が生成される。従って画素cに対応する視線上では、論
理演算後に物体の存在する領域が2つ(点A〜点Cの領
域と、点D〜点Bの領域)に分かれる。このような場合
にも、本画像処理装置によれば、以下に説明するよう
に、演算後の形状を表現できる。
【0068】図10は、図9に対応したデータ処理の内
容を示している。図10(a)は、「基本図形の書込
み」が行われた状態である。同図において、点C、Dの
状態値は、点Aの状態値1をコピーしたものである。図
10(b)は、「論理演算前処理」を行った状態であ
る。そして図10(c)は、「論理演算」により差演算
を行った結果である。同図において、点A、点Dの更新
状態値は1であり、深層側が実状態であることを示して
いる。また点C、点Bの更新状態値は0であり、深層側
が空状態であることを示している。従って、図10
(c)の更新状態値は、点Aから点Cまでと、点Dから
点Bまでが実状態であることを表現している。このよう
に、本画像処理装置では、論理演算後に物体の存在する
領域が視線上で2つ以上に分かれる場合でも、演算後の
形状を正確に表現することができる。
【0069】以上に本実施形態の画像処理装置について
説明した。なお、上記の例では、いずれも2つの基本図
形を対象とするデータ処理を取り上げて説明した。これ
に対し、3つ以上の基本図形が入力された場合も、順次
所望の論理演算が行われ、入力された3つ以上の基本図
形を組み合わせた物体が生成される。
【0070】ここで、本装置で行われるデータ処理をみ
ると、 1)16ビットの比較演算 2)42ビット幅のバスを介しての記憶要素8単位での
データ転送 3)1ビットのデータのコピー 4)隣り合った1ビットの論理演算 5)Zバッファ法に従ったデータ処理 とその種類は限られている。従って、本画像処理装置
は、上記に説明したように簡単な構造であり、ハードウ
エアとして容易に構成することができる。このハードウ
エア構成とすることと、データ処理量が少ないことの両
効果により、画像処理を高速化することが可能である。
【0071】[実施形態2]本実施形態は、視点が基本
図形の内部/外部にあるときに、同様の処理にて論理演
算を行うことができる画像処理装置である。なお、本実
施形態において、実施形態1と同様の装置構成およびデ
ータ処理については、説明を省略する。
【0072】上記実施形態1は、視点はいかなる基本図
形の内部にも含まれないことを暗黙の内に仮定して画像
処理装置が設定されていた。これに対し、論理演算の素
材となる基本図形が内部に視点を含んでおり、論理演算
にて合成された物体は視点を中に含まない(すなわち視
点から見える物体)という場合もある。このような場合
にも対応可能な装置構成とすることにより、画像処理装
置にて表現可能な形状の種類がさらに多くなる。本実施
形態は、このような観点に立ち、視点が基本図形の内部
にある場合にも適用可能に構成された画像処理装置であ
る。
【0073】図11(a)は、本実施形態の表示記憶部
1′の構成を示している。本実施形態では、前述の実施
形態1の表示記憶部1に対して、視点を含む図形がある
か否かを示す値を保持する視点情報メモリ21が追加さ
れている。図11(b)は、視点情報メモリ21の構成
を示している。視点情報メモリ21は、オペランド、被
オペランドの各々についての情報を保持するオペランド
視点メモリ22、被オペランド視点メモリ23を有して
いる。ここで、オペランドが視点を内部に含んでいると
きはオペランド視点メモリ22に1が保持され、視点を
内部に含まないときは同メモリに0が保持される。被オ
ペランド視点メモリ23も同様である。オペランド視点
メモリ22および被オペランド視点メモリ23は、各々
1ビットである。
【0074】次に、本実施形態のデータ処理について説
明する。実施形態1と同様に、計算機から送られてくる
データには、基本図形の色値、深度および状態値が含ま
れている。入力された基本図形は、記憶単位7の各記憶
要素8へ書き込まれる。この際、オペランド視点メモリ
22、被オペランド視点メモリ23は、最も前面にある
記憶要素8のデータの状態値を反転して保持する。論理
演算の前処理段階では、表層側から作業領域12に1が
現れるまで、オペランド視点メモリ22に保持されてい
る値を作業領域12に書き込む。0反転する場合は元か
らある1も0に換える。そして、1が現れるごとに値を
反転して書き込む。従って、オペランド視点メモリ22
に保持されている値が0であるならば、作業領域12の
値は実施形態1と同じになる。一方、オペランド視点メ
モリ22に保持されている値が1の場合(視点が図形の
内部にある場合)は実施形態1と逆の数値が作業領域1
2に書き込まれる。
【0075】論理演算に際しては、各記憶要素8の状態
記憶部11と作業領域12の値により、実施形態1と同
様の論理演算が行われ、演算結果の更新状態値をもって
状態記憶部11が更新される。論理演算の際、被オペラ
ンド視点メモリ23とオペランド視点メモリ22の値の
間でも、上記と同様の論理演算が行われ、演算結果は被
オペランド視点メモリ22に書き込まれる。
【0076】以上のデータ処理を、図12、図13の具
体例に基づいて説明する。図12に示すように、ここで
は、基本図形1と基本図形2の円柱の積演算が行われ
る。そして、視点は、基本図形1の内部であって、基本
図形2の外部にある。
【0077】まず、基本図形1が被オペランドであり、
基本図形2がオペランドである場合(すなわち、「基本
図形1*基本図形2」の演算を行う場合)について説明
する。図13(a)〜(d)は、この場合のデータ処理
内容を示している。
【0078】図13(a)は、基本図形1が描かれた状
態である。同図に示すように、注目している視線に対応
する点Aのデータが入力されている。また、点Aの状態
値が0であるので、被オペランド視点メモリ23はこの
値を反転した値1を保持している。図13(b)は、さ
らに、基本図形2が描かれた状態である。点Bの状態値
が1であるので、オペランド視点メモリ22の値は0で
ある。図13(c)は、作業領域12の値をオペランド
の状態値に変更したところであり、図14(d)は、状
態記憶部11と作業領域12の値を積演算し、また被オ
ペランド視点メモリ23とオペランド視点メモリ22の
値を積演算した結果を示している。
【0079】次に、基本図形2が被オペランドであり、
基本図形1がオペランドである場合(すなわち、「基本
図形2*基本図形1」の演算を行う場合)について説明
する。図13(e)〜(h)は、この場合のデータ処理
内容を示している。
【0080】図13(e)は、基本図形2が描かれた状
態である。点Bの状態値が1であるので、被オペランド
視点メモリ23はこの値を反転した値0を保持してい
る。図13(f)は、さらに、基本図形1が描かれた状
態である。点Aの状態値が0であるので、オペランド視
点メモリ22の値は1になる。図13(c)は、作業領
域12の値をオペランドの状態値に変換したところであ
る。ここで、オペランド視点メモリ22の値が1である
ため、実施形態1のときと比べると、値が逆になってい
ることに注目されたい。
【0081】[実施形態3]本実施形態は、前述の各実
施形態に対して、括弧付きの論理演算式を演算する機能
を付加した画像処理装置である。なお、本実施形態にお
いて、前述の各実施形態と同様の装置構成およびデータ
処理については、説明を省略する。
【0082】上記の各実施形態は、前述のデータ処理に
従い、論理演算式の先頭の被オペランドから順次処理し
ていくように構成されている。これに対し、括弧付きの
論理演算式を処理する場合、括弧部分から先に演算する
必要がある。具体的には、例えば「X*(Y−Z)」と
いう論理演算式に対しては、(YーZ)から先に演算す
る必要がある。本装置は、下記に説明するように、括弧
付き演算式に対応して演算の途中経過を一時待避させる
ように構成され、括弧付きの論理演算を行う機能を付加
されている。
【0083】本装置における、括弧付き演算式に対応す
るためのデータ処理の内容について説明する。このデー
タ処理では、以下の(ステップ1)〜(ステップ3)の
処理が順次行われる。
【0084】(ステップ1)演算途中に「(」に対応す
るデータが送られてくると、それまでに計算されたデー
タが一つ深層側の記憶要素8に移される。これととも
に、移されたデータの表層側の記憶要素8に、深さ位置
が無限大の仮データが置かれる (ステップ2)「(」以降に入力されるデータは、この
無限大の仮データより表層側に置かれて演算される。こ
こで、仮データより表層側では、前述の実施形態1と同
様にしてデータ処理が行われる (ステップ3)「)」に相当するデータが送られてくる
と、無限大の仮データが取り除かれる。そして、仮デー
タの深層側および表層側にあるデータが深さ位置の順に
並び換えられて、実施形態1と同様のデータ処理が行わ
れる。
【0085】上記では、「(」の入力前に記憶要素8に
格納されていたデータは、仮データの深層側に待避され
る。そして、「(」から「)」まで、すなわち括弧内の
論理演算が、実施形態1のデータ処理に従って実行され
る。「)」の入力により、待避していたデータと、括弧
内の演算済みのデータとにより、さらに実施形態1に説
明したデータ処理が行われる。
【0086】以上のデータ処理を具体例に基づいて説明
する。図14は、下記式の論理演算を行う場合のデータ
処理を示している。
【0087】基本図形1*(基本図形2−基本図形3) ここで、各基本図形は前述と同様の中実円柱である。着
目している画素に対応する視線上には、6個の点A〜F
があり、点A、B(深さZa、Zb)は基本図形1に、
点C、D(深さZc、Zd)は基本図形2に、点E、F
(深さZe、Zf)は基本図形3に属する。
【0088】図14(a)は、上記(ステップ1)(ス
テップ2)が終了した状態である。同図は、以下の過程
を経た状態である。まず基本図形1(点A、B)が読み
込まれる。そして、「(」の入力とともに一つ深層側の
記憶要素8に移され、深さ位置が無限大の仮データが置
かれる。そして、括弧内の基本図形2、3のデータが仮
データの表層側に読み込まれて、実施形態1と同様のデ
ータ処理により論理演算が行われる。ここで、図示のよ
うに、(基本図形2−基本図形3)の演算結果は、前述
の図9に対応する中空円筒形状を示している。
【0089】図14(b)(c)は上記(ステップ3)
に対応している。同図(b)では、括弧の中で演算され
たデータはオペランドにあたるので、その状態値は作業
領域12に移されている。また、「)」の読み込みとと
もに、仮データが取り除かれて、点A〜点Fのデータが
深さ位置の順に並び換えられている。同図(c)では、
空欄がつめられている。この状態から実施形態1に説明
した論理演算が行われる。
【0090】以上の説明では、待避データと括弧内のデ
ータの境界を示すために、深度が無限大の仮データを用
いた。これに対し、記憶要素8のビット数をひとつ増や
し、そのビットに境界を示すフラグを立てても、同様の
操作が行える。
【0091】[実施形態4]本実施形態は、前述の各実
施形態に対して、冗長データを除去する機能を付加した
画像処理装置である。本装置では、前述の各実施形態と
同様のデータ処理が行われる。そして、さらに、論理演
算後に以下に説明する如く冗長データを除去する処理を
行う。この冗長データの除去処理は、論理演算式全体の
終了後のみでなく、演算途中の各段階の論理演算が終了
する度に行われる。なお、本実施形態において、前述の
各実施形態と同様の装置構成およびデータ処理について
は、説明を省略する。
【0092】図15(a)は、演算結果が冗長データを
含む場合の具体例である。同図は、前述の図6(f)に
相当している。同図において、1段目と2段目は、なに
もない空間から基本図形を引き算した状態である。従っ
て、1段目と2段目のデータは、視点から見える形状の
データではない。また以降にさらなる論理演算を行った
としても、演算結果できる物体に影響を及ぼさない。す
なわち、1段目と2段目のデータは冗長データである。
【0093】各画素を通る視線において、上記の如くな
にもないところから引き算をした場合、あるいは、演算
の結果、ある物体が他の物体に完全に埋めこまれている
場合には、上記のような冗長データが発生する。記憶単
位7で見ると、記憶要素8の状態記憶部11に続けて同
じデータが書き込まれている部分が冗長データに相当す
る。本装置では、以下の規則に従って冗長データを除去
する。
【0094】(1)論理演算の直後に状態記憶部11を
捜査して、状態記憶部11に同じデータが2回以上続け
て現れた場合、それらを一つにまとめる(深層側の記憶
要素8のデータを削除する)。削除されたデータより深
層側の記憶要素8のデータを表層側に転送する。
【0095】(2)最表層のデータについては、下記
(a)(b)により冗長データであるか否かを判断し、
冗長データである場合には、データを削除する。
【0096】(a)(実施形態1に適用する場合):最
表層より視点側に状態値0(物体がない)の仮想的なデ
ータがあると考えて、(1)と同様の判断をする。
【0097】(b)(実施形態2に適用する場合):視
点の状態値を保持する視点情報メモリ21が表層側にあ
ると考える。
【0098】図15(b)は、以上の規則に従って図1
5(a)の冗長データを削除した結果である。この場
合、上記(2)(a)に基づき最表層より視点側に状態
値0があると考えている。従って、状態値0のデータが
3つ連続しているので、深層側に位置する点A、Cのデ
ータが削除されている。
【0099】以上に本画像処理装置のデータ処理を説明
した。なお、例外として、上記の処理は、入れ子になっ
た物体の断面を差演算で切り出して見るような用途では
行えない。状態値が1が連続する部分のデータを除去し
てしまうと、入れ子の物体を表現できなくなるからであ
る。
【0100】[実施形態5]本画像処理装置は、前述に
説明したように、各画素毎に、視線上における3次元形
状に関する情報を求めている。この情報により、視線上
のどの深さの領域にどの物体が存在するかが求められて
いる。この画素毎の情報を合成すれば、対象としている
3次元空間における物質の分布が求められる。換言すれ
ば、画面に描かれる複数個の図形は画素毎の図形が和演
算で結合された単一の図形であると解釈し、この単一の
図形の物質分布を求めるということになる。
【0101】本実施形態は、上記に説明した3次元空間
内の物質分布を利用して、画面上に影を表現する装置で
ある。この際、描こうとする画素に対応している深さ位
置の点が、他の画素に対応する視線上に存在する物質の
影になっているか否かを判断する。
【0102】本画像処理装置は、すべての画素に対応し
た視線上の基本図形のデータを受け取り論理演算を行う
まで、描画しないものとする。これにより、対象とする
3次元空間内の物質分布の情報が得られる。なお、前述
の各実施形態では、特に明記されていないが、一つの図
形データができる度に、画素(フレームバッファ5)に
色情報を送り、記憶単位7をクリアするように構成され
ている。装置構成に関して上記以外の点については、前
述の各実施形態と同様であり、説明を省略する。
【0103】以下、本実施形態におけるデータ処理を図
16、図17に示した具体例に基づき説明する。図16
は、画面の正面図であり、図17は、前述の図6と同様
に、対象の3次元空間を視線を含む面で切った断面であ
る。ここでは、図16中の画素dに着目し、この画素d
が影であるか否かを判断するデータ処理を説明する。
【0104】図16は、画素dから光源方向に介在にし
て位置する画素(以下、介在画素という)を検出する方
法を示す説明図である。本装置では、まず、図示しない
光源設定手段が、図示の位置に光源を設定する。そし
て、図示しない介在画素抽出手段が以下のデータ処理に
より、斜線で示した介在画素を抽出する。
【0105】画素dに対応するデプスバッファ6のデー
タを参照し、画素dが表示する物体上の点(以下、点
d′という)の深さ位置を求める。これにより点d′の
座標(x0 ,y0 ,z0 )と、点d′から光源に向かう
ベクトルのx、y、z成分(a,b,c)が求められ
る。そして、下記式により、点d′から光源に向かう直
線の方程式を得る。ここで、tは媒介変数である。
【0106】
【数2】x=at+x0 y=bt+y0 z=ct+z0 上記において、|a|>|b|であるとする。この場
合、x座標をx0 から一つづつ光源側に移動し、各x座
標値からtを逆算し、このtを上式に代入してy座標と
z値を得る。ここで得られたx座標、y座標に位置する
画素が、図16に斜線で示した介在画素である。
【0107】さらに、座標(x,y)で指定される介在
画素毎に、各介在画素に対応する記憶単位7のデータ
と、上記で得られたz値とを比較する。この比較によ
り、点d′と光源の間に光を遮る物体があるのか否か
を、以下のようにして判定する。図17は、この判定の
様子を示している。
【0108】ここでは、記憶単位7の中から、z値より
表層側にあって最大の深さ位置を格納する記憶要素8を
探し出す。そして、その記憶要素8の状態記憶部11の
値が1(深層側に物質が詰まっている)であれば光を遮
る物体が存在していると判定する。上記の状態値1は、
z値の深さにおいても実状態であることを示しているか
らである。例えば、図17の介在画素fは上記に該当し
ており、介在画素fに対応する視線上に光を遮る物体が
存在している。
【0109】一方、上記状態記憶部11の値が0であれ
ば、その介在画素の位置においては、光を遮る物体が存
在しないと判定する。例えば、図17の介在画素eで
は、上記により視線上に光を遮る物体がないと判定され
る。なお、介在画素に対応する記憶単位7にデータを格
納した記憶要素8が見つからない場台は、当然の事なが
ら、光を遮る物体はないと判定する。
【0110】以上の操作は、光を遮る物体が見つかる
か、x,yいずれかの座標値が図16の画面の範囲外に
でるまで続ける。そして、光を遮る物体が見つかった場
合は、表示演算部2に設けられた図示しない影付け手段
が、画素dの色を影の色で置き換える。
【0111】なを、上記のデータ処理において、画素の
輝度が一定の値以下のときは、この影付け操作を行わな
いように構成することにより、全体の描画パフォーマン
スは向上する。
【0112】[実施形態6]本実施形態は、前述の各実
施形態に対して、物質の種類を区別することができるよ
うに構成した装置である。なお、本実施形態において、
前述の各実施形態と同様の装置構成およびデータ処理に
ついては、説明を省略する。
【0113】図18は、本画像処理装置における、表示
記憶部1内の記憶要素8′のメモリ構成である。同図に
示すように、入力された3次元形状の物質の種類を記憶
する物質メモリ25が追加されている。本実施形態で
は、表示演算部2のバッファメモリ15も上記記憶要素
8′に対応した構成となっている。また上記の物質の種
類は、例えば物質番号として格納される。
【0114】本実施形態では、実施形態1に対して、記
憶要素8′間をつなぐバスと、表示記憶部1およびメモ
リ転送回路17をつなぐバスが異なっている。実施形態
1において上記バスはいずれも42ビット幅であったの
に対し、本実施形態において上記バスは、42ビットに
物質メモリ25のビット数を加算した幅のバスに設定さ
れている。
【0115】また、本実施形態のデータ処理は、上記実
施形態5と同様に、すべての画素に対応した視線上の図
形のデータを受け取り論理演算を行うまで、描画しない
ように構成されている。この構成により、前述の如く、
対象とする3次元空間内の物質分布の情報が得られる。
【0116】以上の構成によれば、3次元空間内の物質
分布が得られ、かつ、分布している各物質の種類の情報
が得られる。従って、物質の種類毎の空間分布のデータ
が得られる。
【0117】このデータを利用して、例えば、物質番号
から物質の密度を参照して重量を算出するといったこと
が可能となる。また、このデータを流体解析などのシミ
ュレーションの入力データとして用いるなどの応用がで
きる。
【0118】[実施形態7]本実施形態は、前述の各実
施形態に対して、透明、半透明の物体を表現することが
できるように構成した装置である。なお、本実施形態に
おいて、前述の各実施形態と同様の装置構成およびデー
タ処理については、説明を省略する。
【0119】図19は、本画像処理装置における、表示
記憶部1内の記憶要素8″のメモリ構成である。同図に
示すように、入力された基本図形が透明であるか否かを
区別するための値を保持するための透明度メモリ26が
追加されている。また本実施形態では、表示演算部2の
バッファメモリ15も上記記憶要素8″に対応した構成
となっている。
【0120】本実施形態では、実施形態1に対して、記
憶要素8″間をつなぐバスと、表示記憶部1およびメモ
リ転送回路17をつなぐバスが異なっている。実施形態
1において上記バスはいずれも42ビット幅であったの
に対し、本実施形態において上記バスは、42ビットに
透明度メモリ26のビット数を加算した幅のバスに設定
されている。
【0121】また、本実施形態のデータ処理は、上記実
施形態5と同様に、すべての画素に対応した視線上の基
本図形のデータを受け取り論理演算を行うまで、描画し
ないように構成されている。そして、データをすべて受
け入れ、論理演算もすべて終了した後、表層側から、状
態記憶部11の状態値が1(物質が深層側に実状態)で
あり、かつ透明度メモリ26が透明でないことを表すデ
ータを格納しているような記憶要素8″を検出する。そ
して、検出した記憶要素8″のデータにより、前述の実
施形態1に説明した「出力処理」(検出したデータを用
いてのZバッファ処理によるフレームバッファ5、デプ
スバッファ6の書換)を行う。
【0122】ただし、上記検出した記憶要素8″より表
層側に、状態値が1であり、かつ透明な物体が存在した
場合には、フレームバッファ5に送る色値を以下のよう
に変換する。すなわち、フレームバッファ5に送ろうと
している色値に対して、上記透明物体の色を掛け合わせ
て輝度を減ずる。この際、赤、緑、青の成分毎に計算を
行う。また、ここでは、透明度メモリ26の情報を基
に、0から1に規格化し、最も明るい値を1として計算
する。
【0123】以上のようにして、本装置によれば、透
明、半透明の物体を表現することが可能となる。
【0124】[実施形態8]本実施形態は、多角形の代
表データが入力された場合に、この入力データを基に、
前述の記憶要素8に書き込むべきデータを生成し、本発
明の画像処理を行うことができるように構成した装置で
ある。なお、ここでは、三角形の代表データが入力さ
れ、この代表データは各頂点の座標と色とからなる場合
の形態を例示して説明する。
【0125】図20は、本実施形態の画像処理装置の機
能ブロック図である。本実施形態では、前述の図1に対
して、画像データ生成部28が追加されている。画像デ
ータ生成部28には、計算機から多角形の各頂点のデー
タ(3次元座標および色)が入力される。そして、入力
情報を基に、多角形内部の各点の色と深度の情報を生成
し、実施形態1と同様の構成の表示演算部2に出力す
る。本装置のその他の構成およびデータ処理内容は、前
述の実施形態1と同様である。
【0126】以下、図形データ生成部28の構成につい
てさらに説明する。まず、多角形内部の各点のデータを
生成するための原理について説明する。入力された三角
形P1・P2・P3の頂点の座標のx、y成分、すなわ
ち画像面への投影をP1(x1,y1),P2(x2,
y2),P3(x3,y3)とする。また、上記投影に
対応する視線上の各頂点の深さ位置を、Z1、Z2、Z
3とする。さらに各頂点の色(R,G,B)をそれぞれ
R1、G1、B1、R2、G2、B2、R3、G3、B
3とする。このとき、三角形内の任意の点(x,y)の
深度(Z)および色(R,G,B)は下式により表せ
る。
【0127】
【数3】Z=a1*x+b1*y+c1 R=a2*x+b2*y+c2 G=a3*x+b3*y+c3 B=a4*x+b4*y+c4 ただし、a1,b1,c1は下記の連立方程式の解であ
る。
【0128】
【数4】Z1=a1*x1+b1*y1+c1 Z2=a1*x2+b1*y2+c1 Z3=a1*x3+b1*y3+c1 また、a2,b2,c2は下記の連立方程式の解であ
る。
【0129】
【数5】R1=a2*x1+b2*y1+c2 R2=a2*x2+b2*y2+c2 R3=a2*x3+b2*y3+c2 また、a3,b3,c3は下記の連立方程式の解であ
る。
【0130】
【数6】G1=a3*x1+b3*y1+c3 G2=a3*x2+b3*y2+c3 G3=a3*x3+b3*y3+c3 さらにまた、a4,b4,c4は下記の連立方程式の解
である。
【0131】
【数7】B1=a4*x1+b4*y1+c4 B2=a4*x2+b4*y2+c4 B3=a4*x3+b4*y3+c4 画像データ生成部28は、以上の式を解くことにより、
三角形内の任意の点の深度(Z)および色(R,G,
B)のデータを生成する。
【0132】図21は、画像データ生成部28の構成を
示している。画像データ生成部28は、汎用の役割を果
たす1個の主プロセッサ30と、後述する役割を果たす
4個の補助プロセッサ31〜34、主プロセッサ30と
補助プロセッサ31〜34の双方からアクセスできるl
2個の専用レジスタ35〜46、および主プロセッサ3
0用の複数個のレジスタまたはメモリ47から構成され
る。
【0133】以下、画像データ生成部28のデータ処理
について説明する。頂点のデータを受け取った主プロセ
ッサ30は、前述の式に従って、係数a1、b1、c
1、a2、b2、c2、a3、b3、c3、a4、b
4、c4を算出する。そしてb1をレジスタ36に、b
2をレジスタ38に、b3をレジスタ40に、b4をレ
ジスタ42に入れる。
【0134】次に前述した頂点の投影を求め、x座標値
の小さい順に並べかえる。ここでは、この順番がx1、
x2、x3であったとする。そして、x1からx座標値
を一つづつ増やし、増やすごとにal*x+c1を計算
しレジスタ35に入れる。同じくa2*x+c2をレジ
スタ37に、同じくa3*x+c3をレジスタ39に、
同じくa4*x+c4をレジスタ41に書き込む。
【0135】そして、x1≦x≦x2の間は、座標xに
おける線分P1−P2上のy値から、線分P1−P3上
のy値まで、y値を連続的に発生させ、補助プロセッサ
31〜34に転送する。また、x2<x≦x3の間は、
線分P1−P3と線分P2−P3について同様の処理を
行う。
【0136】y値を転送された補助プロセッサ31は、
レジスタ36からb1を読みだし、転送されたy値と掛
け合わせ、さらにレジスタ35の値を加えてレジスタ4
3に書き込む。これにより、三角形内部の各点の深さ位
置が求められてレジスタ43に書き込まれたことにな
る。他の補助プロセッサ32〜34も同様に動作する。
従って、レジスタ43〜46のデータにより、三角形内
部の各点の深さ位置および色の情報が得られる。すなわ
ち、レジスタ43〜46を合わせると、表示記憶部1の
記憶要素8の深度記憶部10と、色情報記憶部9に相当
する構成になっている。補助プロセッサ31〜34が計
算をしている間に主プロセッサ30は、各座標に対応す
る記憶単位8のアドレスを計算し、補助プロセッサ31
〜34が計算したデータに状態値を加えて表示演算部2
に転送する。以降のデータ処理は、前述の実施形態1と
同様に行われる。
【0137】以上に本実施形態の画像処理装置について
説明した。なお、本発明において、入力される多角形の
形状は、上記の三角形に限定されるものではない。ま
た、多角形の代表データは、上記の頂点に関するデータ
に限定されるものではない。さらに、多角形内部のデー
タの生成を、上記のような線形補間ではなく、他の内挿
補間により行うように構成してもよい。
【0138】
【発明の効果】本発明によれば、各立体要素に関して少
なくとも画素値データ、深さデータ、空/実データおよ
び作業データを組として記憶可能な立体データメモリ
と、所望の立体要素に関する各データを順次立体データ
メモリに書き込む入力手段と、立体データメモリに書き
込まれた各データ組を深さデータのデータ順に配列する
配列手段と、空/実データおよび前記作業データに対し
て、立体要素の所望の組合わせに対応した空/実演算を
行う演算手段と、空/実演算結果を各データ組の空/実
データとして書き換えるデータ更新手段とを備えるよう
に画像処理装置が構成されるので、立体要素を組み合わ
せて作られた立体が、立体データメモリに書き込まれた
‘画素値データ’、‘深さデータ’および‘空/実演算
結果にて書換後の空/実データ’により表現される。こ
こで「立体要素」「立体」は、それぞれ実施形態の基本
形状および物体に相当する。従って、立体要素を組み合
わて立体をつくるためのデータ処理が単純かつ小量とな
るので、このようなデータ処理を行う装置をハードウエ
アにて容易に構成することができる。以上、データ処理
をハードウエアにて行うこと、データ処理量を削減した
こと、中央演算処理装置の負担が軽減されることによ
り、画像処理速度を高速化することが可能となる。
【0139】さらに本発明によれば、画面上の画素値デ
ータを記憶する画素メモリと、この画素メモリに対応す
る深度メモリとを備えたので、立体要素を組み合わせて
つくられた立体の情報と画素メモリおよび深度メモリを
用いてZバッファ法による陰面処理を行うことができ
る。従って、立体を作る機能とZバッファ処理機能を一
体化して一つの画像処理装置にて構成したことにより、
画像処理速度をさらに高速化することが可能となる。
【0140】また本発明によれば、視点が各立体要素の
内部または外部にあること示す視点情報を立体データメ
モリに書き込み可能であるので、視点が各立体要素の内
部または外部のどちらにある場合にも空/実演算を行う
ことができる。従ってより多種類の形状を表現すること
が可能となる。
【0141】また本発明によれば、立体データメモリに
記憶される各データ組から、空/実演算対象以外のデー
タ組を検出して待避させるデータ待避手段を備え、演算
手段が待避されていないデータ組を実演算対象のデータ
組として空/実演算を行う。従って、括弧付きの演算式
において、括弧の外のデータを待避させて、括弧の中の
データから演算することができる。すなわち本発明によ
れば、括弧付きの演算式をそのまま処理することができ
る。以上より、同様の形状を表現するのに括弧付き演算
式を使わない場合と比べ、形状表現が容易であり、かつ
データ処理が高速化する。
【0142】また本発明によれば、データ更新手段によ
り空/実演算結果にて各データ組の空/実データが書き
換えられた状態で、空/実データの内容が同一であり連
続配置されたデータ組を冗長データとして検出し、この
冗長データを一つのデータ組にまとめる冗長データ処理
手段を備えたので、データ量の削減により画像処理を高
速化することができる。
【0143】また本発明によれば、立体データメモリに
記憶された深さデータを基に、着目画素および介在画素
に対応する視線上の立体と光源位置の位置関係を求め、
着目画素に対応する視線上の立体が影になっていること
を検出するように構成したので、画面上に影を表現する
ことが可能となり、より多彩な表現を行うことができる
ようになる。
【0144】また本発明によれば、立体データメモリに
各立体要素の物質の種類の情報を記憶可能に構成したの
で、物質の種類と分布が得られる。従って、物質の種類
を必要とするデータ処理(例えば流体解析のシミュレー
ションなど)に本発明の装置を用いるといった応用が可
能となる。
【0145】また本発明によれば、立体データメモリ
は、さらに、各立体要素に関する透明度情報を記憶可能
であり、所望の組み合わせにて生成された立体の画素値
を透明度情報に基づいて調整するように構成したので、
透明、半透明の物体を表現することが可能となり、より
多彩な表現を行うことができるようになる。
【0146】また本発明によれば、計算機から入力され
た多角形の代表データを基に、多角形内の各点に対応し
て、前記立体データメモリに書き込むデータ組を作成す
る多角形内部データ生成手段を備えたことにより、多角
形の描画を高速化することが可能となる。従って装置全
体の画像処理速度も高速化することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態の画像処理装置の機
能ブロック図である。
【図2】 図1の画像処理装置の表示記憶部のメモリ構
成を示す図である。
【図3】 図1の画像処理装置によるデータ処理とし
て、和演算を行う場合を示す説明図である。
【図4】 図1の画像処理装置によるデータ処理とし
て、積演算を行う場合を示す説明図である。
【図5】 図1の画像処理装置によるデータ処理とし
て、差演算を行う場合を示す説明図である。
【図6】 図1の画像処理装置によるデータ処理内容と
して、記憶単位の記憶内容を示す説明図である。
【図7】 図1の画像処理装置が行う論理演算の規則を
示した図である。
【図8】 図1の画像処理装置によるデータ処理内容と
して、記憶単位の記憶内容を示す説明図である。
【図9】 図1の画像処理装置によるデータ処理とし
て、同軸に位置する円柱の差演算を行う場合を示す説明
図である。
【図10】 図9の差演算に対応するデータ処理内容と
して、記憶単位の記憶内容を示す説明図である。
【図11】 本発明の第2の実施形態の画像処理装置の
表示記憶部のメモリ構成を示す図である。
【図12】 図11の画像処理装置によるデータ処理と
して、積演算を行う場合を示す説明図である。
【図13】 図11の画像処理装置によるデータ処理内
容として、記憶単位の記憶内容を示す説明図である。
【図14】 本発明の第3の実施形態の画像処理装置に
よるデータ処理内容として、記憶単位の記憶内容を示す
説明図である。
【図15】 本発明の第4の実施形態の画像処理装置に
よるデータ処理内容として、記憶単位の記憶内容を示す
説明図である。
【図16】 本発明の第5の実施形態の画像処理装置に
より、介在画素を検出するためのデータ処理を示す説明
図である。
【図17】 本発明の第5の実施形態の画像処理装置に
より着目画素が影になっていることを検出するためのデ
ータ処理を示す説明図である。
【図18】 本発明の第6の実施形態の記憶要素のメモ
リ構成を示す図である。
【図19】 本発明の第7の実施形態の記憶要素のメモ
リ構成を示す図である。
【図20】 本発明の第8の実施形態の画像処理装置の
機能ブロック図である。
【図21】 図20の画像処理装置の画像データ生成部
の構成を示すブロック図である。
【符号の説明】
1,1′ 表示記憶部、2 表示演算部、3 表示処理
部、5 フレームバッファ、6 デプスバッファ、7
記憶単位、8,8′,8″ 記憶要素、9 色情報記憶
部、10 深度記憶部、11 状態記憶部、12 作業
領域、15 バッファメモリ、16 比較演算回路、1
7 メモリ転送回路、18 論理演算回路、19 デプ
スカウンタ、21 視点情報メモリ、22 オペランド
視点メモリ、23 被オペランド視点メモリ、25 物
質メモリ、26 透明度メモリ、28 画像データ生成
部。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数の立体要素を組み合わせて新たな立
    体をつくる画像処理装置であって、 各立体要素に関して少なくとも画素値データ、深さデー
    タ、空/実データおよび作業データを組として記憶可能
    な立体データメモリと、 所望の立体要素に関する各データを順次前記立体データ
    メモリに書き込む入力手段と、 前記立体データメモリに書き込まれた各データ組を深さ
    データのデータ順に配列する配列手段と、 前記空/実データおよび前記作業データに対して、立体
    要素の所望の組合わせに対応した空/実演算を行う演算
    手段と、 前記空/実演算結果を各データ組の空/実データとして
    書き換えるデータ更新手段とを備えたことを特徴とする
    画像処理装置。
  2. 【請求項2】 さらに、画面上の画素値データを記憶す
    る画素メモリと、 この画素メモリに記憶された画素値データに対応する立
    体の深さデータを記憶する深度メモリと、 を備え、 前記立体データメモリの深さデータ、画素値データおよ
    び前記データ更新手段による書換後の空/実データに基
    づいて、前記深度メモリおよび前記画素メモリを書き換
    えることを特徴とする請求項1に記載の画像処理装置。
  3. 【請求項3】 前記立体データメモリには、視点が各立
    体要素の内部または外部にあること示す視点情報を書き
    込み可能であり、 該視点情報に基づいて視点が各立体要素の内部または外
    部にあるときの前記空/実演算を行うことを特徴とする
    請求項1、2のいずれかに記載の画像処理装置。
  4. 【請求項4】 前記立体データメモリに記憶される各デ
    ータ組から、前記空/実演算対象以外のデータ組を検出
    して前記立体データメモリ内で待避させるデータ待避手
    段を備え、 前記演算手段は、前記データ待避手段により待避されて
    いないデータ組を前記空/実演算対象のデータ組として
    前記空/実演算を行うことを特徴とする請求項1〜3の
    いずれかに記載の画像処理装置。
  5. 【請求項5】 前記データ更新手段により空/実演算結
    果にて前記各データ組の空/実データが書き換えられた
    状態で、空/実データの内容が同一であり連続配置され
    たデータ組を冗長データとして検出し、この冗長データ
    を一つのデータ組にまとめる冗長データ処理手段を備え
    たことを特徴とする請求項1〜4のいずれかに記載の画
    像処理装置。
  6. 【請求項6】 3次元空間内の所定光源位置に光源を設
    定する光源設定手段と、 画面上への前記光源位置の投影と該画面上の着目画素の
    間に介在する介在画素を抽出する介在画素抽出手段と、 前記立体データメモリに記憶された前記深さデータを基
    に、前記着目画素および前記介在画素に対応する視線上
    の立体と前記光源位置の位置関係を求め、前記着目画素
    に対応する視線上の立体が影になっていることを検出す
    る影画素検出手段と、 を備えたことを特徴とする請求項1〜5のいずれかに記
    載の画像処理装置。
  7. 【請求項7】 前記立体データメモリは、さらに、各立
    体要素の物質の種類の情報を記憶可能であることを特徴
    とする請求項1〜6のいずれかに記載の画像処理装置。
  8. 【請求項8】 前記立体データメモリは、さらに、各立
    体要素に関する透明度情報を記憶可能であり、 前記所望の組み合わせにて生成された立体の画素値を前
    記透明度情報に基づいて調整することを特徴とする請求
    項1〜7のいずれかに記載の画像処理装置。
  9. 【請求項9】 さらに、計算機から入力された多角形の
    代表データを基に、該多角形内の各点に対応して、前記
    立体データメモリに書き込むデータ組を作成する多角形
    内部データ生成手段を備え、 前記入力手段が、この多角形内部データ生成手段にて生
    成されたデータ組を前記立体データメモリに書き込むこ
    とを特徴とする請求項1〜8のいずれかに記載の画像処
    理装置。
JP8090740A 1996-04-12 1996-04-12 画像処理装置 Pending JPH09282486A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8090740A JPH09282486A (ja) 1996-04-12 1996-04-12 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8090740A JPH09282486A (ja) 1996-04-12 1996-04-12 画像処理装置

Publications (1)

Publication Number Publication Date
JPH09282486A true JPH09282486A (ja) 1997-10-31

Family

ID=14006987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8090740A Pending JPH09282486A (ja) 1996-04-12 1996-04-12 画像処理装置

Country Status (1)

Country Link
JP (1) JPH09282486A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000014683A1 (fr) * 1998-09-07 2000-03-16 Mitsubishi Denki Kabushiki Kaisha Circuit integre a semi-conducteurs
US7103516B2 (en) * 1998-07-14 2006-09-05 Fujitsu Limited Apparatus and method for optimizing three-dimensional model
JP2009258823A (ja) * 2008-04-14 2009-11-05 Asahi Kasei Homes Co 3dモデル生成システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103516B2 (en) * 1998-07-14 2006-09-05 Fujitsu Limited Apparatus and method for optimizing three-dimensional model
WO2000014683A1 (fr) * 1998-09-07 2000-03-16 Mitsubishi Denki Kabushiki Kaisha Circuit integre a semi-conducteurs
US6727900B1 (en) 1998-09-07 2004-04-27 Renesas Technology Corp. Semiconductor integrated circuit device
JP2009258823A (ja) * 2008-04-14 2009-11-05 Asahi Kasei Homes Co 3dモデル生成システム

Similar Documents

Publication Publication Date Title
US6285378B1 (en) Method and apparatus for span and subspan sorting rendering system
US6115050A (en) Object-based anti-aliasing
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
WO1997005576A9 (en) Method and apparatus for span and subspan sorting rendering system
US5877769A (en) Image processing apparatus and method
JPH0683970A (ja) 三角形描画装置及び方法
JPH0683969A (ja) グラフィックス・プロセッサ及びグラフィックス・データ処理方法
JP2618951B2 (ja) 三次元図形処理装置
JPH0916806A (ja) 立体画像処理装置
US6369828B1 (en) Method and system for efficiently using fewer blending units for antialiasing
TW473693B (en) Method and apparatus for handling translucency in 3D graphics
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
JPH11259671A (ja) 画像表示方法及びそれを実行する画像表示装置
US20010017629A1 (en) Methods and apparatus for drawing contours of objects in video games
US6348917B1 (en) Dynamic switching of texture mip-maps based on depth
JP3037865B2 (ja) 3次元スプライト描画装置
JPH09330422A (ja) 3次元グラフィック表示方法および表示システム
JPH09282486A (ja) 画像処理装置
KR100256472B1 (ko) 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링
JP3052839B2 (ja) 画像処理装置及びその処理方法
JPH0651937A (ja) データ処理システム及びデータ制御方法
JPH087715B2 (ja) データ処理装置及びアクセス制御方法
JPH09311954A (ja) 3次元図形表示システムおよび3次元図形の表示方法
JP2006293470A (ja) 描画装置、方法および描画プログラム
JP4188463B2 (ja) 画像生成装置、画像生成方法および記憶媒体