14.07.2013 Views

hardware implementation of data compression ... - INFN Bologna

hardware implementation of data compression ... - INFN Bologna

hardware implementation of data compression ... - INFN Bologna

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!