Schau Dir erst mal das Signal an. Wahrscheinlich kannst Du einfach 2
Datensatzformate definieren. Eines mit der kompletten Position (das dann
groß ist), und eines mit Differenzen. Das kleine mit den Differenzen
kannst du dann für jede Positionsangabe verwenden. Falls die Differenz
mal größer ist, kannst Du die vollständige Position abspeichern. Das ist
so ein Kompromiss zwischen Aufwand und Größe.
Willst Du das ideal machen, mach folgendes:
Speichere nur Differenzen, wobei Du entweder die Anfangsposition direkt
speicherst, oder von der Anfangsposition 0 ausgehst (und dann eine große
Position hast).
Messe erst mal ein paar Strecken durch, und bilde die Differenzen
zwischen den Positionsdaten. Mach eine Häufigkeitsverteilung über diese
Differenzen, und bestimme dann, zum Beispiel über den Huffman
Algorithmus die optimale Kodierung für jede Differenz. Wahrscheinlich
wirst Du dann für kleine Differenzen weniger Bits haben als für große.
Richtig gemacht wird das ideal.
Die Tabelle die Du zur Umsetzung brauchst kannst Du ja konstant auf
beiden Seiten haben.