EP0889440A2

Method and apparatus for geometric compression of three-dimensional graphics

Abstract

Methods and systems for compressing and decompressing 3-D geometry data which includes regularly tiled surface portions. One compression method includes representing a surface portion as a "vertex raster", which comprises specifying an extent value and encoding the vertex parameter values of vertices within the surface portion. The extent of the surface portion specifies the arrangement of vertices within the surface portion, and allows the vertices to be properly assembled into drawing primitives during decompression. The encoded vertex parameter values may be encoded globally (by setting initial values and corresponding delta values), locally (on a per-vertex basis), or using a combination of these techniques. Absolute, delta encoding, or delta-delta encoding may be utilized for these parameter values. Vertex parameters which may be encoded in this manner include position, color, normals, z-displacement values, texture map coordinates, and surface material properties. Additionally, connectivity information may also be encoded using this compression method by specifying quad split bits and half-resolution edges. Quad split bits are used to tessellate a quadrilateral formed by neighboring vertices of a surface portion according to the direction of the strongest color change. Half-resolution edges are utilized to gradually shift from an area of high resolution to an adjacent surface portion represented in lower resolution. For graphical objects which include a plurality of adjacent surface portions, a step command is disclosed which allows data from one surface portion to be advantageously reused. Decompression of a vertex raster representation, in one embodiment, comprises decoding the extent value, global parameter values, and a per-vertex stream of local parameter values.

EP0889440A2, drawing sheet 1
Sheet 1 of 24

Term

Term ended

Projected expiry passed 29 June 2018, 8.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

59 claims: 4 independent, 55 dependent

  1. 1
    A method for compressing 3-D geometry data which represents a first surface portion of a 3-D graphical object, said method comprising:receiving said 3-D geometry data, wherein said 3-D geometry data includes vertex parameter values corresponding to vertices within said first surface portion;encoding an extent value which defines an arrangement of said vertices within said first surface portion;encoding vertex parameter values corresponding to said vertices within said first surface portion;wherein said encoded extent value and said encoded vertex parameter values are a compressed representation of said 3-D geometry data.
  2. 23
    A computer system for compressing 3-D geometry data which represents a first surface portion of a 3-D graphical object, comprising:a host CPU;a memory for storing said 3-D geometry data, wherein said 3-D geometry data includes vertex parameter values corresponding to vertices within said first surface portion, wherein said memory further includes program instructions executable to perform the steps of: encoding an extent value for said first surface portion which specifies an arrangement of said vertices within said first surface portion;encoding vertex parameter values corresponding to said vertices within said first surface portion;wherein said host CPU is operable to execute said program instructions in order to form a compressed representation of said first surface portion.
  3. 30
    A method for decompressing compressed 3-D geometry data, wherein said compressed 3-D geometry data represents a first surface portion of a 3-D graphical object, said method comprising:receiving said compressed 3-D geometry data, wherein said 3-D geometry data includes vertex parameter values corresponding to vertices within said first surface portion, wherein said compressed 3-D geometry data includes an extent value which specifies an arrangement of said vertices within said first surface portion, and wherein said compressed 3-D geometry data further includes encoded vertex parameter values corresponding to said vertices within said first surface portion;decoding said extent value to determine said arrangement of said vertices within said first surface portion;decoding said encoded vertex parameter values corresponding to said vertices within said first surface portion;generating a plurality of geometric primitives from said encoded vertex parameter values according to said arrangement of said vertices within said first surface portion.
  4. 47
    A graphics sub-system for decompressing compressed 3-D geometry data, wherein said compressed 3-D geometry data represents a first surface portion of a 3-D graphical object, said graphics sub-system comprising:a decompression unit coupled to receive compressed 3-D geometry data, wherein said 3-D geometry data includes vertex parameter values corresponding to vertices within said first surface portion, wherein said compressed 3-D geometry data includes an extent value which specifies an arrangement of said vertices within said first surface portion, and wherein said compressed 3-D geometry data further includes encoded vertex parameter values corresponding to said vertices within said first surface portion;wherein said decompression unit is configured to decode said extent value in order to determine said arrangement of said vertices within said first surface portion, and wherein said decompression unit is further configured to decode said encoded vertex parameter values corresponding to said vertices within said first surface portion, thereby producing decoded vertex parameter values;and wherein said decompression unit is still further configured to generate a plurality of geometric primitives from said decoded vertex parameter values according to said arrangement of said vertices within said first surface portion specified by said extent value.