Methods for high precision, memory efficient surface normal compression and expansion
AssigneeHewlett-Packard Company
InventorsDon W Dyer, Paul E Martz, Teresa M Morrison
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Company
InventorsDon W Dyer, Paul E Martz, Teresa M Morrison
Estimating the term…
A high precision, memory efficient method for the compression of surface normals into quantized normals and the inverse method for the expansion of those quantized surface normals back into surface normals. The surface of a three dimensional figure is conceptually divided into small areas, and the effective surface normal for each of these areas is related to the surface normal of a unit sphere tessellated into a similar number of small areas or tiles. A quantized normal is defined to be the tile number on the surface of the unit sphere. For a particular three dimensional figure, instead of storing surface unit normal values of {X,Y,Z} for each coordinate, the quantized surface normal value (i.e., the tile number) is stored. Thus, for a surface normal expressed in Cartesian coordinates, a compression ratio of 6:1 is possible depending upon the memory required to store real and integer values and the desired accuracy. Efficient computational methods for compressing the surface normal by obtaining the appropriate tile number and the inverse expansion of the quantized surface normal into surface normals are described. Regardless of the initial length of the surface normal, the resultant of the combined compression-expansion process is a surface normal of unit length which is the format expected by most standard graphics libraries.
A method for compressing a surface-normal, the surface-normal specified by a latitude and a longitude within a surface-normal-coordinate-system, for a point on a surface of a three-dimensional-figure into a quantized-surface-normal, the quantized-surface-normal specified by identifying a unit-sphere-quantized-surface-normal whose value equals a unit-sphere-tile-number assigned to a unit-sphere-tile within a unit-sphere-latitude-band having a unit-sphere-latitude-band-width on a unit-sphere, wherein the unit-sphere is tessellated into a maximum-number-of-unit-sphere-tiles, wherein the latitude and the longitude of the surface-normal lie within the unit-sphere-tile, wherein an equator-number-of-quantized-surface-normals are placed around a unit-sphere-equator of the unit-sphere, and wherein intermediate variables a number-quantized-surface-normals-below-latitude-band, a number-quantized-surface-normals-below-next-latitude-band, and a number-quantized-surface-normals-in-latitude-band are used, comprising the steps of:
A program storage medium readable by a computer-system having a computer-memory, tangibly embodying a computer program having instructions executable by the computer-system to perform method steps for compressing a surface-normal, the surface-normal specified by a latitude and a longitude within a surface-normal-coordinate-system, for a point on a surface of a three-dimensional-figure into a quantized-surface-normal, the quantized-surface-normal specified by identifying a unit-sphere-quantized-surface-normal whose value equals a unit-sphere-tile-number assigned to a unit-sphere-tile within a unit-sphere-latitude-band having a unit-sphere-latitude-band-width on a unit-sphere wherein the unit-sphere is tessellated into a maximum-number-of-unit-sphere-tiles, wherein the latitude and the longitude of the surface-normal lie within the unit-sphere-tile, wherein an equator-number-of-quantized-surface-normals are placed around a unit-sphere-equator of the unit-sphere, and wherein said computer program uses intermediate variables a number-quantized-surface-normals-below-latitude-band, a number-quantized-surface-normals-below-next-latitude-band, and a number-quantized-surface-normals-in-latitude-band, said method steps comprising:
Dependencies are inferred from the claim text.