DATA COMPRESSION UTILIZING LONGEST COMMON SUBSEQUENCE TEMPLATE
First Claim
1. A method of data processing system in a data processing system, comprising:
- in response to receipt of an input string, an integrated circuit attempting to identify, in a template store, a closely matching template for use as a compression template;
in response to identification of the closely matching template as the compression template, the integrated circuit compressing the input string into a compressed string by reference to a compression template, wherein the compressing includes;
encoding, in a compressed string, an identifier of the compression template;
encoding, in the compressed string, first substrings of the input string not having commonality with the compression template of at least a predetermined length as literals;
in response to identifying first substrings, encoding, in the compressed string, jump lengths in the compression template until a next match between the input string and the compression template;
encoding, in the compressed string, second substrings of the input string having commonality with the compression template of at least the predetermined length as a template reference without reference to a base location in the compression template; and
outputting the compressed string.
1 Assignment
0 Petitions
Accused Products
Abstract
In response to receipt of an input string, an attempt is made to identify, in a template store, a closely matching template for use as a compression template. In response to identification of a closely matching template that can be used as a compression template, the input string is compressed into a compressed string by reference to a longest common subsequence compression template. Compressing the input string includes encoding, in a compressed string, an identifier of the compression template, encoding substrings of the input string not having commonality with the compression template of at least a predetermined length as literals, and encoding substrings of the input string having commonality with the compression template of at least the predetermined length as a jump distance without reference to a base location in the compression template. The compressed string is then output.
-
Citations
8 Claims
-
1. A method of data processing system in a data processing system, comprising:
-
in response to receipt of an input string, an integrated circuit attempting to identify, in a template store, a closely matching template for use as a compression template; in response to identification of the closely matching template as the compression template, the integrated circuit compressing the input string into a compressed string by reference to a compression template, wherein the compressing includes; encoding, in a compressed string, an identifier of the compression template; encoding, in the compressed string, first substrings of the input string not having commonality with the compression template of at least a predetermined length as literals; in response to identifying first substrings, encoding, in the compressed string, jump lengths in the compression template until a next match between the input string and the compression template; encoding, in the compressed string, second substrings of the input string having commonality with the compression template of at least the predetermined length as a template reference without reference to a base location in the compression template; and outputting the compressed string. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of data processing, the method comprising:
-
in response to receiving a compressed string, an integrated circuit decoding the compressed string, wherein the decoding includes; accessing a compression template identified in the compressed string; and until an end of the compressed string is reached, repeatedly performing; determining whether a next code in the compressed string is a literal, a jump code or a reference code; and in response to determining the next code is a literal, inserting the code in a decompressed string; in response to determining the next code is a jump code, advancing in the compression template a length specified by the jump code; and in response to determining the next code is a reference code, inserting in the decompressed string a next consecutive substring from the compression template of a length specified by the reference code; and outputting the decompressed string.
-
Specification