JPH11296160A - エンコーダおよびその方法とグラフィック演算装置 - Google Patents

エンコーダおよびその方法とグラフィック演算装置

Info

Publication number
JPH11296160A
JPH11296160A JP10094942A JP9494298A JPH11296160A JP H11296160 A JPH11296160 A JP H11296160A JP 10094942 A JP10094942 A JP 10094942A JP 9494298 A JP9494298 A JP 9494298A JP H11296160 A JPH11296160 A JP H11296160A
Authority
JP
Japan
Prior art keywords
bit
position information
bits
digital data
data
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
JP10094942A
Other languages
English (en)
Inventor
Tatsumi Mitsushita
辰己 光下
Katsuya Kita
勝也 北
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 JP10094942A priority Critical patent/JPH11296160A/ja
Priority to US09/283,230 priority patent/US6329999B1/en
Priority to CA002268595A priority patent/CA2268595C/en
Publication of JPH11296160A publication Critical patent/JPH11296160A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

(57)【要約】 【課題】 演算処理時間を短縮できるエンコーダを提供
する。 【解決手段】 デジタルデータ160のMSBから見て
最初の「1」のビット位置がファーストビットエンコー
ドデータ161として出力され、2番目の「1」がセカ
ンドビットエンコードデータ162として出力される。
デジタルデータ160の上位8ビットについて、バリッ
ドディテクタ102、プライオリティエンコーダ103
およびファーストバリッドビットマスクユニット104
において所定の演算が並行して行なわれ、下位8ビット
についてプライオリティエンコーダ105およびファー
ストバリッドビットマスクユニット106で所定の演算
が並行して行なわれる。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、複数ビットからな
るデジタルデータをエンコードするエンコーダおよびそ
の方法と、グラフィック演算装置とに関する。
【0002】
【従来の技術】種々のCAD(Computer Aided Design)
システムや、アミューズメント装置などにおいて、コン
ピュータグラフィックスがしばしば用いられている。特
に、近年の画像処理技術の進展に伴い、3次元コンピュ
ータグラフィックスを用いたシステムが急速に普及して
いる。このような3次元コンピュータグラフィックスで
は、各画素(ピクセル)に対応する色を決定するとき
に、各画素の色の値を計算し、この計算した色の値を、
当該画素に対応するディスプレイバッファ(フレームバ
ッファ)のアドレスに書き込むレンダリング(Renderin
g) 処理を行う。レンダリング処理の手法の一つに、ポ
リゴン(Polygon)レンダリングがある。この手法では、
立体モデルを三角形の単位図形(ポリゴン)の組み合わ
せとして表現しておき、このポリゴンを単位として描画
を行なうことで、表示画面の色を決定する。
【0003】ポリゴンレンダリングでは、物理座標系に
おける三角形の各頂点についての、座標(x,y,z)
と、色データ(R,G,B,α)と、張り合わせのイメ
ージパターンを示すテクスチャデータの同次座標(s,
t)および同次項qの値とを入力とし、これらの値を三
角形の内部で補間する処理が行われる。ここで、同次項
qは、簡単にいうと、拡大縮小率のようなもので、実際
のテクスチャバッファのUV座標系における座標、すな
わち、テクスチャ座標データ(u,v)は、除算回路に
おいて同次座標(s,t)を同次項qで除算した「s/
q」および「t/q」に、それぞれテクスチャサイズU
SIZEおよびVSIZEを乗じたものとなる。このよ
うなポリゴンレンダリングを用いた3次元コンピュータ
グラフィックシステムでは、描画を行う際に、テクスチ
ャデータをテクスチャメモリから読み出し、この読み出
したテクスチャデータをモデルの表面に貼り付けるテク
スチャマッピング処理を行う。このテクスチャマッピン
グ処理された画像データは、所定の処理を施された後
に、ディスプレイメモリ(フレームメモリ)に書き込ま
れる。
【0004】ところで、上述した3次元コンピュータグ
ラフィックシステムでは、例えば除算回路を含む種々の
回路に、複数のビットからなるデジタルデータにおける
例えばMSB(Most Significant Bit)から見て1番目に
存在する「1」と、2番目に存在する「1」との位置情
報を生成するFSPEエンコーダ(First and SecondPri
ority Encoder) が内蔵されている。
【0005】図10は、従来のFSPEエンコーダ50
の構成図である。図10に示すように、FSPEエンコ
ーダ50は、16ビットのプライオリティエンコーダ5
1,53および16ビットのファーストバリッドビット
マスクユニット52を備えている。FSPEエンコーダ
50では、入力されたデジタルデータ60が、プライオ
リティエンコーダ51およびファーストバリッドビット
マスクユニット52に入力される。
【0006】そして、プライオリティエンコーダ51に
おいて、デジタルデータ60におけるMSBから見て最
初に「1」になっているビットが検出され、当該ビット
位置を示す4ビットのファーストビットエンコードデー
タ61が生成される。また、ファーストバリッドビット
マスクユニット52において、デジタルデータ60にお
けるMSBから見て最初に「1」になっているビットが
マスクされた、すなわち「0」に書き換えられたファー
ストバリッドビットマスクデータ63が生成され、これ
がプライオリティエンコーダ53に出力される。
【0007】次に、プライオリティエンコーダ53にお
いて、ファーストバリッドビットマスクデータ63にお
けるMSBから見て最初に「1」になっているビットが
検出され、当該ビット位置を示す4ビットのセカンドビ
ットエンコードデータ62が生成される。
【0008】以下、FSPEエンコーダ50の各構成要
素における処理をフローチャートを参照しながら詳細に
説明する。 〔プライオリティエンコーダ51〕図11は、図10に
おけるプライオリティエンコーダ51における処理のフ
ローチャートである。 ステップS1:変数「sft」に「0x0f」、すなわ
ち16進数の「0f」が代入される。
【0009】ステップS2:「in」、すなわち、デジ
タルデータ60が、変数「sft」だけLSB(Least S
ignificant Bit) に向けてシフトされる。 ステップS3:ステップS2のシフト結果が「1」であ
るか否かが判断され、「1」である場合にはステップS
4の処理が実行され、「1」でない場合にはステップS
5の処理が実行される。
【0010】ステップS4:「0x0f」,すなわち1
6進数の「0f」から、変数「sft」を減算した値
「0x0f−sft」が、ファーストビットエンコード
データ61として出力される。 ステップS5:変数「sft」が「1」だけ減算され
る。 ステップS6:変数「sft」が0以上であるか否かが
判断され、0以上であればステップS2の処理が実行さ
れ、そうでなければステップS7の処理が実行される。 ステップS7:「0x00」がファーストビットエンコ
ードデータ61として出力される。
【0011】なお、上述した図11に示す処理をC言語
を用いて記述すると図12に示すようになる。また、プ
ライオリティエンコーダ53における処理は、ファース
トバリッドビットマスクデータ63に対して処理を行な
うこと以外は、前述したプライオリティエンコーダ51
における処理と同じである。
【0012】〔ファーストバリッドビットマスクユニッ
ト52〕図13は、図10におけるファーストバリッド
ビットマスクユニット52における処理のフローチャー
トである。 ステップS11:変数「sft」に「0x0f」、すな
わち16進数の「0f」が代入される。
【0013】ステップS12:「in」、すなわちデジ
タルデータ60が、変数「sft」だけLSBに向けて
シフトされる。 ステップS13:ステップS12のシフト結果が「1」
であるか否かが判断され、「1」である場合にはステッ
プS14の処理が実行され、「1」でない場合にはステ
ップS16の処理が実行される。
【0014】ステップS14:「0xff」すなわち1
6進数の「ff」が、「0x10」から「sft」を減
算した減算結果である「0x10−sft」だけ、LS
Bに向けてシフトされ、このシフト結果が「mask」
となる。 ステップS15:「in」、すなわち、デジタルデータ
60が、ステップS14で求めた「mask」だけLS
Bに向けてシフトされ、このシフト結果が、ファースト
バリッドビットマスクデータ63として図10に示すプ
ライオリティエンコーダ53に出力される。
【0015】ステップS16:変数「sft」が「1」
だけ減算される。 ステップS17:変数「sft」が0以上であるか否か
が判断され、0以上であればステップS12の処理が実
行され、そうでなければステップS18の処理が実行さ
れる。 ステップS18:「0x00」がファーストバリッドビ
ットマスクデータ63としてプライオリティエンコーダ
53に出力される。なお、上述した図13に示す処理を
C言語を用いて記述すると図14に示すようになる。
【0016】
【発明が解決しようとする課題】しかしながら、上述し
た従来の3次元コンピュータグラフィックシステムに内
蔵されたFSPEエンコーダ50では、図10に示すよ
うに、16ビットの2つのプライオリティエンコーダ5
1,53を必要とし、装置が大規模化してしまうという
問題がある。また、16ビット演算を行なうファースト
バリッドビットマスクユニット52とプライオリティエ
ンコーダ53とが位置する経路が演算処理時間のクリテ
ィカルパスとなり、演算処理時間が長くなるという問題
がある。また、回路規模が大きいという問題もある。
【0017】本発明は上述した従来技術の問題点に鑑み
てなされ、小規模な装置構成で、MSBから見て1番目
の「1」と2番目の「1」との位置情報を高速に生成で
きるエンコーダおよびその方法と、グラフィック演算装
置とを提供することを目的とする。
【0018】また、本発明は上述した従来技術の問題点
に鑑みてなされ、小規模な装置構成で、LSBから見て
1番目の「1」と2番目の「1」との位置情報を高速に
生成できるエンコーダおよびその方法を提供することを
目的とする。
【0019】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の観点のエンコーダは、2n (nは2以上の整数)
ビットのデジタルデータに含まれる第1のレベルのビッ
トのうち、最もMSB側に位置する第1のビットと、2
番目にMSB側に位置する第2のビットとを検出し、前
記第1のビットおよび第2のビットの位置情報を生成す
るエンコーダであって、前記デジタルデータの上位2n
/2ビット内に含まれる第1のレベルのビットの数を検
出するビット数検出手段と、前記デジタルデータの上位
n /2ビット内に含まれる第1のレベルのビットのう
ち最もMSB側に位置するビットの位置情報である第1
のビット位置情報を生成する第1のビット位置情報生成
手段と、前記デジタルデータの上位2n /2ビット内に
含まれる第1のレベルのビットのうち最もMSB側に位
置するビットを第2のレベルに書き換えたデジタルデー
タを生成する第1のデータマスク手段と、前記デジタル
データの下位2n /2ビット内に含まれる第1のレベル
のビットのうち最もMSB側に位置するビットの位置情
報である第2のビット位置情報を生成する第2のビット
位置情報生成手段と、前記デジタルデータの下位2n
2ビット内に含まれる第1のレベルのビットのうち最も
MSB側に位置するビットを第2のレベルに書き換えた
デジタルデータを生成する第2のデータマスク手段と、
前記ビット数検出手段の検出結果に基づいて、前記第1
のデータマスク手段が生成したデジタルデータと、前記
第2のデータマスク手段が生成したデジタルデータとの
うち何れか一方を選択する選択手段と、前記選択手段で
選択されたデジタルデータ内に含まれる第1のレベルの
ビットのうち最もMSB側に位置するビットの位置情報
である第3のビット位置情報を生成する第3のビット位
置情報生成手段と、前記ビット数検出手段の検出結果に
基づいて、前記第1のビット位置情報、第2のビット位
置情報および前記第3のビット位置情報から、前記第1
のビットおよび第2のビットの位置情報を決定する決定
手段とを有する。
【0020】本発明の第1の観点のエンコーダでは、入
力した2n ビットのデジタルデータの上位2n /2ビッ
トがビット数検出手段、第1のビット位置情報生成手段
および第1のデータマスク手段に入力され、下位2n
2ビットが第2のビット位置情報生成手段および第2の
データマスク手段に入力される。そして、前記ビット数
検出手段において、前記デジタルデータの上位2n /2
ビット内に含まれる第1のレベルのビットの数が検出さ
れる。また、前記第1のビット位置情報生成手段におい
て、前記デジタルデータの上位2n /2ビット内に含ま
れる第1のレベルのビットのうち最もMSB側に位置す
るビットの位置情報である第1のビット位置情報が生成
される。また、前記第1のデータマスク手段において、
前記デジタルデータの上位2n /2ビット内に含まれる
第1のレベルのビットのうち最もMSB側に位置するビ
ットを第2のレベルに書き換えたデジタルデータが生成
される。
【0021】また、前記第2のビット位置情報生成手段
において、前記デジタルデータの下位2n /2ビット内
に含まれる第1のレベルのビットのうち最もMSB側に
位置するビットの位置情報である第2のビット位置情報
が生成される。また、前記第2のデータマスク手段にお
いて、前記デジタルデータの下位2n /2ビット内に含
まれる第1のレベルのビットのうち最もMSB側に位置
するビットを第2のレベルに書き換えたデジタルデータ
が生成される。
【0022】次に、前記選択手段において、前記ビット
数検出手段の検出結果に基づいて、前記第1のデータマ
スク手段が生成したデジタルデータと、前記第2のデー
タマスク手段が生成したデジタルデータとのうち何れか
一方が選択される。次に、前記第3のビット位置情報生
成手段において、前記選択手段で選択されたデジタルデ
ータ内に含まれる第1のレベルのビットのうち最もMS
B側に位置するビットの位置情報である第3のビット位
置情報が生成される。次に、前記決定手段において、前
記ビット数検出手段の検出結果に基づいて、前記第1の
ビット位置情報、第2のビット位置情報および前記第3
のビット位置情報から、前記第1のビットおよび第2の
ビットの位置情報が決定される。
【0023】また、本発明の第1の観点のエンコーダ
は、好ましくは、前記選択手段は、前記ビット数検出手
段で検出された第1のレベルのビット数が0個の場合
に、前記第1のデータマスク手段が生成したデジタルデ
ータを選択し、それ以外の場合に、前記第2のデータマ
スク手段が生成したデジタルデータを選択する。
【0024】また、本発明の第1の観点のエンコーダ
は、好ましくは、前記決定手段は、前記ビット数検出手
段で検出された第1のレベルのビット数が0個の場合
に、前記第2のビット位置情報を前記第1のビットの位
置情報とし、前記第3のビット位置情報を前記第2のビ
ットの位置情報とし、前記ビット数検出手段で検出され
た第1のレベルのビット数が1個の場合に、前記第1の
ビット位置情報を前記第1のビットの位置情報とし、前
記第2のビット位置情報を前記第2のビットの位置情報
とし、前記ビット数検出手段で検出された第1のレベル
のビット数が2個以上の場合に、前記第1のビット位置
情報を前記第1のビットの位置情報とし、前記第3のビ
ット位置情報を前記第2のビットの位置情報とする。
【0025】また、本発明の第1の観点のエンコーダ
は、前記ビット数検出手段の処理と、前記第1のビット
位置情報生成手段の処理と、前記第1のデータマスク手
段の処理と、前記第2のビット位置情報生成手段の処理
と、前記第2のデータマスク手段の処理とを並行して行
なう。
【0026】また、本発明の第2の観点のエンコーダ
は、2n (nは2以上の整数)ビットのデジタルデータ
に含まれる第1のレベルのビットのうち、最もLSB側
に位置する第1のビットと、2番目にLSB側に位置す
る第2のビットとを検出し、前記第1のビットおよび第
2のビットの位置情報を生成するエンコーダであって、
前記デジタルデータの上位2n /2ビット内に含まれる
第1のレベルのビットの数を検出するビット数検出手段
と、前記デジタルデータの上位2n /2ビット内に含ま
れる第1のレベルのビットのうち最もLSB側に位置す
るビットの位置情報である第1のビット位置情報を生成
する第1のビット位置情報生成手段と、前記デジタルデ
ータの上位2n /2ビット内に含まれる第1のレベルの
ビットのうち最もLSB側に位置するビットを第2のレ
ベルに書き換えたデジタルデータを生成する第1のデー
タマスク手段と、前記デジタルデータの下位2n /2ビ
ット内に含まれる第1のレベルのビットのうち最もLS
B側に位置するビットの位置情報である第2のビット位
置情報を生成する第2のビット位置情報生成手段と、前
記デジタルデータの下位2n /2ビット内に含まれる第
1のレベルのビットのうち最もLSB側に位置するビッ
トを第2のレベルに書き換えたデジタルデータを生成す
る第2のデータマスク手段と、前記ビット数検出手段の
検出結果に基づいて、前記第1のデータマスク手段が生
成したデジタルデータと、前記第2のデータマスク手段
が生成したデジタルデータとのうち何れか一方を選択す
る選択手段と、前記選択手段で選択されたデジタルデー
タ内に含まれる第1のレベルのビットのうち最もLSB
側に位置するビットの位置情報である第3のビット位置
情報を生成する第3のビット位置情報生成手段と、前記
ビット数検出手段の検出結果に基づいて、前記第1のビ
ット位置情報、第2のビット位置情報および前記第3の
ビット位置情報から、前記第1のビットおよび第2のビ
ットの位置情報を決定する決定手段とを有する。
【0027】また、本発明のグラフィック演算装置は、
立体モデルを複数の単位図形を組み合わせて表現し、前
記単位図形に付加するパターンを示す複数の画素データ
からなるテクスチャデータを画像メモリから読み出し、
当該読み出したテクスチャデータを前記単位図形と対応
付けて複数の画素データからなる描画データを生成し、
当該描画データを前記画像メモリに記憶するグラフィッ
ク演算装置であって、前記単位図形の頂点について、3
次元座標(x,y,z)、R(赤),G(緑),B
(青)データ、同次座標(s,t)および同次項qを含
むポリゴンレンダリングデータを生成するポリゴンレン
ダリングデータ生成手段と、前記単位図形の頂点のポリ
ゴンレンダリングデータを補間して、前記単位図形内に
位置する画素の補間データを生成する補間データ生成手
段と、2n (nは2以上の整数)ビットのデジタルデー
タに含まれる第1のレベルのビットのうち、最もMSB
側に位置する第1のビットと、2番目にMSB側に位置
する第2のビットとを検出し、前記第1のビットおよび
第2のビットの位置情報を生成するエンコーダ内蔵した
除算回路を備え、当該除算回路において前記補間データ
に含まれる同次座標(s,t)を同次項qで除算し、当
該除算の結果に応じたテクスチャアドレスを用いて前記
画像メモリからテクスチャデータを読み出し、前記単位
図形と対応付ける描画データを生成するテクスチャ処理
手段とを有する。
【0028】ここで、本発明のグラフィック演算装置の
前記除算回路は、前記デジタルデータの上位2n /2ビ
ット内に含まれる第1のレベルのビットの数を検出する
ビット数検出手段と、前記デジタルデータの上位2n
2ビット内に含まれる第1のレベルのビットのうち最も
MSB側に位置するビットの位置情報である第1のビッ
ト位置情報を生成する第1のビット位置情報生成手段
と、前記デジタルデータの上位2n /2ビット内に含ま
れる第1のレベルのビットのうち最もMSB側に位置す
るビットを第2のレベルに書き換えたデジタルデータを
生成する第1のデータマスク手段と、前記デジタルデー
タの下位2n /2ビット内に含まれる第1のレベルのビ
ットのうち最もMSB側に位置するビットの位置情報で
ある第2のビット位置情報を生成する第2のビット位置
情報生成手段と、前記デジタルデータの下位2n /2ビ
ット内に含まれる第1のレベルのビットのうち最もMS
B側に位置するビットを第2のレベルに書き換えたデジ
タルデータを生成する第2のデータマスク手段と、前記
ビット数検出手段の検出結果に基づいて、前記第1のデ
ータマスク手段が生成したデジタルデータと、前記第2
のデータマスク手段が生成したデジタルデータとのうち
何れか一方を選択する選択手段と、前記選択手段で選択
されたデジタルデータ内に含まれる第1のレベルのビッ
トのうち最もMSB側に位置するビットの位置情報であ
る第3のビット位置情報を生成する第3のビット位置情
報生成手段と、前記ビット数検出手段の検出結果に基づ
いて、前記第1のビット位置情報、第2のビット位置情
報および前記第3のビット位置情報から、前記第1のビ
ットおよび第2のビットの位置情報を決定する決定手段
とを有する。
【0029】また、本発明の第1の観点のエンコード方
法は、2n (nは2以上の整数)ビットのデジタルデー
タに含まれる第1のレベルのビットのうち、最もMSB
側に位置する第1のビットと、2番目にMSB側に位置
する第2のビットとを検出し、前記第1のビットおよび
第2のビットの位置情報を生成するエンコード方法であ
って、前記デジタルデータの上位2n /2ビット内に含
まれる第1のレベルのビットの数を検出し、前記デジタ
ルデータの上位2n /2ビット内に含まれる第1のレベ
ルのビットのうち最もMSB側に位置するビットの位置
情報である第1のビット位置情報を生成し、前記デジタ
ルデータの上位2n /2ビット内に含まれる第1のレベ
ルのビットのうち最もMSB側に位置するビットを第2
のレベルに書き換えた第1のマスクデジタルデータを生
成し、前記デジタルデータの下位2n /2ビット内に含
まれる第1のレベルのビットのうち最もMSB側に位置
するビットの位置情報である第2のビット位置情報を生
成し、前記デジタルデータの下位2n /2ビット内に含
まれる第1のレベルのビットのうち最もMSB側に位置
するビットを第2のレベルに書き換えた第2のマスクデ
ジタルデータを生成し、前記検出されたビット数に基づ
いて、前記第1のマスクデジタルデータと、前記第2の
マスクデジタルデータとのうち何れか一方を選択し、前
記選択されたマスクデジタルデータ内に含まれる第1の
レベルのビットのうち最もMSB側に位置するビットの
位置情報である第3のビット位置情報を生成し、前記検
出されたビット数に基づいて、前記第1のビット位置情
報、第2のビット位置情報および前記第3のビット位置
情報から、前記第1のビットおよび第2のビットの位置
情報を決定する。
【0030】さらに、本発明の第2の観点のエンコード
方法は、2n (nは2以上の整数)ビットのデジタルデ
ータに含まれる第1のレベルのビットのうち、最もLS
B側に位置する第1のビットと、2番目にLSB側に位
置する第2のビットとを検出し、前記第1のビットおよ
び第2のビットの位置情報を生成するエンコード方法で
あって、前記デジタルデータの上位2n /2ビット内に
含まれる第1のレベルのビットの数を検出し、前記デジ
タルデータの上位2n /2ビット内に含まれる第1のレ
ベルのビットのうち最もLSB側に位置するビットの位
置情報である第1のビット位置情報を生成し、前記デジ
タルデータの上位2n /2ビット内に含まれる第1のレ
ベルのビットのうち最もLSB側に位置するビットを第
2のレベルに書き換えた第1のマスクデジタルデータを
生成し、前記デジタルデータの下位2n /2ビット内に
含まれる第1のレベルのビットのうち最もLSB側に位
置するビットの位置情報である第2のビット位置情報を
生成し、前記デジタルデータの下位2n /2ビット内に
含まれる第1のレベルのビットのうち最もLSB側に位
置するビットを第2のレベルに書き換えた第2のマスク
デジタルデータを生成し、前記検出されたビット数に基
づいて、前記第1のマスクデジタルデータと、前記第2
のマスクデジタルデータとのうち何れか一方を選択し、
前記選択されたマスクデジタルデータ内に含まれる第1
のレベルのビットのうち最もLSB側に位置するビット
の位置情報である第3のビット位置情報を生成し、前記
検出されたビット数に基づいて、前記第1のビット位置
情報、第2のビット位置情報および前記第3のビット位
置情報から、前記第1のビットおよび第2のビットの位
置情報を決定する。
【0031】
【発明の実施の形態】以下、本実施形態においては、家
庭用ゲーム機などに適用される、任意の3次元物体モデ
ルに対する所望の3次元画像をCRT(Cathode Ray Tub
e)などのディスプレイ上に高速に表示する3次元コンピ
ュータグラフィックシステムに、本発明を適用した場合
について説明する。
【0032】第1実施形態 図1は、本実施形態の3次元コンピュータグラフィック
システム1のシステム構成図である。3次元コンピュー
タグラフィックシステム1は、立体モデルを単位図形で
ある三角形(ポリゴン)の組み合わせとして表現し、こ
のポリゴンを描画することで表示画面の各画素の色を決
定し、ディスプレイに表示するポリゴンレンダリング処
理を行うシステムである。また、3次元コンピュータグ
ラフィックシステム1では、平面上の位置を表現する
(x,y)座標の他に、奥行きを表すz座標を用いて3
次元物体を表し、この(x,y,z)の3つの座標で3
次元空間の任意の一点を特定する。
【0033】図1に示すように、3次元コンピュータグ
ラフィックシステム1は、メインメモリ2、I/Oイン
タフェース回路3、メインプロセッサ4およびレンダリ
ング回路5が、メインバス6を介して接続されている。
以下、各構成要素の機能について説明する。メインプロ
セッサ4は、例えば、ゲームの進行状況などに応じて、
メインメモリ2から必要なグラフィックデータを読み出
し、このグラフィックデータに対してクリッピング(Cli
pping)処理、ライティング(Lighting)処理およびジオメ
トリ(Geometry)処理などを行い、ポリゴンレンダリング
データを生成する。メインプロセッサ4は、ポリゴンレ
ンダリングデータS4を、メインバス6を介してレンダ
リング回路5に出力する。I/Oインタフェース回路3
は、必要に応じて、外部からポリゴンレンダリングデー
タを入力し、これをメインバス6を介してレンダリング
回路5に出力する。
【0034】ここで、ポリゴンレンダリングデータは、
ポリゴンの各3頂点の(x,y,z,R,G,B,α,
s,t,q,F)のデータを含んでいる。ここで、
(x,y,z)データは、ポリゴンの頂点の3次元座標
を示し、(R,G,B)データは、それそれ当該3次元
座標における赤、緑、青の輝度値を示している。データ
αは、これから描画する画素と、ディスプレイバッファ
21に既に記憶されている画素とのR,G,Bデータの
ブレンド(混合)係数を示している。(s,t,q)デ
ータのうち、(s,t)は、対応するテクスチャの同次
座標を示しており、qは同次項を示している。ここで、
「s/q」および「t/q」に、それぞれテクスチャサ
イズUSIZEおよびVSIZEを乗じてテクスチャ座
標データ(u,v)が得られる。テクスチャバッファ2
0に記憶されたテクスチャデータへのアクセスは、テク
スチャ座標データ(u,v)を用いて行われる。Fデー
タは、フォグのα値を示している。すなわち、ポリゴン
レンダリングデータは、三角形の各頂点の物理座標値
と、それぞれの頂点の色とテクスチャおよびフォグの値
のデータを示している。
【0035】以下、レンダリング回路5について詳細に
説明する。図1に示すように、レンダリング回路5は、
DDA(Digital Differential Anarizer) セットアップ
回路10、トライアングルDDA回路11、テクスチャ
エンジン回路12、メモリI/F回路13、CRTコン
トローラ回路14、RAMDAC回路15、DRAM1
6およびSRAM17を有する。DRAM16 DRAM16は、テクスチャデータを記憶するテクスチ
ャバッファ20、CRTに出力してディスプレイに表示
する表示データを記憶するディスプレイバッファ21、
zデータを記憶するzバッファ22およびカラールック
アップデータを記憶するテクスチャCLUTバッファ2
3として機能する。
【0036】DDAセットアップ回路10 DDAセットアップ回路10は、後段のトライアングル
DDA回路11において物理座標系上の三角形の各頂点
の値を線形補間して、三角形の内部の各画素の色と深さ
情報を求めるに先立ち、ポリゴンレンダリングデータS
4が示す(z,R,G,B,α,s,t,q,F)デー
タについて、三角形の辺と水平方向の差分などを求める
セットアップ演算を行う。このセットアップ演算は、具
体的には、開始点の値と終点の値と、開始点と終点との
距離を用いて、単位長さ移動した場合における、求めよ
うとしている値の変分を算出する。DDAセットアップ
回路10は、算出した変分データS10をトライアング
ルDDA回路11に出力する。
【0037】トライアングルDDA回路11 トライアングルDDA回路11は、DDAセットアップ
回路10から入力した変分データS10を用いて、三角
形内部の各画素における線形補間された(z,R,G,
B,α,s,t,q,F)データを算出する。トライア
ングルDDA回路11は、各画素の(x,y)データ
と、当該(x,y)座標における(z,R,G,B,
α,s,t,q,F)データとを、DDAデータ(補間
データ)S11としてテクスチャエンジン回路12に出
力する。本実施形態では、トライアングルDDA回路1
1は、並行して処理を行う矩形内に位置する8(=2×
4)画素分のDDAデータS11をテクスチャエンジン
回路12に出力する。
【0038】テクスチャエンジン回路12 テクスチャエンジン回路12は、「s/q」および「t
/q」の算出処理、テクスチャ座標データ(u,v)の
算出処理、テクスチャバッファ20からの(R,G,
B,α)データの読み出し処理、および、混合処理(α
ブレンディング処理)を順にパイプライン方式で行う。
なお、テクスチャエンジン回路12は、所定の矩形内に
位置する8画素についての処理を同時に並行して行う。
【0039】テクスチャエンジン回路12は、除算回路
を用いて、DDAデータS11が示す(s,t,q)デ
ータについて、sデータをqデータで除算する演算と、
tデータをqデータで除算する演算とを行う。この除算
回路には、後述するFSPEエンコーダが内蔵されてい
る。
【0040】また、テクスチャエンジン回路12は、除
算結果である「s/q」および「t/q」に、それぞれ
テクスチャサイズUSIZEおよびVSIZEを乗じ
て、テクスチャ座標データ(u,v)を生成する。ま
た、テクスチャエンジン回路12は、メモリI/F回路
13を介して、SRAM17あるいはDRAM16に、
前記生成したテクスチャ座標データ(u,v)を含む読
み出し要求を出力し、メモリI/F回路13を介して、
SRAM17あるいはテクスチャバッファ20に記憶さ
れているテクスチャデータを読み出すことで、(s,
t)データに対応したテクスチャアドレスに記憶された
(R,G,B,α)データS17を得る。
【0041】ここで、SRAM17には、テクスチャバ
ッファ20に記憶されているテクスチャデータのコピー
が記憶されている。テクスチャエンジン回路12は、読
み出した(R,G,B,α)データS17の(R,G,
B)データと、前段のトライアングルDDA回路11か
らのDDAデータS11に含まれる(R,G,B)デー
タとを、(R,G,B,α)データS17に含まれるα
データ(テクスチャα)が示す割合で混合し、画素デー
タS12を生成する。テクスチャエンジン回路12は、
この画素データS12を、メモリI/F回路13に出力
する。なお、テクスチャバッファ20には、MIPMA
P(複数解像度テクスチャ)などの複数の縮小率に対応
したテクスチャデータが記憶されている。ここで、何れ
の縮小率のテクスチャデータを用いるかは、所定のアル
ゴリズムを用いて、前記三角形単位で決定される。
【0042】テクスチャエンジン回路12は、フルカラ
ー方式の場合には、テクスチャバッファ20から読み出
した(R,G,B,α)データを直接用いる。一方、テ
クスチャエンジン回路12は、インデックスカラー方式
の場合には、予め作成したカラールックアップテーブル
(CLUT)をテクスチャCLUTバッファ23から読
み出して、内蔵するSRAMに転送および記憶し、この
カラールックアップテーブルを用いて、テクスチャバッ
ファ20から読み出したカラーインデックスに対応する
(R,G,B)データを得る。
【0043】メモリI/F回路13 メモリI/F回路13は、テクスチャエンジン回路12
から入力した画素データS12に対応するzデータと、
zバッファ22に記憶されているzデータとの比較を行
い、入力した画素データS12によって描画される画像
が、前回、ディスプレイバッファ21に書き込まれた画
像より、手前(視点側)に位置するか否かを判断し、手
前に位置する場合には、画像データS12に対応するz
データでzバッファ22に記憶されたzデータを更新す
る。また、メモリI/F回路13は、必要に応じて、画
像データS12に含まれる(R,G,B)データと、既
にディスプレイバッファ21に記憶されている(R,
G,B)データとを、画素データS12に対応するαデ
ータが示す混合値で混合する、いわゆるαブレンディン
グ処理を行い、混合後の(R,G,B)データをディス
プレイバッファ21に書き込む(打ち込む)。
【0044】CRTコントローラ回路14 CRTコントローラ回路14は、与えられた水平および
垂直同期信号に同期して、図示しないCRTに表示する
アドレスを発生し、ディスプレイバッファ21から表示
データを読み出す要求をメモリI/F回路13に出力す
る。この要求に応じて、メモリI/F回路13は、ディ
スプレイバッファ21から一定の固まりで表示データを
読み出す。CRTコントローラ回路14は、ディスプレ
イバッファ21から読み出した表示データを記憶するF
IFO(First In First Out)回路を内蔵し、一定の時間
間隔で、RAMDAC回路15に、RGBのインデック
ス値を出力する。
【0045】RAMDAC回路15 RAMDAC回路15は、各インデックス値に対応する
R,G,Bデータを記憶しており、CRTコントローラ
回路14から入力したRGBのインデックス値に対応す
るデジタル形式のR,G,Bデータを、D/Aコンバー
タに転送し、アナログ形式のR,G,Bデータを生成す
る。RAMDAC回路15は、この生成されたR,G,
BデータをCRTに出力する。
【0046】FSPEエンコーダ 上述した3次元コンピュータグラフィックシステム1に
は、前述したテクスチャエンジン回路12の除算回路を
含む種々の回路に、複数のビットからなるデジタルデー
タにおいてMSBから見て1番目に「1」が存在するビ
ットと、2番目に「1」が存在するビットとの位置情報
をエンコード結果として出力するFSPEエンコーダ(F
irst and Second Priority Encoder) が内蔵されてい
る。図2は、本実施形態のFSPEエンコーダ100の
構成図である。図2に示すように、FSPEエンコーダ
100は、バリッドディテクタ102、8ビットのプラ
イオリティエンコーダ103,105,108、8ビッ
トのファーストバリッドビットマスクユニット104,
106およびマルチプレクサ107,109,110を
有する。ここで、本発明のビット数検出手段、第1のビ
ット位置情報生成手段、第1のデータマスク手段、第2
のビット位置情報生成手段、第2のデータマスク手段、
選択手段、第3のビット位置情報生成手段は、それぞ
れ、バリッドディテクタ102、プライオリティエンコ
ーダ103、ファーストバリッドビットマスクユニット
104、プライオリティエンコーダ105、ファースト
バリッドビットマスクユニット106、マルチプレクサ
107およびプライオリティエンコーダ108に対応し
ている。また、本発明の決定手段は、マルチプレクサ1
09および110に対応している。FSPEエンコーダ
100は、デジタルデータ160におけるMSBから見
て1番目に「1」が存在するビットの位置情報をファー
ストビットエンコードデータ161として出力し、2番
目に「1」が存在するビットの位置情報をセカンドビッ
トエンコードデータ162として出力する。
【0047】〔バリッドディテクタ102〕バリッドデ
ィテクタ102は、16ビットのデジタルデータ160
の上位8ビットを入力し、この上位8ビットに含まれる
「1」の数が、0個、1個および2個以上のいずれであ
るかを判断し、その判断結果を示すデータfirst_
vldおよびsecond_vldをそれぞれマルチプ
レクサ109および107に出力する。
【0048】具体的には、上位8ビットに「1」が存在
しない場合には、「0」を示すfirst_vldおよ
び「0」を示すsecond_vldをそれぞれマルチ
プレクサ109および107に出力する。また、上位8
ビットに「1」が1個存在する場合には、「1」を示す
first_vldおよび「0」を示すsecond_
vldをそれぞれマルチプレクサ109および107に
出力する。また、上位8ビットに「1」が2個以上存在
する場合には、「1」を示すfirst_vldおよび
「1」を示すsecond_vldをそれぞれマルチプ
レクサ109および107に出力する。
【0049】図3および図4は、バリッドディテクタ1
02における処理のフローチャートである。 ステップS21:変数「count」に「0」を代入さ
れる。 ステップS22:変数「sft」に「0x07」、すな
わち16進数の「07」が代入される。
【0050】ステップS23:「in」、すなわちデジ
タルデータ160の上位8ビットが、変数「sft」だ
けLSBに向けてシフトされる。 ステップS24:ステップS23のシフト結果が「1」
であるか否かが判断され、「1」である場合にはステッ
プS25の処理が実行され、「1」でない場合にはステ
ップS26の処理が実行される。
【0051】ステップS25:変数「count」に
「1」が加算される。 ステップS26:変数「sft」が「1」だけ減算され
る。 ステップS27:変数「sft」が0以上であるか否か
が判断され、0以上であればステップS23の処理が実
行され、そうでなければ図4に示すステップS28の処
理が実行される。
【0052】ステップS28:変数「count」が
「0」であるか否かが判断され、「0」であればステッ
プS29の処理が実行され、そうでなければステップS
30の処理が実行される。 ステップS29:変数「count」が「0」である場
合に実行され、「0」を示すfirst_vldおよび
「0」を示すsecond_vldが、それぞれマルチ
プレクサ109および107に出力される。
【0053】ステップS30:変数「count」が
「1」であるか否かが判断され、「1」であればステッ
プS31の処理が実行され、そうでなければステップS
32の処理が実行される。 ステップS31:変数「count」が「1」である場
合に実行され、「1」を示すfirst_vldおよび
「0」を示すsecond_vldが、それぞれマルチ
プレクサ109および107に出力される。 ステップS32:変数「count」が2以上である場
合に実行され、「1」を示すfirst_vldおよび
「1」を示すsecond_vldが、それぞれマルチ
プレクサ109および107に出力される。なお、上述
した図3および図4に示す処理をC言語を用いて記述す
ると図5に示すようになる。
【0054】〔プライオリティエンコーダ103,10
5〕プライオリティエンコーダ103は、デジタルデー
タ160の上位8ビットにおけるMSBから見て最初に
「1」になっているビットを検出し、当該ビット位置を
示す3ビットのファーストビットエンコードデータ18
0を生成し、これをマルチプレクサ109に出力する。
【0055】図6は、図2に示すプライオリティエンコ
ーダ103における処理のフローチャートである。 ステップS41:変数「sft」に「0x07」、すな
わち16進数の「07」が代入される。
【0056】ステップS42:「in」、すなわちデジ
タルデータ160の上位8ビットが、変数「sft」だ
けLSBに向けてシフトされる。 ステップS43:ステップS42のシフト結果が「1」
であるか否かが判断され、「1」である場合にはステッ
プS44の処理が実行され、「1」でない場合にはステ
ップS45の処理が実行される。
【0057】ステップS44:「0x07」すなわち1
6進数の「07」から、変数「sft」を減算した値
「0x07−sft」が、ファーストビットエンコード
データ180としてマルチプレクサ109に出力され
る。 ステップS45:変数「sft」が「1」だけ減算され
る。 ステップS46:変数「sft」が0以上であるか否か
が判断され、0以上であればステップS42の処理が再
び実行され、そうでなければステップS47の処理が実
行される。 ステップS47:「0x00」がファーストビットエン
コードデータ180としてマルチプレクサ109に出力
される。
【0058】なお、上述した図6に示す処理をC言語を
用いて記述すると図7に示すようになる。また、プライ
オリティエンコーダ105における処理は、デジタルデ
ータ160の下位8ビットに対して処理を行ない、その
処理結果であるファーストビットエンコードデータ18
2をマルチプレクサ109および110に出力すること
以外は、前述したプライオリティエンコーダ103にお
ける処理と同じである。
【0059】〔ファーストバリッドビットマスクユニッ
ト104,106〕ファーストバリッドビットマスクユ
ニット104は、デジタルデータ160の上位8ビット
におけるMSBから見て最初に「1」になっているビッ
トをマスクした、すなわち「0」に書き換えたファース
トバリッドビットマスクデータ181を生成し、これを
マルチプレクサ107に出力する。
【0060】図8は、図2に示すファーストバリッドビ
ットマスクユニット104における処理のフローチャー
トである。 ステップS51:変数「sft」に、「0x07」すな
わち16進数の「07」が代入される。
【0061】ステップS52:「in」、すなわちデジ
タルデータ160の上位8ビットが、変数「sft」だ
けLSBに向けてシフトされる。 ステップS53:ステップS52のシフト結果が「1」
であるか否かが判断され、「1」である場合にはステッ
プS54の処理が実行され、「1」でない場合にはステ
ップS56の処理が実行される。
【0062】ステップS54:「0xff」が、「0x
08」すなわち16進数の「08」から「sft」を減
算した減算結果である「0x08−sft」だけ、LS
Bに向けてシフトされ、このシフト結果が「mask」
となる。 ステップS55:「in」、すなわちデジタルデータ1
60の上位8ビットと、ステップS54で算出した「m
ask」との論理積が計算され、この論理積が、ファー
ストバリッドビットマスクデータ181として図2に示
すマルチプレクサ107に出力される。
【0063】ステップS56:変数「sft」が「1」
だけ減算される。 ステップS57:変数「sft」が0以上であるか否か
が判断され、0以上であればステップS52の処理が実
行され、そうでなければステップS58の処理が実行さ
れる。 ステップS58:「in」、すなわちデジタルデータ1
60の上位8ビットが。ファーストバリッドビットマス
クデータ181としてマルチプレクサ107に出力され
る。 なお、上述した図8に示す処理をC言語を用いて記述す
ると図9に示すようになる。
【0064】また、ファーストバリッドビットマスクユ
ニット106における処理は、デジタルデータ160の
下位8ビットに対して処理を行ない、その処理結果であ
るファーストバリッドビットマスクデータ183をマル
チプレクサ107に出力すること以外は、前述したファ
ーストバリッドビットマスクユニット104における処
理と同じである。
【0065】〔マルチプレクサ107〕マルチプレクサ
107は、データsecond_vldが「0」のと
き、ファーストバリッドビットマスクユニット106か
らのファーストバリッドビットマスクデータ183を、
ファーストバリッドビットマスクデータ184として8
ビットのプライオリティエンコーダ108に出力する。
一方、マルチプレクサ107は、データsecond_
vldが「1」のとき、ファーストバリッドビットマス
クユニット106からのファーストバリッドビットマス
クデータ183を、ファーストバリッドビットマスクデ
ータ184として8ビットのプライオリティエンコーダ
108に出力する。
【0066】〔プライオリティエンコーダ108〕8ビ
ットのプライオリティエンコーダ108は、マルチプレ
クサ107からのファーストバリッドビットマスクデー
タ184におけるMSBから見て最初に「1」になって
いるビットを検出し、当該ビット位置を示す3ビットの
ファーストビットエンコードデータ185を生成し、こ
れをマルチプレクサ110に出力する。8ビットのプラ
イオリティエンコーダ108の処理は、基本的に、図6
および図7を用いて前述したプライオリティエンコーダ
103の処理と同じである。
【0067】〔マルチプレクサ109〕マルチプレクサ
109は、データfist_vldが「1」の場合に、
ファーストビットエンコードデータ180をファースト
ビットエンコードデータ161として出力し、データf
ist_vldが「0」の場合に、ファーストビットエ
ンコードデータ182をファーストビットエンコードデ
ータ161として出力する。
【0068】〔マルチプレクサ110〕マルチプレクサ
110は、データfist_vldとデータsecon
d_vldとが同値である場合に、ファーストビットエ
ンコードデータ185をセカンドビットエンコードデー
タ162として出力し、データfist_vldとデー
タsecond_vldとが異なる値である場合に、フ
ァーストビットエンコードデータ182をセカンドビッ
トエンコードデータ162として出力する。
【0069】以下、図2に示すFSPEエンコーダ10
0の全体動作について説明する。ここでは、デジタルデ
ータ160が「0100000000100000」の
場合を例にして説明する。この場合には、「01000
00000100001」の上位8ビットである「01
000000」がバリッドディテクタ102、プライオ
リティエンコーダ103およびファーストバリッドビッ
トマスクユニット104に入力される。下位8ビットで
ある「00100001」がプライオリティエンコーダ
105およびファーストバリッドビットマスクユニット
106に入力される。
【0070】次に、バリッドディテクタ102、プライ
オリティエンコーダ103およびファーストバリッドビ
ットマスクユニット104において以下に示す処理が並
行して行なわれる。すなわち、バリッドディテクタ10
2において、上位8ビット「01000000」に含ま
れる「1」の数が1個であることが検出され、「1」を
示すfirst_vldおよび「0」を示すsecon
d_vldがそれぞれマルチプレクサ109およびマル
チプレクサ107に出力される。また、プライオリティ
エンコーダ103において、上位8ビット「01000
000」におけるMSBから見て最初に「1」になって
いる1ビット目(MSBを0ビット目としている)が検
出され、「1」を示すファーストビットエンコードデー
タ180がマルチプレクサ109に出力される。また、
ファーストバリッドビットマスクユニット104から、
「0」を示すファーストバリッドビットマスクデータ1
81がマルチプレクサ107に出力される。
【0071】また、上述した上位8ビットに対しての処
理と並行して、以下に示す下位8ビット「001000
01」に対しての処理が並行して行なわれる。すなわ
ち、プライオリティエンコーダ105において、下位8
ビット「00100001」におけるMSBから見て最
初に「1」になっている2ビット目(MSBを0ビット
目としている)が検出され、「2」を示すファーストビ
ットエンコードデータ182がマルチプレクサ109お
よび110に出力される。それと並行して、ファースト
バリッドビットマスクユニット106において、下位8
ビット「00100001」の2ビット目をマスクした
「00000001」を示すファーストバリッドビット
マスクデータ183がマルチプレクサ107に出力され
る。
【0072】次に、マルチプレクサ107において、
「0」を示すsecond_vldに基づいて、「00
000001」を示すファーストバリッドビットマスク
データ183がファーストバリッドビットマスクデータ
184として8ビットのプライオリティエンコーダ10
8に出力される。次に、8ビットのプライオリティエン
コーダ108において、「00000001」を示すフ
ァーストバリッドビットマスクデータ184がエンコー
ドされ、「7」を示すファーストビットエンコードデー
タ185がマルチプレクサ110に出力される。
【0073】そして、「1」を示すfirst_vld
に基づいて、マルチプレクサ109から、「1」を示す
ファーストビットエンコードデータ180が、ファース
トビットエンコードデータ161として出力される。ま
た、マルチプレクサ110において、データfirst
_vldとsecond_vldとが異なる値であるた
め、「2」を示すファーストビットエンコードデータ1
82がセカンドビットエンコードデータ162として出
力される。
【0074】以上説明したように、図2に示すFSPE
エンコーダ100によれば、16ビットのデジタルデー
タ160を上位ビットと下位ビットとに分けて、それら
に対して並行に8ビットのエンコード処理およびマスク
処理を行なう。このFSPEエンコーダ100では、演
算処理の時間を決めるクリティカルパスは、ファースト
バリッドビットマスクユニット104、マルチプレクサ
107、8ビットのプライオリティエンコーダ108お
よびマルチプレクサ110の経路になる。ここで、ファ
ーストバリッドビットマスクユニット104および8ビ
ットのプライオリティエンコーダ108における8ビッ
トの演算処理時間は、それぞれ図10に示すファースト
バリッドビットマスクユニット52およびプライオリテ
ィエンコーダ53における16ビットの演算処理時間に
比べて短く、しかも、マルチプレクサ107および11
0の切り換え処理時間は無視できるため、図2に示すF
SPEエンコーダ100によれば、図10に示すFSP
Eエンコーダ50に比べて処理時間を短縮できる。ま
た、FSPEエンコーダ100によれば、従来のFSP
Eエンコーダ50に比べて回路規模を縮小できる。
【0075】以下、3次元コンピュータグラフィックシ
ステム1の全体動作について説明する。ポリゴンレンダ
リングデータS4が、メインバス6を介してメインプロ
セッサ4からDDAセットアップ回路10に出力され、
DDAセットアップ回路10において、三角形の辺と水
平方向の差分などを示す変分データS10が生成され
る。この変分データS10は、トライアングルDDA回
路11に出力され、トライアングルDDA回路11にお
いて、三角形内部の各画素における線形補間された
(z,R,G,B,α,s,t,q,F)データが算出
される。そして、この算出された(z,R,G,B,
α,s,t,q,F)データと、三角形の各頂点の
(x,y)データとが、DDAデータS11として、ト
ライアングルDDA回路11からテクスチャエンジン回
路12に出力される。
【0076】次に、テクスチャエンジン回路12におい
て、DDAデータS11が示す(s,t,q)データに
ついて、除算回路において、sデータをqデータで除算
する演算と、tデータをqデータで除算する演算とが行
われる。このとき、除算回路において、前述した図2に
示すFSPEエンコーダ100が動作する。そして、除
算結果「s/q」および「t/q」に、それぞれテクス
チャサイズUSIZEおよびVSIZEが乗算され、テ
クスチャ座標データ(u,v)が生成される。次に、メ
モリI/F回路13を介して、テクスチャエンジン回路
12からSRAM17に、前記生成されたテクスチャ座
標データ(u,v)を含む読み出し要求が出力され、メ
モリI/F回路13を介して、SRAM17に記憶され
た(R,G,B,α)データS17が読み出される。次
に、テクスチャエンジン回路12において、読み出した
(R,G,B,α)データS17の(R,G,B)デー
タと、前段のトライアングルDDA回路11からのDD
AデータS11に含まれる(R,G,B)データとが、
(R,G,B,α)データS17に含まれるαデータ
(テクスチャα)が示す割合で混合され、画素データS
12が生成される。この画素データS12は、テクスチ
ャエンジン回路12からメモリI/F回路13に出力さ
れる。
【0077】そして、メモリI/F回路13において、
テクスチャエンジン回路12から入力した画素データS
12に対応するzデータと、zバッファ22に記憶され
ているzデータとの比較が行なわれ、入力した画素デー
タS12によって描画される画像が、前回、ディスプレ
イバッファ21に書き込まれた画像より、手前(視点
側)に位置するか否かが判断され、手前に位置する場合
には、画像データS12に対応するzデータでzバッフ
ァ22に記憶されたzデータが更新される。
【0078】次に、メモリI/F回路13において、必
要に応じて、画像データS12に含まれる(R,G,
B)データと、既にディスプレイバッファ21に記憶さ
れている(R,G,B)データとが、画素データS12
に対応するαデータが示す混合値で混合され、混合後の
(R,G,B)データがディスプレイバッファ21に書
き込まれる。
【0079】本発明は上述した実施形態には限定されな
い。例えば、上述した実施形態では、図2に示すデジタ
ルデータ160として16ビットのものを例示したが、
デジタルデータ160は2n (n≧2)であれば特に限
定されない。但し、nが大きいほど、効果が大きい。
【0080】また、上述した実施形態では、デジタルデ
ータ160におけるMSBから見て1番目の「1」と2
番目の「1」とのビット位置を求める場合について例示
したが、本発明は、例えばデジタルデータ160におけ
るMSBから見て1番目の「0」と2番目の「0」との
ビット位置を求める場合にも同様に適用できる。
【0081】さらに、本発明は、デジタルデータ160
におけるLSBから見て1番目の「1」と2番目の
「1」とのビット位置を求める場合や、LSBから見て
1番目の「0」と2番目の「0」とのビット位置を求め
る場合にも同様に適用できる。この場合には、図2に示
すバリッドディテクタ102、プライオリティエンコー
ダ103およびファーストバリッドビットマスクユニッ
ト104に、デジタルデータ160の下位8ビットをに
し、プライオリティエンコーダ105およびファースト
バリッドビットマスクユニット106にデジタルデータ
160の上位8ビットをにする。
【0082】そして、図6に示すステップS41におい
て「sft」に「0x00」を代入し、ステップS42
で「in」をMSBに向けてシフトし、ステップS43
でシフト結果が「10000000」であるか否かを判
断し、ステップS44で「sft」を出力し、ステップ
S45で「sft」に「1」を加算し、ステップS46
で「sft」が7以下であるか否かを判断する。また、
図8に示すステップS51において「sft」に「0x
00」を代入し、ステップS52で「in」をMSBに
向けてシフトし、ステップS53でシフト結果が「10
000000」であるか否かを判断し、ステップS54
で「0xff」を「sft」だけMSBに向けてシフト
したものを「mask」、ステップS55で「in」と
「mask」との論理積を出力し、ステップS56で
「sft」に「1」を加算し、ステップS47で「sf
t」が7以下であるか否かを判断する。
【0083】また、上述した実施形態では、図2に示す
FSPEエンコーダ100を、テクスチャエンジン回路
12の除算回路に内蔵した場合を例示したが、FSPE
エンコーダ100は、例えば、テクスチャバッファ20
から読み出したテクスチャデータをディスプレイバッフ
ァ21の何れのバンクに書き込むかを判定する際にも用
いられる。
【0084】また、例えば、上述した図1に示す3次元
コンピュータグラフィックシステム1では、SRAM1
7を用いる構成を例示したが、SRAM17を設けない
構成にしてもよい。また、図1に示すテクスチャバッフ
ァ20およびテクスチャCLUTバッファ23を、DR
AM16の外部に設けてもよい。
【0085】さらに、図1に示す3次元コンピュータグ
ラフィックシステム1では、ポリゴンレンダリングデー
タを生成するジオメトリ処理を、メインプロセッサ4で
行なう場合を例示したが、レンダリング回路5で行なう
構成にしてもよい。
【0086】
【発明の効果】以上説明したように、本発明のエンコー
ダおよびその方法とグラフィック演算装置によれば、演
算処理時間を短縮できる。また、本発明のエンコーダお
よびグラフィック演算装置によれば、装置規模を縮小で
きる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わる3次元コン
ピュータグラフィックシステムのシステム構成図であ
る。
【図2】図2は、本実施形態の3次元コンピュータグラ
フィックシステムに内蔵されたFSPEエンコーダの構
成図である。
【図3】図3は、図2に示すバリッドディテクタにおけ
る処理のフローチャートである。
【図4】図4は、図2に示すバリッドディテクタにおけ
る処理のフローチャートである。
【図5】図5は、図3および図4に示すバリッドディテ
クタにおける処理をC言語を用いて記述した場合の例を
示す図である。
【図6】図6は、図2におけるプライオリティエンコー
ダにおける処理のフローチャートである。
【図7】図7は、図6に示すプライオリティエンコーダ
における処理をC言語を用いて記述した場合の例を示す
図である。
【図8】図8は、図2に示すファーストバリッドビット
マスクユニットにおける処理のフローチャートである。
【図9】図9は、図8に示すファーストバリッドビット
マスクユニットにおける処理をC言語を用いて記述した
場合の例を示す図である。
【図10】図10は、従来のFSPEエンコーダの構成
図である。
【図11】図11は、図10におけるプライオリティエ
ンコーダにおける処理のフローチャートである。
【図12】図12は、図11に示すプライオリティエン
コーダにおける処理をC言語を用いて記述した場合の例
を示す図である。
【図13】図13は、図10に示すファーストバリッド
ビットマスクユニットにおける処理のフローチャートで
ある。
【図14】図14は、図13に示すファーストバリッド
ビットマスクユニットにおける処理をC言語を用いて記
述した場合の例を示す図である。
【符号の説明】
1…3次元コンピュータグラフィックシステム、2…メ
インメモリ、3…I/Oインタフェース回路、4…メイ
ンプロセッサ、5…レンダリング回路、10…DDAセ
ットアップ回路、11…トライアングルDDA回路、1
2…テクスチャエンジン回路、13…メモリI/F回
路、14…CRTコントローラ回路、15…RAMDA
C回路、16…DRAM、17…SRAM、20…テク
スチャバッファ、21…ディスプレイバッファ、22…
Zバッファ、23…テクスチャCLUTバッファ、10
0…FSPEエンコーダ、102…バリッドディテク
タ、103,105,108…プライオリティエンコー
ダ、104,106…ファーストバリッドビットマスク
ユニット、107,109,110…マルチプレクサ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】2n (nは2以上の整数)ビットのデジタ
    ルデータに含まれる第1のレベルのビットのうち、最も
    MSB側に位置する第1のビットと、2番目にMSB側
    に位置する第2のビットとを検出し、前記第1のビット
    および第2のビットの位置情報を生成するエンコーダに
    おいて、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットの数を検出するビット数検出手段
    と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第1のビット位置情報を生成する
    第1のビット位置情報生成手段と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第1のデータマスク手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第2のビット位置情報を生成する
    第2のビット位置情報生成手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第2のデータマスク手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のデータマスク手段が生成したデジタルデータと、前記
    第2のデータマスク手段が生成したデジタルデータとの
    うち何れか一方を選択する選択手段と、 前記選択手段で選択されたデジタルデータ内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第3のビット位置情報を生成する
    第3のビット位置情報生成手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のビット位置情報、第2のビット位置情報および前記第
    3のビット位置情報から、前記第1のビットおよび第2
    のビットの位置情報を決定する決定手段とを有するエン
    コーダ。
  2. 【請求項2】前記選択手段は、前記ビット数検出手段で
    検出された第1のレベルのビット数が0個の場合に、前
    記第1のデータマスク手段が生成したデジタルデータを
    選択し、それ以外の場合に、前記第2のデータマスク手
    段が生成したデジタルデータを選択する請求項1に記載
    のエンコーダ。
  3. 【請求項3】前記決定手段は、前記ビット数検出手段で
    検出された第1のレベルのビット数が0個の場合に、前
    記第2のビット位置情報を前記第1のビットの位置情報
    とし、前記第3のビット位置情報を前記第2のビットの
    位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が1個の場合に、前記第1のビット位置情報を前記
    第1のビットの位置情報とし、前記第2のビット位置情
    報を前記第2のビットの位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が2個以上の場合に、前記第1のビット位置情報を
    前記第1のビットの位置情報とし、前記第3のビット位
    置情報を前記第2のビットの位置情報とする請求項2に
    記載のエンコーダ。
  4. 【請求項4】前記ビット数検出手段の処理と、前記第1
    のビット位置情報生成手段の処理と、前記第1のデータ
    マスク手段の処理と、前記第2のビット位置情報生成手
    段の処理と、前記第2のデータマスク手段の処理とを並
    行して行なう請求項1に記載のエンコーダ。
  5. 【請求項5】2n (nは2以上の整数)ビットのデジタ
    ルデータに含まれる第1のレベルのビットのうち、最も
    LSB側に位置する第1のビットと、2番目にLSB側
    に位置する第2のビットとを検出し、前記第1のビット
    および第2のビットの位置情報を生成するエンコーダに
    おいて、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットの数を検出するビット数検出手段
    と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットの位置情報である第1のビット位置情報を生成する
    第1のビット位置情報生成手段と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第1のデータマスク手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットの位置情報である第2のビット位置情報を生成する
    第2のビット位置情報生成手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第2のデータマスク手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のデータマスク手段が生成したデジタルデータと、前記
    第2のデータマスク手段が生成したデジタルデータとの
    うち何れか一方を選択する選択手段と、 前記選択手段で選択されたデジタルデータ内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットの位置情報である第3のビット位置情報を生成する
    第3のビット位置情報生成手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のビット位置情報、第2のビット位置情報および前記第
    3のビット位置情報から、前記第1のビットおよび第2
    のビットの位置情報を決定する決定手段とを有するエン
    コーダ。
  6. 【請求項6】前記選択手段は、前記ビット数検出手段で
    検出された第1のレベルのビット数が0個の場合に、前
    記第1のデータマスク手段が生成したデジタルデータを
    選択し、それ以外の場合に、前記第2のデータマスク手
    段が生成したデジタルデータを選択する請求項5に記載
    のエンコーダ。
  7. 【請求項7】前記決定手段は、前記ビット数検出手段で
    検出された第1のレベルのビット数が0個の場合に、前
    記第2のビット位置情報を前記第1のビットの位置情報
    とし、前記第3のビット位置情報を前記第2のビットの
    位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が1個の場合に、前記第1のビット位置情報を前記
    第1のビットの位置情報とし、前記第2のビット位置情
    報を前記第2のビットの位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が2個以上の場合に、前記第1のビット位置情報を
    前記第1のビットの位置情報とし、前記第3のビット位
    置情報を前記第2のビットの位置情報とする請求項6に
    記載のエンコーダ。
  8. 【請求項8】前記ビット数検出手段の処理と、前記第1
    のビット位置情報生成手段の処理と、前記第1のデータ
    マスク手段の処理と、前記第2のビット位置情報生成手
    段の処理と、前記第2のデータマスク手段の処理とを並
    行して行なう請求項5に記載のエンコーダ。
  9. 【請求項9】立体モデルを複数の単位図形を組み合わせ
    て表現し、前記単位図形に付加するパターンを示す複数
    の画素データからなるテクスチャデータを画像メモリか
    ら読み出し、当該読み出したテクスチャデータを前記単
    位図形と対応付けて複数の画素データからなる描画デー
    タを生成し、当該描画データを前記画像メモリに記憶す
    るグラフィック演算装置において、 前記単位図形の頂点について、3次元座標(x,y,
    z)、R(赤),G(緑),B(青)データ、同次座標
    (s,t)および同次項qを含むポリゴンレンダリング
    データを生成するポリゴンレンダリングデータ生成手段
    と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の補間データを
    生成する補間データ生成手段と、 2n (nは2以上の整数)ビットのデジタルデータに含
    まれる第1のレベルのビットのうち、最もMSB側に位
    置する第1のビットと、2番目にMSB側に位置する第
    2のビットとを検出し、前記第1のビットおよび第2の
    ビットの位置情報を生成するエンコーダ内蔵した除算回
    路を備え、当該除算回路において前記補間データに含ま
    れる同次座標(s,t)を同次項qで除算し、当該除算
    の結果に応じたテクスチャアドレスを用いて前記画像メ
    モリからテクスチャデータを読み出し、前記単位図形と
    対応付ける描画データを生成するテクスチャ処理手段と
    を有し、 前記除算回路は、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットの数を検出するビット数検出手段
    と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第1のビット位置情報を生成する
    第1のビット位置情報生成手段と、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第1のデータマスク手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第2のビット位置情報を生成する
    第2のビット位置情報生成手段と、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えたデジタルデータを生成
    する第2のデータマスク手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のデータマスク手段が生成したデジタルデータと、前記
    第2のデータマスク手段が生成したデジタルデータとの
    うち何れか一方を選択する選択手段と、 前記選択手段で選択されたデジタルデータ内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第3のビット位置情報を生成する
    第3のビット位置情報生成手段と、 前記ビット数検出手段の検出結果に基づいて、前記第1
    のビット位置情報、第2のビット位置情報および前記第
    3のビット位置情報から、前記第1のビットおよび第2
    のビットの位置情報を決定する決定手段とを有するグラ
    フィック演算装置。
  10. 【請求項10】前記除算回路の選択手段は、前記ビット
    数検出手段で検出された第1のレベルのビット数が0個
    の場合に、前記第1のデータマスク手段が生成したデジ
    タルデータを選択し、それ以外の場合に、前記第2のデ
    ータマスク手段が生成したデジタルデータを選択する請
    求項9に記載のグラフィック演算装置。
  11. 【請求項11】前記除算回路の前記決定手段は、前記ビ
    ット数検出手段で検出された第1のレベルのビット数が
    0個の場合に、前記第2のビット位置情報を前記第1の
    ビットの位置情報とし、前記第3のビット位置情報を前
    記第2のビットの位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が1個の場合に、前記第1のビット位置情報を前記
    第1のビットの位置情報とし、前記第2のビット位置情
    報を前記第2のビットの位置情報とし、 前記ビット数検出手段で検出された第1のレベルのビッ
    ト数が2個以上の場合に、前記第1のビット位置情報を
    前記第1のビットの位置情報とし、前記第3のビット位
    置情報を前記第2のビットの位置情報とする請求項10
    に記載のグラフィック演算装置。
  12. 【請求項12】前記ビット数検出手段の処理と、前記第
    1のビット位置情報生成手段の処理と、前記第1のデー
    タマスク手段の処理と、前記第2のビット位置情報生成
    手段の処理と、前記第2のデータマスク手段の処理とを
    並行して行なう請求項9に記載のグラフィック演算装
    置。
  13. 【請求項13】2n (nは2以上の整数)ビットのデジ
    タルデータに含まれる第1のレベルのビットのうち、最
    もMSB側に位置する第1のビットと、2番目にMSB
    側に位置する第2のビットとを検出し、前記第1のビッ
    トおよび第2のビットの位置情報を生成するエンコード
    方法において、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットの数を検出し、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第1のビット位置情報を生成し、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えた第1のマスクデジタル
    データを生成し、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットの位置情報である第2のビット位置情報を生成し、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もMSB側に位置するビ
    ットを第2のレベルに書き換えた第2のマスクデジタル
    データを生成し、 前記検出されたビット数に基づいて、前記第1のマスク
    デジタルデータと、前記第2のマスクデジタルデータと
    のうち何れか一方を選択し、 前記選択されたマスクデジタルデータ内に含まれる第1
    のレベルのビットのうち最もMSB側に位置するビット
    の位置情報である第3のビット位置情報を生成し、 前記検出されたビット数に基づいて、前記第1のビット
    位置情報、第2のビット位置情報および前記第3のビッ
    ト位置情報から、前記第1のビットおよび第2のビット
    の位置情報を決定するエンコード方法。
  14. 【請求項14】前記検出されたビット数が0個の場合
    に、前記第1のマスクデジタルデータを選択し、それ以
    外の場合に、前記第2のマスクデジタルデータを選択す
    る請求項13に記載のエンコード方法。
  15. 【請求項15】前記検出されたビット数が0個の場合
    に、前記第2のビット位置情報を前記第1のビットの位
    置情報とし、前記第3のビット位置情報を前記第2のビ
    ットの位置情報とし、 前記検出されたビット数が1個の場合に、前記第1のビ
    ット位置情報を前記第1のビットの位置情報とし、前記
    第2のビット位置情報を前記第2のビットの位置情報と
    し、 前記検出されたビット数が2個以上の場合に、前記第1
    のビット位置情報を前記第1のビットの位置情報とし、
    前記第3のビット位置情報を前記第2のビットの位置情
    報とする請求項14に記載のエンコード方法。
  16. 【請求項16】前記ビット数の検出処理と、前記第1の
    ビット位置情報の生成処理と、前記第1のマスクデジタ
    ルデータの生成処理と、前記第2のビット位置情報の生
    成処理と、前記第2のマスクデジタルデータの生成処理
    とを並行して行なう請求項13に記載のエンコード方
    法。
  17. 【請求項17】2n (nは2以上の整数)ビットのデジ
    タルデータに含まれる第1のレベルのビットのうち、最
    もLSB側に位置する第1のビットと、2番目にLSB
    側に位置する第2のビットとを検出し、前記第1のビッ
    トおよび第2のビットの位置情報を生成するエンコード
    方法において、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットの数を検出し、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットの位置情報である第1のビット位置情報を生成し、 前記デジタルデータの上位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットを第2のレベルに書き換えた第1のマスクデジタル
    データを生成し、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットの位置情報である第2のビット位置情報を生成し、 前記デジタルデータの下位2n /2ビット内に含まれる
    第1のレベルのビットのうち最もLSB側に位置するビ
    ットを第2のレベルに書き換えた第2のマスクデジタル
    データを生成し、 前記検出されたビット数に基づいて、前記第1のマスク
    デジタルデータと、前記第2のマスクデジタルデータと
    のうち何れか一方を選択し、 前記選択されたマスクデジタルデータ内に含まれる第1
    のレベルのビットのうち最もLSB側に位置するビット
    の位置情報である第3のビット位置情報を生成し、 前記検出されたビット数に基づいて、前記第1のビット
    位置情報、第2のビット位置情報および前記第3のビッ
    ト位置情報から、前記第1のビットおよび第2のビット
    の位置情報を決定するエンコード方法。
  18. 【請求項18】前記検出されたビット数が0個の場合
    に、前記第1のマスクデジタルデータを選択し、それ以
    外の場合に、前記第2のマスクデジタルデータを選択す
    る請求項17に記載のエンコード方法。
  19. 【請求項19】前記検出されたビット数が0個の場合
    に、前記第2のビット位置情報を前記第1のビットの位
    置情報とし、前記第3のビット位置情報を前記第2のビ
    ットの位置情報とし、 前記検出されたビット数が1個の場合に、前記第1のビ
    ット位置情報を前記第1のビットの位置情報とし、前記
    第2のビット位置情報を前記第2のビットの位置情報と
    し、 前記検出されたビット数が2個以上の場合に、前記第1
    のビット位置情報を前記第1のビットの位置情報とし、
    前記第3のビット位置情報を前記第2のビットの位置情
    報とする請求項18に記載のエンコード方法。
  20. 【請求項20】前記ビット数の検出処理と、前記第1の
    ビット位置情報の生成処理と、前記第1のマスクデジタ
    ルデータの生成処理と、前記第2のビット位置情報の生
    成処理と、前記第2のマスクデジタルデータの生成処理
    とを並行して行なう請求項17に記載のエンコード方
    法。
