If you are really concerned about saving space, you might want to consider
doing what I did when I wanted to store a height field for the whole planet.
Instead of storing absolute heights, store the delta compared to
the average height in a localized region of the terrain.
You can adjust the size of the region to get the storage costs to a
minimum.  For example, if you store an average height for every 16x16
grid of height posts, you might need an 8 bit offset value - but if
you store it for every 4x4 grid, you might only need a 4 bit offset.
What works best depends on the quality you need - and somewhat on
the application.  Using too few bits of offset will result in
near-vertical cliff faces either being smoothed out - or showing
up only on the boundaries of your 16x16 grid. How much that matters
to you changes your optimum grid size.
The resulting height variation can typically be stored in MUCH fewer
bits - especially if you use a logarithmic 'offset' value - which can
of course be decoded using a short lookup table.
Steve Baker                (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc.      (817)619-2466 (Fax)
Work: sjbaker@hti.com      http://www.hti.com
Home: sjbaker1@airmail.net http://web2.airmail.net/sjbaker1