Claims Analysis
Total Claims: 49
Claim 1
Independent Claim
229 words
A method for efficiently providing a longest matched string for a plurality of input symbols in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, utilizing a string matching procedure comprising, for each cycle, the steps of: 1A) appending the `character` onto the `string` to form a `string+character`, 1B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 1B1) where there is a successful match, testing whether the entry is created by the string matching procedure executed immediately previously, 1B1a) where the entry is other than the entry created by the immediately previous string matching procedure, determining whether a length of the `string+character` is equal to a predetermined maximum string length, and one of 1B1a1-1B1a2: 1B1a1) where the string length is less than the predetermined maximum string length, recycling to step 1A, and continuing the string matching procedure with `string+character` as the `string` and `character` as the next input symbol, 1B1a2) where the string length is equal to the predetermined maximum string length, terminating the cycle of the string matching procedure, 1B1b) where the `string+character` is the string created by the immediately previous string matching procedure, terminating the cycle of the string matching procedure, 1B2) where there is an unsuccessful match, terminating the cycle of the string matching procedure.
Claim 2
Independent Claim
229 words
A method for efficiently providing a longest matched string for a plurality of input symbols in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, utilizing a string matching procedure comprising, for each cycle, the steps of: 1A) appending the `character` onto the `string` to form a `string+character`, 1B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 1B1) where there is a successful match, testing whether the entry is created by the string matching procedure executed immediately previously, 1B1a) where the entry is other than the entry created by the immediately previous string matching procedure, determining whether a length of the `string+character` is equal to a predetermined maximum string length, and one of 1B1a1-1B1a2: 1B1a1) where the string length is less than the predetermined maximum string length, recycling to step 1A, and continuing the string matching procedure with `string+character` as the `string` and `character` as the next input symbol, 1B1a2) where the string length is equal to the predetermined maximum string length, terminating the cycle of the string matching procedure, 1B1b) where the `string+character` is the string created by the immediately previous string matching procedure, terminating the cycle of the string matching procedure, 1B2) where there is an unsuccessful match, terminating the cycle of the string matching procedure.
Claim 3
Dependent Claim
39 words
The method of claim 1 further including, prior to testing whether the length of the `string+character` is equal to the predetermined maximum string length, the step of adjusting a string length counter to represent the length of the `string+character`.
Claim 4
Dependent Claim
27 words
The method of claim 2 wherein adjusting the string length counter to represent the length of the `string+character` comprises decrementing a value of the string length counter.
Claim 5
Dependent Claim
38 words
The method of claim 1 wherein the step of determining whether the length of the `string+character` is equal to a predetermined maximum string length comprises comparing the value of the string length counter to a predetermined checking value.
Claim 6
Dependent Claim
14 words
The method of claim 4 wherein the predetermined checking value is equal to zero.
Claim 7
Dependent Claim
27 words
The method of claim 1 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, the `string+character` represents a longest matched string.
Claim 8
Dependent Claim
31 words
The method of claim 6 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, recycling to step 1A with `string` equal to the NULL string.
Claim 9
Dependent Claim
29 words
The method of claim 7 wherein, where the `string` is the null string, further including a step of resetting a string length counter to a NULL string length value.
Claim 10
Dependent Claim
19 words
The method of claim 8 wherein the NULL string length value is equal to the predetermined maximum string length.
Claim 11
Dependent Claim
32 words
The method of claim 6 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, recycling to step 1A with `string` equal to a next input symbol.
Claim 12
Dependent Claim
22 words
The method of claim 10 further including the step of resetting a string length counter to a one character string length value.
Claim 13
Dependent Claim
22 words
The method of claim 11 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 14
Dependent Claim
28 words
The method of claim 1 wherein where the `string+character` is the string created by the string matching procedure executed immediately previously, the `string` is the longest matched string.
Claim 15
Dependent Claim
23 words
The method of claim 13 further including recycling to step 1A and restarting the string matching procedure with the `character` as the `string`.
Claim 16
Dependent Claim
22 words
The method of claim 14 further including the step of resetting the string length counter to a one character string length value.
Claim 17
Dependent Claim
22 words
The method of claim 15 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 18
Dependent Claim
26 words
The method of claim 1 wherein, where there is an unsuccessful match, the `string` represents the longest matched string and the `character` represents an unmatched character.
Claim 19
Dependent Claim
33 words
The method of claim 17 further including, following an unsuccessful match in step 1B2, recycling to step 1A and restarting the string matching procedure with the `character` from the `string+character` as the `string`.
Claim 20
Dependent Claim
22 words
The method of claim 18 further including the step of resetting the string length counter to a one character string length value.
Claim 21
Dependent Claim
22 words
The method of claim 19 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 22
Dependent Claim
23 words
The method of claim 1 further including the step of adding the `string+character` to the dictionary following an unsuccessful match in step 1B2.
Claim 23
Independent Claim
293 words
A device for utilizing a string matching procedure to efficiently provide a longest matched string for a plurality of input symbols in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, comprising: 22A) an appender, operably coupled to receive the input symbols, for appending the `character` onto the `string` to form a `string+character`, 22B) a match searching unit, operably coupled to the apppender, for searching for an entry in a dictionary that matches the `string+character` in the dictionary, and, where there is an unsuccessful match, for terminating the string matching procedure for the `string+character`, 22C) a previous string match tester, operably coupled to the match searching unit, for, where there is a successful match in the dictionary, testing whether the `string+character` is an entry created by the string matching procedure executed immediately previously, and where the `string+character` is the entry created by the immediately previous string matching procedure, for terminating the string matching procedure for the `string+character` and, where selected, signalling the appender to begin a next string matching procedure, 22D) a maximum string length comparator, operably coupled to the previous string match tester, for, where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, determining whether a length of the `string+character` is equal to a predetermined maximum string length, and one of: where the string length is less than the predetermined maximum string length, for signalling the appender to begin a next string matching procedure with `string+character` as the `string` and `character` as the next input symbol, and where the string length is equal to the predetermined maximum string length, for terminating the string matching procedure for the `string+character`.
Claim 24
Independent Claim
293 words
A device for utilizing a string matching procedure to efficiently provide a longest matched string for a plurality of input symbols in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, comprising: 22A) an appender, operably coupled to receive the input symbols, for appending the `character` onto the `string` to form a `string+character`, 22B) a match searching unit, operably coupled to the apppender, for searching for an entry in a dictionary that matches the `string+character` in the dictionary, and, where there is an unsuccessful match, for terminating the string matching procedure for the `string+character`, 22C) a previous string match tester, operably coupled to the match searching unit, for, where there is a successful match in the dictionary, testing whether the `string+character` is an entry created by the string matching procedure executed immediately previously, and where the `string+character` is the entry created by the immediately previous string matching procedure, for terminating the string matching procedure for the `string+character` and, where selected, signalling the appender to begin a next string matching procedure, 22D) a maximum string length comparator, operably coupled to the previous string match tester, for, where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, determining whether a length of the `string+character` is equal to a predetermined maximum string length, and one of: where the string length is less than the predetermined maximum string length, for signalling the appender to begin a next string matching procedure with `string+character` as the `string` and `character` as the next input symbol, and where the string length is equal to the predetermined maximum string length, for terminating the string matching procedure for the `string+character`.
Claim 25
Dependent Claim
26 words
The device of claim 22 further including a string length counter, operably coupled to the maximum string length comparator, for updating the length of the `string+character`.
Claim 26
Dependent Claim
21 words
The device of claim 23 wherein updating the length of the `string+character` comprises decrementing a value of the string length counter.
Claim 27
Dependent Claim
43 words
The device of claim 23 wherein the maximum string length comparator determines whether the length of the `string+character` is less than or equal to a predetermined maximum string length by comparing the value of the string length counter to a predetermined checking value.
Claim 28
Dependent Claim
14 words
The device of claim 25 wherein the predetermined checking value is equal to zero.
Claim 29
Dependent Claim
27 words
The device of claim 22 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, the `string+character` represents a longest matched string.
Claim 30
Dependent Claim
57 words
The device of claim 27 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, the maximum string length comparator terminates the string matching procedure for the `string+character` and signals the appender to begin a next string matching procedure, to restart the string matching procedure with `string` equal to the NULL string.
Claim 31
Dependent Claim
28 words
The device of claim 28 wherein, where the `string` is the null string, the string length counter resets the string length counter to a NULL string length value.
Claim 32
Dependent Claim
19 words
The device of claim 29 wherein the NULL string length value is equal to the predetermined maximum string length.
Claim 33
Dependent Claim
58 words
The device of claim 27 wherein, where the length of the `string+character` is equal to the predetermined maximum string length, the maximum string length comparator terminates the string matching procedure for the `string+character` and signals the appender to begin a next string matching procedure, to restart the string matching procedure with `string` equal to a next input symbol.
Claim 34
Dependent Claim
22 words
The device of claim 31 wherein the string length counter resets the string length counter to a one character string length value.
Claim 35
Dependent Claim
22 words
The device of claim 32 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 36
Dependent Claim
28 words
The device of claim 22 wherein where the `string+character` is the string created by the string matching procedure executed immediately previously, the `string` is the longest matched string.
Claim 37
Dependent Claim
20 words
The device of claim 34 wherein the appender further restarts the string matching procedure with the `character` as the `string`.
Claim 38
Dependent Claim
18 words
The device of claim 35 wherein the string length counter resets to a one character string length value.
Claim 39
Dependent Claim
22 words
The device of claim 36 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 40
Dependent Claim
26 words
The device of claim 22 wherein, where there is an unsuccessful match, the `string` represents the longest matched string and the `character` represents an unmatched character.
Claim 41
Dependent Claim
50 words
The device of claim 38 wherein, where there is an unsuccessful match, the match searching unit terminates the string matching procedure for the `string+character` and signals the appender to begin a next string matching procedure, to restart the string matching procedure with the `character` from the "string+character` as the `string`.
Claim 42
Dependent Claim
22 words
The device of claim 39 wherein the string length counter resets the string length counter to a one character string length value.
Claim 43
Dependent Claim
22 words
The device of claim 40 wherein the one character string length value is equal to the predetermined maximum string length minus one.
Claim 44
Dependent Claim
21 words
The device of claim 22 wherein the match searching unit further adds the `string+character` to the dictionary following an unsuccessful match.
Claim 45
Independent Claim
321 words
A method for efficiently providing a longest matched string for an input symbol character in a data compression encoder/decoder, wherein a `string` begins as one of: a first input/received symbol and a null string and a `character` is, correspondingly, one of: a next input/received symbol and a first input/received symbol, utilizing a string matching procedure comprising, for each single character processing in a compressed mode, the steps of: 43A) appending the `character` onto the `string` to form a `string+character`, 43B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 43B1) where there is a successful match, testing whether the `string+character` is the entry created by the string matching procedure executed immediately previously, 43B1a) where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, setting `string` equal to `string+character` and determining whether a length of the `string+character` is equal to a predetermined maximum string length (N7), and one of 43B1a1-43B1a2: 43B1a1) where the string length is less than the predetermined maximum string length, where selected, maintaining a preselected escape character and ending the single character processing, 43B1a2) where the string length is equal to the predetermined maximum string length, setting a codeword to a codeword for the `string` and string=NULL, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing, 43B1b) where the `string+character` is the entry created by the immediately previous string matching procedure, setting the codeword to a codeword for the `string` and string=character, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing, 43B2) where there is an unsuccessful match, adding `string+character` to the dictionary, setting the codeword to a codeword for the `string` and string=character, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing.
Claim 46
Independent Claim
321 words
A method for efficiently providing a longest matched string for an input symbol character in a data compression encoder/decoder, wherein a `string` begins as one of: a first input/received symbol and a null string and a `character` is, correspondingly, one of: a next input/received symbol and a first input/received symbol, utilizing a string matching procedure comprising, for each single character processing in a compressed mode, the steps of: 43A) appending the `character` onto the `string` to form a `string+character`, 43B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 43B1) where there is a successful match, testing whether the `string+character` is the entry created by the string matching procedure executed immediately previously, 43B1a) where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, setting `string` equal to `string+character` and determining whether a length of the `string+character` is equal to a predetermined maximum string length (N7), and one of 43B1a1-43B1a2: 43B1a1) where the string length is less than the predetermined maximum string length, where selected, maintaining a preselected escape character and ending the single character processing, 43B1a2) where the string length is equal to the predetermined maximum string length, setting a codeword to a codeword for the `string` and string=NULL, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing, 43B1b) where the `string+character` is the entry created by the immediately previous string matching procedure, setting the codeword to a codeword for the `string` and string=character, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing, 43B2) where there is an unsuccessful match, adding `string+character` to the dictionary, setting the codeword to a codeword for the `string` and string=character, checking the codeword size, sending the codeword, maintaining the preselected escape character where selected, and ending the single character processing.
Claim 47
Independent Claim
267 words
A method for efficiently providing a longest matched string for an input symbol character in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, utilizing a string matching procedure comprising, for each single character processing in a transparent mode, the steps of: 44A) appending the `character` onto the `string` to form a `string+character`, 44B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 44B1) where there is a successful match, testing whether the `string+character` is the entry created by the string matching procedure executed immediately previously, 44B1a) where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, setting `string` equal to `string+character` and determining whether a length of the `string+character` is equal to a predetermined maximum string length (N7), and one of 44B1a1-44B1a2: 44B1a1) where the string length is less than the predetermined maximum string length, sending the character and maintaining a preselected escape character and ending the single character processing, 44B1a2) where the string length is equal to the predetermined maximum string length, setting string=NULL, sending the character, maintaining the preselected escape character, and ending the single character processing, 44B1b) where the `string+character` is the entry created by the immediately previous string matching procedure, setting string=character, sending the character, maintaining the preselected escape character, and ending the single character processing, 44B2) where there is an unsuccessful match, adding `string+character` to the dictionary, setting string=character, sending the character, maintaining the preselected escape character, and ending the single character processing.
Claim 48
Independent Claim
267 words
A method for efficiently providing a longest matched string for an input symbol character in a data compression encoder/decoder, wherein a `string` begins as a null string/a first input/received symbol and a `character` is, correspondingly, a first/next input/received symbol, utilizing a string matching procedure comprising, for each single character processing in a transparent mode, the steps of: 44A) appending the `character` onto the `string` to form a `string+character`, 44B) searching for an entry in a dictionary that matches the `string+character` in the dictionary, 44B1) where there is a successful match, testing whether the `string+character` is the entry created by the string matching procedure executed immediately previously, 44B1a) where the `string+character` is an entry other than the entry created by the immediately previous string matching procedure, setting `string` equal to `string+character` and determining whether a length of the `string+character` is equal to a predetermined maximum string length (N7), and one of 44B1a1-44B1a2: 44B1a1) where the string length is less than the predetermined maximum string length, sending the character and maintaining a preselected escape character and ending the single character processing, 44B1a2) where the string length is equal to the predetermined maximum string length, setting string=NULL, sending the character, maintaining the preselected escape character, and ending the single character processing, 44B1b) where the `string+character` is the entry created by the immediately previous string matching procedure, setting string=character, sending the character, maintaining the preselected escape character, and ending the single character processing, 44B2) where there is an unsuccessful match, adding `string+character` to the dictionary, setting string=character, sending the character, maintaining the preselected escape character, and ending the single character processing.
Claim 49
Dependent Claim
137 words
The method of claim 21 wherein adding `string+character` to the dictionary includes the steps of: 45A) attaching `string+character` to a codeword C1 that represents a node of a tree, 45B) incrementing the codeword C1 (C1=C1+1), 45C) determining whether the codeword C1 is greater than a predetermined value (N2-1) and one of steps 45C1-45C2: 45C1) where the codeword C1 is greater than N2-1, setting the codeword C1 to a preset value N5 and proceeding to step 45D, 45C2) where the codeword C1 is less than or equal to N2-1, proceeding to step 45D, 45D) determining whether node C1 is a leaf (unused) and one of 45D1-45D2: 45D1) where the C1 node is a leaf, removing node C1 from the tree and ending the adding procedure, and 45D2) where the node C1 is a non-leaf, recycling to step B.