In a binary image, one can separate an enclosing box with an area $A$, decide over a pixel size $\epsilon$ and simply represent the curve by a pixel image with $A/\epsilon^2$ pixels with each pixel having 0 or 1 depending on whether it coincides with the line or not. This means the information needed to describe a curve is $I_1=A/\epsilon^2$. An improvement is just to encode the curve pixels by using their pixel coordinates. If the relevant range is $R$ to a dominant direction, one needs $\Phi_2= 2\log_2(R/\epsilon)$ bits to encode one pixel, and if the length of the curve is $l$, it takes approximately \[I_2= \frac{l}{\epsilon}\Phi_2\] bits for the whole curve with approximately $l/\epsilon$ pixels.
One can accept a representation error of size $\epsilon$ here and there. E.g. by using piecewise linear representation, one needs to encode only $n$ points. This gives information amount $I_3= n\Phi_2$.
One can improve even further. Instead of using direction as the property described in a piecewise fashion, one can use the rate of change of direction (curvature). By setting curvature change to be constant over length, one gets piecewise Euler spirals. One has to record the initial point ($\Phi_2$) and orientation ($\Phi_2/2$), but then one needs only the distance between points along the curve ($\Phi_2/2$) and the curvature at the chosen points ($\Phi_2/2$). This sums up to: \[I_4=(m+3/2)\Phi_2\] information, where $m$ is the number of needed sample points.
For a 3D curve, one needs two curvature values (see Frenet-Serret formulas) beside the length step between sample points. Also, the beginning point requires 2 angular values for orientation and 3 coordinates. So, the 3D curve has: \[I_5= (m+5/3)\Phi_3\] where $\Phi_3= 3\log_2(R/\epsilon)$.
If a curve has discontinuities, one has to restart the encoding. Note that each discontinuity will include an additional cost (new direction $\Phi_2/2$ in case of 2D and $\frac{2}{3}\Phi_3$ in case of 3D).
Now, the encodings $I_3$, $I_4$ and $I_5$ are not exact like $I_1$ and $I_2$. There are parts of the curve $C'$ which do not fall exactly with the encoded approximation $C'$. There is an amount of entropy $H$ included in this remaining term: \[ H(C-C')= -\sum_{f\in F}f log_2(f)\] where $F$ is a histogram of orthogonal distances $d(p,M)$ from all points $p\in C$ of the curve $C$ to the nearest point $q\in M_C$ at the model representation $C_M$ of the curve $C$. The choice of the histogram slot sizes changes the results, but here that is not our concern. The following example shows which kind of information values $I(C)$ : \[ I(C)= I_5(C') + H(C-C')\] we get, when the pixel size $\epsilon$ ranges over a relevant interval. Now, the search for the best encoding goes through all possible models $C'$.
Fig. 1 shows how the piecewise linear encoding would need optimization to find the best possible 'fitting' of piecewise linear intervals to make it more stable over different coarseness of encoding. The piecewise Euler curve encoding is surprisingly stable at $\epsilon< 0.3$ m. This is because the small pixel size meets the natural smoothness of the curve, and this reduces the variance occurring in the control information of the Euler curve. Similar phenomena would be visible for piecewise linear encoding, too, but it requires the earlier mentioned intwerval layout optimization.











