-
1. Data: 2018-08-06 22:23:43
Temat: Re: Problemik nie całkiem teoretyczny
Od: Wojciech Muła <w...@g...com>
On Saturday, August 4, 2018 at 10:38:56 AM UTC+2, slawek wrote:
> Takie małe coś, akurat na wakacje:
>
> Ciąg liczb zmiennoprzecinkowych 64 bitowych powstał po pomnożeniu
> przez niezerową stałą ciągu liczb stałoprzecinkowych 16-bitowych.
> Czy istnieje prosta metoda kompresji, taka że nie znając tej
> stałej, można ograniczyć liczbę przesyłanych bajtów? Tzn. przy
> 1000 liczbach przesłać (niewiele ponad) 2000 bajtów zamiast
> 8000?
>
> Definicja "prostej metody": LZW nie jest, RLE jest.
>
> Problem powstał w związku z pytaniem: czy lepiej przesyłać raw
> data - czy wielkości przeskalowane do fizycznych jednostek (np.
> miliamperów na hektar i węzeł)?
>
>
> Have fun.
1. Rozbić liczbę zmiennoprzecinkową na: bit znaku, wykładnik, mantysę. Kompresować je
jako osobne strumienie danych. (Zawołać abort gdy isfinite(x) == false).
2. Potraktować mantysę jako liczbę całkowitą i kodować różnice między kolejnymi
wartościami. Albo w ogóle wprowadzić predykcję i kodować różnice między aproksymowaną
i rzeczywistą wartością.
3. Kodowanie liczb całkowitych można zrobić np. kodem Rice'a albo Eliasa, czyli
kodami, gdzie liczba bitów zależy od kodowanej wartości.
4. Pogooglać za bazami do timeseries i poczytać, jak oni sobie radzą.
w.