IP Library Granted Patent US 9,385,751
Granted Patent B2
US 9,385,751 · App. 14/877,875 · Granted Jul 5, 2016

Enhanced data compression for sparse multidimensional ordered series data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,385,751
App. No.
14/877,875
Granted
Jul 5, 2016
Kind
B2
Abstract

Disclosed are methods and systems for significantly compressing sparse multidimensional ordered series data comprised of indexed data sets, wherein each data set comprises an index, a first variable and a second variable. The methods and systems are particularly suited for compression of data recorded in double precision floating point format.

Claims (80)

1. A computer-implemented method of compressing a sparse multidimensional ordered series of spectroscopic data, the method comprising:

a) receiving the sparse multidimensional ordered series data, wherein the data comprise indexed data sets, each indexed data set comprising an index (n), a first variable (x n ) representing a mass to charge ratio (m/z), and a second variable (y n ) representing signal intensity;

b) defining a predictor that calculates each first variable (x n ) as a function of the index (n);

c) assigning an amplitude code word to each y n based on the value and frequency of the y n ;

d) calculating a hop offset value (Δn) for each y n ;

e) assigning a hop code word to each Δn based on the value and frequency of the Δn; and

f) generating a compressed output, said compressed output comprising:

i) a decoder legend comprising:

a description of the predictor;

a reverse amplitude code word dictionary associated with y n ; and

a reverse hop code word dictionary associated with Δn; and

ii) code word data comprising an amplitude code word and a hop code word for each y n and each Δ n , respectively.

2. The method of claim 1 , wherein the sparse multidimensional ordered series data is in double precision floating point format.

3. The method of claim 1 , wherein the multidimensional ordered series data contain values that fall within a dynamic range of less than 10 orders of magnitude.

4. The method of claim 1 , wherein the sparse multidimensional ordered series data comprises a plurality of indexed x,y pairs.

5. The method of claim 1 , wherein the predictor is a global predictor function.

6. The method of claim 5 , wherein the global predictor is an n th order polynomial function.

7. The method of claim 6 , wherein the function is g(n)=a 0 +a 1 *n+a 2 *n 2 +a 3 *n 3 .

8. The method of claim 1 , wherein the predictor is a piecewise predictor.

9. The method of claim 1 , wherein the predictor is a local predictor.

10. The method claim 1 , wherein the predictor further comprises an error correction mechanism.

11. The method of claim 1 , wherein the second variable y n data is comprised of a sequence of variable amplitude measurements interspaced with intervals of relatively quiet periods during which the y n data remains moderately constant and primarily dominated by noise.

12. The method of claim 1 , wherein the second variable y n data is comprised of a non-uniform multi-modal distribution of amplitude ranges, where certain amplitude ranges that occur frequently are interspaced with other amplitude ranges that occur much less frequently.

13. The method of claim 12 , wherein the second variable y n data is comprised of a discrete set of observable amplitude ranges interspaced with intervals of amplitude ranges that are not observed in the data.

14. The method of claim 1 , wherein assigning an amplitude code word to each y n based on the value and frequency of the y n comprises:

i) generating a hash table for amplitude values;

ii) looking up each of the second variable (y n ) value in turn,

wherein if the y n value is not previously seen, then the y n value is added to a list of amplitude values and an associated frequency occurrence is set to one, and

wherein if the y n is already present on the list of amplitude values, then the associated frequency occurrence is incremented by one;

iii) sorting the list of amplitude values by their associated frequency occurrence;

iv) assigning a unique amplitude code word to each unique amplitude value in the list of amplitude values, wherein the shortest code words are assigned to the most frequently occurring amplitude values.

15. The method of claim 14 , wherein any second variable (y n ) value less than or equal to a baseline threshold is skipped.

16. The method of claim 1 , wherein the sparse multidimensional ordered series data describe a non-uniform multi-modal distribution of hop Δ n ranges, where certain hop ranges that are frequently and considerably more likely to occur are interspaced with other hop ranges that are much less likely to occur.

17. The method of claim 16 , wherein the hop offset values are comprised of a discrete set of observable amplitude ranges interspaced with intervals of amplitude ranges that are not observed in the data.

18. The method of claim 1 , wherein calculating a hop offset value (Δ n ) for each y n comprises:

i) identifying an initial hop offset value (Δ 0 ) and entering the Δ 0 into a previous register as a previous peak location;

ii) feeding each index (n) into the previous register subtracting the previous peak location from the index (n) to calculate the hop offset value (Δ n ) and then replacing the previous peak location with the index (n);

iii) repeating step ii) for each index (n) in the sparse multidimensional ordered series data.

19. The method of claim 1 , wherein calculating a hop offset value (Δ n ) for each y n comprises:

i) identifying an initial hop offset value (Δ 0 ) and entering the Δ 0 into a previous register as a previous peak location;