JP10094942A 1998-04-07 1998-04-07 エンコーダおよびその方法とグラフィック演算装置 Pending JPH11296160A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10094942A JPH11296160A (ja) 1998-04-07 1998-04-07 エンコーダおよびその方法とグラフィック演算装置
US09/283,230 US6329999B1 (en) 1998-04-07 1999-04-01 Encoder, method thereof and graphic processing apparatus
CA002268595A CA2268595C (en) 1998-04-07 1999-04-06 Encoder, method thereof, and graphic processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10094942A JPH11296160A (ja) 1998-04-07 1998-04-07 エンコーダおよびその方法とグラフィック演算装置

Publications (1)

Publication Number Publication Date
JPH11296160A true JPH11296160A (ja) 1999-10-29

Family

ID=14124011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10094942A Pending JPH11296160A (ja) 1998-04-07 1998-04-07 エンコーダおよびその方法とグラフィック演算装置

Country Status (3)

Country Link
US (1) US6329999B1 (ja)
JP (1) JPH11296160A (ja)
CA (1) CA2268595C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049430A (ja) * 2008-08-20 2010-03-04 Fujitsu Ltd 演算装置、行列演算装置、資源割当装置および演算方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3758362B2 (ja) * 1998-04-13 2006-03-22 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
JP3898347B2 (ja) * 1998-06-30 2007-03-28 富士通株式会社 動画データ制御装置、動画データ制御方法、及び動画データ制御プログラムを記録したコンピュータ読みとり可能な記録媒体
US8139077B2 (en) * 2007-11-02 2012-03-20 Texas Instruments Incorporated Enhanced alpha blending

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105726B2 (ja) * 1990-01-31 1995-11-13 株式会社東芝 プライオリティ・エンコーダ
US5751773A (en) * 1992-03-12 1998-05-12 Ntp Incorporated System for wireless serial transmission of encoded information
US5742644A (en) * 1992-03-12 1998-04-21 Ntp Incorporated Receiving circuitry for receiving serially transmitted encoded information
US5781789A (en) * 1995-08-31 1998-07-14 Advanced Micro Devices, Inc. Superscaler microprocessor employing a parallel mask decoder
US5826071A (en) * 1995-08-31 1998-10-20 Advanced Micro Devices, Inc. Parallel mask decoder and method for generating said mask
US5970174A (en) * 1997-06-19 1999-10-19 Electronics For Imaging Method and apparatus for data compression and gray value estimation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049430A (ja) * 2008-08-20 2010-03-04 Fujitsu Ltd 演算装置、行列演算装置、資源割当装置および演算方法

