Revision as of 18:32, 28 June 2006 editRobertvan1 (talk | contribs)6,953 editsm Reverted edits by 131.44.121.252 (talk) to version 36364970 by Adashiel using VP← Previous edit | Latest revision as of 02:18, 1 February 2024 edit undoJustinkunimune (talk | contribs)Extended confirmed users1,920 edits →Neural nets: more specific wikilink, more formal title | ||
(116 intermediate revisions by 69 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Computer graphics term}} | |||
{{unreferenced}} | |||
{{about|the digital information term|the company|Bitplane}} | |||
] | |||
A '''bit |
A '''bit plane''' of a ] ] (such as image or sound) is a set of ]s corresponding to a given bit position in each of the ]s representing the signal.<ref>{{cite magazine | ||
| title =Bit Plane | |||
| magazine =PC Magazine | |||
| url =https://www.pcmag.com/encyclopedia_term/0%2C2542%2Ct%3Dbit+plane%26i%3D38689%2C00.asp | |||
| accessdate =2007-05-02 | |||
| archive-date =2012-10-07 | |||
| archive-url =https://web.archive.org/web/20121007084142/http://www.pcmag.com/encyclopedia_term/0%2C2542%2Ct%3Dbit+plane%26i%3D38689%2C00.asp | |||
| url-status =dead | |||
}}</ref> | |||
For example, for ] 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 bit-plane gives a better approximation. | |||
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. | |||
Incrementing a bit-plane by 1 gives the final result half of a value of a previous bit-plane. If a bit is set to 1, the half value of a previous bit-plane is added, otherwise it does not, defining the final value. | |||
If a bit on the nth bit plane on an m-bit dataset is set to 1, it contributes a value of 2<sup>m−n</sup>, 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: | |||
As an example, in ] sound ] the first bit in sample denotes the sign of the function, or in the other words defines the half of the whole ] 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 ] 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. | |||
{| class="wikitable" | |||
|- | |||
! Bit plane !! Value !! Contribution !! Cumulative total | |||
|- | |||
| 1st || 1 || 1 × 2<sup>7</sup> = 128 || 128 | |||
|- | |||
| 2nd || 0 || 0 × 2<sup>6</sup> = 0 || 128 | |||
|- | |||
| 3rd || 1 || 1 × 2<sup>5</sup> = 32 || 160 | |||
|- | |||
| 4th || 1 || 1 × 2<sup>4</sup> = 16 || 176 | |||
|- | |||
| 5th || 0 || 0 × 2<sup>3</sup> = 0 || 176 | |||
|- | |||
| 6th || 1 || 1 × 2<sup>2</sup> = 4 || 180 | |||
|- | |||
| 7th || 0 || 0 × 2<sup>1</sup> = 0 || 180 | |||
|- | |||
| 8th || 1 || 1 × 2<sup>0</sup> = 1 || 181 | |||
|} | |||
Bit plane is sometimes used as synonymous to ]; however, technically the former refers to the location of the data in memory and the latter to the data itself.<ref>{{cite web | |||
| last = | |||
| first = | |||
| authorlink = | |||
| title =Bit Plane | |||
| publisher =FOLDOC | |||
| url =http://foldoc.org/foldoc.cgi?bit+plane | |||
| format = | |||
| doi = | |||
| accessdate =2007-05-02 }}</ref> | |||
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 to compare each pixel {{nowrap|(X, Y)}} to three adjacent pixels {{nowrap|(X − 1, Y)}}, {{nowrap|(X, Y − 1)}} and {{nowrap|(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.<ref>{{cite journal | |||
| last =Strutz | |||
| first =Tilo | |||
| authorlink = | |||
| title =Fast Noise Suppression for Lossless Image Coding | |||
| journal =Proceedings of Picture Coding Symposium (PCS'2001), Seoul, Korea | |||
| volume = | |||
| issue = | |||
| pages = | |||
| year =2001 | |||
| url =http://citeseer.ist.psu.edu/strutz01fast.html | |||
| doi = | |||
| id = | |||
| accessdate =2008-01-15 }}</ref> | |||
== Applications == | |||
=== Media file formats === | |||
As an example, in ] sound ] the first bit in the sample denotes the sign of the function, or in other words defines the half of the whole ] 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 ] 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.<ref>{{cite journal | |||
| last =Cho | |||
| first =Chuan-Yu | |||
| authorlink = | |||
| author2 =Chen, Hong-Sheng | author3 = Wang, Jia-Shung | |||
| title =Smooth Quality Streaming With Bit-Plane Labelling | |||
| journal =Visual Communications and Image Processing | |||
| volume =5690 | |||
| issue = | |||
| pages =2184–2195 | |||
| publisher =The International Society for Optical Engineering | |||
| date =July 2006 | |||
| bibcode =2005SPIE.5960.2184C | |||
| doi =10.1117/12.633501 | |||
| id = | |||
| type =abstract | series =Visual Communications and Image Processing 2005 | |||
| s2cid =62549171 | |||
}}</ref> | |||
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 ]. This is done (in the transform domain) in the ] image format, for instance. | |||
=== Bitmap displays === | |||
Some computers displayed graphics in ], most notably PC with ] graphics card, the ] and ], contrasting with the more common ]. This allowed certain classes of image manipulation to be performed using bitwise operations (especially by a ] chip), and parallax scrolling effects. | |||
=== Video motion estimation === | |||
Some ] algorithms can be performed using bit planes (e.g. after the application of a filter to turn salient edge features into binary values).<ref>{{cite CiteSeerX|title=bitlane motion estimation|citeseerx=10.1.1.16.1755}}</ref> This can sometimes provide a good enough approximation for correlation operations with minimal computational cost. This relies on an observation that the spatial information is more significant than the actual values. Convolutions may be reduced to ] and ] operations, or performed in dedicated hardware. | |||
=== Neural networks === | |||
Bitplane formats may be used for passing images to ], or low precision approximations to ]/].<ref>{{cite arXiv | |||
| title=xnor net | |||
| eprint=1603.05279 | |||
| last1=Rastegari|first1=Mohammad | |||
| last2=Ordonez|first2=Vicente | |||
| last3=Redmon|first3=Joseph | |||
| last4=Farhadi|first4=Ali | |||
| class=cs.CV | |||
| year=2016 }}</ref> | |||
== Programs == | |||
Many image processing packages can split an image into bit-planes. Open source tools such as Pamarith from ] and Convert from ] can be used to generate bit-planes. | |||
== See also == | == See also == | ||
* ] | * ] | ||
* ] | |||
* ] | |||
==References== | |||
<references/> | |||
{{DEFAULTSORT:Bit Plane}} | |||
] |
Latest revision as of 02:18, 1 February 2024
Computer graphics term This article is about the digital information term. For the company, see Bitplane.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.
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, 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 | Cumulative total |
---|---|---|---|
1st | 1 | 1 × 2 = 128 | 128 |
2nd | 0 | 0 × 2 = 0 | 128 |
3rd | 1 | 1 × 2 = 32 | 160 |
4th | 1 | 1 × 2 = 16 | 176 |
5th | 0 | 0 × 2 = 0 | 176 |
6th | 1 | 1 × 2 = 4 | 180 |
7th | 0 | 0 × 2 = 0 | 180 |
8th | 1 | 1 × 2 = 1 | 181 |
Bit plane 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.
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 to 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.
Applications
Media file formats
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.
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.
Bitmap displays
Some computers displayed graphics in bit-plane format, most notably PC with EGA graphics card, the Amiga and Atari ST, contrasting with the more common packed format. This allowed certain classes of image manipulation to be performed using bitwise operations (especially by a blitter chip), and parallax scrolling effects.
Video motion estimation
Some motion estimation algorithms can be performed using bit planes (e.g. after the application of a filter to turn salient edge features into binary values). This can sometimes provide a good enough approximation for correlation operations with minimal computational cost. This relies on an observation that the spatial information is more significant than the actual values. Convolutions may be reduced to bit shift and popcount operations, or performed in dedicated hardware.
Neural networks
Bitplane formats may be used for passing images to Spiking neural networks, or low precision approximations to neural networks/convolutional neural networks.
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
- "Bit Plane". PC Magazine. Archived from the original on 2012-10-07. Retrieved 2007-05-02.
- "Bit Plane". FOLDOC. Retrieved 2007-05-02.
- Strutz, Tilo (2001). "Fast Noise Suppression for Lossless Image Coding". Proceedings of Picture Coding Symposium (PCS'2001), Seoul, Korea. Retrieved 2008-01-15.
- Cho, Chuan-Yu; Chen, Hong-Sheng; Wang, Jia-Shung (July 2006). "Smooth Quality Streaming With Bit-Plane Labelling". Visual Communications and Image Processing (abstract). Visual Communications and Image Processing 2005. 5690. The International Society for Optical Engineering: 2184–2195. Bibcode:2005SPIE.5960.2184C. doi:10.1117/12.633501. S2CID 62549171.
- "bitlane motion estimation". CiteSeerX 10.1.1.16.1755.
- Rastegari, Mohammad; Ordonez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). "xnor net". arXiv:1603.05279 .