У кого-нибудь есть рекомендация по хорошему алгоритму сжатия, который хорошо работает с значениями с плавающей запятой двойной точности? Мы обнаружили, что двоичное представление значений с плавающей запятой приводит к очень низким коэффициентам сжатия с общими программами сжатия (например, Zip, RAR, 7-Zip и т.д.).
Данные, которые нам нужно сжать, представляют собой одномерный массив из 8-байтовых значений, отсортированных в монотонно возрастающем порядке. Значения представляют температуры в Кельвине с интервалом, обычно равным 100 градусам. Количество значений варьируется от нескольких сотен до не более 64 КБ.
Разъяснения
-
Все значения в массиве различны, хотя повторение существует на уровне байтов из-за того, что представлены значения с плавающей запятой.
-
Желателен алгоритм без потерь, поскольку это научные данные. Преобразование в представление с фиксированной точкой с достаточной точностью (~ 5 десятичных знаков) может быть приемлемым при условии значительного улучшения эффективности хранения.
Обновление
Нашел интересную статью по этому вопросу. Не уверен, насколько применим подход к моим требованиям.