Also Published As

Publication number Publication date
US6329999B1 (en) 2001-12-11
CA2268595C (en) 2007-03-20
CA2268595A1 (en) 1999-10-07

Similar Documents

Publication Publication Date Title
JP2996310B2 (ja) 表示の解像度を高める装置と方法
JP3107452B2 (ja) テクスチャマッピング方法およびその装置
JP2005251193A (ja) イメージプロセッサ
JP3065021B2 (ja) 画像混色処理装置
US6157386A (en) MIP map blending in a graphics processor
JP4707782B2 (ja) 画像処理装置およびその方法
JPH0660173A (ja) 画像を縮小する方法および装置
US6078335A (en) Method and apparatus for determining level of detail for texture filtering
KR100613747B1 (ko) 화상 처리장치 및 그 방법
JPH11296160A (ja) エンコーダおよびその方法とグラフィック演算装置
JP3903557B2 (ja) データ変換装置および画像生成装置
JP3548642B2 (ja) 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体
CA2261245C (en) Division circuit and graphic display processing apparatus
JP4300650B2 (ja) 演算処理回路およびその方法と画像処理装置
JPH11306366A (ja) グラフィック演算装置およびその方法
JP3741053B2 (ja) 画像処理装置
US6624820B2 (en) Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same
JP3556517B2 (ja) 3次元画像処理装置
JP4635379B2 (ja) 画像処理装置
JP2003187260A (ja) 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法
JPH05298455A (ja) テクスチャマッピング装置
JP4224887B2 (ja) 信号処理装置および画像処理装置
JP3698747B2 (ja) 画像データ生成方法及び画像処理システム
JP2000082136A (ja) 画像デ―タ処理装置および方法、並びに提供媒体
JP2000339141A (ja) データ処理装置、除算回路および画像処理装置