JPH10261095A - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法

Info

Publication number
JPH10261095A
JPH10261095A JP6676597A JP6676597A JPH10261095A JP H10261095 A JPH10261095 A JP H10261095A JP 6676597 A JP6676597 A JP 6676597A JP 6676597 A JP6676597 A JP 6676597A JP H10261095 A JPH10261095 A JP H10261095A
Authority
JP
Japan
Prior art keywords
data
image processing
processing apparatus
pixel
processing method
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.)
Withdrawn
Application number
JP6676597A
Other languages
English (en)
Inventor
Seisuke Morioka
誠介 森岡
Keisuke Yasui
啓祐 安井
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.)
Sega Corp
Original Assignee
Sega Enterprises 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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP6676597A priority Critical patent/JPH10261095A/ja
Publication of JPH10261095A publication Critical patent/JPH10261095A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 隣接する複数のデータを読み出すためのアド
レス値の生成が容易であり、かつ、画像のデータサイズ
を変更してもアドレス値の互換性を失わない画像処理方
法を提供することを目的とする。 【解決手段】 平面的に構成された画像メモリの各画素
を読み出す読出ステップを含む画像処理方法において、
前記読出ステップは、前記画像メモリの各画素をフラク
タル形状でアクセスする。フラクタル形状として、例え
ば、アルファベットの「Z」に類似する形状がある。ア
ドレス値をインクリメントするのみで正方形に配置され
たデータをアクセスできるとともに、図10の領域A
1,A2,A3の軌跡が自己相似であるので、拡大縮小
によってもアドレス値の互換性を失わない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コンピュータグ
ラフィックス用の画像処理装置及び画像処理方法に関す
る。
【0002】
【従来の技術】コンピュータグラフィックスの分野にお
いて、ひとつひとつの画素にメモリを割り当てることに
より画面を構成することが行われている。この種の画面
は2次元的な平面構成を持っているにも関らず、実際に
メモリを用いて構成する場合、ハードウエア上の制約か
ら1次元的な構造のデータとして扱われることが多い。
そのため、2次元のxy座標と1次元のアドレス値との
間で何等かの対応関係を定義する必要がある。その例を
以下に説明する。
【0003】<アドレッシングの例1>図36のような
4×4のテクセルを考える。これらテクセルのアドレス
値は、図のデータA〜Pの順番で0〜15に対応する。
すなわち、アドレス0はA、アドレス1はB、アドレス
2はC、アドレス3はD、アドレス4はE、アドレス5
はF、アドレス6はG、アドレス7はH、・・・・。こ
のようなアドレッシングは図35のいわゆるラスタース
キャンのディスプレイの走査順序に対応しているので、
読み出しアドレスの生成が容易であるという特徴があ
る。
【0004】<アドレッシングの例2>例えば、図37
のように12ビットのアドレスで表される。上位ビット
側の6ビットにはy座標の6ビット(y5〜y0)が割
り当てられ、下位ビット側の6ビットにはx座標の6ビ
ット(x5〜x0)が割り当てられている。
【0005】このアドレスの使い方を具体例を用いて説
明する。図37のような4×4のテクセルを考える。こ
れらテクセルの座標は、左上隅のセルを原点として、
(x,y),x=0,1,2,3,y=0,1,2,3
と表すことができる。このとき、テクセルの座標(0,
0),(1,0),(2,0),(3,0)には、それ
ぞれデータA,B,C,Dが対応する。次の行について
も同様に座標(0,1)(1,1),(2,1),
(3,1)には、それぞれデータE,F,G,Hが対応
する。以下、同様にI〜Pが割り当てられる。
【0006】また、テクセルの座標とアドレス値の関係
は次のようになる。
【0007】 (0、0):000000000000(二進)=0
(十進) (1、0):000000000001(二進)=1
(十進) (2、0):000000000010(二進)=2
(十進) (3、0):000000000011(二進)=3
(十進) (1、0):000001000000(二進)=64
(十進) (1、1):000001000001(二進)=65
(十進) (1、2):000001000010(二進)=66
(十進) (1、3):000001000011(二進)=67
(十進) ・・・ このようなアドレッシングはxy座標から直接アドレス
を生成できるので、座標を用いた処理を行うときに便利
であるという特徴がある。
【0008】
【発明が解決しようとする課題】以上の2つの例におい
て、x軸方向に隣接するテクセル、例えばデータAとB
には連続するアドレス値「0」と「1」が与えられる。
しかし、y軸方向に隣接するテクセル、例えばデータA
とEには、例1の場合においてアドレス「0」「4」と
が、例2の場合においてアドレス「0」と「64」が与
えられる。すなわち、この構造では、横方向には連続し
たアドレスが与えられるが、縦方向には横方向のサイズ
によって決まる不連続なアドレスが与えられる。従っ
て、データを2次元的に扱おうとした場合、以下のよう
な不都合が生じる。
【0009】(1)隣接する複数のデータについて処理
を行う場合、これらデータを読み出すためのアドレス値
の生成が複雑になる。
【0010】隣接する複数のデータについて行う処理に
は、例えば、コンピュータグラフィックス技術におい
て、ポリゴン(多面体)で表現された物体に対して模様
等を付すためのテクスチャマッピングがある。このテク
スチャマッピングを行うときのアンチエイリアシング、
すなわちテクスチャのジャギ(ぎざぎざ)をなくすため
の技法としてミップマップがある。ミップマップは次の
ような原理によるものである。
【0011】本来、1画素に投影される物体面の色(輝
度)は、対応するマッピング領域の色の平均値としなけ
ればならない。そうしないとジャギが目立ってしまい、
テクスチャの質が極端に落ちる。一方、いちいち平均を
求める処理を行うと計算負荷が過大となり、処理に時間
がかかったり、高速プロセッサが必要になったりする。
ミップマップはこれを解決するためのものである。ミッ
プマップでは、1画素に対応するマッピング領域の色
(輝度)の集計を簡素化するために、あらかじめ2の倍
数幅のマッピングデータを複数用意する。1画素に対応
したすべてのマッピング領域の大きさは、これら2の倍
数倍のいずれか2つのデータの間に存在することにな
る。これら2つのデータを比較することにより対応する
マッピング領域の色を求める。例えば、1倍の画面Aと
1/2倍の画面Bとがあったとき、1/1.5倍の画面
Cの各画素と対応する画面A及びBの画素をそれぞれ求
める。このとき、画面Cの当該画素の色は、画面Aの画
素と画面Bの画素の中間の色になる。
【0012】このミップマップを生成するためには、上
述のように平面上で隣接する複数の画素をまとめるとい
う処理が必要である。たとえば、1倍の画面Aから1/
2倍の画面Bを求めるためには、2×2=4つの画素の
平均を求め1つの画素にまとめる必要がある。そのため
には4つの画素のデータを読み出さなければならない
が、上述のようなアドレッシング方法ではアドレス計算
が複雑になり処理に時間がかかる。ミップマップを生成
する画面の倍率が1/4、1/8、・・・のように増え
るとさらに複雑になる。これではリアルタイムの処理が
困難であるから、従来は必要とされるすべてのミップマ
ップを予め用意していた。しかし、この方法では多くの
メモリを必要とするので、ハードウエアの制約から、画
素数を増やしてさらにリアルな画像を提供することが困
難である。
【0013】(2)画像のデータサイズを変更する場
合、x方向のサイズを変更するとコンパチビリティが保
てない。
【0014】例1の場合において、y方向の大きさを変
更する(例えば、4行×4列を8行×4列に変更する)
ことは、単にアドレスのビット数を増やすだけで対応で
きる。しかし、x方向の大きさを変更する(例えば、図
38のように4行×4列を4行×8列に変更する)こと
は、テクセルとアドレス値との対応関係の変更を伴うの
で、それに応じてアドレスの生成方法を変えなければな
らない。具体的に説明すれば、図36においてデータA
と隣接するのはB,E,Fであり、アドレス値はそれぞ
れ1、4、5であるが、図38においてデータAと隣接
するのはB,I,Jであり、アドレス値はそれぞれ1、
8、9である。このように画像のデータサイズを変更す
ると、併せてアドレス生成方法も変更しなければならな
い。
【0015】この発明は係る課題を解決するためになさ
れたもので、隣接する複数のデータを読み出すためのア
ドレス値の生成が容易である画像処理装置を提供し、高
速にミップマップを生成するとともに、同時にテクスチ
ャサイズの柔軟な拡張性も実現する。
【0016】また、この発明は、画像のデータサイズを
変更してもアドレス値の互換性を失わない画像処理装置
を提供することを目的とする。
【0017】
【課題を解決するための手段】この発明に係る画像処理
装置は、平面的に配置された画素データを記憶する画像
メモリと、前記画像メモリをアクセスするアクセス手段
とを備える画像処理装置において、前記アクセス手段
は、前記画像メモリの各画素をフラクタル形状でアクセ
スするものである。
【0018】ここで、フラクタル形状とは、アクセスに
よる軌跡の一部と全体が自己相似形であることを意味す
る。例えば、2画素×2画素の領域をアクセスするとき
の軌跡と、4画素×4画素の領域をアクセスするときの
軌跡とが相似であることを意味する。フラクタルとは、
一般に、全体の一部を拡大すると、全体とその一部とが
相似することである。例えば、図9〜図34に示された
軌跡である。
【0019】この発明に係る画像処理装置は、前記フラ
クタル形状が、アルファベットの「Z」に類似する形状
であることを特徴とする。
【0020】この発明に係る画像処理装置は、前記フラ
クタル形状が、カタカナの「コ」に類似する形状である
ことを特徴とする。
【0021】この発明に係る画像処理装置は、前記フラ
クタル形状が、アルファベットの「X」に類似する形状
であることを特徴とする。
【0022】この発明に係る画像処理装置は、前記画像
メモリのアドレスが一次元的に構成されているとき、前
記画像メモリが構成される平面のx座標の成分とy座標
の成分とを交互に配列することにより前記アドレスを定
義することを特徴とする。
【0023】この発明に係る画像処理装置は、前記画像
メモリの画素データの構成が、2のべき乗×2のべき乗
であることを特徴とする。
【0024】この発明に係る画像処理装置は、前記画像
メモリから順次読み出されたデータを予め定められた数
ごとにまとめるデータ統合手段を備えるものである。
【0025】この発明に係る画像処理装置は、前記デー
タ統合手段が、複数のデータの平均値を求めるものであ
る。
【0026】この発明に係る画像処理装置は、前記デー
タ統合手段が、それぞれ予め定められた数のデータをま
とめる複数のデータ統合回路を縦続接続して構成したも
のである。
【0027】この発明に係る画像処理装置は、前記統合
回路が、順次入力されるデータを累積加算する加算器
と、前記加算器の出力を保持するとともに保持したデー
タを前記加算器に対して出力するレジスタと、前記加算
器の累積加算の数をカウントすることにより予め定めら
れた数ごとに前記レジスタの内容をクリアするカウンタ
とを備えるものである。
【0028】この発明に係る画像処理方法は、平面的に
配置された画素データを記憶する画像メモリの各画素を
読み出す読出ステップを含む画像処理方法において、前
記読出ステップは、前記画像メモリの各画素をフラクタ
ル形状でアクセスする。
【0029】この発明に係る画像処理方法は、前記フラ
クタル形状が、アルファベットの「Z」に類似する形状
である。
【0030】この発明に係る画像処理方法は、前記フラ
クタル形状が、カタカナの「コ」に類似する形状であ
る。
【0031】この発明に係る画像処理方法は、前記フラ
クタル形状が、アルファベットの「X」に類似する形状
である。
【0032】この発明に係る画像処理方法は、前記画像
メモリから順次読み出されたデータを予め定められた数
ごとにまとめるデータ統合ステップを備えるものであ
る。
【0033】この発明に係る画像処理方法は、前記デー
タ統合ステップが、隣接する2のべき乗×2のべき乗の
画素ごとにデータを統合する。
【0034】この発明に係る画像処理方法は、前記デー
タ統合ステップが、複数のデータの平均値を求める。
【0035】
【発明の実施の形態】
発明の実施の形態1.以下、この発明の実施の形態1の
装置及び方法について説明する。
【0036】図1はこの発明の実施の形態1に係る画像
処理装置の概略機能ブロック図である。この図におい
て、1はCPU(central processing unit)であり、仮
想空間中の物体に対して操作を行ったり、その情報を得
たり、各種制御を行う。2はジオメトリプロセッサ(ge
ometry processor)であり、3次元コンピュータグラフ
ィックにおけるポリゴンの座標変換、クリッピング、透
視変換などの幾何変換(ベクトル演算)や輝度計算を高
速に行う。2aはポリゴンマテリアルライトバッファメ
モリ(polygon material light buffer RAM)であり、
ジオメトリプロセッサ2が処理を行う際に、1フレーム
分の有効なポリゴンデータ、マテリアルデータ、ライト
データを保存するバッファである。ポリゴンとは、仮想
空間中の立体を構成する多面体のことである。このバッ
ファメモリ2aに格納されるデータの内訳を示すと次の
ようになる。
【0037】ポリゴンのリンク情報、座標情報、その他
の属性情報 LINK X, LINK Y, X, Y, iz, Tx, Ty, Nx, Ny, Sign Nz,
Alpha, Light ID, Material ID・・・などである。
【0038】マテリアルの情報 Depth enable, Depth function, Depth density, Textr
e enable, Fog enable,translucensy enable, textre t
ype, texture function, offset x,y, size x,y, repea
t x,y, mirror x,y, color id, Sine, Material specul
ar, Material emission, Polygon color, Texture mod
e, blend modeなどである。
【0039】ライトの情報 Light Position, Light Direction, Light Type, Atten
uation, Cutoff, Spotexp,Light Color, Light Ambient
などである。
【0040】3は陰面消去処理を行うフィルプロセッサ
(fill processor)である。フィルプロセッサ3は、領
域中でポリゴンの塗りつぶしを行い、各ピクセル毎に最
も手前にくるポリゴンの各情報を求める。
【0041】4はテクスチャプロセッサ(texture proc
essor)である。テクスチャプロセッサ4は、領域内の
各ピクセルにテクスチャを貼り付ける。テクスチャマッ
ピングとは、形状が定義された物体の表面に、形状とは
別に定義された模様(テクスチャ)を貼り付け(マッピ
ング)て画像を作成する処理である。4aはテクスチャ
メモリ(texture RAM)であり、テクスチャプロセッサ
4で処理を行うためのテクスチャマップが保存されてい
る。
【0042】5はシェーディングプロセッサ(shading
processor)である。シェーディングとは、ポリゴンで
構成される物体の影のような表現を、ポリゴンの法線ベ
クトル、光源の位置や色、視点の位置、視線の方向等を
考慮して行う手法である。シェーディングプロセッサ5
は、領域内の各ピクセルの輝度を求める。5aは1画面
の画像データが記憶されるフレームバッファ(frame bu
ffer)である。フレームバッファ5aから順次データが
読み出され、デジタルデータからアナログ信号に変換さ
れた後に、図示しないCRT、液晶表示装置、プラズマ
ディスプレイ装置等のディスプレイに供給される。
【0043】6は、CPU1のプログラムやグラフィッ
クプロセッサへのコマンド(ポリゴンのデータベース、
ディスプレイリストなど)を保存するプログラムワーク
ポリゴンバッファメモリ(program work polygon buffe
r RAM)である。このバッファメモリ6はCPU1のワ
ークメモリでもある。
【0044】フィルプロセッサ3、テクスチャプロセッ
サ4、シェーディングプロセッサ5は、仮想空間座標中
に定義されたモデルを使って絵を作成するための、いわ
ゆるレンダリングを行う。レンダリングでは、各領域は
画面左上から順に処理される。レンダリングの処理は領
域の個数分繰り返される。
【0045】次にこの発明の実施の形態1に係る画像処
理装置の詳細について、図2乃至図5の機能ブロック図
に基づき説明する。
【0046】図2はジオメトリプロセッサ2の機能ブロ
ック図である。この図において、21はデータディスパ
ッチャー(data dispatcher)であり、バッファメモリ
6からコマンドを読み出すとともに解析し、この解析結
果に基づきベクタエンジン22、クリッピングエンジン
24をコントロールし、処理されたデータをソートエン
ジン27へ出力する。
【0047】22はベクタエンジン(vector engine)
であり、ベクトル演算を行う。扱うベクトルはベクタレ
ジスタ23に保存される。
【0048】23はベクタレジスタ(vector registe
r)であり、ベクタエンジン22で演算を行うベクトル
データを保存する。
【0049】24はクリッピングエンジン(clipping e
ngine)であり、クリッピングを行う。
【0050】25はYソートインデックス(Y-sort IND
EX)であり、ソートエンジン27でYソーティングを行
うときに使うY指標を保存する。
【0051】26はXソートインデックス(X-sort IND
EX)であり、ソートエンジン27でXソーティングを行
うときに使うX指標を保存する。
【0052】27はソートエンジン(sort engine)で
あり、Xソーティング及びYソーティングを行うことに
より、注目しているフラグメントに入るポリゴンをバッ
ファ6から検索する。検索されたポリゴンはバッファメ
モリ2aに格納されるとともに、フィルプロセッサ3に
送られレンダリングがなされる。また、ソートエンジン
27はポリゴンTAG28及びポリゴンキャッシュ34
の制御も行う。
【0053】28はポリゴンTAG(polygon TAG)で
あり、ポリゴンキャッシュ34のTAGを保存するバッ
ファである。
【0054】図3はジオメトリプロセッサ2の機能ブロ
ック図である。この図において、31はキャッシュコン
トローラ(cache controller)であり、後述のマテリア
ルキャッシュ42、45、51b、52a、53a及び
ライトキャッシュ51aを制御する。
【0055】32はマテリアルTAG(material TAG)
であり、後述のマテリアルキャッシュ42、45、51
b、52a、53a及びライトキャッシュ51aのTA
Gを保存する。
【0056】33はライトTAG(light TAG)であ
り、後述のライトキャッシュ51aのTAGを保存する
バッファである。
【0057】34はポリゴンキャッシュ(polygon cach
e)であり、ポリゴンデータのキャッシュメモリであ
る。
【0058】35は初期パラメータ計算機(initial pa
rameter calculator)であり、DDAの初期値を求め
る。
【0059】36はZコンパレータアレー(Z comparat
or array)であり、陰面消去処理のためにポリゴン間で
Z比較を行うとともに、ポリゴンID及び内分比t0、
t1、t2を埋め込む。Zコンパレータアレー36は8
×8=64個のZ比較器から構成される。これらがパラ
レルに動作するので、同時に64個のピクセルについて
処理が可能である。1つのZ比較器にはポリゴンに関す
るデータが保存される。例えば、polygon ID, iz, t0,
t1, t2, window, stencil, shadowなどである。
【0060】37は頂点パラメータバッファ(vertex p
arameter buffer)であり、ポリゴンの頂点でのパラメ
ータを保存するバッファである。Zコンパレータアレー
36に対応して64ポリゴン分の大きさをもつ。
【0061】38は補間器(interpolater)であり、Z
コンパレータアレー36の計算結果t0、t1、t2及
びizと頂点パラメータバッファ37の内容により、ピ
クセルのパラメータを補間して算出する。
【0062】図4はテクスチャプロセッサ4の機能ブロ
ック図である。この図において、41は濃度計算機(de
nsity calculator)であり、フォグまたはデプスキュー
イングのためのブレンド比を算出する。
【0063】42はマテリアルキャッシュ(material c
ache)であり、深さ情報に関するデータが保存される。
例えば、Depth enable, Depth function, Depth densit
y, Depth end z, Texture enable, Fog enableなどであ
る。
【0064】43はウインドウレジスタ(window regis
ter)であり、ウインドウに関する情報を保存するバッ
ファである。例えば、 kz, cz, fog function, fog density, fog end z 44はアドレス発生器(address generator)であり、
テクスチャ座標Tx,Ty及びLODよりテクスチャマ
ップ上でのアドレスを算出する。
【0065】45はマテリアルキャッシュ(material c
ache)であり、材質に関するデータが保存される。例え
ば、translucensy enable, texture type, offset x,y,
size x,y, repeat x,y, mirror x,y, color idなどで
ある。
【0066】46は3次元補間であるトライリニアミッ
プマップ補間を行うTLMMI計算機(TLMMI calculat
or, TLMMI:Tri Linear MIP Map Interpolation)であ
る。ミップマップとは、テクスチャマッピングを行うと
きのアンチエイリアシング、すなわちテクスチャのジャ
ギ(ぎざぎざ)をなくすための技法である。これは次の
ような原理によるものである。本来、1画素に投影され
る物体面の色(輝度)は、対応するマッピング領域の色
の平均値としなければならない。そうしないとジャギが
目立ってしまい、テクスチャの質が極端に落ちる。一
方、いちいち平均を求める処理を行うと計算負荷が過大
となり、処理に時間がかかったり、高速プロセッサが必
要になったりする。ミップマップはこれを解決するため
のものである。ミップマップでは、1画素に対応するマ
ッピング領域の色(輝度)の集計を簡素化するために、
あらかじめ2の倍数幅のマッピングデータを複数用意す
る。1画素に対応したすべてのマッピング領域の大きさ
は、これら2の倍数倍のいずれか2つのデータの間に存
在することになる。これら2つのデータを比較すること
により対応するマッピング領域の色を求める。例えば、
1倍の画面Aと1/2倍の画面Bとがあったとき、1/
1.5倍の画面Cの各画素と対応する画面A及びBの画
素をそれぞれ求める。このとき、画面Cの当該画素の色
は、画面Aの画素と画面Bの画素の中間の色になる。
【0067】なお、A,B,Cの3種類のテクスチャを
用いるとして、通常のミップマップにおいてはマップ
A、B、C、これらの半分のマップA/2、B/2、C
/2、これらのさらに半分のマップA/4、B/4、C
/4、・・・が予めフレームメモリに記録されており、
これらのうちの2つのマップを使って表示画面での各ピ
クセル輝度が求められる。これに対し、この発明の実施
の形態1では、この1ステップ手前の「1倍のテクスチ
ャマップから2のN乗分の1に縮小されたマップを生成
する」ところから始めるので、通常のミップマップ手法
とは若干手順が異なる。なお、この発明の実施の形態1
の方法では基本の1倍マップを2倍/3倍に拡大するこ
とはできないはずであるので、この発明の実施の形態1
で言う「1倍」マップは、表示画面サイズよりも大きな
ものが適する。
【0068】47はカラーコンバータ(color converte
r)であり、4bitテクセル時にカラー変換を行う。
【0069】48はカラーパレット(color pallet)で
あり、4bitテクセル時のカラー情報が保存される。
カラーパレット48は、グラフィックを書くときに使う
色を格納する。カラーパレット48の内容に対応して1
つの画素に使える色が決まる。
【0070】図5はシェーディングプロセッサ5の機能
ブロック図である。この図において、 51は輝度処理
器(intensity processor)であり、テクスチャマッピ
ングされた後のポリゴンに対して輝度計算を行う。
【0071】51aはライトキャッシュ(light cach
e)であり、ライト情報を格納する。例えば、Light Pos
ition, Light Direction, Light Type, Attenuation, C
utoff, Spotexp, Light Color, Light Ambientなどであ
る。
【0072】51bはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。Sine,
Material specular, material emissionなどである。
【0073】51cはウインドウレジスタ(window reg
ister)であり、ウインドウに関する情報を保存する。S
creen center, Focus, Scene ambientなどである。
【0074】52はモジュレート処理器(modulate pro
cessor)であり、ポリゴンカラーとテクスチャカラーの
関連づけ、輝度変調、フォグ処理を行う。
【0075】52aはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。例え
ば、Polygon color, Texture modeなどである。
【0076】52bはウインドウレジスタ(window reg
ister)であり、ウインドウに関する情報を保存するバ
ッファである。Fog colorなどである。
【0077】53はブレンド処理器(blend processo
r)であり、カラーバッファ54上のデータとブレンド
を行い、カラーバッファ54に書き込む。ブレンド処理
器53は、プレンドレートレジスタの値に基づき、カレ
ントピクセルカラーとフレームバッファのピクセルカラ
ーとをブレンドし、ライトバンクレジスタで示されるバ
ンクのフレームバッファに書き込む。ブレンド処理器5
3によれば、残像処理を施すことが可能である。
【0078】53aはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。blend
modeなどである。
【0079】54はカラーバッファ(color buffer)で
あり、8×8の大きさのカラーバッファである。ダブル
バンク構造になっている。
【0080】55はプロット処理器(plot processor)
であり、カラーバッファ54上のデータをフレームバッ
ファ5aに書き込む。
【0081】56はビットマップ処理器(bitmap proce
ssor)であり、ビットマップ処理を行う。
【0082】57はディスプレイ制御器(display cont
roller)であり、フレームバッファ5aのデータを読み
出して、DAC(Digital to Analogue Converter:デ
ジタル−アナログ変換器)に供給し、図示しないディス
プレイに表示する。
【0083】また、図6はこの発明の実施の形態1に係
るフラクタル・テクスチャマップによるミップマップ生
成回路の機能ブロック図である。この図において、10
1a〜101dは加算器、102a〜102dはレジス
タ、103a〜103cは2ビットカウンタである。こ
の図のINPUT端子には順次A,B,C,・・・のデ
ータが入力される。このデータの入力タイミングに同期
してレジスタ102a〜102dおよびカウンタ103
a〜103cは動作する。
【0084】レジスタ102aのエネーブル端子ENは
アクティブであるから、レジスタ102aはデータ入力
毎に加算器101aの出力を保持する。また、レジスタ
102aのクリア端子CLRには、カウンタ103aの
キャリー端子CYが接続されているから、4つのデータ
が加算されるごとにレジスタ102aの内容はクリアさ
れる。
【0085】例えば、INPUT端子にデータ列A,
B,C,D,E,F,G,H,I,J,K,L,M,
N,O,Pが入力されたとき、図6の回路の出力端子L
OD0、LOD1には、次のようなデータが現れる。
【0086】LOD0:A,B,C,D,E,F,G,
H,I,J,K,L,M,N,O,PLOD1:(A+
B+C+D),(E+F+G+H),(I+J+K+
L),(M+N+O+P) レジスタ102bのエネーブル端子ENはカウンタ10
3aの端子CYに接続され、4つのデータが加算される
ことに加算器101bの出力を保持する。また、レジス
タ102bのクリア端子CLRには、カウンタ103b
のキャリー端子CYが接続されているから、16個のデ
ータが加算されるごとにレジスタ102bの内容はクリ
アされる。
【0087】したがって、出力端子LOD2には次のよ
うなデータが現れる。
【0088】LOD2:(A+B+C+D+E+F+G
+H+I+J+K+L+M+N+O+P) 次にこの発明の実施の形態1によるテクスチャマップの
アドレッシング方法について説明する。
【0089】この発明の実施の形態1によるテクスチャ
マップ(フラクタル・テクスチャマップ)のアドレッシ
ング方法の原理は次のようなものである。例えば、図7
のように12ビットのアドレスをもつときに、6ビット
のx座標と6ビットのy座標をビット毎に交互になるよ
うにアドレスを構成する。すなわち、アドレスの上位ビ
ットから下位ビットにかけてy5,x5,y4,x4,
y3,x3,y2,x2,y1,x1,y0,x0の順
番で配列する。このアドレッシング方法を用いたときの
4×4のテクセルのアドレス並びの例を図8に示す。
【0090】このアドレスの使い方を具体例を用いて説
明する。図8のような4×4のテクセルを考える。これ
らテクセルの座標は、左上隅のセルを原点として、
(x,y),x=0,1,2,3,y=0,1,2,3
と表すことができる。このとき、テクセルの座標(0,
0),(1,0),(0,1),(1,1)には、それ
ぞれデータA,B,C,Dが対応する。次についても同
様に座標(2,0)(3,0),(2,1),(3,
1)には、それぞれデータE,F,G,Hが対応する。
以下、同様にI〜Pが割り当てられる。
【0091】ところで、図7のアドレスによればテクセ
ルの座標とアドレス値の関係は次のようになる。
【0092】 (0、0):000000000000(二進)=0
(十進) (1、0):000000000001(二進)=1
(十進) (0、1):000000000010(二進)=2
(十進) (1、1):000000000011(二進)=3
(十進) (2、0):000000000100(二進)=4
(十進) (3、0):000000000101(二進)=5
(十進) (2、1):000000000110(二進)=6
(十進) (3、1):000000000111(二進)=7
(十進) ・・・ このようなアドレッシングはxy座標から直接アドレス
を生成できるので、座標を用いた処理を行うときに便利
であるという特徴がある。また、このアドレッシングに
よれば従来例の場合と比べてアドレス値間の離間が少な
い。したがって、4×4や8×8などの一定の大きさの
平面的領域の処理を行う上で都合がよい。
【0093】例えば、図8のようにデータA〜Pを配置
するとデータの順番とアドレス値の順番とは次のように
一致する。
【0094】 アドレス値0:データA アドレス値1:データB アドレス値2:データC アドレス値3:データD アドレス値4:データE アドレス値5:データF アドレス値6:データG アドレス値7:データH ・・・ すなわち、図7のアドレス値を0〜7までインクリメン
トするだけで2×2のデータをアクセスできる。同様に
0〜15までインクリメントするだけで4×4のデータ
をアクセスできる。同様のことが8×8、16×16の
場合でも可能である。これは従来のアドレッシング方法
では得られなかった特徴であり、平面的に分布する一定
の大きさのデータをまとめて取り扱うときに有用であ
る。
【0095】次に、アドレス値をインクリメントすると
どのような順番で画素データがアクセスされるかを説明
する。アドレス値を0〜15までインクリメントする
と、図9のような順番で(すなわち図8のA〜Pの順番
で)アクセスされる。この順番を詳しく見ると、2×2
=4つのテクセルごとに「Z」の文字を描くような順番
であることがわかる。さらに、4×4のテクセル全体で
みると、2×2のブロックを1つと考えると、やはり
「Z」の文字を描くような順番であることがわかる。つ
まり、図7のアドレス構成をとったとき、2×2の部分
も、4×4の全体も相似形である。すなわち、図7のア
ドレス構成、図8、9のデータの配列は自己相似形(フ
ラクタル)である。このことは、8×8、16×16、
32×32・・・のさらに大きなテクセルについても成
り立つ。図10は32×32のテクセルの場合の例であ
る。A1は4×4の部分を、A2は8×8の部分を、A
3は16×16の部分をそれぞれ示す。この図より、2
のn乗の境界を越えない限り近接したデクセルは近接し
たアドレスとなること、コンパチビリティを保ったまま
サイズを変更することが可能なことは明らかである。
【0096】このようなアドレッシング方法を用いるこ
とにより、ミップマップの生成が非常に容易になる。図
6のミップマップ生成回路を例にとり、このことを説明
する。テクスチャデータがフラクタル構造を持っている
ため、逐次的に処理していくだけでミップマップを生成
することが可能である。
【0097】図7〜図10に示されたフラクタル構造の
テクスチャデータによれば、上述したように、単にメモ
リアドレスをインクリメントするだけで、データA,
B,C,・・・をアクセスできる。
【0098】例えば、INPUT端子にデータ列A,
B,C,D,E,F,G,H,I,J,K,L,M,
N,O,Pが入力されたとき、図6の回路の出力端子L
OD0には、次のようなデータが現れる。
【0099】LOD0:A,B,C,D,E,F,G,
H,I,J,K,L,M,N,O,P つまり、LOD0にはテクスチャデータがそのまま出力
される。
【0100】出力端子LOD1には次のようなデータが
現れる。
【0101】LOD1:(A+B+C+D),(E+F
+G+H),(I+J+K+L),(M+N+O+P) つまり、LOD1には2×2のデータを1つにまとめた
データが現れる。この処理は、2×2のデータの平均値
を求めること、すなわち、画面を1/2に縮小すること
に相当する。
【0102】出力端子LOD2には次のようなデータが
現れる。
【0103】LOD2:(A+B+C+D+E+F+G
+H+I+J+K+L+M+N+O+P) つまり、LOD2には4×4のデータを1つにまとめた
データが現れる。この処理は、4×4のデータの平均値
を求めること、すなわち、画面を1/4に縮小すること
に相当する。
【0104】以下同様に、LOD3には8×8のデータ
を1つにまとめたデータが現れる。LOD4には16×
16のデータを1つにまとめたデータが現れる。
【0105】以上のように、図6のミップマップ生成回
路によれば、積算処理のみで1/2、1/4、1/8、
1/16、・・・のミップマップを生成することができ
る。また、このときのアドレス値の生成も非常に簡単で
ある。また、図6の構成から明らかなように、加算器1
01、レジスタ102、カウンタ103を従属接続する
ことにより、この回路をどんどん拡張できる。すなわ
ち、図6の回路は非常に柔軟性に富む。以上の特徴はデ
ータがフラクタル構造を持つために生じた。
【0106】以上のようにこの発明の実施の形態1によ
れば、テクスチャマップをフラクタル構造で持つことに
よって、ミップマップの生成を逐次的なデータの流れと
することが可能になるとともに、その生成をシンプルな
回路で行うことができる。
【0107】ミップマップの生成を逐次的なデータの流
れ上で行えるということは、余分なバッファが不要だと
言うことである。また、2のn乗境界内のデータは連続
しているのでメモリアクセスにとっても都合がよい。
【0108】また、コンパチビリティを保ったままテク
スチャマップのサイズを変更することが容易になる。
【0109】したがって、この発明の実施の形態1の技
術を用いることにより、隣接する複数のデータを読み出
すためのアドレス値の生成が容易である画像処理装置を
提供することができる。
【0110】また、この発明の実施の形態1の技術を用
いることにより、画像のデータサイズを変更してもアド
レス値の互換性を失わない画像処理装置を提供すること
ができる。
【0111】発明の実施の形態2.発明の実施の形態1
のフラクタル構造図を図10に示したが、この発明のフ
ラクタル構造はこれに限らない。他のフラクタル構造の
例を図12〜図34に列挙する。なお、図11は図10
と同じものである。
【0112】図12は「コ」の字型にデータをアクセス
する構成である。
【0113】図13は、図12の「コ」の字の向きを上
にした形状に沿ってデータをアクセスする構成である。
【0114】図14は、「X」の字型にデータをアクセ
スする構成である。
【0115】図15は、図14の「X」の字の向きを横
にした形状に沿ってデータをアクセスする構成である。
【0116】図16は、図11の「Z」の字の向きを横
にした形状に沿ってデータをアクセスする構成である。
【0117】図17〜図22は、図11〜図16のアク
セスの開始点が左上から左下に変更されたものである。
【0118】図23〜図28は、図11〜図16のアク
セスの開始点が左上から右下に変更されたものである。
【0119】図29〜図34は、図11〜図16のアク
セスの開始点が左上から右上に変更されたものである。
【0120】
【発明の効果】この発明に係る画像処理方法は、平面的
に配置された画素データを記憶する画像メモリの各画素
を読み出す読出ステップを含む画像処理方法において、
前記読出ステップは、前記画像メモリの各画素をフラク
タル形状でアクセスするので、コンパチビリティを保っ
たままテクスチャマップのサイズを変更することが容易
になる。また、その生成をシンプルな回路で行うことが
できる。
【0121】この発明に係る画像処理方法は、前記画像
メモリから順次読み出されたデータを予め定められた数
ごとにまとめるデータ統合ステップを備え、前記データ
統合ステップが、隣接する2のべき乗×2のべき乗の画
素ごとにデータを統合するので、2のn乗境界内のデー
タは連続し、メモリアクセスにとっても都合がよくな
る。
【0122】この発明に係る画像処理方法は、前記デー
タ統合ステップが、複数のデータの平均値を求めるの
で、ミップマップの生成を逐次的なデータの流れとする
ことが可能になる。
【図面の簡単な説明】
【図1】この発明の実施の形態1に係る画像処理装置の
概略機能ブロック図である。
【図2】この発明の実施の形態1に係る画像処理装置の
ジオメトリプロセッサの機能ブロック図である。
【図3】この発明の実施の形態1に係る画像処理装置の
ジオメトリプロセッサの機能ブロック図である。
【図4】この発明の実施の形態1に係る画像処理装置の
テクスチャプロセッサの機能ブロック図である。
【図5】この発明の実施の形態1に係る画像処理装置の
シェーディングプロセッサの機能ブロック図である。
【図6】この発明の実施の形態1に係る画像処理装置の
ミップマップ生成回路の機能ブロック図である。
【図7】この発明の実施の形態1に係るフラクタル構造
のアドレスの一例である。
【図8】この発明の実施の形態1に係るフラクタル構造
のテクスチャデータの配置の一例である。
【図9】この発明の実施の形態1に係るフラクタル構造
のテクスチャデータのアクセスの順序の説明図である。
【図10】この発明の実施の形態1に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図11】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図12】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図13】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図14】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図15】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図16】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図17】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図18】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図19】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図20】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図21】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図22】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図23】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図24】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図25】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図26】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図27】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図28】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図29】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図30】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図31】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図32】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図33】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図34】この発明の実施の形態2に係るフラクタル構
造のテクスチャデータの配置の一例である。
【図35】ラスター走査の説明図である。
【図36】従来のテクスチャデータの配置の一例であ
る。
【図37】従来のテクスチャデータのアドレス構成の一
例である。
【図38】従来のテクスチャデータの配置の他の例であ
る。
【符号の説明】
1 CPU 2 ジオメトリプロセッサ 2a ポリゴン・マテリアル・ライトバッファメモリ 3 フィルプロセッサ 4 テクスチャプロセッサ 4a テクスチャメモリ 5 シェーディングプロセッサ 5a フレームバッファ 6 プログラム・ワークポリゴンバッファメモリ 21 データディスパッチャー 22 ベクタエンジン 23 ベクタレジスタ 24 クリッピングエンジン 25 Yソートインデックス 26 Xソートインデックス 27 ソートエンジン 28 ポリゴンTAG 31 キャッシュコントローラ 32 マテリアルTAG 33 ライトTAG 34 ポリゴンキャッシュ 35 初期パラメータ計算機 36 Zコンパレータアレー 37 頂点パラメータバッファ 38 補間器 41 濃度計算機 42 マテリアルキャッシュ 43 ウインドウレジスタ 44 アドレス発生器 45 マテリアルキャッシュ 46 TLMMI計算機 47 カラーコンパレータ 48 カラーパレット 51 輝度処理器 51a ライトキャッシュ 51b マテリアルキャッシュ 51c ウインドウレジスタ 52 モジュレート処理器 52a マテリアルキャッシュ 52b ウインドウレジスタ 53 ブレンド処理器 53a マテリアルキャッシュ 54 カラーバッファ 55 プロット処理器 56 ビットマップ処理器 57 ディスプレイ制御器 101 加算器 102 レジスタ 103 2ビットカウンタ

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 平面的に配置された画素データを記憶す
    る画像メモリと、前記画像メモリをアクセスするアクセ
    ス手段とを備える画像処理装置において、前記アクセス
    手段は、前記画像メモリの各画素をフラクタル形状でア
    クセスすることを特徴とする画像処理装置。
  2. 【請求項2】 前記フラクタル形状が、アルファベット
    の「Z」に類似する形状であることを特徴とする請求項
    1記載の画像処理装置。
  3. 【請求項3】 前記フラクタル形状が、カタカナの
    「コ」に類似する形状であることを特徴とする請求項1
    記載の画像処理装置。
  4. 【請求項4】 前記フラクタル形状が、アルファベット
    の「X」に類似する形状であることを特徴とする請求項
    1記載の画像処理装置。
  5. 【請求項5】 前記画像メモリのアドレスが一次元的に
    構成されているとき、前記画像メモリが構成される平面
    のx座標の成分とy座標の成分とを交互に配列すること
    により前記アドレスを定義することを特徴とする請求項
    1記載の画像処理装置。
  6. 【請求項6】 前記画像メモリの画素データの構成が、
    2のべき乗×2のべき乗であることを特徴とする請求項
    1乃至請求項5いずれかに記載の画像処理装置。
  7. 【請求項7】 前記画像メモリから順次読み出されたデ
    ータを予め定められた数ごとにまとめるデータ統合手段
    を備えることを特徴とする請求項1乃至請求項6いずれ
    かに記載の画像処理装置。
  8. 【請求項8】 前記データ統合手段は、複数のデータの
    平均値を求めることを特徴とする請求項7記載の画像処
    理装置。
  9. 【請求項9】 前記データ統合手段は、それぞれ予め定
    められた数のデータをまとめる複数のデータ統合回路を
    縦続接続して構成したことを特徴とする請求項7記載の
    画像処理装置。
  10. 【請求項10】 前記統合回路は、順次入力されるデー
    タを累積加算する加算器と、前記加算器の出力を保持す
    るとともに保持したデータを前記加算器に対して出力す
    るレジスタと、前記加算器の累積加算の数をカウントす
    ることにより予め定められた数ごとに前記レジスタの内
    容をクリアするカウンタとを備えることを特徴とする請
    求項9記載の画像処理装置。
  11. 【請求項11】 平面的に配置された画素データを記憶
    する画像メモリの各画素を読み出す読出ステップを含む
    画像処理方法において、前記読出ステップは、前記画像
    メモリの各画素をフラクタル形状でアクセスすることを
    特徴とする画像処理方法。
  12. 【請求項12】 前記フラクタル形状が、アルファベッ
    トの「Z」に類似する形状であることを特徴とする請求
    項10記載の画像処理方法。
  13. 【請求項13】 前記フラクタル形状が、カタカナの
    「コ」に類似する形状であることを特徴とする請求項1
    0記載の画像処理方法。
  14. 【請求項14】 前記フラクタル形状が、アルファベッ
    トの「X」に類似する形状であることを特徴とする請求
    項10記載の画像処理方法。
  15. 【請求項15】 前記画像メモリから順次読み出された
    データを予め定められた数ごとにまとめるデータ統合ス
    テップを備えることを特徴とする請求項10乃至請求項
    13いずれかに記載の画像処理方法。
  16. 【請求項16】 前記データ統合ステップは、隣接する
    2のべき乗×2のべき乗の画素ごとにデータを統合する
    ことを特徴とする請求項10乃至請求項14いずれかに
    記載の画像処理方法。
  17. 【請求項17】 前記データ統合ステップは、複数のデ
    ータの平均値を求めることを特徴とする請求項15又は
    請求項16記載の画像処理方法。
