Zero Suppression (ZS) , packing of sparse matrices
Updated on Sat, 2009-01-24 20:54. Originally created by balewski on 2009-01-24 20:21.
Several methods can be used to pack sparse array of ADC values after ZS is applied.
Table below compares total size of a block of 38,000 channels of 10-bit ADCs (taken as example)
'ZS fraction' is chosen strength of ZS.
Methods:
- A plain storage of all channels
- B pairs { address, value} packed to 4-bytes words, using 26 out of 32 bits
- C as B, except densely packed to use all bits
- D Yale algo for encoding sparse matrices : http://en.wikipedia.org/wiki/Sparse_matrix
I assumed 2D=64x600 representation of channel location, nX=64 and uses 6 high bits of the 'value' using only 16 bits total. This combines 'A'+'JA' in to single ushort. 'IA' is stored in full ushort per value. - E as D except only 10 bits are used for 'IA' elements
Benefit of 'E' over all other methods:
- compression is equally good as for simpler method B or C
- the same algo can be used for not ZS data w/o factor 2 overhead
»
- balewski's blog
- Login or register to post comments