IP Library Granted Patent US 7,845,571
Granted Patent B2
US 7,845,571 · App. 11/425,138 · Granted Dec 7, 2010

Data compression

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 7,845,571
App. No.
11/425,138
Granted
Dec 7, 2010
Kind
B2
Abstract

Briefly, in accordance with one embodiment, a method of data compression is disclosed.

Claims (49)

1. A method comprising:

generating, by a processing device, a code sequence using Golomb coding of data, such that a code within the code sequence includes E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

generating, by the processing device, a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

2. The method of claim 1 , further comprising using an End Of Group (EOG) symbol as the spacer code.

3. The method of claim 1 , further comprising:

using E 1 =A, E 2 =B as the code sequence, such that A and B are integers equal to or greater than 0; and

using 1EOG2EOG as the position code, such that EOG is the spacer code.

4. The method of claim 3 , further comprising using A=B, such that the position code comprises 12EOG.

5. The method of claim 1 , further comprising using a residual R i for the each code within the code sequence.

6. The method of claim 5 , further comprising interleaving the residual R i in the position code.

7. The method of claim 6 , further comprising interleaving the residual R i after the spacer code corresponding to E i .

8. The method of claim 1 , wherein the generating the position code comprises generating the position code in which a difference between positions in the code sequence of the similar respective values of the i positions are adjacent each other in the position code and separated by the spacer code.

9. The method of claim 1 , wherein the generating the position code further comprises omitting the respective values of the i positions that have already been coded.

10. The method of claim 1 , further comprising further coding the position code.

11. The method of claim 10 , further comprising Golomb coding the position code.

12. The method of claim 1 , further comprising storing or transmitting the position code.

13. The method of claim 1 , further comprising using a known length for the code sequence.

14. The method of claim 1 , further comprising prefixing to the position code a maximum value of E i .

15. The method of claim 1 , further comprising prefixing to the position code a minimum value of E i .

16. The method of claim 1 , further comprising post-fixing to the position code a maximum value of E i .

17. The method of claim 1 , further comprising post-fixing to the position code a minimum value of E i .

18. The method of claim 1 , further comprising combining both maximum and minimum values of E i with the position code.

19. The method of claim 1 , further comprising using a No More Groups signal to indicate end of the position code.

20. The method of claim 1 , further comprising prefixing to the position code a length of the code sequence.

21. The method of claim 1 , further comprising using non-numerical data symbols for the data and before the generating the code sequence the method further comprises:

converting the non-numerical data symbols into numerical data by mapping.

22. The method of claim 21 , further comprising using symbolic data for the non-numerical data symbols.

23. A system, comprising:

an analyzer configured to:

use Golomb coding of data to generate a code sequence, such that a code within the code sequence includes E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

generate a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

24. A method comprising:

for data comprising a numeric data symbol V i :

determining, by a processing device, a largest integral value of an exponent E i for which b Ei does not exceed V i , where b is a fixed modulo value; and

calculating, by the processing device, a residual R i =V i −b Ei ;

generating, by the processing device, a code sequence, such that a code within the code sequence includes the exponent E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

generating, by the processing device, a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

25. A tangible computer-readable medium having stored thereon computer-executable instructions execution of which by a computing device causes the computing device to perform a method comprising:

using Golomb coding of data to generate a code sequence, such that a code within the code sequence includes E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

generating a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

26. A computer program product comprising a tangible computer-useable medium having instructions stored thereon, the instructions comprising:

a computer program module that, when executed, uses Golomb coding of data to generate a code sequence, such that a code within the code sequence includes E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

a computer program module that, when executed, generates a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

27. A computer program product comprising a tangible computer-useable medium having instructions stored thereon, the instructions comprising:

for data comprising a numeric data symbol V i :

a computer program module that, when executed, determines a largest integral value of an exponent E i for which b Ei does not exceed V i , where b is a fixed modulo value; and

a computer program module that, when executed, calculates a residual R i =V i −b Ei ;

a computer program module that, when executed, generates a code sequence, such that a code within the code sequence includes the exponent E i , wherein i is an integer equal to or greater than 1 representing a position of the code within the code sequence; and

a computer program module that, when executed, generates a position code in which positions, i, of respective E i 's having a same value are adjacent each other in the position code and separated by a spacer code.

Assignments (3)
MERGER Recorded Sep 15, 2015
From: ESSEX PA, L.L.C
To: MINERAL LASSEN LLC
Reel/Frame 036571/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2007
From: MONRO, DON MARTIN
To: ESSEX PA, L.L.C.
Reel/Frame 018970/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2007
From: MONRO, DONALD M.
To: ESSEX PA, L.L.C.
Reel/Frame 018849/0139 →