ii) feeding each first variable (x n ) value into the previous register subtracting the previous peak location from the first variable (x n ) value to calculate the hop offset value (Δ n ) and then replacing the previous peak location with the first variable (x n ) value;

iii) repeating step ii) for each first variable (x n ) value in the sparse multidimensional ordered series data.

20. The method of claim 1 , wherein assigning a hop code word to each Δn based on the value and frequency of the Δ n comprises:

i) generating a hash table for hop offset values;

ii) looking up each hop offset value (Δn) value in turn,

wherein if the Δ n value is not previously seen, then the Δ n value is added to a list of hop values and an associated frequency occurrence is set to one, and

wherein if the Δ n is already present on the list of hop values, then the associated frequency occurrence is incremented by one;

iii) sorting the list of hop values by their associated frequency occurrence;

iv) assigning a unique hop code word to each unique hop value in the list of hop values, wherein the shortest code words are assigned to the most frequently occurring hop values.

21. A non-transitory computer readable medium having instructions stored therein, which, when executed by a process, cause the processor to perform operations, the operations comprising:

receiving sparse multidimensional ordered series data, wherein the data comprise indexed data sets, each indexed data set comprising an index (n), a first variable (x n ) and a second variable (y n );

defining a predictor that calculates each first variable (x 11 ) as a function of the index (n);

assigning an amplitude code word to each y n based on the value and frequency of the y n ;

calculating a hop value (Δn) for each y n and assigning a hop code word to each Δ n based on the value and frequency of the Δn; and

generating a compressed output, said compressed output comprising:

a decoder legend comprising:

a description of the predictor;

a reverse amplitude code word dictionary associated with y n ; and

a reverse hop code word dictionary associated with Δ n ; and

code word data comprising an amplitude code word and a hop code word for each y n and each Δn, respectively.

22. An ordered series data encoder comprising

a data receiver for receiving sparse multidimensional ordered series data, wherein the data comprise indexed data sets, each indexed data set comprising an index (n), a first variable (x n ) and a second variable (y n );

a predictor that predicts each first variable (x n ) as a function of the index (n);

an amplitude coder that assigns an amplitude code word to each y n based on the value and frequency of the y n ;

a hop coder that calculates a hop value (Δ n ) for each y n and assigns a hop code word to each Δn based on the value and frequency of the Δ n ; and

an encoder that generates a compressed output, said compressed output comprising:

a decoder legend comprising:

a description of the predictor;

a reverse amplitude code word dictionary associated with y n ; and

a reverse hop code word dictionary associated with Δ n ; and

code word data comprising an amplitude code word and a hop code word for each y n and each Δn, respectively.

23. The ordered series encoder of claim 22 , wherein the ordered series is a time series.

24. A non-transitory readable medium comprising compressed sparse multidimensional ordered series data, said compressed data comprising:

a decoder legend comprising:

a description of a predictor, wherein the predictor calculates a first variable (x n ) as a function of an index (n);

a reverse amplitude dictionary, wherein the reverse amplitude dictionary includes a plurality of amplitude code words, wherein each amplitude code word is associated with an amplitude value; and

a reverse hop offset dictionary, wherein the reverse hop offset dictionary associates a hop code word to each Δ n based on the value and frequency of the Δ n ; and

code word data comprising a plurality of pairs of an amplitude code word and a hop code word,

wherein each pair of an amplitude code word and a hop code word, is capable of being decompressed to an index (n), a first variable (x n ) and a second variable (y n ).

25. The non-transitory medium of claim 24 , wherein the decoder legend further comprises an initial hop offset value (Δ 0 ).

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jul 1, 2025
From: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
To: PROTEIN METRICS, LLC; SOFTGENETICS, LLC
Reel/Frame 071582/0907 →
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2024
From: BARINGS FINANCE LLC, AS COLLATERAL AGENT
To: PROTEIN METRICS, INC.
Reel/Frame 067895/0115 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 1, 2024
From: PROTEIN METRICS, LLC; SOFTGENETICS, LLC
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 068102/0180 →
TERMINATION OF PATENT SECURITY AGREEMENT AT REEL 58457/FRAME 0205 Recorded Jul 1, 2024
From: BARINGS FINANCE LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: PROTEIN METRICS, INC. (N/K/A PROTEIN METRICS, LLC)
Reel/Frame 068102/0310 →
CHANGE OF NAME Recorded Feb 8, 2023
From: PROTEIN METRICS INC.
To: PROTEIN METRICS, LLC
Reel/Frame 062625/0973 →
SECURITY INTEREST Recorded Dec 22, 2021
From: PROTEIN METRICS INC.
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 058457/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: KLETTER, DORON
To: PROTEIN METRICS INC.
Reel/Frame 038424/0785 →