Lossless data compression
First Claim
1. A method of improving operation of a system including an analytical instrument that includes a data acquisition system that is configured to generate a stream of digital data comprising N numbers of size n corresponding to a magnitude of a measured variable in which at least some of the numbers include at least one zero and wherein the system includes a processing device that is operably connected to the data acquisition system, the method comprising:
- providing the processing device with an original stream of digital data comprising N numbers of size n from the data acquisition system;
causing the processing device to segment at least a portion of the original stream of data to form at least one segmented array of data;
causing the processing device to transpose the at least one segmented array of data to form at least one transposed array of data;
causing the processing device to split the at least one transposed array of data to form at least one interleaved array of data to thereby save at least a byte in memory that can be utilized to store run length information;
causing the processing device to run length encode leading zeros of the numbers to form compressed data comprising run length information to reduce an amount of memory required to store the compressed data; and
storing the compressed data in memory.
1 Assignment
0 Petitions
Accused Products
Abstract
An analytical instrument includes a data acquisition system that produces data. The analytical instrument includes a data compression system/process that utilizes a lossless data compression technique that can be implemented using minimal hardware and software resources. The process may be implemented in such a way that it can be split into many parallel operations. The process can be implemented utilizing software and/or processing devices such as Field-Programmable Gate Arrays (FPGAs) or Graphics Processing Units (GPUs).
26 Citations
20 Claims
-
1. A method of improving operation of a system including an analytical instrument that includes a data acquisition system that is configured to generate a stream of digital data comprising N numbers of size n corresponding to a magnitude of a measured variable in which at least some of the numbers include at least one zero and wherein the system includes a processing device that is operably connected to the data acquisition system, the method comprising:
-
providing the processing device with an original stream of digital data comprising N numbers of size n from the data acquisition system; causing the processing device to segment at least a portion of the original stream of data to form at least one segmented array of data; causing the processing device to transpose the at least one segmented array of data to form at least one transposed array of data; causing the processing device to split the at least one transposed array of data to form at least one interleaved array of data to thereby save at least a byte in memory that can be utilized to store run length information; causing the processing device to run length encode leading zeros of the numbers to form compressed data comprising run length information to reduce an amount of memory required to store the compressed data; and storing the compressed data in memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An analytical instrument comprising:
-
a data acquisition system that is configured to generate a stream of digital data comprising N numbers of size n corresponding to a magnitude of a measured variable in which at least some of the numbers include at least one zero, and wherein the system includes; a processing device that is configured to receive a stream of data comprising N numbers of size n from the data acquisition system, the processing device configured to; cause the processing device to segment at least a portion of the stream of data to form at least one segmented array of data; cause the processing device to transpose the at least one segmented array of data to form at least one transposed array of data; cause the processing device to split the at least one transposed array of data to form at least one interleaved array of data to thereby save at least a byte in memory that can be utilized to store run length information; cause the processing device to run length encode leading zeros of the numbers to form compressed data comprising run length information to reduce the amount of memory required to store the data; and store the compressed data in memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification