cvsfrecode Encode the change of direction of points in the curves : return bit rate for lossless compression
cvsfrecode C . . .
C : input curves
. (screen output) : output number of points
. (screen output) : output number of bits to code the curves (without origin points)
. (screen output) : compression rate (bit per point = B/N)
double cvsfrecode (C , N , B )
Curves C ;
unsigned int *N ;
double *B ;
This module computes the bit rate needed to encode the points of the curves contained in the input set, but the origin points. The bit rate is given in bit per point, the number of points being the total number of points contained in all curves. The curves are supposed to be made by connected points (for the 4-connectivity).
This module implements the Freeman's algorithm [Fre74] : the data structure is made by the change of direction from one point to the next. After that, the data is coded using one of the following schemes (only the best bit rate is returned) : entropy coding, arithmetic coding, predictive arithmetic coding.
The function outputs also the total number of points
and the number of bits
B needed to code the structure.
Use the module
cvsencode to get the total bit rate to encode
a set of curves.
See the module
arencode2 for more information on the arithmetic
Such module is useful to encode level lines geometry, such as in [Fro99].
Last Modification date : Thu Jan 24 18:37:26 2002