System and method for data compression and decompression
First Claim
1. A processing system comprising:
- a data compressor coupled to a memory including first and second buffers;
the data compressor identifying repetitive data strings of an input file and writing meta data representative of each of the repetitive data strings to data structures in the first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings;
the data compressor writing the non-repetitive data to a second buffer; and
the data compressor generating a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file.
4 Assignments
0 Petitions
Accused Products
Abstract
A data compressor is provided which performs substitution-based data encoding. The compressor identifies repetitive data of an input file and writes meta-data representative of the repetitive data to a first buffer using a triple structure. The triple structure includes information of a length of non-repetitive data preceding repetitive data, an offset between like groups of repetitive data, and a length of the repetitive data. Non-repetitive data is written to a second buffer. The compressor concatenates the first and second buffers along with information of the length of the input file and the length of the first buffer to form a compressed file. A corresponding decompressor parses the compressed file and quickly computes the original file using a pre-allocated memory area.
-
Citations
30 Claims
-
1. A processing system comprising:
-
a data compressor coupled to a memory including first and second buffers;
the data compressor identifying repetitive data strings of an input file and writing meta data representative of each of the repetitive data strings to data structures in the first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings;
the data compressor writing the non-repetitive data to a second buffer; and
the data compressor generating a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data compressor performing substitution-based data encoding, comprising:
-
receiving an input file;
identifying repetitive data of the input file;
writing meta-data representative of the repetitive data to a first buffer using a triple structure, wherein the triple structure includes information of a length of non-repetitive data preceding repetitive data, an offset between like groups of repetitive data, and a length of the repetitive data;
writing non-repetitive data to a second buffer; and
concatenating the first and second buffers along with information of a length of the input file and a length of the first buffer to form a compressed file.
-
- 14. A communication system comprising a first device including a data compressor coupled to a memory including first and second buffers, wherein the data compressor identifies repetitive data strings of an input file and writes meta data representative of each of the repetitive data strings to data structures in the first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings, wherein the data compressor writes the non-repetitive data to a second buffer, and wherein the data compressor generates a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file.
-
17. A method for manipulating data files, comprising:
-
receiving an input file and identifying repetitive data strings of the input file;
writing meta data representative of each of the repetitive data strings to data structures in a first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings;
writing the non-repetitive data to a second buffer; and
generating a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for transferring data files, comprising:
-
receiving an input file;
identifying repetitive data patterns of the input file;
generating meta data representative of the repetitive data patterns and writing the meta data to a first buffer;
writing non-repetitive data to a second buffer; and
generating a compressed file by concatenating the first buffer, the second buffer, and information of a length of the input file and a length of the first buffer.
-
-
29. A processing system comprising:
-
means for receiving an input file and identifying repetitive data strings of the input file;
means for writing meta data representative of each of the repetitive data strings to data structures in a first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings;
means for writing the non-repetitive data to a second buffer; and
means for generating a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file.
-
-
30. A computer readable medium including executable instructions which, when executed in a processing system, processes data files by:
-
receiving an input file and identifying repetitive data strings of the input file;
writing meta data representative of each of the repetitive data strings to data structures in a first buffer, wherein the meta data includes information of a length of non-repetitive data preceding the repetitive data strings, an offset between the repetitive data strings, and a length of the repetitive data strings;
writing the non-repetitive data to a second buffer; and
generating a compressed file by concatenating the first buffer and the second buffer, wherein the compressed file is a compressed version of the input file.
-
Specification