Methods, structures and systems for encoding and decoding isosurface data.
An encoder process takes volume data and an isolevel as input and
produces compressed isosurface data as output. The compressed isosurface
data produced by an encoder process is composed of an occupancy image
record, an optional intersection points record, and an optional normal
vectors record. An occupancy image is compressed with a context-based
arithmetic encoder. Compressed isosurface data can be stored in a data
storage device or transmitted through a communication medium to a remote
computer system, where the decoder process is executed. The decoder
processes take compressed surface data as input and produce surface data
as output. The decoder processes first reconstructs the occupancy image
by decoding the occupancy image record. An in-core isosurface decoder
process produces a polygon mesh as a surface representation. An
out-of-core isosurface decoder process produces a set of oriented points
as a surface representation.