JP2000331185A - 画像処理方法、画像処理装置、及びプログラム提供媒体 - Google Patents

画像処理方法、画像処理装置、及びプログラム提供媒体

Info

Publication number
JP2000331185A
JP2000331185A JP11142614A JP14261499A JP2000331185A JP 2000331185 A JP2000331185 A JP 2000331185A JP 11142614 A JP11142614 A JP 11142614A JP 14261499 A JP14261499 A JP 14261499A JP 2000331185 A JP2000331185 A JP 2000331185A
Authority
JP
Japan
Prior art keywords
silhouette
pixel block
image
screen
distant
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
JP11142614A
Other languages
English (en)
Inventor
Yorihisa Fujinami
順久 藤波
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP11142614A priority Critical patent/JP2000331185A/ja
Publication of JP2000331185A publication Critical patent/JP2000331185A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 オクルージョン・カリングにおいて、陰面処
理の対象外となる物体を発見する処理を高速化する。 【解決手段】 ディスプレイ画面をn×m個に分割して
なる画素ブロックを単位としてオクルージョン・カリン
グ処理を行う。i行j列目の画素ブロックに対して、N
ビットからなる配列型変数a[i,j]が用意される。
手前側のk番目の物体が持つシルエットがi行j列目の
画素ブロックを完全に覆っていれば変数a[i,j]の
k番目のビット値を1にする。すなわち、物体のシルエ
ットを画素ブロック単位で表現する。遠景の物体の各頂
点を含む画素ブロックについての配列型変数a[i,
j]を参照し、各変数のk番目のビット値が全て1であ
れば、遠景の物体が手前側のk番目の物体のシルエット
によって完全に覆われていると判定して、陰面処理の対
象から除外する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータのデ
ィスプレイ画面上で複数の3次元オブジェクトを含んだ
画像を生成し及び表示するための画像処理方法及び装置
に係り、特に、レンダリング過程において手前に位置す
るオブジェクトによって遠景のオブジェクトを消去する
陰面処理を高速化する画像処理方法及び装置に関する。
【0002】更に詳しくは、本発明は、手前のオブジェ
クトに完全に覆われているオブジェクトを発見して、陰
面処理の対象から除外する「オクルージョン・カリング
(Occlusion Curring)」を採用する
ことによって、陰面処理を高速化する画像処理方法及び
装置に関する。
【0003】
【従来の技術】昨今の技術革新に伴い、コンピュータの
利用分野も拡大してきた。コンピュータによる図形や画
像(いわゆる「コンピュータ・グラフィックス」)の作
成や処理は、その一例である。最近では、コンピュータ
の表示能力の強化やグラフィックス処理の高機能化に伴
って、3次元オブジェクトの2次元的イメージを生成し
表示する「3次元グラフィックス」が脚光を浴びるよう
になってきた。ここでいう3次元グラフィックスとは、
3次元オブジェクトが光源によって照らされたときなど
の光学現象を数式モデルで表現し、該モデルに基づいて
オブジェクト表面に陰影(シェーディング:shadi
ng)若しくは濃淡をつけた画像を生成して、3次元的
なイメージとして表示する、というものである。陰影は
人間の視覚系統が奥行き形状を認識するための手がかり
になる。したがって、3次元グラフィックスの究極目的
は、人間が眼で見たときと同じ画像を生成することにあ
る、と言うこともできよう。このような3次元グラフィ
ックス技術は、科学、工学、製造その他の応用分野での
CAD/CAMや、各種ソフトウェア開発などの分野に
おいて、ますます重要になってきている。
【0004】3次元グラフィックス処理は、当該分野で
は既に周知のように、3次元オブジェクトの表面を多数
の小さなポリゴン(polygon:通常は3角形又は
4角形)に分割して(ポリゴンを構成する画素数は50
ピクセル乃至1000ピクセル程度の大きさである)、
ポリゴンを定義する各頂点ごとに算出された色や奥行き
等のデータに基づいてポリゴンの領域内の各画素を近似
表現して行うのが一般的である。3次元オブジェクトを
ポリゴン化して扱う理由は、3角形などの一定の形式に
面をそろえると、一律の処理によって様々な曲面を表現
でき、取扱いデータや計算量を減ずることができるから
である。
【0005】3次元グラフィックス処理は、一般に、ジ
オメトリ段階と、レンダリング(rendering:
描画)段階の2段階に大別される。
【0006】ジオメトリ段階では、まず、ポリゴンを定
義する各頂点ごと奥行き、色(RGB)などの描画に必
要なパラメータを求める。ジオメトリ段階は、さらに、
座標変換と、クリッピングと、光源計算の各段階に細分
化される。座標変換ルーチンでは、画像ソースから与え
られた3次元オブジェクトを複数の微小なポリゴンに分
割し、ポリゴンを定義する頂点ごとに各パラメータ
(x,y,zなどの座標値やRGBなどの色データな
ど)を取り出して、さらに各頂点の座標を視点の位置に
合わせて変換する。クリッピング・ルーチンでは、3次
元オブジェクトのうちディスプレイ画面に表示されない
部分を検出して切り除く。光源計算ルーチンでは、光源
との位置関係をもとに各頂点の輝度を求める。この光源
計算によって、各頂点の色データなどは、奥行きや光源
からの距離・角度に応じた陰影処理(すなわち濃淡度の
調整)がなされる。
【0007】他方、レンダリング段階では、3次元オブ
ジェクトの2次元イメージを生成する。より詳しくは、
ジオメトリ段階にて求められたポリゴンの各頂点のパラ
メータを基にして、ポリゴン内部の各画素(ピクセルと
もいう)のパラメータを補間して求める。レンダリング
段階は、さらに、ポリゴンを構成する各画素のデータを
補間(interpolate)するラスタライジング
・ルーチンと、手前にある画素をフレーム・バッファに
書き込む隠面処理ルーチンの各段階に細分化している。
ラスタライジング・ルーチンにおける補間は、ポリゴン
の各頂点の色データとZ値(奥行き:depthともい
う)などを基にして行う。また、隠面処理は、視点から
見える手前のオブジェクトのみを実際に画面表示するた
めの処理であるが、各画素のZ値を大小比較して、手前
にあるオブジェクトの画素データをフレーム・バッファ
に書き込むことによって行う。
【0008】レンダリングによって生成された各画素の
データは、一旦フレーム・バッファに格納された後、D
−A変換器によってアナログ・ビデオ信号に変換され、
CRTディスプレイ上に表示される。
【0009】3次元グラフィックス処理は、演算量が膨
大なことやリアルタイム性が求められていることなどか
ら、上述した処理の各段階において高速化が試みられて
いる。
【0010】例えば、陰面処理では、手前のオブジェク
トに完全に覆われてしまう遠景のオブジェクトを発見し
て、陰面処理の対象から完全に除外してしまうことによ
って、データ量が減少し処理速度が増す。陰面処理の対
象から外すオブジェクトを探索する処理のことを「オク
ルージョン・カリング(Occlusion Curr
ing)」と呼ぶ。オクルージョン・カリングにおい
て、陰面処理の対象外となるオブジェクトを発見する処
理を高速化することによっても、3次元CG処理全体の
速度が増す。
【0011】オクルージョン・カリングを純粋に幾何学
的に行うと、計算量は膨大となり、処理速度は遅くなっ
てしまう。このことを、図6を参照しながら、以下に説
明する。
【0012】図6では、3次元空間上で観察位置に対し
手前側にある物体Aが、これよりも遠景にある物体Bの
少なくとも一部分を覆い隠しているとする。このような
場合、物体Bの各頂点B1,B2,…が、物体Aによっ
て形成されるシルエット内に含まれるか否かを判別す
る。そして、全ての頂点がシルエット内に存在すれば、
物体Bは物体Aの後ろに完全に隠れているものとみなし
て陰面処理の対象から外すことができる。
【0013】例えば、物体AのシルエットがL1,L
2,L3…という各直線で構成される場合、物体Bの頂
点B1と各直線L1,L2,L3…との上下関係を逐一
計算した結果をつき合せることにより、頂点B1がシル
エットすなわち物体Aの後ろに隠れているか否かを検出
することができる。同様の計算処理を、他の頂点B2,
B3,…に対しても繰り返し実行することにより、物体
Bが物体Aのシルエットの中に完全に含まれているか否
かを判定することができる。
【0014】オクルージョン・カリングを行うために
は、このような判定処理を、判定対象となるオブジェク
トの数×シルエットの数だけ繰り返して行う必要があ
る。また、点と直線との上下関係の計算は、浮動小数点
演算を要するので、必然的に計算量が膨大となり、ま
た、処理速度の低下を招来する。
【0015】
【発明が解決しようとする課題】本発明の目的は、レン
ダリング過程において、手前に位置するオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を高速化
することができる、優れた画像処理方法及び装置を提供
することにある。
【0016】本発明の更なる目的は、手前のオブジェク
トに完全に覆われている遠景のオブジェクトを発見して
陰面処理の対象から完全に除外する「オクルージョン・
カリング」を採用することによって、陰面処理を高速化
することができる、優れた画像処理方法及び装置を提供
することにある。
【0017】本発明の更なる目的は、オクルージョン・
カリングにおいて、陰面処理の対象外となるオブジェク
トを発見する処理を高速化することにある。
【0018】
【課題を解決するための手段】本発明は、上記課題を参
酌してなされたものであり、その第1の側面は、複数の
3次元オブジェクトを含んだ画像を生成して画面に表示
するための画像処理方法であって、手前側のオブジェク
トによって遠景のオブジェクトを消去する陰面処理を行
うための、(a)画面をn×m個の画素ブロックに分割
するステップと、(b)手前側のオブジェクトによって
形成されるシルエットに完全に含まれる画素ブロックを
探索して、シルエット登録するステップと、(c)遠景
のオブジェクトを構成する各頂点が存在する画素ブロッ
クがシルエット登録されているか否かを判別するステッ
プと、(d)全ての頂点がシルエット内に含まれている
オブジェクトを陰面処理の対象から除外するステップ
と、を含むことを特徴とする画像処理方法である。
【0019】本発明の第1の側面に係る画像処理方法に
おいて、前記ステップ(d)では、単一の物体によって
シルエット登録された画素ブロック内に全ての頂点が存
在しない場合には、該遠景のオブジェクトを陰面処理の
対象から除外しないようにしてもよい。何故ならば、2
以上のシルエットに跨って全頂点が覆われたオブジェク
トは、一部分が視点から見えている(すなわち、ディス
プレイ画面上に現れている)可能性があり、通常の陰面
処理に委ねる必要があるからである。
【0020】また、本発明の第2の側面は、複数の3次
元オブジェクトを含んだ画像を生成して画面に表示する
ための画像処理方法であって、手前側のオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を行うた
めの、(a)画面をn×m個の画素ブロックに分割する
とともに、各i行j列目の画素ブロックを覆うシルエッ
トを管理するためのNビットからなる配列型変数a
[i,j](但し、0≦i≦n−1,0≦j≦m−1)
を用意するステップと、(b)手前側のk番目のオブジ
ェクトによって形成されるシルエットに完全に含まれる
画素ブロックを探索して、抽出された各画素ブロックに
ついての変数a[i,j]のk番目のビットをセットす
ることでシルエット登録するステップと、(c)遠景の
オブジェクトを構成する各頂点を含む画素ブロックにつ
いての各変数a[i,j]の同一ビット位置が全てビッ
ト設定されているか否かによって、該遠景のオブジェク
トの全頂点がk番目のオブジェクトによって形成される
シルエット内にあるか否かを判別するステップと、
(d)全ての頂点がシルエット内に含まれているオブジ
ェクトを陰面処理の対象から除外するステップと、を含
むことを特徴とする画像処理方法である。
【0021】また、本発明の第3の側面は、複数の3次
元オブジェクトを含んだ画像を生成して画面に表示する
ための画像処理方法であって、手前側のオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を行うた
めの、(a)画面をn×m個の画素ブロックに分割する
ステップと、(b)画素ブロック単位で手前側のオブジ
ェクトによって形成されるシルエットを表現するステッ
プと、(c)画素ブロック単位で表現されたシルエット
を用いて遠景のオブジェクトのオクルージョン・カリン
グを行うステップと、を含むことを特徴とする画像処理
方法である。
【0022】また、本発明の第4の側面は、複数の3次
元オブジェクトを含んだ画像を生成して画面に表示する
ための画像処理装置であって、手前側のオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を行うた
めの、(a)画面をn×m個の画素ブロックに分割する
手段と、(b)手前側のオブジェクトによって形成され
るシルエットに完全に含まれる画素ブロックを探索し
て、シルエット登録する手段と、(c)遠景のオブジェ
クトを構成する各頂点が存在する画素ブロックがシルエ
ット登録されているか否かを判別する手段と、(d)全
ての頂点がシルエット内に含まれているオブジェクトを
陰面処理の対象から除外する手段と、を含むことを特徴
とする画像処理装置である。
【0023】本発明の第4の側面に係る画像処理装置に
おいて、前記手段(d)では、単一の物体によってシル
エット登録された画素ブロック内に全ての頂点が存在し
ない場合には、該遠景のオブジェクトを陰面処理の対象
から除外しないようにしてもよい。何故ならば、2以上
のシルエットに跨って全頂点が覆われたオブジェクト
は、一部分が視点から見えている(すなわち、ディスプ
レイ画面上に現れている)可能性があり、通常の陰面処
理に委ねる必要があるからである。
【0024】また、本発明の第5の側面は、複数の3次
元オブジェクトを含んだ画像を生成して画面に表示する
ための画像処理装置であって、手前側のオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を行うた
めに、(a)画面をn×m個の画素ブロックに分割する
とともに、各i行j列目の画素ブロックを覆うシルエッ
トを管理するためのNビットからなる配列型変数a
[i,j](但し、0≦i≦n−1,0≦j≦m−1)
を用意する手段と、(b)手前側のk番目のオブジェク
トによって形成されるシルエットに完全に含まれる画素
ブロックを探索して、抽出された各画素ブロックについ
ての変数a[i,j]のk番目のビットをセットするこ
とでシルエット登録する手段と、(c)遠景のオブジェ
クトを構成する各頂点を含む画素ブロックについての各
変数a[i,j]の同一ビット位置が全てビット設定さ
れているか否かによって、該遠景のオブジェクトの全頂
点がk番目のオブジェクトによって形成されるシルエッ
ト内にあるか否かを判別する手段と、(d)全ての頂点
がシルエット内に含まれているオブジェクトを陰面処理
の対象から除外する手段と、を含むことを特徴とする画
像処理装置である。
【0025】また、本発明の第6の側面は、複数の3次
元オブジェクトを含んだ画像を生成して画面に表示する
ための画像処理装置であって、手前側のオブジェクトに
よって遠景のオブジェクトを消去する陰面処理を行うた
めに、(a)画面をn×m個の画素ブロックに分割する
手段と、(b)画素ブロック単位で手前側のオブジェク
トによって形成されるシルエットを表現する手段と、
(c)画素ブロック単位で表現されたシルエットを用い
て遠景のオブジェクトのオクルージョン・カリングを行
う手段と、を含むことを特徴とする画像処理装置であ
る。
【0026】また、本発明の第7の側面は、複数の3次
元オブジェクトを含んだ画像を生成してコンピュータの
ディスプレイ画面に表示する画像処理をコンピュータ・
システム上で実行せしめるためのコンピュータ・プログ
ラムを有形的に提供するプログラム提供媒体であって、
前記コンピュータ・プログラムは、手前側のオブジェク
トによって遠景のオブジェクトを消去する陰面処理を行
うための、(a)画面をn×m個の画素ブロックに分割
するステップと、(b)手前側のオブジェクトによって
形成されるシルエットに完全に含まれる画素ブロックを
探索して、シルエット登録するステップと、(c)遠景
のオブジェクトを構成する各頂点が存在する画素ブロッ
クがシルエット登録されているか否かを判別するステッ
プと、(d)全ての頂点がシルエット内に含まれている
オブジェクトを陰面処理の対象から除外するステップ
と、を含むことを特徴とするプログラム提供媒体であ
る。
【0027】本発明の第7の側面に係るプログラム提供
媒体において、前記ステップ(d)では、単一のオブジ
ェクトによってシルエット登録された画素ブロック内に
全ての頂点が存在しない場合には、該遠景のオブジェク
トを陰面処理の対象から除外しないようにしてもよい。
何故ならば、2以上のシルエットに跨って全頂点が覆わ
れたオブジェクトは、一部分が視点から見えている(す
なわち、ディスプレイ画面上に現れている)可能性があ
り、通常の陰面処理に委ねる必要があるからである。
【0028】また、本発明の第8の側面は、複数の3次
元オブジェクトを含んだ画像を生成してコンピュータの
ディスプレイ画面に表示する画像処理をコンピュータ・
システム上で実行せしめるためのコンピュータ・プログ
ラムを有形的に提供するプログラム提供媒体であって、
前記コンピュータ・プログラムは、手前側のオブジェク
トによって遠景のオブジェクトを消去する陰面処理を行
うための、(a)画面をn×m個の画素ブロックに分割
するとともに、各i行j列目の画素ブロックを覆うシル
エットを管理するためのNビットからなる配列型変数a
[i,j](但し、0≦i≦n−1,0≦j≦m−1)
を用意するステップと、(b)手前側のk番目のオブジ
ェクトによって形成されるシルエットに完全に含まれる
画素ブロックを探索して、抽出された各画素ブロックに
ついての変数a[i,j]のk番目のビットをセットす
ることでシルエット登録するステップと、(c)遠景の
オブジェクトを構成する各頂点を含む画素ブロックにつ
いての各変数a[i,j]の同一ビット位置が全てビッ
ト設定されているか否かによって、該遠景のオブジェク
トの全頂点がk番目のオブジェクトによって形成される
シルエット内にあるか否かを判別するステップと、
(d)全ての頂点がシルエット内に含まれているオブジ
ェクトを陰面処理の対象から除外するステップと、を含
むことを特徴とするプログラム提供媒体である。
【0029】また、本発明の第9の側面は、複数の3次
元オブジェクトを含んだ画像を生成してコンピュータの
ディスプレイ画面に表示する画像処理をコンピュータ・
システム上で実行せしめるためのコンピュータ・プログ
ラムを有形的に提供するプログラム提供媒体であって、
前記コンピュータ・プログラムは、手前側のオブジェク
トによって遠景のオブジェクトを消去する陰面処理を行
うための、(a)画面をn×m個の画素ブロックに分割
するステップと、(b)画素ブロック単位で手前側のオ
ブジェクトによって形成されるシルエットを表現するス
テップと、(c)画素ブロック単位で表現されたシルエ
ットを用いて遠景のオブジェクトのオクルージョン・カ
リングを行うステップと、を含むことを特徴とするプロ
グラム提供媒体である。
【0030】
【作用】本発明に係る画像処理によれば、遠景のオブジ
ェクトを陰面処理の対象から除外するためのオクルージ
ョン・カリングを行う際、画素ではなく、ディスプレイ
画面をn×m個に分割してなる画素ブロックを単位とし
て処理を行う。処理単位を大きくすることで、データ量
が削減され、処理が高速化する。
【0031】i行j列目の画素ブロックに対しては、N
ビットからなる配列型変数a[i,j](但し、0≦i
≦n−1,0≦j≦m−1)が用意される。変数a
[i,j]のk番目のビット位置は、手前側のk番目の
オブジェクトによって形成されるシルエットによってi
行j列目の画素ブロック[i,j]が完全に覆われてい
るか否かを示すために用いられる。すなわち、k番目の
オブジェクトのシルエットで完全に覆われる画素ブロッ
ク[i,j]の配列型変数a[i,j]のk番目のビッ
ト位置を設定する(すなわち値1を書きこむ)ことで、
手前側のk番目のオブジェクトについてのシルエット登
録が行われる。言い換えれば、手前側のオブジェクトに
よって形成されるシルエットは、画素ブロック単位で表
現される訳である。
【0032】ある遠景のオブジェクトの頂点を含む画素
ブロック[i,j]についての配列型変数a[i,j]
のk番目のビットを参照することで、該頂点がk番目の
オブジェクトのシルエットで隠れてしまうか否かを判断
することができる。本発明では、遠景のオブジェクトを
構成する全ての頂点が、同一の物体のシルエットによっ
て完全に覆われている場合には、この遠景のオブジェク
ト全体が該シルエットによって隠れてしまうと判定する
ことにしている。このようにオクルージョン判定された
遠景のオブジェクトは、陰面処理の対象から除外され
る。
【0033】要するに、本発明では、画素ブロック単位
で表現されたオブジェクトのシルエットを用いてオクル
ージョン・カリングが行われる訳である。繰言になる
が、本発明は、オクルージョン・カリング処理を行うた
めに扱うデータの単位を大きくすることで、処理量を削
減して、処理の高速化図るものである。
【0034】本発明によれば、手前側のオブジェクトの
シルエットを、コンピュータのディスプレイ画面の画素
サイズよりも大きな単位すなわち画素ブロックによって
表現することにした。このため、オブジェクトの数だけ
の整数演算を使った判定処理のみでオクルージョン・カ
リングを実現できるので、処理が簡素化し且つ高速化す
る。
【0035】本発明の第7乃至9の側面に係るプログラ
ム提供媒体は、例えば、様々なプログラム・コードを実
行可能な汎用コンピュータ・システムに対して、コンピ
ュータ・プログラムをコンピュータ可読な形式で提供す
る媒体である。媒体は、CDやFD、MOなどの可搬性
の記憶媒体、あるいは、ネットワークなどの伝送媒体な
ど、その形態は特に限定されない。
【0036】このようなプログラム提供媒体は、コンピ
ュータ・システム上で所定のコンピュータ・プログラム
の機能を実現するための、コンピュータ・プログラムと
提供媒体との構造上又は機能上の協働的関係を定義した
ものである。換言すれば、本発明の第7乃至9の各側面
に係るプログラム提供媒体を介して所定のコンピュータ
・プログラムをコンピュータ・システムにインストール
することによって、コンピュータ・システム上では協働
的作用が発揮され、本発明の第1乃至3の各側面と同様
の作用効果を得ることができるのである。
【0037】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0038】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0039】図1には、本発明を実現するのに適した画
像処理システム10のハードウェア構成を模式的に示し
ている。画像処理システム10は、3次元レンダリング
などの画像処理のために特化してデザインされた専用ハ
ードウェアであってもよいが、画像処理アプリケーショ
ンを起動する汎用コンピュータ・システムという形態で
実装することもできる。以下、画像処理システム10の
各構成要素について説明する。
【0040】演算処理部11は、画像処理システム10
全体の動作を統括的に制御するメイン・コントローラで
あり、その実体は、画像処理を実行する所定のアプリケ
ーション・プログラムを起動するCPU(Centra
l ProcessingUnit)である。すなわ
ち、演算処理部11は、オペレーティング・システム
(OS)の制御下で、各種のアプリケーション・プログ
ラムを実行する。後述するオクルージョン・カリングを
含む一連の3次元グラフィックス処理は、例えば、CP
Uによる3次元グラフィック・アプリケーションの実行
という形態で具現化される。
【0041】RAM(Random Access M
emory)12は、演算処理部11が実行プログラム
・コードをロードしたり、作業データを一時格納するた
めに使用される書き込み可能なメモリである。例えば、
オクルージョン・カリングを含む3次元グラフィックス
処理に必要な各物体の幾何情報や描画情報は、RAM1
2上にロードされる。RAM12は、通常、複数個のD
RAM(Dynamic RAM)チップで構成され
る。また、ROM(Read Only Memor
y)13は、製造時に格納データが恒久的に書き込まれ
る読み出し専用の不揮発メモリである。ROM13上に
は、例えば、システム10の電源投入時に実行する自己
診断テスト・プログラム(POST)や、ハードウェア
入出力操作を実行するためのコード群(BIOS)が格
納されている。
【0042】入力部14は、ユーザからのコマンド入力
などを受容する装置である。キャラクタ・ベースでコマ
ンド入力を行うキーボードや、座標指示形式でコマンド
入力を行うマウスやタッチパネルなどの装置がこれに含
まれる。
【0043】表示部15は、処理画像やコマンド入力の
ためのメニューなどを含んだ作業画面をユーザに提示す
るための装置であり、CRT(Cathode Ray
Tube:冷陰極線管)ディスプレイやLCD(Li
quid CrystalDisplay:液晶表示デ
ィスプレイ)がこれに該当する。本実施例では、表示部
15は、ビットマップ表示形式をサポートすることを前
提とする。
【0044】外部記憶装置16は、例えば、ハード・デ
ィスク・ドライブ(HDD)のような、比較的大容量で
再書き込み可能且つ不揮発の記憶装置であり、データ・
ファイルを蓄積したり、プログラム・ファイルをインス
トールするために使用される。データ・ファイルの例
は、3次元グラフィックス処理に必要な各オブジェクト
の幾何情報やテクスチャ・データなどである。また、プ
ログラム・ファイルの例は、演算処理部11において実
行される3次元グラフィック・アプリケーションであ
る。本実施例の3次元グラフィック・アプリケーション
は、オクルージョン・カリング処理モジュールを含む。
【0045】メディア・ドライブ15は、カートリッジ
式のメディアを装填して、メディア表面上の担持データ
を読み書きするための装置である。ここで言うメディア
として、MO(Magneto−Optical di
sc)、CD−ROM、DVD(Digital Ve
rsatile Disc)などの、システム10から
着脱自在で可搬型のメディアが挙げられる。3次元グラ
フィック用のデータ・ファイルやプログラム・ファイル
は、メディアを媒介として流通され、メディア・ドライ
ブ15によって外部記憶装置14にインストールするこ
とができる。
【0046】ネットワーク・インターフェース18は、
画像処理システム10を所定の通信プロトコル(例え
ば、TCP/IP(Transmission Con
trol Protocol/Internet Pr
otocol)プロトコル)に従ってネットワーク接続
するための装置である。ネットワーク上には、複数のコ
ンピュータ・システム(以下では、「リモート・システ
ム」とも呼ぶ:図示しない)が存在する。本実施例の画
像処理システム10は、自らが生成した3次元画像を、
ネットワーク経由でリモート・システムに転送すること
ができる。あるいは、ネットワーク経由でリモート・シ
ステムから、3次元グラフィック処理用のデータ・ファ
イルやプログラム・ファイルなどの供給を受けることも
できる。
【0047】なお、画像処理システム10を実際に構成
するためには、図1に示した以外にも多くのハードウェ
ア・コンポーネントが必要である。但し、これらは当業
者には周知であり、また、本発明の要旨を構成するもの
ではないので、本明細書中では省略している。また、図
面の錯綜を回避するため、図中の各ハードウェア・ブロ
ック間の接続も抽象化して図示していない点を了承され
たい。(例えば、演算処理部11を構成するCPUは、
一般には、各周辺機器を自己の外部ピンにローカル接続
せず、各種の入出力インターフェースを介してバス接続
する。)
【0048】図2には、画像処理システム10において
実行されるオクルージョン・カリング動作を機能的に表
現したブロック図である。同図に示すように、オクルー
ジョン・カリングは、オブジェクト記憶領域51と、シ
ルエット選択部52と、シルエット記憶領域53と、遠
景選択部54と、オクルージョン判定部55と、陰面処
理部56という各機能ブロックで構成される。以下、各
機能ブロックについて説明する。
【0049】オブジェクト記憶領域51は、描画対象と
なる3次元モデルの各オブジェクトの幾何情報が記憶さ
れている。幾何情報のデータ・フォーマットは特に限定
されないが、頂点座標のリストを含むことが本発明を実
現する上でより好ましい。オブジェクト記憶領域51の
実体は、例えば、RAM12のメモリ空間上に割り当て
られた作業領域であり、外部記憶装置16に蓄積された
対応データがRAM12上に適宜ロードされる。なお、
本実施例で扱うオブジェクトは全て凸多角形(または、
凸多角形の集まりで表現された凸多面体)であり輪郭線
は凹みを含まないことを前提とする。
【0050】シルエット選択部52は、オブジェクト記
憶領域51にロードされたオブジェクトの中から、視点
の近くに位置するオブジェクトを抽出する。抽出方法は
特に限定されない。例えば、入力部14を介して人手で
選別しても、予め定められていてもよい。また、遠景の
オブジェクトを覆い隠すに充分な大きさを持つオブジェ
クトのみに限定して抽出してもよい。
【0051】また、シルエット選択部52は、選択され
た手前側の各オブジェクトについてのシルエット登録も
行う。本実施例で言う「シルエット登録」とは、手前側
のオブジェクトが覆い隠す領域すなわちシルエットを、
表示部15の画面をn×mに分割してなる画素ブロック
を用いて表現することを意味する。1つの画素ブロック
は、例えば20×20画素サイズである。
【0052】i行j列目の画素ブロックには、Nビット
の配列型変数a[i,j](但し、0≦i≦n−1,0
≦j≦m−1であり、初期値はゼロである)が用意され
ている。シルエット選択部52は、自己が選択したk番
目のオブジェクトによって完全に覆い隠される画素ブロ
ックを探索して、発見された各画素ブロックの配列型変
数a[i,j]のk番目のビットにフラグ”1”を書き
込む。シルエット登録後は、k番目のビットが1である
画素ブロックを探索することによって、オブジェクトの
シルエットを描くことができる。また、配列型変数a
[i,j]のビット列をスキャンすることで、画素ブロ
ックがどのオブジェクトによって完全に覆われているか
を、容易で且つ少ない計算量で検知することができる。
シルエット登録の詳細については後述する。
【0053】なお、配列型変数a[i,j]が持つデー
タ・サイズNは設計的事項に過ぎない。例えば、シルエ
ット登録すべきオブジェクト数によって決めてもよい
し、CPUが入出力するデータ・サイズによって決めて
もよい。
【0054】シルエット記憶領域53は、各画素ブロッ
クについて用意された配列型変数a[i,j]を記憶し
ている。シルエット記憶領域53の実体は、例えば、R
AM12のメモリ空間上に割り当てられた作業領域であ
る。
【0055】遠景選択部54は、オブジェクト記憶領域
51に格納されたオブジェクトの中から、シルエット選
択部52によって選択されたオブジェクトよりも遠景に
位置する各オブジェクトを抽出する。抽出方法は特に限
定されない。例えば、入力部14を介して人手で選別し
ても、予め定められていてもよい。但し、シルエット選
択部52と遠景選択部54が同一のオブジェクトを重複
して選択することはない。
【0056】遠景選択部54が選択したオブジェクト
は、オクルージョン判定部55に転送される。また、い
ずれの選択部52,54からも選択されなかったオブジ
ェクトは、陰面処理の対象から除外できないものとし
て、陰面処理部56に直接転送される。
【0057】オクルージョン判定部55は、シルエット
記憶領域53が蓄積している配列型変数a[i,j]を
参照しながら、遠景選択部54から転送されてきた各オ
ブジェクトについてのオクルージョン判定を行う。
【0058】上述したように、ある頂点を含む画素ブロ
ックについての配列型変数a[i,j]のk番目のビッ
トを参照することで、この頂点がk番目のオブジェクト
のシルエットで隠れてしまうか否かを判断することがで
きる。本実施例では、遠景のオブジェクトを構成する全
ての頂点が、シルエット登録された同一のオブジェクト
によって完全に覆われている場合には、この遠景のオブ
ジェクト全体が該シルエットによって隠れてしまうとオ
クルージョン判定することにしている。オクルージョン
判定の詳細については後述する。
【0059】オクルージョン判定の結果、手前のオブジ
ェクトによって完全に隠れてしまうと判定された遠景の
オブジェクトは、陰面処理をスキップして、後続の処理
(図示しない)に転送される。また、視点から見える
(すなわち少なくとも一部分が画面上に現れる)可能性
があると判定された遠景オブジェクトは、陰面処理部5
6に転送される。
【0060】陰面処理部56は、遠景選択部54やオク
ルージョン判定部55から送られてきたオブジェクトに
対して陰面処理を行う。ここで言う陰面処理とは、遠景
のオブジェクトを消去して、視点から見える手前のオブ
ジェクトのみを実際に画面表示するための処理である。
例えば、各画素のZ値を大小比較して、手前にある画素
のデータをフレーム・バッファに書き込むことによって
陰面処理される。但し、陰面処理自体は、3次元画像処
理の技術分野において既に周知の手法を適用でき、且
つ、本発明の要旨とは直接関連しないので、本明細書で
はこれ以上説明しない。
【0061】次いで、本実施例におけるオクルージョン
・カリング処理の手順について、図3及び図4を参照し
ながら説明する。
【0062】図3に示すように、本実施例に係るシルエ
ット登録及びオクルージョン処理では、表示部15上の
表示データを、画素単位ではなく、n×m個の画素ブロ
ックに分割して取り扱う。1つの画素ブロックは、例え
ば20×20画素サイズである。
【0063】i行j列目の画素ブロックには、Nビット
の配列型変数a[i,j](但し、0≦i≦n−1,0
≦j≦m−1)が用意されている。各変数a[i.j]
の初期値はゼロとする。上述したように、シルエット選
択部52は、自己が選択したk番目のオブジェクトによ
って完全に覆い隠される画素ブロックを探索して、発見
された各画素ブロックの配列型変数a[i,j]のk番
目のビットにフラグ”1”を書き込むようになってい
る。
【0064】また、3次元空間上には、描画オブジェク
トとしての多数の物体が散在している。手前側すなわち
視点に近い方のオブジェクトは、後方すなわち遠景のオ
ブジェクトを覆い隠すものとして、シルエット選択部5
2によりシルエット登録される。また、視点から遠景の
オブジェクトは、オクルージョン判定の対象となる。
【0065】図4には、手前側すなわち視点に近いk番
目のオブジェクトをシルエット登録する様子を図解して
いる。
【0066】シルエット選択部52は、オブジェクト記
憶領域51からk番目のオブジェクトに関する幾何情報
を抽出して、そのディスプレイ画面上の投影画像の輪郭
線を計算する。ここで必要なのは、オブジェクトの投影
画像の輪郭線のみであり、輪郭を構成しない稜線は無視
される。
【0067】そして、この輪郭線で囲まれた領域に完全
に覆われる画素ブロック[i,j]を探索する。図4で
は、ハッチングが付された画素ブロックが、登録された
シルエットに相当する。このような画素ブロックの探索
処理には、例えば、画像処理の技術分野において広く知
られている多角形フィル・アルゴリズムを適用すること
ができる。多角形フィル・アルゴリズムについては、例
えば、デビッド・F・ロジャース著の”Procedu
al Elements for Computer
Graphics”(McGraw−Hill Boo
k Company, 1985)(日本語訳:山口富
士夫監修,セイコー電子工業(株)電子機器事業部訳
「実践コンピュータグラフィックス 基礎手続きと応
用」日刊工業新聞社, 1987)の2章16節以降に
記述されている。
【0068】発見された各画素ブロックの配列型変数a
[i,j]のk番目のビットに、フラグ”1”を書き込
むことで、シルエット登録が行われる。シルエット登録
後は、k番目のビットが1である画素ブロックを探索す
ることによって、k番目のオブジェクトのシルエットを
描くことができる。また、配列型変数a[i,j]のビ
ット列をスキャンすることで、画素ブロックがどのオブ
ジェクトのシルエットによって完全に覆われているか
を、容易で且つ少ない計算量で検知することができる。
【0069】次いで、オクルージョン判定部55におい
て実行されるオクルージョン判定処理について説明す
る。図5には、オクルージョン判定処理の手順をフロー
チャートの形式で示している。
【0070】まず、ステップS11では、この処理ルー
チンで用いる変数tに初期値2N−1を代入する。2N
1は、2進表示で、N個の1のビット列となる。
【0071】ステップS12では、オクルージョン判定
部55に転送されてきた遠景のオブジェクトの頂点の1
つをVとする。
【0072】次いで、ステップS13では、ディスプレ
イ画面上で頂点Vが投影される点が属する画素ブロック
を探索し、その位置を[i,j]とする。
【0073】ステップS14では、画素ブロック[i,
j]に対応する配列型変数a[i,j]を、シルエット
記憶領域53から読み出して、tとa[i,j]との論
理積をtに代入する。”t and a[i,j]”と
いう論理積は、画素ブロック[i,j]を完全に覆う手
前側のオブジェクトに相当するビット位置にのみ、ビッ
ト”1”を残すことを意味する。(例えば、画素ブロッ
ク[i,j]が手前側のk番目のオブジェクトをシルエ
ット登録していた場合、変数a[i,j]のk番目のビ
ット値は1であり、tとa[i,j]との論理積により
k番目のビット値は1に保たれる。また、シルエット登
録されていないオブジェクトに相当するビット位置は論
理積によりゼロになる。)
【0074】ステップS15では、遠景オブジェクトの
全ての頂点について処理を終えたか否かを判断する。未
処理の頂点が残っていれば、ステップS12に復帰し
て、上記と同様の処理を繰り返し実行する。また、全て
の頂点について処理を終えていれば、次ステップS16
に進み、変数tがゼロに等しいか否かを判断する。
【0075】tがゼロに等しくない場合とは、処理中の
遠景オブジェクトを構成する各頂点が属する全ての画素
ブロックが同一のオブジェクトが持つシルエットによっ
て完全に覆い隠されていることを意味する。何故なら
ば、このような場合には、頂点を含む各画素ブロック
[i,j]についての配列型変数a[i,j]の同一ビ
ット位置が全て1となり、ステップS14において論理
積を繰り返しても、tの同じビット位置は1に保たれる
からである。本発明では、遠景のオブジェクトを構成す
る全ての頂点が、同一のオブジェクトのシルエットによ
って完全に覆い隠されている場合には、この遠景の物体
全体が該シルエットによって隠れてしまうと、オクルー
ジョン判定することにしている(図7を参照のこと)。
したがって、判断ブロックS16の分岐”No”に抜け
て、ステップS17の陰面処理をスキップする。すなわ
ち、当該遠景のオブジェクトを陰面処理の対象から除外
する。
【0076】他方、tがゼロに等しければ、処理中の遠
景オブジェクトを完全に覆う手前側のオブジェクトがな
いか、あるいは、単一のオブジェクトによっては完全に
覆い尽くされないことを意味する(図8を参照のこ
と)。この場合は、判断ブロックS16の分岐”Ye
s”に進んで、陰面処理の対象とする。
【0077】なお、全ての頂点が単一のオブジェクトに
よって覆い尽くされない場合は、該物体を陰面処理の対
象から除外しないのは、2以上のオブジェクトに跨って
全頂点が覆われた物体は、手前側のオブジェクト間の隙
間から一部が視点から見えている(すなわち、ディスプ
レイ画面上に現れている)可能性があるからである(図
9を参照のこと)。したがって、通常の陰面処理に委ね
る必要がある。
【0078】[追補]以上、特定の実施例を参照しなが
ら、本発明について詳解してきた。しかしながら、本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である。すなわち、例示とい
う形態で本発明を開示してきたのであり、限定的に解釈
されるべきではない。本発明の要旨を判断するために
は、冒頭に記載した特許請求の範囲の欄を参酌すべきで
ある。
【0079】
【発明の効果】以上詳記したように、本発明によれば、
レンダリング過程において手前に位置する物体によって
遠景の物体を消去する陰面処理を高速化することができ
る、優れた画像処理方法及び装置を提供することができ
る。
【0080】また、本発明によれば、手前の物体に完全
に覆われている物体を発見して、陰面処理の対象から完
全に除外する「オクルージョン・カリング」を採用する
ことによって陰面処理を高速化することができる、優れ
た画像処理方法及び装置を提供することができる。
【0081】また、本発明によれば、オクルージョン・
カリングにおいて、陰面処理の対象外となる物体を発見
する処理を高速化することができる。
【0082】本発明では、手前側の物体のシルエット
を、コンピュータのディスプレイ画面の画素サイズより
も大きな単位すなわち画素ブロックによって表現する。
このため、オブジェクトの数だけの整数演算を使った判
定処理のみでオクルージョン・カリングを実現できるの
で、処理が簡素化し且つ高速化する。
【図面の簡単な説明】
【図1】本発明を実現するのに適した画像処理システム
10のハードウェア構成を模式的に示した図である。
【図2】画像処理システム10において実行されるオク
ルージョン・カリング動作を図解した機能ブロック図で
ある。
【図3】n×m個の画素ブロックに分割されたディスプ
レイ画面上で、手前側の物体のシルエットを登録する様
子を図解したものである。
【図4】n×m個の画素ブロックに分割されたディスプ
レイ画面上で、手前側の物体のシルエットを登録する様
子を図解したものである。
【図5】オクルージョン判定部55において実行される
オクルージョン処理の手順を示したフローチャートであ
る。
【図6】オクルージョン・カリング処理を純粋な幾何学
計算によって行う様子を模式的に図解したものである。
【図7】 オクルージョン・カリング処理の様子を模式
的に図解したものであり、より具体的には、全ての頂点
がシルエットに含まれているので陰面処理の対象から除
外する場合を図解したものである。
【図8】 オクルージョン・カリング処理の様子を模式
的に図解したものであり、より具体的には、全ての頂点
がシルエットに含まれていないので陰面処理の対象とす
る場合を図解したものである。
【図9】 オクルージョン・カリング処理の様子を模式
的に図解したものであり、より具体的には、2以上のシ
ルエットに跨って頂点が隠れているので陰面処理の対象
とする場合を図解したものである。
【符号の説明】
10…画像処理システム, 11…演算処理部 12…RAM, 13…ROM 14…入力部, 15…表示部 16…外部記憶装置, 17…メディア・ドライブ 18…ネットワーク・インターフェース 51…オクルージョン記憶領域, 52…シルエット選
択部 53…シルエット記憶領域, 54…遠景選択部 55…オクルージョン判定部, 56…陰面処理部

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理方法であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うための、(a)画面をn×m
    個の画素ブロックに分割するステップと、(b)手前側
    のオブジェクトによって形成されるシルエットに完全に
    含まれる画素ブロックを探索して、シルエット登録する
    ステップと、(c)遠景のオブジェクトを構成する各頂
    点が存在する画素ブロックがシルエット登録されている
    か否かを判別するステップと、(d)全ての頂点がシル
    エット内に含まれているオブジェクトを陰面処理の対象
    から除外するステップと、を含むことを特徴とする画像
    処理方法。
  2. 【請求項2】 前記ステップ(d)では、単一のオブジ
    ェクトによつて形成されたシルエットに全ての頂点が存
    在しない場合には、該遠景のオブジェクトを陰面処理の
    対象から除外しないことを特徴とする請求項1に記載の
    画像処理方法。
  3. 【請求項3】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理方法であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うための、(a)画面をn×m
    個の画素ブロックに分割するとともに、各i行j列目の
    画素ブロックを覆うシルエットを管理するためのNビッ
    トからなる配列型変数a[i,j](但し、0≦i≦n
    −1,0≦j≦m−1)を用意するステップと、(b)
    手前側のk番目のオブジェクトによって形成されるシル
    エットに完全に含まれる画素ブロックを探索して、抽出
    された各画素ブロックについての変数a[i,j]のk
    番目のビットをセットすることでシルエット登録するス
    テップと、(c)遠景のオブジェクトを構成する各頂点
    を含む画素ブロックについての各変数a[i,j]の同
    一ビット位置が全てビット設定されているか否かによっ
    て、該遠景のオブジェクトの全頂点がk番目のオブジェ
    クトによって形成されるシルエット内にあるか否かを判
    別するステップと、(d)全ての頂点がシルエット内に
    含まれているオブジェクトを陰面処理の対象から除外す
    るステップと、を含むことを特徴とする画像処理方法。
  4. 【請求項4】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理方法であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うための、(a)画面をn×m
    個の画素ブロックに分割するステップと、(b)画素ブ
    ロック単位で手前側のオブジェクトによって形成される
    シルエットを表現するステップと、(c)画素ブロック
    単位で表現されたシルエットを用いて遠景のオブジェク
    トのオクルージョン・カリングを行うステップと、を含
    むことを特徴とする画像処理方法。
  5. 【請求項5】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理装置であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うための、(a)画面をn×m
    個の画素ブロックに分割する手段と、(b)手前側のオ
    ブジェクトによって形成されるシルエットに完全に含ま
    れる画素ブロックを探索して、シルエット登録する手段
    と、(c)遠景のオブジェクトを構成する各頂点が存在
    する画素ブロックがシルエット登録されているか否かを
    判別する手段と、(d)全ての頂点がシルエット内に含
    まれているオブジェクトを陰面処理の対象から除外する
    手段と、を含むことを特徴とする画像処理装置。
  6. 【請求項6】 前記手段(d)は、単一のオブジェクト
    によってシルエット登録された画素ブロック内に全ての
    頂点が存在しない場合には、該遠景のオブジェクトを陰
    面処理の対象から除外しないことを特徴とする請求項5
    に記載の画像処理装置。
  7. 【請求項7】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理装置であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うために、(a)画面をn×m
    個の画素ブロックに分割するとともに、各i行j列目の
    画素ブロックを覆うシルエットを管理するためのNビッ
    トからなる配列型変数a[i,j](但し、0≦i≦n
    −1,0≦j≦m−1)を用意する手段と、(b)手前
    側のk番目のオブジェクトによって形成されるシルエッ
    トに完全に含まれる画素ブロックを探索して、抽出され
    た各画素ブロックについての変数a[i,j]のk番目
    のビットをセットすることでシルエット登録する手段
    と、(c)遠景のオブジェクトを構成する各頂点を含む
    画素ブロックについての各変数a[i,j]の同一ビッ
    ト位置が全てビット設定されているか否かによって、該
    遠景のオブジェクトの全頂点がk番目のオブジェクトに
    よって形成されるシルエット内にあるか否かを判別する
    手段と、(d)全ての頂点がシルエット内に含まれてい
    るオブジェクトを陰面処理の対象から除外する手段と、
    を含むことを特徴とする画像処理装置。
  8. 【請求項8】 複数の3次元オブジェクトを含んだ画像
    を生成して画面に表示するための画像処理装置であっ
    て、手前側のオブジェクトによって遠景のオブジェクト
    を消去する陰面処理を行うために、(a)画面をn×m
    個の画素ブロックに分割する手段と、(b)画素ブロッ
    ク単位で手前側のオブジェクトによって形成されるシル
    エットを表現する手段と、(c)画素ブロック単位で表
    現されたシルエットを用いて遠景のオブジェクトのオク
    ルージョン・カリングを行う手段と、を含むことを特徴
    とする画像処理装置。
  9. 【請求項9】 複数の3次元オブジェクトを含んだ画像
    を生成してコンピュータのディスプレイ画面に表示する
    画像処理をコンピュータ・システム上で実行せしめるた
    めのコンピュータ・プログラムを有形的に提供するプロ
    グラム提供媒体であって、前記コンピュータ・プログラ
    ムは、手前側のオブジェクトによって遠景のオブジェク
    トを消去する陰面処理を行うための、(a)画面をn×
    m個の画素ブロックに分割するステップと、(b)手前
    側のオブジェクトによって形成されるシルエットに完全
    に含まれる画素ブロックを探索して、シルエット登録す
    るステップと、(c)遠景のオブジェクトを構成する各
    頂点が存在する画素ブロックがシルエット登録されてい
    るか否かを判別するステップと、(d)全ての頂点がシ
    ルエット内に含まれているオブジェクトを陰面処理の対
    象から除外するステップと、を含むことを特徴とするプ
    ログラム提供媒体。
  10. 【請求項10】 前記ステップ(d)では、単一のオブ
    ジェクトによってシルエット登録された画素ブロック内
    に全ての頂点が存在しない場合には、該遠景のオブジェ
    クトを陰面処理の対象から除外しないことを特徴とする
    請求項9に記載のプログラム提供媒体。
  11. 【請求項11】 複数の3次元オブジェクトを含んだ画
    像を生成してコンピュータのディスプレイ画面に表示す
    る画像処理をコンピュータ・システム上で実行せしめる
    ためのコンピュータ・プログラムを有形的に提供するプ
    ログラム提供媒体であって、前記コンピュータ・プログ
    ラムは、手前側のオブジェクトによって遠景のオブジェ
    クトを消去する陰面処理を行うための、(a)画面をn
    ×m個の画素ブロックに分割するとともに、各i行j列
    目の画素ブロックを覆うシルエットを管理するためのN
    ビットからなる配列型変数a[i,j](但し、0≦i
    ≦n−1,0≦j≦m−1)を用意するステップと、
    (b)手前側のk番目のオブジェクトによって形成され
    るシルエットに完全に含まれる画素ブロックを探索し
    て、抽出された各画素ブロックについての変数a[i,
    j]のk番目のビットをセットすることでシルエット登
    録するステップと、(c)遠景のオブジェクトを構成す
    る各頂点を含む画素ブロックについての各変数a[i,
    j]の同一ビット位置が全てビット設定されているか否
    かによって、該遠景のオブジェクトの全頂点がk番目の
    オブジェクトによって形成されるシルエット内にあるか
    否かを判別するステップと、(d)全ての頂点がシルエ
    ット内に含まれているオブジェクトを陰面処理の対象か
    ら除外するステップと、を含むことを特徴とするプログ
    ラム提供媒体。
  12. 【請求項12】 複数の3次元オブジェクトを含んだ画
    像を生成してコンピュータのディスプレイ画面に表示す
    る画像処理をコンピュータ・システム上で実行せしめる
    ためのコンピュータ・プログラムを有形的に提供するプ
    ログラム提供媒体であって、前記コンピュータ・プログ
    ラムは、手前側のオブジェクトによって遠景のオブジェ
    クトを消去する陰面処理を行うための、(a)画面をn
    ×m個の画素ブロックに分割するステップと、(b)画
    素ブロック単位で手前側のオブジェクトによって形成さ
    れるシルエットを表現するステップと、(c)画素ブロ
    ック単位で表現されたシルエットを用いて遠景のオブジ
    ェクトのオクルージョン・カリングを行うステップと、
    を含むことを特徴とするプログラム提供媒体。
