hardware implementation of data compression ... - INFN Bologna
hardware implementation of data compression ... - INFN Bologna
hardware implementation of data compression ... - INFN Bologna
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
36<br />
Data <strong>compression</strong> techniques<br />
value <strong>of</strong> the noise introduced by the preamplification electronics; then<br />
there is a spread among this value due to the RMS <strong>of</strong> the Gaussian<br />
distribution <strong>of</strong> the noise.<br />
The noise level introduced by the electronics may vary with time and<br />
with the amount <strong>of</strong> radiation absorbed: so far a <strong>compression</strong> algorithm<br />
making use <strong>of</strong> the zero suppression technique has to allow a tunable<br />
value <strong>of</strong> the threshold level, in order to accomodate fluctuations or<br />
drifts in the baseline values. Following this indication, the threshold<br />
level used in CARLOS v1 and v2 is completely presettable via s<strong>of</strong>tware<br />
using the JTAG port.<br />
2.5.2 Transform coding<br />
Transform coding [7] takes as input a <strong>data</strong> sequence and transforms it<br />
into a sequence in which most part <strong>of</strong> the information is contained into<br />
a few samples: so far the new sequence can be further compressed using<br />
the other <strong>compression</strong> algorithms described up to now. The key point<br />
<strong>of</strong> transform coding is the choice <strong>of</strong> the transform: this depends on the<br />
features and redundancies <strong>of</strong> the input <strong>data</strong> stream to compress. The<br />
algorithm, working on N elements at a time, consists <strong>of</strong> three steps:<br />
– transform: the input sequence {sn} is split in N-long sequences;<br />
then each block is mapped, using a reversible transformation, into<br />
the sequence {cn}.<br />
– quantization: the transformed sequence {cn} is quantized, i.e. a<br />
number <strong>of</strong> bits is assigned to each sample depending on the dynamics<br />
<strong>of</strong> the sequence, <strong>compression</strong> ratio desired and acceptable<br />
distortion.<br />
– coding: the quantized sequence {cn} is encoded using a binary<br />
encoding technique such as Run Length encoding or the Huffman<br />
coding.<br />
These concepts can be expressed in a mathematical way: given a sequence<br />
in input {sn}, it is divided in N-long blocks and it is mapped