JP3884509B2 - 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 - Google Patents

圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 Download PDF

Info

Publication number
JP3884509B2
JP3884509B2 JP23711696A JP23711696A JP3884509B2 JP 3884509 B2 JP3884509 B2 JP 3884509B2 JP 23711696 A JP23711696 A JP 23711696A JP 23711696 A JP23711696 A JP 23711696A JP 3884509 B2 JP3884509 B2 JP 3884509B2
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.)
Expired - Lifetime
Application number
JP23711696A
Other languages
English (en)
Other versions
JPH09326041A (ja
Inventor
エフ ディアリング マイケル
エス ウィン アーロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09326041A publication Critical patent/JPH09326041A/ja
Application granted granted Critical
Publication of JP3884509B2 publication Critical patent/JP3884509B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-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)

Description

【0001】
【産業上の利用分野】
本発明は、一般にグラフィックス・データを圧縮解除することに関し、特に圧縮された三次元幾何学データを圧縮解除する方法及び装置に関する。
【0002】
【従来の技術】
最新の三次元コンピュータ・グラフィックスは、種々のグラフィック表現技術を用いて、三次元オブジェクトを記述するために幾何学形状を広範囲に渡って用いる。コンピュータ・グラフィックスは、コンピュータ支援設計(“CAD”)プログラムから仮想現実感(バーチャル・リアリティ)ビデオ・ゲームの範囲にわたるアプリケーションにおいて広い使用を見出す。オブジェクトの複雑で滑らかな表面は、トリム型非均等有理スプライン(trimmed non-uniform rational splines)のような高レベル抽象化によって簡潔的に表わすことができ、かつしばしば詳細な表面幾何学形状は、テクスチャ・マップを用いて表現できる。しかし、より現実感を付加することは、、通常、三角形の、生幾何学形状(raw geometry)を要求する。位置、カラー(色彩)、及びこれら三角形の通常の構成要素は、浮動小数点数として一般に表現され、かつ孤立した三角形(isolated triangle) を記述することは、記憶空間の100バイト以上を要求することができる。
理解できるように、例えば、コンピュータ・ハード・ディスクまたはコンパクト・ディスク・リード・オンリ・メモリ(“CD−ROM”)上に記憶されるために三次元コンピュータ・グラフィックス・オブジェクトに対して実質的な空間が必要である。同様に、例えば、ネットワーク、またはディスクから主メモリにわたり、伝送されるためにそのようなオブジェクトに対してかなりの時間が必要である。
【0003】
幾何学形状圧縮は、一般的な空間−時間トレード・オフであり、かつメモリ/相互接続階層の全てのレベルで利点を供給する。同様なシステム問題が二次元画素イメージの記憶及び送信に対して存在する。種々の損失が大きくかつ無損失圧縮及び圧縮解除技術が、記憶空間及び送信時間における合成減少を有して、二次元画素イメージに対して開発されている。残念ながら、従来技術は、多角形(多辺形)低減技法を越えた、三次元幾何学形状に適切な圧縮/圧縮解除技術を含まない。しかしながら、1994年のプリンストン大学におけるション・ダンスキン(John Danskin)による「Xグラフィックス・プロトコルの圧縮」(Compressing the 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がオブジェクトをモデル化することにおいて多くのアプリケーションを有すると同時に、圧縮された三角形は、アプリケーション・オブジェクトの多くのクラスに対して遙にコンパクトである。
【0004】
フォト・リアリスティック・バッチ・レンダリングは、微細な幾何学形状の詳細をコンパクトに表わすためにテキスチャ・マップ技術の広範囲な使用を長くした。そのような技術は、カラー・テキスチャ・マップ、通常のバンプ・マップ、及び変位マップを含むことができる。テキスチャ・マッピングは、例えば、空の雲、遠くの建物のような、遠背景における大きなオブジェクトに対してよく機能する。より近い距離では、テキスチャは、例えば、広告掲示板、ペインティング、カーペット、大理石製の壁、等のような、ほとんどフラットである三次元オブジェクトに対して最もよく機能する。最近、レンダリング・ハードウェアは、テキスチャ・マッピングを支持することを始めたし、かつ実時間レンダリング・エンジンもこれらの技術を適用することができる。
しかしながら、テキスチャ・マッピングは、フラットでない隣接するオブジェクトに対して品質の著しい損失を結果として生ずる。一つの部分的な解は、テキスチャされた多角形がオブザーバに面すべく常に旋回する“サインボード”である。しかし、ステレオ、特にヘッド・トラック型VRステレオを考慮したときに、隣接するテキスチャは、フラットとして明らかに感知される。これらの例では、隣接するオブジェクトのあまり詳細ではないが完全な三次元多角形表現は、より現実的であろう。
【0005】
幾何学形状の多面体表現は、三次元ラスター・コンピュータ・グラフィックの分野で長く支持されている。そのような表現では、任意の幾何学形状は、頂点(vertices)、エッジ(edges) 、及び面(faces) の一覧表によって一般に表現されかつ指定される。Computer Graphics: Principles and Practice, 2nd ed., Addison-Wesley, 1990 においてJ. Foly, et al. によって指摘されたように、ウィングドエッジ・データ構造(winged-edge data structures) のような表現は、ディスプレイされるだけの幾何学形状の編集を支持すべく設計された。 これら表現の痕跡(なごり)は、交換フォーマット、例えばWavefront OBJ として今日生き残っている。理論的にコンパクトであるが、あるコンパクションは、交換ファイルにおけるASCII(アスキー)データ表現を用いることにより判読性の犠牲になる。不幸にも、これらのフォーマットのほとんど(もしあれば)は、レンダリング・ハードウェアに描画命令(drawing instructions)として直接渡すことができない。
そのようなフォーマットの別の歴史的痕跡は、早期レンダリング・ハードウェアが受け入れうる一般のプリミティブ・フォーム(general primitive form)の、N−面多角形の支持体である。しかしながら、今日の高速レンダリング・ハードウェアは、ハードウェアに提出される前に全ての多角形幾何学形状が三角形に低減されることを要求する。三面以上を有する多角形は、プレーナー(平面)またはコンベックス(凸面)のいずれかであることを一般に保証することができない。四辺形がレンダリング・プリミティブとして受容されるならば、レンダリングの前にそれらが一対の三角形に任意に分割されるということが受容されるべきである。
【0006】
近代グラフィックス言語は、通常、頂点データ構造のアレーとして、三次元三角形の収集の表現のために2値フォーマットを一般に指定する。それゆえに、PHIGS PLUS、PEX、XGL、及びOpenGLへの提案された拡張は、このフォーマット・フォームであり、かつ実行可能幾何学形状によって取られる記憶空間を画定する。
“ジグザグ”または“スター”ストリップスに三角形を分離または連鎖することは、この分野で知られている。例えば、Iris−GL、XGL、及びPEX5.2は、ジグザグからに、頂点毎に基づき連鎖している星状の頂点へ切り替えることができる汎用の三角形ストリップのフォームを画定するが、XGL及びPEXの頂点当たりの余分なヘッダ・ワードを犠牲にする。再開始コードは、三角形の多重切断ストリップスを頂点の1アレー内で指定させる。
これらの言語では、全ての頂点コンポーネント(位置、カラー、ノーマルズ(normals) )は、32ビット単精度IEEE浮動小数点数、または64ビット倍精度数によって指定されうる。また、XGL、IrisGL、及びOpenGLフォーマットは、32ビット整数サポートも供給する。IrisGL及びOpenGLフォーマットは、16ビット整数として頂点位置コンポーネント入力をサポートし、ノーマルズ及びカラーは、これらのいずれか並びに8ビット・コンポーネントであることができる。実際には、位置、カラー、及びノーマルズは、視覚的品質における損失がほとんどなく32ビット(単精度IEEE浮動小数点)よりかなり少なく量子化される。そのようなビット節約は、適切な数値解析サポートが存在するということを前提として、市販の三次元グラフィックス・ハードウェアに用いられうる。
しかしながら、圧縮された、三次元幾何学形状データを含んでいる、幾何学形状データは、有用であるべく圧縮解除されなければならない。例えば、1995年8月4日に出願した、発明の名称が「三次元グラフィックス・データの幾何学形状圧縮のための方法及び装置」である本発明の出願人の特許出願がそのような圧縮を開示している。
【0007】
【発明が解決しようとする課題】
それゆえに、圧縮された三次元幾何学形状を圧縮解除する方法及び装置の必要性が存在する。圧縮解除は、出力データが描画命令として直接レンダリング・ハードウェアにわたされうるようなものが好ましい。そして、三次元幾何学形状の圧縮解除は、ハードウェア、ソフトウェア、またはそれらの組合せを用いて実現可能であるべきである。本発明は、そのような圧縮解除を開示する。
本発明の目的は、上記従来の技術における問題点に鑑み、出力データが描画命令として直接レンダリング・ハードウェアにわたされるように圧縮された三次元幾何学形状を圧縮解除する方法及び装置を提供することである。
【0008】
【課題を解決するための手段】
本発明の上記目的は、可変長フィールドのデータ・ストリームを圧縮解除する方法であり、該データ・ストリームが該フィールドの圧縮解除を三次元オブジェクトの非圧縮表面特性にガイドする、オプ・コード・ビット及び/又はタグ・ビットを含んでいる、方法であって、(a)フィールド型をデータ・ストリームから検出し、そのような検出をイネーブルするデータは、先行するが該データ・ストリーム内でシーケンシャルにすぐに先行する必要はない、(b)フィールド長及び/又はフィールド正規化をデータ・ストリームから検出し、そのような検出をイネーブルするデータは、先行するが該データ・ストリーム内でシーケンシャルにすぐに先行する必要はない、(c)段階(a)及び段階(b)の少なくとも一つから得られた情報を用いて、データ・ストリームからビット位置合わせされたフィールドを抽出し、(d)最初の数値スケールに抽出したビット位置合わせされたフィールドを必要に応じて再正規化し、(e)圧縮解除された表面記述データを出力する段階を具備し、データは、オプションで汎用三角形ストリップ・フォーマットである方法によって達成される。
本発明の方法では、オプ・コードは、後続するフィールドのセットの型に関する情報を表わし、該情報は、(i)頂点情報、(ii)位置情報、(iii)表面ノーマル情報、(iv)カラー、(v)テキスチャ・マップ座標、(vi)表面材料特性、及び(vii)手順情報、(viii)頂点情報、ノーマル指令及びカラー指令以外の指令である手順情報からなるグループから選択され、及び/又は、タグ・ビットは、(a)該タグ・ビットが(i)フィールド長、(ii)正規化、(iii)そのようなフィールドが相対的か否か、(iv)そのようなフィールドが絶対的か否か、からなるグループから選択された少なくとも一つのフィールド特性を暗黙的に記述する、及び(b)該タグ・ビットが可変長を有しかつ当該可変長についての情報並びに可能フィールド内容情報を含み、該可変長は、該フィールド内容情報から独立である、からなるグループから選択された少なくとも一つの特性を有するように構成してもよい。
【0009】
本発明の方法では、段階(b)でイネーブリング・データがすぐにシーケンシャルに始めないならば、方法は、(b−1)現行命令及び後続命令をデータ・ストリームからフェッチし、(b−2)後続命令の固定数の最初のビットをフェッチし、かつ(b−3)次いで、現行命令に対して残りのビットをフェッチすることを更に含むように構成してもよい。
本発明の方法では、(f−1)その出力が(i)後続データ・フィールドの開始、(ii)該データ・フィールドの長さ、(iii)実際のタグ・フィールド長、(iv)該フィールドが相対的であるか否かの識別、(v)該フィールドが絶対的であるか否かの識別、及び(vi)再正規化を容易にするための数値シフティング・オフセット情報を含んでいる該データ・フィールドに対する再正規化パラメータ、の少なくとも一つを識別するタグ・ルックアップ表にタグ・ビットを供給し、(f−2)タグ・ルックアップ表出力がそのようなビット位置合わせされたフィールドが相対的であることを示すならば、フィールドの正規化された値をフィールドの現行値に加え、(f−3)タグ・ルックアップ表出力がそのようなビット位置合わせされたフィールドが絶対的であることを示すならば、該フィールドの該正規化された値で該フィールドの現行値を置換する段階を更に具備するように構成してもよい。
【0010】
本発明の方法では、次の後続命令がビット位置合わせされたフィールドが解釈されるべき方法を変更することかまたはタグ表の内容を変更することまたは該ビット位置合わせされたフィールドの非変更データを通過することであるならば、そのようにし、かつ、そのような正規化ビット位置合わせされたフィールドがノーマル情報を含むならば、タグ・フィールド・インデックスは、該ノーマルの直線表現を得るためにルックアップ表を通過するように構成してもよい。
本発明の方法では、ビット位置合わせされたフィールドは、(i)オブジェクトの表面上のx、y、z座標位置、(ii)オブジェクトに対する赤、緑、青のカラー情報、(iii)オブジェクトに対する赤、緑、青及びアルファのカラー情報、(iv)オブジェクトに対するシーケンシャル赤、緑、青のカラー情報間の相違、及び(v)オブジェクトに対するシーケンシャル赤、緑、青及びアルファのカラー情報間の相違からなるグループから選択された少なくとも一つの特性に関する情報を含むように構成してもよい。
【0011】
本発明の方法では、オブジェクトは、(i)オブジェクトの位置の特性が直線x、y、z座標として表され、(ii)オブジェクトのカラーの特性が少なくとも赤、緑、青、及びアルファ・コンポーネントを有しているように表され、該カラーが(a)放射カラー、(b)環境カラー、(c)散乱カラー、及び(d)鏡面カラーからなるグループからなる選択された少なくとも一つのカラーを含み、(iii)オブジェクトのノーマルの特性が直線Nx、Ny、及びNzベクトル係数によって表され、(iv)オブジェクトのノーマルの特性は、ノーマル表インデックスによって表されることからなるグループから選択された少なくとも一つの特性を有し、オブジェクトの表面特性は、(a)位置、(b)ノーマル、(c)カラー、(d)テキスチャ・マップ座標、及び(e)オブジェクトの材料表面特性からなるグループから選択された少なくとも一つの特性を含むように構成してもよい。
【0012】
本発明の方法では、ノーマルのそれぞれは、単一インデックスによって所定の正規化されたノーマルの表の中に表され、かつインデックスは、(i)インデックスは、表されるべきノーマルの直線表現サイン・ビットを備えているインデックス表現のビットを含み、(ii)インデックスは、フォールドされたノーマルが該フォールディング平面の既知の側面にあることを確実にするように少なくとも一つのフォールディング平面x=y、x=z、y=zによって表されるべきノーマルの直線表現の絶対量の可能なフォールディングを指定している少なくとも一つのビットを含み、(iii)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、(iv)インデックスは、オクタント情報のビット、セクスタント情報のビット、及びフォールドされたノーマルの経度及び緯度についての情報の追加フィールドを含むべく画定され、(v)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、及びオクタント情報のビット、セクスタント情報のビット、及びフォールドされたノーマルの経度及び緯度についての情報の追加フィールドを更に含み、(vi)インデックスは、オクタント情報の3ビット、セクスタント情報の3ビット、及びフォールドされたノーマルの経度及び緯度についての情報の2つの追加フィールドを含むべく画定され、(vii)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、及びオクタント情報の3ビット、セクスタント情報の3ビット、及びフォールドされたノーマルの経度及び緯度についての情報の2つの追加フィールドを更に含む、ことからなるグループから選択された少なくとも一つの特性を有するように構成してもよい。
本発明の方法では、圧縮解除されるべきデータ・ストリームは、データが汎用三角形メッシュを画定している線形フォーマットに変換された、頂点を有している複数の三角形を画定している三次元三角形データとして表されたオブジェクトからもたらされ、表面特性の個々のものが量子化され、可変長圧縮が表面特性のシーケンシャルなものの間の相違に適用されるように構成してもよい。
本発明の方法では、現行ビット位置合わせされたフィールドがメッシュ・バッファに配置されるべきであるならば、該現行ビット位置合わせされたフィールドのコピーをメッシュ・バッファに配置し、かつビット位置合わせされたフィールドがメッシュ・バッファ基準を含むならば、ビット位置合わせされたフィールドに対する古い正規化された値をアクセスする段階を更に含むように構成してもよい。
【0013】
また、本発明の上記目的は、オプ・コード・ビット及び/又はタグ・ビットを含み、その表面が表面特性を画定する三次元オブジェクトを表している圧縮データを含み、そのフィールドが長さにおいて変化することができる、データ・ストリームを圧縮解除する、中央処理装置(CPU)及び当該CPUに結合されたメモリを含んでいるコンピュータ・システムに使用可能な、システムであって、データ・ストリームを受け取りかつすぐ後に続くフィールドのデータ・ストリーム・フィールド情報における先行しているが、すぐにシーケンシャルに先行していることを必要としない、フィールドから検出すべくプログラムされた検出器装置と、フィールド情報は、フィールド型及びフィールド長及び/又はフィールド正規化を含んでおり、検出器装置によって検出された少なくともあるデータを受け取りかつデータ・ストリームからビット位置合わせされたフィールドを抽出すべくプログラムされた抽出器装置とを備えているシステムによって達成される。
【0014】
本発明のシステムでは、(i)タグ・フィールド開始位置、(ii)実際のタグ・フィールド長、(iii)フィールドが相対的であるか否かの識別、(iv)フィールドが絶対的であるか否かの識別、及び(v)数値シフティング・オフセット情報からなるグループから選択された少なくとも一部分の情報を供給する、データ・ストリームの少なくとも一部を検出器装置から受け取るべく結合された、ルックアップ表を更に含み、データ・ストリームに含まれたビット・ライン・フィールドは、個々のビットに位置合わせされるように構成してもよい。
本発明のシステムでは、(i)データ・ストリームに含まれた新しく入力するデータを調整する第1段階と、新しく入力するデータにデータ・ストリームに含まれる残っている古いデータを調整する第2段階とを含む多段バレル・シフタ装置、(ii)データ・ストリームを受け取るべく結合されたインターフェイス回路装置、(iii)インターフェイス回路の出力に結合されかつデータ・ストリームを圧縮解除する三次元グラフィックス・デコンプレッサ、(iv)圧縮解除されたデータ・ストリームを受け取りかつ出力すべく結合された、三次元グラフィックス・レンダリング装置からなるグループから選択された少なくとも一つの装置を更に含み、多段バレル・シフタ装置、インターフェイス回路装置、三次元グラフィックス・デコンプレッサ、及び三次元グラフィックス・レンダリング装置の少なくとも二つは、一つの集積回路に組み込まれるように構成してもよい。
【0015】
本発明のシステムでは、オプ・コードは、後続するフィールドのセットの型に関する情報を表わし、該情報は、(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、及びNzベクトル係数によって表され、(iv)オブジェクトのノーマルの特性は、ノーマルのルックアップ表の中にインデックスによって表され、(v)位置、(vi)ノーマル、(vii)カラー、(viii)テキスチャ・マップ座標、及び(ix)材料表面特性からなるグループから選択された少なくとも一つの特性を含むように構成してもよい。
【0016】
本発明のシステムでは、ノーマルのルックアップ表は、所定の正規化されたノーマルを含み、かつノーマルのそれぞれは、所定の正規化されたノーマルのルックアップ表の中に単一インデックスによって表され、インデックスは、(i)当該インデックスは、表現されるべきノーマルの直線表現サイン・ビットを備えているインデックス表現のビットを含み、(ii)インデックスは、フォールドされたノーマルが該フォールディング平面の既知の側面上にあることを確実にするように少なくとも一つのフォールディング平面x=y、x=z、y=zによって表されるべきノーマルの直線表現の絶対量の可能なフォールディングを指定している少なくとも一つのビットを含み、(iii)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、(iv)インデックスは、オクタント情報のビット、セクスタント情報のビット、及びフォールドされたノーマルの経度及び緯度についての情報の追加フィールドを含むべく画定され、(v)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、及びオクタント情報のビット、セクスタント情報のビット、及びフォールドされたノーマルの経度及び緯度についての情報の追加フィールドを更に含み、(vi)インデックスは、オクタント情報の3ビット、セクスタント情報の3ビット、及びフォールドされたノーマルの経度及び緯度についての情報の2つの追加フィールドを含むべく画定され、(vii)インデックスは、ノーマルの経度情報及び緯度情報を表しているビットを含み、及びオクタント情報の3ビット、セクスタント情報の3ビット、及びフォールドされたノーマルの経度及び緯度についての情報の2つの追加フィールドを更に含む、ことからなるグループから選択された少なくとも一つの特性を有するように構成してもよい。
本発明のシステムでは、圧縮解除されるべきデータ・ストリームは、データが汎用三角形メッシュを画定している線形フォーマットに変換された、頂点を有している複数の三角形を画定している三次元三角形データとして表されたオブジェクトからもたらされ、表面特性の個々のものが量子化され、可変長圧縮が表面特性のシーケンシャルなものの間の相違に適用されるように構成してもよい。
【0017】
【作用】
本発明による圧縮解除に対して、三次元幾何学形状は、線形ストリームにおける頂点の各場合に1/3三角形と2三角形との間の平均を指定させる、汎用の三角形メッシュとしてまず表される。個々の位置、カラー及びノーマルズは、個々の位置、カラー、及びノーマルズに適用される可変長圧縮で、量子化される。量子化された値は、頂点トラバーザル順序を供給すべく近隣の間で符号化されるデルタ(Δ)圧縮であり、かつメッシュ・バッファ参照が生成される。デルタ−位置、デルタ−ノーマルズ及びデルタ−カラーのヒストグラムが生成されて、その後に可変長ハフマン・タグ・カラー、並びにデルタ−位置、デルタ−ノーマルズ及びデルタ−カラーが生成される。圧縮された出力2値ストリームは、出力ハフマン表初期化、順序付けされた頂点トラバーザルズ、出力タグ、及びデルタ−位置、デルタ−ノーマルズ及びデルタ−カラーを含む。
そのように圧縮された三次元幾何学形状データの圧縮解除は、ハードウェア、ソフトウェア、またはそれぞれの組合せでインプリメントされうる。圧縮解除装置は、圧縮されたデータ・ビット及び入力データの大きさを表している信号を受け取る入力FIFOを含む。FIFO出力は、入力ブロック状態マシン及び入力ブロックに結合される。入力ブロック及び入力ブロック状態マシンからの出力は、バレル・シフタ装置に結合される。また、入力ブロック出力は、状態マシンへ出力するハフマン表にも入力される。また、状態マシン出力は、その出力がタグ・デコーダに結合されるデータ経路コントローラ、及びバレル・シフタ装置からの出力を受け取るノーマル・プロセッサにも結合される。また、圧縮解除装置は、バレル・シフタ装置からの出力を受け取る位置/カラー・プロセッサも含む。ノーマル・プロセッサ及び位置/カラー・プロセッサからの出力は、フォーマット・コンバータにマルチプレクスされる。
【0018】
フォーマット・コンバータへの出力を生成するデータ・ストリームにおける命令に対して、圧縮解除装置は、フォーマット・コンバータに送られるノーマルに対するビットと並列にタグ・デコーダへ送られる12ビット・タグを生成する。リードバック(read-back) 経路は、圧縮解除装置の内部状態をリードバックするために用いられる。圧縮解除装置は、次の手順を実行する:
(1)次の命令の残り、及び後続する命令の最初の8ビットをフェッチする;
(2)タグ表を用いて、あらゆる圧縮値フィールドを全精度に拡張する;
(3A)値が相対的であれば、現行の値に加える;さもなければ、置換する;
(3B)メッシュ・バッファ参照であれば、古い値をアクセスする;
(3C)他の指令であれば、ハウスキーピングを行う;
(4)ノーマルであれば、全値を得るためにROM表を通してインデックスをわたす;
(5)汎用三角形ストリップ形における値を次の段階へ出力する。
三角形データの圧縮解除されたストリームは、次いで、従来のレンダリング・パイプラインにパスされうるし、そこでそれが完全浮動小数点精度で処理することができ、その後ディスプレイされるかまたはさもなくば用いられる。
本発明の他の特徴及び利点は、添付した図面に関連して、好ましい実施例が詳細に示される以下の説明から明らかであろう。
【0019】
【実施例】
本発明によるグラフィックス・デコンプレッサは、三次元グラフィックス・オブジェクトを圧縮解除する。そのような幾何学形状の三次元圧縮は、例えば、ネットワークにわたる、圧縮された三次元幾何学形状を送るのに必要な時間における低減、並びに、例えば、CD−ROM、等の幾何学形状が記憶されうる空間の低減を許容する。
圧縮された三次元グラフィックスの圧縮解除を説明する前に、本発明が実行されうる環境全体を、図1を参照して説明する。
図1は、三次元圧縮幾何学形状データがその上で送信され、かつ受信端でソフトウェア、ハードウェア、またはそれぞれの組合せを用いて圧縮解除されうる汎用のネットワークを示す。勿論、本発明による三次元グラフィックス圧縮の圧縮解除は、例えば、メモリ、CD−ROM、等に記憶される圧縮データのような、ネットワークを介さないで与えられる圧縮データで実行されうる。
図1に示すように、三次元グラフィックス・データのソース(発生源)10は、その処理されかつ圧縮された出力が、一つ以上のターゲット・クライアントまたはデコーダ・システム40に一つ以上のネットワーク30にわたり結合されるサーバまたはエンコーダ・システム20に結合されうる。ネットワークは、同種(homogeneous) 、異種(heterogeneous) 、または二地点間(point-to-point)でありうる。
【0020】
サーバ20は、関連主メモリ70を伴う中央処理装置それ自体(“CPU”)60、メッシュ・バッファ80、圧縮アルゴリズムを含みうるメモリ部分90、及びリード・オンリー・メモリ(“ROM”)の領域100を含む中央処理ユニット50を含む。代替的に、本発明による圧縮は、ソフトウェアとは反対にハードウェアにおいても実行されうる。アタッチメント1(添付省略)は、上記参照特許出願に記載されたような圧縮アルゴリズムを一覧表として示しているコードのコピーである。
また、サーバ20は、一つ以上のCD−ROMsを含みうる、記憶ディスク装置80への記憶のためにその圧縮された出力データがディスク・レイアウト装置70によって構成される、三次元グラフィックス圧縮装置60も含む。サーバは、ネットワーク・インターフェイス装置110を介してネットワーク30にわたり通信する。当業者は、サーバ20が圧縮されたデータに対する複数のクライアント−デコーダ要求間を仲裁する(arbitrating) ための機構を含みうるということに注目するであろう。
1995年8月4日に出願した、発明の名称が「三次元グラフィックス・データの幾何学形状圧縮のための方法及び装置」である本発明の出願人の特許出願に記載されたように、三次元幾何学形状データの損失が大きい圧縮は、ディスプレイされたオブジェクトの品質における損失がほとんどなく、6:1〜10:1の比率を生成することができる。
【0021】
この明細書の以下の部分は、本発明による圧縮解除の理解を容易にするために、上記参照特許出願に示された、圧縮を説明する。
ネットワーク環境において、受信端で、デコーダ・システム40は、ネットワーク・インターフェイス装置120、三次元グラフィックス・データを圧縮解除し、かつその出力が三次元グラフィックス・レンダリング装置140に結合される、本発明による、装置130を含む。システム40は、デコーダ・システム40は、CPU160、メモリ170、180が含みうる圧縮解除ソフトウェアの部分、及びROM190を含む中央処理システム150を更に含みうる。圧縮された三次元グラフィックスは、ソフトウェア、ハードウェア、または各組合せを用いて有利に圧縮解除されうる。デコーダ40からの圧縮解除出力は、視聴者(viewer)200、または圧縮解除されたグラフィックスを要求している別のシステムに更に結合されうる。勿論、装置40は、本発明により予め圧縮された、三次元グラフィックスが圧縮解除のために、記憶装置82、ディスクまたはCD−ROM84、等、から結合されうる、スタンドアロン装置でありうる。装置40は、例えば、コンピュータまたはワークステーションを含みうる。
ここで、三次元グラフィックス圧縮装置60が本発明の出願人の上記特許出願に記載されたように機能することを想定すると、三角形データは、汎用三角形メッシュにまず変換される。記憶媒体80の所与の固定された容量に対して、三角形メッシュ・データ構造は、三角形データの準最適表現(near-optimal representation) である。好ましい実施例では、三次元グラフィックス・オブジェクトは、変換後のそのフォーマットが各線形ストリップ頂点を、平均して、約1/3三角形から2三角形に特定させる、三次元三角形データとして表されうる。
更に、そのような三角形ストリップ構造は、頂点アレー・データ構造にわたる単一モノトニック走査によって圧縮された幾何学形状の抽出を許容する。
図2は、汎用三角形メッシュ・データ構造、及び表面幾何学形状の汎用メッシュ・バッファ表現を示す。そのようなメッシュ・データ構造は、それ自体を線形ストリップに制限することにより、汎用三角形ストリップ・フォーマットが空間において2のポテンシャル・ファクタ(potential factor of two) を無駄にするけれども、三次元幾何学形状圧縮に用いられうる。図2に示した幾何学形状は、例えば、一つの三角形ストリップによって表わすることができるが、多くの内部頂点がストリップに二度現れる。
【0022】
図2において、汎用三角形ストリップは、次のように画定されうる。ここで、Rは、再開始を示し、Oは、最古の置換(replace oldest)を示し、Mは、中間の置換(replace middle)を示し、トレーリング・レターpは、メッシュ・バッファへのプッシュを示す。大文字の後に続く数字は、頂点番号であり、負の数字は、−1が最も新しくプッシュされた頂点を示すような、メッシュ・バッファ・リファレンスである。
R6,O1,O7,O2,O3,M4,M8,O5,O9,O10,M11
M17,M16,M9,O15,O8,O7,M14,O13,M6
O12,M18,M19,M20,M14,O21,O15,O22,O16,
O23,O17,O24,M30,M29,M28,M22,O21,M20,
M27,O26,M19,O25,O18
同じ命名法を用いて、汎用三角形メッシュは、次のように画定されうる:
R6p,O1,O7p,O2,O3,M4,M8p,O5,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 vertex specification) よりもかなりコンパクト(例えば、より少ないビットで表される)にすることができるということに注目すべきである。
三次元幾何学形状圧縮は、古い頂点(例えば、上記トレーリング文字“p”を有する頂点)をメッシュ・バッファ・メモリ80に関連付けられたキューの中に明確にプッシュする(図1参照)。これらの古い頂点は、古い頂点が再び望ましいときに後で明確に参照される。このアプローチは、ほぼあらゆる形状の不規則メッシュを支持する精密制御(fine control)を供給する。バッファ・メモリ80は、有限の長さを有し、かつ実際には、4−ビット・インデックスを必要とする、16の最大固定キュー長が好ましい実施例において用いられる。三次元グラフィックスの圧縮に関して、用語“メッシュ・バッファ”は、このキューを参照し、表現“汎用三角形メッシュ”は、汎用三角形ストリップとメッシュ・バッファ・リファレンスとの組合せを参照する。
【0023】
メッシュ・バッファ80の固定サイズは、16の独自のリファレンスよりも長いあらゆるラン(走行)をブレーク・アップ(分割)するために圧縮された幾何学形状に対して全テッセレータズ/リ・ストリッパーズ(tessellators/re-strippers) を必要とする。しかしながら、幾何学形状圧縮が一般にユーザ・レベルにおいて直接的にプログラムされるのではなく複雑なテッセレータズ/リフォーマッターズ(reformatters)、非面倒(non-onerous) な制限による。16の古い頂点は、冗長幾何学形状の約94%までの再仕様(re-specification)を回避することを許容することが事実できる。
また、図2は、表面幾何学形状の一般のメッシュ・バッファ表現の一例でもある。幾何学形状圧縮言語は、汎用三角形ストリップの4つの頂点置換符号;具体的には、最古の置換、中間の置換、時計方向再開始、及び反時計方向再開始を支持する。更に、言語は、この頂点がメッシュ・バッファの中にプッシュされるべきか否かを示すべく各頂点ヘッダにおいて追加ビットを加える。一実施例では、メッシュ・バッファ・リファレンス指令は、どの古い頂点が 2ビット頂点置換符号と共に、再リファレンスされるべきであるかを示すべく4−ビット・フィールドを有する。メッシュ・バッファ・リファレンス指令は、メッシュ・バッファ・プッシュ・ビットを含まない;古い頂点は、一度だけリサイクルすることができる。
【0024】
実際には、幾何学形状は、純粋な位置データをほとんど含んでいないし、かつ一般に、また、ノーマル、及び/又はカラー、及び/又はテキスト・マップ座標は、頂点毎に指定される。従って、メッシュ・バッファ80へのエントリは、ノーマル及びカラー及び/又はテキスト・マップ座標を特に含んでいる、全ての関連頂点毎情報(associated per-vertex information) に対する記憶を含む。
最大記憶空間効率に対して、頂点がデータ・ストリームにおいて指定されるときには、頂点毎ノーマル及び/又はカラー情報は、位置情報で直接束ねられるのが好ましい。そのような包束(bundling)は、二つの状態ビットによって制御されるのが好ましい:頂点を有するバンドル・ノーマルズ(BNV)、及び頂点を有するバンドル・カラー(BCV)。図8は、他の中にビットを含んでいる指令構造を示す。頂点がメッシュ・バッファの中にプッシュされたときには、その束ねられたノーマル及び/又はカラーがプッシュされたならばこれらのビットも同様に制御する。
上記参照特許出願に記載された圧縮技術は、三角形に限定されないし、かつベクトル及びドットも圧縮されうるということに注目すべきである。例えば、線は、置換ビットがMOVE及びDRAWであるような、三角形のサブセットである。次いで、出力頂点は、他の頂点が最近、先に省略された頂点である、線の一つの終点を表わす頂点である。ドットに対して、置換ビットは、DRAWであり、かつ出力頂点は、頂点である。
CPU52がメッシュ・バッファ・リファレンス指令を実行するときに、この処理は、逆転される。即ち、2ビットは、ノーマル及び/又はカラーが受け継がれるか、またはメッシュ・バッファ記憶装置80から読み取られるか、または現行ノーマルまたは現行カラーから取得されるべきかを指定する。ソフトウェア58は、これら二つの現行値を設定するための明確な指令を含むのが好ましい。しかしながら、明確な“設定現行ノーマル”指令が、アクティブなBNV状態ビットを有する、メッシュ・バッファ・リファレンスを後続するときに、この規則に対する例外が存在する。この情況では、前者は、表面幾何学形状におけるハード・エッジのコンパクト表現を許容すべく、メッシュ・バッファ・ノーマルを無効にする。また、類似のセマンティックスもカラーに対して画定され、表面カラーにおけるハード・エッジのコンパクト表現を許容する。
二つの追加状態ビットは、頂点のストリームが三角形に変換されるときにノーマル及びカラーの解釈を制御する。三角形にわたる複製ノーマル(RNT)ビットは、三角形を完成する最終頂点のノーマルが三角形全体にわたり複製されるべきであることを表わす。三角形にわたる複製カラー(RCT)ビットは、図8の指令構造に示されるように、同様に画定される。
【0025】
ここでイメージxyz位置の圧縮を説明する。32ビットIEEE浮動小数点数に関連付けられた8ビット指数の使用は、大きさにおいてサブ・アトミック粒子から数十億光年までの範囲を位置に許容する。しかし、所与のモザイク形状オブジェクト(tessellated object)に対して、現行モデリング・マトリックスによってちょうど一度だけ指数が実際に指定され、かつオブジェクト幾何学形状は、24ビット固定点仮数(fixed-point mantissa)だけを用いて所与のモデリング空間内に効果的に記載される。多くの場合、視覚的受容のためにかなり少ない数ビットを必要とすしかつ、幾何学形状圧縮言語は、1ビットに至るまでの位置データの変数量子化を支持するのが好ましい。
他の極端では、経験的視覚検査並びに半導体ハードウェア・インプリメンテーションの考察は、位置のコンポーネント当たり16ビット以下の精度がほとんど全ての場合に必要であるということを示す。
【0026】
しかしながら、オブジェクト当たりのローカル・モデリング空間の位置及びスケールは、全32ビットまたは64ビット浮動小数点座標によって指定されるということを想定する。十分な数値ケアを用いて、複数のそのようなモデリング空間は、16ビット以上の位置精度を有するシームレス幾何学形状座標システムを形成すべく一緒に組合せられうる。
殆どの幾何学形状は、ローカルである。それゆえに、各オブジェクトに対する16ビット(またはそれ以下)モデリング空間内で、汎用メッシュ・バッファ・ストリームの隣接頂点間の差(Δ)は、たいてい有効(重要度)において16ビット以下である。所望ならば、幾何学形状のバッチにおける近隣位置Δのビット長を表しているヒストグラムを構築しうるし、かつこのヒストグラムに基づき頂点をコンパクトに表わすために可変長コードを割り当てうる。記述するように、カスタマイズされたハフマン符号化は、幾何学形状圧縮における位置Δを符号化するために用いるのが好ましい。
ここで、赤−青−緑−アルファ(“RBGA”)カラーの圧縮を説明する。カラー・データは、位置と同様に処理されるが、より小さい最大精度で処理される。それゆえに、RGBαカラー・データは、(1.0が100%反射率を表わすような)絶対線形反射率値である12ビットの符号なし小数コンポーネントにまず量子化される。追加パラメータは、カラー・データを12ビット以下のあらゆる量に効果的(有効)に量子化させる。例として、図6に示すように、カラーは、5−5−5RGBカラー空間内に全てありうる。オプショナル・αフィールドは、図8に示したカラーαプレゼント(“CAP”)状態ビットによって制御される。最終レンダード画像(final rendered image)上で個別画素カラーは、量子化された頂点カラー間にまだ挿入され、また一般にライティング(lighting)の対象でもある。
【0027】
実際には、同じΔ−符号化は、カラー・コンポーネント及び位置に対して用いられうる。カラー・データ圧縮の領域は、幾何学形状圧縮と従来画像圧縮が最も類似した問題に直面したところである。しかしながら、フォーカスにおける差の原因で、多くの高度画像圧縮技術が幾何学形状カラー圧縮に対して回避されうる。
例えば、JPEG画像圧縮標準は、幾何学形状圧縮に対して行うことができない圧縮解除データのビューイングに関する仮定(想定)に依存する。例えば、画像圧縮では、画素は、完全に直交(矩形)アレイで現われ、かつビューしたときに、各画素が可視角度の狭い範囲の限界を定めるということが先に知られている。対照的に、幾何学形状圧縮では、視聴者とラスタ化された幾何学形状の間の関係は、予想不可能である。
画像圧縮では、視聴者の目の上に表示された画素の空間周波数は、たいてい人間の視覚システムのカラー鋭敏さよりも高いということが知られている。この理由で、カラーは、UVカラー・コンポーネントがY(強度)コンポーネントよりも低い空間周波数で表現することができるようにYUV空間に一般に変換される。通常、サブ・サンプルUVコンポーネントを表しているディジタル・ビットは、二つ以上の画素の間で分配される。しかしながら、視聴者の眼に対する幾何学形状の固定表示スケールが存在しないので、幾何学形状圧縮は、これを利用することができない。更に、圧縮三角形頂点が汎用三角形メッシュの4つから8つまたはそれ以上の頂点に連結されると仮定すると、頂点にわたるカラー情報の“half(半分)”を共有する一定した方法が存在しない。
同様な議論は、離散余弦変換(DCT)のような、従来の画像圧縮に用いられる更に複雑な変形に適用される。これらの変換は、画素値の正則または正規(矩形・直交)サンプリングを想定し、かつ圧縮解除の間中に多量のランダム・アクセスを必要とする。
【0028】
擬似カラー・ルックアップ表を用いることは、この分野で知られているが、そのような表は、固定最大サイズを要求し、かつ実時間処理に対する相対的に高価な資源を表しうる。擬似カラー・インデックスがある一定の場面(scenes)に対してわずかに高い圧縮率をもたらしうると同時に、RGBモデルは、更に一般化されかつインプリメントするのにかなり安い。
RGBモデルでは、RGB値は、線形反射値として表される。理論的に、照明(lighting)の全効果を予め知ることができるならば、RGBコンポーネントが非線形、または知覚的線形空間(ガンマ補正空間(gamma corrected space) とも称される)で表現されていたならば、一つ以上の表現ビットを落すことができる。実際には、照明効果は、予測可能でない傾向があり、かつ非線形光線から線形光線へのオン・ザ・フライ変換は、かなりのハードウェア資源を必要とする。
【0029】
ここで表面ノーマル(normals) の圧縮を説明する。従来、8ビット・カラー強度を決定するために計算において96ビット・ノーマル(3つの32ビットIEEE浮動小数点数)が用いられる。理論的に、96ビットの情報は、単位球の表面上に均等に拡がる、296の異なるノーマルを表わすために用いることができる。結果として得られた非常に高い精度は、2-46 ラジアン毎にあらゆる方向に突出しているノーマルを表わす。
しかし、IEEE浮動小数点正規化ノーマルに対して、指数ビットは、有効的に用いられない。拘束NX 2 +Ny 2 +Nz 2 =1を想定すると、NX 、Ny 、またはNz の少なくとも一つは、0.5から1.0の範囲でなければならない。レンダリングの間に、このノーマルは、複合モデリング・オリエンテーション・マトリックスによって変換される:
【0030】
【数1】
' x =NX ・T0,0 +Ny ・T0,1 +Nz ・T0,2
' y =Nx ・T1,0 +Ny ・T1,1 +Nz ・T1,2
' z =NX ・T2,0 +Ny ・T2,1 +Nz ・T2,2
【0031】
照明がワールド・コーディネートで実行されるような一般的インプリメンテーションを想定すると、ビュー変換は、ノーマルの処理に含まれない。ノーマルが事前正規化されているならば、ノーマルの冗長再正規化を回避するために、複合モデリング変換マトリックスTは、スケール変更を分配するために一般に事前正規化される。それゆえに:
【0032】
【数2】
0,0 2 +T1,0 2 +T2,0 2 =1、等。
【0033】
ノーマル変換の間、浮動小数点演算ハードウェアは、最大コンポーネントの精度まで全ての加法アーギュメントを効果的に切り捨てる。結果は、スケール保存モデリング・オリエンテーション・マトリックスによって変換が行われる正規化ノーマルに対して、変換されたノーマル値の数値精度は2〜3の特別な場合を除いた全てにおいて24ビット固定点精度未満(no more than 24-bit fixed-point accuracy)まで低減される。
比較すると、24ビット・ノーマル・コンポーネントでさえも、修正されたハブル天体望遠鏡よりも高いアンギュラ精度を供給しうるし、かつ実際には、あるシステムは、16ビット・ノーマル・コンポーネントだけを利用する。16ビット・ノーマル・コンポーネントによる実験的テストでは、ノーマル間の0.01ラジアンのアンギュラ密度からの結果(例えば、単位球上に分散された約100,000のノーマル)は、より高い精度の表現から視覚的に識別可能ではない。直線空間では、これらのノーマルは、高い表現精度をまだ要求し、かつ実際には、一つのサイン及び一つのガード・ビットを含んでいる16ビット・コンポーネントは、よい設計選択を表わす。これは、ノーマルを表わすために48ビットをまだ必要とするが、しかし100,000の指定ノーマルだけに興味があるので、理論的に単一17ビット・インデックスは、これらのノーマルのどれかを表しうる。
【0034】
ここで、インデックスとしてのノーマルの使用、及び供給された合成利点(resultant advantages)を説明する。単位球上のノーマルのインデックスをNX 、Ny 、Nz 値に戻して変換する一方法は、たぶんメモリ70に装填されている表の、表ルックアップによってである。表サイズは、可能的に大きいけれども、必要サイズは、単位球に存在する48通りのシンメトリ(対称性)を利用することによって実質的に低減することができる。
より特定的には、図3に示すように、単位球は、サイン・ビットによる8つのクォドラントにおけるサイン・ビットによって対称である。ノーマル表現ビットの3つをノーマルのxyzコンポーネントの3つのサイン・ビットにすることによって、単位球の1/8を表わすことだけが次いで必要である。単位球の各オクタントは、平面x=y、x=z、及びy=zについて折り曲げることによって6つの同一コンポーネントに分割することができる。6つの可能なセクスタント(sextants)は、表現されたままの球の1/48だけを残す、別の3ビットで符号化される。
【0035】
上記シンメトリを用いることは、8×6=48のファクタでルックアップ表サイズを低減する。100,000エントリを記憶する代わりに、ルックアップ表は、ROM59(図1参照)内にたぶん記憶される、オン・チップROMルックアップ表であるべく十分に小さいサイズの、約2,000エントリだけを記憶する必要がある。ルックアップ表の中にインデックスすることは、先に記載された二つの3ビット・フィールドに加えられたときに全ての3つのノーマル・コンポーネントを記載するために17ビット・フィールドを結果として生ずる、11のアドレス・ビットを必要とする
有限セットの単位ノーマルを表わすことは、単位球の表面上に点を位置決めすることに等しい。完全に均等なアンギュラー密度分布が多くの数の点に対して存在しないにもかかわらず、多くの近最適分布が存在する。理論的に、上述した型の48通りシンメトリは、三次元幾何学形状圧縮解除装置130に関連付けられた圧縮解除ルックアップ表に用いることができる(図1参照)。
しかしながら、複数の更なる拘束は、符号化の異なる選択を要求する。第1に、スケーラブル密度分布が望まれる、例えば、“0”までの更に下位のアドレス・ビットをルックアップ表に設定することは、単位球上にかなり均等なノーマル密度を結果としてまだ生ずるような分布。さもなければ、全ての符号化密度に対して異なるルックアップ表が必要である。第2に、Δ符号化可能分布は、幾何学形状の隣接頂点が、単位球の表面で隣接するノーマルを統計的に有することにおいて望ましい。単位球表面の二次元空間上の隣接位置は、二次元オフセットによって最も簡潔に符号化される。そのようなメートル(metric)が存在するような分布を有することが望ましい。そして、ノーマル符号化処理に関連付けられた計算費用が極めて重要ではないけれども、より低い符号化費用を有している分布がそれでもなお好ましい。
【0036】
上記参照特許出願による圧縮は、単位球の一つのセクスタント内のアンギュラ空間に正則グリッドを有している分布を用いる。そのように、モノリシックな11ビット・インデックスよりも、セクスタント内の全てのノーマルは、二つの6ビット直交アンギュラ・アドレスで有利に表現される。次いで、この構成は、先のビット総数を18ビットに改訂する。位置及びカラーの場合のように、ノーマルの更なる量子化が受容されたならば、これらの6ビット・インデックスは、より少ないビットまで低減することができ、それゆえに18から少なくとも6ビットまでのどれかを用いて絶対ノーマルを表わすことができる。しかしながら、以下に説明するように、この空間は、ノーマルの高品質表現に必要なビット数を更に低減するためにΔ−符号化されるのが好ましい。
ここでノーマル符号化パラメータ化を説明する。単位半径球上の点は、θがy軸についての角度、φがy=0平面からの経方向角度であるような、角θ及びφにより極座標を用いてパラメータ化される。式(1)は、次のように直交座標と極座標の間のマッピングを支配する:
【0037】
【数3】
x=cosθ・cosφ y=sinφ z=sinθ・cosφ (1)
【0038】
球上の点は、オクタントによってまず折り曲げられ、次いで6つのセクスタントの一つにxyzの分類順に折り曲げられる。全ての表符号化は、半球によって境界をつけられた領域における正のオクタントで行われる:
【0039】
【数4】
x≧z z≧y y≧0
【0040】
図3に示すように、説明した三角形形状パッチは、θでは0からπ/4ラジアンまで、φでは0から最大0.615479709ラジアンまで実行する。
量子化された角度は、nが0から6までの範囲にある、二つのnビット整数θn ハット(^)、φn ハット(^)によって表される。所与のnに対して、インデックスθとφの間の関係は:
【0041】
【数5】
Figure 0003884509
【0042】
式(2)は、どのようにθ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 ハット(^)である。
【0043】
上記参照特許出願では、通常のハフマン・アルゴリズムの変形を有する、圧縮タグが用いられる。
ハフマン圧縮アルゴリズムは、それらの記号の発生統計量の頻度(周波数)(例えば、ヒストグラム)と共に、表されるべき一組の記号を取り入れる。記号が指定した頻度(周波数)で発生すると想定して、これから、これらの記号を近最小合計ビット数で表させる、可変長の、独自に識別可能なビット・パターンが生成される。
JPEGを含む、多くの圧縮技術は、後続する可変長データ・フィールドの長さを表わすためのタグとして独自の記号を生成する。このデータ・フィールドは、一般に指定長デルタ値である。それゆえに、最後の2進ストリームは、それぞれがその長さがその固有タグ記号に関連付けられるデータ・フィールドによってすぐに後続される、(自己記述長)可変長タグ記号から構成される。
参照特許出願では、幾何学形状圧縮に対する2進フォーマットは、位置、ノーマル、及びカラー・データ・フィールドを表わすためにこの技術を用いる。幾何学形状圧縮に対して、これらの<tag,data>フィールドは、より一般的なコンピュータ命令セット・オプ−コード(op-code) フィールドによってすぐに先行される。これらのフィールドは、可能な追加オペランド・ビットと共に、幾何学形状命令として参照される(表される)(図4〜図15参照)。
従来、圧縮されるべき各値は、それ自身の関連ラベルが割り当てられ、例えば、xyzΔ位置は、3つのタグ値ペアによって表される。しかし、Δxyz値は、相関関係でないので、より密で、より簡素な、表現を達成することができる。一般に、xyzΔの統計的ポイントは、空間の全ての方向を均等にポイントする。それゆえに、nが最大のΔを表わすために必要なビットの数であるならば、統計的に他の二つのΔ値は、それらの表現に対してn−1.4ビットの平均を必要とする。従って、実際には、単一フィールド長タグは、Δx、Δy、及びΔzのビット長を表わすために用いうる。
残念ならが、このアプローチを用いることは、コンピュータ当たり一つのビット以上よりも幾分少なくセーブするために別のハフマン技術を利用することを阻止する。しかしながら、インプリメントされた実施例は、(Δy及びΔzに対して)二つの追加タグ・フィールドを指定しなくてもよいことによってこの欠点を圧迫する。更なる利点は、所望ならば、単一タグ・フィールドを用いることがハードウェア圧縮解除エンジンに並列で全ての3つのフィールドを圧縮解除させるということである。
【0044】
同様なアーギュメントがRGBα値のΔ’sに対して保持され、従って、単一のフィールド長タグは、R、G、B及び、もし存在すれば、αフィールドのビット長を表わすために用いられる。
また、絶対及びΔノーマルは、単一タグによって指定することができる単一値(n)によってパラメータ化される。高速で、低コストのハードウェア・インプリメンテーションを容易にするために、ハフマン・タグ・フィールドの長さは、比較的小さな値である、6ビットに制限されうる。64エントリ・タグ・ルックアップ表は、1クロック・サイクルにおけるタグの復号を許容する。一つの表は、位置に対して存在し、別の表は、ノーマルに対して存在し、更に別の表は、カラー(及びオプションとして、テクスチャ座標に対しても)存在する。各表は、タグ・フィールドの長さ、データ・フィールドの長さ、データ正規化係数、及び絶対/相対ビットを含む。
適正なハードウェア・インプリメンテーションに対して、さらに別の厄介な問題に対処しなければならない。以下に説明するように、全ての命令は、8ビット・ヘッダ、及び可変長本体に分解され、本体長を決定するために十分な情報がヘッダに存在している。しかし、ヘッダ情報を処理すべくハードウェア時間を与えるために先の命令の本体の前に、一つの命令のヘッダは、データ・ストリームに配置されなければならない。例えば、シーケンス...B0 H1B1 H2B2 H3...は、H1 B0 H2 B1 H3 B2...として符号化されなければならない。
【0045】
ここで、図4〜図15に関して、上記参照特許出願に開示された幾何学形状圧縮命令セットを説明する。図4は、バンドリング(bundling)・ビット(BNV及びBCV)によって、ハフマン圧縮Δ符号化位置、並びに可能なノーマル及び/又はカラーを指定する頂点指令を示す。二つの更なるビットは、頂点置換コード(REP)を指定し、かつ別のビットは、この頂点を押し出しているメッシュ・バッファを制御する(MBP)。
図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にすべきである。
【0046】
有利には、幾何学形状圧縮は、この実時間要求事項を有さない。幾何学形状がオン・ザ・フライで構築されたとしても、ほとんどの幾何学形状生成技術、例えば、CSGは、幾何学形状を表示するために必要な時間よりも多い時間を要求する。また、映画に見られるような連続画像とは異なり、幾何学形状圧縮のほとんどのアプリケーションでは、圧縮三次元オブジェクトが廃棄される前に多くのシーケンス・フレームに対して表示される。三次元オブジェクトが動画化を要求するならば、動画は、モデリング・マトリックスで一般に行われる。事実CDベース・ゲースに対して、オブジェクトが、カスタマ−ユーザによって数億回も圧縮解除されうることは、もっともらしいが、著作会社(authoring company) によって一度だけ圧縮される。
ある他の圧縮システムのように、幾何学形状圧縮アルゴリズムは、圧縮時間対圧縮率トレード・オフを有することができる。所与の品質ターゲット・レベルに対して、圧縮に対する許容時間が増大すると、幾何学形状圧縮システムによって達成される圧縮率は、増大する。合成圧縮三次元オブジェクトの品質に対して対応“ノブ(knob)”が存在し、品質ノブが低いと、達成される圧縮がよくなる。
審美的かつ主観的判断は、幾何学形状圧縮に適用されうる。ある三次元オブジェクトは、ノーマル及び/又は位置のターゲット量子化が多少低減されるときに悪く見えはじめ、他のオブジェクトは、大量の量子化でも視覚的に変わりえない。圧縮は、可視アーティファクト(人工産物)を時々もたらすことができるが、他の場合には、品質が必ずしも低下するとは限らないが、オブジェクトを違って見せるだけでありうる。出願人による一つの実験では、象のイメージは、イメージ・ノーマルが更に量子化されると、さらに皺のような皮膚を有して、実際により現実的に見えはじめる。一度モデルが生成されかつ圧縮されると、システム・レベルで三次元クリップ−アートとして用いられるべく、それはライブラリの中に入れることができる。
【0047】
幾何学形状圧縮の多くの態様は、汎用であると同時に、上述した幾何学形状圧縮命令セットは、低コスト、高速ハードウェア・インプリメンテーションを許容すべくある程度適合される。(ソフトウェア圧縮解除のためにだけ設計された幾何学形状圧縮フォーマットは、幾分異なるということが理解される。)。ワンパス連続処理、限定ローカル記憶要求、タグ・ルックアップ(従来のハミング・ビット連続処理とは反対に)、及びシフト、加算の使用、及びほとんどの演算段階を達成するためのルックアップにより、説明した幾何学形状圧縮命令セットは、ハードウェア・インプリメンテーションに対して特に修正可能である。
図16は、本圧縮解除発明が用いられうる、上記参照特許出願に記載された、幾何学形状圧縮アルゴリズム・ルーチンにおける方法段階を概説しているフローチャートである。そのようなルーチンは、メモリ80に記憶されかつCPU60の制御下で実行されうる(図1参照)。
段階200では、オブジェクトは、位置、ノーマル、及びカラーに対する量子化しきい値と共に、圧縮されるべき三角形の明示グループによって表される。段階210では、連結性のトポロジー的分析が行われ、かつハード・エッジは、そのような情報が既に存在していないならば、ノーマル及び/又はカラーで印を付けられる。
段階220では、頂点横断順序及びメッシュ・バッファ参照が生成され、かつ段階230では、Δ位置、Δノーマル、及びΔカラーのヒストグラムズが生成される。段階240では、分離可変長ハフマン・タグ・コードがヒストグラムズに基づいてΔ位置、Δノーマル、及びΔカラーに対して割り当てられる。
段階250では、2進出力ストリームがハフマン表初期化をまず出力することによって生成され、その後で頂点が順番に横断される。適当なタグ及びΔ’sが全ての値に対して出力される。
【0048】
出願人は、位置及びノーマルの圧縮を支持し、かつ全汎用三角形ストリップを生成するが、しかし全メッシュファイング(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及びP24/N96の効果を示し、図21及び図22は、ノーマル量子化、P96/N18及びP96/N12だけを示す。図23及び図24は、結合量子化、P48/N18及びP30/N36を示す。
図25〜図29は、ガリオン(P30/N12)、ダッジ・バイパー(P36/N14)、’57シェビーの二つのビュー(P33/N13)、及び虫(P39/N15)を含む、異なるオブジェクトに対する量子化された結果だけを示す。
オブジェクトを拡大ズームすることなく、24ビットよりも上の位置量子化は、実質的に重要な可視効果を有さない。ノーマル量子化が低減されると、表面上の鏡のような強調(specular highlights) の位置は、多少オフセットされる。しかしながら、そのような変化が、少なくとも12ビット/ノーマル以上の、品質における低減であるということは、視覚的に自明ではない。量子化パラメータは、オブジェクトと共に写真に撮られ、そしてさもなければ、出願人でさえも、オリジナルと同じオブジェクトの最も圧縮されたバージョンとを識別することができない。
【0049】
表1は、これらのオブジェクトに対する圧縮及び他の統計量を要約する。カラム1は、問題のオブジェクトを示し、カラム2は、Δ’sの数を表し、カラム3は、Δストリップ長を表わす。4番目のカラムは、頂点当たりのシステム・オーバヘッドを表わす(オーバヘッドは、位置タグ/データ、及びノーマル・タグ/データを越えた全てのものである)。“xyz quant”カラムは、量子化しきい値を示し、そして6番目のカラムは、ビット数/xyzを示す。“Bits/tri”9番目カラムは、三角形当たりのビットを示す。
表1の結果は、括弧で示される、推定メッシュ・バッファ結果を除き、測定された実圧縮データである。実メッシュ・バッファ結果は、その出願人のプロトタイプ・ソフトウェア・コンプレッサが全メッシファイング・アルゴリズムをまだインプリメントしていないので、存在しない。(括弧で示した)推定は、メッシュ・バッファにおいて46%ヒット率を想定する。
表1では、最右カラムは、既存の実行可能な幾何学形状フォーマットにわたり達成された圧縮率性能を示す。圧縮された幾何学形状の合計バイト計数が明白な数であるけれども、圧縮率を示すことにおいてある想定がオブジェクトの非圧縮実行可能表現についてなされなければならない。出願人は、表1に対して“最初の大きさ”(original size) のデータを算出するために浮動小数点値によって表される位置及びノーマルの両方を有する、最適化された汎用三角形ストリップを想定した。
単なる16ビット固定点単一ストリップ表現の効果を示すために、表1は、また、OpenGLのモードに対するビット計数も示す。示したように、平均ストリップ長は、2〜3の範囲で減少した。もしあれば、市販製品は、汎用三角形ストリップをほとんど利用せず、それゆえに、表1は、可能なメモリ空間セービングをかなり控えめに表している。
【0050】
【表1】
Figure 0003884509
【0051】
【表2】
Figure 0003884509
【0052】
確実に統計的変化が圧縮率に関してオブジェクト間に存在すると同時に、一般的な傾向は、それでもなお示される。量子化ノブ(P48/N18)の最高品質のセッティングを用いて圧縮するときに、圧縮率は、一般に約6である。率がそれに近づくと、ほとんどのオブジェクトは、可視量子化アーティファクト(人工産物)を表し始める。
三次元幾何学形状圧縮アルゴリズムは、実時間ハードウェア、またはソフトウェアで実現されうるということが上述から理解されるであろう。重要なのは、三次元レンダリング・ハードウェアが本発明による幾何学形状圧縮解除装置を含んでいるならば、アプリケーション幾何学形状は、圧縮されたフォーマットでメモリに記憶されうる。更に、データ伝送は、圧縮されたフォーマットを用いうるし、それゆえに、共有仮想現実表示環境を含む、グラフィックス加速器システムに対する有効帯域幅を改良する。合成圧縮は、主(1次)メモリにおける幾何学形状キャッシュ可能性の量を実質的に増大することができる。
図30は、図1に示したディコンプレッサ装置130の詳細ブロック図である。図30に示すように、装置130は、その入力が制御信号及び好ましくは32ビットまたは64ビット・データ・ストリームを含む圧縮解除入力先入れ先出しレジスタ(“FIFO”)200を含み、それらの信号及びデータ・ストリームは、インターフェイス装置120(図1参照)の加速器ポート・データFIFO(“APDF”)からくるのが好ましい。インターフェイス120のAPDD部分は、装置130に入力データ・ストリームの大きさの信号を送るコントローラを含む。FIFO200は、入力ブロック状態マシン220及び入力ブロック210に出力を供給し、状態マシン220及び入力ブロック装置210は、互いに通信している。
【0053】
ブロック210からの出力は、バレル・シフタ装置240及びハフマン表セット230に結合され、ハフマン・ルックアップからの出力は、状態マシン220に結合される。状態マシン220内のOpcode(オプコード)は、ハフマン表230によって供給された値を処理しかつバレル・シフタ装置240にデータを出力する。また、状態マシン220は、タグ・デコーダ装置294に好ましくは12ビット幅信号を出力しかつバレル・シフタ装置240及びノーマル・プロセッサ270、及び位置/カラー・プロセッサ280にデータを出力する、データ・パス・コントローラ260に出力を供給する。
バレル・シフタ装置240は、ノーマル・プロセッサ270及び位置/カラー・プロセッサ280に出力する。プロセッサ270及び280からの出力は、フォーマット・コンバータ292に供給される好ましくは48ビット幅信号に出力マルチプレクサ装置290によってマルチプレクスされる。圧縮解除装置130は、フォーマット・コンバータ292に送られる、(ノーマルに対して)32ビットまたは48ビットのいずれかと並列でタグ・デコーダ294に送られる好ましくは12ビット・タグを生成する。これらのデータ・ストリームは、フォーマット・コンバータ292への出力を生成する命令を供給する。好ましくは32ビット・リードバック(read-back) 経路は、装置の状態をリードバックするために用いられる。
下記の表2は、好ましい実施例における圧縮解除装置130を実現するために用いるインターフェイス信号を示す:
【0054】
【表3】
Figure 0003884509
【0055】
下記の表3は、好ましい実施例における装置130によって供給される出力データ・フォーマットを示す。ここで説明するように、頂点、メッシュ・バッファ・リファレンス、及びパススルー命令は、圧縮解除装置130からのトランザクションを生成する。頂点及びメッシュ・バッファ・リファレンス命令は、フォーマット・コンバータにデータを送り、かつそれぞれは、コンポーネント・データを後続する、現行頂点に対する頂点置換方針を示しているヘッダを生成する。これらの命令のそれぞれは、位置データを常に生成し、かつ状態レジスタの値により、カラーまたはノーマル・データを含みうる。ノーマル・コンポーネントの3つの全ては、並列に送られ、各位置及びカラー・コンポーネントは、別々に送られるのが好ましい。パススルー命令は、好ましくは32ビットのデータを収集(コレクション)バッファに送る。
【0056】
【表4】
Figure 0003884509
【0057】
図31は、図30に示した入力ブロック210の詳細ブロック図である。好ましくは、64ビット入力レジスタ300は、レジスタ300に装填されるときに32ビットまたは64ビットで、インターフェイス130のAPDF部分からデータを受け取る。レジスタ300は、その出力がレジスタ330を通ってマージ装置340にパスする第1のバレル・シフタ320にマルチプレクサ310を介して一度に好ましくは32ビットを出力する。マージ装置340からの64ビット出力は、データ・レジスタ350に入力され、その出力の一部は、第2のバレル・シフタ360への入力としてリターンされる。第2のバレル・シフタ360からの出力は、レジスタ370を通してパスされかつマージ装置340へも入力される。第1のバレル・シフタ320は、第2のバレル・シフタ360を通してデータ・レジスタ350からリサイクルされるビット位置合わせデータ・ストリームの末端にデータを位置合わせする。第2のバレル・シフタ360は、データ・レジスタ350から使用済みビットをシフト・オフする。
図32は、図30に示したバレル・シフタ装置240の詳細ブロック図である。概観で、バレル・シフタ装置240は、可変長位置、カラー、及びノーマル・インデックス・コンポーネントをそれらの固定点精度まで拡張する。装置210及び/又は220から装置240へのデータは、その出力が画定オプコードとして示されるレジスタ400及び/又はデータ装置410、420、430、440、450、及び460に入力され、マルチプレクサ装置470に入力される。
【0058】
マルチプレクサ装置470では、入力Aは、頂点命令の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_len、data_len、及びシフトを装置480、500及び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)を受け取る。
【0059】
ハフマン表230からのabs_relビットが相対的(relative)にセットされたならば、入力データは、結合器装置600によってに適切な現行記憶データに加えられる。新しい値は、マルチプレクサ610を通過し、かつレジスタ620に戻り記憶され、かつ図30に示すように、出力マルチプレクサ290に沿って送られる。しかし、abs_relビットが絶対的(absolute)に設定されたならば、入力データは、加算器600をバイパスし、レジスタ620にラッチされ、かつまた出力マルチプレクサ290に送り出される。
図33に示すように、位置/カラー・プロセッサ装置280は、レジスタ620への入力を受け取るべく結合される位置/カラー・メッシュ・バッファ630を更に含む。メッシュ・バッファ630からの出力は、その出力がx、y、z、r、g、b及びαの現行値(current values)を反映する、集合的に640で示された、マルチプレクサ・ゲートに結合される。集合的に650として示された、レジスタ・セットは、その出力が加算器600に結合されるマルチプレクサ660の入力にこれらの現行値を供給する。プロセッサ装置280は、バレル・シフタ装置240からのpt_dataを受取りかつ出力するレジスタ670を更に含む。
【0060】
図30に示すように、ノーマル・プロセッサ装置270は、また、出力マルチプレクサ290にデータを出力する。図34は、ノーマル・プロセッサ装置270を含んでいるサブユニットを詳細に示す。図30及び図32に示したように、ノーマル・プロセッサ装置270は、3つの分離コンポーネント、即ち、セクスタント/オクタント、u及びv、またはバレル・シフタ装置240のマスク装置510からの符号化されたΔu及びΔvコンポーネント、として18ビット・ノーマル・インデックスを受取る。値がΔ値(相対的)であるならば、Δu及びΔvは、対応加算器710によって現行u及びv値に加えられる。中間値は、記憶されかつまたデコーダ−フォールド−ロム(decoder-fold-rom)装置272(図35参照)に関連付けられたフォールド(fold)装置800にパスされる。
図34に示すように、ノーマル・プロセッサ装置270は、対応オクタント、セクスタント、u及びv値、curr_oct、curr_sext、curr_u、及びcurr_v値を保持するレジスタ712、714、716、718、720、722、724、726を更に含む。また、装置270に存在するのは、マルチプレクサ740、742、744、746、748、750、752、754、756、758及び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、852、854を用いて)サインを逆にするマルチプレクサ840、842、844、860、862、864を制御する。
【0061】
フォールド装置800は、ノーマル・ルックアップ表ROM830へのアドレスを計算するために、装置270からの、ノーマル・インデックスのu及びvコンポーネントを用いる。装置270からの、オクタント及びセクスタント・フィールドは、ROMルックアップ表830から出力されるコンポーネントのサイン及び順番を決定するデコーダ810を駆動する。また、デコーダ810は、ノーマルROMルックアップ表830に含まれない特別の場合のノーマルを処理する。
図36は、図33及び/又は図34に示したような、メッシュ・バッファへのインターフェイスを示す。好ましい実施例では、メッシュ・バッファ794は、レジスタ・ファイル及び現行位置へのポインタとしてインプリメントされる。データは、現行位置ポインタの位置におけるメッシュ・バッファFIFOに入力される。しかしながら、16の位置のいずれかへのランダム・アクセスは、このポインタをインデックシング・オフ(indexing off)することによってFIFOからデータを読み出すときに許容される:アドレス=(curr_loc_ptr−インデックス)mod16。
図37は、ホフマン表、例えば、図30の表230へのインターフェイスを示す。ホフマン表は、圧縮データに先行しているホフマン・タグを復号するために用いる。3つのホフマン表が用いられる:各表が64のエントリを保持しているのが好ましく、位置に対して一つ、カラーに対して一つ、ノーマル・データに対して一つ。
【0062】
図38は、ホフマン表における位置及びカラー・データのエントリに対して好ましいフォーマットを示し、図39は、ノーマル表エントリに対する好ましいフォーマットを示す。圧縮データ・ストリームにホフマン表を装填するための命令フォーマットは、後で説明する。
複数の命令は、図30に示した、フォーマット変換器292に対するデータを生成し、かつフォーマット変換器がデータを正確に処理できるように、適当なタグがこのデータに対して生成されなければならない。以下に示す、表4は、異なるデータ・コンポーネントに対して生成されるタグを示す。二つのタグを示すコンポーネントは、ランチ(launch)・ビットを設定しうるし、第2のタグは、設定されたランチ・ビットを有する値を示す。
【0063】
【表5】
Figure 0003884509
【0064】
入力ブロック状態マシン220(図30参照)は、圧縮解除装置の処理状態に関する情報を保持する6ビット状態レジスタを含むのが好ましい。好ましい実施例では、次の状態ビットが定義される:
ビット5: tex−カラーの代わりのテキスチャ値
ビット4: rnt−頂点当たりの複製(再現)ノーマル
ビット3: rct−頂点当たりの複製(再現)カラー
ビット2: bnv−頂点にバンドルされたノーマル
ビット1: bcv−頂点にバンドルされたカラー
ビット0: cap−アルファ(α)を含むカラー
【0065】
位置/カラー・プロセッサ装置280(図30及び図33参照)は、現行位置コンポーネント、X、Y、及びZを含み、かつ頂点命令によってのみ更新される、3つの16ビット・レジスタ、curr_x、curr_y、及びcurr_zを含むのが好ましい。
【0066】
ノーマル・プロセッサ装置270(図30及び図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ビットが状態レジスタに設定されるならば頂点命令によって更新される。好ましい実施例では、アルファは、キャップ・ビットが状態レジスタに設定されるときにだけ有効である。テスト・ビットは、赤及び緑だけが有効である場合のような、テキスチャ・コンポーネントを処理するときに設定される。
【0067】
ここで、本発明による圧縮解除をインプリメントする命令セットを説明する。図40は、頂点命令フォーマット、頂点を表わすために可変長ハフマン・符号化を用いる命令を示す。位置情報は、この命令に常に存在する。
Figure 0003884509
【0068】
図40を参照すると、位置データは、可変長ハフマン・タグ(0から6ビット)に続いて、Δ値または絶対値のいずれかである、X、Y、及びZコンポーネントについて同じ長さの3つのデータ・フィールドを含む。位置ハフマン表におけるエントリに対するdata_lenフィールドは、X、Y、及びZフィールドのそれぞれの長さを与え、tag_lenエントリは、タグの長さを与え、abs_relエントリは、データが絶対データであるかまたは先の頂点に相関するかを告げる。ハフマン表からのシフト・エントリは、データに対する量子化レベル(後続しているゼロの数)を与える。
bnvビットが状態レジスタに設定されたならば、ノーマルが含まれる。符号化されたノーマルは、Δu及びΔvに対する二つの可変長データ・フィールド、またはu及びvに対する二つの可変長フィールドを後続するセクスタント及びオクタント(6ビット)に対する固定長フィールドのいずれかを後続するハフマン・タグを有する。前者の符号化は、ノーマルのデルタ符号化に対してであり、後者の符号化は、絶対符号化に対してである。ノーマル・ハフマン表からのdata_len、tag_len、abs_rel、及びシフト・フィールドは、位置表からのエントリと同様に用いられる。
【0069】
図41は、頂点コンポーネント・データ・フォーマットを示す。状態レジスタのbcvビットがセットされたならば、カラーは、頂点を伴って含まれる。カラーは、3つまたは4つのフィールドを用いて位置に類似して符号化されるが、しかしどのようにフィールドが用いられるかは、タグ表によって決定される。絶対的であるとタグ付けされたならば、x、y、z、r、g、rデータが用いられる。絶対ノーマルは、セクスタント及びオクタント・フィールドで用いられる。しかしながら、タグ表が相対的を示すならば、デルタ・ノーマルが用いられ、かつそれは、緯度及び経度データを送るために十分である(例えば、ここでu及びvとしても参照される、θ及びΦ)。
図41を更に参照すると、ハフマン・タグは、R、G、及びBに対して3つの同長フィールドにより後続される。状態レジスタのキャップ・ビットは、αに対する追加フィールドが含まれるか否かということを示す。カラー・ハフマン表からのdata_len、tag_len、abs_rel、及びシフト・フィールドは、位置及びノーマル表からのエントリに対するのと同様に用いられる。
【0070】
頂点命令セットの状態は、次に示すようである:
Figure 0003884509
Figure 0003884509
【0071】
図42は、セット・ノーマル命令に対するフォーマットを示す。セット・ノー
マル命令は、現行ノーマル・レジスタの値を設定する。ノーマル・データは、ここの、示された、頂点命令におけるノーマル・データと同様に符号化される。セット・ノーマル命令の状態は、次の通りである:
Figure 0003884509
【0072】
図43は、現行カラー・レジスタの値を設定する命令である、セット・カラー命令を示す。頂点命令におけるカラー・データの符号化は、カラー・データの符号化に類似する。セット・カラー命令の状態は、次のようである:
Figure 0003884509
【0073】
図44は、メッシュ・バッファ基準命令に対する好ましいフォーマットである。この命令は、メッシュ・バッファにおけるエントリからのデータを次の頂点としてフォーマット変換器へ送り出させる。図44に関して、インデックスは、送るべきメッシュ・バッファからのエントリを示す。メッシュ・バッファにおける最新のエントリは、インデックス0を有し、かつ最古のものは、インデックス15を有する。REP、頂点命令に対する上述した置換ポリシーは、メッシュ・バッファ基準命令に対して用いられたものと同じである。メッシュ・バッファ基準命令に対する状態は、次の通りである:
Figure 0003884509
【0074】
図45は、ビットを圧縮解除装置状態レジスタに設定するセット状態命令を示す。セット状態命令に対する状態は、次の通りである:
1.次のopcodeをラッチする;11ビットだけバレル・シフタ2をシフトする。
2.マージする;命令を分枝する
【0075】
図46は、ハフマン表エントリを設定するセット表命令を示す。表選択は、次の通り:
00−位置表
01−カラー表
10−ノーマル表
11−未画定
【0076】
タグ長は、アドレスから導出される。エントリ・フィールドの9ビットは、ハフマン表エントリの絶対/相対ビット、データ長、及びシフト量フィールドに対応する。(ハフマン表エントリの好ましいフォーマットは、前述した。)セット表命令の状態は、次の通りである:
Figure 0003884509
表5は、好ましいハフマン表充填コードを示す。
【0077】
【表6】
Figure 0003884509
【0078】
図47は、パススルー・データを圧縮データ・ストリームにおいて符号化させるパススルー命令を示す。命令の長さは、64ビットであるのが好ましい。64ビット・バウンダリーに後続パススルー命令を位置合わせすることは、符号化されたストリームにおけるパススルー・データのパッチングを許容する。パススルー命令に対する状態は、次の通りである:
Figure 0003884509
【0079】
図47は、データ・ストリームにおける0ビットの変数を符号化する、可変長NOP(“VNOP”)命令を示す。図47に示した5ビット・カウントは、その後に続く0ビットの数を指定する。この命令は、データ・ストリームの開始に暗黙的に用いられる。この命令は、また、データ・ストリームを32ビットまたは64ビット・バウンダリー、または後のパッチングのために、符号化領域にパッドする(埋め込む)ためにも用いられうる。この命令の状態は、次の通り:
Figure 0003884509
【0080】
図49は、その状態が次に示すような、スキップ8命令を示す:
Figure 0003884509
【0081】
圧縮解除システムにおける単一点でデータ・ストリームを圧縮解除しないで装置間の帯域幅要求を低減することが有利でありうるということが理解される。本発明は、並列に処理されうる所与の数のデータ・ワードの到着を助言する追加指令を供給することによってインプリメントを供給することによってデータ・ストリームの並列圧縮解除を供給することができる。
本発明は、マーク・ビットの存在によってそのような並列の機会の存在を認識することができ、かつ並列圧縮解除に対して、そこでの状態数(stated number) のデータ・ワードの発生がシステム内の他のプロセッサにシャトルされる。更に、並列処理に対して権利が無い次のデータに到着すべくデータ・ストリームにおける所与の数のワードを先にジャンプさせることを許容できる。
また、本発明は、圧縮解除された三次元オブジェクトを見ることにおいてあらゆる突然の知覚空隙を取り除くためにモーフィング・ケイパビリティを供給することもできる。圧縮解除されたデータ・ストリーム内では、実際に存在するかまたは先に圧縮解除された頂点の線形または他の補間(内挿)として頂点を指定することが可能である。例えば、三次元オブジェクトが虎であると想定する。遠距離では、虎の口には歯が存在しないが、近距離では、歯が存在する。本発明は、虎との距離が短くなると、歯が成長し、歯無し虎と歯有り虎との間の突然の変化のシーンがないようなシームレス・トランザクションを提供することができる。変更及び変形は、特許請求の範囲によって画定されるような本発明の対象及び精神から逸脱することなく開示された実施例に対してなされうる。
【0082】
【発明の効果】
本発明の方法は、可変長フィールドのデータ・ストリームを圧縮解除する方法であり、該データ・ストリームが該フィールドの圧縮解除を三次元オブジェクトの非圧縮表面特性にガイドする、オプ・コード・ビット及び/又はタグ・ビットを含んでいる、方法であって、(a)フィールド型をデータ・ストリームから検出し、そのような検出をイネーブルするデータは、先行するが該データ・ストリーム内でシーケンシャルにすぐに先行する必要はない、(b)フィールド長及び/又はフィールド正規化をデータ・ストリームから検出し、そのような検出をイネーブルするデータは、先行するが該データ・ストリーム内でシーケンシャルにすぐに先行する必要はない、(c)段階(a)及び段階(b)の少なくとも一つから得られた情報を用いて、データ・ストリームからビット位置合わせされたフィールドを抽出し、(d)最初の数値スケールに抽出したビット位置合わせされたフィールドを必要に応じて再正規化し、(e)圧縮解除された表面記述データを出力する段階を具備し、データは、オプションで汎用三角形ストリップ・フォーマットであるので、出力データが描画命令として直接レンダリング・ハードウェアにわたされるように圧縮された三次元幾何学形状を圧縮解除することができる。
また、本発明のシステムは、オプ・コード・ビット及び/又はタグ・ビットを含み、その表面が表面特性を画定する三次元オブジェクトを表している圧縮データを含み、そのフィールドが長さにおいて変化することができる、データ・ストリームを圧縮解除する、中央処理装置(CPU)及び当該CPUに結合されたメモリを含んでいるコンピュータ・システムに使用可能な、システムであって、データ・ストリームを受け取りかつすぐ後に続くフィールドのデータ・ストリーム・フィールド情報における先行しているが、すぐにシーケンシャルに先行していることを必要としない、フィールドから検出すべくプログラムされた検出器装置と、フィールド情報は、フィールド型及びフィールド長及び/又はフィールド正規化を含んでおり、検出器装置によって検出された少なくともあるデータを受け取りかつデータ・ストリームからビット位置合わせされたフィールドを抽出すべくプログラムされた抽出器装置とを備えているので、出力データが描画命令として直接レンダリング・ハードウェアにわたされるように圧縮された三次元幾何学形状を圧縮解除することができる。
【図面の簡単な説明】
【図1】本発明による、受信端で、圧縮された三次元幾何学形状がその上で圧縮解除のために送信されうる、一般化されたネットワーク・システムを示す図である。
【図2】一般化された三角形状メッシュ・データ構造、及び表面幾何学形状の一般化されたメッシュ・バッファ表現を示す図である。
【図3】本発明による、表ルック−アップ・サイズにおける48の低減方法を供給すべく用いられる、単位球における6方向単一ビット及び8方向オクタント(八分儀)対称を示す図である。
【図4】本発明による、幾何学形状圧縮命令セットにおける頂点指令を示す図である。
【図5】本発明による、幾何学形状圧縮命令セットにおけるノーマル指令を示す図である。
【図6】本発明による、幾何学形状圧縮命令セットにおけるカラー指令を示す図である。
【図7】本発明による、幾何学形状圧縮命令セットにおけるメッシュ・バッファ参照指令を示す図である。
【図8】本発明による、幾何学形状圧縮命令セットにおけるセット状態指令を示す図である。
【図9】本発明による、幾何学形状圧縮命令セットにおけるセットテーブル指令命令を示す図である。
【図10】本発明による、幾何学形状圧縮命令セットにおけるパス・スルー指令命令を示す図である。
【図11】本発明による、幾何学形状圧縮命令セットにおける可変長ノー・オペレーション(no−op)指令命令を示す図である。
【図12】本発明による、タグ及びΔ−位置データ構造を示す図である。
【図13】本発明による、代替のタグ及びΔ−ノーマル・データ構造を示す図である。
【図14】本発明による、別の代替のタグ及びΔ−ノーマル・データ構造を示す図である。
【図15】本発明による、タグ及びΔ−カラー・データ構造を示す図である。
【図16】本発明による、幾何学形状圧縮アルゴリズムにおける方法ステップスのフローチャートである。
【図17】本発明による、デコンプレッサ・ハードウェアの簡略ブロック図である。
【図18】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図19】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図20】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図21】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図22】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図23】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図24】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図25】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図26】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図27】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図28】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図29】異なる条件下で圧縮されたオブジェクトをディスプレー上に表示した中間調画像を示す写真である。
【図30】本発明による、デコンプレッサ装置の詳細全体ブロック図である。
【図31】図30に示した入力ブロック図の詳細全体ブロック図である。
【図32】図30に示したバレル・シフタ装置の詳細ブロック図である。
【図33】図30に示した位置/カラー・プロセッサ装置の詳細ブロック図である。
【図34】図30に示したノーマル・プロセッサ装置の詳細ブロック図である。
【図35】図34のノーマル・プロセッサ装置に関連付けられたデコーダ、フォールド、及びROMルック−アップ・コンポーネントを示している詳細ブロック図である。
【図36】図33及び/又は図34に示したような、メッシュ・バッファへのインターフェイスを示しているブロック図である。
【図37】本発明による、ハフマン表へのインターフェイスを示す図である。
【図38】本発明による、ハフマン表データのエントリに対する好ましいフォーマットを示す図である。
【図39】本発明による、ハフマン表データのエントリに対する好ましいフォーマットを示す図である。
【図40】本発明による、頂点命令を示す図である。
【図41】本発明による、頂点コンポーネント・データ・フォーマットを示す図である。
【図42】本発明による、セット・ノーマル指令に対するフォーマットを示す図である。
【図43】本発明による、セット・カラー指令を示す図である。
【図44】本発明による、メッシュ・バッファ参照指令を示す図である。
【図45】本発明による、セット状態指令を示す図である。
【図46】本発明による、セット・テーブル指令を示す図である。
【図47】本発明による、パススルー指令を示す図である。
【図48】本発明による、可変長NOP指令を示す図である。
【図49】本発明による、スキップ8指令を示す図である。
【符号の説明】
10 三次元グラフィックス発生源
20 サーバ
30 ネットワーク
40 デコーダ
50 中央処理装置
60 CPU
70 関連主メモリ、ディスク・レイアウト装置
80 メッシュ・バッファ、記憶ディスク装置
90 メモリ部分
100 ROM
110、120 ネットワーク・インターフェイス
130 三次元グラフィックス圧縮解除装置
140 三次元グラフィックス・レンダラー
150 中央処理システム
160 CPU
170 メモリ
180 メモリ部分
190 ROM
200 ディスプレイ

Claims (17)

  1. 可変長フィールドのデータ・ストリームの伸張方法であって
    該データ・ストリームは、前記フィールドの伸張を三次元オブジェクトの非圧縮表面特性へ導くオプ・コード・ビット及び/又はタグ・ビットを含み、
    (a)前記データ・ストリーム内で、必ずしも直前には限られない先行の検出を有効とするデータを有する前記データ・ストリームから、フィールド型を検出し、
    (b)前記データ・ストリーム内で、必ずしも直前には限られない先行の検出を有効とするデータを有する前記データ・ストリームから、フィールド長、及び/又は、フィールド正規化を検出し、
    (c)段階(a)及び段階(b)のうちの少なくとも一つから得られた情報を使用し、前記データ・ストリームからビット位置合わせされたフィールドを抽出し、
    (d)抽出された前記ビット位置合わせされたフィールドを必要に応じて本来の数値スケールに再正規化し、
    (e)選択的に汎用三角形ストリップ・フォーマットデータであるような伸張された表面記述データを出力する、
    ことを含む方法。
  2. 請求項1に記載の方法において、
    前記オプ・コード・ビットは、後続するフィールドのの型に関する情報を表わし、前記情報は、(i)頂点情報、(ii)位置情報、(iii)表面法線情報、(iv)カラー、(v)テキスチャ・マップ座標、(vi)表面材料属性、(vii)手順情報、(viii)頂点コマンド法線コマンド、カラーコマンドのうちの何れか以外のコマンドである手順情報からなるグループから選択され、及び/又は、
    前記タグ・ビットは、(a)前記タグ・ビットが(i)フィールド長、(ii)正規化、(iii)上記フィールド相対的か否か、(iv)上記フィールド絶対的か否か、からなるグループから選択された少なくとも一つのフィールド特性を暗黙的に記述していること、及び(b)前記タグ・ビットが可変長を有し可能フィールドコンテンツ情報および前記可変長についての情報を含み、前記可変長は前記フィールドコンテンツ情報から独立していること、からなるグループから選択された少なくとも一つの特性を有することを特徴とする方法。
  3. 請求項1又は2に記載の方法において、
    段階(b)で前記有効データが直ちに連続して進行しない場合
    (b−1)現行命令及び後続する命令を前記データ・ストリームから取り出し
    (b−2)前記後続する命令の最初の固定ビット取り出し
    (b−3)その後、前記現行命令に対する残りのビット取り出す、
    ことを更に含む方法。
  4. 請求項1乃至3の何れかに記載の方法において、
    (f−1)その出力が(i)後続するデータ・フィールドの開始、(ii)前記データ・フィールドの長さ、(iii)現行のタグ・フィールド長、(iv)前記フィールドが相対的であるか否かの識別、(v)前記フィールドが絶対的であるか否かの識別、及び(vi)再正規化を容易にするための数値シフト・オフセット情報を含む該データ・フィールドに対する再正規化パラメータ、の少なくとも一つを識別するタグ・ルックアップ・テーブルに前記タグ・ビットを供給し、
    (f−2)前記タグ・ルックアップ・テーブル出力が、上記ビット位置合わせされたフィールドが相対的であることを示すならば、前記フィールドの正規化された値を前記フィールドの現行値に加え、
    (f−3)前記タグ・ルックアップ・テーブル出力が、上記ビット位置合わせされたフィールドが絶対的であることを示すならば、前記フィールドの前記正規化された値で前記フィールドの現行値を置換する
    段階を更に含む方法。
  5. 請求項3又は4に記載の方法において、
    後続する命令が前記ビット位置合わせされたフィールドが解釈されるべき方法を変更すること、又は、前記タグ・ルックアップ・テーブルコンテンツを変更すること、又は、前記ビット位置合わせされたフィールドにおける非変更データを通過させることであるならば、これらを実行し
    上記正規化されたビット位置合わせされたフィールドが法線情報を含むならば、タグ・フィールド・インデックスは、前記ルックアップ・テーブルを経て、前記法線の直線表現を得ることを特徴とする方法。
  6. 請求項1乃至5の何れかに記載の方法において、
    前記ビット位置合わせされたフィールドは、(i)前記オブジェクトの前記表面上のx、y、z座標位置、(ii)前記オブジェクトに対する赤、緑、青のカラー情報、(iii)前記オブジェクトに対する赤、緑、青及びアルファのカラー情報、(iv)前記オブジェクトに対して連続する赤、緑、青のカラー情報間の相違、及び(v)前記オブジェクトに対して連続する赤、緑、青及びアルファのカラー情報間の相違からなるグループから選択された少なくとも一つの特性に関する情報を含む方法。
  7. 請求項1乃至6の何れかに記載の方法において、
    前記オブジェクトは、
    (i)前記オブジェクトの位置の特性が直線x、y、z座標として表され、
    (ii)前記オブジェクトのカラーの特性が少なくとも赤、緑、青、及びアルファ要素含むように表され、前記カラーは、少なくとも、(a)放射カラー、(b)環境カラー、(c)散乱カラー、及び(d)鏡面反射カラーからなるグループから選択され、
    (iii)前記オブジェクトの法線の特性が直線Nx、Ny、及びNzベクトル係数によって表され、
    (iv)前記オブジェクトの法線の特性は、法線テーブルインデックスによって表され前記オブジェクトの表面特性は、(a)位置、(b)法線、(c)カラー、(d)テキスチャ・マップ座標、及び(e)材料表面属性、からなるグループから選択された少なくとも一つの特性を含む
    からなるグループから選択された少なくとも一つの特性を有する方法。
  8. 請求項7に記載の方法において、
    前記法線のそれぞれは、単一インデックスによって所定の正規化された法線テーブルの中に表され、前記インデックスは、(i)前記インデックスは、表されるべき法線の直線表現サイン・ビットからなるインデックス表現のビットを含み、(ii)前記インデックスは、折り曲げられた法線前記折り曲げられた面の既知の側面にあることを確実にするように少なくとも一つの折り曲げられた面x=y、x=z、y=zによって表されるべき法線の直線表現の絶対量の可能な折り曲げを指定している少なくとも一つのビットを含み、(iii)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、(iv)前記インデックスは、オクタント情報のビット、セクスタント情報のビット、及び前記折り曲げられた法線の経度及び緯度についての情報の追加フィールドを含むよう規定され、(v)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、及びオクタント情報のビット、セクスタント情報のビット、及び折り曲げられた法線の経度及び緯度についての情報の追加フィールドを更に含み、(vi)前記インデックスは、オクタント情報の3ビット、セクスタント情報の3ビット、及び前記折り曲げられた法線の経度及び緯度についての情報の2つの追加フィールドを含むよう規定され、(vii)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、及びオクタント情報の3ビット、セクスタント情報の3ビット、及び前記折り曲げられた法線の経度及び緯度についての情報の2つの追加フィールドを更に含む、ことからなるグループから選択された少なくとも一つの特性を有する方法。
  9. 請求項1乃至8の何れかに記載の方法において、
    伸張されるべき前記データ・ストリームは、データが汎用三角形メッシュを規定している線形フォーマットに変換された、頂点を有する複数の三角形を規定している三次元三角形データとして表された前記オブジェクトからもたらされ、前記個々の表面特性が量子化され、可変長圧縮が、連続する前記表面特性の間の相違に適用される方法。
  10. 請求項1乃至9の何れかに記載の方法において、
    現行ビット位置合わせされたフィールドがメッシュ・バッファに配置されるべきであるならば、前記現行ビット位置合わせされたフィールドのコピーを前記メッシュ・バッファに配置し、
    前記ビット位置合わせされたフィールドがメッシュ・バッファ参照を含むならば、前記ビット位置合わせされたフィールドに対する古い正規化された値アクセスすることを更に含む方法。
  11. オプ・コード・ビット及び/又はタグ・ビットを含み、その表面が表面特性を規定する三次元オブジェクトを表している圧縮データを含み、そのフィールドは可変長であるデータ・ストリームを伸張するための、中央処理装置(CPU)及び該CPUに結合されたメモリを含コンピュータ・システム使用可能なシステムであって、
    前記データ・ストリームを受け取り、前記データ・ストリーム内で、必ずしも直前には限られない先行フィールドから、フィールド型、フィールド長、及び/又は、フィールド正規化を含むフィールド情報であって、直ぐ後に続くフィールドのフィールド情報を検出するようプログラムされた検出器ユニットと、
    前記検出器ユニットによって検出された少なくともいくつかのデータを受け取り前記データ・ストリームからビット位置合わせされたフィールドを抽出するようプログラムされた抽出器ユニット
    を備えことを特徴とするシステム。
  12. 請求項11に記載のシステムであって、
    (i)タグ・フィールド開始位置、(ii)現行のタグ・フィールド長、(iii)前記フィールドが相対的であるか否かの識別、(iv)前記フィールドが絶対的であるか否かの識別、及び(v)数値シフト・オフセット情報からなるグループから選択された少なくとも一断片の情報を提供する、前記データ・ストリームの少なくとも一部を前記検出器ユニットから受け取るために結合された、ルックアップ・テーブルを更に含み、
    前記データ・ストリームに含まれたビット・ライン・フィールドは、個々のビットに位置合わせされるシステム。
  13. 請求項11又は12に記載のシステムであって、
    (i)前記データ・ストリームに含まれた新しく入力するデータを調整する第1段階と、前記データ・ストリームに含まれる残りの古いデータに、前記新しく入力するデータを調整する第2段階とを含む多段バレル・シフタ・ユニット、(ii)前記データ・ストリームを受け取るために結合されたインターフェイス回路ユニット、(iii)前記インターフェイス回路の出力に結合され前記データ・ストリームを伸張する三次元グラフィックス伸張器、(iv)伸張されたデータ・ストリームを受け取り出力するために結合された、三次元グラフィックス描画ユニット、からなるグループから選択された少なくとも一つのユニットを更に含み、
    前記多段バレル・シフタ・ユニット、前記インターフェイス回路ユニット、前記三次元グラフィックス伸張器、及び前記三次元グラフィックス描画ユニットの少なくとも二つは、一つの集積回路に組み込まれることを特徴とするシステム。
  14. 請求項11乃至13の何れかに記載のシステムにおいて、
    前記オプ・コード・ビットは、後続するフィールドのの型に関する情報を表わし、前記情報は、(i)頂点情報、(ii)位置情報、(iii)表面法線情報、(iv)カラー、(v)テキスチャ・マップ座標、(vi)表面材料属性、及び(vii)手順情報、(viii)頂点コマンド法線コマンド、カラーコマンドのうちの何れか以外のコマンドである手順情報からなるグループから選択され、及び/又は、
    前記タグ・ビットは、(a)前記タグ・ビットが(i)フィールド長、(ii)正規化、(iii)上記フィールド相対的か否か、(iv)上記フィールド絶対的か否か、からなるグループから選択された少なくとも一つのフィールド特性を暗黙的に記述していること、及び(b)前記タグ・ビットが可変長を有し可能フィールドコンテンツ情報および前記可変長についての情報を含み、前記可変長は前記フィールド内容情報から独立していること、からなるグループから選択された少なくとも一つの特性を有し、
    少なくともいくつかの前記オプ・コード・ビット及び/又は前記タグ・ビットは、前記フィールドの伸張を三次元オブジェクトの非圧縮表面特性に導くことを特徴とするシステム。
  15. 請求項11乃至14の何れかに記載のシステムにおいて、
    前記オブジェクトは、(i)位置、(ii)法線、(iii)カラー、(iv)テキスチャ・マップ座標、及び(v)前記オブジェクトの材料表面属性からなるグループから選択された少なくとも一つの特性を含んでいる前記表面特性を有し、及び/又は
    前記オブジェクトは、(i)オブジェクトの位置の特性が直線x、y、z座標として表され、(ii)前記オブジェクトのカラーの特性が少なくとも赤、緑、青、及びアルファ要素含むように表され、前記カラーは、少なくとも、(a)放射カラー、(b)環境カラー、(c)散乱カラー、及び(d)鏡面反射カラーからなるグループから選択され、(iii)前記オブジェクトの法線の特性が直線Nx、Ny、及びNzベクトル係数によって表され、(iv)前記オブジェクトの法線の特性は、前記法線のルックアップ・テーブルの中にインデックスによって表され、(v)位置、(vi)法線、(vii)カラー、(viii)テキスチャ・マップ座標、及び(ix)材料表面属性からなるグループから選択された少なくとも一つの特性を含むシステム。
  16. 請求項15に記載のシステムにおいて、
    法線の前記ルックアップ・テーブルは、所定の正規化された法線を含み、前記法線のそれぞれは、所定の正規化された法線の前記ルックアップ・テーブルの中に単一インデックスによって表され、前記インデックスは、(i)前記インデックスは、表されるべき法線の直線表現サイン・ビットからなるインデックス表現のビットを含み、(ii)前記インデックスは、折り曲げられた法線前記折り曲げられた面の既知の側面にあることを確実にするように少なくとも一つの折り曲げられた面x=y、x=z、y=zによって表されるべき法線の直線表現の絶対量の可能な折り曲げを指定している少なくとも一つのビットを含み、(iii)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、(iv)前記インデックスは、オクタント情報のビット、セクスタント情報のビット、及び前記折り曲げられた法線の経度及び緯度についての情報の追加フィールドを含むよう規定され、(v)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、及びオクタント情報のビット、セクスタント情報のビット、及び折り曲げられた法線の経度及び緯度についての情報の追加フィールドを更に含み、(vi)前記インデックスは、オクタント情報の3ビット、セクスタント情報の3ビット、及び前記折り曲げられた法線の経度及び緯度についての情報の2つの追加フィールドを含むよう規定され、(vii)前記インデックスは、前記法線の経度情報及び緯度情報を表しているビットを含み、及びオクタント情報の3ビット、セクスタント情報の3ビット、及び折り曲げられた法線の経度及び緯度についての情報の2つの追加フィールドを更に含む、ことからなるグループから選択された少なくとも一つの特性を有するシステム。
  17. 請求項11乃至16の何れかに記載のシステムにおいて、
    伸張されるべき前記データ・ストリームは、データが汎用三角形メッシュを規定している線形フォーマットに変換された、頂点を有する複数の三角形を規定している三次元三角形データとして表された前記オブジェクトからもたらされ、前記個々の表面特性が量子化され、可変長圧縮が、連続する前記表面特性の間の相違に適用されるシステム。
JP23711696A 1995-08-04 1996-08-05 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置 Expired - Lifetime JP3884509B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/511,326 US5842004A (en) 1995-08-04 1995-08-04 Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US08/511326 1995-08-04

Publications (2)

Publication Number Publication Date
JPH09326041A JPH09326041A (ja) 1997-12-16
JP3884509B2 true 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) EP0757333B1 (ja)
JP (1) JP3884509B2 (ja)
DE (3) DE69635588D1 (ja)