JP11142614A 1999-05-24 1999-05-24 画像処理方法、画像処理装置、及びプログラム提供媒体 Pending JP2000331185A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11142614A JP2000331185A (ja) 1999-05-24 1999-05-24 画像処理方法、画像処理装置、及びプログラム提供媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11142614A JP2000331185A (ja) 1999-05-24 1999-05-24 画像処理方法、画像処理装置、及びプログラム提供媒体

Publications (1)

Publication Number Publication Date
JP2000331185A true JP2000331185A (ja) 2000-11-30

Family

ID=15319436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11142614A Pending JP2000331185A (ja) 1999-05-24 1999-05-24 画像処理方法、画像処理装置、及びプログラム提供媒体

Country Status (1)

Country Link
JP (1) JP2000331185A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1201904A2 (en) 2000-10-30 2002-05-02 Nissan Motor Co., Ltd. Drive force controller of a diesel engine vehicle
JP2006510973A (ja) * 2002-12-20 2006-03-30 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 最小奥行遮蔽カリングおよびジグザグトラバーサルを利用するグラフィック処理装置、方法およびコンピュータプログラム製品
JP2006235926A (ja) * 2005-02-24 2006-09-07 Toshiba Corp 画像処理装置、画像処理方法および画像処理プログラム
KR100983739B1 (ko) 2008-11-20 2010-09-24 중앙대학교 산학협력단 블록 기반 3차원 맵 모델링 방법
JP2012505471A (ja) * 2008-10-08 2012-03-01 ストライダー ラブス,インコーポレイテッド 画像から3dシーン・モデルを構築するシステムおよび方法
JP2014517385A (ja) * 2011-05-04 2014-07-17 クゥアルコム・インコーポレイテッド 低解像度バッファベースのピクセルカリング
CN117036576A (zh) * 2023-10-09 2023-11-10 腾讯科技(深圳)有限公司 地图渲染方法、装置、电子设备及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1201904A2 (en) 2000-10-30 2002-05-02 Nissan Motor Co., Ltd. Drive force controller of a diesel engine vehicle
JP2006510973A (ja) * 2002-12-20 2006-03-30 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 最小奥行遮蔽カリングおよびジグザグトラバーサルを利用するグラフィック処理装置、方法およびコンピュータプログラム製品
US7961185B2 (en) 2002-12-20 2011-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Graphics processing apparatus, methods and computer program products utilizing minimum-depth occlusion culling and zig-zag traversal
JP2006235926A (ja) * 2005-02-24 2006-09-07 Toshiba Corp 画像処理装置、画像処理方法および画像処理プログラム
US7948486B2 (en) 2005-02-24 2011-05-24 Kabushiki Kaisha Toshiba Apparatus and method for performing hidden surface removal and computer program product
JP2012505471A (ja) * 2008-10-08 2012-03-01 ストライダー ラブス,インコーポレイテッド 画像から3dシーン・モデルを構築するシステムおよび方法
KR100983739B1 (ko) 2008-11-20 2010-09-24 중앙대학교 산학협력단 블록 기반 3차원 맵 모델링 방법
JP2014517385A (ja) * 2011-05-04 2014-07-17 クゥアルコム・インコーポレイテッド 低解像度バッファベースのピクセルカリング
CN117036576A (zh) * 2023-10-09 2023-11-10 腾讯科技(深圳)有限公司 地图渲染方法、装置、电子设备及存储介质
CN117036576B (zh) * 2023-10-09 2024-01-30 腾讯科技(深圳)有限公司 地图渲染方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US5825363A (en) Method and apparatus for determining visible surfaces
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
US5734806A (en) Method and apparatus for determining graphical object visibility
US6198486B1 (en) Method of using a hybrid error metric for multi-resolution mesh generation
US5684936A (en) Method and apparatus for generating a rendering order for use in rendering images using a pre-processing technique
US20130127858A1 (en) Interception of Graphics API Calls for Optimization of Rendering
US20220237730A1 (en) Graphics processing
JPH0785290A (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
KR20060052042A (ko) 3d에서의 하드웨어 가속화된 안티-엘리어싱 방법 및시스템
KR0150832B1 (ko) 그래픽 대상을 인터로크하기 위한 방법 및 장치
US20210287418A1 (en) Graphics processing unit render mode selection system
US6195098B1 (en) System and method for interactive rendering of three dimensional objects
US6097395A (en) Dynamic selection of lighting coordinates in a computer graphics system
US5265198A (en) Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
JP2000331185A (ja) 画像処理方法、画像処理装置、及びプログラム提供媒体
US5666474A (en) Image processing
JP3350473B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置および方法
US5872570A (en) Method and apparatus for use in generating a rendering order for use in rendering images
JP2003281558A (ja) 最適なタイリング性能のためにグラフィックスをラスタライズするための方法
US11836333B2 (en) Computer-implemented method and SDK for rapid rendering of object-oriented environments with enhanced interaction
JP2001243493A (ja) 画像描画方法、画像描画装置、記録媒体及びプログラム
EP0612028A2 (en) Image Processing
EP0612032B1 (en) Image processing
WO2022084666A1 (en) Graphics processing systems
EP0612030B1 (en) Image processing