Bit depth

From SubSurfWiki
Jump to: navigation, search
A2Z.png

The number of digital bits used to represent amplitude in each seismic sample. Usually 32 in field or newly-processed seismic data, or 8 or 16 in post-processed seismic data.

When seismic data is recorded, four bytes are used to store the amplitude values. A byte contains 8 bits, so four of them means 32 bits for every seismic sample, or a bit-depth of 32. As Evan explained recently, amplitude values themselves don’t mean much. But we want to use 32 bits because, at least at the field recording stage, when a day might cost hundreds of thousands of dollars, we want to capture every nuance of the seismic wavefield, including noise, multiples, reverberations, and hopefully even some signal. We have time during processing to sort it all out.

Compared to spatial resolution

First, it’s important to understand that I am not talking about spatial or vertical resolution, what we might think of as detail. That’s a separate problem which we can understand by considering a pixelated image. It has poor resolution: it is spatially under-sampled. Here is the same image at two different resolutions. The one on the left is 300 × 240 pixels; on the right, 80 × 64 pixels (but reproduced at the same size as the other picture, so the pixels are larger).

Bit-depth-resolution.png

The effect of poor precision

But now consider an image with plenty of detail but no precision. On the left is an 8-bit image with 300 × 240 pixels (just like the left-hand image above, but without the colour). On the right is the same image at the same resolution, 300 × 240 pixels, but with only two bits per sample instead of eight.

Bit-depth-precision.png

Notice that the edges are spatially smooth, not blocky like the pixelated example. The deficiency this time is in the subtlety of the pixel values: though smooth in a spatial sense, the image is not smooth in colour space. We can see this from its histogram (inset). It only contains four values: black, dark grey, light grey, and white. Each of the two bits that represent each pixel can have a value of 0 or 1, giving 4 combinations altogether: 00, 01, 10, and 11. More bits gives more possible values (see powers of 2).

Clearly, using fewer bits means that your files will be smaller: reducing the bit depth from 32 to 8 means only one byte is used where there were four, so files will be reduced in size by 75%. The smaller file will load faster, take up less space in memory, and make your disk space go further.

Application to seismic data

Click to enlarge; It is noteworthy in itself that the effect is quite hard to see at this small scale

All of this applies to your seismic data. Data is almost always delivered from the processor as 32-bit. In the past, people were more concerned about disk space than today, so often reduced the bit depth in their volumes to 8-bit. This means the amplitude values can take 256 discrete sample values. If you believe this is enough precision, and many people think that for interpretation it is, then you can safely use 8-bit volumes for your work. Indeed, some tools, such as Landmark's GeoProbe volume interpretation tool, can only load 8-bit data.

But for seismic analysis, especially amplitude mapping, spectral decomposition, or pre-stack work, 8-bit data is probably not precise enough. Opinions vary, but I usually keep my 32-bit volume on disk, but make all derivative volumes and attribute volumes 16-bit. I think 65 536 values is enough, and because of noise and other uncertainties in the data, any precision beyond that is spurious.

Agile* links