Families Citing this family (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859551B2 (en) 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric 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
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
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
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
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 株式会社東芝 データ管理装置
AU4424899A (en) * 1998-06-08 1999-12-30 Microsoft Corporation 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
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
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
US7113939B2 (en) 1999-09-21 2006-09-26 International Business Machines Corporation Architecture to enable search gateways as part of federated search
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 三次元グラフィックス処理装置およびその方法
US6897858B1 (en) 2000-02-16 2005-05-24 Enroute, Inc. Partial image decompression of a tiled image
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
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
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
US8843928B2 (en) 2010-01-21 2014-09-23 Qst Holdings, Llc Method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
US7489779B2 (en) * 2001-03-22 2009-02-10 Qstholdings, Llc Hardware implementation of the secure hash standard
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
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
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
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
US20040133745A1 (en) 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
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
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) * 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
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
TW200602974A (en) * 2004-05-19 2006-01-16 Arc Internat Uk Ltd Microprocessor architecture
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
US20060061577A1 (en) * 2004-09-22 2006-03-23 Vijay Subramaniam Efficient interface and assembler for a graphics processor
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
WO2006116045A2 (en) * 2005-04-22 2006-11-02 Altrix Logic, Inc. Variable precision processor
WO2007049150A2 (en) 2005-09-28 2007-05-03 Arc International (Uk) Limited Architecture for microprocessor-based systems including simd processing unit and associated systems and methods
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
WO2008053597A1 (en) * 2006-11-01 2008-05-08 Digital Media Professionals Inc. Device for accelerating the processing of extended primitive vertex cache
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
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
CN104350540B (zh) * 2012-05-28 2016-07-06 三菱电机株式会社 显示装置及计算机
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
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
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
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
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
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
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
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
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
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
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
US20250157083A1 (en) * 2023-11-09 2025-05-15 Tencent America LLC Efficient coding of attributes in polygon mesh compression

