JPH09326041A - 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 - Google Patents
圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置Info
- Publication number
- JPH09326041A JPH09326041A JP8237116A JP23711696A JPH09326041A JP H09326041 A JPH09326041 A JP H09326041A JP 8237116 A JP8237116 A JP 8237116A JP 23711696 A JP23711696 A JP 23711696A JP H09326041 A JPH09326041 A JP H09326041A
- Authority
- JP
- Japan
- Prior art keywords
- information
- field
- normal
- bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
ウェアに渡されるようにする。 【解決手段】 データストリームからフィールド型を検
出する際、検出をイネーブルするデータを先行させ、フ
ィールド長又はフィールド正規化をデータストリームか
ら検出する際、検出をイネーブルするデータを先行さ
せ、データストリームからビット位置合せされたフィー
ルドを抽出し、最初の数値スケールに抽出したビット位
置合せされたフィールドを必要に応じ再正規化し、圧縮
解除された表面記述データを出力することにより、可変
長フィールドのデータストリームを圧縮解除する。
Description
・データを圧縮解除することに関し、特に圧縮された三
次元幾何学データを圧縮解除する方法及び装置に関す
る。
クスは、種々のグラフィック表現技術を用いて、三次元
オブジェクトを記述するために幾何学形状を広範囲に渡
って用いる。コンピュータ・グラフィックスは、コンピ
ュータ支援設計(“CAD”)プログラムから仮想現実
感(バーチャル・リアリティ)ビデオ・ゲームの範囲に
わたるアプリケーションにおいて広い使用を見出す。オ
ブジェクトの複雑で滑らかな表面は、トリム型非均等有
理スプライン(trimmed non-uniform rational splines)
のような高レベル抽象化によって簡潔的に表わすことが
でき、かつしばしば詳細な表面幾何学形状は、テクスチ
ャ・マップを用いて表現できる。しかし、より現実感を
付加することは、、通常、三角形の、生幾何学形状(raw
geometry)を要求する。位置、カラー(色彩)、及びこ
れら三角形の通常の構成要素は、浮動小数点数として一
般に表現され、かつ孤立した三角形(isolated triangl
e) を記述することは、記憶空間の100バイト以上を
要求することができる。理解できるように、例えば、コ
ンピュータ・ハード・ディスクまたはコンパクト・ディ
スク・リード・オンリ・メモリ(“CD−ROM”)上
に記憶されるために三次元コンピュータ・グラフィック
ス・オブジェクトに対して実質的な空間が必要である。
同様に、例えば、ネットワーク、またはディスクから主
メモリにわたり、伝送されるためにそのようなオブジェ
クトに対してかなりの時間が必要である。
レード・オフであり、かつメモリ/相互接続階層の全て
のレベルで利点を供給する。同様なシステム問題が二次
元画素イメージの記憶及び送信に対して存在する。種々
の損失が大きくかつ無損失圧縮及び圧縮解除技術が、記
憶空間及び送信時間における合成減少を有して、二次元
画素イメージに対して開発されている。残念ながら、従
来技術は、多角形(多辺形)低減技法を越えた、三次元
幾何学形状に適切な圧縮/圧縮解除技術を含まない。し
かしながら、1994年のプリンストン大学におけるシ
ョン・ダンスキン(John Danskin)による「Xグラフィッ
クス・プロトコルの圧縮」(Compressingthe X Graphics
Protocol) という題名の博士論文(Ph.D. thesis)は、
二次元幾何学形状に対する圧縮を記載している。適切な
圧縮は、コンピュータ・システムの高速主メモリに、キ
ャッシュ(格納)、または記憶することができる幾何学
形状の量をかなり増大することができる。分散型ネット
ワーク・アプリケーションでは、圧縮は、送信時間をか
なり低減することによって、共有バーチャル・リアリテ
ィ(“VR”)・ディスプレイ環境をインプリメント可
能にすることを支援できる。ほとんどの主要な機械計算
機援用設計(“MCAD”)ソフトウェア・パッケー
ジ、及び多くの動画モデリング・パッケージは、幾何学
形状を構成しかつ表現するために構成ソリッド幾何学形
状(“CSG”)及び自由な形式のNURBSを用い
る。そのような技法を用いて、滑らかな表面の領域は、
トリム型ポリノミアル表面を結果として得られる高いレ
ベルに表現される。ハードウェア・レンダリングに対し
て、これらの表面は、一般に、レンダリング・ハードウ
ェアへの送信の前にソフトウェアを用いて三角形にプリ
テッセレートされる(pre-tessellated) 。そのようなソ
フトウェア・プリテッセレーション(pre-tesselation)
は、ハードウェアNURBS(non-uniform rational B-
spline) レンダリングのある形式を支持するハードウェ
ア上でも行われる。しかしながら、NURBS幾何学形
状表現に関連付けられる多くの利点は、実時間レンダリ
ング以外のタスクに対してである。これらの非レンダリ
ング・タスクは、マシニング、インターチェンジ、及び
乱流のシミュレーションのような物理的解析に対する表
現を含む。NURBSに対してトリミング曲線を正確に
表現することは、非常にデータを集中し、かつ圧縮技術
として、トリム型NURBSは、少なくとも一般的なレ
ンダリング・テッセレーション密度ではプリテッセレー
トされた三角形よりも更にコンパクトでありえない。そ
して、全てのオブジェクトがNURBSによってコンパ
クトに表現されない(一部のオブジェクトがNURBS
によってコンパクトに表現される)。自動車フードやジ
ェット・タービン・ブレードのような多くの機械的オブ
ジェクトは、NURBS表現が有利でありうる大きな、
滑らかな領域を有するけれども、多くのオブジェクト
は、そのような領域をもっておらずかつそのような表現
に向いていない。それゆえに、NURBSがオブジェク
トをモデル化することにおいて多くのアプリケーション
を有すると同時に、圧縮された三角形は、アプリケーシ
ョン・オブジェクトの多くのクラスに対して遙にコンパ
クトである。
ダリングは、微細な幾何学形状の詳細をコンパクトに表
わすためにテキスチャ・マップ技術の広範囲な使用を長
くした。そのような技術は、カラー・テキスチャ・マッ
プ、通常のバンプ・マップ、及び変位マップを含むこと
ができる。テキスチャ・マッピングは、例えば、空の
雲、遠くの建物のような、遠背景における大きなオブジ
ェクトに対してよく機能する。より近い距離では、テキ
スチャは、例えば、広告掲示板、ペインティング、カー
ペット、大理石製の壁、等のような、ほとんどフラット
である三次元オブジェクトに対して最もよく機能する。
最近、レンダリング・ハードウェアは、テキスチャ・マ
ッピングを支持することを始めたし、かつ実時間レンダ
リング・エンジンもこれらの技術を適用することができ
る。しかしながら、テキスチャ・マッピングは、フラッ
トでない隣接するオブジェクトに対して品質の著しい損
失を結果として生ずる。一つの部分的な解は、テキスチ
ャされた多角形がオブザーバに面すべく常に旋回する
“サインボード”である。しかし、ステレオ、特にヘッ
ド・トラック型VRステレオを考慮したときに、隣接す
るテキスチャは、フラットとして明らかに感知される。
これらの例では、隣接するオブジェクトのあまり詳細で
はないが完全な三次元多角形表現は、より現実的であろ
う。
ー・コンピュータ・グラフィックの分野で長く支持され
ている。そのような表現では、任意の幾何学形状は、頂
点(vertices)、エッジ(edges) 、及び面(faces) の一覧
表によって一般に表現されかつ指定される。Computer G
raphics: Principles and Practice, 2nd ed., Addison
-Wesley, 1990 においてJ. Foly, et al. によって指摘
されたように、ウィングドエッジ・データ構造(winged-
edge data structures) のような表現は、ディスプレイ
されるだけの幾何学形状の編集を支持すべく設計され
た。 これら表現の痕跡(なごり)は、交換フォーマ
ット、例えばWavefront OBJ として今日生き残ってい
る。理論的にコンパクトであるが、あるコンパクション
は、交換ファイルにおけるASCII(アスキー)デー
タ表現を用いることにより判読性の犠牲になる。不幸に
も、これらのフォーマットのほとんど(もしあれば)
は、レンダリング・ハードウェアに描画命令(drawing i
nstructions)として直接渡すことができない。そのよう
なフォーマットの別の歴史的痕跡は、早期レンダリング
・ハードウェアが受け入れうる一般のプリミティブ・フ
ォーム(general primitive form)の、N−面多角形の支
持体である。しかしながら、今日の高速レンダリング・
ハードウェアは、ハードウェアに提出される前に全ての
多角形幾何学形状が三角形に低減されることを要求す
る。三面以上を有する多角形は、プレーナー(平面)ま
たはコンベックス(凸面)のいずれかであることを一般
に保証することができない。四辺形がレンダリング・プ
リミティブとして受容されるならば、レンダリングの前
にそれらが一対の三角形に任意に分割されるということ
が受容されるべきである。
ータ構造のアレーとして、三次元三角形の収集の表現の
ために2値フォーマットを一般に指定する。それゆえ
に、PHIGS PLUS、PEX、XGL、及びOp
enGLへの提案された拡張は、このフォーマット・フ
ォームであり、かつ実行可能幾何学形状によって取られ
る記憶空間を画定する。“ジグザグ”または“スター”
ストリップスに三角形を分離または連鎖することは、こ
の分野で知られている。例えば、Iris−GL、XG
L、及びPEX5.2は、ジグザグからに、頂点毎に基
づき連鎖している星状の頂点へ切り替えることができる
汎用の三角形ストリップのフォームを画定するが、XG
L及びPEXの頂点当たりの余分なヘッダ・ワードを犠
牲にする。再開始コードは、三角形の多重切断ストリッ
プスを頂点の1アレー内で指定させる。これらの言語で
は、全ての頂点コンポーネント(位置、カラー、ノーマ
ルズ(normals) )は、32ビット単精度IEEE浮動小
数点数、または64ビット倍精度数によって指定されう
る。また、XGL、IrisGL、及びOpenGLフ
ォーマットは、32ビット整数サポートも供給する。I
risGL及びOpenGLフォーマットは、16ビッ
ト整数として頂点位置コンポーネント入力をサポート
し、ノーマルズ及びカラーは、これらのいずれか並びに
8ビット・コンポーネントであることができる。実際に
は、位置、カラー、及びノーマルズは、視覚的品質にお
ける損失がほとんどなく32ビット(単精度IEEE浮
動小数点)よりかなり少なく量子化される。そのような
ビット節約は、適切な数値解析サポートが存在するとい
うことを前提として、市販の三次元グラフィックス・ハ
ードウェアに用いられうる。しかしながら、圧縮され
た、三次元幾何学形状データを含んでいる、幾何学形状
データは、有用であるべく圧縮解除されなければならな
い。例えば、1995年8月4日に出願した、発明の名
称が「三次元グラフィックス・データの幾何学形状圧縮
のための方法及び装置」である本発明の出願人の特許出
願がそのような圧縮を開示している。
た三次元幾何学形状を圧縮解除する方法及び装置の必要
性が存在する。圧縮解除は、出力データが描画命令とし
て直接レンダリング・ハードウェアにわたされうるよう
なものが好ましい。そして、三次元幾何学形状の圧縮解
除は、ハードウェア、ソフトウェア、またはそれらの組
合せを用いて実現可能であるべきである。本発明は、そ
のような圧縮解除を開示する。本発明の目的は、上記従
来の技術における問題点に鑑み、出力データが描画命令
として直接レンダリング・ハードウェアにわたされるよ
うに圧縮された三次元幾何学形状を圧縮解除する方法及
び装置を提供することである。
変長フィールドのデータ・ストリームを圧縮解除する方
法であり、該データ・ストリームが該フィールドの圧縮
解除を三次元オブジェクトの非圧縮表面特性にガイドす
る、オプ・コード・ビット及び/又はタグ・ビットを含
んでいる、方法であって、(a)フィールド型をデータ
・ストリームから検出し、そのような検出をイネーブル
するデータは、先行するが該データ・ストリーム内でシ
ーケンシャルにすぐに先行する必要はない、(b)フィ
ールド長及び/又はフィールド正規化をデータ・ストリ
ームから検出し、そのような検出をイネーブルするデー
タは、先行するが該データ・ストリーム内でシーケンシ
ャルにすぐに先行する必要はない、(c)段階(a)及
び段階(b)の少なくとも一つから得られた情報を用い
て、データ・ストリームからビット位置合わせされたフ
ィールドを抽出し、(d)最初の数値スケールに抽出し
たビット位置合わせされたフィールドを必要に応じて再
正規化し、(e)圧縮解除された表面記述データを出力
する段階を具備し、データは、オプションで汎用三角形
ストリップ・フォーマットである方法によって達成され
る。本発明の方法では、オプ・コードは、後続するフィ
ールドのセットの型に関する情報を表わし、該情報は、
(i)頂点情報、(ii)位置情報、(iii)表面ノ
ーマル情報、(iv)カラー、(v)テキスチャ・マッ
プ座標、(vi)表面材料特性、及び(vii)手順情
報、(viii)頂点情報、ノーマル指令及びカラー指
令以外の指令である手順情報からなるグループから選択
され、及び/又は、タグ・ビットは、(a)該タグ・ビ
ットが(i)フィールド長、(ii)正規化、(ii
i)そのようなフィールドが相対的か否か、(iv)そ
のようなフィールドが絶対的か否か、からなるグループ
から選択された少なくとも一つのフィールド特性を暗黙
的に記述する、及び(b)該タグ・ビットが可変長を有
しかつ当該可変長についての情報並びに可能フィールド
内容情報を含み、該可変長は、該フィールド内容情報か
ら独立である、からなるグループから選択された少なく
とも一つの特性を有するように構成してもよい。
リング・データがすぐにシーケンシャルに始めないなら
ば、方法は、(b−1)現行命令及び後続命令をデータ
・ストリームからフェッチし、(b−2)後続命令の固
定数の最初のビットをフェッチし、かつ(b−3)次い
で、現行命令に対して残りのビットをフェッチすること
を更に含むように構成してもよい。本発明の方法では、
(f−1)その出力が(i)後続データ・フィールドの
開始、(ii)該データ・フィールドの長さ、(ii
i)実際のタグ・フィールド長、(iv)該フィールド
が相対的であるか否かの識別、(v)該フィールドが絶
対的であるか否かの識別、及び(vi)再正規化を容易
にするための数値シフティング・オフセット情報を含ん
でいる該データ・フィールドに対する再正規化パラメー
タ、の少なくとも一つを識別するタグ・ルックアップ表
にタグ・ビットを供給し、(f−2)タグ・ルックアッ
プ表出力がそのようなビット位置合わせされたフィール
ドが相対的であることを示すならば、フィールドの正規
化された値をフィールドの現行値に加え、(f−3)タ
グ・ルックアップ表出力がそのようなビット位置合わせ
されたフィールドが絶対的であることを示すならば、該
フィールドの該正規化された値で該フィールドの現行値
を置換する段階を更に具備するように構成してもよい。
位置合わせされたフィールドが解釈されるべき方法を変
更することかまたはタグ表の内容を変更することまたは
該ビット位置合わせされたフィールドの非変更データを
通過することであるならば、そのようにし、かつ、その
ような正規化ビット位置合わせされたフィールドがノー
マル情報を含むならば、タグ・フィールド・インデック
スは、該ノーマルの直線表現を得るためにルックアップ
表を通過するように構成してもよい。本発明の方法で
は、ビット位置合わせされたフィールドは、(i)オブ
ジェクトの表面上のx、y、z座標位置、(ii)オブ
ジェクトに対する赤、緑、青のカラー情報、(iii)
オブジェクトに対する赤、緑、青及びアルファのカラー
情報、(iv)オブジェクトに対するシーケンシャル
赤、緑、青のカラー情報間の相違、及び(v)オブジェ
クトに対するシーケンシャル赤、緑、青及びアルファの
カラー情報間の相違からなるグループから選択された少
なくとも一つの特性に関する情報を含むように構成して
もよい。
(i)オブジェクトの位置の特性が直線x、y、z座標
として表され、(ii)オブジェクトのカラーの特性が
少なくとも赤、緑、青、及びアルファ・コンポーネント
を有しているように表され、該カラーが(a)放射カラ
ー、(b)環境カラー、(c)散乱カラー、及び(d)
鏡面カラーからなるグループからなる選択された少なく
とも一つのカラーを含み、(iii)オブジェクトのノ
ーマルの特性が直線Nx、Ny、及びNzベクトル係数
によって表され、(iv)オブジェクトのノーマルの特
性は、ノーマル表インデックスによって表されることか
らなるグループから選択された少なくとも一つの特性を
有し、オブジェクトの表面特性は、(a)位置、(b)
ノーマル、(c)カラー、(d)テキスチャ・マップ座
標、及び(e)オブジェクトの材料表面特性からなるグ
ループから選択された少なくとも一つの特性を含むよう
に構成してもよい。
は、単一インデックスによって所定の正規化されたノー
マルの表の中に表され、かつインデックスは、(i)イ
ンデックスは、表されるべきノーマルの直線表現サイン
・ビットを備えているインデックス表現のビットを含
み、(ii)インデックスは、フォールドされたノーマ
ルが該フォールディング平面の既知の側面にあることを
確実にするように少なくとも一つのフォールディング平
面x=y、x=z、y=zによって表されるべきノーマ
ルの直線表現の絶対量の可能なフォールディングを指定
している少なくとも一つのビットを含み、(iii)イ
ンデックスは、ノーマルの経度情報及び緯度情報を表し
ているビットを含み、(iv)インデックスは、オクタ
ント情報のビット、セクスタント情報のビット、及びフ
ォールドされたノーマルの経度及び緯度についての情報
の追加フィールドを含むべく画定され、(v)インデッ
クスは、ノーマルの経度情報及び緯度情報を表している
ビットを含み、及びオクタント情報のビット、セクスタ
ント情報のビット、及びフォールドされたノーマルの経
度及び緯度についての情報の追加フィールドを更に含
み、(vi)インデックスは、オクタント情報の3ビッ
ト、セクスタント情報の3ビット、及びフォールドされ
たノーマルの経度及び緯度についての情報の2つの追加
フィールドを含むべく画定され、(vii)インデック
スは、ノーマルの経度情報及び緯度情報を表しているビ
ットを含み、及びオクタント情報の3ビット、セクスタ
ント情報の3ビット、及びフォールドされたノーマルの
経度及び緯度についての情報の2つの追加フィールドを
更に含む、ことからなるグループから選択された少なく
とも一つの特性を有するように構成してもよい。本発明
の方法では、圧縮解除されるべきデータ・ストリーム
は、データが汎用三角形メッシュを画定している線形フ
ォーマットに変換された、頂点を有している複数の三角
形を画定している三次元三角形データとして表されたオ
ブジェクトからもたらされ、表面特性の個々のものが量
子化され、可変長圧縮が表面特性のシーケンシャルなも
のの間の相違に適用されるように構成してもよい。本発
明の方法では、現行ビット位置合わせされたフィールド
がメッシュ・バッファに配置されるべきであるならば、
該現行ビット位置合わせされたフィールドのコピーをメ
ッシュ・バッファに配置し、かつビット位置合わせされ
たフィールドがメッシュ・バッファ基準を含むならば、
ビット位置合わせされたフィールドに対する古い正規化
された値をアクセスする段階を更に含むように構成して
もよい。
・ビット及び/又はタグ・ビットを含み、その表面が表
面特性を画定する三次元オブジェクトを表している圧縮
データを含み、そのフィールドが長さにおいて変化する
ことができる、データ・ストリームを圧縮解除する、中
央処理装置(CPU)及び当該CPUに結合されたメモ
リを含んでいるコンピュータ・システムに使用可能な、
システムであって、データ・ストリームを受け取りかつ
すぐ後に続くフィールドのデータ・ストリーム・フィー
ルド情報における先行しているが、すぐにシーケンシャ
ルに先行していることを必要としない、フィールドから
検出すべくプログラムされた検出器装置と、フィールド
情報は、フィールド型及びフィールド長及び/又はフィ
ールド正規化を含んでおり、検出器装置によって検出さ
れた少なくともあるデータを受け取りかつデータ・スト
リームからビット位置合わせされたフィールドを抽出す
べくプログラムされた抽出器装置とを備えているシステ
ムによって達成される。
ールド開始位置、(ii)実際のタグ・フィールド長、
(iii)フィールドが相対的であるか否かの識別、
(iv)フィールドが絶対的であるか否かの識別、及び
(v)数値シフティング・オフセット情報からなるグル
ープから選択された少なくとも一部分の情報を供給す
る、データ・ストリームの少なくとも一部を検出器装置
から受け取るべく結合された、ルックアップ表を更に含
み、データ・ストリームに含まれたビット・ライン・フ
ィールドは、個々のビットに位置合わせされるように構
成してもよい。本発明のシステムでは、(i)データ・
ストリームに含まれた新しく入力するデータを調整する
第1段階と、新しく入力するデータにデータ・ストリー
ムに含まれる残っている古いデータを調整する第2段階
とを含む多段バレル・シフタ装置、(ii)データ・ス
トリームを受け取るべく結合されたインターフェイス回
路装置、(iii)インターフェイス回路の出力に結合
されかつデータ・ストリームを圧縮解除する三次元グラ
フィックス・デコンプレッサ、(iv)圧縮解除された
データ・ストリームを受け取りかつ出力すべく結合され
た、三次元グラフィックス・レンダリング装置からなる
グループから選択された少なくとも一つの装置を更に含
み、多段バレル・シフタ装置、インターフェイス回路装
置、三次元グラフィックス・デコンプレッサ、及び三次
元グラフィックス・レンダリング装置の少なくとも二つ
は、一つの集積回路に組み込まれるように構成してもよ
い。
後続するフィールドのセットの型に関する情報を表わ
し、該情報は、(i)頂点情報、(ii)位置情報、
(iii)表面ノーマル情報、(iv)カラー、(v)
テキスチャ・マップ座標、(vi)表面材料特性、及び
(vii)手順情報、(viii)頂点情報、ノーマル
指令及びカラー指令以外の指令である手順情報からなる
グループから選択され、及び/又は、タグ・ビットは、
(a)該タグ・ビットが(i)フィールド長、(ii)
正規化、(iii)そのようなフィールドが相対的か否
か、(iv)そのようなフィールドが絶対的か否か、か
らなるグループから選択された少なくとも一つのフィー
ルド特性を暗黙的に記述する、及び(b)該タグ・ビッ
トが可変長を有しかつ当該可変長についての情報並びに
可能フィールド内容情報を含み、該可変長は、該フィー
ルド内容情報から独立である、からなるグループから選
択された少なくとも一つの特性を有し、オプ・コード・
ビット及び/又はタグ・ビットの少なくともあるもの
は、フィールドの圧縮解除を三次元オブジェクトの非圧
縮表面特性の中にガイドするように構成してもよい。本
発明のシステムでは、オブジェクトは、(i)位置、
(ii)ノーマル、(iii)カラー、(iv)テキス
チャ・マップ座標、及び(v)オブジェクトの材料表面
特性からなるグループから選択された少なくとも一つの
特性を含んでいる表面特性を有し、及び/又はオブジェ
クトは、(i)オブジェクトの位置の特性が直線x、
y、z座標として表され、(ii)オブジェクトのカラ
ーの特性が少なくとも赤、緑、青、及びアルファ・コン
ポーネントを有しているように表され、該カラーが
(a)放射カラー、(b)環境カラー、(c)散乱カラ
ー、及び(d)鏡面カラーからなるグループからなる選
択された少なくとも一つのカラーを含み、(iii)オ
ブジェクトのノーマルの特性が直線Nx、Ny、及びN
zベクトル係数によって表され、(iv)オブジェクト
のノーマルの特性は、ノーマルのルックアップ表の中に
インデックスによって表され、(v)位置、(vi)ノ
ーマル、(vii)カラー、(viii)テキスチャ・
マップ座標、及び(ix)材料表面特性からなるグルー
プから選択された少なくとも一つの特性を含むように構
成してもよい。
アップ表は、所定の正規化されたノーマルを含み、かつ
ノーマルのそれぞれは、所定の正規化されたノーマルの
ルックアップ表の中に単一インデックスによって表さ
れ、インデックスは、(i)当該インデックスは、表現
されるべきノーマルの直線表現サイン・ビットを備えて
いるインデックス表現のビットを含み、(ii)インデ
ックスは、フォールドされたノーマルが該フォールディ
ング平面の既知の側面上にあることを確実にするように
少なくとも一つのフォールディング平面x=y、x=
z、y=zによって表されるべきノーマルの直線表現の
絶対量の可能なフォールディングを指定している少なく
とも一つのビットを含み、(iii)インデックスは、
ノーマルの経度情報及び緯度情報を表しているビットを
含み、(iv)インデックスは、オクタント情報のビッ
ト、セクスタント情報のビット、及びフォールドされた
ノーマルの経度及び緯度についての情報の追加フィール
ドを含むべく画定され、(v)インデックスは、ノーマ
ルの経度情報及び緯度情報を表しているビットを含み、
及びオクタント情報のビット、セクスタント情報のビッ
ト、及びフォールドされたノーマルの経度及び緯度につ
いての情報の追加フィールドを更に含み、(vi)イン
デックスは、オクタント情報の3ビット、セクスタント
情報の3ビット、及びフォールドされたノーマルの経度
及び緯度についての情報の2つの追加フィールドを含む
べく画定され、(vii)インデックスは、ノーマルの
経度情報及び緯度情報を表しているビットを含み、及び
オクタント情報の3ビット、セクスタント情報の3ビッ
ト、及びフォールドされたノーマルの経度及び緯度につ
いての情報の2つの追加フィールドを更に含む、ことか
らなるグループから選択された少なくとも一つの特性を
有するように構成してもよい。本発明のシステムでは、
圧縮解除されるべきデータ・ストリームは、データが汎
用三角形メッシュを画定している線形フォーマットに変
換された、頂点を有している複数の三角形を画定してい
る三次元三角形データとして表されたオブジェクトから
もたらされ、表面特性の個々のものが量子化され、可変
長圧縮が表面特性のシーケンシャルなものの間の相違に
適用されるように構成してもよい。
形状は、線形ストリームにおける頂点の各場合に1/3
三角形と2三角形との間の平均を指定させる、汎用の三
角形メッシュとしてまず表される。個々の位置、カラー
及びノーマルズは、個々の位置、カラー、及びノーマル
ズに適用される可変長圧縮で、量子化される。量子化さ
れた値は、頂点トラバーザル順序を供給すべく近隣の間
で符号化されるデルタ(Δ)圧縮であり、かつメッシュ
・バッファ参照が生成される。デルタ−位置、デルタ−
ノーマルズ及びデルタ−カラーのヒストグラムが生成さ
れて、その後に可変長ハフマン・タグ・カラー、並びに
デルタ−位置、デルタ−ノーマルズ及びデルタ−カラー
が生成される。圧縮された出力2値ストリームは、出力
ハフマン表初期化、順序付けされた頂点トラバーザル
ズ、出力タグ、及びデルタ−位置、デルタ−ノーマルズ
及びデルタ−カラーを含む。そのように圧縮された三次
元幾何学形状データの圧縮解除は、ハードウェア、ソフ
トウェア、またはそれぞれの組合せでインプリメントさ
れうる。圧縮解除装置は、圧縮されたデータ・ビット及
び入力データの大きさを表している信号を受け取る入力
FIFOを含む。FIFO出力は、入力ブロック状態マ
シン及び入力ブロックに結合される。入力ブロック及び
入力ブロック状態マシンからの出力は、バレル・シフタ
装置に結合される。また、入力ブロック出力は、状態マ
シンへ出力するハフマン表にも入力される。また、状態
マシン出力は、その出力がタグ・デコーダに結合される
データ経路コントローラ、及びバレル・シフタ装置から
の出力を受け取るノーマル・プロセッサにも結合され
る。また、圧縮解除装置は、バレル・シフタ装置からの
出力を受け取る位置/カラー・プロセッサも含む。ノー
マル・プロセッサ及び位置/カラー・プロセッサからの
出力は、フォーマット・コンバータにマルチプレクスさ
れる。
するデータ・ストリームにおける命令に対して、圧縮解
除装置は、フォーマット・コンバータに送られるノーマ
ルに対するビットと並列にタグ・デコーダへ送られる1
2ビット・タグを生成する。リードバック(read-back)
経路は、圧縮解除装置の内部状態をリードバックするた
めに用いられる。圧縮解除装置は、次の手順を実行す
る: (1)次の命令の残り、及び後続する命令の最初の8ビ
ットをフェッチする; (2)タグ表を用いて、あらゆる圧縮値フィールドを全
精度に拡張する; (3A)値が相対的であれば、現行の値に加える;さも
なければ、置換する; (3B)メッシュ・バッファ参照であれば、古い値をア
クセスする; (3C)他の指令であれば、ハウスキーピングを行う; (4)ノーマルであれば、全値を得るためにROM表を
通してインデックスをわたす; (5)汎用三角形ストリップ形における値を次の段階へ
出力する。 三角形データの圧縮解除されたストリームは、次いで、
従来のレンダリング・パイプラインにパスされうるし、
そこでそれが完全浮動小数点精度で処理することがで
き、その後ディスプレイされるかまたはさもなくば用い
られる。本発明の他の特徴及び利点は、添付した図面に
関連して、好ましい実施例が詳細に示される以下の説明
から明らかであろう。
サは、三次元グラフィックス・オブジェクトを圧縮解除
する。そのような幾何学形状の三次元圧縮は、例えば、
ネットワークにわたる、圧縮された三次元幾何学形状を
送るのに必要な時間における低減、並びに、例えば、C
D−ROM、等の幾何学形状が記憶されうる空間の低減
を許容する。圧縮された三次元グラフィックスの圧縮解
除を説明する前に、本発明が実行されうる環境全体を、
図1を参照して説明する。図1は、三次元圧縮幾何学形
状データがその上で送信され、かつ受信端でソフトウェ
ア、ハードウェア、またはそれぞれの組合せを用いて圧
縮解除されうる汎用のネットワークを示す。勿論、本発
明による三次元グラフィックス圧縮の圧縮解除は、例え
ば、メモリ、CD−ROM、等に記憶される圧縮データ
のような、ネットワークを介さないで与えられる圧縮デ
ータで実行されうる。図1に示すように、三次元グラフ
ィックス・データのソース(発生源)10は、その処理
されかつ圧縮された出力が、一つ以上のターゲット・ク
ライアントまたはデコーダ・システム40に一つ以上の
ネットワーク30にわたり結合されるサーバまたはエン
コーダ・システム20に結合されうる。ネットワーク
は、同種(homogeneous) 、異種(heterogeneous) 、また
は二地点間(point-to-point)でありうる。
央処理装置それ自体(“CPU”)60、メッシュ・バ
ッファ80、圧縮アルゴリズムを含みうるメモリ部分9
0、及びリード・オンリー・メモリ(“ROM”)の領
域100を含む中央処理ユニット50を含む。代替的
に、本発明による圧縮は、ソフトウェアとは反対にハー
ドウェアにおいても実行されうる。アタッチメント1
(添付省略)は、上記参照特許出願に記載されたような
圧縮アルゴリズムを一覧表として示しているコードのコ
ピーである。また、サーバ20は、一つ以上のCD−R
OMsを含みうる、記憶ディスク装置80への記憶のた
めにその圧縮された出力データがディスク・レイアウト
装置70によって構成される、三次元グラフィックス圧
縮装置60も含む。サーバは、ネットワーク・インター
フェイス装置110を介してネットワーク30にわたり
通信する。当業者は、サーバ20が圧縮されたデータに
対する複数のクライアント−デコーダ要求間を仲裁する
(arbitrating) ための機構を含みうるということに注目
するであろう。1995年8月4日に出願した、発明の
名称が「三次元グラフィックス・データの幾何学形状圧
縮のための方法及び装置」である本発明の出願人の特許
出願に記載されたように、三次元幾何学形状データの損
失が大きい圧縮は、ディスプレイされたオブジェクトの
品質における損失がほとんどなく、6:1〜10:1の
比率を生成することができる。
圧縮解除の理解を容易にするために、上記参照特許出願
に示された、圧縮を説明する。ネットワーク環境におい
て、受信端で、デコーダ・システム40は、ネットワー
ク・インターフェイス装置120、三次元グラフィック
ス・データを圧縮解除し、かつその出力が三次元グラフ
ィックス・レンダリング装置140に結合される、本発
明による、装置130を含む。システム40は、デコー
ダ・システム40は、CPU160、メモリ170、1
80が含みうる圧縮解除ソフトウェアの部分、及びRO
M190を含む中央処理システム150を更に含みう
る。圧縮された三次元グラフィックスは、ソフトウェ
ア、ハードウェア、または各組合せを用いて有利に圧縮
解除されうる。デコーダ40からの圧縮解除出力は、視
聴者(viewer)200、または圧縮解除されたグラフィッ
クスを要求している別のシステムに更に結合されうる。
勿論、装置40は、本発明により予め圧縮された、三次
元グラフィックスが圧縮解除のために、記憶装置82、
ディスクまたはCD−ROM84、等、から結合されう
る、スタンドアロン装置でありうる。装置40は、例え
ば、コンピュータまたはワークステーションを含みう
る。ここで、三次元グラフィックス圧縮装置60が本発
明の出願人の上記特許出願に記載されたように機能する
ことを想定すると、三角形データは、汎用三角形メッシ
ュにまず変換される。記憶媒体80の所与の固定された
容量に対して、三角形メッシュ・データ構造は、三角形
データの準最適表現(near-optimal representation) で
ある。好ましい実施例では、三次元グラフィックス・オ
ブジェクトは、変換後のそのフォーマットが各線形スト
リップ頂点を、平均して、約1/3三角形から2三角形
に特定させる、三次元三角形データとして表されうる。
更に、そのような三角形ストリップ構造は、頂点アレー
・データ構造にわたる単一モノトニック走査によって圧
縮された幾何学形状の抽出を許容する。図2は、汎用三
角形メッシュ・データ構造、及び表面幾何学形状の汎用
メッシュ・バッファ表現を示す。そのようなメッシュ・
データ構造は、それ自体を線形ストリップに制限するこ
とにより、汎用三角形ストリップ・フォーマットが空間
において2のポテンシャル・ファクタ(potential facto
r of two) を無駄にするけれども、三次元幾何学形状圧
縮に用いられうる。図2に示した幾何学形状は、例え
ば、一つの三角形ストリップによって表わすることがで
きるが、多くの内部頂点がストリップに二度現れる。
次のように画定されうる。ここで、Rは、再開始を示
し、Oは、最古の置換(replace oldest)を示し、Mは、
中間の置換(replace middle)を示し、トレーリング・レ
ターpは、メッシュ・バッファへのプッシュを示す。大
文字の後に続く数字は、頂点番号であり、負の数字は、
−1が最も新しくプッシュされた頂点を示すような、メ
ッシュ・バッファ・リファレンスである。 R6,O1,O7,O2,O3,M4,M8,O5,O
9,O10,M11 M17,M16,M9,O15,O8,O7,M14,
O13,M6 O12,M18,M19,M20,M14,O21,O
15,O22,O16,O23,O17,O24,M3
0,M29,M28,M22,O21,M20,M2
7,O26,M19,O25,O18 同じ命名法を用いて、汎用三角形メッシュは、次のよう
に画定されうる: R6p,O1,O7p,O2,O3,M4,M8p,O
5,O9p,O10,M11,M17p,M16p,M
−3,O15p,O−5,O6,M14p,O13p,
M9,O12,M18p,M19p,M20p,M−
5,O21p,O−7,O22p,O−9,O23,O
−10,O−7,M30,M29,M28,M−1,O
−2,M−3,M27,O26,M−4,O25,O−
5 頂点リファレンスは、有利に、完全頂点仕様(full vert
ex specification) よりもかなりコンパクト(例えば、
より少ないビットで表される)にすることができるとい
うことに注目すべきである。三次元幾何学形状圧縮は、
古い頂点(例えば、上記トレーリング文字“p”を有す
る頂点)をメッシュ・バッファ・メモリ80に関連付け
られたキューの中に明確にプッシュする(図1参照)。
これらの古い頂点は、古い頂点が再び望ましいときに後
で明確に参照される。このアプローチは、ほぼあらゆる
形状の不規則メッシュを支持する精密制御(fine contro
l)を供給する。バッファ・メモリ80は、有限の長さを
有し、かつ実際には、4−ビット・インデックスを必要
とする、16の最大固定キュー長が好ましい実施例にお
いて用いられる。三次元グラフィックスの圧縮に関し
て、用語“メッシュ・バッファ”は、このキューを参照
し、表現“汎用三角形メッシュ”は、汎用三角形ストリ
ップとメッシュ・バッファ・リファレンスとの組合せを
参照する。
16の独自のリファレンスよりも長いあらゆるラン(走
行)をブレーク・アップ(分割)するために圧縮された
幾何学形状に対して全テッセレータズ/リ・ストリッパ
ーズ(tessellators/re-strippers) を必要とする。しか
しながら、幾何学形状圧縮が一般にユーザ・レベルにお
いて直接的にプログラムされるのではなく複雑なテッセ
レータズ/リフォーマッターズ(reformatters)、非面倒
(non-onerous) な制限による。16の古い頂点は、冗長
幾何学形状の約94%までの再仕様(re-specification)
を回避することを許容することが事実できる。また、図
2は、表面幾何学形状の一般のメッシュ・バッファ表現
の一例でもある。幾何学形状圧縮言語は、汎用三角形ス
トリップの4つの頂点置換符号;具体的には、最古の置
換、中間の置換、時計方向再開始、及び反時計方向再開
始を支持する。更に、言語は、この頂点がメッシュ・バ
ッファの中にプッシュされるべきか否かを示すべく各頂
点ヘッダにおいて追加ビットを加える。一実施例では、
メッシュ・バッファ・リファレンス指令は、どの古い頂
点が 2ビット頂点置換符号と共に、再リファレンスさ
れるべきであるかを示すべく4−ビット・フィールドを
有する。メッシュ・バッファ・リファレンス指令は、メ
ッシュ・バッファ・プッシュ・ビットを含まない;古い
頂点は、一度だけリサイクルすることができる。
タをほとんど含んでいないし、かつ一般に、また、ノー
マル、及び/又はカラー、及び/又はテキスト・マップ
座標は、頂点毎に指定される。従って、メッシュ・バッ
ファ80へのエントリは、ノーマル及びカラー及び/又
はテキスト・マップ座標を特に含んでいる、全ての関連
頂点毎情報(associated per-vertex information) に対
する記憶を含む。最大記憶空間効率に対して、頂点がデ
ータ・ストリームにおいて指定されるときには、頂点毎
ノーマル及び/又はカラー情報は、位置情報で直接束ね
られるのが好ましい。そのような包束(bundling)は、二
つの状態ビットによって制御されるのが好ましい:頂点
を有するバンドル・ノーマルズ(BNV)、及び頂点を
有するバンドル・カラー(BCV)。図8は、他の中に
ビットを含んでいる指令構造を示す。頂点がメッシュ・
バッファの中にプッシュされたときには、その束ねられ
たノーマル及び/又はカラーがプッシュされたならばこ
れらのビットも同様に制御する。上記参照特許出願に記
載された圧縮技術は、三角形に限定されないし、かつベ
クトル及びドットも圧縮されうるということに注目すべ
きである。例えば、線は、置換ビットがMOVE及びD
RAWであるような、三角形のサブセットである。次い
で、出力頂点は、他の頂点が最近、先に省略された頂点
である、線の一つの終点を表わす頂点である。ドットに
対して、置換ビットは、DRAWであり、かつ出力頂点
は、頂点である。CPU52がメッシュ・バッファ・リ
ファレンス指令を実行するときに、この処理は、逆転さ
れる。即ち、2ビットは、ノーマル及び/又はカラーが
受け継がれるか、またはメッシュ・バッファ記憶装置8
0から読み取られるか、または現行ノーマルまたは現行
カラーから取得されるべきかを指定する。ソフトウェア
58は、これら二つの現行値を設定するための明確な指
令を含むのが好ましい。しかしながら、明確な“設定現
行ノーマル”指令が、アクティブなBNV状態ビットを
有する、メッシュ・バッファ・リファレンスを後続する
ときに、この規則に対する例外が存在する。この情況で
は、前者は、表面幾何学形状におけるハード・エッジの
コンパクト表現を許容すべく、メッシュ・バッファ・ノ
ーマルを無効にする。また、類似のセマンティックスも
カラーに対して画定され、表面カラーにおけるハード・
エッジのコンパクト表現を許容する。二つの追加状態ビ
ットは、頂点のストリームが三角形に変換されるときに
ノーマル及びカラーの解釈を制御する。三角形にわたる
複製ノーマル(RNT)ビットは、三角形を完成する最
終頂点のノーマルが三角形全体にわたり複製されるべき
であることを表わす。三角形にわたる複製カラー(RC
T)ビットは、図8の指令構造に示されるように、同様
に画定される。
る。32ビットIEEE浮動小数点数に関連付けられた
8ビット指数の使用は、大きさにおいてサブ・アトミッ
ク粒子から数十億光年までの範囲を位置に許容する。し
かし、所与のモザイク形状オブジェクト(tessellated o
bject)に対して、現行モデリング・マトリックスによっ
てちょうど一度だけ指数が実際に指定され、かつオブジ
ェクト幾何学形状は、24ビット固定点仮数(fixed-poi
nt mantissa)だけを用いて所与のモデリング空間内に効
果的に記載される。多くの場合、視覚的受容のためにか
なり少ない数ビットを必要とすしかつ、幾何学形状圧縮
言語は、1ビットに至るまでの位置データの変数量子化
を支持するのが好ましい。他の極端では、経験的視覚検
査並びに半導体ハードウェア・インプリメンテーション
の考察は、位置のコンポーネント当たり16ビット以下
の精度がほとんど全ての場合に必要であるということを
示す。
カル・モデリング空間の位置及びスケールは、全32ビ
ットまたは64ビット浮動小数点座標によって指定され
るということを想定する。十分な数値ケアを用いて、複
数のそのようなモデリング空間は、16ビット以上の位
置精度を有するシームレス幾何学形状座標システムを形
成すべく一緒に組合せられうる。殆どの幾何学形状は、
ローカルである。それゆえに、各オブジェクトに対する
16ビット(またはそれ以下)モデリング空間内で、汎
用メッシュ・バッファ・ストリームの隣接頂点間の差
(Δ)は、たいてい有効(重要度)において16ビット
以下である。所望ならば、幾何学形状のバッチにおける
近隣位置Δのビット長を表しているヒストグラムを構築
しうるし、かつこのヒストグラムに基づき頂点をコンパ
クトに表わすために可変長コードを割り当てうる。記述
するように、カスタマイズされたハフマン符号化は、幾
何学形状圧縮における位置Δを符号化するために用いる
のが好ましい。ここで、赤−青−緑−アルファ(“RB
GA”)カラーの圧縮を説明する。カラー・データは、
位置と同様に処理されるが、より小さい最大精度で処理
される。それゆえに、RGBαカラー・データは、
(1.0が100%反射率を表わすような)絶対線形反
射率値である12ビットの符号なし小数コンポーネント
にまず量子化される。追加パラメータは、カラー・デー
タを12ビット以下のあらゆる量に効果的(有効)に量
子化させる。例として、図6に示すように、カラーは、
5−5−5RGBカラー空間内に全てありうる。オプシ
ョナル・αフィールドは、図8に示したカラーαプレゼ
ント(“CAP”)状態ビットによって制御される。最
終レンダード画像(final rendered image)上で個別画素
カラーは、量子化された頂点カラー間にまだ挿入され、
また一般にライティング(lighting)の対象でもある。
ンポーネント及び位置に対して用いられうる。カラー・
データ圧縮の領域は、幾何学形状圧縮と従来画像圧縮が
最も類似した問題に直面したところである。しかしなが
ら、フォーカスにおける差の原因で、多くの高度画像圧
縮技術が幾何学形状カラー圧縮に対して回避されうる。
例えば、JPEG画像圧縮標準は、幾何学形状圧縮に対
して行うことができない圧縮解除データのビューイング
に関する仮定(想定)に依存する。例えば、画像圧縮で
は、画素は、完全に直交(矩形)アレイで現われ、かつ
ビューしたときに、各画素が可視角度の狭い範囲の限界
を定めるということが先に知られている。対照的に、幾
何学形状圧縮では、視聴者とラスタ化された幾何学形状
の間の関係は、予想不可能である。画像圧縮では、視聴
者の目の上に表示された画素の空間周波数は、たいてい
人間の視覚システムのカラー鋭敏さよりも高いというこ
とが知られている。この理由で、カラーは、UVカラー
・コンポーネントがY(強度)コンポーネントよりも低
い空間周波数で表現することができるようにYUV空間
に一般に変換される。通常、サブ・サンプルUVコンポ
ーネントを表しているディジタル・ビットは、二つ以上
の画素の間で分配される。しかしながら、視聴者の眼に
対する幾何学形状の固定表示スケールが存在しないの
で、幾何学形状圧縮は、これを利用することができな
い。更に、圧縮三角形頂点が汎用三角形メッシュの4つ
から8つまたはそれ以上の頂点に連結されると仮定する
と、頂点にわたるカラー情報の“half(半分)”を共有
する一定した方法が存在しない。同様な議論は、離散余
弦変換(DCT)のような、従来の画像圧縮に用いられ
る更に複雑な変形に適用される。これらの変換は、画素
値の正則または正規(矩形・直交)サンプリングを想定
し、かつ圧縮解除の間中に多量のランダム・アクセスを
必要とする。
は、この分野で知られているが、そのような表は、固定
最大サイズを要求し、かつ実時間処理に対する相対的に
高価な資源を表しうる。擬似カラー・インデックスがあ
る一定の場面(scenes)に対してわずかに高い圧縮率をも
たらしうると同時に、RGBモデルは、更に一般化され
かつインプリメントするのにかなり安い。RGBモデル
では、RGB値は、線形反射値として表される。理論的
に、照明(lighting)の全効果を予め知ることができるな
らば、RGBコンポーネントが非線形、または知覚的線
形空間(ガンマ補正空間(gamma corrected space) とも
称される)で表現されていたならば、一つ以上の表現ビ
ットを落すことができる。実際には、照明効果は、予測
可能でない傾向があり、かつ非線形光線から線形光線へ
のオン・ザ・フライ変換は、かなりのハードウェア資源
を必要とする。
明する。従来、8ビット・カラー強度を決定するために
計算において96ビット・ノーマル(3つの32ビット
IEEE浮動小数点数)が用いられる。理論的に、96
ビットの情報は、単位球の表面上に均等に拡がる、296
の異なるノーマルを表わすために用いることができる。
結果として得られた非常に高い精度は、2-46 ラジアン
毎にあらゆる方向に突出しているノーマルを表わす。し
かし、IEEE浮動小数点正規化ノーマルに対して、指
数ビットは、有効的に用いられない。拘束NX 2 +Ny
2 +Nz 2 =1を想定すると、NX 、Ny 、またはNz
の少なくとも一つは、0.5から1.0の範囲でなけれ
ばならない。レンダリングの間に、このノーマルは、複
合モデリング・オリエンテーション・マトリックスによ
って変換される:
れるような一般的インプリメンテーションを想定する
と、ビュー変換は、ノーマルの処理に含まれない。ノー
マルが事前正規化されているならば、ノーマルの冗長再
正規化を回避するために、複合モデリング変換マトリッ
クスTは、スケール変更を分配するために一般に事前正
規化される。それゆえに:
ウェアは、最大コンポーネントの精度まで全ての加法ア
ーギュメントを効果的に切り捨てる。結果は、スケール
保存モデリング・オリエンテーション・マトリックスに
よって変換が行われる正規化ノーマルに対して、変換さ
れたノーマル値の数値精度は2〜3の特別な場合を除い
た全てにおいて24ビット固定点精度未満(no more tha
n 24-bit fixed-pointaccuracy)まで低減される。比較
すると、24ビット・ノーマル・コンポーネントでさえ
も、修正されたハブル天体望遠鏡よりも高いアンギュラ
精度を供給しうるし、かつ実際には、あるシステムは、
16ビット・ノーマル・コンポーネントだけを利用す
る。16ビット・ノーマル・コンポーネントによる実験
的テストでは、ノーマル間の0.01ラジアンのアンギ
ュラ密度からの結果(例えば、単位球上に分散された約
100,000のノーマル)は、より高い精度の表現か
ら視覚的に識別可能ではない。直線空間では、これらの
ノーマルは、高い表現精度をまだ要求し、かつ実際に
は、一つのサイン及び一つのガード・ビットを含んでい
る16ビット・コンポーネントは、よい設計選択を表わ
す。これは、ノーマルを表わすために48ビットをまだ
必要とするが、しかし100,000の指定ノーマルだ
けに興味があるので、理論的に単一17ビット・インデ
ックスは、これらのノーマルのどれかを表しうる。
使用、及び供給された合成利点(resultant advantages)
を説明する。単位球上のノーマルのインデックスを
NX 、N y 、Nz 値に戻して変換する一方法は、たぶん
メモリ70に装填されている表の、表ルックアップによ
ってである。表サイズは、可能的に大きいけれども、必
要サイズは、単位球に存在する48通りのシンメトリ
(対称性)を利用することによって実質的に低減するこ
とができる。より特定的には、図3に示すように、単位
球は、サイン・ビットによる8つのクォドラントにおけ
るサイン・ビットによって対称である。ノーマル表現ビ
ットの3つをノーマルのxyzコンポーネントの3つの
サイン・ビットにすることによって、単位球の1/8を
表わすことだけが次いで必要である。単位球の各オクタ
ントは、平面x=y、x=z、及びy=zについて折り
曲げることによって6つの同一コンポーネントに分割す
ることができる。6つの可能なセクスタント(sextants)
は、表現されたままの球の1/48だけを残す、別の3
ビットで符号化される。
48のファクタでルックアップ表サイズを低減する。1
00,000エントリを記憶する代わりに、ルックアッ
プ表は、ROM59(図1参照)内にたぶん記憶され
る、オン・チップROMルックアップ表であるべく十分
に小さいサイズの、約2,000エントリだけを記憶す
る必要がある。ルックアップ表の中にインデックスする
ことは、先に記載された二つの3ビット・フィールドに
加えられたときに全ての3つのノーマル・コンポーネン
トを記載するために17ビット・フィールドを結果とし
て生ずる、11のアドレス・ビットを必要とする有限セ
ットの単位ノーマルを表わすことは、単位球の表面上に
点を位置決めすることに等しい。完全に均等なアンギュ
ラー密度分布が多くの数の点に対して存在しないにもか
かわらず、多くの近最適分布が存在する。理論的に、上
述した型の48通りシンメトリは、三次元幾何学形状圧
縮解除装置130に関連付けられた圧縮解除ルックアッ
プ表に用いることができる(図1参照)。しかしなが
ら、複数の更なる拘束は、符号化の異なる選択を要求す
る。第1に、スケーラブル密度分布が望まれる、例え
ば、“0”までの更に下位のアドレス・ビットをルック
アップ表に設定することは、単位球上にかなり均等なノ
ーマル密度を結果としてまだ生ずるような分布。さもな
ければ、全ての符号化密度に対して異なるルックアップ
表が必要である。第2に、Δ符号化可能分布は、幾何学
形状の隣接頂点が、単位球の表面で隣接するノーマルを
統計的に有することにおいて望ましい。単位球表面の二
次元空間上の隣接位置は、二次元オフセットによって最
も簡潔に符号化される。そのようなメートル(metric)が
存在するような分布を有することが望ましい。そして、
ノーマル符号化処理に関連付けられた計算費用が極めて
重要ではないけれども、より低い符号化費用を有してい
る分布がそれでもなお好ましい。
一つのセクスタント内のアンギュラ空間に正則グリッド
を有している分布を用いる。そのように、モノリシック
な11ビット・インデックスよりも、セクスタント内の
全てのノーマルは、二つの6ビット直交アンギュラ・ア
ドレスで有利に表現される。次いで、この構成は、先の
ビット総数を18ビットに改訂する。位置及びカラーの
場合のように、ノーマルの更なる量子化が受容されたな
らば、これらの6ビット・インデックスは、より少ない
ビットまで低減することができ、それゆえに18から少
なくとも6ビットまでのどれかを用いて絶対ノーマルを
表わすことができる。しかしながら、以下に説明するよ
うに、この空間は、ノーマルの高品質表現に必要なビッ
ト数を更に低減するためにΔ−符号化されるのが好まし
い。ここでノーマル符号化パラメータ化を説明する。単
位半径球上の点は、θがy軸についての角度、φがy=
0平面からの経方向角度であるような、角θ及びφによ
り極座標を用いてパラメータ化される。式(1)は、次
のように直交座標と極座標の間のマッピングを支配す
る:
曲げられ、次いで6つのセクスタントの一つにxyzの
分類順に折り曲げられる。全ての表符号化は、半球によ
って境界をつけられた領域における正のオクタントで行
われる:
ッチは、θでは0からπ/4ラジアンまで、φでは0か
ら最大0.615479709ラジアンまで実行する。
量子化された角度は、nが0から6までの範囲にある、
二つのnビット整数θ n ハット(^)、φn ハット
(^)によって表される。所与のnに対して、インデッ
クスθとφの間の関係は:
(^)、φn ハット(^)の値が、次いで、式(1)を
介して直線ノーマル座標コンポーネントに変換できる、
極座標θ及びφに変換できるかを示す。処理を逆向きに
するために、例えば、所与のノーマルNをθn ハット
(^)、φn ハット(^)に符号化するために、式
(2)を単に反転することはできない。その代わり、N
は、標準オクタント及びセクスタントにまず折り曲げら
れなければならず、N’を結果として生ずる。次いで、
N’は、セクスタントにおける全量子化ノーマルを点在
させなければならない。固定nに対して、最大(最隣接
ユニティ)ドット・プロダクトを結果として生ずるθn
ハット(^)、φn ハット(^)は、Nの適切な符号化
を画定する。例えば、φを設定するために表を通してイ
ンデックスし(索引を付け)、そしてθの中にジャンプ
させるような、θ n ハット(^)、φn ハット(^)の
正しい値を見出す、より有効な方法が存在する。この重
大な局面にあたって、絶対ノーマルの完全ビット・フォ
ーマットを付与することができる。上位3ビットは、オ
クタントを指定し、次の3ビットは、セクスタント、そ
して最後の二つのnビット・フィールドは、θn ハット
(^)、φn ハット(^)を指定する。3ビット・セク
スタント・フィールドは、図3に示される2進(バイナ
リ)コードである、6つの値の一つを取る。更なる詳細
を次に示す。標準パッチの角(コーナー)における3つ
のノーマルは、6、8、及び12倍のように、倍増表現
される。セクスタント・フィールドの二つの未使用値を
採り入れることによって、これらのノーマルは、26の
特別ノーマルとして独自に符号化することができる。ノ
ーマルのこの表現は、少なくともセクスタント内で、Δ
符号化に従い、ある追加ワークを伴うけれども、これ
は、共通エッジを共有するセクスタントに拡張すること
ができる。二つのノーマル間のΔコードは、単にθn ハ
ット(^)、φ n ハット(^)における差、具体的に
は、Δθn ハット(^)、Δφn ハット(^)である。
アルゴリズムの変形を有する、圧縮タグが用いられる。
ハフマン圧縮アルゴリズムは、それらの記号の発生統計
量の頻度(周波数)(例えば、ヒストグラム)と共に、
表されるべき一組の記号を取り入れる。記号が指定した
頻度(周波数)で発生すると想定して、これから、これ
らの記号を近最小合計ビット数で表させる、可変長の、
独自に識別可能なビット・パターンが生成される。JP
EGを含む、多くの圧縮技術は、後続する可変長データ
・フィールドの長さを表わすためのタグとして独自の記
号を生成する。このデータ・フィールドは、一般に指定
長デルタ値である。それゆえに、最後の2進ストリーム
は、それぞれがその長さがその固有タグ記号に関連付け
られるデータ・フィールドによってすぐに後続される、
(自己記述長)可変長タグ記号から構成される。参照特
許出願では、幾何学形状圧縮に対する2進フォーマット
は、位置、ノーマル、及びカラー・データ・フィールド
を表わすためにこの技術を用いる。幾何学形状圧縮に対
して、これらの<tag,data>フィールドは、よ
り一般的なコンピュータ命令セット・オプ−コード(op-
code) フィールドによってすぐに先行される。これらの
フィールドは、可能な追加オペランド・ビットと共に、
幾何学形状命令として参照される(表される)(図4〜
図15参照)。従来、圧縮されるべき各値は、それ自身
の関連ラベルが割り当てられ、例えば、xyzΔ位置
は、3つのタグ値ペアによって表される。しかし、Δx
yz値は、相関関係でないので、より密で、より簡素
な、表現を達成することができる。一般に、xyzΔの
統計的ポイントは、空間の全ての方向を均等にポイント
する。それゆえに、nが最大のΔを表わすために必要な
ビットの数であるならば、統計的に他の二つのΔ値は、
それらの表現に対してn−1.4ビットの平均を必要と
する。従って、実際には、単一フィールド長タグは、Δ
x、Δy、及びΔzのビット長を表わすために用いう
る。残念ならが、このアプローチを用いることは、コン
ピュータ当たり一つのビット以上よりも幾分少なくセー
ブするために別のハフマン技術を利用することを阻止す
る。しかしながら、インプリメントされた実施例は、
(Δy及びΔzに対して)二つの追加タグ・フィールド
を指定しなくてもよいことによってこの欠点を圧迫す
る。更なる利点は、所望ならば、単一タグ・フィールド
を用いることがハードウェア圧縮解除エンジンに並列で
全ての3つのフィールドを圧縮解除させるということで
ある。
sに対して保持され、従って、単一のフィールド長タグ
は、R、G、B及び、もし存在すれば、αフィールドの
ビット長を表わすために用いられる。また、絶対及びΔ
ノーマルは、単一タグによって指定することができる単
一値(n)によってパラメータ化される。高速で、低コ
ストのハードウェア・インプリメンテーションを容易に
するために、ハフマン・タグ・フィールドの長さは、比
較的小さな値である、6ビットに制限されうる。64エ
ントリ・タグ・ルックアップ表は、1クロック・サイク
ルにおけるタグの復号を許容する。一つの表は、位置に
対して存在し、別の表は、ノーマルに対して存在し、更
に別の表は、カラー(及びオプションとして、テクスチ
ャ座標に対しても)存在する。各表は、タグ・フィール
ドの長さ、データ・フィールドの長さ、データ正規化係
数、及び絶対/相対ビットを含む。適正なハードウェア
・インプリメンテーションに対して、さらに別の厄介な
問題に対処しなければならない。以下に説明するよう
に、全ての命令は、8ビット・ヘッダ、及び可変長本体
に分解され、本体長を決定するために十分な情報がヘッ
ダに存在している。しかし、ヘッダ情報を処理すべくハ
ードウェア時間を与えるために先の命令の本体の前に、
一つの命令のヘッダは、データ・ストリームに配置され
なければならない。例えば、シーケンス...B0 H
1B1 H2B2 H3...は、H1 B0 H2
B1 H3 B2...として符号化されなければなら
ない。
特許出願に開示された幾何学形状圧縮命令セットを説明
する。図4は、バンドリング(bundling)・ビット(BN
V及びBCV)によって、ハフマン圧縮Δ符号化位置、
並びに可能なノーマル及び/又はカラーを指定する頂点
指令を示す。二つの更なるビットは、頂点置換コード
(REP)を指定し、かつ別のビットは、この頂点を押
し出しているメッシュ・バッファを制御する(MB
P)。図5に示すように、ノーマル指令は、新たな現行
ノーマルを指定し、かつ図6に示したカラー指令は、新
たな現行カラーを示す。ノーマル指令及びカラー指令
は、それぞれΔ値のハフマン符号化を用いる。メッシュ
・バッファ参照指令構造を図7に示す。メッシュ・バッ
ファ参照指令構造は、16の最近に押し出された頂点
(及び関連ノーマル及び/又はカラー)のいずれかを次
の頂点として参照させる(示させる)。図6に更に示す
ように、A 2ビット頂点置換(“REP”)コードも
また指定される。図8は、5つの状態ビット、RNT,
RCT,BNV,BCV,及びCAPを更新するセット
状態命令を示す。図9は、3つのハフマン復号表(位
置、ノーマル、またはカラー)の一つで指定されるエン
トリ値にエントリをセットするために用いられる、セッ
ト表指令を示す。図10は、幾何学形状圧縮によって直
接的に制御されない更なるグラフィックス情報にイン・
ラインを更新させる、パススルー(通過(passthrough)
)指令を示す。図11は、ビット・ストリーム内のフ
ィールドを32ビット・ワード境界に位置合わせさせる
可変長ノップ(“VNOP”)指令を示す。これは、位
置合わせされたフィールドを一般のCPU52により実
行時間で有効にパッチさせる。図12、13、14、及
び15は、タグ及びΔ位置データ構造、タグ及びΔノー
マル・データ構造、及びタグ及びΔカラー・データ構造
をそれぞれ示す。図12及び図15では、x、y、zの
絶対値が用いられるか、またはx、y、及びzのデルタ
値が用いられる。勿論、他の命令セットは、三次元幾何
学形状を圧縮するために代わりに用いられうる。圧縮解
除に対する圧縮に必要な時間の割合い(比率)は、重要
であることができる。実際に、オフ・ライン・イメージ
圧縮が圧縮解除よりもたぶん60回以上も多くの回数を
費やすことは、受容可能であるが、しかし実時間ビデオ
会議に対しては、割合い(比率)は、1にすべきであ
る。
要求事項を有さない。幾何学形状がオン・ザ・フライで
構築されたとしても、ほとんどの幾何学形状生成技術、
例えば、CSGは、幾何学形状を表示するために必要な
時間よりも多い時間を要求する。また、映画に見られる
ような連続画像とは異なり、幾何学形状圧縮のほとんど
のアプリケーションでは、圧縮三次元オブジェクトが廃
棄される前に多くのシーケンス・フレームに対して表示
される。三次元オブジェクトが動画化を要求するなら
ば、動画は、モデリング・マトリックスで一般に行われ
る。事実CDベース・ゲースに対して、オブジェクト
が、カスタマ−ユーザによって数億回も圧縮解除されう
ることは、もっともらしいが、著作会社(authoring com
pany) によって一度だけ圧縮される。ある他の圧縮シス
テムのように、幾何学形状圧縮アルゴリズムは、圧縮時
間対圧縮率トレード・オフを有することができる。所与
の品質ターゲット・レベルに対して、圧縮に対する許容
時間が増大すると、幾何学形状圧縮システムによって達
成される圧縮率は、増大する。合成圧縮三次元オブジェ
クトの品質に対して対応“ノブ(knob)”が存在し、品質
ノブが低いと、達成される圧縮がよくなる。審美的かつ
主観的判断は、幾何学形状圧縮に適用されうる。ある三
次元オブジェクトは、ノーマル及び/又は位置のターゲ
ット量子化が多少低減されるときに悪く見えはじめ、他
のオブジェクトは、大量の量子化でも視覚的に変わりえ
ない。圧縮は、可視アーティファクト(人工産物)を時
々もたらすことができるが、他の場合には、品質が必ず
しも低下するとは限らないが、オブジェクトを違って見
せるだけでありうる。出願人による一つの実験では、象
のイメージは、イメージ・ノーマルが更に量子化される
と、さらに皺のような皮膚を有して、実際により現実的
に見えはじめる。一度モデルが生成されかつ圧縮される
と、システム・レベルで三次元クリップ−アートとして
用いられるべく、それはライブラリの中に入れることが
できる。
ると同時に、上述した幾何学形状圧縮命令セットは、低
コスト、高速ハードウェア・インプリメンテーションを
許容すべくある程度適合される。(ソフトウェア圧縮解
除のためにだけ設計された幾何学形状圧縮フォーマット
は、幾分異なるということが理解される。)。ワンパス
連続処理、限定ローカル記憶要求、タグ・ルックアップ
(従来のハミング・ビット連続処理とは反対に)、及び
シフト、加算の使用、及びほとんどの演算段階を達成す
るためのルックアップにより、説明した幾何学形状圧縮
命令セットは、ハードウェア・インプリメンテーション
に対して特に修正可能である。図16は、本圧縮解除発
明が用いられうる、上記参照特許出願に記載された、幾
何学形状圧縮アルゴリズム・ルーチンにおける方法段階
を概説しているフローチャートである。そのようなルー
チンは、メモリ80に記憶されかつCPU60の制御下
で実行されうる(図1参照)。段階200では、オブジ
ェクトは、位置、ノーマル、及びカラーに対する量子化
しきい値と共に、圧縮されるべき三角形の明示グループ
によって表される。段階210では、連結性のトポロジ
ー的分析が行われ、かつハード・エッジは、そのような
情報が既に存在していないならば、ノーマル及び/又は
カラーで印を付けられる。段階220では、頂点横断順
序及びメッシュ・バッファ参照が生成され、かつ段階2
30では、Δ位置、Δノーマル、及びΔカラーのヒスト
グラムズが生成される。段階240では、分離可変長ハ
フマン・タグ・コードがヒストグラムズに基づいてΔ位
置、Δノーマル、及びΔカラーに対して割り当てられ
る。段階250では、2進出力ストリームがハフマン表
初期化をまず出力することによって生成され、その後で
頂点が順番に横断される。適当なタグ及びΔ’sが全て
の値に対して出力される。
し、かつ全汎用三角形ストリップを生成するが、しかし
全メッシュファイング(full meshifying) ・アルゴリズ
ムをインプリメントしないウェーブフロントOBJフォ
ーマット・コンプレッサを実現した。更なる実施例は、
圧縮表の微細構造更新を含む、可変精度幾何学形状を探
る。現行コンプレッサは、テッセレータに既に知られた
幾何学形状詳細を計算する時間を拡大し、かつ結果的に
圧縮された幾何学形状を直接生成することが望ましい。
しかしながら、その現在非最適状態であっても、出願人
のソフトウェアは、多くの場合に約3,000三角形/
秒を圧縮することができる。本発明は、図1のユーザ端
末における、三次元圧縮幾何学形状を圧縮解除すること
に指図される。アタッチメント2(添付省略)は、本発
明による、圧縮解除アルゴリズムの一覧表である。簡潔
に、一般に、本発明による適用可能幾何学形状圧縮解除
アルゴリズムは、次のように概略されうる: (1)次の命令の残り、及び以下に続く命令の最初の8
ビットをフェッチする; (2)タグ表を用いて、あらゆる圧縮値フィールドを全
精度まで拡大する; (3A)値が相対的であれば、現行値に加える;さもな
くば、置換する; (3B)メッシュ・バッファ・リファレンスであれば、
古い値をアクセスする; (3C)他の指令であれば、ハウスキーピングを行う。 (4)ノーマルであれば、全値を得るためにインデック
スをROM表を通してパスする。 (5)汎用三角形ストリップ形における値を次の段階へ
出力する。 好ましい実施例では、出願人のデコンプレッサのソフト
ウェア実施例は、約10,000三角形/秒の速度で圧
縮された幾何学形状をうまく圧縮解除する。本発明によ
る圧縮解除の簡略化された全体ブロック図を図17に示
す。本発明によるデコンプレッサのハードウェア・イン
プリメンテーションは、数千万の三角形/秒の範囲にお
いて圧縮解除することができ、その速度は、実質的に拡
張されうる。圧縮解除を説明する前に、図18〜図29
及び以下の表1に示すような、非圧縮及び圧縮イメージ
結果を試験しかつ比較することは、有用である。図18
〜図24は、同じベース・オブジェクト、トリケラトプ
スを示すが、位置及びノーマルで異なる量子化しきい値
を有する。図18は、名称P96/N96で示される、
96ビット位置及び96ビット・ノーマルを用いてい
る、最初の全浮動小数点表現である。図19及び図29
は、それぞれ単に位置的量子化P36/N96及びP2
4/N96の効果を示し、図21及び図22は、ノーマ
ル量子化、P96/N18及びP96/N12だけを示
す。図23及び図24は、結合量子化、P48/N18
及びP30/N36を示す。図25〜図29は、ガリオ
ン(P30/N12)、ダッジ・バイパー(P36/N
14)、’57シェビーの二つのビュー(P33/N1
3)、及び虫(P39/N15)を含む、異なるオブジ
ェクトに対する量子化された結果だけを示す。オブジェ
クトを拡大ズームすることなく、24ビットよりも上の
位置量子化は、実質的に重要な可視効果を有さない。ノ
ーマル量子化が低減されると、表面上の鏡のような強調
(specular highlights) の位置は、多少オフセットされ
る。しかしながら、そのような変化が、少なくとも12
ビット/ノーマル以上の、品質における低減であるとい
うことは、視覚的に自明ではない。量子化パラメータ
は、オブジェクトと共に写真に撮られ、そしてさもなけ
れば、出願人でさえも、オリジナルと同じオブジェクト
の最も圧縮されたバージョンとを識別することができな
い。
縮及び他の統計量を要約する。カラム1は、問題のオブ
ジェクトを示し、カラム2は、Δ’sの数を表し、カラ
ム3は、Δストリップ長を表わす。4番目のカラムは、
頂点当たりのシステム・オーバヘッドを表わす(オーバ
ヘッドは、位置タグ/データ、及びノーマル・タグ/デ
ータを越えた全てのものである)。“xyz quan
t”カラムは、量子化しきい値を示し、そして6番目の
カラムは、ビット数/xyzを示す。“Bits/tr
i”9番目カラムは、三角形当たりのビットを示す。表
1の結果は、括弧で示される、推定メッシュ・バッファ
結果を除き、測定された実圧縮データである。実メッシ
ュ・バッファ結果は、その出願人のプロトタイプ・ソフ
トウェア・コンプレッサが全メッシファイング・アルゴ
リズムをまだインプリメントしていないので、存在しな
い。(括弧で示した)推定は、メッシュ・バッファにお
いて46%ヒット率を想定する。表1では、最右カラム
は、既存の実行可能な幾何学形状フォーマットにわたり
達成された圧縮率性能を示す。圧縮された幾何学形状の
合計バイト計数が明白な数であるけれども、圧縮率を示
すことにおいてある想定がオブジェクトの非圧縮実行可
能表現についてなされなければならない。出願人は、表
1に対して“最初の大きさ”(original size) のデータ
を算出するために浮動小数点値によって表される位置及
びノーマルの両方を有する、最適化された汎用三角形ス
トリップを想定した。単なる16ビット固定点単一スト
リップ表現の効果を示すために、表1は、また、Ope
nGLのモードに対するビット計数も示す。示したよう
に、平均ストリップ長は、2〜3の範囲で減少した。も
しあれば、市販製品は、汎用三角形ストリップをほとん
ど利用せず、それゆえに、表1は、可能なメモリ空間セ
ービングをかなり控えめに表している。
ェクト間に存在すると同時に、一般的な傾向は、それで
もなお示される。量子化ノブ(P48/N18)の最高
品質のセッティングを用いて圧縮するときに、圧縮率
は、一般に約6である。率がそれに近づくと、ほとんど
のオブジェクトは、可視量子化アーティファクト(人工
産物)を表し始める。三次元幾何学形状圧縮アルゴリズ
ムは、実時間ハードウェア、またはソフトウェアで実現
されうるということが上述から理解されるであろう。重
要なのは、三次元レンダリング・ハードウェアが本発明
による幾何学形状圧縮解除装置を含んでいるならば、ア
プリケーション幾何学形状は、圧縮されたフォーマット
でメモリに記憶されうる。更に、データ伝送は、圧縮さ
れたフォーマットを用いうるし、それゆえに、共有仮想
現実表示環境を含む、グラフィックス加速器システムに
対する有効帯域幅を改良する。合成圧縮は、主(1次)
メモリにおける幾何学形状キャッシュ可能性の量を実質
的に増大することができる。図30は、図1に示したデ
ィコンプレッサ装置130の詳細ブロック図である。図
30に示すように、装置130は、その入力が制御信号
及び好ましくは32ビットまたは64ビット・データ・
ストリームを含む圧縮解除入力先入れ先出しレジスタ
(“FIFO”)200を含み、それらの信号及びデー
タ・ストリームは、インターフェイス装置120(図1
参照)の加速器ポート・データFIFO(“APD
F”)からくるのが好ましい。インターフェイス120
のAPDD部分は、装置130に入力データ・ストリー
ムの大きさの信号を送るコントローラを含む。FIFO
200は、入力ブロック状態マシン220及び入力ブロ
ック210に出力を供給し、状態マシン220及び入力
ブロック装置210は、互いに通信している。
フタ装置240及びハフマン表セット230に結合さ
れ、ハフマン・ルックアップからの出力は、状態マシン
220に結合される。状態マシン220内のOpcod
e(オプコード)は、ハフマン表230によって供給さ
れた値を処理しかつバレル・シフタ装置240にデータ
を出力する。また、状態マシン220は、タグ・デコー
ダ装置294に好ましくは12ビット幅信号を出力しか
つバレル・シフタ装置240及びノーマル・プロセッサ
270、及び位置/カラー・プロセッサ280にデータ
を出力する、データ・パス・コントローラ260に出力
を供給する。バレル・シフタ装置240は、ノーマル・
プロセッサ270及び位置/カラー・プロセッサ280
に出力する。プロセッサ270及び280からの出力
は、フォーマット・コンバータ292に供給される好ま
しくは48ビット幅信号に出力マルチプレクサ装置29
0によってマルチプレクスされる。圧縮解除装置130
は、フォーマット・コンバータ292に送られる、(ノ
ーマルに対して)32ビットまたは48ビットのいずれ
かと並列でタグ・デコーダ294に送られる好ましくは
12ビット・タグを生成する。これらのデータ・ストリ
ームは、フォーマット・コンバータ292への出力を生
成する命令を供給する。好ましくは32ビット・リード
バック(read-back) 経路は、装置の状態をリードバック
するために用いられる。下記の表2は、好ましい実施例
における圧縮解除装置130を実現するために用いるイ
ンターフェイス信号を示す:
置130によって供給される出力データ・フォーマット
を示す。ここで説明するように、頂点、メッシュ・バッ
ファ・リファレンス、及びパススルー命令は、圧縮解除
装置130からのトランザクションを生成する。頂点及
びメッシュ・バッファ・リファレンス命令は、フォーマ
ット・コンバータにデータを送り、かつそれぞれは、コ
ンポーネント・データを後続する、現行頂点に対する頂
点置換方針を示しているヘッダを生成する。これらの命
令のそれぞれは、位置データを常に生成し、かつ状態レ
ジスタの値により、カラーまたはノーマル・データを含
みうる。ノーマル・コンポーネントの3つの全ては、並
列に送られ、各位置及びカラー・コンポーネントは、別
々に送られるのが好ましい。パススルー命令は、好まし
くは32ビットのデータを収集(コレクション)バッフ
ァに送る。
10の詳細ブロック図である。好ましくは、64ビット
入力レジスタ300は、レジスタ300に装填されると
きに32ビットまたは64ビットで、インターフェイス
130のAPDF部分からデータを受け取る。レジスタ
300は、その出力がレジスタ330を通ってマージ装
置340にパスする第1のバレル・シフタ320にマル
チプレクサ310を介して一度に好ましくは32ビット
を出力する。マージ装置340からの64ビット出力
は、データ・レジスタ350に入力され、その出力の一
部は、第2のバレル・シフタ360への入力としてリタ
ーンされる。第2のバレル・シフタ360からの出力
は、レジスタ370を通してパスされかつマージ装置3
40へも入力される。第1のバレル・シフタ320は、
第2のバレル・シフタ360を通してデータ・レジスタ
350からリサイクルされるビット位置合わせデータ・
ストリームの末端にデータを位置合わせする。第2のバ
レル・シフタ360は、データ・レジスタ350から使
用済みビットをシフト・オフする。図32は、図30に
示したバレル・シフタ装置240の詳細ブロック図であ
る。概観で、バレル・シフタ装置240は、可変長位
置、カラー、及びノーマル・インデックス・コンポーネ
ントをそれらの固定点精度まで拡張する。装置210及
び/又は220から装置240へのデータは、その出力
が画定オプコードとして示されるレジスタ400及び/
又はデータ装置410、420、430、440、45
0、及び460に入力され、マルチプレクサ装置470
に入力される。
は、頂点命令のXコンポーネントに用いられ、入力B
は、セット・ノーマル命令及びセット・カラー命令の第
1のコンポーネントに用いられ、かつ入力Cは、頂点及
びセット・カラー命令の残っているコンポーネントに用
いられる。装置480は、tag_lenデータを受け
取りかつ、その出力が次いでdata_lenデータを
受け取るべく結合されるバレル・シフタ・ライト・レジ
スタ500に入力される、レジスタ490へ出力すべく
結合されたバレル・シフタ・レフト・レジスタ480を
更に含む。レジスタ500は、シフトdataを受け取
るべく結合されかつその出力が、v_dataを出力す
る、レジスタ520に結合されるマスク装置510に出
力する。データ・ブロック460の出力は、その出力
が、pt_dataを出力する、第2のレジスタ540
に結合されるレジスタ530に結合される。ハフマン表
230(図30参照)内の適切な表は、tag_le
n、data_len、及びシフトを装置480、50
0及び510にそれぞれ供給する。バレル・シフタ・レ
フト装置480は、0から6ビットだけ左に入力データ
をシフトし(tag_len)、それゆえにハフマン・
タグをシフト・オフする。対照的、バレル・シフタ・ラ
イト・レジスタ500は、0から16ビットだけ右にデ
ータをシフトし(16−data_len)、サインが
データを拡張し、それゆえに、データをその全サイズに
させる。マスク装置510は、正しい量子化レベルにデ
ータをクランプするために下位“シフト”ビットをマス
ク・オフする。図33は、図30に示した位置/カラー
・プロセッサ装置280のより詳細なブロック図を示
す。プロセッサ装置280は、最終位置及びカラー・コ
ンポーネント値を生成する。図30及び図32に示した
ように、プロセッサ装置280は、バレル・シフタ装置
240、特にその中のマスク装置510、から好ましく
は16ビット値(v_data)を受け取る。
ットが相対的(relative)にセットされたならば、入力デ
ータは、結合器装置600によってに適切な現行記憶デ
ータに加えられる。新しい値は、マルチプレクサ610
を通過し、かつレジスタ620に戻り記憶され、かつ図
30に示すように、出力マルチプレクサ290に沿って
送られる。しかし、abs_relビットが絶対的(abs
olute)に設定されたならば、入力データは、加算器60
0をバイパスし、レジスタ620にラッチされ、かつま
た出力マルチプレクサ290に送り出される。図33に
示すように、位置/カラー・プロセッサ装置280は、
レジスタ620への入力を受け取るべく結合される位置
/カラー・メッシュ・バッファ630を更に含む。メッ
シュ・バッファ630からの出力は、その出力がx、
y、z、r、g、b及びαの現行値(current values)を
反映する、集合的に640で示された、マルチプレクサ
・ゲートに結合される。集合的に650として示され
た、レジスタ・セットは、その出力が加算器600に結
合されるマルチプレクサ660の入力にこれらの現行値
を供給する。プロセッサ装置280は、バレル・シフタ
装置240からのpt_dataを受取りかつ出力する
レジスタ670を更に含む。
サ装置270は、また、出力マルチプレクサ290にデ
ータを出力する。図34は、ノーマル・プロセッサ装置
270を含んでいるサブユニットを詳細に示す。図30
及び図32に示したように、ノーマル・プロセッサ装置
270は、3つの分離コンポーネント、即ち、セクスタ
ント/オクタント、u及びv、またはバレル・シフタ装
置240のマスク装置510からの符号化されたΔu及
びΔvコンポーネント、として18ビット・ノーマル・
インデックスを受取る。値がΔ値(相対的)であるなら
ば、Δu及びΔvは、対応加算器710によって現行u
及びv値に加えられる。中間値は、記憶されかつまたデ
コーダ−フォールド−ロム(decoder-fold-rom)装置27
2(図35参照)に関連付けられたフォールド(fold)装
置800にパスされる。図34に示すように、ノーマル
・プロセッサ装置270は、対応オクタント、セクスタ
ント、u及びv値、curr_oct、curr_se
xt、curr_u、及びcurr_v値を保持するレ
ジスタ712、714、716、718、720、72
2、724、726を更に含む。また、装置270に存
在するのは、マルチプレクサ740、742、744、
746、748、750、752、754、756、7
58及び760、1の補数装置770、772、対応
v、u及びuv情報を保持するラッチ−フリップフロッ
プ装置780、782、784、更なる加算器790、
792、及びcurr_normal入力コンポーネン
トを受け取るべく結合されたノーマル・メッシュ・バッ
ファ794である。図34及び35に関して、絶対基準
(absolute reference)に対して、u及びv値は、フォー
ルド装置800に直接パスされる。インデックスのオク
タント及びセクスタント部分は、装置272内の、デコ
ーダ810に送られる。デコーダ810は、(定数を選
択する)マルチプレクサ820、並びに、コンポーネン
トを再順序付けし、かつ(2の補数装置850、85
2、854を用いて)サインを逆にするマルチプレクサ
840、842、844、860、862、864を制
御する。
クアップ表ROM830へのアドレスを計算するため
に、装置270からの、ノーマル・インデックスのu及
びvコンポーネントを用いる。装置270からの、オク
タント及びセクスタント・フィールドは、ROMルック
アップ表830から出力されるコンポーネントのサイン
及び順番を決定するデコーダ810を駆動する。また、
デコーダ810は、ノーマルROMルックアップ表83
0に含まれない特別の場合のノーマルを処理する。図3
6は、図33及び/又は図34に示したような、メッシ
ュ・バッファへのインターフェイスを示す。好ましい実
施例では、メッシュ・バッファ794は、レジスタ・フ
ァイル及び現行位置へのポインタとしてインプリメント
される。データは、現行位置ポインタの位置におけるメ
ッシュ・バッファFIFOに入力される。しかしなが
ら、16の位置のいずれかへのランダム・アクセスは、
このポインタをインデックシング・オフ(indexing off)
することによってFIFOからデータを読み出すときに
許容される:アドレス=(curr_loc_ptr−
インデックス)mod16。図37は、ホフマン表、例
えば、図30の表230へのインターフェイスを示す。
ホフマン表は、圧縮データに先行しているホフマン・タ
グを復号するために用いる。3つのホフマン表が用いら
れる:各表が64のエントリを保持しているのが好まし
く、位置に対して一つ、カラーに対して一つ、ノーマル
・データに対して一つ。
ラー・データのエントリに対して好ましいフォーマット
を示し、図39は、ノーマル表エントリに対する好まし
いフォーマットを示す。圧縮データ・ストリームにホフ
マン表を装填するための命令フォーマットは、後で説明
する。複数の命令は、図30に示した、フォーマット変
換器292に対するデータを生成し、かつフォーマット
変換器がデータを正確に処理できるように、適当なタグ
がこのデータに対して生成されなければならない。以下
に示す、表4は、異なるデータ・コンポーネントに対し
て生成されるタグを示す。二つのタグを示すコンポーネ
ントは、ランチ(launch)・ビットを設定しうるし、第2
のタグは、設定されたランチ・ビットを有する値を示
す。
照)は、圧縮解除装置の処理状態に関する情報を保持す
る6ビット状態レジスタを含むのが好ましい。好ましい
実施例では、次の状態ビットが定義される: ビット5: tex−カラーの代わりのテキスチャ値 ビット4: rnt−頂点当たりの複製(再現)ノーマ
ル ビット3: rct−頂点当たりの複製(再現)カラー ビット2: bnv−頂点にバンドルされたノーマル ビット1: bcv−頂点にバンドルされたカラー ビット0: cap−アルファ(α)を含むカラー
30及び図33参照)は、現行位置コンポーネント、
X、Y、及びZを含み、かつ頂点命令によってのみ更新
される、3つの16ビット・レジスタ、curr_x、
curr_y、及びcurr_zを含むのが好ましい。
及び図34)は、現行ノーマルを含む、3つの6ビット
・レジスタ、curr_oct、curr_sext、
curr_u、及びcurr_vを含むのが好ましい。
第1のレジスタは、3ビットセクスタット及びオクタン
ト・フィールドを保持し、かつ残り2つのレジスタは、
ノーマルに対するu及びv座標を含む。これらの値は、
セット・ノーマル命令を用いて書き込まれるか、または
それらは、bnvビットが状態レジスタに設定されるな
らば頂点命令によって更新される。位置/カラー・プロ
セッサ280は、現行カラー・コンポーネント、赤、
緑、青及びアルファ(α)を含む、4つの16ビット・
レジスタ、curr_r、curr_g、curr_
b、curr_aを更に含むのが好ましい。これらのコ
ンポーネントは、se5tカラー命令を用いて設定され
るか、またはそれらは、bcvビットが状態レジスタに
設定されるならば頂点命令によって更新される。好まし
い実施例では、アルファは、キャップ・ビットが状態レ
ジスタに設定されるときにだけ有効である。テスト・ビ
ットは、赤及び緑だけが有効である場合のような、テキ
スチャ・コンポーネントを処理するときに設定される。
メントする命令セットを説明する。図40は、頂点命令
フォーマット、頂点を表わすために可変長ハフマン・符
号化を用いる命令を示す。位置情報は、この命令に常に
存在する。 (REP)頂点置換ポリシーは、次のようである: 00−時計方向に再スタートする 01−反時計方向に再スタートする 10−中間を置換する 11−最古を置換する (M)− メッシュ・バッファをプッシュする: 0−プッシュしない 1−プッシュする
長ハフマン・タグ(0から6ビット)に続いて、Δ値ま
たは絶対値のいずれかである、X、Y、及びZコンポー
ネントについて同じ長さの3つのデータ・フィールドを
含む。位置ハフマン表におけるエントリに対するdat
a_lenフィールドは、X、Y、及びZフィールドの
それぞれの長さを与え、tag_lenエントリは、タ
グの長さを与え、abs_relエントリは、データが
絶対データであるかまたは先の頂点に相関するかを告げ
る。ハフマン表からのシフト・エントリは、データに対
する量子化レベル(後続しているゼロの数)を与える。
bnvビットが状態レジスタに設定されたならば、ノー
マルが含まれる。符号化されたノーマルは、Δu及びΔ
vに対する二つの可変長データ・フィールド、またはu
及びvに対する二つの可変長フィールドを後続するセク
スタント及びオクタント(6ビット)に対する固定長フ
ィールドのいずれかを後続するハフマン・タグを有す
る。前者の符号化は、ノーマルのデルタ符号化に対して
であり、後者の符号化は、絶対符号化に対してである。
ノーマル・ハフマン表からのdata_len、tag
_len、abs_rel、及びシフト・フィールド
は、位置表からのエントリと同様に用いられる。
フォーマットを示す。状態レジスタのbcvビットがセ
ットされたならば、カラーは、頂点を伴って含まれる。
カラーは、3つまたは4つのフィールドを用いて位置に
類似して符号化されるが、しかしどのようにフィールド
が用いられるかは、タグ表によって決定される。絶対的
であるとタグ付けされたならば、x、y、z、r、g、
rデータが用いられる。絶対ノーマルは、セクスタント
及びオクタント・フィールドで用いられる。しかしなが
ら、タグ表が相対的を示すならば、デルタ・ノーマルが
用いられ、かつそれは、緯度及び経度データを送るため
に十分である(例えば、ここでu及びvとしても参照さ
れる、θ及びΦ)。図41を更に参照すると、ハフマン
・タグは、R、G、及びBに対して3つの同長フィール
ドにより後続される。状態レジスタのキャップ・ビット
は、αに対する追加フィールドが含まれるか否かという
ことを示す。カラー・ハフマン表からのdata_le
n、tag_len、abs_rel、及びシフト・フ
ィールドは、位置及びノーマル表からのエントリに対す
るのと同様に用いられる。
ある: 1.次のopcodeをラッチする;Xを出力する;p
tag_len+pdata_len−pquant+
2だけバレル・シフト右装置500(図32参照)をシ
フトする。 2.マージする;ヘッダを出力する。 3.Yを出力する;pdata_len−pquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 4.マージする 5.Zを出力する;pdata_len−pquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 6.マージする a.(bnv)であれば i. (絶対ノーマル)であれば、7へ行く、 ii.さもなければ、9へ行く。/*相対ノーマル*/ b.さもなくば(rnt)ならば、21へ行く、 c.さもなくば(bcv)ならば、13へ行く、 e.さもなくばマージする;次の命令へ分枝する。 7.次のopcodeをラッチする;セクスタント/オ
クタントを出力する;ntag len+6だけバレル
・シフト右装置500(図32参照)をシフトする。 8.マージする。 9.Uを出力する。 a.(絶対ノーマル)であれば、ndata_len−
nquantだけバレル・シフト右装置500(図32
参照)をシフトする。 b.さもなくば/*相対ノーマル*/、次のopcod
eをラッチする;ntag_len+ndata_le
n−nquantだけBs2をシフトする 10.マージする。 11.Vを出力する。 12.マージする。 a.(bcv)であれば、13へ行く、 b.さもなくば(rct)ならば、22へ行く、 c.さもなくばマージする;次の命令へ分枝する。 13.次のopcodeをラッチする;Rを出力する;
ctag_len+cdata_len−cquant
だけバレル・シフト右装置500(図32参照)をシフ
トする。 14.マージする。 15.Gを出力する;cdata_len−cquan
tだけバレル・シフタ右装置500(図32参照)をシ
フトする。 16.マージする;(tex)であれば、次の命令へ分
枝する。 17.Bを出力する;cdata_len−cquan
tだけバレル・シフタ右装置500(図32参照)をシ
フトする。 18.マージする;(- cap)であれば、次の命令へ
分枝する。 19.Aを出力する;cdata_len−cquan
tだけバレル・シフタ右装置500(図32参照)をシ
フトする。 20.マージする;次に命令へ分枝する。 21.curr_normalを出力する。 a.(bcv)であれば、13へ行く、 b.さもなくば(rct)ならば、22へ行く、 c.さもなくばマージする;次の命令へ分枝する。 22.curr_rを出力する。 23.curr_gを出力する。(tex)であれば、
マージする;次の命令に分枝する 24.curr_bを出力する。(- cap)であれ
ば、マージする;次の命令へ分枝する。 25.curr_aを出力する。マージする;次の命令
へ分枝する。
フォーマットを示す。セット・ノーマル命令は、現行ノ
ーマル・レジスタの値を設定する。ノーマル・データ
は、ここの、示された、頂点命令におけるノーマル・デ
ータと同様に符号化される。セット・ノーマル命令の状
態は、次の通りである: (絶対ノーマル)であれば 1.次のopcodeをラッチする;セクスタント/オ
クタントを出力する;ntag_len+8だけバレル
・シフト右装置500(図32参照)をシフトする。 2.マージする。 3.Uを出力する;ndata_len−nquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 4.マージする。 5.Vを出力する;ndata_len+nquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 6.マージする;次の命令へ分枝する。 さもなくば/*相対ノーマル*/ 1.次のopcodeをラッチする;dUを出力する;
n_tag_len+ndata_len−nquan
tだけバレル・シフト右装置500(図32参照)をシ
フトする。 2.マージする。 3.dVを出力する;ndata_len−nquan
tだけバレル・シフタ右装置500(図32参照)をシ
フトする。 4.マージする;次の命令へ分枝する。
定する命令である、セット・カラー命令を示す。頂点命
令におけるカラー・データの符号化は、カラー・データ
の符号化に類似する。セット・カラー命令の状態は、次
のようである: 1.次のopcodeをラッチする;Rを出力する;c
tag_len+cdata_len−cquant+
2だけバレル・シフト右装置500(図32参照)をシ
フトする。 2.マージする。 3.Gを出力する;cdata_len−cquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 4.マージする。(tex)ならば、次の命令へ分枝す
る。 5.Bを出力する;cdata_len−cquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 6.マージする;(- cap)であれば、次の命令へ分
枝する。 7.Aを出力する;cdata_len−cquant
だけバレル・シフタ右装置500(図32参照)をシフ
トする。 8.マージする;次の命令へ分枝する。
対する好ましいフォーマットである。この命令は、メッ
シュ・バッファにおけるエントリからのデータを次の頂
点としてフォーマット変換器へ送り出させる。図44に
関して、インデックスは、送るべきメッシュ・バッファ
からのエントリを示す。メッシュ・バッファにおける最
新のエントリは、インデックス0を有し、かつ最古のも
のは、インデックス15を有する。REP、頂点命令に
対する上述した置換ポリシーは、メッシュ・バッファ基
準命令に対して用いられたものと同じである。メッシュ
・バッファ基準命令に対する状態は、次の通りである: 1.次のopcodeをラッチする;ヘッダ(Header)を
出力する;9だけバレル・シフト右装置500(図32
参照)をシフトする。 2.メッシュ・バッファからXを出力する。 3.メッシュ・バッファからYを出力する。 4.メッシュ・バッファからZを出力する。 a.(bnvまたはrnt)ならば5へ行く、 b.さもなければ(bcvまたはrct)ならば6へ行
く、 c.さもなければマージする;次の命令へ分枝する。 5.(bnv)ならば、メッシュ・バッファからノーマ
ルを出力し、さもなければ(rnt)ならばcurr_
normalを出力する。 a.(bnvまたはrct)ならば6へ行く、 b.さもなければマージする;次の命令へ分枝する。 6.(bcv)ならば、メッシュ・バッファからRを出
力し、さもなければ、(rct)ならばcurr_rを
出力する。 7.(bcv)ならば、メッシュ・バッファからGを出
力し、さもなければ、(rct)ならばcurr_gを
出力する。(tex)ならば、マージする;次の命令へ
分枝する。 8.(bcv)ならば、メッシュ・バッファからBを出
力し、さもなければ、(rct)ならばcurr_bを
出力する。(- cap)ならば、マージする;次の命令
へ分枝する。 9.(bcv)ならば、メッシュ・バッファからAを出
力し、さもなければ、(rct)ならばcurr_aを
出力する。マージする;次の命令へ分枝する。
スタに設定するセット状態命令を示す。セット状態命令
に対する状態は、次の通りである: 1.次のopcodeをラッチする;11ビットだけバ
レル・シフタ2をシフトする。 2.マージする;命令を分枝する
セット表命令を示す。表選択は、次の通り: 00−位置表 01−カラー表 10−ノーマル表 11−未画定
トリ・フィールドの9ビットは、ハフマン表エントリの
絶対/相対ビット、データ長、及びシフト量フィールド
に対応する。(ハフマン表エントリの好ましいフォーマ
ットは、前述した。)セット表命令の状態は、次の通り
である: 1.次のopcodeをラッチする;アドレス及びエン
トリをハフマン表へ送る;23ビットだけバレル・シフ
ト右装置をシフトする。 2.マージする;次の命令へ分枝する 表5は、好ましいハフマン表充填コードを示す。
タ・ストリームにおいて符号化させるパススルー命令を
示す。命令の長さは、64ビットであるのが好ましい。
64ビット・バウンダリーに後続パススルー命令を位置
合わせすることは、符号化されたストリームにおけるパ
ススルー・データのパッチングを許容する。パススルー
命令に対する状態は、次の通りである: 1.次のopcodeをラッチする;アドレスを読取
り、32だけバレル・シフト右装置500(図32参
照)をシフトする。 2.マージする。 3.データを出力し、32だけバレル・シフト右装置5
00(図32参照)をシフトする。 4.マージする;次の命令へ分枝する。
ビットの変数を符号化する、可変長NOP(“VNO
P”)命令を示す。図47に示した5ビット・カウント
は、その後に続く0ビットの数を指定する。この命令
は、データ・ストリームの開始に暗黙的に用いられる。
この命令は、また、データ・ストリームを32ビットま
たは64ビット・バウンダリー、または後のパッチング
のために、符号化領域にパッドする(埋め込む)ために
も用いられうる。この命令の状態は、次の通り: 1.次のopcodeをラッチする;13だけバレル・
シフト右装置500(図32参照)をシフトする。 2.マージする。 3.バレル・シフト右装置が“カウント”位置を読取
る; 4.マージする;次の命令へ分枝する。
キップ8命令を示す: 1.次のopcodeをラッチする;16だけバレル・
シフト右装置500(図32参照)をシフトする。 2.マージする;次の命令へ分枝する。
・ストリームを圧縮解除しないで装置間の帯域幅要求を
低減することが有利でありうるということが理解され
る。本発明は、並列に処理されうる所与の数のデータ・
ワードの到着を助言する追加指令を供給することによっ
てインプリメントを供給することによってデータ・スト
リームの並列圧縮解除を供給することができる。本発明
は、マーク・ビットの存在によってそのような並列の機
会の存在を認識することができ、かつ並列圧縮解除に対
して、そこでの状態数(stated number)のデータ・ワー
ドの発生がシステム内の他のプロセッサにシャトルされ
る。更に、並列処理に対して権利が無い次のデータに到
着すべくデータ・ストリームにおける所与の数のワード
を先にジャンプさせることを許容できる。また、本発明
は、圧縮解除された三次元オブジェクトを見ることにお
いてあらゆる突然の知覚空隙を取り除くためにモーフィ
ング・ケイパビリティを供給することもできる。圧縮解
除されたデータ・ストリーム内では、実際に存在するか
または先に圧縮解除された頂点の線形または他の補間
(内挿)として頂点を指定することが可能である。例え
ば、三次元オブジェクトが虎であると想定する。遠距離
では、虎の口には歯が存在しないが、近距離では、歯が
存在する。本発明は、虎との距離が短くなると、歯が成
長し、歯無し虎と歯有り虎との間の突然の変化のシーン
がないようなシームレス・トランザクションを提供する
ことができる。変更及び変形は、特許請求の範囲によっ
て画定されるような本発明の対象及び精神から逸脱する
ことなく開示された実施例に対してなされうる。
ータ・ストリームを圧縮解除する方法であり、該データ
・ストリームが該フィールドの圧縮解除を三次元オブジ
ェクトの非圧縮表面特性にガイドする、オプ・コード・
ビット及び/又はタグ・ビットを含んでいる、方法であ
って、(a)フィールド型をデータ・ストリームから検
出し、そのような検出をイネーブルするデータは、先行
するが該データ・ストリーム内でシーケンシャルにすぐ
に先行する必要はない、(b)フィールド長及び/又は
フィールド正規化をデータ・ストリームから検出し、そ
のような検出をイネーブルするデータは、先行するが該
データ・ストリーム内でシーケンシャルにすぐに先行す
る必要はない、(c)段階(a)及び段階(b)の少な
くとも一つから得られた情報を用いて、データ・ストリ
ームからビット位置合わせされたフィールドを抽出し、
(d)最初の数値スケールに抽出したビット位置合わせ
されたフィールドを必要に応じて再正規化し、(e)圧
縮解除された表面記述データを出力する段階を具備し、
データは、オプションで汎用三角形ストリップ・フォー
マットであるので、出力データが描画命令として直接レ
ンダリング・ハードウェアにわたされるように圧縮され
た三次元幾何学形状を圧縮解除することができる。ま
た、本発明のシステムは、オプ・コード・ビット及び/
又はタグ・ビットを含み、その表面が表面特性を画定す
る三次元オブジェクトを表している圧縮データを含み、
そのフィールドが長さにおいて変化することができる、
データ・ストリームを圧縮解除する、中央処理装置(C
PU)及び当該CPUに結合されたメモリを含んでいる
コンピュータ・システムに使用可能な、システムであっ
て、データ・ストリームを受け取りかつすぐ後に続くフ
ィールドのデータ・ストリーム・フィールド情報におけ
る先行しているが、すぐにシーケンシャルに先行してい
ることを必要としない、フィールドから検出すべくプロ
グラムされた検出器装置と、フィールド情報は、フィー
ルド型及びフィールド長及び/又はフィールド正規化を
含んでおり、検出器装置によって検出された少なくとも
あるデータを受け取りかつデータ・ストリームからビッ
ト位置合わせされたフィールドを抽出すべくプログラム
された抽出器装置とを備えているので、出力データが描
画命令として直接レンダリング・ハードウェアにわたさ
れるように圧縮された三次元幾何学形状を圧縮解除する
ことができる。
何学形状がその上で圧縮解除のために送信されうる、一
般化されたネットワーク・システムを示す図である。
及び表面幾何学形状の一般化されたメッシュ・バッファ
表現を示す図である。
ける48の低減方法を供給すべく用いられる、単位球に
おける6方向単一ビット及び8方向オクタント(八分
儀)対称を示す図である。
ける頂点指令を示す図である。
けるノーマル指令を示す図である。
けるカラー指令を示す図である。
けるメッシュ・バッファ参照指令を示す図である。
けるセット状態指令を示す図である。
けるセットテーブル指令命令を示す図である。
おけるパス・スルー指令命令を示す図である。
おける可変長ノー・オペレーション(no-op) 指令命令を
示す図である。
を示す図である。
・データ構造を示す図である。
マル・データ構造を示す図である。
構造を示す図である。
における方法ステップスのフローチャートである。
アの簡略ブロック図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
す図である。
体ブロック図である。
ロック図である。
ロック図である。
置の詳細ブロック図である。
詳細ブロック図である。
けられたデコーダ、フォールド、及びROMルック−ア
ップ・コンポーネントを示している詳細ブロック図であ
る。
ッシュ・バッファへのインターフェイスを示しているブ
ロック図である。
イスを示す図である。
に対する好ましいフォーマットを示す図である。
に対する好ましいフォーマットを示す図である。
・フォーマットを示す図である。
るフォーマットを示す図である。
である。
を示す図である。
る。
図である。
る。
ある。
る。
ラフィックス・データの圧縮解除のための方法及び装置 ─────────────────────────────────────────────────────
何学形状がその上で圧縮解除のために送信されうる、一
般化されたネットワーク・システムを示す図である。
及び表面幾何学形状の一般化されたメッシュ・バッファ
表現を示す図である。
ける48の低減方法を供給すべく用いられる、単位球に
おける6方向単一ビット及び8方向オクタント(八分
儀)対称を示す図である。
ける頂点指令を示す図である。
けるノーマル指令を示す図である。
けるカラー指令を示す図である。
けるメッシュ・バッファ参照指令を示す図である。
けるセット状態指令を示す図である。
けるセットテーブル指令命令を示す図である。
おけるパス・スルー指令命令を示す図である。
おける可変長ノー・オペレーション(no−op)指令
命令を示す図である。
を示す図である。
・データ構造を示す図である。
マル・データ構造を示す図である。
構造を示す図である。
における方法ステップスのフローチャートである。
アの簡略ブロック図である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
ィスプレー上に表示した中間調画像を示す写真である。
体ブロック図である。
ロック図である。
ロック図である。
置の詳細ブロック図である。
詳細ブロック図である。
けられたデコーダ、フォールド、及びROMルック−ア
ップ・コンポーネントを示している詳細ブロック図であ
る。
ッシュ・バッファへのインターフェイスを示しているブ
ロック図である。
イスを示す図である。
に対する好ましいフォーマットを示す図である。
に対する好ましいフォーマットを示す図である。
・フォーマットを示す図である。
るフォーマットを示す図である。
である。
を示す図である。
る。
図である。
る。
ある。
る。
Claims (17)
- 【請求項1】 可変長フィールドのデータ・ストリーム
を圧縮解除する方法であり、該データ・ストリームが該
フィールドの圧縮解除を三次元オブジェクトの非圧縮表
面特性にガイドする、オプ・コード・ビット及び/又は
タグ・ビットを含んでいる、方法であって、(a)フィ
ールド型を前記データ・ストリームから検出し、そのよ
うな検出をイネーブルするデータは、先行するが該デー
タ・ストリーム内でシーケンシャルにすぐに先行する必
要はない、(b)フィールド長及び/又はフィールド正
規化を前記データ・ストリームから検出し、そのような
検出をイネーブルするデータは、先行するが該データ・
ストリーム内でシーケンシャルにすぐに先行する必要は
ない、(c)段階(a)及び段階(b)の少なくとも一
つから得られた情報を用いて、前記データ・ストリーム
からビット位置合わせされたフィールドを抽出し、
(d)最初の数値スケールに抽出した前記ビット位置合
わせされたフィールドを必要に応じて再正規化し、
(e)圧縮解除された表面記述データを出力する段階を
具備し、前記データは、オプションで汎用三角形ストリ
ップ・フォーマットであることを特徴とする方法。 - 【請求項2】 前記オプ・コードは、後続するフィール
ドのセットの型に関する情報を表わし、該情報は、
(i)頂点情報、(ii)位置情報、(iii)表面ノ
ーマル情報、(iv)カラー、(v)テキスチャ・マッ
プ座標、(vi)表面材料特性、及び(vii)手順情
報、(viii)頂点情報、ノーマル指令及びカラー指
令以外の指令である手順情報からなるグループから選択
され、及び/又は、 前記タグ・ビットは、(a)該タグ・ビットが(i)フ
ィールド長、(ii)正規化、(iii)そのようなフ
ィールドが相対的か否か、(iv)そのようなフィール
ドが絶対的か否か、からなるグループから選択された少
なくとも一つのフィールド特性を暗黙的に記述する、及
び(b)該タグ・ビットが可変長を有しかつ当該可変長
についての情報並びに可能フィールド内容情報を含み、
該可変長は、該フィールド内容情報から独立である、か
らなるグループから選択された少なくとも一つの特性を
有することを特徴とする請求項1に記載の方法。 - 【請求項3】 段階(b)でイネーブリング・データが
すぐにシーケンシャルに始めないならば、前記方法は、
(b−1)現行命令及び後続命令を前記データ・ストリ
ームからフェッチし、(b−2)前記後続命令の固定数
の最初のビットをフェッチし、かつ(b−3)次いで、
前記現行命令に対して残りのビットをフェッチすること
を更に含むことを特徴とする請求項1または2に記載の
方法。 - 【請求項4】 (f−1)その出力が(i)後続データ
・フィールドの開始、(ii)該データ・フィールドの
長さ、(iii)実際のタグ・フィールド長、(iv)
該フィールドが相対的であるか否かの識別、(v)該フ
ィールドが絶対的であるか否かの識別、及び(vi)再
正規化を容易にするための数値シフティング・オフセッ
ト情報を含んでいる該データ・フィールドに対する再正
規化パラメータ、の少なくとも一つを識別するタグ・ル
ックアップ表に前記タグ・ビットを供給し、 (f−2)前記タグ・ルックアップ表出力がそのような
ビット位置合わせされたフィールドが相対的であること
を示すならば、前記フィールドの正規化された値を前記
フィールドの現行値に加え、 (f−3)前記タグ・ルックアップ表出力がそのような
ビット位置合わせされたフィールドが絶対的であること
を示すならば、該フィールドの該正規化された値で該フ
ィールドの現行値を置換する段階を更に具備することを
特徴とする請求項1〜3のいずれか一項に記載の方法。 - 【請求項5】 次の後続命令が前記ビット位置合わせさ
れたフィールドが解釈されるべき方法を変更することか
または前記タグ表の内容を変更することまたは該ビット
位置合わせされたフィールドの非変更データを通過する
ことであるならば、そのようにし、かつ、 そのような正規化ビット位置合わせされたフィールドが
ノーマル情報を含むならば、タグ・フィールド・インデ
ックスは、該ノーマルの直線表現を得るために前記ルッ
クアップ表を通過することを特徴とする請求項3または
4に記載の方法。 - 【請求項6】 前記ビット位置合わせされたフィールド
は、(i)前記オブジェクトの前記表面上のx、y、z
座標位置、(ii)前記オブジェクトに対する赤、緑、
青のカラー情報、(iii)前記オブジェクトに対する
赤、緑、青及びアルファのカラー情報、(iv)前記オ
ブジェクトに対するシーケンシャル赤、緑、青のカラー
情報間の相違、及び(v)前記オブジェクトに対するシ
ーケンシャル赤、緑、青及びアルファのカラー情報間の
相違からなるグループから選択された少なくとも一つの
特性に関する情報を含むことを特徴とする請求項1〜5
のいずれか一項に記載の方法。 - 【請求項7】 前記オブジェクトは、 (i)前記オブジェクトの位置の特性が直線x、y、z
座標として表され、 (ii)前記オブジェクトのカラーの特性が少なくとも
赤、緑、青、及びアルファ・コンポーネントを有してい
るように表され、該カラーが(a)放射カラー、(b)
環境カラー、(c)散乱カラー、及び(d)鏡面カラー
からなるグループからなる選択された少なくとも一つの
カラーを含み、 (iii)前記オブジェクトのノーマルの特性が直線N
x、Ny、及びNzベクトル係数によって表され、(i
v)前記オブジェクトのノーマルの特性は、ノーマル表
インデックスによって表されることからなるグループか
ら選択された少なくとも一つの特性を有し、前記オブジ
ェクトの前記表面特性は、(a)位置、(b)ノーマ
ル、(c)カラー、(d)テキスチャ・マップ座標、及
び(e)前記オブジェクトの材料表面特性からなるグル
ープから選択された少なくとも一つの特性を含むことを
特徴とする請求項1〜6のいずれか一項に記載の方法。 - 【請求項8】 前記ノーマルのそれぞれは、単一インデ
ックスによって所定の正規化されたノーマルの表の中に
表され、かつ前記インデックスは、(i)前記インデッ
クスは、表されるべきノーマルの直線表現サイン・ビッ
トを備えているインデックス表現のビットを含み、(i
i)前記インデックスは、フォールドされたノーマルが
該フォールディング平面の既知の側面にあることを確実
にするように少なくとも一つのフォールディング平面x
=y、x=z、y=zによって表されるべきノーマルの
直線表現の絶対量の可能なフォールディングを指定して
いる少なくとも一つのビットを含み、(iii)前記イ
ンデックスは、前記ノーマルの経度情報及び緯度情報を
表しているビットを含み、(iv)前記インデックス
は、オクタント情報のビット、セクスタント情報のビッ
ト、及びフォールドされたノーマルの経度及び緯度につ
いての情報の追加フィールドを含むべく画定され、
(v)前記インデックスは、前記ノーマルの経度情報及
び緯度情報を表しているビットを含み、及びオクタント
情報のビット、セクスタント情報のビット、及びフォー
ルドされたノーマルの経度及び緯度についての情報の追
加フィールドを更に含み、(vi)前記インデックス
は、オクタント情報の3ビット、セクスタント情報の3
ビット、及びフォールドされたノーマルの経度及び緯度
についての情報の2つの追加フィールドを含むべく画定
され、(vii)前記インデックスは、前記ノーマルの
経度情報及び緯度情報を表しているビットを含み、及び
オクタント情報の3ビット、セクスタント情報の3ビッ
ト、及びフォールドされたノーマルの経度及び緯度につ
いての情報の2つの追加フィールドを更に含む、ことか
らなるグループから選択された少なくとも一つの特性を
有することを特徴とする請求項7に記載の方法。 - 【請求項9】 圧縮解除されるべき前記データ・ストリ
ームは、データが汎用三角形メッシュを画定している線
形フォーマットに変換された、頂点を有している複数の
三角形を画定している三次元三角形データとして表され
た前記オブジェクトからもたらされ、前記表面特性の個
々のものが量子化され、可変長圧縮が前記表面特性のシ
ーケンシャルなものの間の相違に適用されることを特徴
とする請求項1〜8のいずれか一項に記載の方法。 - 【請求項10】 現行ビット位置合わせされたフィール
ドがメッシュ・バッファに配置されるべきであるなら
ば、該現行ビット位置合わせされたフィールドのコピー
を前記メッシュ・バッファに配置し、かつ前記ビット位
置合わせされたフィールドがメッシュ・バッファ基準を
含むならば、前記ビット位置合わせされたフィールドに
対する古い正規化された値をアクセスする段階を更に含
むことを特徴とする請求項1〜9のいずれか一項に記載
の方法。 - 【請求項11】 オプ・コード・ビット及び/又はタグ
・ビットを含み、その表面が表面特性を画定する三次元
オブジェクトを表している圧縮データを含み、そのフィ
ールドが長さにおいて変化することができる、データ・
ストリームを圧縮解除する、中央処理装置(CPU)及
び当該CPUに結合されたメモリを含んでいるコンピュ
ータ・システムに使用可能な、システムであって、 前記データ・ストリームを受け取りかつすぐ後に続くフ
ィールドの前記データ・ストリーム・フィールド情報に
おける先行しているが、すぐにシーケンシャルに先行し
ていることを必要としない、フィールドから検出すべく
プログラムされた検出器装置と、前記フィールド情報
は、フィールド型及びフィールド長及び/又はフィール
ド正規化を含んでおり、 前記検出器装置によって検出された少なくともあるデー
タを受け取りかつ前記データ・ストリームからビット位
置合わせされたフィールドを抽出すべくプログラムされ
た抽出器装置とを備えていることを特徴とするシステ
ム。 - 【請求項12】 (i)タグ・フィールド開始位置、
(ii)実際のタグ・フィールド長、(iii)前記フ
ィールドが相対的であるか否かの識別、(iv)前記フ
ィールドが絶対的であるか否かの識別、及び(v)数値
シフティング・オフセット情報からなるグループから選
択された少なくとも一部分の情報を供給する、前記デー
タ・ストリームの少なくとも一部を前記検出器装置から
受け取るべく結合された、ルックアップ表を更に含み、 前記データ・ストリームに含まれたビット・ライン・フ
ィールドは、個々のビットに位置合わせされることを特
徴と請求項11に記載のシステム。 - 【請求項13】 (i)前記データ・ストリームに含ま
れた新しく入力するデータを調整する第1段階と、前記
新しく入力するデータに前記データ・ストリームに含ま
れる残っている古いデータを調整する第2段階とを含む
多段バレル・シフタ装置、(ii)前記データ・ストリ
ームを受け取るべく結合されたインターフェイス回路装
置、(iii)前記インターフェイス回路の出力に結合
されかつ前記データ・ストリームを圧縮解除する三次元
グラフィックス・デコンプレッサ、(iv)圧縮解除さ
れたデータ・ストリームを受け取りかつ出力すべく結合
された、三次元グラフィックス・レンダリング装置から
なるグループから選択された少なくとも一つの装置を更
に含み、前記多段バレル・シフタ装置、前記インターフ
ェイス回路装置、前記三次元グラフィックス・デコンプ
レッサ、及び前記三次元グラフィックス・レンダリング
装置の少なくとも二つは、一つの集積回路に組み込まれ
ることを特徴とする請求項11または12に記載のシス
テム。 - 【請求項14】 前記オプ・コードは、後続するフィー
ルドのセットの型に関する情報を表わし、該情報は、
(i)頂点情報、(ii)位置情報、(iii)表面ノ
ーマル情報、(iv)カラー、(v)テキスチャ・マッ
プ座標、(vi)表面材料特性、及び(vii)手順情
報、(viii)頂点情報、ノーマル指令及びカラー指
令以外の指令である手順情報からなるグループから選択
され、及び/又は、 前記タグ・ビットは、(a)該タグ・ビットが(i)フ
ィールド長、(ii)正規化、(iii)そのようなフ
ィールドが相対的か否か、(iv)そのようなフィール
ドが絶対的か否か、からなるグループから選択された少
なくとも一つのフィールド特性を暗黙的に記述する、及
び(b)該タグ・ビットが可変長を有しかつ当該可変長
についての情報並びに可能フィールド内容情報を含み、
該可変長は、該フィールド内容情報から独立である、か
らなるグループから選択された少なくとも一つの特性を
有し、前記オプ・コード・ビット及び/又は前記タグ・
ビットの少なくともあるものは、前記フィールドの圧縮
解除を三次元オブジェクトの非圧縮表面特性の中にガイ
ドすることを特徴とする請求項11〜13のいずれか一
項に記載のシステム。 - 【請求項15】 前記オブジェクトは、(i)位置、
(ii)ノーマル、(iii)カラー、(iv)テキス
チャ・マップ座標、及び(v)前記オブジェクトの材料
表面特性からなるグループから選択された少なくとも一
つの特性を含んでいる前記表面特性を有し、及び/又は
前記オブジェクトは、(i)前記オブジェクトの位置の
特性が直線x、y、z座標として表され、(ii)前記
オブジェクトのカラーの特性が少なくとも赤、緑、青、
及びアルファ・コンポーネントを有しているように表さ
れ、該カラーが(a)放射カラー、(b)環境カラー、
(c)散乱カラー、及び(d)鏡面カラーからなるグル
ープからなる選択された少なくとも一つのカラーを含
み、(iii)前記オブジェクトのノーマルの特性が直
線Nx、Ny、及びNzベクトル係数によって表され、
(iv)前記オブジェクトのノーマルの特性は、前記ノ
ーマルのルックアップ表の中にインデックスによって表
され、(v)位置、(vi)ノーマル、(vii)カラ
ー、(viii)テキスチャ・マップ座標、及び(i
x)材料表面特性からなるグループから選択された少な
くとも一つの特性を含むことを特徴とする請求項11〜
14のいずれか一項に記載のシステム。 - 【請求項16】 ノーマルの前記ルックアップ表は、所
定の正規化されたノーマルを含み、かつ前記ノーマルの
それぞれは、所定の正規化されたノーマルの前記ルック
アップ表の中に単一インデックスによって表され、前記
インデックスは、(i)当該インデックスは、表現され
るべきノーマルの直線表現サイン・ビットを備えている
インデックス表現のビットを含み、(ii)前記インデ
ックスは、フォールドされたノーマルが該フォールディ
ング平面の既知の側面上にあることを確実にするように
少なくとも一つのフォールディング平面x=y、x=
z、y=zによって表されるべきノーマルの直線表現の
絶対量の可能なフォールディングを指定している少なく
とも一つのビットを含み、(iii)前記インデックス
は、前記ノーマルの経度情報及び緯度情報を表している
ビットを含み、(iv)前記インデックスは、オクタン
ト情報のビット、セクスタント情報のビット、及びフォ
ールドされたノーマルの経度及び緯度についての情報の
追加フィールドを含むべく画定され、(v)前記インデ
ックスは、前記ノーマルの経度情報及び緯度情報を表し
ているビットを含み、及びオクタント情報のビット、セ
クスタント情報のビット、及びフォールドされたノーマ
ルの経度及び緯度についての情報の追加フィールドを更
に含み、(vi)前記インデックスは、オクタント情報
の3ビット、セクスタント情報の3ビット、及びフォー
ルドされたノーマルの経度及び緯度についての情報の2
つの追加フィールドを含むべく画定され、(vii)前
記インデックスは、前記ノーマルの経度情報及び緯度情
報を表しているビットを含み、及びオクタント情報の3
ビット、セクスタント情報の3ビット、及びフォールド
されたノーマルの経度及び緯度についての情報の2つの
追加フィールドを更に含む、ことからなるグループから
選択された少なくとも一つの特性を有することを特徴と
する請求項15に記載のシステム。 - 【請求項17】 圧縮解除されるべき前記データ・スト
リームは、データが汎用三角形メッシュを画定している
線形フォーマットに変換された、頂点を有している複数
の三角形を画定している三次元三角形データとして表さ
れた前記オブジェクトからもたらされ、前記表面特性の
個々のものが量子化され、可変長圧縮が前記表面特性の
シーケンシャルなものの間の相違に適用されることを特
徴とする請求項11〜16のいずれか一項に記載のシス
テム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/511326 | 1995-08-04 | ||
| US08/511,326 US5842004A (en) | 1995-08-04 | 1995-08-04 | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09326041A true JPH09326041A (ja) | 1997-12-16 |
| JP3884509B2 JP3884509B2 (ja) | 2007-02-21 |
Family
ID=24034414
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23711696A Expired - Lifetime JP3884509B2 (ja) | 1995-08-04 | 1996-08-05 | 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (7) | US5842004A (ja) |
| EP (3) | EP0964364B1 (ja) |
| JP (1) | JP3884509B2 (ja) |
| DE (3) | DE69624637T2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008513910A (ja) * | 2004-09-22 | 2008-05-01 | クゥアルコム・インコーポレイテッド | グラフィックプロセッサのための効率的なインタフェース及びアセンブラ |
| JP2012014744A (ja) * | 2006-11-01 | 2012-01-19 | Digital Media Professional:Kk | 拡張されたプリミティブの頂点キャッシュの処理を加速する装置 |
Families Citing this family (177)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7859551B2 (en) | 1993-10-15 | 2010-12-28 | Bulman Richard L | Object customization and presentation system |
| US5793371A (en) | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
| US5842004A (en) | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
| US6018353A (en) * | 1995-08-04 | 2000-01-25 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with an improved vertex buffer for more efficient vertex processing |
| US6525722B1 (en) | 1995-08-04 | 2003-02-25 | Sun Microsystems, Inc. | Geometry compression for regular and irregular mesh structures |
| US6747644B1 (en) | 1995-08-04 | 2004-06-08 | Sun Microsystems, Inc. | Decompression of surface normals in three-dimensional graphics data |
| US6215500B1 (en) | 1995-08-04 | 2001-04-10 | Sun Microsystems, Inc. | Compression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object |
| US6256041B1 (en) | 1995-08-04 | 2001-07-03 | Sun Microsystems, Inc. | Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object |
| US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
| US5905507A (en) * | 1996-01-16 | 1999-05-18 | International Business Machines Corporation | Compression of geometric models using spanning trees |
| US6556198B1 (en) * | 1997-06-16 | 2003-04-29 | Canon Kabushiki Kaisha | Polyhedron generating method and apparatus thereof, and storage medium for storing the method |
| JP3732317B2 (ja) | 1997-09-17 | 2006-01-05 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法、並びに伝送媒体 |
| US6009435A (en) * | 1997-11-21 | 1999-12-28 | International Business Machines Corporation | Progressive compression of clustered multi-resolution polygonal models |
| US6025847A (en) * | 1997-12-23 | 2000-02-15 | Auto Desk, Inc. | Three dimensional modeling system with visual feedback |
| US7190362B1 (en) | 1998-01-20 | 2007-03-13 | Nicholas Baker | System and method for organizing data for a 3-dimensional graphics pipeline |
| US6262737B1 (en) * | 1998-01-30 | 2001-07-17 | University Of Southern California | 3D mesh compression and coding |
| JP3607107B2 (ja) * | 1998-03-13 | 2005-01-05 | 株式会社東芝 | データ管理装置 |
| EP1086412A4 (en) * | 1998-06-08 | 2008-05-07 | Microsoft Corp | COMPRESSION OF TIME-DEPENDENT GEOMETRY |
| US6243081B1 (en) * | 1998-07-31 | 2001-06-05 | Hewlett-Packard Company | Data structure for efficient retrieval of compressed texture data from a memory system |
| US6252600B1 (en) * | 1998-10-02 | 2001-06-26 | International Business Machines Corporation | Computer graphics system with dual FIFO interface |
| US6169819B1 (en) * | 1998-10-31 | 2001-01-02 | Hewlett-Packard Company | High performance surface normal compression |
| US7242414B1 (en) * | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
| US6429867B1 (en) | 1999-03-15 | 2002-08-06 | Sun Microsystems, Inc. | System and method for generating and playback of three-dimensional movies |
| US6459429B1 (en) | 1999-06-14 | 2002-10-01 | Sun Microsystems, Inc. | Segmenting compressed graphics data for parallel decompression and rendering |
| US7346643B1 (en) * | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
| US7197491B1 (en) | 1999-09-21 | 2007-03-27 | International Business Machines Corporation | Architecture and implementation of a dynamic RMI server configuration hierarchy to support federated search and update across heterogeneous datastores |
| US7113939B2 (en) | 1999-09-21 | 2006-09-26 | International Business Machines Corporation | Architecture to enable search gateways as part of federated search |
| US6792416B2 (en) | 1999-09-21 | 2004-09-14 | International Business Machines Corporation | Managing results of federated searches across heterogeneous datastores with a federated result set cursor object |
| US6466933B1 (en) | 1999-09-21 | 2002-10-15 | International Business Machines Corporation | Delayed delivery of query results or other data from a federated server to a federated client until such information is needed |
| US6844880B1 (en) * | 1999-12-06 | 2005-01-18 | Nvidia Corporation | System, method and computer program product for an improved programmable vertex processing model with instruction set |
| US6995761B1 (en) * | 2000-01-14 | 2006-02-07 | California Institute Of Technology | Compression of 3D surfaces using progressive geometry |
| JP2001209821A (ja) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | 三次元グラフィックス処理装置およびその方法 |
| US7259760B1 (en) | 2000-02-16 | 2007-08-21 | Be Here Corporation | Polygonal curvature mapping to increase texture efficiency |
| US6559853B1 (en) | 2000-02-16 | 2003-05-06 | Enroute, Inc. | Environment map creation using texture projections with polygonal curved surfaces |
| US6897858B1 (en) | 2000-02-16 | 2005-05-24 | Enroute, Inc. | Partial image decompression of a tiled image |
| US6664967B1 (en) * | 2000-05-18 | 2003-12-16 | International Business Machines Corporation | Apparatus to detect setting of bits in a data structure |
| US6657631B1 (en) * | 2000-07-31 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Real time control of multiple compression techniques within a graphics display subsystem |
| US6633969B1 (en) * | 2000-08-11 | 2003-10-14 | Lsi Logic Corporation | Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions |
| US6636774B2 (en) * | 2000-10-13 | 2003-10-21 | Fujitsu Limited | CAD supporting apparatus, and CAD supporting program storage medium |
| US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
| US7249242B2 (en) * | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
| US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
| US7489779B2 (en) * | 2001-03-22 | 2009-02-10 | Qstholdings, Llc | Hardware implementation of the secure hash standard |
| US7400668B2 (en) * | 2001-03-22 | 2008-07-15 | Qst Holdings, Llc | Method and system for implementing a system acquisition function for use with a communication device |
| US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
| US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
| US7500017B2 (en) * | 2001-04-19 | 2009-03-03 | Microsoft Corporation | Method and system for providing an XML binary format |
| US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
| US20020184291A1 (en) * | 2001-05-31 | 2002-12-05 | Hogenauer Eugene B. | Method and system for scheduling in an adaptable computing engine |
| US6772175B2 (en) * | 2001-05-31 | 2004-08-03 | Intel Corporation | Database that stores data for a three-dimensional mesh |
| US7456838B1 (en) | 2001-06-08 | 2008-11-25 | Nvidia Corporation | System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline |
| US20030018781A1 (en) * | 2001-07-03 | 2003-01-23 | Scheuermann W. James | Method and system for an interconnection network to support communications among a plurality of heterogeneous processing elements |
| US7012608B1 (en) | 2001-08-02 | 2006-03-14 | Iwao Fujisaki | Simulation device |
| US6941516B2 (en) * | 2001-08-06 | 2005-09-06 | Apple Computer, Inc. | Object movie exporter |
| US6961803B1 (en) * | 2001-08-08 | 2005-11-01 | Pasternak Solutions Llc | Sliced crossbar architecture with no inter-slice communication |
| WO2003040968A1 (fr) * | 2001-11-06 | 2003-05-15 | Naoto Morikawa | Systeme de traitement de forme et procede pour representer une forme |
| US7046635B2 (en) * | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
| US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
| US8412915B2 (en) * | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
| US7386429B1 (en) | 2001-12-07 | 2008-06-10 | Iwao Fujisaki | Wrinkle simulation software |
| US7602740B2 (en) * | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
| US7088825B2 (en) * | 2001-12-12 | 2006-08-08 | Quicksilver Technology, Inc. | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
| US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
| US7231508B2 (en) * | 2001-12-13 | 2007-06-12 | Quicksilver Technologies | Configurable finite state machine for operation of microinstruction providing execution enable control value |
| US6791549B2 (en) | 2001-12-21 | 2004-09-14 | Vrcontext S.A. | Systems and methods for simulating frames of complex virtual environments |
| US20030117397A1 (en) * | 2001-12-21 | 2003-06-26 | Hubrecht Alain Yves Nestor | Systems and methods for generating virtual reality (VR) file(s) for complex virtual environments |
| TWI222040B (en) * | 2001-12-28 | 2004-10-11 | Silicon Integrated Sys Corp | Pre-setup and shading device and method of computer graph |
| US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
| US7493375B2 (en) | 2002-04-29 | 2009-02-17 | Qst Holding, Llc | Storage and delivery of device features |
| US7328414B1 (en) * | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
| US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
| KR100458495B1 (ko) * | 2002-06-10 | 2004-12-03 | 주식회사 마크애니 | Nurbs 그래픽 영상에/으로부터 워터마크를삽입/검출하는 방법 및 장치 |
| US7230616B2 (en) * | 2002-07-31 | 2007-06-12 | International Business Machines Corporation | Bi-level iso-surface compression |
| US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
| US8019788B1 (en) * | 2002-09-30 | 2011-09-13 | Siemens Product Lifecycle Management Software Inc. | Data compression and file segmentation in directmodel JT datastores |
| US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
| US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
| US7478031B2 (en) | 2002-11-07 | 2009-01-13 | Qst Holdings, Llc | Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information |
| US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
| US7254696B2 (en) * | 2002-12-12 | 2007-08-07 | Alacritech, Inc. | Functional-level instruction-set computer architecture for processing application-layer content-service requests such as file-access requests |
| US6888657B2 (en) * | 2003-01-28 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Multiple-bit storage element for binary optical display element |
| US7075539B1 (en) * | 2003-05-30 | 2006-07-11 | Nvidia Corporation | Apparatus and method for processing dual format floating-point data in a graphics processing system |
| US8099273B2 (en) * | 2003-06-05 | 2012-01-17 | Mentor Graphics Corporation | Compression of emulation trace data |
| US7609297B2 (en) * | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
| US7355601B2 (en) * | 2003-06-30 | 2008-04-08 | International Business Machines Corporation | System and method for transfer of data between processors using a locked set, head and tail pointers |
| US6862027B2 (en) * | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
| US20050017968A1 (en) * | 2003-07-21 | 2005-01-27 | Stephan Wurmlin | Differential stream of point samples for real-time 3D video |
| US7200837B2 (en) * | 2003-08-21 | 2007-04-03 | Qst Holdings, Llc | System, method and software for static and dynamic programming and configuration of an adaptive computing architecture |
| US7202872B2 (en) * | 2003-10-29 | 2007-04-10 | Via Technologies, Inc. | Apparatus for compressing data in a bit stream or bit pattern |
| US8719837B2 (en) * | 2004-05-19 | 2014-05-06 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
| US7529418B2 (en) * | 2004-05-20 | 2009-05-05 | Hewlett-Packard Development Company, L.P. | Geometry and view assisted transmission of graphics image streams |
| US7492953B2 (en) * | 2004-06-17 | 2009-02-17 | Smith Micro Software, Inc. | Efficient method and system for reducing update requirements for a compressed binary image |
| US7334116B2 (en) * | 2004-10-06 | 2008-02-19 | Sony Computer Entertainment Inc. | Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length |
| US20060242213A1 (en) * | 2005-04-22 | 2006-10-26 | Wood Paul B | Variable Precision Processor |
| US20070073925A1 (en) | 2005-09-28 | 2007-03-29 | Arc International (Uk) Limited | Systems and methods for synchronizing multiple processing engines of a microprocessor |
| US20070162481A1 (en) * | 2006-01-10 | 2007-07-12 | Millett Ronald P | Pattern index |
| KR20070088190A (ko) * | 2006-02-24 | 2007-08-29 | 삼성전자주식회사 | 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법 |
| US8266152B2 (en) * | 2006-03-03 | 2012-09-11 | Perfect Search Corporation | Hashed indexing |
| KR100679289B1 (ko) | 2006-04-10 | 2007-02-06 | 최금영 | 벡터화소를 이용한 이미지 처리 시스템 |
| US7735061B2 (en) * | 2006-05-03 | 2010-06-08 | Epic Games, Inc. | Efficient encoding and access of mathematically precise variable precision numeric types |
| JP2008003670A (ja) * | 2006-06-20 | 2008-01-10 | Fujifilm Corp | 図面管理システム及び管理方法 |
| US20080127006A1 (en) * | 2006-10-27 | 2008-05-29 | International Business Machines Corporation | Real-Time Data Stream Decompressor |
| US7912840B2 (en) * | 2007-08-30 | 2011-03-22 | Perfect Search Corporation | Indexing and filtering using composite data stores |
| US7940280B2 (en) * | 2007-12-06 | 2011-05-10 | Seiko Epson Corporation | System and method for color format conversion in a graphics environment |
| US8217935B2 (en) * | 2008-03-31 | 2012-07-10 | Caustic Graphics, Inc. | Apparatus and method for ray tracing with block floating point data |
| US8493381B1 (en) * | 2008-04-14 | 2013-07-23 | Google Inc. | Methods and systems for geometry compression |
| US8032495B2 (en) * | 2008-06-20 | 2011-10-04 | Perfect Search Corporation | Index compression |
| US8290285B2 (en) * | 2008-06-23 | 2012-10-16 | Mediatek Inc. | Method and related apparatuses for decoding multimedia data |
| US8514222B2 (en) * | 2008-08-13 | 2013-08-20 | Autodesk, Inc. | Device, system, and method of computer aided design (CAD) |
| US20100063876A1 (en) * | 2008-09-11 | 2010-03-11 | Gm Global Technology Operations, Inc. | Algorithmic creation of visual images |
| EP2309648A1 (en) | 2009-09-14 | 2011-04-13 | Thomson Licensing | Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder |
| US20110069238A1 (en) * | 2009-09-21 | 2011-03-24 | Sony Corporation | Embedded recycle circuit for harnessing light energy |
| KR101814221B1 (ko) | 2010-01-21 | 2018-01-02 | 스비랄 인크 | 스트림 기반 계산을 구현하기 위한 범용 다중 코어 시스템을 위한 방법 및 장치 |
| EP2387004B1 (en) | 2010-05-11 | 2016-12-14 | Dassault Systèmes | Lossless compression of a structured set of floating point numbers, particularly for CAD systems |
| US9401046B2 (en) * | 2011-02-07 | 2016-07-26 | Intel Corporation | Micropolygon splatting |
| US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
| US20130106887A1 (en) * | 2011-10-31 | 2013-05-02 | Christopher Tremblay | Texture generation using a transformation matrix |
| US9111333B2 (en) * | 2011-11-07 | 2015-08-18 | Thomson Licensing | Predictive position encoding |
| JP5752323B2 (ja) * | 2012-05-28 | 2015-07-22 | 三菱電機株式会社 | 表示装置及びコンピュータ |
| EP2750106B1 (en) | 2012-12-31 | 2021-09-15 | Dassault Systèmes | Geometrical elements transformed by rigid motions |
| EP2750107B1 (en) | 2012-12-31 | 2017-03-15 | Dassault Systèmes | Groups of faces that form a geometrical pattern |
| US9244889B2 (en) | 2013-01-29 | 2016-01-26 | International Business Machines Corporation | Creating tag clouds based on user specified arbitrary shape tags |
| CN103150761A (zh) * | 2013-04-02 | 2013-06-12 | 乐淘奇品网络技术(北京)有限公司 | 通过网页高速逼真3d渲染进行物品设计定制的方法 |
| US9077372B1 (en) * | 2013-04-30 | 2015-07-07 | The United States Of America As Represented By The Secretary Of The Air Force | Variable length phase factor quantizer |
| EP2808810B1 (en) * | 2013-05-28 | 2017-01-11 | Dassault Systèmes | Compression and decompression of 3d modeled object |
| KR102053351B1 (ko) * | 2013-08-12 | 2019-12-06 | 삼성전자주식회사 | 테셀레이션 데이터 생성 방법과 상기 방법을 수행할 수 있는 장치들 |
| KR20160070512A (ko) | 2014-12-10 | 2016-06-20 | 삼성전자주식회사 | 반도체 장치 및 그 동작 방법 |
| GB201503125D0 (en) | 2015-02-25 | 2015-04-08 | Advanced Risc Mach Ltd | Graphics processing systems |
| EP3098735A1 (en) | 2015-05-28 | 2016-11-30 | Dassault Systèmes | Querying a database with thickness criterion |
| EP3098734A1 (en) | 2015-05-28 | 2016-11-30 | Dassault Systèmes | Querying a database with likeness criterion |
| US10694210B2 (en) | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
| US11297346B2 (en) | 2016-05-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
| US10223810B2 (en) | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
| EP3264286B1 (en) | 2016-06-28 | 2020-11-18 | Dassault Systèmes | Querying a database with morphology criterion |
| EP3321817B1 (en) | 2016-11-14 | 2025-04-02 | Dassault Systèmes | Querying a database based on a parametric view function |
| GB2556634B (en) | 2016-11-18 | 2020-05-27 | Advanced Risc Mach Ltd | Graphics processing systems |
| US9787323B1 (en) | 2016-12-11 | 2017-10-10 | Microsoft Technology Licensing, Llc | Huffman tree decompression |
| US11016219B2 (en) * | 2017-03-01 | 2021-05-25 | Halliburton Energy Services, Inc. | Delta encoding of downhole images of petrophysical rock properties |
| US10462495B2 (en) | 2017-08-09 | 2019-10-29 | Vital Images, Inc. | Progressive lossless compression of image data |
| US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
| US11818401B2 (en) | 2017-09-14 | 2023-11-14 | Apple Inc. | Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables |
| US10897269B2 (en) | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
| US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
| US11113845B2 (en) | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
| US10607373B2 (en) | 2017-11-22 | 2020-03-31 | Apple Inc. | Point cloud compression with closed-loop color conversion |
| US11281824B2 (en) | 2017-12-13 | 2022-03-22 | Dassault Systemes Simulia Corp. | Authoring loading and boundary conditions for simulation scenarios |
| US11010928B2 (en) | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
| US10939129B2 (en) | 2018-04-10 | 2021-03-02 | Apple Inc. | Point cloud compression |
| US10909727B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
| US10909726B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Point cloud compression |
| US10867414B2 (en) | 2018-04-10 | 2020-12-15 | Apple Inc. | Point cloud attribute transfer algorithm |
| US11017566B1 (en) | 2018-07-02 | 2021-05-25 | Apple Inc. | Point cloud compression with adaptive filtering |
| US11202098B2 (en) | 2018-07-05 | 2021-12-14 | Apple Inc. | Point cloud compression with multi-resolution video encoding |
| US11012713B2 (en) | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
| US11367224B2 (en) | 2018-10-02 | 2022-06-21 | Apple Inc. | Occupancy map block-to-patch information compression |
| US11430155B2 (en) | 2018-10-05 | 2022-08-30 | Apple Inc. | Quantized depths for projection point cloud compression |
| US11057564B2 (en) | 2019-03-28 | 2021-07-06 | Apple Inc. | Multiple layer flexure for supporting a moving image sensor |
| US11711544B2 (en) | 2019-07-02 | 2023-07-25 | Apple Inc. | Point cloud compression with supplemental information messages |
| US11321904B2 (en) | 2019-08-30 | 2022-05-03 | Maxon Computer Gmbh | Methods and systems for context passing between nodes in three-dimensional modeling |
| US11450030B2 (en) | 2019-09-24 | 2022-09-20 | Apple Inc. | Three-dimensional mesh compression using a video encoder |
| US11562507B2 (en) | 2019-09-27 | 2023-01-24 | Apple Inc. | Point cloud compression using video encoding with time consistent patches |
| US11627314B2 (en) | 2019-09-27 | 2023-04-11 | Apple Inc. | Video-based point cloud compression with non-normative smoothing |
| US11538196B2 (en) | 2019-10-02 | 2022-12-27 | Apple Inc. | Predictive coding for point cloud compression |
| US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
| US11798196B2 (en) | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
| US11475605B2 (en) | 2020-01-09 | 2022-10-18 | Apple Inc. | Geometry encoding of duplicate points |
| US11714928B2 (en) | 2020-02-27 | 2023-08-01 | Maxon Computer Gmbh | Systems and methods for a self-adjusting node workspace |
| CN111599014B (zh) * | 2020-04-03 | 2023-06-06 | 上海嘉奥信息科技发展有限公司 | 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质 |
| US11501470B2 (en) | 2020-05-27 | 2022-11-15 | Microsoft Technology Licensing, Llc | Geometric encoding of data |
| US11620768B2 (en) | 2020-06-24 | 2023-04-04 | Apple Inc. | Point cloud geometry compression using octrees with multiple scan orders |
| US11615557B2 (en) | 2020-06-24 | 2023-03-28 | Apple Inc. | Point cloud compression using octrees with slicing |
| US11373369B2 (en) * | 2020-09-02 | 2022-06-28 | Maxon Computer Gmbh | Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes |
| US11948338B1 (en) | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
| US11948339B2 (en) * | 2021-06-04 | 2024-04-02 | Apple Inc. | Encoding and decoding visual content |
| US11710258B1 (en) * | 2023-01-25 | 2023-07-25 | Illuscio, Inc. | Systems and methods for compressing three-dimensional image data |
| US12554557B2 (en) * | 2023-05-16 | 2026-02-17 | Hexagon Technology Center Gmbh | Precision geometry client for thin client applications |
| US20250157083A1 (en) * | 2023-11-09 | 2025-05-15 | Tencent America LLC | Efficient coding of attributes in polygon mesh compression |
Family Cites Families (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61131990A (ja) * | 1984-11-30 | 1986-06-19 | Sony Corp | ビデオテツクス画像作成装置 |
| US5001651A (en) * | 1986-11-10 | 1991-03-19 | Auto-Trol Technology Corporation | Method and apparatus for interpolating groups of pixels on a scan line |
| US4930092A (en) * | 1987-01-20 | 1990-05-29 | Auto-Trol Technology Corporation | Polygon display apparatus and method |
| CA1309519C (en) * | 1987-03-17 | 1992-10-27 | Antonio Cantoni | Transfer of messages in a multiplexed system |
| US5010553A (en) * | 1988-12-05 | 1991-04-23 | Compuquest, Inc. | High speed, error-free data transmission system and method |
| US5002651A (en) | 1989-03-07 | 1991-03-26 | University Of Connecticut | Modified microelectrodes with renewable surface and method of making same |
| US5142635A (en) * | 1989-04-07 | 1992-08-25 | Intel Corporation | Method and circuitry for performing multiple stack operations in succession in a pipelined digital computer |
| US5216726A (en) * | 1990-03-23 | 1993-06-01 | United Silicon Structures, Inc. | Data compression process |
| US5231676A (en) * | 1990-06-08 | 1993-07-27 | Xerox Corporation | Hierarchical operations on border attribute data for image regions |
| US5280547A (en) * | 1990-06-08 | 1994-01-18 | Xerox Corporation | Dense aggregative hierarhical techniques for data analysis |
| JP2770598B2 (ja) * | 1990-06-13 | 1998-07-02 | 株式会社日立製作所 | 図形表示方法およびその装置 |
| AU630567B2 (en) * | 1990-07-31 | 1992-10-29 | Digital Equipment Corporation | System and method for emulating a window management environment having a uniform windowing interface |
| EP0488563A3 (en) * | 1990-11-30 | 1993-11-03 | Ibm | Method and apparatus for rendering trimmed parametric surfaces |
| US5260693A (en) * | 1991-10-11 | 1993-11-09 | Spacelabs Medical, Inc. | Method and system for lossless and adaptive data compression and decompression |
| FI88841C (fi) * | 1991-10-30 | 1993-07-12 | Nokia Telecommunications Oy | Foerfarande foer att behandla dataoeverfoeringsramar av vaexlande laengd med en kanalstyrenhet och foer att placera desamma till ett cykliskt buffertminne |
| US5295235A (en) * | 1992-02-14 | 1994-03-15 | Steve Newman | Polygon engine for updating computer graphic display employing compressed bit map data |
| JPH05266146A (ja) * | 1992-03-19 | 1993-10-15 | Matsushita Electric Ind Co Ltd | 物体形状の表現装置 |
| US5289548A (en) * | 1992-06-30 | 1994-02-22 | Loral Aerospace Corp. | Compression and reconstruction of radiological images |
| GB2269289B (en) * | 1992-07-13 | 1995-10-25 | Sony Broadcast & Communication | Serial data decoding |
| CA2094524A1 (en) * | 1992-07-30 | 1994-01-31 | Ephraim Feig | Digital image processor for color image compression |
| DE69328811T2 (de) * | 1992-10-20 | 2001-01-11 | Network Computing Devices, Inc. | Opcode abhängige Komprimierung für ein Window-System. |
| US5537551A (en) * | 1992-11-18 | 1996-07-16 | Denenberg; Jeffrey N. | Data compression method for use in a computerized informational and transactional network |
| US5457779A (en) * | 1993-01-15 | 1995-10-10 | Silicon Graphics, Inc. | System for accessing graphic data in a SIMD processing environment |
| US5583500A (en) * | 1993-02-10 | 1996-12-10 | Ricoh Corporation | Method and apparatus for parallel encoding and decoding of data |
| US5546477A (en) * | 1993-03-30 | 1996-08-13 | Klics, Inc. | Data compression and decompression |
| US5408605A (en) * | 1993-06-04 | 1995-04-18 | Sun Microsystems, Inc. | Command preprocessor for a high performance three dimensional graphics accelerator |
| DE69418646T2 (de) * | 1993-06-04 | 2000-06-29 | Sun Microsystems, Inc. | Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger |
| US5392393A (en) * | 1993-06-04 | 1995-02-21 | Sun Microsystems, Inc. | Architecture for a high performance three dimensional graphics accelerator |
| US5363107A (en) * | 1993-07-16 | 1994-11-08 | Massachusetts Institute Of Technology | Storage and transmission of compressed weather maps and the like |
| US5408597A (en) * | 1993-07-29 | 1995-04-18 | Digital Equipment Corporation | Method and apparatus for schematic routing |
| US5533148A (en) * | 1993-09-30 | 1996-07-02 | International Business Machines Corporation | Method for restructuring physical design images into hierarchical data models |
| US5539663A (en) * | 1993-11-24 | 1996-07-23 | Intel Corporation | Process, apparatus and system for encoding and decoding video signals using temporal filtering |
| US5613102A (en) * | 1993-11-30 | 1997-03-18 | Lucent Technologies Inc. | Method of compressing data for use in performing VLSI mask layout verification |
| JP2812168B2 (ja) * | 1993-12-27 | 1998-10-22 | 松下電器産業株式会社 | 形状データ圧縮方法および形状データ伸長方法 |
| US5867602A (en) * | 1994-09-21 | 1999-02-02 | Ricoh Corporation | Reversible wavelet transform and embedded codestream manipulation |
| US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
| US6002411A (en) * | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
| US5798762A (en) * | 1995-05-10 | 1998-08-25 | Cagent Technologies, Inc. | Controlling a real-time rendering engine using a list-based control mechanism |
| FR2735267B1 (fr) * | 1995-06-08 | 1999-04-30 | Hewlett Packard Co | Systeme et procede de convertisseur de balayage de triangles a tampons de trame entrelaces en deux dimensions |
| US5710879A (en) * | 1995-06-08 | 1998-01-20 | Hewlett-Packard Company | Method and apparatus for fast quadrilateral generation in a computer graphics system |
| US5842004A (en) * | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
| US5793371A (en) * | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
| US5801711A (en) * | 1995-08-08 | 1998-09-01 | Hewlett Packard Company | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system |
| US5694531A (en) * | 1995-11-02 | 1997-12-02 | Infinite Pictures | Method and apparatus for simulating movement in multidimensional space with polygonal projections |
| US5736987A (en) * | 1996-03-19 | 1998-04-07 | Microsoft Corporation | Compression of graphic data normals |
| US5751865A (en) * | 1996-09-26 | 1998-05-12 | Xerox Corporation | Method and apparatus for image rotation with reduced memory using JPEG compression |
-
1995
- 1995-08-04 US US08/511,326 patent/US5842004A/en not_active Expired - Lifetime
-
1996
- 1996-08-05 EP EP99114977A patent/EP0964364B1/en not_active Expired - Lifetime
- 1996-08-05 JP JP23711696A patent/JP3884509B2/ja not_active Expired - Lifetime
- 1996-08-05 DE DE69624637T patent/DE69624637T2/de not_active Expired - Fee Related
- 1996-08-05 DE DE69635588T patent/DE69635588D1/de not_active Expired - Lifetime
- 1996-08-05 DE DE69632157T patent/DE69632157T2/de not_active Expired - Fee Related
- 1996-08-05 EP EP99114976A patent/EP0959431B1/en not_active Expired - Lifetime
- 1996-08-05 EP EP96305775A patent/EP0757333B1/en not_active Expired - Lifetime
-
1998
- 1998-02-18 US US09/025,156 patent/US5933153A/en not_active Expired - Lifetime
- 1998-02-23 US US09/027,664 patent/US6307557B1/en not_active Expired - Lifetime
- 1998-02-24 US US09/028,387 patent/US6088034A/en not_active Expired - Lifetime
- 1998-03-09 US US09/036,743 patent/US6028610A/en not_active Expired - Lifetime
-
2001
- 2001-06-20 US US09/886,243 patent/US6522327B2/en not_active Expired - Lifetime
- 2001-06-20 US US09/886,240 patent/US6522326B1/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008513910A (ja) * | 2004-09-22 | 2008-05-01 | クゥアルコム・インコーポレイテッド | グラフィックプロセッサのための効率的なインタフェース及びアセンブラ |
| JP2012014744A (ja) * | 2006-11-01 | 2012-01-19 | Digital Media Professional:Kk | 拡張されたプリミティブの頂点キャッシュの処理を加速する装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69624637T2 (de) | 2003-10-23 |
| DE69635588D1 (de) | 2006-01-19 |
| EP0959431B1 (en) | 2005-12-14 |
| EP0757333B1 (en) | 2002-11-06 |
| EP0964364A3 (en) | 1999-12-29 |
| EP0959431A2 (en) | 1999-11-24 |
| JP3884509B2 (ja) | 2007-02-21 |
| US6088034A (en) | 2000-07-11 |
| DE69632157D1 (de) | 2004-05-13 |
| US5933153A (en) | 1999-08-03 |
| EP0757333A3 (en) | 1997-06-04 |
| US6028610A (en) | 2000-02-22 |
| DE69624637D1 (de) | 2002-12-12 |
| US6522327B2 (en) | 2003-02-18 |
| EP0964364A2 (en) | 1999-12-15 |
| EP0757333A2 (en) | 1997-02-05 |
| EP0959431A3 (en) | 1999-12-01 |
| US5842004A (en) | 1998-11-24 |
| US6307557B1 (en) | 2001-10-23 |
| US20010050682A1 (en) | 2001-12-13 |
| DE69632157T2 (de) | 2004-08-05 |
| EP0964364B1 (en) | 2004-04-07 |
| US6522326B1 (en) | 2003-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3212885B2 (ja) | 三次元グラフィックス・データの幾何学的圧縮のための方法及び装置 | |
| JP3884509B2 (ja) | 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 | |
| US6747644B1 (en) | Decompression of surface normals in three-dimensional graphics data | |
| CN117178297A (zh) | 微网格,用于计算机图形的结构化几何体 | |
| EP1194897B1 (en) | Geometric compression of three-dimensional graphics | |
| JP4564718B2 (ja) | 3−dコンピュータ・グラフィックス・レンダリングシステム | |
| JP2000132704A (ja) | 画像情報処理装置及び方法 | |
| CN1231101A (zh) | 图像映射装置和图像映射方法、以及图像生成装置和图像生成方法 | |
| US7079150B1 (en) | Image processing wherein decompression and compression methods provide faster transmission of texture data between a texture buffer and Aprocessor than between a storage device and a processor | |
| US6169819B1 (en) | High performance surface normal compression | |
| US6175369B1 (en) | High performance surface normal decompression | |
| Nagasawa | Beyond VRML: Efficient 3-D Data Transfer for Remote Visualization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060403 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060703 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060706 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061003 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061030 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061117 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091124 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |