¿Alguien tiene una recomendación sobre un buen algoritmo de compresión que funciona bien con valores de punto flotante de doble precisión? Hemos encontrado que la representación binaria de valores de punto flotante da como resultado tasas de compresión muy bajas con programas de compresión comunes (por ejemplo, Zip, RAR, 7-Zip, etc.).Algoritmo de compresión para datos IEEE-754
Los datos que necesitamos comprimir son una matriz unidimensional de valores de 8 bytes ordenados en orden creciente monótonamente. Los valores representan las temperaturas en Kelvin con un intervalo típicamente inferior a 100 grados. El número de valores varía desde unos pocos cientos hasta un máximo de 64K.
Aclaraciones
Todos los valores de la matriz son distintos, aunque la repetición existe a nivel de byte, debido a la forma en que los valores de punto flotante se representan.
Se desea un algoritmo sin pérdidas debido a que se trata de datos científicos. La conversión a una representación de punto fijo con suficiente precisión (~ 5 decimales) podría ser aceptable siempre que haya una mejora significativa en la eficiencia del almacenamiento.
actualización
encontrado un interesante artículo sobre este tema. No estoy seguro de qué tan aplicable es el enfoque para mis requisitos.
http://users.ices.utexas.edu/~burtscher/papers/dcc06.pdf
A 'con pérdida' algoritmo es aceptable porque sus datos no es discreta. Existe una tasa de cambio física máxima real y una precisión real del sensor, por lo que cualquier codificación con pérdida con suficiente ancho de banda de muestreo está bien. –
Martin, gracias por su respuesta. Técnicamente tiene razón, pero no todas las decisiones de diseño se basan únicamente en consideraciones técnicas. En este caso, debemos conservar los valores exactos, ya que representan los resultados "aceptables" de las decisiones de muestreo de otro proveedor. –
Un enlace actual al documento: http://cs.txstate.edu/~burtscher/papers/dcc06.pdf –