Family Cites Families (46)

* Cited by examiner, † Cited by third party
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
US5280547A (en) * 1990-06-08 1994-01-18 Xerox Corporation Dense aggregative hierarhical techniques for data analysis
US5231676A (en) * 1990-06-08 1993-07-27 Xerox Corporation Hierarchical operations on border attribute data for image regions
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
EP0594304B1 (en) * 1992-10-20 2000-06-07 Network Computing Devices, Inc. Opcode specific compression for 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
EP0627682B1 (en) * 1993-06-04 1999-05-26 Sun Microsystems, Inc. Floating-point processor for a high performance three dimensional graphics accelerator
US5392393A (en) * 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5408605A (en) * 1993-06-04 1995-04-18 Sun Microsystems, Inc. Command preprocessor 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

Also Published As

Publication number Publication date
EP0757333A2 (en) 1997-02-05
US5933153A (en) 1999-08-03
EP0959431A2 (en) 1999-11-24
US6088034A (en) 2000-07-11
US6028610A (en) 2000-02-22
EP0964364B1 (en) 2004-04-07
EP0964364A2 (en) 1999-12-15
EP0757333B1 (en) 2002-11-06
US5842004A (en) 1998-11-24
US6522327B2 (en) 2003-02-18
DE69632157D1 (de) 2004-05-13
DE69624637T2 (de) 2003-10-23
US6522326B1 (en) 2003-02-18
JPH09326041A (ja) 1997-12-16
DE69624637D1 (de) 2002-12-12
DE69635588D1 (de) 2006-01-19
EP0959431A3 (en) 1999-12-01
EP0959431B1 (en) 2005-12-14
EP0964364A3 (en) 1999-12-29
US20010050682A1 (en) 2001-12-13
DE69632157T2 (de) 2004-08-05
EP0757333A3 (en) 1997-06-04
US6307557B1 (en) 2001-10-23

Similar Documents

Publication Publication Date Title
JP3884509B2 (ja) 圧縮された幾何学形状三次元グラフィックス・データの圧縮解除のための方法及び装置
JP3212885B2 (ja) 三次元グラフィックス・データの幾何学的圧縮のための方法及び装置
US6747644B1 (en) Decompression of surface normals in three-dimensional graphics data
Deering Geometry compression
US20230108967A1 (en) Micro-meshes, a structured geometry for computer graphics
EP1194897B1 (en) Geometric compression of three-dimensional graphics
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
US6175369B1 (en) High performance surface normal decompression
Nagasawa Beyond VRML: Efficient 3-D Data Transfer for Remote Visualization
Sim et al. Lossless compression of point-based data for 3D graphics rendering

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