Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compression 帮助压缩大型自定义数据文件的方法_Compression_Data Compression_Lossless Compression - Fatal编程技术网

Compression 帮助压缩大型自定义数据文件的方法

Compression 帮助压缩大型自定义数据文件的方法,compression,data-compression,lossless-compression,Compression,Data Compression,Lossless Compression,我正在寻求如何更好地帮助压缩工具获得更好的无损压缩的建议 我有许多大文件(>100meg),其中包含来自各种传感器的传感器读数。来自不同传感器的样本具有不同的位大小(16位、24位、32位)和不同的频率(70Hz至250Hz)。使用我所知道的常用压缩器(zip、gzip、bzip2),我可以得到一个压缩文件,大约是原始文件大小的70%。在我看来,如果我能告诉压缩工具这些字节是这种类型的样本,而这些字节是另一种样本类型,那么可能会有压缩增益,但我不知道有什么可以让我这样做。第0步是用二进制编码数据

我正在寻求如何更好地帮助压缩工具获得更好的无损压缩的建议


我有许多大文件(>100meg),其中包含来自各种传感器的传感器读数。来自不同传感器的样本具有不同的位大小(16位、24位、32位)和不同的频率(70Hz至250Hz)。使用我所知道的常用压缩器(zip、gzip、bzip2),我可以得到一个压缩文件,大约是原始文件大小的70%。在我看来,如果我能告诉压缩工具这些字节是这种类型的样本,而这些字节是另一种样本类型,那么可能会有压缩增益,但我不知道有什么可以让我这样做。

第0步是用二进制编码数据。(两个字节中有16位,三个字节中有24位,等等)我希望你已经这样做了

第一步是使用差异。根据您的描述,我敢打赌连续的值变化不大。因此,差异将很小,并且有许多前导零位。试试那个,然后是一个通用压缩机

第二步是使用可变长度整数编码。每个字节的高位决定了每个整数的范围。整数的第一个字节始终具有高位零。同一整数的所有后续字节的高位为1。从每个字节的低七位构建整数。(我认为第一个字节具有最低有效位,但您也可以按最高有效位顺序执行。)这将在一个字节中编码您的小差异。此外,此编码将处理样本中的任意位数,这在应用程序中非常方便。试试这个,然后是一个通用压缩机


第3步可能是对波形进行更详细的分析,以获得更好的预测值。步骤1简单地使用最后一个值作为预测值。可以使用前n个值的更复杂函数作为下一个值的预测值。这是否有帮助很大程度上取决于您的数据。

第0步是用二进制编码数据。(两个字节中有16位,三个字节中有24位,等等)我希望你已经这样做了

第一步是使用差异。根据您的描述,我敢打赌连续的值变化不大。因此,差异将很小,并且有许多前导零位。试试那个,然后是一个通用压缩机

第二步是使用可变长度整数编码。每个字节的高位决定了每个整数的范围。整数的第一个字节始终具有高位零。同一整数的所有后续字节的高位为1。从每个字节的低七位构建整数。(我认为第一个字节具有最低有效位,但您也可以按最高有效位顺序执行。)这将在一个字节中编码您的小差异。此外,此编码将处理样本中的任意位数,这在应用程序中非常方便。试试这个,然后是一个通用压缩机


第3步可能是对波形进行更详细的分析,以获得更好的预测值。步骤1简单地使用最后一个值作为预测值。可以使用前n个值的更复杂函数作为下一个值的预测值。这是否有帮助很大程度上取决于您的数据。

zip系列算法是通用的,最适合检测输入中何时重复字节序列。在您的情况下,利用您对数据的先验知识的自定义压缩算法可能会在很大范围内执行此类通用算法。zip算法系列是通用的,最适合检测输入中何时重复字节序列。在您的情况下,利用您对数据内容的先验知识的自定义压缩算法可能会在很大范围内执行此类通用算法。