JP6676597A 1997-03-19 1997-03-19 画像処理装置及び画像処理方法 Withdrawn JPH10261095A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6676597A JPH10261095A (ja) 1997-03-19 1997-03-19 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6676597A JPH10261095A (ja) 1997-03-19 1997-03-19 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JPH10261095A true JPH10261095A (ja) 1998-09-29

Family

ID=13325312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6676597A Withdrawn JPH10261095A (ja) 1997-03-19 1997-03-19 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JPH10261095A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008511930A (ja) * 2004-08-30 2008-04-17 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
WO2010150218A1 (en) * 2009-06-24 2010-12-29 Nokia Corporation Method and apparatus for retrieving nearby data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008511930A (ja) * 2004-08-30 2008-04-17 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
JP4824687B2 (ja) * 2004-08-30 2011-11-30 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
WO2010150218A1 (en) * 2009-06-24 2010-12-29 Nokia Corporation Method and apparatus for retrieving nearby data
US8290952B2 (en) 2009-06-24 2012-10-16 Nokia Corporation Method and apparatus for retrieving nearby data

Similar Documents

Publication Publication Date Title
KR100421623B1 (ko) 영상처리및디스플레이를용이하게하기위한장치
EP1066600B1 (en) Block- and band-oriented traversal in three-dimensional triangle rendering
US4975976A (en) Image transformation method and device
US6292192B1 (en) System and method for the direct rendering of curve bounded objects
EP0307019B1 (en) Apparatus for modifying pixel data stored in a random access memory
JPH04222071A (ja) テキスチュア・マッピング方法及びその装置
JPH09223244A (ja) 3次元オブジェクトを高速にレンダリングする方法および装置
JPH10320573A (ja) 画像処理装置及び画像処理方法
US8269788B2 (en) Vector graphics anti-aliasing
US6859209B2 (en) Graphics data accumulation for improved multi-layer texture performance
US20030160789A1 (en) Multiple scan line sample filtering
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
JPH09231385A (ja) オブジェクトのラスタ化方法及び装置
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
US7372461B2 (en) Image processing apparatus and method of same
US7372466B2 (en) Image processing apparatus and method of same
JP3747859B2 (ja) 画像処理装置およびその方法
JP3209140B2 (ja) 画像処理装置
JPH10307925A (ja) 画像処理装置及び画像処理方法
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
JP4408152B2 (ja) テクスチャマッピング方法及びテクスチャマッピング装置
JP4106719B2 (ja) 画像処理装置
JP2001209813A (ja) 2次元パターン生成方法及び装置
JPH01241681A (ja) 画像処理装置
JPH0535912B2 (ja)

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040601