Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
An encoder uses output symbol subsymbols to effect or control a tradeoff of computational effort and overhead efficiency to, for example, greatly reduce computational effort for the cost of a small amount of overhead efficiency. An encoder reads an ordered plurality of input symbols, comprising an input file or input stream, and produces output subsymbol. The ordered plurality of input symbols are each selected from an input alphabet, and the generated output subsymbols comprise selections among an output subsymbol alphabet. An output subsymbol is generated using a function evaluator applied to subsymbols of the input symbols. The encoder may be called one or more times, each time producing an output subsymbol. Output subsymbols can then be assembled into output symbols and transmitted to their destination. The functions used to generate the output subsymbols from the input subsymbols can be XOR's of some of the input subsymbols and these functions are obtained from a linear code defined over an extension field of GF(2) by transforming each entry in a generator or parity-check matrix of this code into an appropriate binary matrix using a regular representation of the extension field over GF(2). In a decoder, output subsymbols received by the recipient are obtained from output symbols transmitted from one sender that generated those output symbols based on an encoding of an input sequence (file, stream, etc.).