Bit plane

From Infogalactic: the planetary knowledge core
(Redirected from Bitplanes)
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

File:Lichtenstein bitplanes.png
The 8 bit-planes of a gray-scale image (the one on left). There are eight because the original image uses eight bits per pixel.

A bit plane of a digital discrete signal (such as image or sound) is a set of bits corresponding to a given bit position in each of the binary numbers representing the signal.[1]

For example, for 16-bit data representation there are 16 bit planes: the first bit plane contains the set of the most significant bit, and the 16th contains the least significant bit.

It is possible to see that the first bit plane gives the roughest but the most critical approximation of values of a medium, and the higher the number of the bit plane, the less is its contribution to the final stage. Thus, adding a bit plane gives a better approximation.

If a bit on the nth bit plane on an m-bit dataset is set to 1, it contributes a value of 2(m-n), otherwise it contributes nothing. Therefore, bit planes can contribute half of the value of the previous bit plane. For example, in the 8-bit value 10110101 (181 in decimal) the bit planes work as follows:

Bit Plane Value Contribution Running Total
1st 1 1 * 2^7 = 128 128
2nd 0 0 * 2^6 =0 128
3rd 1 1 * 2^5 = 32 160
4th 1 1 * 2^4 = 16 176
5th 0 0 * 2^3 = 0 176
6th 1 1 * 2^2 = 4 180
7th 0 0 * 2^1 = 0 180
8th 1 1 * 2^0 = 1 181

Bitplane is sometimes used as synonymous to Bitmap; however, technically the former refers to the location of the data in memory and the latter to the data itself.[2]

One aspect of using bit-planes is determining whether a bit-plane is random noise or contains significant information.

One method for calculating this is compare each pixel (X,Y) to three adjacent pixels (X-1,Y), (X,Y-1) and (X-1,Y-1). If the pixel is the same as at least two of the three adjacent pixels, it is not noise. A noisy bit-plane will have 49% to 51% pixels that are noise.[3]

Applications

As an example, in PCM sound encoding the first bit in the sample denotes the sign of the function, or in other words defines the half of the whole amplitude values range, and the last bit defines the precise value. Replacement of more significant bits result in more distortion than replacement of less significant bits. In lossy media compression that uses bit-planes it gives more freedom to encode less significant bit-planes and it is more critical to preserve the more significant ones.[4]

As illustrated in the image above, the early bitplanes, particularly the first, may have constant runs of bits, and thus can be efficiently encoded by run-length encoding. This is done (in the transform domain) in the Progressive Graphics File image format, for instance.

Some computers displayed graphics in bitplane format most notably the Amiga and Atari ST, contrasting with the more common packed format.

Programs

Many image processing packages can split an image into bit-planes. Open source tools such as Pamarith from Netpbm and Convert from ImageMagick can be used to generate bit-planes.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.