IP Library Granted Patent US 8,933,825
Granted Patent B2
US 8,933,825 · App. 14/251,453 · Granted Jan 13, 2015

Data compression systems and methods

Inventor: James J. Fallon (Armonk, NY)
Assignee: Realtime Data LLC
H03M7/3059H03M7/30G06T9/00
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 8,933,825
App. No.
14/251,453
Granted
Jan 13, 2015
Kind
B2
Abstract

Data compression using a combination, of content independent data compression and content dependent data compression. In one aspect, a method for compressing data comprises: determining whether or not a parameter or attribute of data within a data block is identified for the data block wherein the determining is not based solely on a descriptor that is indicative of the parameter or attribute of the data within the data block; and compressing the data block with at least one encoder associated with the parameter or attribute of the data within the data block to provide a compressed data block.

Claims (49)

1. A method comprising:

determining whether or not a parameter or attribute of data within a data block is identified for the data block wherein the determining is not based solely on a descriptor that is indicative of the parameter or attribute of the data within the data block;

compressing, if the parameter or attribute of the data within the data block is identified, the data block with at least one encoder associated with the parameter or attribute of the data within the data block to provide a compressed data block; and

compressing, if the parameter or attribute of the data within the data block is not identified, the data block with at least one encoder associated with a non-identifiable parameter or attribute of the data within the data block to provide the compressed data block.

2. The method of claim 1 , further comprising receiving and buffering the data block, wherein the buffering is performed after the receiving of the data block and before compressing of the data block.

3. The method of claim 1 , further comprising transmitting a data token indicative of the compression utilized to provide the compressed data block.

4. The method of claim 3 , further comprising receiving the compressed data block and the data token indicative of the compression utilized to provide the compressed data block.

5. The method of claim 4 , further comprising decompressing the compressed data block based on the token indicative of the compression utilized to provide the compressed data block.

6. The method of claim 1 , wherein the compressing, if a parameter or attribute of the data within the data block is identified, occurs in real-time.

7. The method of claim 1 , wherein the compressing, if a parameter or attribute of the data within the data block is not identified, occurs in real-time.

8. The method of claim 1 , wherein the size of the data block is fixed.

9. The method of claim 1 , wherein the size of the data block is variable.

10. The method of claim 1 further comprising storing the compressed data block.

11. The method of claim 10 further comprising retrieving the stored compressed data block and decompressing the stored compressed data block at a rate that provides the decompressed data block faster than if the data block were retrieved uncompressed.

12. The method of claim 1 , wherein the at least one encoder associated with the parameter or attribute of the data within the data block is lossless.

13. The method of claim 1 , wherein the at least one encoder associated with the non-identifiable parameter or attribute of the data within the data block is lossless.

14. The method of claim 1 , wherein the at least one encoder associated with the parameter or attribute of the data is a Lempel-Ziv encoder.

15. The method of claim 1 , wherein the at least one encoder associated with the non-identifiable parameter or attribute of the data is a Lempel-Ziv encoder.

16. The method of claim 1 , wherein the at least one encoder associated with the parameter or attribute of the data within the data block is provided as a software module.

17. The method of claim 1 , wherein at least one of the least one encoder associated with the parameter or attribute of the data within the data block is operable to be user-disabled.

18. A method comprising:

associating at least one encoder to each one of a plurality of parameters or attributes of data;

analyzing data within a data block to determine whether a parameter or attribute of the data within the data block is identified for the data block;

wherein the analyzing of the data within the data block to identify a parameter or attribute of the data excludes analyzing based only on a descriptor that is indicative of the parameter or attribute of the data within the data block;

identifying a first parameter or attribute of the data of the data block;

compressing, if the first parameter or attribute of the data is the same as one of the plurality of parameter or attributes of the data, the data block with the at least one encoder associated with the one of the plurality of parameters or attributes of the data that is the same as the first parameter or attribute of the data to provide a compressed data block; and

compressing, if the first parameter or attribute of the data is not the same as one of the plurality of parameters or attributes of the data, the data block with a default encoder to provide the compressed data block.

19. The method of claim 18 wherein the data block is first received.

20. The method of claim 18 , wherein the compressing occurs in real-time.

21. The method of claim 18 , further comprising transmitting a token indicative of the compression utilized to provide the compressed data block, with the compressed data block.

22. The method of claim 21 further comprising receiving the transmitted compressed data block and the token and decompressing the compressed data block based on the token.

23. A method comprising:

associating at least one of a plurality of first encoders to each one of a plurality of attributes or parameters of data;

associating at least one second encoder to a non-identifiable parameter or attribute of data;

determining whether a parameter or attribute of data is identified for a data within the data block wherein the determining excludes determining based upon a descriptor indicative of a parameter or attribute of the data;

compressing, if a parameter or attribute of the data is identified as being associated with the at least one of the plurality of first encoders, the data block with the at least one of the plurality of first encoders associated with the parameter or attribute to provide a compressed data block;

compressing, if a parameter or attribute of the data is not identified, the data block with the at least one second encoder to provide the compressed data block; and

transmitting the compressed data block with a token indicative of the compression utilized to provide the compressed data block.

24. The method of claim 23 , further comprising receiving and buffering the data block wherein the buffering is after the receiving of the data block and before the compressing of the data block.

25. The method of claim 23 , wherein the compressing, if a parameter or attribute of the data is identified as being associated with the at least one of the plurality of first encoders, and compressing, if a parameter or attribute of the data is not identified, occurs in real-time.

26. The method of claim 23 , wherein the at least one of the plurality of first encoders is operable to be user-disabled.

27. The method of claim 23 further comprising receiving the transmitted compressed data block and decompressing the compressed data block at a rate that provides the decompressed data block faster than if the data block were transmitted and received in uncompressed form, inclusive of the time to compress.

28. A method comprising:

providing a plurality of compression techniques;

determining whether or not to compress a data block and, if the data block is to be compressed, determining which one of the plurality of compression techniques to utilize to compress the data block and compressing the data block with the determined one of the plurality of compression techniques to provide a compressed data block;

wherein the determining excludes determining based upon a descriptor that is indicative of a parameter or attribute of the data within the data block; and

providing a token associated with the compressed data block, wherein the token is either indicative of the determination not to compress or the determined one of the plurality of compression techniques.

29. The method of claim 28 , wherein the compressing occurs in real-time.

30. The method of claim 28 further comprising transmitting the compressed data block with the token indicative of whether the data block is compressed and if it is compressed, the compression utilized to provide the compressed data block.

Continuity (11)
Continuation 14035561 · Sep 24, 2013
Continuation 13154211 · Jun 6, 2011
Continuation 12703042 · Feb 9, 2010
Continuation 11651366 · Jan 8, 2007
Continuation 11651365 · Jan 8, 2007
Continuation 10668768 · Sep 22, 2003
Continuation 10668768 · Sep 22, 2003
Continuation 10016355 · Oct 29, 2001
Continuation In Part 09705446 · Nov 3, 2000
Continuation 09210491 · Dec 11, 1998
Related Publication 20140218220A1 · Aug 7, 2014